This is the mail archive of the gas2@sourceware.cygnus.com mailing list for the gas2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: bfd assertion failed with gcc 950607



   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.