From 1893081652b8e2c1ce58d85cbf8dc6a35d256f71 Mon Sep 17 00:00:00 2001 From: dje Date: Wed, 16 May 2001 14:57:06 +0000 Subject: [PATCH] * doc/install.texi: Update AIX information. * README.RS6000: Remove obsolete file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42154 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 ++ gcc/README.RS6000 | 148 --------------------------------------------------- gcc/doc/install.texi | 76 +++++++++++++++++--------- 3 files changed, 55 insertions(+), 174 deletions(-) delete mode 100644 gcc/README.RS6000 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 21ffd19..e9f44fd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-05-16 David Edelsohn + + * doc/install.texi: Update AIX information. + * README.RS6000: Remove obsolete file. + 2001-05-16 Jakub Jelinek Nathan Sidwell diff --git a/gcc/README.RS6000 b/gcc/README.RS6000 deleted file mode 100644 index 24cc8ba..0000000 --- a/gcc/README.RS6000 +++ /dev/null @@ -1,148 +0,0 @@ - AIX 4.3 archive libraries - -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. - - - AIX 4.3.2 binder - -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. - - - AIX 4.3.0 assembler - -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. - - - AIX 4.1 binder - -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 -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 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 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. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 2904265..0c27b7c 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -33,7 +33,7 @@ @settitle Installing GCC: Binaries @end ifset -@comment $Id$ +@comment $Id: install.texi,v 1.1 2001/05/11 22:10:54 gerald Exp $ @c Copyright (C) 2001 Free Software Foundation, Inc. @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com @@ -242,10 +242,10 @@ where @emph{srcdir} == @emph{objdir} should still work, but doesn't get extensive testing; building where @emph{objdir} is a subdirectory of @emph{srcdir} is unsupported. -Second, when configuring a native system, either ``@command{cc}'' or -``@command{gcc}'' must be in your path or you must set CC in your -environment before running configure. -Otherwise the configuration scripts may fail. +Second, when configuring a native system, either ``@command{cc}'' or +``@command{gcc}'' must be in your path or you must set @command{CC} in +your environment before running configure. Otherwise the configuration +scripts may fail. To configure GCC: @@ -806,7 +806,14 @@ contact their makers. @itemize @item -@uref{http://www-frec.bull.com/docs/download.htm,,AIX}; +AIX: +@itemize +@item +@uref{http://www-frec.bull.com/docs/download.htm,,Bull's Freeware and Shareware Archive for AIX}; + +@item +@uref{http://aixpdlib.seas.ucla.edu,,UCLA Software Library for AIX}; +@end itemize @item DOS - @uref{http://www.delorie.com/djgpp/,,DJGPP}; @@ -1314,11 +1321,35 @@ compiled with the native C compiler and GCC. During the stage1 phase of the build, the native AIX compiler @strong{must} be invoked as "cc" (not "xlc"). Once @command{configure} has been informed of "xlc", one needs to use "make distclean" to remove the -configure cache files and ensure that @command{$CC} environment variable +configure cache files and ensure that @command{CC} environment variable does not provide a definition that will confuse @command{configure}. If this error occurs during stage2 or later, then the problem most likely is the version of Make (see above). +Binutils 2.10 does not support AIX 4.3. Binutils available from the +@uref{http://www-1.ibm.com/servers/aix/products/aixos/linux/,,AIX Toolbox for Linux: GNU and Open Source tools for AIX}; +website does work. Binutils 2.11 is expected to include AIX 4.3 +support. The GNU Assembler is necessary for libstdc++ to build. The +AIX native ld still is recommended. The native AIX tools do +interoperate with GCC. + +Linking executables and shared libraries may produce warnings of +duplicate symbols. 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 4.3 utilizes a "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 @option{-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. + Some versions of the AIX binder (linker) can fail with a relocation overflow severe error when the @option{-bbigtoc} option is used to link GCC-produced object files into an executable that overflows the TOC. A fix @@ -1327,20 +1358,11 @@ available from IBM Customer Support and from its @uref{http://service.boulder.ibm.com/,,service.boulder.ibm.com} website as PTF U455193. -Binutils does not support AIX 4.3 (at least through release 2.9). -GNU as and GNU ld will not work properly and one should not configure GCC -to use those GNU utilities. Use the native AIX tools which do interoperate -with GCC. - -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 @option{-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. +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 is available from IBM Customer Support and from its +@uref{http://service.boulder.ibm.com/,,service.boulder.ibm.com} +website as PTF U461879. This fix is incorporated in AIX 4.3.3 and above. The initial assembler shipped with AIX 4.3.0 generates incorrect object files. A fix for APAR IX74254 (64BIT DISASSEMBLED OUTPUT FROM COMPILER FAILS @@ -1348,11 +1370,13 @@ TO ASSEMBLE/BIND) is available from IBM Customer Support and from its @uref{http://service.boulder.ibm.com/,,service.boulder.ibm.com} website as PTF U453956. This fix is incorporated in AIX 4.3.1 and above. -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 is available from IBM Customer Support and from its -@uref{http://service.boulder.ibm.com/,,service.boulder.ibm.com} -website as PTF U461879. This fix is incorporated in AIX 4.3.3 and above. +AIX provides National Language Support (NLS). Compilers and assemblers +use NLS to support locale-specific representations of various data +formats including floating-point numbers (e.g., "." vs "," for +separating decimal fractions). There have been problems reported where +GCC does not produce the same floating-point formats that the assembler +expects. If one encouters this problem, set the @command{LANG} +environment variable to "C" or "En_US". @html -- 2.7.4