binutils-gdb/ld/testsuite/ld-powerpc/defsym.s
Alan Modra bffebb6ba5 Copy st_other for linker script symbol assignments
This fixes a problem seen on powerpc64le ELFv2 when creating a
function symbol alias with ld --defsym.  st_other needs to be copied
from the source symbol to the alias in order to set up the local entry
offset for the alias.  I decided to make this change in the generic
ELF code rather than in elf64-ppc.c since it looks like other targets
that use st_other bits might benefit too.

bfd/
	* elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other
	bits from source to dest.
	* linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment.
	* targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>):
	Likewise.
	* bfd-in2.h: Regenerate.
ld/testsuite/
	* ld-powerpc/defsym.s, * ld-powerpc/defsym.d: New test.
	* ld-powerpc/powerpc.exp: Run it.
2014-07-08 19:42:03 +09:30

20 lines
212 B
ArmAsm

.text
.globl _start
_start:
bl foo
bl bar
nop
.globl foo
.type foo,@function
foo:
addis 2,12,.TOC.-foo@ha
addi 2,2,.TOC.-foo@l
.localentry foo,.-foo
blr
.size foo,.-foo
.data
.dc.a foo
.dc.a bar