diff options
author | Alan Modra <amodra@gmail.com> | 2015-02-17 09:14:59 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-02-18 00:31:52 +1030 |
commit | 2ec55de302e4a6c49a06c673c8262a119fa6226f (patch) | |
tree | f70feefc1fc7d5694f3f3b702e2e05cd68b35e1d /ld/testsuite/ld-i386 | |
parent | 69efdff130b843838e791065335b44d5f91f7075 (diff) | |
download | gdb-2ec55de302e4a6c49a06c673c8262a119fa6226f.zip gdb-2ec55de302e4a6c49a06c673c8262a119fa6226f.tar.gz gdb-2ec55de302e4a6c49a06c673c8262a119fa6226f.tar.bz2 |
Properly place the NULL STT_FILE symbol revistited
I was having a little closer look at what is going on here and noticed
that HJ unconditionally emits a NULL STT_FILE symbol before emitting
forced local symbols. That means we really don't need a second pass
over forced local symbols. The only reason for two passes is when
some forced local symbol can be emitted before the NULL STT_FILE. So
I set about removing the second pass, updating the testsuite all over
again. It's also unnecessary to emit the NULL STT_FILE when no
previous file symbol has been emitted.
bfd/
PR ld/17975
* elflink.c (struct elf_outext_info): Remove need_second_pass
and second_pass.
(elf_link_output_extsym): Delete code handling second forced
local pass. Move code emitting NULL STT_FILE symbol later, so
that it can be omitted if forced local is stripped. Don't
emit the NULL STT_FILE if no file symbols have been output.
(bfd_elf_final_link): Remove second forced local pass.
* elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
(ppc_elf_size_dynamic_sections): Likewise.
* elf64-ppc.c (ppc_build_one_stub): Likewise.
(build_global_entry_stubs): Likewise.
(ppc64_elf_build_stubs): Likewise.
ld/testsuite/
PR ld/17975
* ld-aarch64/gc-tls-relocs.d, * ld-alpha/tlspic.rd,
* ld-cris/libdso-2.d, * ld-i386/tlsdesc-nacl.rd, * ld-i386/tlsdesc.rd,
* ld-i386/tlsnopic-nacl.rd, * ld-i386/tlsnopic.rd,
* ld-i386/tlspic-nacl.rd, * ld-i386/tlspic.rd, * ld-ia64/tlspic.rd,
* ld-powerpc/tlsexe.r, * ld-powerpc/tlsexetoc.r,
* ld-powerpc/tlsso.r, * ld-powerpc/tlstocso.r,
* ld-s390/tlspic.rd, * ld-s390/tlspic_64.rd,
* ld-sparc/tlssunnopic32.rd, * ld-sparc/tlssunnopic64.rd,
* ld-sparc/tlssunpic32.rd, * ld-sparc/tlssunpic64.rd,
* ld-tic6x/shlib-1.rd, * ld-tic6x/shlib-1b.rd, * ld-tic6x/shlib-1r.rd,
* ld-tic6x/shlib-1rb.rd, * ld-tic6x/shlib-noindex.rd,
* ld-x86-64/tlsdesc-nacl.rd, * ld-x86-64/tlsdesc.rd,
* ld-x86-64/tlspic-nacl.rd, * ld-x86-64/tlspic.rd: Update.
Diffstat (limited to 'ld/testsuite/ld-i386')
-rw-r--r-- | ld/testsuite/ld-i386/tlsdesc-nacl.rd | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/tlsdesc.rd | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/tlsnopic-nacl.rd | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/tlsnopic.rd | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/tlspic-nacl.rd | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/tlspic.rd | 4 |
6 files changed, 10 insertions, 10 deletions
diff --git a/ld/testsuite/ld-i386/tlsdesc-nacl.rd b/ld/testsuite/ld-i386/tlsdesc-nacl.rd index 6e6df1b..c8c82f3 100644 --- a/ld/testsuite/ld-i386/tlsdesc-nacl.rd +++ b/ld/testsuite/ld-i386/tlsdesc-nacl.rd @@ -120,10 +120,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7 +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8 .* FILE +LOCAL +DEFAULT +ABS + +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1 +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ - +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1 +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +7 sh3 +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +8 sH2 +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +8 sH7 @@ -137,6 +136,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +8 sH6 +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +8 sH8 +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +7 sh1 + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +7 sh2 +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +7 sh6 +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 diff --git a/ld/testsuite/ld-i386/tlsdesc.rd b/ld/testsuite/ld-i386/tlsdesc.rd index e57ec07..9b00c39 100644 --- a/ld/testsuite/ld-i386/tlsdesc.rd +++ b/ld/testsuite/ld-i386/tlsdesc.rd @@ -118,10 +118,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7 +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8 .* FILE +LOCAL +DEFAULT +ABS + +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1 +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ - +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1 +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +7 sh3 +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +8 sH2 +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +8 sH7 @@ -135,6 +134,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +8 sH6 +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +8 sH8 +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +7 sh1 + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +7 sh2 +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +7 sh6 +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 diff --git a/ld/testsuite/ld-i386/tlsnopic-nacl.rd b/ld/testsuite/ld-i386/tlsnopic-nacl.rd index a458bb6..d3fe642 100644 --- a/ld/testsuite/ld-i386/tlsnopic-nacl.rd +++ b/ld/testsuite/ld-i386/tlsnopic-nacl.rd @@ -104,10 +104,10 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+10 +0 +TLS +LOCAL +DEFAULT +6 bl5 .* FILE +LOCAL +DEFAULT +ABS +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +7 _DYNAMIC - +[0-9]+: 0*1001031c +0 +OBJECT +LOCAL +DEFAULT +9 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+1c +0 +TLS +LOCAL +DEFAULT +6 sh3 +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +6 sh4 +[0-9]+: 0+14 +0 +TLS +LOCAL +DEFAULT +6 sh1 + +[0-9]+: 0*1001031c +0 +OBJECT +LOCAL +DEFAULT +9 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+18 +0 +TLS +LOCAL +DEFAULT +6 sh2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg4 diff --git a/ld/testsuite/ld-i386/tlsnopic.rd b/ld/testsuite/ld-i386/tlsnopic.rd index 01edba9..9b163c8 100644 --- a/ld/testsuite/ld-i386/tlsnopic.rd +++ b/ld/testsuite/ld-i386/tlsnopic.rd @@ -102,10 +102,10 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+10 +0 +TLS +LOCAL +DEFAULT +6 bl5 .* FILE +LOCAL +DEFAULT +ABS +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +7 _DYNAMIC - +[0-9]+: 0+218c +0 +OBJECT +LOCAL +DEFAULT +9 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+1c +0 +TLS +LOCAL +DEFAULT +6 sh3 +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +6 sh4 +[0-9]+: 0+14 +0 +TLS +LOCAL +DEFAULT +6 sh1 + +[0-9]+: 0+218c +0 +OBJECT +LOCAL +DEFAULT +9 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+18 +0 +TLS +LOCAL +DEFAULT +6 sh2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg4 diff --git a/ld/testsuite/ld-i386/tlspic-nacl.rd b/ld/testsuite/ld-i386/tlspic-nacl.rd index 4a8797f..77dd9ce 100644 --- a/ld/testsuite/ld-i386/tlspic-nacl.rd +++ b/ld/testsuite/ld-i386/tlspic-nacl.rd @@ -125,9 +125,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +8 sl7 +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +8 sl8 .* FILE +LOCAL +DEFAULT +ABS - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +8 sh3 +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +9 sH2 +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +9 sH7 @@ -141,6 +140,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +9 sH6 +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +9 sH8 +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +8 sh1 + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +8 sh2 +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +8 sh6 +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 diff --git a/ld/testsuite/ld-i386/tlspic.rd b/ld/testsuite/ld-i386/tlspic.rd index 68697fc..e26dc70 100644 --- a/ld/testsuite/ld-i386/tlspic.rd +++ b/ld/testsuite/ld-i386/tlspic.rd @@ -123,9 +123,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +8 sl7 +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +8 sl8 .* FILE +LOCAL +DEFAULT +ABS - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +8 sh3 +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +9 sH2 +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +9 sH7 @@ -139,6 +138,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +9 sH6 +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +9 sH8 +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +8 sh1 + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +8 sh2 +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +8 sh6 +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 |