diff options
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/readelf.c | 18 |
2 files changed, 14 insertions, 9 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index a94b213..e8f2604 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2000-04-04 H.J. Lu <hjl@gnu.org> + + * readelf.c (process_symbol_table): Correctly read in symbol + versioning information. + 2000-04-04 Alan Modra <alan@linuxcare.com.au> * po/binutils.pot: Regenerate. diff --git a/binutils/readelf.c b/binutils/readelf.c index 53ba381..050ef9c 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -3783,8 +3783,8 @@ process_version_sections (file) { Elf_External_Verneed evn; Elf_External_Vernaux evna; - Elf_Internal_Vernaux ivna; - unsigned long vna_off; + Elf_Internal_Vernaux ivna; + unsigned long vna_off; GET_DATA (offset, evn, "version need"); @@ -3882,10 +3882,10 @@ process_version_sections (file) do { - Elf_Internal_Vernaux ivna; + Elf_Internal_Vernaux ivna; Elf_External_Verneed evn; Elf_External_Vernaux evna; - unsigned long a_off; + unsigned long a_off; GET_DATA (offset, evn, "version need"); @@ -4310,15 +4310,15 @@ process_symbol_table (file) offset = version_info [DT_VERSIONTAGIDX (DT_VERNEED)] - loadaddr; - GET_DATA (offset, evn, "version need"); - - ivn.vn_aux = BYTE_GET (evn.vn_aux); - ivn.vn_next = BYTE_GET (evn.vn_next); - do { unsigned long vna_off; + GET_DATA (offset, evn, "version need"); + + ivn.vn_aux = BYTE_GET (evn.vn_aux); + ivn.vn_next = BYTE_GET (evn.vn_next); + vna_off = offset + ivn.vn_aux; do |