* aoutx.h (translate_symbol_table): The string index 0 has a

special meaning for normal symbols, but not for dynamic symbols.
This commit is contained in:
Ian Lance Taylor 1994-01-24 17:41:21 +00:00
parent 96b6b765fc
commit ca1c6bec73
2 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,8 @@
Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* aoutx.h (translate_symbol_table): The string index 0 has a
special meaning for normal symbols, but not for dynamic symbols.
Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com) Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com)
* sparclynx.c: Setup appropriate macros to enable core file * sparclynx.c: Setup appropriate macros to enable core file

View File

@ -1410,7 +1410,15 @@ translate_symbol_table (abfd, in, ext, count, str, strsize, dynamic)
x = GET_WORD (abfd, ext->e_strx); x = GET_WORD (abfd, ext->e_strx);
in->symbol.the_bfd = abfd; in->symbol.the_bfd = abfd;
if (x < strsize)
/* For the normal symbols, the zero index points at the number
of bytes in the string table but is to be interpreted as the
null string. For the dynamic symbols, the number of bytes in
the string table is stored in the __DYNAMIC structure and the
zero index points at an actual string. */
if (x == 0 && ! dynamic)
in->symbol.name = "";
else if (x < strsize)
in->symbol.name = str + x; in->symbol.name = str + x;
else else
return false; return false;