Summary: | readelf/objdump fail to display symbol version in dynamic relocation | ||
---|---|---|---|
Product: | binutils | Reporter: | H.J. Lu <hjl.tools> |
Component: | binutils | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | 2.25 | ||
Target Milestone: | 2.26 | ||
Host: | Target: | ||
Build: | Last reconfirmed: |
Description
H.J. Lu
2014-01-22 14:45:07 UTC
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, hjl/pr16496 has been created at d6eca2f91c1a79ed97d2df4b4614631ad7834cd8 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d6eca2f91c1a79ed97d2df4b4614631ad7834cd8 commit d6eca2f91c1a79ed97d2df4b4614631ad7834cd8 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Jan 24 04:52:05 2014 -0800 Display symbol version when dumping dynrelocs Both readelf/objdump know how to get symbol version string for dynamic symbols. This patch extracts this functionality into a separate function and uses it to add symbol version string to versioned symbol names when dumping dynamic relocations. bfd/ PR binutils/16496 * elf-bfd.h (bfd_elf_get_symbol_version_string): New. * elf.c (bfd_elf_get_symbol_version_string): New. Extracted from bfd_elf_print_symbol. (bfd_elf_print_symbol): Use it. binutils/ PR binutils/16496 * objdump.c (objdump_print_symname): Call bfd_elf_get_symbol_version_string to get ELF symbol version string. Append version string if needed. * readelf.c (versioned_symbol_info): New enum. (get_symbol_version_string): New. Extracted from process_symbol_table. (dump_relocations): Add a new argument to indicate if dynamic symbol table is used. Use get_symbol_version_string to get symbol version string for dynamic symbol. Append version string if needed. (process_relocs): Updated dump_relocations call. (process_symbol_table): Use get_symbol_version_string. ld/testsuite/ PR binutils/16496 * ld-cris/weakref3.d: Add symbol version string to versioned symbol names in dynamic relocation. * ld-cris/weakref4.d: Likewise. * ld-elfvers/vers24.rd: Likewise. * ld-elf/pr16496a.c: New file. * ld-elf/pr16496a.map: Likewise. * ld-elf/pr16496b.c: Likewise. * ld-elf/pr16496b.od: Likewise. * ld-elf/shared.exp (build_tests): Add libpr16496a.so and libpr16496b.so tests. ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, hjl/pr16496 has been created at aba61d1ceb6ed10b3f755adfe902af83c7b51b72 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=aba61d1ceb6ed10b3f755adfe902af83c7b51b72 commit aba61d1ceb6ed10b3f755adfe902af83c7b51b72 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Jan 26 08:47:06 2014 -0800 Move ChangeLog entries to ChangeLog.pr16467 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=42478d68639fcb10952a94e5a4d32d8ea18c953a commit 42478d68639fcb10952a94e5a4d32d8ea18c953a Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Jan 24 04:52:05 2014 -0800 Display symbol version when dumping dynrelocs Both readelf/objdump know how to get symbol version string for dynamic symbols. This patch extracts this functionality into a separate function and uses it to add symbol version string to versioned symbol names when dumping dynamic relocations. bfd/ PR binutils/16496 * elf-bfd.h (bfd_elf_get_symbol_version_string): New. * elf.c (bfd_elf_get_symbol_version_string): New. Extracted from bfd_elf_print_symbol. (bfd_elf_print_symbol): Use it. binutils/ PR binutils/16496 * objdump.c (objdump_print_symname): Call bfd_elf_get_symbol_version_string to get ELF symbol version string. Append version string if needed. * readelf.c (versioned_symbol_info): New enum. (get_symbol_version_string): New. Extracted from process_symbol_table. (dump_relocations): Add a new argument to indicate if dynamic symbol table is used. Use get_symbol_version_string to get symbol version string for dynamic symbol. Append version string if needed. (process_relocs): Updated dump_relocations call. (process_symbol_table): Use get_symbol_version_string. ld/testsuite/ PR binutils/16496 * ld-cris/weakref3.d: Add symbol version string to versioned symbol names in dynamic relocation. * ld-cris/weakref4.d: Likewise. * ld-elfvers/vers24.rd: Likewise. * ld-elf/pr16496a.c: New file. * ld-elf/pr16496a.map: Likewise. * ld-elf/pr16496b.c: Likewise. * ld-elf/pr16496b.od: Likewise. * ld-elf/shared.exp (build_tests): Add libpr16496a.so and libpr16496b.so tests. ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, hjl/pr16496 has been created at 3814a7515eb08dd6d2eb75969a2756efffc5809d (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3814a7515eb08dd6d2eb75969a2756efffc5809d commit 3814a7515eb08dd6d2eb75969a2756efffc5809d Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Jan 26 08:47:06 2014 -0800 Move ChangeLog entries to ChangeLog.pr16496 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=42478d68639fcb10952a94e5a4d32d8ea18c953a commit 42478d68639fcb10952a94e5a4d32d8ea18c953a Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Jan 24 04:52:05 2014 -0800 Display symbol version when dumping dynrelocs Both readelf/objdump know how to get symbol version string for dynamic symbols. This patch extracts this functionality into a separate function and uses it to add symbol version string to versioned symbol names when dumping dynamic relocations. bfd/ PR binutils/16496 * elf-bfd.h (bfd_elf_get_symbol_version_string): New. * elf.c (bfd_elf_get_symbol_version_string): New. Extracted from bfd_elf_print_symbol. (bfd_elf_print_symbol): Use it. binutils/ PR binutils/16496 * objdump.c (objdump_print_symname): Call bfd_elf_get_symbol_version_string to get ELF symbol version string. Append version string if needed. * readelf.c (versioned_symbol_info): New enum. (get_symbol_version_string): New. Extracted from process_symbol_table. (dump_relocations): Add a new argument to indicate if dynamic symbol table is used. Use get_symbol_version_string to get symbol version string for dynamic symbol. Append version string if needed. (process_relocs): Updated dump_relocations call. (process_symbol_table): Use get_symbol_version_string. ld/testsuite/ PR binutils/16496 * ld-cris/weakref3.d: Add symbol version string to versioned symbol names in dynamic relocation. * ld-cris/weakref4.d: Likewise. * ld-elfvers/vers24.rd: Likewise. * ld-elf/pr16496a.c: New file. * ld-elf/pr16496a.map: Likewise. * ld-elf/pr16496b.c: Likewise. * ld-elf/pr16496b.od: Likewise. * ld-elf/shared.exp (build_tests): Add libpr16496a.so and libpr16496b.so tests. ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, hjl/pr16496 has been created at 8e0506cd53b38f978c5297978a5dcc046468b864 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8e0506cd53b38f978c5297978a5dcc046468b864 commit 8e0506cd53b38f978c5297978a5dcc046468b864 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Jan 26 08:47:06 2014 -0800 Move ChangeLog entries to ChangeLog.pr16496 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8c19f637403eb49fc9b9f0ed2b2b8375c33e5499 commit 8c19f637403eb49fc9b9f0ed2b2b8375c33e5499 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Jan 24 04:52:05 2014 -0800 Display symbol version when dumping dynrelocs Both readelf/objdump know how to get symbol version string for dynamic symbols. This patch extracts this functionality into a separate function and uses it to add symbol version string to versioned symbol names when dumping dynamic relocations. bfd/ PR binutils/16496 * elf-bfd.h (bfd_elf_get_symbol_version_string): New. * elf.c (bfd_elf_get_symbol_version_string): New. Extracted from bfd_elf_print_symbol. (bfd_elf_print_symbol): Use it. binutils/ PR binutils/16496 * objdump.c (objdump_print_symname): Call bfd_elf_get_symbol_version_string to get ELF symbol version string. Append version string if needed. * readelf.c (versioned_symbol_info): New enum. (get_symbol_version_string): New. Extracted from process_symbol_table. (dump_relocations): Add a new argument to indicate if dynamic symbol table is used. Use get_symbol_version_string to get symbol version string for dynamic symbol. Append version string if needed. (process_relocs): Updated dump_relocations call. (process_symbol_table): Use get_symbol_version_string. ld/testsuite/ PR binutils/16496 * ld-cris/weakref3.d: Add symbol version string to versioned symbol names in dynamic relocation. * ld-cris/weakref4.d: Likewise. * ld-elfvers/vers24.rd: Likewise. * ld-elf/pr16496a.c: New file. * ld-elf/pr16496a.map: Likewise. * ld-elf/pr16496b.c: Likewise. * ld-elf/pr16496b.od: Likewise. * ld-elf/shared.exp (build_tests): Add libpr16496a.so and libpr16496b.so tests. ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, master has been updated via bb4d2ac2cc637c61232624d9d359b8d3f031e3e9 (commit) from dd7e64d45b317128f5fe813a8da0b13b4ad046ae (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bb4d2ac2cc637c61232624d9d359b8d3f031e3e9 commit bb4d2ac2cc637c61232624d9d359b8d3f031e3e9 Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Nov 25 06:47:44 2014 -0800 Display symbol version when dumping dynrelocs Both readelf/objdump know how to get symbol version string for dynamic symbols. This patch extracts this functionality into a separate function and uses it to add symbol version string to versioned symbol names when dumping dynamic relocations. bfd/ PR binutils/16496 * elf-bfd.h (bfd_elf_get_symbol_version_string): New. * elf.c (bfd_elf_get_symbol_version_string): New. Extracted from bfd_elf_print_symbol. (bfd_elf_print_symbol): Use it. binutils/ PR binutils/16496 * objdump.c (objdump_print_symname): Call bfd_elf_get_symbol_version_string to get ELF symbol version string. Append version string if needed. * readelf.c (versioned_symbol_info): New enum. (get_symbol_version_string): New. Extracted from process_symbol_table. (dump_relocations): Add a new argument to indicate if dynamic symbol table is used. Use get_symbol_version_string to get symbol version string for dynamic symbol. Append version string if needed. (process_relocs): Updated dump_relocations call. (process_symbol_table): Use get_symbol_version_string. ld/testsuite/ PR binutils/16496 * ld-cris/weakref3.d: Add symbol version string to versioned symbol names in dynamic relocation. * ld-cris/weakref4.d: Likewise. * ld-elfvers/vers24.rd: Likewise. * ld-elf/pr16496a.c: New file. * ld-elf/pr16496a.map: Likewise. * ld-elf/pr16496b.c: Likewise. * ld-elf/pr16496b.od: Likewise. * ld-elf/shared.exp (build_tests): Add libpr16496a.so and libpr16496b.so tests. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 8 + bfd/elf-bfd.h | 2 + bfd/elf.c | 92 +++-- binutils/ChangeLog | 17 + binutils/objdump.c | 23 +- binutils/readelf.c | 393 ++++++++++++-------- ld/testsuite/ChangeLog | 16 + ld/testsuite/ld-cris/weakref3.d | 4 +- ld/testsuite/ld-cris/weakref4.d | 2 +- ld/testsuite/ld-elf/pr16496a.c | 4 + .../{ld-ifunc/pr16467a.map => ld-elf/pr16496a.map} | 0 ld/testsuite/ld-elf/pr16496b.c | 5 + ld/testsuite/ld-elf/pr16496b.od | 3 + ld/testsuite/ld-elf/shared.exp | 9 + ld/testsuite/ld-elfvers/vers24.rd | 2 +- 15 files changed, 374 insertions(+), 206 deletions(-) create mode 100644 ld/testsuite/ld-elf/pr16496a.c copy ld/testsuite/{ld-ifunc/pr16467a.map => ld-elf/pr16496a.map} (100%) create mode 100644 ld/testsuite/ld-elf/pr16496b.c create mode 100644 ld/testsuite/ld-elf/pr16496b.od Fixed for 2.26. Fixed. |