bfd assertion failed with gcc 950607

H.J. Lu hjl@nynexst.com
Wed Jun 14 15:17:00 GMT 1995


> 
> 
>    Date: Wed, 14 Jun 1995 12:51:39 -0400
>    From: Roland McGrath <roland@gnu.ai.mit.edu>
> 
>    > 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.			hjl@nynexst.com




More information about the Gas2 mailing list