From: Alan Modra Date: Mon, 16 Feb 2015 22:44:59 +0000 (+1030) Subject: Properly place the NULL STT_FILE symbol revistited X-Git-Tag: gdb-7.10-release~1595 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2ec55de302e4a6c49a06c673c8262a119fa6226f;p=external%2Fbinutils.git 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. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0cd8bbd..44fc2bb 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,19 @@ +2015-02-17 Alan Modra + + 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. + 2015-02-16 H.J. Lu PR ld/17975 diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 8d8167a..33f59c8 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -5685,6 +5685,7 @@ add_stub_sym (struct plt_entry *ent, sh->ref_regular_nonweak = 1; sh->forced_local = 1; sh->non_elf = 0; + sh->root.linker_def = 1; } return TRUE; } @@ -6366,6 +6367,7 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd, sh->ref_regular_nonweak = 1; sh->forced_local = 1; sh->non_elf = 0; + sh->root.linker_def = 1; } sh = elf_link_hash_lookup (&htab->elf, "__glink_PLTresolve", TRUE, FALSE, FALSE); @@ -6381,6 +6383,7 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd, sh->ref_regular_nonweak = 1; sh->forced_local = 1; sh->non_elf = 0; + sh->root.linker_def = 1; } } } diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 38bc3fb..a2ddb41 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -10950,6 +10950,7 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) h->ref_regular_nonweak = 1; h->forced_local = 1; h->non_elf = 0; + h->root.linker_def = 1; } } @@ -12653,6 +12654,7 @@ build_global_entry_stubs (struct elf_link_hash_entry *h, void *inf) h->ref_regular_nonweak = 1; h->forced_local = 1; h->non_elf = 0; + h->root.linker_def = 1; } } @@ -12726,6 +12728,7 @@ ppc64_elf_build_stubs (struct bfd_link_info *info, h->ref_regular_nonweak = 1; h->forced_local = 1; h->non_elf = 0; + h->root.linker_def = 1; } } plt0 = (htab->elf.splt->output_section->vma diff --git a/bfd/elflink.c b/bfd/elflink.c index 541129a..038e43d 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -7441,8 +7441,6 @@ struct elf_outext_info { bfd_boolean failed; bfd_boolean localsyms; - bfd_boolean need_second_pass; - bfd_boolean second_pass; bfd_boolean file_sym_done; struct elf_final_link_info *flinfo; }; @@ -8821,25 +8819,6 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) { if (!h->forced_local) return TRUE; - if (eoinfo->second_pass - && !((h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - && h->root.u.def.section->output_section != NULL)) - return TRUE; - - if (!eoinfo->file_sym_done && eoinfo->flinfo->filesym_count) - { - /* Output a FILE symbol so that following locals are not associated - with the wrong input file. */ - memset (&sym, 0, sizeof (sym)); - sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE); - sym.st_shndx = SHN_ABS; - if (!elf_link_output_sym (eoinfo->flinfo, NULL, &sym, - bfd_und_section_ptr, NULL)) - return FALSE; - - eoinfo->file_sym_done = TRUE; - } } else { @@ -9001,16 +8980,6 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) input_sec = h->root.u.def.section; if (input_sec->output_section != NULL) { - if (eoinfo->localsyms && flinfo->filesym_count == 1) - { - bfd_boolean second_pass_sym - = h->forced_local && !h->root.linker_def; - - eoinfo->need_second_pass |= second_pass_sym; - if (eoinfo->second_pass != second_pass_sym) - return TRUE; - } - sym.st_shndx = _bfd_elf_section_from_bfd_section (flinfo->output_bfd, input_sec->output_section); @@ -9241,6 +9210,29 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) if (strip || (input_sec->flags & SEC_EXCLUDE) != 0) return TRUE; + /* Output a FILE symbol so that following locals are not associated + with the wrong input file. We need one for forced local symbols + if we've seen more than one FILE symbol or when we have exactly + one FILE symbol but global symbols are present in a file other + than the one with the FILE symbol. We also need one if linker + defined symbols are present. In practice these conditions are + always met, so just emit the FILE symbol unconditionally. */ + if (eoinfo->localsyms + && !eoinfo->file_sym_done + && eoinfo->flinfo->filesym_count != 0) + { + Elf_Internal_Sym fsym; + + memset (&fsym, 0, sizeof (fsym)); + fsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE); + fsym.st_shndx = SHN_ABS; + if (!elf_link_output_sym (eoinfo->flinfo, NULL, &fsym, + bfd_und_section_ptr, NULL)) + return FALSE; + + eoinfo->file_sym_done = TRUE; + } + indx = bfd_get_symcount (flinfo->output_bfd); ret = elf_link_output_sym (flinfo, h->root.root.string, &sym, input_sec, h); if (ret == 0) @@ -11153,21 +11145,11 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) eoinfo.failed = FALSE; eoinfo.flinfo = &flinfo; eoinfo.localsyms = TRUE; - eoinfo.need_second_pass = FALSE; - eoinfo.second_pass = FALSE; eoinfo.file_sym_done = FALSE; bfd_hash_traverse (&info->hash->table, elf_link_output_extsym, &eoinfo); if (eoinfo.failed) return FALSE; - if (eoinfo.need_second_pass) - { - eoinfo.second_pass = TRUE; - bfd_hash_traverse (&info->hash->table, elf_link_output_extsym, &eoinfo); - if (eoinfo.failed) - return FALSE; - } - /* If backend needs to output some local symbols not present in the hash table, do it now. */ if (bed->elf_backend_output_arch_local_syms diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 46f9518..64f0871 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,20 @@ +2015-02-17 Alan Modra + + 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. + 2015-02-16 H.J. Lu PR ld/17975 diff --git a/ld/testsuite/ld-aarch64/gc-tls-relocs.d b/ld/testsuite/ld-aarch64/gc-tls-relocs.d index 5380bc0..191647c 100644 --- a/ld/testsuite/ld-aarch64/gc-tls-relocs.d +++ b/ld/testsuite/ld-aarch64/gc-tls-relocs.d @@ -16,8 +16,8 @@ SYMBOL TABLE: 0+8000 l d \.text 0+ \.text 0+9000 l d \.got 0+ \.got 0+0000 l df \*ABS\* 0+ .* -0+0000 l \*UND\* 0+ __tls_get_addr 0+0000 l df \*ABS\* 0+ +0+0000 l \*UND\* 0+ __tls_get_addr 0+9000 l O \.got 0+ _GLOBAL_OFFSET_TABLE_ 0+8000 g \.text 0+ _start diff --git a/ld/testsuite/ld-alpha/tlspic.rd b/ld/testsuite/ld-alpha/tlspic.rd index cedd2d6..7a97847 100644 --- a/ld/testsuite/ld-alpha/tlspic.rd +++ b/ld/testsuite/ld-alpha/tlspic.rd @@ -96,13 +96,12 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl7 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl8 .* FILE +LOCAL +DEFAULT +ABS -.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ -.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 sH1 +.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sh3 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 sH2 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 sH7 +.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sh7 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sh8 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 sH4 @@ -113,6 +112,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 sH6 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 sH8 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sh1 +.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sh2 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sh6 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg8 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 diff --git a/ld/testsuite/ld-ia64/tlspic.rd b/ld/testsuite/ld-ia64/tlspic.rd index 7abf82d..9666f86 100644 --- a/ld/testsuite/ld-ia64/tlspic.rd +++ b/ld/testsuite/ld-ia64/tlspic.rd @@ -99,7 +99,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +10 sl6 .* TLS +LOCAL +DEFAULT +10 sl7 .* TLS +LOCAL +DEFAULT +10 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* TLS +LOCAL +DEFAULT +11 sH1 +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +10 sh3 .* TLS +LOCAL +DEFAULT +11 sH2 .* TLS +LOCAL +DEFAULT +11 sH7 @@ -113,11 +115,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +11 sH6 .* TLS +LOCAL +DEFAULT +11 sH8 .* TLS +LOCAL +DEFAULT +10 sh1 +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +10 sh2 .* TLS +LOCAL +DEFAULT +10 sh6 -.* FILE +LOCAL +DEFAULT +ABS .* -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +10 sg8 .* TLS +GLOBAL +DEFAULT +10 sg3 .* TLS +GLOBAL +DEFAULT +10 sg4 diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r index 9ce45e0..443bae8 100644 --- a/ld/testsuite/ld-powerpc/tlsexe.r +++ b/ld/testsuite/ld-powerpc/tlsexe.r @@ -98,9 +98,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 le5 .* FILE +LOCAL +DEFAULT +ABS .* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC -.* (FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt) -.* NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve -.* NOTYPE +LOCAL +DEFAULT +7 .*\.plt_call\.__tls_get_addr(|_opt) +.* (NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve|(FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)) +.* (NOTYPE +LOCAL +DEFAULT +7 .*\.plt_call\.__tls_get_addr(|_opt)|NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve) +.* ((FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)|NOTYPE +LOCAL +DEFAULT +7 .*\.plt_call\.__tls_get_addr(|_opt)) .* GLOBAL +DEFAULT +UND gd .* GLOBAL +DEFAULT +9 le0 .* GLOBAL +DEFAULT +9 ld0 diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r index eed4589..bb6462f 100644 --- a/ld/testsuite/ld-powerpc/tlsexetoc.r +++ b/ld/testsuite/ld-powerpc/tlsexetoc.r @@ -98,9 +98,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +LOCAL +DEFAULT +12 \.Lie0 .* FILE +LOCAL +DEFAULT +ABS .* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC -.* (FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt) -.* NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve -.* NOTYPE +LOCAL +DEFAULT +7 .*\.plt_call\.__tls_get_addr(|_opt) +.* (NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve|(FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)) +.* (NOTYPE +LOCAL +DEFAULT +7 .*\.plt_call\.__tls_get_addr(|_opt)|NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve) +.* ((FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)|NOTYPE +LOCAL +DEFAULT +7 .*\.plt_call\.__tls_get_addr(|_opt)) .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +9 le0 .* TLS +GLOBAL +DEFAULT +9 ld0 diff --git a/ld/testsuite/ld-powerpc/tlsso.r b/ld/testsuite/ld-powerpc/tlsso.r index 870bd0f..3a5b808 100644 --- a/ld/testsuite/ld-powerpc/tlsso.r +++ b/ld/testsuite/ld-powerpc/tlsso.r @@ -114,9 +114,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 le5 .* FILE +LOCAL +DEFAULT +ABS .* OBJECT +LOCAL +DEFAULT +9 _DYNAMIC -.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr .* NOTYPE +LOCAL +DEFAULT +6 .*\.plt_call\.__tls_get_addr .* NOTYPE +LOCAL +DEFAULT +6 __glink_PLTresolve +.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +8 le0 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr diff --git a/ld/testsuite/ld-powerpc/tlstocso.r b/ld/testsuite/ld-powerpc/tlstocso.r index 1642327..075e303 100644 --- a/ld/testsuite/ld-powerpc/tlstocso.r +++ b/ld/testsuite/ld-powerpc/tlstocso.r @@ -110,9 +110,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +LOCAL +DEFAULT +11 \.Lie0 .* FILE +LOCAL +DEFAULT +ABS .* OBJECT +LOCAL +DEFAULT +9 _DYNAMIC -.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr .* NOTYPE +LOCAL +DEFAULT +6 .*\.plt_call\.__tls_get_addr .* NOTYPE +LOCAL +DEFAULT +6 __glink_PLTresolve +.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +8 le0 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr diff --git a/ld/testsuite/ld-s390/tlspic.rd b/ld/testsuite/ld-s390/tlspic.rd index d1be919..37ebe47 100644 --- a/ld/testsuite/ld-s390/tlspic.rd +++ b/ld/testsuite/ld-s390/tlspic.rd @@ -111,9 +111,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sl7 .* TLS +LOCAL +DEFAULT +8 sl8 .* FILE +LOCAL +DEFAULT +ABS -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +9 sH1 +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +8 sh3 .* TLS +LOCAL +DEFAULT +9 sH2 .* TLS +LOCAL +DEFAULT +9 sH7 @@ -127,6 +126,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sH6 .* TLS +LOCAL +DEFAULT +9 sH8 .* TLS +LOCAL +DEFAULT +8 sh1 +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sh2 .* TLS +LOCAL +DEFAULT +8 sh6 .* TLS +GLOBAL +DEFAULT +8 sg8 diff --git a/ld/testsuite/ld-s390/tlspic_64.rd b/ld/testsuite/ld-s390/tlspic_64.rd index 41124c5..9b4105c 100644 --- a/ld/testsuite/ld-s390/tlspic_64.rd +++ b/ld/testsuite/ld-s390/tlspic_64.rd @@ -111,9 +111,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sl7 .* TLS +LOCAL +DEFAULT +8 sl8 .* FILE +LOCAL +DEFAULT +ABS -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +9 sH1 +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +8 sh3 .* TLS +LOCAL +DEFAULT +9 sH2 .* TLS +LOCAL +DEFAULT +9 sH7 @@ -127,6 +126,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sH6 .* TLS +LOCAL +DEFAULT +9 sH8 .* TLS +LOCAL +DEFAULT +8 sh1 +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sh2 .* TLS +LOCAL +DEFAULT +8 sh6 .* TLS +GLOBAL +DEFAULT +8 sg8 diff --git a/ld/testsuite/ld-sparc/tlssunnopic32.rd b/ld/testsuite/ld-sparc/tlssunnopic32.rd index a04a8bc..21d07c0 100644 --- a/ld/testsuite/ld-sparc/tlssunnopic32.rd +++ b/ld/testsuite/ld-sparc/tlssunnopic32.rd @@ -81,11 +81,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +6 bl5 .* FILE +LOCAL +DEFAULT +ABS .* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh3 +.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh4 .* TLS +LOCAL +DEFAULT +6 sh1 +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh2 .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 diff --git a/ld/testsuite/ld-sparc/tlssunnopic64.rd b/ld/testsuite/ld-sparc/tlssunnopic64.rd index 370191a..6825aa9 100644 --- a/ld/testsuite/ld-sparc/tlssunnopic64.rd +++ b/ld/testsuite/ld-sparc/tlssunnopic64.rd @@ -83,11 +83,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +6 bl5 .* FILE +LOCAL +DEFAULT +ABS .* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh3 +.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh4 .* TLS +LOCAL +DEFAULT +6 sh1 +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh2 .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 diff --git a/ld/testsuite/ld-sparc/tlssunpic32.rd b/ld/testsuite/ld-sparc/tlssunpic32.rd index d3b5621..4d96736 100644 --- a/ld/testsuite/ld-sparc/tlssunpic32.rd +++ b/ld/testsuite/ld-sparc/tlssunpic32.rd @@ -103,13 +103,12 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 sl7 .* TLS +LOCAL +DEFAULT +7 sl8 .* FILE +LOCAL +DEFAULT +ABS -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sH1 +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +7 sh3 .* TLS +LOCAL +DEFAULT +8 sH2 .* TLS +LOCAL +DEFAULT +8 sH7 +.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* TLS +LOCAL +DEFAULT +7 sh7 .* TLS +LOCAL +DEFAULT +7 sh8 .* TLS +LOCAL +DEFAULT +8 sH4 @@ -120,6 +119,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sH6 .* TLS +LOCAL +DEFAULT +8 sH8 .* TLS +LOCAL +DEFAULT +7 sh1 +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +7 sh2 .* TLS +LOCAL +DEFAULT +7 sh6 .* TLS +GLOBAL +DEFAULT +7 sg8 diff --git a/ld/testsuite/ld-sparc/tlssunpic64.rd b/ld/testsuite/ld-sparc/tlssunpic64.rd index 107ee68..6f91fee 100644 --- a/ld/testsuite/ld-sparc/tlssunpic64.rd +++ b/ld/testsuite/ld-sparc/tlssunpic64.rd @@ -103,13 +103,12 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 sl7 .* TLS +LOCAL +DEFAULT +7 sl8 .* FILE +LOCAL +DEFAULT +ABS -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sH1 +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +7 sh3 .* TLS +LOCAL +DEFAULT +8 sH2 .* TLS +LOCAL +DEFAULT +8 sH7 +.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* TLS +LOCAL +DEFAULT +7 sh7 .* TLS +LOCAL +DEFAULT +7 sh8 .* TLS +LOCAL +DEFAULT +8 sH4 @@ -120,6 +119,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sH6 .* TLS +LOCAL +DEFAULT +8 sH8 .* TLS +LOCAL +DEFAULT +7 sh1 +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +7 sh2 .* TLS +LOCAL +DEFAULT +7 sh6 .* TLS +GLOBAL +DEFAULT +7 sg8 diff --git a/ld/testsuite/ld-tic6x/shlib-1.rd b/ld/testsuite/ld-tic6x/shlib-1.rd index f19d749..5818326 100644 --- a/ld/testsuite/ld-tic6x/shlib-1.rd +++ b/ld/testsuite/ld-tic6x/shlib-1.rd @@ -113,8 +113,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 .* 00000000 0 FILE LOCAL DEFAULT ABS .* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000130 4 OBJECT LOCAL DEFAULT 12 c +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE .* 00000000 0 NOTYPE WEAK DEFAULT UND b .* 00000000 0 NOTYPE WEAK DEFAULT UND g1 diff --git a/ld/testsuite/ld-tic6x/shlib-1b.rd b/ld/testsuite/ld-tic6x/shlib-1b.rd index f19d749..5818326 100644 --- a/ld/testsuite/ld-tic6x/shlib-1b.rd +++ b/ld/testsuite/ld-tic6x/shlib-1b.rd @@ -113,8 +113,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 .* 00000000 0 FILE LOCAL DEFAULT ABS .* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000130 4 OBJECT LOCAL DEFAULT 12 c +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE .* 00000000 0 NOTYPE WEAK DEFAULT UND b .* 00000000 0 NOTYPE WEAK DEFAULT UND g1 diff --git a/ld/testsuite/ld-tic6x/shlib-1r.rd b/ld/testsuite/ld-tic6x/shlib-1r.rd index f19d749..5818326 100644 --- a/ld/testsuite/ld-tic6x/shlib-1r.rd +++ b/ld/testsuite/ld-tic6x/shlib-1r.rd @@ -113,8 +113,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 .* 00000000 0 FILE LOCAL DEFAULT ABS .* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000130 4 OBJECT LOCAL DEFAULT 12 c +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE .* 00000000 0 NOTYPE WEAK DEFAULT UND b .* 00000000 0 NOTYPE WEAK DEFAULT UND g1 diff --git a/ld/testsuite/ld-tic6x/shlib-1rb.rd b/ld/testsuite/ld-tic6x/shlib-1rb.rd index f19d749..5818326 100644 --- a/ld/testsuite/ld-tic6x/shlib-1rb.rd +++ b/ld/testsuite/ld-tic6x/shlib-1rb.rd @@ -113,8 +113,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 .* 00000000 0 FILE LOCAL DEFAULT ABS .* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000130 4 OBJECT LOCAL DEFAULT 12 c +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE .* 00000000 0 NOTYPE WEAK DEFAULT UND b .* 00000000 0 NOTYPE WEAK DEFAULT UND g1 diff --git a/ld/testsuite/ld-tic6x/shlib-noindex.rd b/ld/testsuite/ld-tic6x/shlib-noindex.rd index 39d1513..62d237b 100644 --- a/ld/testsuite/ld-tic6x/shlib-noindex.rd +++ b/ld/testsuite/ld-tic6x/shlib-noindex.rd @@ -120,8 +120,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* 10000080 0 FUNC LOCAL HIDDEN 10 sub1 .* 00000000 0 FILE LOCAL DEFAULT ABS .* 00008188 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000130 4 OBJECT LOCAL DEFAULT 13 c +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ .* 10000100 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE .* 00000000 0 NOTYPE WEAK DEFAULT UND b .* 00000000 0 NOTYPE WEAK DEFAULT UND g1 diff --git a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd index d37f6b8..25bbd9b 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd +++ b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd @@ -131,10 +131,9 @@ 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+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +8 _TLS_MODULE_BASE_ +[0-9]+: 0+100104e8 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC - +[0-9]+: 0+10010680 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ - +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 +[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 @@ -148,6 +147,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+10010680 +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-x86-64/tlsdesc.rd b/ld/testsuite/ld-x86-64/tlsdesc.rd index ebd25b1..1efea46 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc.rd +++ b/ld/testsuite/ld-x86-64/tlsdesc.rd @@ -129,10 +129,9 @@ 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+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +8 _TLS_MODULE_BASE_ +[0-9]+: 0+2011b8 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC - +[0-9]+: 0+201350 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ - +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 +[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 @@ -146,6 +145,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+201350 +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-x86-64/tlspic-nacl.rd b/ld/testsuite/ld-x86-64/tlspic-nacl.rd index 0cc7951..2233690 100644 --- a/ld/testsuite/ld-x86-64/tlspic-nacl.rd +++ b/ld/testsuite/ld-x86-64/tlspic-nacl.rd @@ -115,9 +115,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sl7 .* TLS +LOCAL +DEFAULT +8 sl8 .* FILE +LOCAL +DEFAULT +ABS -.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +9 sH1 +.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC .* TLS +LOCAL +DEFAULT +8 sh3 .* TLS +LOCAL +DEFAULT +9 sH2 .* TLS +LOCAL +DEFAULT +9 sH7 @@ -131,6 +130,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sH6 .* TLS +LOCAL +DEFAULT +9 sH8 .* TLS +LOCAL +DEFAULT +8 sh1 +.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sh2 .* TLS +LOCAL +DEFAULT +8 sh6 .* TLS +GLOBAL +DEFAULT +8 sg8 diff --git a/ld/testsuite/ld-x86-64/tlspic.rd b/ld/testsuite/ld-x86-64/tlspic.rd index 57035a9..c2830e9 100644 --- a/ld/testsuite/ld-x86-64/tlspic.rd +++ b/ld/testsuite/ld-x86-64/tlspic.rd @@ -113,9 +113,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sl7 .* TLS +LOCAL +DEFAULT +8 sl8 .* FILE +LOCAL +DEFAULT +ABS -.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +9 sH1 +.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC .* TLS +LOCAL +DEFAULT +8 sh3 .* TLS +LOCAL +DEFAULT +9 sH2 .* TLS +LOCAL +DEFAULT +9 sH7 @@ -129,6 +128,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sH6 .* TLS +LOCAL +DEFAULT +9 sH8 .* TLS +LOCAL +DEFAULT +8 sh1 +.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sh2 .* TLS +LOCAL +DEFAULT +8 sh6 .* TLS +GLOBAL +DEFAULT +8 sg8