This is the mail archive of the 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: gcc2_compiled.

   From: (Alan Modra)
   Date: Wed, 10 Apr 1996 09:59:36 +0930 (CST)

      Somewhere since gas-960129, the handling of symbols defined outside
   of a segment such as "gcc2_compiled.", has changed.  On elf32_i386, I
   find that st_info is now zero (STT_NOTYPE), rather than one
   (STT_OBJECT).  This breaks insmod on linux, because it wrongly used
   (sp->st_info & 0xf) == 0 to test for undefined symbols.  I've fixed
   insmod, but why the change?  Is STT_NOTYPE correct for symbols such as
   gcc2_compiled. ?

The change was made for compatibility with other ELF assemblers.  They
do not set the type of a symbol to STT_OBJECT unless the assembler
source specifically directs them to using the .type directive.

Also, gcc2_compiled does not represent an object, so STT_OBJECT seems
conceptually wrong.