diff options
author | Jan Beulich <jbeulich@novell.com> | 2013-10-29 17:52:24 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-10-29 17:52:24 +0100 |
commit | 34a79995c4cc34f6f41e2a4b2df477db31b31f0c (patch) | |
tree | f85f8514b04cea06e4f013d80b869ec140dce61a /ld/testsuite/ld-sh | |
parent | aee17e424f491173bb377b97c397bca1604bf5b8 (diff) | |
download | gdb-34a79995c4cc34f6f41e2a4b2df477db31b31f0c.zip gdb-34a79995c4cc34f6f41e2a4b2df477db31b31f0c.tar.gz gdb-34a79995c4cc34f6f41e2a4b2df477db31b31f0c.tar.bz2 |
ld/ELF: refine fake STT_FILE symbol emission
There's no real need to emit these always: They're needed only if we
indeed want to emit a localized symbol. Hence defer emission until we
at least did the basic early checks that would lead to no such symbol
getting emitted. This in particular avoids emitting such a symbol in
the majority of (if not all) "ld -r" cases.
I hope my set of cross build tests caught all the test cases needing
adjustment - please forgive if I missed a few.
bfd/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* elflink.c (struct elf_outext_info): Add field file_sym_done.
(bfd_elf_final_link): Initialize new field. Move fake STT_FILE
symbol emission from here ...
(elf_link_output_extsym): ... to here.
gas/testsuite/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* gas/microblaze/relax_size.elf: Drop expectation of no longer
present STT_FILE symbol.
* gas/microblaze/relax_size2.elf: Likewise.
ld/testsuite/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* ld-cris/tls-e-tpoffcomm1.d: Drop expectation of no longer
present STT_FILE symbol.
* ld-mmix/bpo-18.d: Likewise.
* ld-mmix/bpo-22.d: Likewise.
* ld-mmix/greg-6.d: Likewise.
* ld-mmix/greg-7.d: Likewise.
* ld-mmix/loc4.d: Likewise.
* ld-mmix/local1.d: Likewise.
* ld-mmix/local3.d: Likewise.
* ld-mmix/local5.d: Likewise.
* ld-mmix/local7.d: Likewise.
* ld-mmix/loct-1.d: Likewise.
* ld-sh/sh64/abi32.xd: Likewise.
* ld-sh/sh64/abi64.xd: Likewise.
* ld-sh/sh64/cmpct1.xd: Likewise.
* ld-sh/sh64/crange1.rd: Likewise.
* ld-sh/sh64/crange2.rd: Likewise.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/mix1.xd: Likewise.
* ld-sh/sh64/mix2.xd: Likewise.
* ld-sh/sh64/shdl32.xd: Likewise.
* ld-sh/sh64/shdl64.xd: Likewise.
Diffstat (limited to 'ld/testsuite/ld-sh')
-rw-r--r-- | ld/testsuite/ld-sh/sh64/abi32.xd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/abi64.xd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/cmpct1.xd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/crange1.rd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/crange2.rd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/crange3-cmpct.rd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/crange3-media.rd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/crange3.rd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/crangerel1.rd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/crangerel2.rd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/mix1.xd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/mix2.xd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/shdl32.xd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh64/shdl64.xd | 1 |
14 files changed, 0 insertions, 14 deletions
diff --git a/ld/testsuite/ld-sh/sh64/abi32.xd b/ld/testsuite/ld-sh/sh64/abi32.xd index f451b81..695ea4e 100644 --- a/ld/testsuite/ld-sh/sh64/abi32.xd +++ b/ld/testsuite/ld-sh/sh64/abi32.xd @@ -30,7 +30,6 @@ SYMBOL TABLE: 0+ l df \*ABS\* 0+ .* 0+10fc l \.data 0+ foobar2 0+1060 l \.text 0+ 0x04 plugh -0+ l df \*ABS\* 0+ .* 0+10f8 g \.data 0+ foobar 0+10e8 g \.data 0+ baz 0+10e8 g .* 0+ ___dtors diff --git a/ld/testsuite/ld-sh/sh64/abi64.xd b/ld/testsuite/ld-sh/sh64/abi64.xd index 7018739..13bb333 100644 --- a/ld/testsuite/ld-sh/sh64/abi64.xd +++ b/ld/testsuite/ld-sh/sh64/abi64.xd @@ -29,7 +29,6 @@ SYMBOL TABLE: 0000000000000000 l df \*ABS\* 0000000000000000 .* 0000000000001144 l \.data 0000000000000000 foobar2 00000000000010a8 l \.text 0000000000000000 0x04 plugh -0000000000000000 l df \*ABS\* 0000000000000000 .* 0000000000001140 g \.data 0000000000000000 foobar 0000000000001130 g \.data 0000000000000000 baz 0000000000001130 g .* 0000000000000000 ___dtors diff --git a/ld/testsuite/ld-sh/sh64/cmpct1.xd b/ld/testsuite/ld-sh/sh64/cmpct1.xd index b32f820..77e6e84 100644 --- a/ld/testsuite/ld-sh/sh64/cmpct1.xd +++ b/ld/testsuite/ld-sh/sh64/cmpct1.xd @@ -26,7 +26,6 @@ SYMBOL TABLE: 0+ l df \*ABS\* 0+ .* 0+1004 l \.text 0+ next 0+100c l \.rodata 0+ here -0+ l df \*ABS\* 0+ .* 0+1098 g .* 0+ ___dtors 0+1098 g \.rodata 0+ __bss_start 0+1098 g .* 0+ ___ctors_end diff --git a/ld/testsuite/ld-sh/sh64/crange1.rd b/ld/testsuite/ld-sh/sh64/crange1.rd index 10cd3b3..e22d502 100644 --- a/ld/testsuite/ld-sh/sh64/crange1.rd +++ b/ld/testsuite/ld-sh/sh64/crange1.rd @@ -24,7 +24,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4 .* FILE +LOCAL +DEFAULT +ABS .* .*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 -.* FILE +LOCAL +DEFAULT +ABS .* .*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors .*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start .*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end diff --git a/ld/testsuite/ld-sh/sh64/crange2.rd b/ld/testsuite/ld-sh/sh64/crange2.rd index 131712c..5074087 100644 --- a/ld/testsuite/ld-sh/sh64/crange2.rd +++ b/ld/testsuite/ld-sh/sh64/crange2.rd @@ -29,7 +29,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 0000102c +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec2 .*: 00001040 +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 .*: 00001048 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4 -.* FILE +LOCAL +DEFAULT +ABS .* .*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors .*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start .*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end diff --git a/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd b/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd index c00366a..cfd0b5a 100644 --- a/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd +++ b/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd @@ -45,7 +45,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 .*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 -.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start diff --git a/ld/testsuite/ld-sh/sh64/crange3-media.rd b/ld/testsuite/ld-sh/sh64/crange3-media.rd index 52d4d00..8490219 100644 --- a/ld/testsuite/ld-sh/sh64/crange3-media.rd +++ b/ld/testsuite/ld-sh/sh64/crange3-media.rd @@ -45,7 +45,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 .*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 -.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start diff --git a/ld/testsuite/ld-sh/sh64/crange3.rd b/ld/testsuite/ld-sh/sh64/crange3.rd index 817f8f6..b495861 100644 --- a/ld/testsuite/ld-sh/sh64/crange3.rd +++ b/ld/testsuite/ld-sh/sh64/crange3.rd @@ -26,7 +26,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 .*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 -.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start diff --git a/ld/testsuite/ld-sh/sh64/crangerel1.rd b/ld/testsuite/ld-sh/sh64/crangerel1.rd index 8dd642e..1a9ce2f 100644 --- a/ld/testsuite/ld-sh/sh64/crangerel1.rd +++ b/ld/testsuite/ld-sh/sh64/crangerel1.rd @@ -33,7 +33,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* 00000000 +0 +SECTION +LOCAL +DEFAULT +6 .* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .* 00000000 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 -.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .* 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 Hex dump of section '\.text\.mixed': diff --git a/ld/testsuite/ld-sh/sh64/crangerel2.rd b/ld/testsuite/ld-sh/sh64/crangerel2.rd index 5b3227b..81c3942 100644 --- a/ld/testsuite/ld-sh/sh64/crangerel2.rd +++ b/ld/testsuite/ld-sh/sh64/crangerel2.rd @@ -44,7 +44,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* 0000003c +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 .* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .* 00000044 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4 -.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .* 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 Hex dump of section '\.text\.mixed': diff --git a/ld/testsuite/ld-sh/sh64/mix1.xd b/ld/testsuite/ld-sh/sh64/mix1.xd index 5011676..479ff3e 100644 --- a/ld/testsuite/ld-sh/sh64/mix1.xd +++ b/ld/testsuite/ld-sh/sh64/mix1.xd @@ -32,7 +32,6 @@ SYMBOL TABLE: 0+1004 l \.text 0+ start2 0+1030 l \.text 0+ 0x04 mediacode2 0+1018 l \.text 0+ 0x04 mediacode -0+ l df \*ABS\* 0+ .* 0+10c8 g .* 0+ ___dtors 0+10d8 g \.data 0+ __bss_start 0+10c8 g .* 0+ ___ctors_end diff --git a/ld/testsuite/ld-sh/sh64/mix2.xd b/ld/testsuite/ld-sh/sh64/mix2.xd index ddd0632..518e67e 100644 --- a/ld/testsuite/ld-sh/sh64/mix2.xd +++ b/ld/testsuite/ld-sh/sh64/mix2.xd @@ -33,7 +33,6 @@ SYMBOL TABLE: 0+ l d \.cranges 0+ (|\.cranges) 0+ l df \*ABS\* 0+ .* 0+1020 l \.text 0+ locallabel -0+ l df \*ABS\* 0+ .* 0+1040 g \.rodata 0+ compactlabel4 0+101c g \.text 0+ 0x04 medialabel2 0+1038 g \.rodata 0+ medialabel3 diff --git a/ld/testsuite/ld-sh/sh64/shdl32.xd b/ld/testsuite/ld-sh/sh64/shdl32.xd index 8606b6f..d9c2364 100644 --- a/ld/testsuite/ld-sh/sh64/shdl32.xd +++ b/ld/testsuite/ld-sh/sh64/shdl32.xd @@ -29,7 +29,6 @@ SYMBOL TABLE: 0+80000 l d \.stack 0+ (|\.stack) 0+ l df \*ABS\* 0+ .* 0+1150 l \.text 0+ 0x04 part2 -0+ l df \*ABS\* 0+ .* 0+13f8 g \.data 0+ dfoo_otherboth2 0+1178 g \.text 0+ 0x04 bar_otherwithout 0+11b4 g \.text 0+ 0x04 bazwithout diff --git a/ld/testsuite/ld-sh/sh64/shdl64.xd b/ld/testsuite/ld-sh/sh64/shdl64.xd index 47f35a7..6e2c41c 100644 --- a/ld/testsuite/ld-sh/sh64/shdl64.xd +++ b/ld/testsuite/ld-sh/sh64/shdl64.xd @@ -29,7 +29,6 @@ SYMBOL TABLE: 0+80000 l d \.stack 0+ (|\.stack) 0+ l df \*ABS\* 0+ .* 0+1150 l \.text 0+ 0x04 part2 -0+ l df \*ABS\* 0+ .* 0+13f8 g \.data 0+ dfoo_otherboth2 0+1178 g \.text 0+ 0x04 bar_otherwithout 0+11b4 g \.text 0+ 0x04 bazwithout |