- AIX 3.1 and 3.2 assembler problems
+ AIX 4.3 archive libraries
-Specifying the -g flag to GCC on the RS/6000 requires upgrading the
-standard AIX assembler distributed with AIX 3.1 and versions of AIX
-3.2 earlier than 3.2.4 with a replacement that is available from IBM.
-Note that Makefile.in specifies the -g when compiling libgcc2.c.
+AIX 4.3 utilizes a new "large format" archive to support both 32-bit and
+64-bit object modules. The routines provided in AIX 4.3.0 and AIX 4.3.1
+to parse archive libraries did not handle the new format correctly. These
+routines are used by GCC and result in error messages during linking such
+as "not a COFF file". The version of the routines shipped with AIX 4.3.1
+should work for a 32-bit environment. The "-g" option of the archive
+command may be used to create archives of 32-bit objects using the
+original "small format". A correct version of the routines is shipped
+with AIX 4.3.2.
-You can test for the presence of a fixed assembler by entering the following:
- % as -u < /dev/null
-If the command exits normally, the assembler fix already is installed.
-If the assembler complains that "-u" is an unknown flag, you need to order
-the fix.
-If you are running AIX 3.1 (lslpp -h bos.obj output reports
-03.01.0005.XXXX where the 0005 can be any higher number and the XXXX
-can be any value), call IBM Support at 800-237-5511 and ask for
-shipment of AIX/6000 fix PTF U403044 for APAR IX22829 (.extern foo
-conflicts with defining foo).
+ AIX 4.3.2 binder
-If you are running AIX 3.2 but not 3.2.4 or later (lslpp -h bos.obj
-output reports 03.02.0000.0000), a newer update to the assembler fix
-is available. Ask for shipment of AIX/6000 fix PTF U416277 for
-IX32992 (.global prevents detection of duplicate symbol).
+The AIX 4.3.2.1 linker (bos.rte.bind_cmds Level 4.3.2.1) will dump core
+with a segmentation fault when invoked by any version of GCC. A fix for
+APAR IX87327 will be available from IBM Customer Support.
-If you are running AIX 3.2.4 or later, you already have the new
-assembler.
-Any customer can order and get the replacement assembler, and install it on
-one or more machines. It is available on diskette from IBM Customer Support
-and from the IBM Internet fix anonymous ftp server (FixDist) at
-aix.boulder.ibm.com (198.17.57.66).
+ AIX 4.3.0 assembler
-If you contact IBM Customer Support, they may also ask you for your customer
-number. If you do not know it, you will still be able to get the fix, but
-you will have to be persistent. IBM has corresponding support organizations
-outside of North America. Call your IBM branch office and ask them to put
-you in touch with the department that handles fixes for AIX/6000. If that
-doesn't work, ask for the department that handles software defect support
-for AIX/6000 and ask for the APAR fix.
+The AIX 4.3.0.0 assembler generates incorrect object files if the ".bs"
+pseudo-op references symbols in certain sections. If GCC is invoked with
+the -g debugging option (including during bootstrapping), incorrect object
+files will be produced and the AIX linker will fail with a severe error.
+A fix for APAR IX74254 (64BIT DISASSEMBLED OUPUT FROM COMPILER FAILS TO
+ASSEMBLE/BIND) is available from IBM Customer Support and from its
+service.boulder.ibm.com website as PTF U453956.
-If you use the GNU assembler instead of the system supplied assembler, you need
-an assembler modified after October 16th, 1995 in order to build the GNU C
-compiler. This is because the GNU C compiler wants to build a variant of its
-library, libgcc.a with the -mcpu=common switch to support building programs
-that can run on either the Power or PowerPC machines.
+ AIX 4.1 binder
- AIX NLS problems
+Some versions of the AIX binder (linker) can fail with a relocation
+overflow severe error when the -bbigtoc option is used to link
+GCC-produced object files into an executable that overflows the TOC.
+Linking f771, the GNU Fortran backend, will fail in this manner. A fix
+for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND -BBIGTOC) is
+available from IBM Customer Support and from its website as PTF U455193.
+
+Due to changes in the way that GCC invokes the binder (linker) for AIX 4.1,
+the link step now may produce warnings of duplicate symbols which were not
+reported before. The assembly files generated by GCC for AIX always have
+included multiple symbol definitions for certain global variable and
+function declarations in the original program. The warnings should not
+prevent the linker from producing a correct library or runnable executable.
+
+
+ AIX NLS problems
AIX on the RS/6000 provides support (NLS) for environments outside of
the United States. Compilers and assemblers use NLS to support
If you have this problem, set the LANG environment variable to "C" or
"En_US".
-
+
AIX 3.2.5 XLC-1.3 problems
XLC version 1.3.0.0 distributed with AIX 3.2.5 will miscompile jump.c when
do not exhibit this problem: xlc-1.2.1.28 is known to bootstrap properly.
- AIX 3.2 common-mode support
+ AIX 3.2 common-mode support
AIX common-mode providing transparent support of both the POWER and PowerPC
architectures is usable in AIX 3.2.3 and above but an export file and
and then link with -Wl,-bI:milli.exp.
- AIX 4.1 binder
+ AIX 3.1 and 3.2 assembler problems
-Due to changes in the way that GCC invokes the binder (linker) for AIX 4.1,
-the link step now may produce warnings of duplicate symbols which were not
-reported before. The assembly files generated by GCC for AIX always have
-included multiple symbol definitions for certain global variable and
-function declarations in the original program. The warnings should not
-prevent the linker from producing a correct library or runnable executable.
+Specifying the -g flag to GCC on the RS/6000 requires upgrading the
+standard AIX assembler distributed with AIX 3.1 and versions of AIX
+3.2 earlier than 3.2.4 with a replacement that is available from IBM.
+Note that Makefile.in specifies the -g when compiling libgcc2.c.
+
+You can test for the presence of a fixed assembler by entering the following:
+ % as -u < /dev/null
+If the command exits normally, the assembler fix already is installed.
+If the assembler complains that "-u" is an unknown flag, you need to order
+the fix.
+
+If you are running AIX 3.1 (lslpp -h bos.obj output reports
+03.01.0005.XXXX where the 0005 can be any higher number and the XXXX
+can be any value), call IBM Support at 800-237-5511 and ask for
+shipment of AIX/6000 fix PTF U403044 for APAR IX22829 (.extern foo
+conflicts with defining foo).
+
+If you are running AIX 3.2 but not 3.2.4 or later (lslpp -h bos.obj
+output reports 03.02.0000.0000), a newer update to the assembler fix
+is available. Ask for shipment of AIX/6000 fix PTF U416277 for
+IX32992 (.global prevents detection of duplicate symbol).
+
+If you are running AIX 3.2.4 or later, you already have the new
+assembler.
+
+Any customer can order and get the replacement assembler, and install it on
+one or more machines. It is available on diskette from IBM Customer Support
+and from its website.
+
+If you contact IBM Customer Support, they may also ask you for your customer
+number. If you do not know it, you will still be able to get the fix, but
+you will have to be persistent. IBM has corresponding support organizations
+outside of North America. Call your IBM branch office and ask them to put
+you in touch with the department that handles fixes for AIX/6000. If that
+doesn't work, ask for the department that handles software defect support
+for AIX/6000 and ask for the APAR fix.
+
+If you use the GNU assembler instead of the system supplied assembler, you need
+an assembler modified after October 16th, 1995 in order to build the GNU C
+compiler. This is because the GNU C compiler wants to build a variant of its
+library, libgcc.a with the -mcpu=common switch to support building programs
+that can run on either the Power or PowerPC machines.