summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/README.RS6000
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
committerpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
commitd4691e641ba47cb86eef80f5c879e13f9d961724 (patch)
tree5b7ea73fc49c8998d9dc87d3eeff5b96439e6856 /contrib/gcc/README.RS6000
downloadFreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.zip
FreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.tar.gz
Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the
non-i386, non-unix, and generatable files have been trimmed, but can easily be added in later if needed. gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's handy to have both available for reference for such little cost. The freebsd-specific changes will then be committed, and once the dust has settled, the bmakefiles will be committed to use this code.
Diffstat (limited to 'contrib/gcc/README.RS6000')
-rw-r--r--contrib/gcc/README.RS6000111
1 files changed, 111 insertions, 0 deletions
diff --git a/contrib/gcc/README.RS6000 b/contrib/gcc/README.RS6000
new file mode 100644
index 0000000..d29604f
--- /dev/null
+++ b/contrib/gcc/README.RS6000
@@ -0,0 +1,111 @@
+ 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.
+
+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 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 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. XLC-1.3.0.19 also cannot
+bootstrap GCC so please avoid that release as well. You can obtain
+XLC-1.3.0.24 by requesting PTF 432238 from IBM, or just ask for the latest
+release of XLC-1.3.
+
+There also have been reports of problems bootstrapping GCC with some older
+releases of xlc-1.2.1, including xlc-1.2.1.8. Newer releases of xlc-1.2.1
+do not exhibit this problem: xlc-1.2.1.28 is known to bootstrap properly.
+
+
+ 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.
+
+
+ AIX 4.1 binder
+
+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.
OpenPOWER on IntegriCloud