bfd assertion failed with gcc 950607

Ken Raeburn raeburn@cygnus.com
Wed Jun 14 14:37: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.




More information about the Gas2 mailing list