diff options
author | Ian Lance Taylor <ian@airs.com> | 1994-01-24 17:41:21 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1994-01-24 17:41:21 +0000 |
commit | ca1c6bec7377899f7ad4e0e90f38f046adaee0d5 (patch) | |
tree | c4b7d3213d4c0396f40a8154c548ac224fd73ffe /bfd/aoutx.h | |
parent | 96b6b765fc847223314b35ba29b4941cdce49770 (diff) | |
download | gdb-ca1c6bec7377899f7ad4e0e90f38f046adaee0d5.zip gdb-ca1c6bec7377899f7ad4e0e90f38f046adaee0d5.tar.gz gdb-ca1c6bec7377899f7ad4e0e90f38f046adaee0d5.tar.bz2 |
* aoutx.h (translate_symbol_table): The string index 0 has a
special meaning for normal symbols, but not for dynamic symbols.
Diffstat (limited to 'bfd/aoutx.h')
-rw-r--r-- | bfd/aoutx.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/bfd/aoutx.h b/bfd/aoutx.h index 4110719..b7d2d44 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -1410,7 +1410,15 @@ translate_symbol_table (abfd, in, ext, count, str, strsize, dynamic) x = GET_WORD (abfd, ext->e_strx); 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; else return false; |