diff options
author | Alan Modra <amodra@gmail.com> | 2006-10-17 13:41:49 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2006-10-17 13:41:49 +0000 |
commit | 74541ad4c01323646d5bebe7ff10828f84af0f49 (patch) | |
tree | 290813ab87157e643bf32d7271cecb1dc394179d /ld/testsuite/ld-x86-64 | |
parent | 21643204152d14c5e9c32a56ef6dfd1b4067cf28 (diff) | |
download | gdb-74541ad4c01323646d5bebe7ff10828f84af0f49.zip gdb-74541ad4c01323646d5bebe7ff10828f84af0f49.tar.gz gdb-74541ad4c01323646d5bebe7ff10828f84af0f49.tar.bz2 |
bfd/
* elf-bfd.h (struct elf_link_hash_table): Reorder. Add
text_index_section and data_index_section.
(struct elf_backend_data): Add elf_backend_init_index_section.
(_bfd_elf_init_1_index_section): Declare.
(_bfd_elf_init_2_index_sections): Declare.
* elfxx-target.h (elf_backend_init_index_section): Define.
(elfNN_bed): Init new field.
* elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls
section and text_index_section plus data_index_section.
(_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections.
(_bfd_elf_init_1_index_section): New function.
(_bfd_elf_init_2_index_sections): New function.
(bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section.
(elf_link_input_bfd): When emitting relocs, use text_index_section
and data_index_section for removed sections.
* elf-m10300.c (elf_backend_omit_section_dynsym): Define.
* elf32-i386.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-xstormy16.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-mmix.c: Likewise.
* elf64-sh64.c: Likewise.
* elfxx-ia64.c: Likewise.
* elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section
and data_index_section sym for relocs against sections with no dynamic
section sym.
(elf_backend_init_index_section): Define.
* elf32-cris.c: Similarly.
* elf32-hppa.c: Similarly.
* elf32-i370.c: Similarly.
* elf32-m68k.c: Similarly.
* elf32-mips.c: Similarly.
* elf32-ppc.c: Similarly.
* elf32-s390.c: Similarly.
* elf32-sparc.c: Similarly.
* elf32-vax.c: Similarly.
* elf64-mips.c: Similarly.
* elf64-ppc.c: Similarly.
* elf64-s390.c: Similarly.
* elf64-sparc.c: Similarly.
* elf64-x86-64.c: Similarly.
* elfn32-mips.c: Similarly.
* elfxx-mips.c: Similarly.
* elfxx-sparc.c: Similarly.
* linker.c (fix_syms): Base symbols in removed sections on
previous section in preference to using absolute section.
ld/
* ldlang.c (strip_excluded_output_sections): Do strip sections
that define syms, but don't ignore them.
* ld.texinfo (Output Section Discarding): Revise.
* emultempl/armcoff.em (gld${EMULATION_NAME}_finish): Always call
finish_default.
ld/testsuite/
Update for section sym changes.
Diffstat (limited to 'ld/testsuite/ld-x86-64')
-rw-r--r-- | ld/testsuite/ld-x86-64/tlsdesc.pd | 16 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/tlsdesc.rd | 33 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/tlspic.rd | 1 |
3 files changed, 24 insertions, 26 deletions
diff --git a/ld/testsuite/ld-x86-64/tlsdesc.pd b/ld/testsuite/ld-x86-64/tlsdesc.pd index cd22fd5..bf3bc2f 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc.pd +++ b/ld/testsuite/ld-x86-64/tlsdesc.pd @@ -9,12 +9,12 @@ Disassembly of section .plt: -0000000000000470 <.*@plt-0x10>: - 470: ff 35 e2 0e 20 00 pushq 2100962\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> - 476: ff 25 e4 0e 20 00 jmpq \*2100964\(%rip\) # 201360 <_GLOBAL_OFFSET_TABLE_\+0x10> - 47c: 0f 1f 40 00 nopl 0x0\(%rax\) -0000000000000480 <.*@plt>: - 480: ff 35 d2 0e 20 00 pushq 2100946\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> - 486: ff 25 bc 0e 20 00 jmpq \*2100924\(%rip\) # 201348 <_DYNAMIC\+0x190> - 48c: 0f 1f 40 00 nopl 0x0\(%rax\) +[0-9a-f]+ <.*@plt-0x10>: + [0-9a-f]+: ff 35 .. .. 20 00 pushq .*\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> + [0-9a-f]+: ff 25 .. .. 20 00 jmpq \*.*\(%rip\) # 201360 <_GLOBAL_OFFSET_TABLE_\+0x10> + [0-9a-f]+: 0f 1f 40 00 nopl 0x0\(%rax\) +[0-9a-f]+ <.*@plt>: + [0-9a-f]+: ff 35 .. .. 20 00 pushq .*\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> + [0-9a-f]+: ff 25 .. .. 20 00 jmpq \*.*\(%rip\) # 201348 <_DYNAMIC\+0x190> + [0-9a-f]+: 0f 1f 40 00 nopl 0x0\(%rax\) diff --git a/ld/testsuite/ld-x86-64/tlsdesc.rd b/ld/testsuite/ld-x86-64/tlsdesc.rd index 14c632b..20aa075 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc.rd +++ b/ld/testsuite/ld-x86-64/tlsdesc.rd @@ -15,7 +15,7 @@ Section Headers: \[ 3\] .dynstr +.* \[ 4\] .rela.dyn +.* \[ 5\] .rela.plt +.* - \[ 6\] .plt +PROGBITS +0+470 0+470 0+20 10 +AX +0 +0 +4 + \[ 6\] .plt +PROGBITS +0+450 0+450 0+20 10 +AX +0 +0 +4 \[ 7\] .text +PROGBITS +0+1000 0+1000 0+154 00 +AX +0 +0 4096 \[ 8\] .tdata +PROGBITS +0+201154 0+1154 0+60 00 WAT +0 +0 +1 \[ 9\] .tbss +NOBITS +0+2011b4 0+11b4 0+20 00 WAT +0 +0 +1 @@ -59,7 +59,7 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries: 0x[0-9a-f]+ +\(PLTRELSZ\).* 0x[0-9a-f]+ +\(PLTREL\).* 0x[0-9a-f]+ +\(JMPREL\).* - 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x480 + 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x460 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x201348 0x[0-9a-f]+ +\(RELA\).* 0x[0-9a-f]+ +\(RELASZ\).* @@ -69,29 +69,28 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+201308 0+12 R_X86_64_TPOFF64 +0+24 -0+201310 0+12 R_X86_64_TPOFF64 +0+30 -0+201318 0+12 R_X86_64_TPOFF64 +0+64 -0+201328 0+12 R_X86_64_TPOFF64 +0+50 -0+201330 0+12 R_X86_64_TPOFF64 +0+70 -0+201340 0+12 R_X86_64_TPOFF64 +0+44 -0+201320 0+700000012 R_X86_64_TPOFF64 +0+10 sg5 \+ 0 -0+201338 0+b00000012 R_X86_64_TPOFF64 +0+4 sg2 \+ 0 +0+201308 [0-9a-f]+ R_X86_64_TPOFF64 +0+24 +0+201310 [0-9a-f]+ R_X86_64_TPOFF64 +0+30 +0+201318 [0-9a-f]+ R_X86_64_TPOFF64 +0+64 +0+201328 [0-9a-f]+ R_X86_64_TPOFF64 +0+50 +0+201330 [0-9a-f]+ R_X86_64_TPOFF64 +0+70 +0+201340 [0-9a-f]+ R_X86_64_TPOFF64 +0+44 +0+201320 [0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0 +0+201338 [0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 5 entries: +Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend -0+201398 0+800000024 R_X86_64_TLSDESC +0+ sg1 \+ 0 -0+201368 0+24 R_X86_64_TLSDESC +0+20 -0+2013a8 0+24 R_X86_64_TLSDESC +0+40 -0+201378 0+24 R_X86_64_TLSDESC +0+60 -0+201388 0+24 R_X86_64_TLSDESC +0+ +0+201398 [0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0 +0+201368 [0-9a-f]+ R_X86_64_TLSDESC +0+20 +0+2013a8 [0-9a-f]+ R_X86_64_TLSDESC +0+40 +0+201378 [0-9a-f]+ R_X86_64_TLSDESC +0+60 +0+201388 [0-9a-f]+ R_X86_64_TLSDESC +0+ -Symbol table '.dynsym' contains 16 entries: +Symbol table '.dynsym' contains [0-9]+ entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name +[0-9]+: 0+ +0 NOTYPE LOCAL DEFAULT UND * +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 * +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 * - +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 * +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8 +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3 +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4 diff --git a/ld/testsuite/ld-x86-64/tlspic.rd b/ld/testsuite/ld-x86-64/tlspic.rd index 3198377..492cf6f 100644 --- a/ld/testsuite/ld-x86-64/tlspic.rd +++ b/ld/testsuite/ld-x86-64/tlspic.rd @@ -74,7 +74,6 @@ Symbol table '.dynsym' contains [0-9]+ entries: .* NOTYPE LOCAL DEFAULT UND * .* SECTION LOCAL DEFAULT +7 * .* SECTION LOCAL DEFAULT +8 * -.* SECTION LOCAL DEFAULT +9 * .* TLS +GLOBAL DEFAULT +8 sg8 .* TLS +GLOBAL DEFAULT +8 sg3 .* TLS +GLOBAL DEFAULT +8 sg4 |