From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Lance Taylor To: alan@spri.levels.unisa.edu.au Cc: gas2@cygnus.com Subject: Re: gcc2_compiled. Date: Tue, 09 Apr 1996 20:55:00 -0000 Message-id: <9604100355.AA25094@tweedledumb.cygnus.com> References: X-SW-Source: 1996/msg00014.html From: alan@spri.levels.unisa.edu.au (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. Ian