mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
3b36f7e629
* elf-bfd.h (struct elf_backend_data): Remove got_symbol_offset. * elfxx-target.h (elf_backend_got_symbol_offset): Delete. * elflink.c (_bfd_elf_create_got_section): Use zero in place of got_symbol_offset. * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise. * elf32-frv.c (_frv_create_got_section): Likewise. * elf32-i370.c (i370_elf_finish_dynamic_sections): Delete ppc code. (elf_backend_got_symbol_offset): Don't define. * elf64-ppc.c (elf_backend_got_symbol_offset): Don't define. * elf32-ppc.c (struct ppc_elf_link_hash_table): Add got_header_size and got_gap. (ppc_elf_create_got): Tidy. (ppc_elf_create_dynamic_sections): Don't set SEC_IN_MEMORY for .plt. (ppc_elf_check_relocs): Reduce string comparisons by using elf.hgot. (ppc_elf_gc_sweep_hook): Likewise. (ppc_elf_relocate_section): Likewise. (ppc_elf_finish_dynamic_symbol): Likewise. (allocate_got): New function. (allocate_dynrelocs): Use allocate_got. (ppc_elf_size_dynamic_sections): Likewise. Delay tlsld_got allocation so that local got can refcount it. Set got_header_size. (ppc_elf_relocate_section): Use value of elf.hgot rather than hard- coded 4. (ppc_elf_finish_dynamic_sections): Likewise. (elf_backend_got_symbol_offset): Don't define. (elf_backend_got_header_size): Ditto. ld/testsuite/ * ld-powerpc/tlsexe32.d: Update for changed got layout. * ld-powerpc/tlsexe32.g: Likewise. * ld-powerpc/tlsexe32.r: Likewise. * ld-powerpc/tlsso32.d: Likewise. * ld-powerpc/tlsso32.g: Likewise. * ld-powerpc/tlsso32.r: Likewise.
48 lines
1.4 KiB
Makefile
48 lines
1.4 KiB
Makefile
#source: tls32.s
|
|
#as: -a32
|
|
#ld: -melf32ppc tmpdir/libtlslib32.so
|
|
#objdump: -dr
|
|
#target: powerpc*-*-*
|
|
|
|
.*: +file format elf32-powerpc
|
|
|
|
Disassembly of section \.text:
|
|
|
|
.* <_start>:
|
|
.*: 80 7f ff f0 lwz r3,-16\(r31\)
|
|
.*: 7c 63 12 14 add r3,r3,r2
|
|
.*: 38 7f ff f4 addi r3,r31,-12
|
|
.*: 48 01 01 85 bl .*<__tls_get_addr@plt>
|
|
.*: 3c 62 00 00 addis r3,r2,0
|
|
.*: 38 63 90 1c addi r3,r3,-28644
|
|
.*: 3c 62 00 00 addis r3,r2,0
|
|
.*: 38 63 10 00 addi r3,r3,4096
|
|
.*: 39 23 80 20 addi r9,r3,-32736
|
|
.*: 3d 23 00 00 addis r9,r3,0
|
|
.*: 81 49 80 24 lwz r10,-32732\(r9\)
|
|
.*: 3d 22 00 00 addis r9,r2,0
|
|
.*: a1 49 90 2c lhz r10,-28628\(r9\)
|
|
.*: 89 42 90 30 lbz r10,-28624\(r2\)
|
|
.*: 3d 22 00 00 addis r9,r2,0
|
|
.*: 99 49 90 34 stb r10,-28620\(r9\)
|
|
.*: 3c 62 00 00 addis r3,r2,0
|
|
.*: 38 63 90 00 addi r3,r3,-28672
|
|
.*: 3c 62 00 00 addis r3,r2,0
|
|
.*: 38 63 10 00 addi r3,r3,4096
|
|
.*: 91 43 80 04 stw r10,-32764\(r3\)
|
|
.*: 3d 23 00 00 addis r9,r3,0
|
|
.*: 91 49 80 08 stw r10,-32760\(r9\)
|
|
.*: 3d 22 00 00 addis r9,r2,0
|
|
.*: b1 49 90 2c sth r10,-28628\(r9\)
|
|
.*: a1 42 90 14 lhz r10,-28652\(r2\)
|
|
.*: 3d 22 00 00 addis r9,r2,0
|
|
.*: a9 49 90 18 lha r10,-28648\(r9\)
|
|
Disassembly of section \.got:
|
|
|
|
.* <_GLOBAL_OFFSET_TABLE_-0x10>:
|
|
\.\.\.
|
|
.*: 4e 80 00 21 blrl
|
|
|
|
.* <_GLOBAL_OFFSET_TABLE_>:
|
|
.*: 01 81 02 d0 00 00 00 00 00 00 00 00 .*
|