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

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