old-cross-binutils/ld/testsuite/ld-cris/weakref4.d
H.J. Lu bb4d2ac2cc 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.
2014-11-25 06:47:44 -08:00

32 lines
1,002 B
Makefile

#source: start1.s
#source: expdref4.s
#as: --no-underscore --em=criself
#ld: -m crislinux
#ld_after_inputfiles: tmpdir/libdso-15.so
#readelf: -a -x 11
# Like weakref3.d, but just the expobj2 referenced from .data. We
# should avoid a copy reloc (instead emitting a R_CRIS_GLOB_DAT or
# R_CRIS_32 against the weak symbol), but for the time being, make
# sure we get a valid reloc.
#...
+\[[0-9]+\] .data +PROGBITS +[0-9a-f]* [0-9a-f]* 000004 .*
#...
+\[[0-9]+\] .bss +NOBITS +[0-9a-f]* [0-9a-f]* 00000c .*
#...
Relocation section '.rela.dyn' at offset 0x... contains 1 entries:
#...
.* R_CRIS_COPY .* __expobj2@TST3 \+ 0
The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported.
Symbol table '.dynsym' contains . entries:
#...
+.: [0-9a-f]* +4 +OBJECT +GLOBAL +DEFAULT +12 __expobj2@TST3 \(2\)
#...
Symbol table '.symtab' contains .. entries:
#...
Hex dump of section '.data':
0x00082250 54220800 .*