diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2000-04-04 23:05:32 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2000-04-04 23:05:32 +0000 |
commit | dd27201edf3ec4449fc70126afcb8c6255ca02ff (patch) | |
tree | 4304d168f1e65b4254c1b4b6ad5ede13d70a3757 /binutils | |
parent | e30e5a6a9b8c2120380113012852e69a39cf2c9e (diff) | |
download | binutils-dd27201edf3ec4449fc70126afcb8c6255ca02ff.zip binutils-dd27201edf3ec4449fc70126afcb8c6255ca02ff.tar.gz binutils-dd27201edf3ec4449fc70126afcb8c6255ca02ff.tar.bz2 |
2000-04-04 H.J. Lu <hjl@gnu.org>
* readelf.c (process_symbol_table): Correctly read in symbol
versioning information.
Diffstat (limited to 'binutils')
-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 |