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] |
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