binutils-gdb/ld/testsuite/ld-powerpc/abs32-shared.r
Alan Modra 7a9361c00d PowerPC32 treatment of absolute symbols
As already done for PowerPC64, fix dynamic relocs for absolute symbols.
The patch also tidies the dynamic reloc handling code in check_relocs,
removing leftover comments and code from when check_relocs was called
as each object file was read in.

bfd/
	* elf32-ppc.c (ppc_elf_check_relocs): Set isym and ifunc earlier.
	Rearrange tests for dynamic relocs, handling absolute symbols.
	(allocate_dynrelocs): Don't allocate dynamic relocs for locally
	defined absolute symbols.
	(ppc_elf_size_dynamic_sections): Similarly.
	(ppc_elf_relocate_section): Similarly.
ld/
	* testsuite/ld-powerpc/abs32-pie.d,
	* testsuite/ld-powerpc/abs32-pie.r,
	* testsuite/ld-powerpc/abs32-reloc.s,
	* testsuite/ld-powerpc/abs32-shared.d,
	* testsuite/ld-powerpc/abs32-shared.r,
	* testsuite/ld-powerpc/abs32-static.d,
	* testsuite/ld-powerpc/abs32-static.r: New tests.
	* testsuite/ld-powerpc/powerpc.exp: Run them.
2022-05-04 14:41:56 +09:30

13 lines
649 B
R

#source: abs32-reloc.s
#as: -a32
#ld: -melf32ppc -shared --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x12345678
#readelf: -rW
Relocation section '\.rela\.dyn' at offset .* contains 6 entries:
Offset Info Type Sym\. Value Symbol's Name \+ Addend
000101e0 00000016 R_PPC_RELATIVE 101e0
000101f4 00000016 R_PPC_RELATIVE 101e0
000101e4 00000401 R_PPC_ADDR32 00000001 a \+ 0
000101fc 00000414 R_PPC_GLOB_DAT 00000001 a \+ 0
000101ec 00000301 R_PPC_ADDR32 12345678 c \+ 0
000101f8 00000314 R_PPC_GLOB_DAT 12345678 c \+ 0