9df0ef5fe7
* elf64-ppc.c (struct ppc_link_hash_table): Add plt_static_chain. (build_plt_stub): Add plt_static_chain param, don't load r11 if false. (build_tls_get_addr_stub): Likewise. (ppc_build_one_stub): Update calls to above. (ppc_size_one_stub): Adjust stub size. (ppc64_elf_size_stubs): Add plt_static_chain param, save to htab. * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype. ld/ * emultempl/ppc64elf.em (plt_static_chain): New var. (gld${EMULATION_NAME}_after_allocation): Pass to ppc64_elf_size_stubs. (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle --plt-static-chain and --no-plt-static-chain. ld/testsuite/ * ld-powerpc/tlsexe.d, * ld-powerpc/tlsexe.g. *ld-powerpc/tlsexe.r, * ld-powerpc/tlsexetoc.d, * ld-powerpc/tlsexetoc.g, * ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.d, * ld-powerpc/tlstocso.d: Update for plt stub change.
12 lines
292 B
Text
12 lines
292 B
Text
#source: tls.s
|
|
#as: -a64
|
|
#ld: -melf64ppc tmpdir/libtlslib.so
|
|
#objdump: -sj.got
|
|
#target: powerpc64*-*-*
|
|
|
|
.*: +file format elf64-powerpc
|
|
|
|
Contents of section \.got:
|
|
.* 00000000 10018610 ffffffff ffff8018 .*
|
|
.* 00000000 00000000 00000000 00000000 .*
|
|
.* 00000000 00000000 00000000 00000000 .*
|