home *** CD-ROM | disk | FTP | other *** search
- AIX 3.1 and 3.2 assembler problems
-
- 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 the IBM Internet fix anonymous ftp server (FixDist) at
- aix.boulder.ibm.com (198.17.57.66).
-
- 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.
-
-
- 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
- locale-specific representations of various objects including
- floating-point numbers ("." vs "," for separating decimal fractions).
- There have been problems reported where the library linked with GCC does
- not produce the same floating-point formats that the assembler accepts.
- If you have this problem, set the LANG environment variable to "C" or
- "En_US".
-
-
- AIX 3.2.5 XLC-1.3.0.0 problems
-
- XLC version 1.3.0.0 distributed with AIX 3.2.5 will miscompile jump.c when
- building the stage1 compiler during the bootstrap process. This will cause
- GCC to crash and the bootstrap to fail later while compiling libgcc2.c. XLC
- version 1.3.0.1 or later fixes this problem. You can obtain XLC-1.3.0.2 by
- requesting PTF 421749 from IBM, or just ask for the latest release of
- XLC-1.3.
-
-
- 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
- support for hidden export via libc.a will not exist until AIX 4.1. libgcc.a
- also must be compiled in common-mode. Note that executables generated for
- the POWER (RIOS1 and RSC) architecture will run directly on systems using
- the MPC601 chip. Common-mode only improves the performance of a single
- executable run on both POWER and PowerPC architecture platforms by not using
- POWER- or PowerPC-specific instructions and eliminating the need to trap to
- emulation (for POWER instructions run on PowerPC).
-
- To link a common-mode application prior to AIX 4.1 and run it on a system at
- AIX level 3.2.3 or above, use the text between the "<>" as an export file
- (e.g. milli.exp)
-
- <><><><><><><><><><><>
- #!
- __mulh 0x3100
- __mull 0x3180
- __divss 0x3200
- __divus 0x3280
- __quoss 0x3300
- __quous 0x3380
- <><><><><><><><><><><>
-
- and then link with -Wl,-bI:milli.exp.
-