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