source: trunk/third/gcc/README.RS6000 @ 8834

Revision 8834, 5.0 KB checked in by ghudson, 28 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r8833, which included commits to RCS files with non-trunk default branches.
Line 
1                     AIX 3.1 and 3.2 assembler problems
2
3Specifying the -g flag to GCC on the RS/6000 requires upgrading the
4standard AIX assembler distributed with AIX 3.1 and versions of AIX
53.2 earlier than 3.2.4 with a replacement that is available from IBM.
6Note that Makefile.in specifies the -g when compiling libgcc2.c.
7
8You can test for the presence of a fixed assembler by entering the following:
9                % as -u < /dev/null
10If the command exits normally, the assembler fix already is installed.
11If the assembler complains that "-u" is an unknown flag, you need to order
12the fix.
13
14If you are running AIX 3.1 (lslpp -h bos.obj output reports
1503.01.0005.XXXX where the 0005 can be any higher number and the XXXX
16can be any value), call IBM Support at 800-237-5511 and ask for
17shipment of AIX/6000 fix PTF U403044 for APAR IX22829 (.extern foo
18conflicts with defining foo).
19
20If you are running AIX 3.2 but not 3.2.4 or later (lslpp -h bos.obj
21output reports 03.02.0000.0000), a newer update to the assembler fix
22is available.  Ask for shipment of AIX/6000 fix PTF U416277 for
23IX32992 (.global prevents detection of duplicate symbol).
24
25If you are running AIX 3.2.4 or later, you already have the new
26assembler.
27
28Any customer can order and get the replacement assembler, and install it on
29one or more machines.  It is available on diskette from IBM Customer Support
30and from the IBM Internet fix anonymous ftp server (FixDist) at
31aix.boulder.ibm.com (198.17.57.66).
32
33If you contact IBM Customer Support, they may also ask you for your customer
34number.  If you do not know it, you will still be able to get the fix, but
35you will have to be persistent.  IBM has corresponding support organizations
36outside of North America.  Call your IBM branch office and ask them to put
37you in touch with the department that handles fixes for AIX/6000.  If that
38doesn't work, ask for the department that handles software defect support
39for AIX/6000 and ask for the APAR fix.
40
41If you use the GNU assembler instead of the system supplied assembler, you need
42an assembler modified after October 16th, 1995 in order to build the GNU C
43compiler.  This is because the GNU C compiler wants to build a variant of its
44library, libgcc.a with the -mcpu=common switch to support building programs
45that can run on either the Power or PowerPC machines.
46
47
48                              AIX NLS problems
49
50AIX on the RS/6000 provides support (NLS) for environments outside of
51the United States.  Compilers and assemblers use NLS to support
52locale-specific representations of various objects including
53floating-point numbers ("." vs "," for separating decimal fractions).
54There have been problems reported where the library linked with GCC does
55not produce the same floating-point formats that the assembler accepts.
56If you have this problem, set the LANG environment variable to "C" or
57"En_US".
58
59
60                         AIX 3.2.5 XLC-1.3 problems
61
62XLC version 1.3.0.0 distributed with AIX 3.2.5 will miscompile jump.c when
63building the stage1 compiler during the bootstrap process.  This will cause
64GCC to crash and the bootstrap to fail later while compiling libgcc2.c.  XLC
65version 1.3.0.1 or later fixes this problem.  XLC-1.3.0.19 also cannot
66bootstrap GCC so please avoid that release as well.  You can obtain
67XLC-1.3.0.24 by requesting PTF 432238 from IBM, or just ask for the latest
68release of XLC-1.3.
69
70There also have been reports of problems bootstrapping GCC with some older
71releases of xlc-1.2.1, including xlc-1.2.1.8.  Newer releases of xlc-1.2.1
72do not exhibit this problem: xlc-1.2.1.28 is known to bootstrap properly.
73
74
75                        AIX 3.2 common-mode support
76
77AIX common-mode providing transparent support of both the POWER and PowerPC
78architectures is usable in AIX 3.2.3 and above but an export file and
79support for hidden export via libc.a will not exist until AIX 4.1.  libgcc.a
80also must be compiled in common-mode.  Note that executables generated for
81the POWER (RIOS1 and RSC) architecture will run directly on systems using
82the MPC601 chip.  Common-mode only improves the performance of a single
83executable run on both POWER and PowerPC architecture platforms by not using
84POWER- or PowerPC-specific instructions and eliminating the need to trap to
85emulation (for POWER instructions run on PowerPC).
86
87To link a common-mode application prior to AIX 4.1 and run it on a system at
88AIX level 3.2.3 or above, use the text between the "<>" as an export file
89(e.g. milli.exp)
90
91<><><><><><><><><><><>
92#!
93__mulh          0x3100
94__mull          0x3180
95__divss         0x3200
96__divus         0x3280
97__quoss         0x3300
98__quous         0x3380
99<><><><><><><><><><><>
100
101and then link with -Wl,-bI:milli.exp.
102
103
104                               AIX 4.1 binder
105
106Due to changes in the way that GCC invokes the binder (linker) for AIX 4.1,
107the link step now may produce warnings of duplicate symbols which were not
108reported before.  The assembly files generated by GCC for AIX always have
109included multiple symbol definitions for certain global variable and
110function declarations in the original program.  The warnings should not
111prevent the linker from producing a correct library or runnable executable.
Note: See TracBrowser for help on using the repository browser.