[PATCH] Fix PR target/16304: AIX 4.x forward reference proble

David Edelsohn dje@watson.ibm.com
Mon Jan 3 20:07:00 GMT 2005


>>>>> Mark Mitchell writes:

>>>>> John David Anglin wrote:
>> The HP-UX SOM assembler is even more seriously handicapped that the
>> AIX 4.3 assembler.  It's only used by HP C.  Other HP compilers
>> generate object code directly.  The capabilites of the SOM linker
>> aren't well documented but fortunately HP made a version of their
>> linker code public.  This allowed addition of weak and one-only
>> support to binutils.  As a result, we now strongly recommend using
>> GAS instead of the HP assembler on this target.  It's taken some
>> work but the capabilities of GCC under HP-UX 10 are now pretty
>> much on a par with those under HP-UX 11.

Mark> I think it's perfectly reasonable to get binutils working with various 
Mark> systems.  (In fact, I recently took the point of view that it might not 
Mark> be worth worrying about supporting Sun's assembler with GCC on Solaris 
Mark> 10, given that GAS works.)  I'd imagine that David would be happy to 
Mark> have people use GAS on AIX 4.3, provided that it works well.

	IBM paid for Binutils and Gas to be ported to AIX in 1994.  IBM
paid for it and Gld to be updated to AIX 4.3 in 1999 and AIX 5.1 in 2000.

	Binutils mostly works on AIX 4.3.3 and sort of works with AIX 5.1
-- it works well enough to bootstrap the Cygnus/RH GCC release with which
it was developed.  It does not create completely correct AIX executables
or shared libraries.  Gas intentionally lies that it supports weak symbols
on AIX, which confuses current GCC expecting true support.  Gas and Gld do
not have any support for new AIX features, such as AIX weak symbols.

	I have not tried Gas on AIX 4.3.3 with GCC 3.4, but I do not think
that it will work correctly without modification.  If Gas and Gld worked
correctly on AIX, I would be happy to use it.  The problem always has been
and continues to be maintenance and support.

David



More information about the Gcc-patches mailing list