bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU definition of C_WEAKEXT does not match AIX definition


From: Graham Reed
Subject: GNU definition of C_WEAKEXT does not match AIX definition
Date: Mon, 24 Nov 2003 12:14:24 -0500

As of AIX 5.2, IBM has added some semblance of weak symbol support to
AIX.  (The static linker seems to behave itself, but the runtime
linker is a whole other story.)

binutils ./include/coff/internal.h defines C_WEAKEXT to be 127, and
notes it as a GNU extension.  Unfortunately, IBM used the value 111 in
the operating system.  Consequently, object files created by GCC and
the IBM linker cause the various binutils program to abort with an
unknown symbol type error.

The attached patch defines C_WEAKEXT to be 111 on AIX 5.2, and leaves
the GNU extension in on earlier versions.  It may be necessary to a
bit more coding and handle both cases, I only need to work with
standard AIX objects, so that's all I fixed.

Attachment: coff.patch
Description: Patch to include/coff/internal.h

(See /usr/include/storclass.h to confirm the system's value for
C_WEAKEXT.)

-- 
Some open source software is great because you can fix it if you have to.
Some open source software is awful because you have to fix it.
                -- Graham Reed, trying to get xmlwrapp to link on AIX

reply via email to

[Prev in Thread] Current Thread [Next in Thread]