bfd assertion failed with gcc 950607

H.J. Lu
Wed Jun 14 15:17:00 GMT 1995

>    Date: Wed, 14 Jun 1995 12:51:39 -0400
>    From: Roland McGrath <>
>    > No. Solaris uses `_fooo' in foo.c. The GNU ld does the samething.
>    > It just complains about it.
>    That is contrary to the specification of the SVR4 ABI, page 4-27:
>    "Similarly, if a common symbol exists (i.e., a symbol whose st_shndx field
>    holds SHN_COMMON), the appearance of a weak symbol with the same name will
>    not cause an error.  The link editor honors the common definition and
>    ignores the weak ones."
> The paragraph you quote starts with "When the link editor combines
> several relocatable object files...."  So a shared library should be
> treated like a random .o file, instead of like an archive library?
> That seems counterintuitive.  Is a shared library really considered a
> "relocatable object file"?
> The ABI description doesn't seem all that clear to me, actually.  At
> the start of chapter 4, it's described as a third type of object file,
> distinct from relocatable files and executable files.

The current GNU ELF ld does what was quoted by Roland from SVR4 ABI.
It honors the common symbol instead of the weak one in shared
libraries. BFD_ASSEET just complains something which ld can handle
but not expected by BFD_ASSEET.

H.J. Lu
NYNEX Science and Technology, Inc.

More information about the Gas2 mailing list