install.texi: Update AIX information.

* doc/install.texi: Update AIX information.
	* README.RS6000: Remove obsolete file.

From-SVN: r42154
This commit is contained in:
David Edelsohn 2001-05-16 14:57:06 +00:00 committed by David Edelsohn
parent 17b63fd0be
commit df002c7d8f
3 changed files with 55 additions and 174 deletions

View File

@ -1,3 +1,8 @@
2001-05-16 David Edelsohn <edelsohn@gnu.org>
* doc/install.texi: Update AIX information.
* README.RS6000: Remove obsolete file.
2001-05-16 Jakub Jelinek <jakub@redhat.com>
Nathan Sidwell <nathan@codesourcery.com>

View File

@ -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.

View File

@ -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