[binutils-gdb] gas/ELF: warn upon non-default visibility of local symbols

Jan Beulich via Binutils-cvs <[email protected]>
Newsgroups gmane.comp.gnu.binutils.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c4150acbda1b3ce0602f79cbb7700b39e577be7e

commit c4150acbda1b3ce0602f79cbb7700b39e577be7e
Author: Jan Beulich <[email protected]>
Date:   Fri May 8 11:45:04 2026 +0200

    gas/ELF: warn upon non-default visibility of local symbols
    
    The spec explicitly precludes STB_LOCAL together with STV_PROTECTED (and,
    implicity, STV_HIDDEN or STV_INTERNAL), so we better wouldn't entirely
    silently write out symbols violating this.
    
    LoongArch's tc_symbol_new_hook() simply needs dropping. If FAKE_LABEL_NAME
    symbols can end up global, marking them hidden would need doing elsewhere.
    There not being a need to make any testsuite adjustments suggests though
    that this won't normally (ever?) happen.
    
    A couple of testcases then also need adjustment.

Diff:
---
 .../testsuite/binutils-all/localize-hidden-1.d     |  1 +
 .../testsuite/binutils-all/localize-hidden-1.l     |  4 +++
 binutils/testsuite/binutils-all/nm-ver.s           |  2 ++
 gas/config/obj-elf.c                               | 17 +++++++++++
 gas/config/tc-loongarch.h                          |  4 ---
 gas/testsuite/gas/elf/visibility.l                 |  3 ++
 gas/testsuite/gas/elf/visibility.s                 |  9 ++++++
 gas/testsuite/gas/i386/tlsnopic.s                  |  1 +
 ld/testsuite/ld-aarch64/ifunc-21.s                 |  1 +
 ld/testsuite/ld-tic6x/shlib-1.rd                   | 28 ++++++++---------
 ld/testsuite/ld-tic6x/shlib-1.s                    |  1 +
 ld/testsuite/ld-tic6x/shlib-1b.rd                  | 28 ++++++++---------
 ld/testsuite/ld-tic6x/shlib-1r.dd                  |  2 +-
 ld/testsuite/ld-tic6x/shlib-1r.rd                  | 28 ++++++++---------
 ld/testsuite/ld-tic6x/shlib-1rb.dd                 |  2 +-
 ld/testsuite/ld-tic6x/shlib-1rb.rd                 | 28 ++++++++---------
 ld/testsuite/ld-tic6x/shlib-noindex.rd             | 28 ++++++++---------
 ld/testsuite/ld-tic6x/static-app-1.rd              | 35 +++++++++++-----------
 ld/testsuite/ld-tic6x/static-app-1b.rd             | 35 +++++++++++-----------
 ld/testsuite/ld-tic6x/static-app-1r.dd             |  2 +-
 ld/testsuite/ld-tic6x/static-app-1r.rd             | 33 ++++++++++----------
 ld/testsuite/ld-tic6x/static-app-1rb.dd            |  2 +-
 ld/testsuite/ld-tic6x/static-app-1rb.rd            | 33 ++++++++++----------
 23 files changed, 174 insertions(+), 153 deletions(-)

diff --git a/binutils/testsuite/binutils-all/localize-hidden-1.d b/binutils/testsuite/binutils-all/localize-hidden-1.d
index 60dc556e465..72620083d56 100644
--- a/binutils/testsuite/binutils-all/localize-hidden-1.d
+++ b/binutils/testsuite/binutils-all/localize-hidden-1.d
@@ -2,6 +2,7 @@
 #objdump: --syms
 #objcopy: --localize-hidden
 #name: --localize-hidden test 1
+#warning_output: localize-hidden-1.l
 #...
 0+1200 l .*\*ABS\*	0+ \.hidden Lhidden
 0+1300 l .*\*ABS\*	0+ \.internal Linternal
diff --git a/binutils/testsuite/binutils-all/localize-hidden-1.l b/binutils/testsuite/binutils-all/localize-hidden-1.l
new file mode 100644
index 00000000000..2ae5910037b
--- /dev/null
+++ b/binutils/testsuite/binutils-all/localize-hidden-1.l
@@ -0,0 +1,4 @@
+[^:]*: Assembler messages:
+[^:]*: Warning: local symbol .Lhidden. has non-default visibility
+[^:]*: Warning: local symbol .Linternal. has non-default visibility
+[^:]*: Warning: local symbol .Lprotected. has non-default visibility
diff --git a/binutils/testsuite/binutils-all/nm-ver.s b/binutils/testsuite/binutils-all/nm-ver.s
index e68c45a9dfd..a8803c1651a 100644
--- a/binutils/testsuite/binutils-all/nm-ver.s
+++ b/binutils/testsuite/binutils-all/nm-ver.s
@@ -1,5 +1,7 @@
 	.symver foo_old,foo@VER_1
+	.global "foo@VER_1"
 	.hidden foo_old
+	.global foo_old
 foo_old:
 	.dc.b 0
 
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 06216906420..7b120ff8eeb 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -2730,6 +2730,23 @@ elf_adjust_symtab (void)
 {
   unsigned int i;
 
+  if (!had_errors ())
+    for (symbolS *symp = symbol_rootP; symp; symp = symbol_next (symp))
+      if (!symbol_removed_p (symp)
+	  && S_IS_DEFINED (symp)
+	  && (bfd_keep_unused_section_symbols (stdoutput)
+	      || !symbol_section_p (symp)
+	      || symbol_used_in_reloc_p (symp)))
+	{
+	  const asymbol *bfdsym = symbol_get_bfdsym (symp);
+	  elf_symbol_type *elfsym = elf_symbol_from (bfdsym);
+
+	  if (ELF_ST_VISIBILITY (elfsym->internal_elf_sym.st_other)
+	      && !(bfdsym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)))
+	    as_warn (_("local symbol `%s' has non-default visibility"),
+		     S_GET_NAME (symp));
+	}
+
   /* Make the SHT_GROUP sections that describe each section group.  We
      can't set up the section contents here yet, because elf section
      indices have yet to be calculated.  elf.c:set_group_contents does
diff --git a/gas/config/tc-loongarch.h b/gas/config/tc-loongarch.h
index 2316534932e..5587ac1bb86 100644
--- a/gas/config/tc-loongarch.h
+++ b/gas/config/tc-loongarch.h
@@ -121,10 +121,6 @@ extern void tc_loongarch_parse_to_dw2regnum (expressionS *);
 
 extern int tc_loongarch_regname_to_dw2regnum (char *);
 
-#define tc_symbol_new_hook(sym) \
-  if (0 == strcmp (sym->bsym->name, FAKE_LABEL_NAME)) \
-    S_SET_OTHER (sym, STV_HIDDEN);
-
 extern void loongarch_pre_output_hook (void);
 #define md_pre_output_hook loongarch_pre_output_hook ()
 #define GAS_SORT_RELOCS 1
diff --git a/gas/testsuite/gas/elf/visibility.l b/gas/testsuite/gas/elf/visibility.l
index db2f858e8f4..4abd55d9ff5 100644
--- a/gas/testsuite/gas/elf/visibility.l
+++ b/gas/testsuite/gas/elf/visibility.l
@@ -3,3 +3,6 @@
 [^:]*:5: Warning: visibility of .gd. is already .internal.
 [^:]*:21: Warning: visibility of .ge. is already .hidden.
 [^:]*:26: Warning: visibility of .we. is already .hidden.
+[^:]*: Warning: local symbol .li. has non-default visibility
+[^:]*: Warning: local symbol .lh. has non-default visibility
+[^:]*: Warning: local symbol .lp. has non-default visibility
diff --git a/gas/testsuite/gas/elf/visibility.s b/gas/testsuite/gas/elf/visibility.s
index 01ced4a5888..11bf108f69c 100644
--- a/gas/testsuite/gas/elf/visibility.s
+++ b/gas/testsuite/gas/elf/visibility.s
@@ -26,3 +26,12 @@ gu:	.dc.b 0
 	.protected we
 	.p2align 3
 	.dc.a we
+
+	.internal li
+li:	.dc.b 0
+
+	.hidden lh
+lh:	.dc.b 0
+
+	.protected lp
+lp:	.dc.b 0
diff --git a/gas/testsuite/gas/i386/tlsnopic.s b/gas/testsuite/gas/i386/tlsnopic.s
index 3a8b794195d..596e6288f63 100644
--- a/gas/testsuite/gas/i386/tlsnopic.s
+++ b/gas/testsuite/gas/i386/tlsnopic.s
@@ -2,6 +2,7 @@
 	.globl baz
 	.hidden baz
 	.globl var
+	.globl var2
 	.hidden var2
 bar:	.long 27
 baz:	.long 29
diff --git a/ld/testsuite/ld-aarch64/ifunc-21.s b/ld/testsuite/ld-aarch64/ifunc-21.s
index a1563dcbbdd..5e7c315b5e9 100644
--- a/ld/testsuite/ld-aarch64/ifunc-21.s
+++ b/ld/testsuite/ld-aarch64/ifunc-21.s
@@ -1,5 +1,6 @@
 	.text
 	.type ifunc, @gnu_indirect_function
+	.global ifunc
 	.hidden ifunc
 ifunc:
 	ret
diff --git a/ld/testsuite/ld-tic6x/shlib-1.rd b/ld/testsuite/ld-tic6x/shlib-1.rd
index cf1f34689f1..e8181604f27 100644
--- a/ld/testsuite/ld-tic6x/shlib-1.rd
+++ b/ld/testsuite/ld-tic6x/shlib-1.rd
@@ -16,7 +16,7 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[12\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[14\] \.symtab           SYMTAB          00000000 00214c 0001b0 10     15  21  4
+  \[14\] \.symtab           SYMTAB          00000000 00214c 000190 10     15  19  4
   \[15\] \.strtab           STRTAB .*
   \[16\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -90,7 +90,7 @@ Symbol table '\.dynsym' contains 12 entries:
     10: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
     11: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
 
-Symbol table '\.symtab' contains 27 entries:
+Symbol table '\.symtab' contains 25 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -106,16 +106,14 @@ Symbol table '\.symtab' contains 27 entries:
     11: 10000128     0 SECTION LOCAL  DEFAULT   11.*
     12: 10000130     0 SECTION LOCAL  DEFAULT   12.*
     13: 00000000     0 SECTION LOCAL  DEFAULT   13.*
-    14: 00000000     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    15: 10000080     0 FUNC    LOCAL  HIDDEN     9 sub1
-    16: 00000000     0 FILE    LOCAL  DEFAULT  ABS 
-    17: 00008154     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
-    18: 10000130     4 OBJECT  LOCAL  DEFAULT   12 c
-    19: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
-    20: 10000100     0 NOTYPE  LOCAL  DEFAULT   10 __c6xabi_DSBT_BASE
-    21: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
-    22: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
-    23: 1000012c     4 OBJECT  GLOBAL DEFAULT   11 g2
-    24: 10000088    52 FUNC    GLOBAL DEFAULT    9 sub0
-    25: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
-    26: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
+    14: 10000080     0 FUNC    LOCAL  DEFAULT    9 sub1
+    15: 00008154     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
+    16: 10000130     4 OBJECT  LOCAL  DEFAULT   12 c
+    17: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+    18: 10000100     0 NOTYPE  LOCAL  DEFAULT   10 __c6xabi_DSBT_BASE
+    19: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
+    20: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
+    21: 1000012c     4 OBJECT  GLOBAL DEFAULT   11 g2
+    22: 10000088    52 FUNC    GLOBAL DEFAULT    9 sub0
+    23: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
+    24: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
diff --git a/ld/testsuite/ld-tic6x/shlib-1.s b/ld/testsuite/ld-tic6x/shlib-1.s
index 058bcbc69ff..7d2f4c016ea 100644
--- a/ld/testsuite/ld-tic6x/shlib-1.s
+++ b/ld/testsuite/ld-tic6x/shlib-1.s
@@ -1,6 +1,7 @@
 	.text
 	.nocmp
 	.align	2
+	.global	sub1
 	.hidden	sub1
 	.type	sub1, @function
 sub1:
diff --git a/ld/testsuite/ld-tic6x/shlib-1b.rd b/ld/testsuite/ld-tic6x/shlib-1b.rd
index cf1f34689f1..e8181604f27 100644
--- a/ld/testsuite/ld-tic6x/shlib-1b.rd
+++ b/ld/testsuite/ld-tic6x/shlib-1b.rd
@@ -16,7 +16,7 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[12\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[14\] \.symtab           SYMTAB          00000000 00214c 0001b0 10     15  21  4
+  \[14\] \.symtab           SYMTAB          00000000 00214c 000190 10     15  19  4
   \[15\] \.strtab           STRTAB .*
   \[16\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -90,7 +90,7 @@ Symbol table '\.dynsym' contains 12 entries:
     10: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
     11: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
 
-Symbol table '\.symtab' contains 27 entries:
+Symbol table '\.symtab' contains 25 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -106,16 +106,14 @@ Symbol table '\.symtab' contains 27 entries:
     11: 10000128     0 SECTION LOCAL  DEFAULT   11.*
     12: 10000130     0 SECTION LOCAL  DEFAULT   12.*
     13: 00000000     0 SECTION LOCAL  DEFAULT   13.*
-    14: 00000000     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    15: 10000080     0 FUNC    LOCAL  HIDDEN     9 sub1
-    16: 00000000     0 FILE    LOCAL  DEFAULT  ABS 
-    17: 00008154     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
-    18: 10000130     4 OBJECT  LOCAL  DEFAULT   12 c
-    19: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
-    20: 10000100     0 NOTYPE  LOCAL  DEFAULT   10 __c6xabi_DSBT_BASE
-    21: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
-    22: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
-    23: 1000012c     4 OBJECT  GLOBAL DEFAULT   11 g2
-    24: 10000088    52 FUNC    GLOBAL DEFAULT    9 sub0
-    25: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
-    26: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
+    14: 10000080     0 FUNC    LOCAL  DEFAULT    9 sub1
+    15: 00008154     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
+    16: 10000130     4 OBJECT  LOCAL  DEFAULT   12 c
+    17: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+    18: 10000100     0 NOTYPE  LOCAL  DEFAULT   10 __c6xabi_DSBT_BASE
+    19: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
+    20: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
+    21: 1000012c     4 OBJECT  GLOBAL DEFAULT   11 g2
+    22: 10000088    52 FUNC    GLOBAL DEFAULT    9 sub0
+    23: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
+    24: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
diff --git a/ld/testsuite/ld-tic6x/shlib-1r.dd b/ld/testsuite/ld-tic6x/shlib-1r.dd
index b9934b5d27b..68caa87d14d 100644
--- a/ld/testsuite/ld-tic6x/shlib-1r.dd
+++ b/ld/testsuite/ld-tic6x/shlib-1r.dd
@@ -42,7 +42,7 @@ Disassembly of section \.text:
 10000094:[ \t]*0700026e[ \t]*ldw \.D2T2 \*\+b14\(8\),b14
 10000098:[ \t]*0ffffa12[ \t]*b \.S2 10000050 <sub@plt>
 1000009c:[ \t]*0ffff712[ \t]*b \.S2 10000038 <sub0@plt>
-100000a0:[ \t]*0ffffc12[ \t]*b \.S2 10000080 <sub1>
+100000a0:[ \t]*0ffff812[ \t]*b \.S2 10000060 <sub(1@plt|@plt\+0x10)>
 100000a4:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3
 100000a8:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14
 100000ac:[ \t]*07800852[ \t]*addk \.S2 16,b15
diff --git a/ld/testsuite/ld-tic6x/shlib-1r.rd b/ld/testsuite/ld-tic6x/shlib-1r.rd
index cf1f34689f1..e8181604f27 100644
--- a/ld/testsuite/ld-tic6x/shlib-1r.rd
+++ b/ld/testsuite/ld-tic6x/shlib-1r.rd
@@ -16,7 +16,7 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[12\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[14\] \.symtab           SYMTAB          00000000 00214c 0001b0 10     15  21  4
+  \[14\] \.symtab           SYMTAB          00000000 00214c 000190 10     15  19  4
   \[15\] \.strtab           STRTAB .*
   \[16\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -90,7 +90,7 @@ Symbol table '\.dynsym' contains 12 entries:
     10: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
     11: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
 
-Symbol table '\.symtab' contains 27 entries:
+Symbol table '\.symtab' contains 25 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -106,16 +106,14 @@ Symbol table '\.symtab' contains 27 entries:
     11: 10000128     0 SECTION LOCAL  DEFAULT   11.*
     12: 10000130     0 SECTION LOCAL  DEFAULT   12.*
     13: 00000000     0 SECTION LOCAL  DEFAULT   13.*
-    14: 00000000     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    15: 10000080     0 FUNC    LOCAL  HIDDEN     9 sub1
-    16: 00000000     0 FILE    LOCAL  DEFAULT  ABS 
-    17: 00008154     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
-    18: 10000130     4 OBJECT  LOCAL  DEFAULT   12 c
-    19: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
-    20: 10000100     0 NOTYPE  LOCAL  DEFAULT   10 __c6xabi_DSBT_BASE
-    21: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
-    22: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
-    23: 1000012c     4 OBJECT  GLOBAL DEFAULT   11 g2
-    24: 10000088    52 FUNC    GLOBAL DEFAULT    9 sub0
-    25: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
-    26: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
+    14: 10000080     0 FUNC    LOCAL  DEFAULT    9 sub1
+    15: 00008154     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
+    16: 10000130     4 OBJECT  LOCAL  DEFAULT   12 c
+    17: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+    18: 10000100     0 NOTYPE  LOCAL  DEFAULT   10 __c6xabi_DSBT_BASE
+    19: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
+    20: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
+    21: 1000012c     4 OBJECT  GLOBAL DEFAULT   11 g2
+    22: 10000088    52 FUNC    GLOBAL DEFAULT    9 sub0
+    23: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
+    24: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
diff --git a/ld/testsuite/ld-tic6x/shlib-1rb.dd b/ld/testsuite/ld-tic6x/shlib-1rb.dd
index 6b3a2c2464b..c7d55075695 100644
--- a/ld/testsuite/ld-tic6x/shlib-1rb.dd
+++ b/ld/testsuite/ld-tic6x/shlib-1rb.dd
@@ -42,7 +42,7 @@ Disassembly of section \.text:
 10000094:[ \t]*0700026e[ \t]*ldw \.D2T2 \*\+b14\(8\),b14
 10000098:[ \t]*0ffffa12[ \t]*b \.S2 10000050 <sub@plt>
 1000009c:[ \t]*0ffff712[ \t]*b \.S2 10000038 <sub0@plt>
-100000a0:[ \t]*0ffffc12[ \t]*b \.S2 10000080 <sub1>
+100000a0:[ \t]*0ffff812[ \t]*b \.S2 10000060 <sub(1@plt|@plt\+0x10)>
 100000a4:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3
 100000a8:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14
 100000ac:[ \t]*07800852[ \t]*addk \.S2 16,b15
diff --git a/ld/testsuite/ld-tic6x/shlib-1rb.rd b/ld/testsuite/ld-tic6x/shlib-1rb.rd
index cf1f34689f1..e8181604f27 100644
--- a/ld/testsuite/ld-tic6x/shlib-1rb.rd
+++ b/ld/testsuite/ld-tic6x/shlib-1rb.rd
@@ -16,7 +16,7 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[12\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[14\] \.symtab           SYMTAB          00000000 00214c 0001b0 10     15  21  4
+  \[14\] \.symtab           SYMTAB          00000000 00214c 000190 10     15  19  4
   \[15\] \.strtab           STRTAB .*
   \[16\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -90,7 +90,7 @@ Symbol table '\.dynsym' contains 12 entries:
     10: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
     11: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
 
-Symbol table '\.symtab' contains 27 entries:
+Symbol table '\.symtab' contains 25 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -106,16 +106,14 @@ Symbol table '\.symtab' contains 27 entries:
     11: 10000128     0 SECTION LOCAL  DEFAULT   11.*
     12: 10000130     0 SECTION LOCAL  DEFAULT   12.*
     13: 00000000     0 SECTION LOCAL  DEFAULT   13.*
-    14: 00000000     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    15: 10000080     0 FUNC    LOCAL  HIDDEN     9 sub1
-    16: 00000000     0 FILE    LOCAL  DEFAULT  ABS 
-    17: 00008154     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
-    18: 10000130     4 OBJECT  LOCAL  DEFAULT   12 c
-    19: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
-    20: 10000100     0 NOTYPE  LOCAL  DEFAULT   10 __c6xabi_DSBT_BASE
-    21: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
-    22: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
-    23: 1000012c     4 OBJECT  GLOBAL DEFAULT   11 g2
-    24: 10000088    52 FUNC    GLOBAL DEFAULT    9 sub0
-    25: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
-    26: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
+    14: 10000080     0 FUNC    LOCAL  DEFAULT    9 sub1
+    15: 00008154     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
+    16: 10000130     4 OBJECT  LOCAL  DEFAULT   12 c
+    17: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+    18: 10000100     0 NOTYPE  LOCAL  DEFAULT   10 __c6xabi_DSBT_BASE
+    19: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
+    20: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
+    21: 1000012c     4 OBJECT  GLOBAL DEFAULT   11 g2
+    22: 10000088    52 FUNC    GLOBAL DEFAULT    9 sub0
+    23: 10000128     4 OBJECT  GLOBAL DEFAULT   11 a
+    24: 100000c0    52 FUNC    GLOBAL DEFAULT    9 sub
diff --git a/ld/testsuite/ld-tic6x/shlib-noindex.rd b/ld/testsuite/ld-tic6x/shlib-noindex.rd
index 52e433424f1..76a26bd7847 100644
--- a/ld/testsuite/ld-tic6x/shlib-noindex.rd
+++ b/ld/testsuite/ld-tic6x/shlib-noindex.rd
@@ -17,7 +17,7 @@ Section Headers:
   \[12\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[13\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[15\] \.symtab           SYMTAB          00000000 00214c 0001c0 10     16  22  4
+  \[15\] \.symtab           SYMTAB          00000000 00214c 0001a0 10     16  20  4
   \[16\] \.strtab           STRTAB .*
   \[17\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -96,7 +96,7 @@ Symbol table '\.dynsym' contains 12 entries:
     10: 10000128     4 OBJECT  GLOBAL DEFAULT   12 a
     11: 100000c0    52 FUNC    GLOBAL DEFAULT   10 sub
 
-Symbol table '\.symtab' contains 28 entries:
+Symbol table '\.symtab' contains 26 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -113,16 +113,14 @@ Symbol table '\.symtab' contains 28 entries:
     12: 10000128     0 SECTION LOCAL  DEFAULT   12.*
     13: 10000130     0 SECTION LOCAL  DEFAULT   13.*
     14: 00000000     0 SECTION LOCAL  DEFAULT   14.*
-    15: 00000000     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    16: 10000080     0 FUNC    LOCAL  HIDDEN    10 sub1
-    17: 00000000     0 FILE    LOCAL  DEFAULT  ABS 
-    18: 00008160     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
-    19: 10000130     4 OBJECT  LOCAL  DEFAULT   13 c
-    20: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
-    21: 10000100     0 NOTYPE  LOCAL  DEFAULT   11 __c6xabi_DSBT_BASE
-    22: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
-    23: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
-    24: 1000012c     4 OBJECT  GLOBAL DEFAULT   12 g2
-    25: 10000088    52 FUNC    GLOBAL DEFAULT   10 sub0
-    26: 10000128     4 OBJECT  GLOBAL DEFAULT   12 a
-    27: 100000c0    52 FUNC    GLOBAL DEFAULT   10 sub
+    15: 10000080     0 FUNC    LOCAL  DEFAULT   10 sub1
+    16: 00008160     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
+    17: 10000130     4 OBJECT  LOCAL  DEFAULT   13 c
+    18: 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+    19: 10000100     0 NOTYPE  LOCAL  DEFAULT   11 __c6xabi_DSBT_BASE
+    20: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
+    21: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
+    22: 1000012c     4 OBJECT  GLOBAL DEFAULT   12 g2
+    23: 10000088    52 FUNC    GLOBAL DEFAULT   10 sub0
+    24: 10000128     4 OBJECT  GLOBAL DEFAULT   12 a
+    25: 100000c0    52 FUNC    GLOBAL DEFAULT   10 sub
diff --git a/ld/testsuite/ld-tic6x/static-app-1.rd b/ld/testsuite/ld-tic6x/static-app-1.rd
index cbb887c8114..fbf453a09b1 100644
--- a/ld/testsuite/ld-tic6x/static-app-1.rd
+++ b/ld/testsuite/ld-tic6x/static-app-1.rd
@@ -14,7 +14,7 @@ Section Headers:
   \[ 9\] \.neardata         PROGBITS        [0-9a-f]* [0-9a-f]* 000014 00  WA  0   0  4
   \[10\] \.bss              NOBITS          [0-9a-f]* [0-9a-f]* 000004 00  WA  0   0  4
   \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 [0-9a-f]* 000019 00      0   0  1
-  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001c0 10     13  22  4
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001b0 10     13  20  4
   \[13\] \.strtab           STRTAB .*
   \[14\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -78,7 +78,7 @@ Symbol table '\.dynsym' contains 8 entries:
      6: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
      7: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
 
-Symbol table '\.symtab' contains 28 entries:
+Symbol table '\.symtab' contains 27 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: [0-9a-f]*     0 SECTION LOCAL  DEFAULT    1.*
@@ -92,19 +92,18 @@ Symbol table '\.symtab' contains 28 entries:
      9: [0-9a-f]*     0 SECTION LOCAL  DEFAULT    9.*
     10: [0-9a-f]*     0 SECTION LOCAL  DEFAULT   10.*
     11: [0-9a-f]*     0 SECTION LOCAL  DEFAULT   11.*
-    12: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    13: [0-9a-f]*     0 FUNC    LOCAL  HIDDEN     7 sub1
-    14: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-app-1\.o
-    15: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    7 fish
-    16: [0-9a-f]*     8 OBJECT  LOCAL  DEFAULT    9 w
-    17: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS 
-    18: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
-    19: [0-9a-f]*     4 OBJECT  LOCAL  DEFAULT   10 c
-    20: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
-    21: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
-    22: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 b
-    23: [0-9a-f]*     0 NOTYPE  WEAK   DEFAULT  UND g1
-    24: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 g2
-    25: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub0
-    26: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
-    27: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub
+    12: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-app-1\.o
+    13: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    7 fish
+    14: [0-9a-f]*     8 OBJECT  LOCAL  DEFAULT    9 w
+    15: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS ?
+    16: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
+    17: [0-9a-f]*     4 OBJECT  LOCAL  DEFAULT   10 c
+    18: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
+    19: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
+    20: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 b
+    21: [0-9a-f]*     0 FUNC    GLOBAL HIDDEN     7 sub1
+    22: [0-9a-f]*     0 NOTYPE  WEAK   DEFAULT  UND g1
+    23: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 g2
+    24: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub0
+    25: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
+    26: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub
diff --git a/ld/testsuite/ld-tic6x/static-app-1b.rd b/ld/testsuite/ld-tic6x/static-app-1b.rd
index cbb887c8114..fbf453a09b1 100644
--- a/ld/testsuite/ld-tic6x/static-app-1b.rd
+++ b/ld/testsuite/ld-tic6x/static-app-1b.rd
@@ -14,7 +14,7 @@ Section Headers:
   \[ 9\] \.neardata         PROGBITS        [0-9a-f]* [0-9a-f]* 000014 00  WA  0   0  4
   \[10\] \.bss              NOBITS          [0-9a-f]* [0-9a-f]* 000004 00  WA  0   0  4
   \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 [0-9a-f]* 000019 00      0   0  1
-  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001c0 10     13  22  4
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001b0 10     13  20  4
   \[13\] \.strtab           STRTAB .*
   \[14\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -78,7 +78,7 @@ Symbol table '\.dynsym' contains 8 entries:
      6: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
      7: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
 
-Symbol table '\.symtab' contains 28 entries:
+Symbol table '\.symtab' contains 27 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: [0-9a-f]*     0 SECTION LOCAL  DEFAULT    1.*
@@ -92,19 +92,18 @@ Symbol table '\.symtab' contains 28 entries:
      9: [0-9a-f]*     0 SECTION LOCAL  DEFAULT    9.*
     10: [0-9a-f]*     0 SECTION LOCAL  DEFAULT   10.*
     11: [0-9a-f]*     0 SECTION LOCAL  DEFAULT   11.*
-    12: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    13: [0-9a-f]*     0 FUNC    LOCAL  HIDDEN     7 sub1
-    14: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-app-1\.o
-    15: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    7 fish
-    16: [0-9a-f]*     8 OBJECT  LOCAL  DEFAULT    9 w
-    17: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS 
-    18: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
-    19: [0-9a-f]*     4 OBJECT  LOCAL  DEFAULT   10 c
-    20: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
-    21: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
-    22: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 b
-    23: [0-9a-f]*     0 NOTYPE  WEAK   DEFAULT  UND g1
-    24: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 g2
-    25: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub0
-    26: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
-    27: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub
+    12: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-app-1\.o
+    13: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    7 fish
+    14: [0-9a-f]*     8 OBJECT  LOCAL  DEFAULT    9 w
+    15: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS ?
+    16: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
+    17: [0-9a-f]*     4 OBJECT  LOCAL  DEFAULT   10 c
+    18: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
+    19: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
+    20: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 b
+    21: [0-9a-f]*     0 FUNC    GLOBAL HIDDEN     7 sub1
+    22: [0-9a-f]*     0 NOTYPE  WEAK   DEFAULT  UND g1
+    23: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 g2
+    24: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub0
+    25: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
+    26: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub
diff --git a/ld/testsuite/ld-tic6x/static-app-1r.dd b/ld/testsuite/ld-tic6x/static-app-1r.dd
index 82b3ecd13c3..f494d91faab 100644
--- a/ld/testsuite/ld-tic6x/static-app-1r.dd
+++ b/ld/testsuite/ld-tic6x/static-app-1r.dd
@@ -15,7 +15,7 @@ Disassembly of section \.text:
 10000014:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14
 10000018:[ \t]*00000812[ \t]*b \.S2 10000040 <sub>
 1000001c:[ \t]*00000112[ \t]*b \.S2 10000008 <sub0>
-10000020:[ \t]*0ffffc12[ \t]*b \.S2 10000000 <sub1>
+10000020:[ \t]*0ffff812[ \t]*b \.S2 [0-9a-f]+ <_DYNAMIC\+0x[0-9a-f]+>
 10000024:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3
 10000028:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14
 1000002c:[ \t]*07800852[ \t]*addk \.S2 16,b15
diff --git a/ld/testsuite/ld-tic6x/static-app-1r.rd b/ld/testsuite/ld-tic6x/static-app-1r.rd
index 9b6d21169d1..9c71915871a 100644
--- a/ld/testsuite/ld-tic6x/static-app-1r.rd
+++ b/ld/testsuite/ld-tic6x/static-app-1r.rd
@@ -14,7 +14,7 @@ Section Headers:
   \[ 9\] \.neardata         PROGBITS        [0-9a-f]* [0-9a-f]* 00000c 00  WA  0   0  4
   \[10\] \.bss              NOBITS          [0-9a-f]* [0-9a-f]* 000004 00  WA  0   0  4
   \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 [0-9a-f]* 000019 00      0   0  1
-  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001b0 10     13  21  4
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001a0 10     13  19  4
   \[13\] \.strtab           STRTAB .*
   \[14\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -76,7 +76,7 @@ Symbol table '\.dynsym' contains 8 entries:
      6: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
      7: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
 
-Symbol table '\.symtab' contains 27 entries:
+Symbol table '\.symtab' contains 26 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: [0-9a-f]*     0 SECTION LOCAL  DEFAULT    1.*
@@ -90,18 +90,17 @@ Symbol table '\.symtab' contains 27 entries:
      9: [0-9a-f]*     0 SECTION LOCAL  DEFAULT    9.*
     10: [0-9a-f]*     0 SECTION LOCAL  DEFAULT   10.*
     11: [0-9a-f]*     0 SECTION LOCAL  DEFAULT   11.*
-    12: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    13: [0-9a-f]*     0 FUNC    LOCAL  HIDDEN     7 sub1
-    14: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-app-1r\.o
-    15: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    7 fish
-    16: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS 
-    17: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
-    18: [0-9a-f]*     4 OBJECT  LOCAL  DEFAULT   10 c
-    19: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
-    20: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
-    21: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 b
-    22: [0-9a-f]*     0 NOTYPE  WEAK   DEFAULT  UND g1
-    23: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 g2
-    24: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub0
-    25: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
-    26: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub
+    12: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-app-1r\.o
+    13: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    7 fish
+    14: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS ?
+    15: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
+    16: [0-9a-f]*     4 OBJECT  LOCAL  DEFAULT   10 c
+    17: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
+    18: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
+    19: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 b
+    20: [0-9a-f]*     0 FUNC    GLOBAL HIDDEN     7 sub1
+    21: [0-9a-f]*     0 NOTYPE  WEAK   DEFAULT  UND g1
+    22: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 g2
+    23: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub0
+    24: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
+    25: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub
diff --git a/ld/testsuite/ld-tic6x/static-app-1rb.dd b/ld/testsuite/ld-tic6x/static-app-1rb.dd
index 9e211ca489b..901a62d1ad8 100644
--- a/ld/testsuite/ld-tic6x/static-app-1rb.dd
+++ b/ld/testsuite/ld-tic6x/static-app-1rb.dd
@@ -15,7 +15,7 @@ Disassembly of section \.text:
 10000014:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14
 10000018:[ \t]*00000812[ \t]*b \.S2 10000040 <sub>
 1000001c:[ \t]*00000112[ \t]*b \.S2 10000008 <sub0>
-10000020:[ \t]*0ffffc12[ \t]*b \.S2 10000000 <sub1>
+10000020:[ \t]*0ffff812[ \t]*b \.S2 [0-9a-f]+ <_DYNAMIC\+0x[0-9a-f]+>
 10000024:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3
 10000028:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14
 1000002c:[ \t]*07800852[ \t]*addk \.S2 16,b15
diff --git a/ld/testsuite/ld-tic6x/static-app-1rb.rd b/ld/testsuite/ld-tic6x/static-app-1rb.rd
index 9b6d21169d1..9c71915871a 100644
--- a/ld/testsuite/ld-tic6x/static-app-1rb.rd
+++ b/ld/testsuite/ld-tic6x/static-app-1rb.rd
@@ -14,7 +14,7 @@ Section Headers:
   \[ 9\] \.neardata         PROGBITS        [0-9a-f]* [0-9a-f]* 00000c 00  WA  0   0  4
   \[10\] \.bss              NOBITS          [0-9a-f]* [0-9a-f]* 000004 00  WA  0   0  4
   \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 [0-9a-f]* 000019 00      0   0  1
-  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001b0 10     13  21  4
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001a0 10     13  19  4
   \[13\] \.strtab           STRTAB .*
   \[14\] \.shstrtab         STRTAB .*
 Key to Flags:
@@ -76,7 +76,7 @@ Symbol table '\.dynsym' contains 8 entries:
      6: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
      7: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
 
-Symbol table '\.symtab' contains 27 entries:
+Symbol table '\.symtab' contains 26 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: [0-9a-f]*     0 SECTION LOCAL  DEFAULT    1.*
@@ -90,18 +90,17 @@ Symbol table '\.symtab' contains 27 entries:
      9: [0-9a-f]*     0 SECTION LOCAL  DEFAULT    9.*
     10: [0-9a-f]*     0 SECTION LOCAL  DEFAULT   10.*
     11: [0-9a-f]*     0 SECTION LOCAL  DEFAULT   11.*
-    12: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-1\.o
-    13: [0-9a-f]*     0 FUNC    LOCAL  HIDDEN     7 sub1
-    14: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-app-1r\.o
-    15: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    7 fish
-    16: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS 
-    17: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
-    18: [0-9a-f]*     4 OBJECT  LOCAL  DEFAULT   10 c
-    19: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
-    20: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
-    21: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 b
-    22: [0-9a-f]*     0 NOTYPE  WEAK   DEFAULT  UND g1
-    23: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 g2
-    24: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub0
-    25: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
-    26: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub
+    12: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS .*shlib-app-1r\.o
+    13: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    7 fish
+    14: [0-9a-f]*     0 FILE    LOCAL  DEFAULT  ABS ?
+    15: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
+    16: [0-9a-f]*     4 OBJECT  LOCAL  DEFAULT   10 c
+    17: [0-9a-f]*     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
+    18: [0-9a-f]*     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
+    19: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 b
+    20: [0-9a-f]*     0 FUNC    GLOBAL HIDDEN     7 sub1
+    21: [0-9a-f]*     0 NOTYPE  WEAK   DEFAULT  UND g1
+    22: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 g2
+    23: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub0
+    24: [0-9a-f]*     4 OBJECT  GLOBAL DEFAULT    9 a
+    25: [0-9a-f]*    52 FUNC    GLOBAL DEFAULT    7 sub
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.