From 4178c82b7401bca7c62f4790d5b8c555b38db1c0 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 24 Jun 2026 08:09:56 +0800
Subject: [PATCH v2] gas/ELF: Allow local symbol with non-protected visibility

In the source code extracted from glibc:

extern void _dl_sysinfo_int80 (void)
  __attribute__ ((visibility ("hidden")));

asm (".text\n\t"
     ".type _dl_sysinfo_int80,@function\n"
     "_dl_sysinfo_int80:\n\t"
     "int $0x80;\n\t"
     "ret");

uintptr_t
foo ()
{
  return (uintptr_t) _dl_sysinfo_int80;
}

_dl_sysinfo_int80 is a local function, but it is defined in an asm
statement.  Since it is referenced in C, it is declared as hidden,
which leads to an assembler warning:

Warning: local symbol `_dl_sysinfo_int80' has non-default visibility

Symbol binding and visiblity are orthogonal.  One is for link-editing,
the other for runtime linking.  In principle, all combinations are "okay"
(if questionable), and have obvious implementations.  But it's only that
specific combination STB_LOCAL+STV_PROTECTED that is explicitely made
ill-formed in the spec (despite it being also obviously implementable).
Warning on that combination can be done on the grounds of following the
spec.  But no other combination is so spelled out, so there's no basis
for trying to disallow them.

Partially revert:

commit c4150acbda1b3ce0602f79cbb7700b39e577be7e
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri May 8 11:45:04 2026 +0200

    gas/ELF: warn upon non-default visibility of local symbols

and update elf_adjust_symtab to only warn local symbol with protected
visibility.

binutils/

	PR gas/34312
	* testsuite/binutils-all/localize-hidden-1.l: Adjusted.
	* testsuite/binutils-all/nm-ver.s: Revert commit c4150acbda1.

gas/

	PR gas/34312
	* config/obj-elf.c (elf_adjust_symtab): Allow local symbol with
	non-protected visibility.
	* testsuite/gas/elf/visibility.l: Adjusted.
	* testsuite/gas/i386/tlsnopic.s: Revert commit c4150acbda1.

ld/

	PR gas/34312
	* testsuite/ld-aarch64/ifunc-21.s: Revert commit c4150acbda1.
	* testsuite/ld-aarch64/ifunc-21.s: Likewise.
	* testsuite/ld-tic6x/shlib-1.rd: Likewise.
	* testsuite/ld-tic6x/shlib-1.s: Likewise.
	* testsuite/ld-tic6x/shlib-1b.rd: Likewise.
	* testsuite/ld-tic6x/shlib-1r.dd: Likewise.
	* testsuite/ld-tic6x/shlib-1r.rd: Likewise.
	* testsuite/ld-tic6x/shlib-1rb.dd: Likewise.
	* testsuite/ld-tic6x/shlib-1rb.rd: Likewise.
	* testsuite/ld-tic6x/shlib-noindex.rd: Likewise.
	* testsuite/ld-tic6x/static-app-1.rd: Likewise.
	* testsuite/ld-tic6x/static-app-1b.rd: Likewise.
	* testsuite/ld-tic6x/static-app-1r.dd: Likewise.
	* testsuite/ld-tic6x/static-app-1r.rd: Likewise.
	* testsuite/ld-tic6x/static-app-1rb.dd: Likewise.
	* testsuite/ld-tic6x/static-app-1rb.rd: Likewise.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
 .../binutils-all/localize-hidden-1.l          |  4 +--
 binutils/testsuite/binutils-all/nm-ver.s      |  2 --
 gas/config/obj-elf.c                          |  7 ++--
 gas/testsuite/gas/elf/visibility.l            |  4 +--
 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 ++++++++---------
 20 files changed, 156 insertions(+), 148 deletions(-)

diff --git a/binutils/testsuite/binutils-all/localize-hidden-1.l b/binutils/testsuite/binutils-all/localize-hidden-1.l
index 2ae5910037b..b14b766009e 100644
--- a/binutils/testsuite/binutils-all/localize-hidden-1.l
+++ b/binutils/testsuite/binutils-all/localize-hidden-1.l
@@ -1,4 +1,2 @@
 [^:]*: 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
+[^:]*: Warning: local symbol .Lprotected. has protected visibility
diff --git a/binutils/testsuite/binutils-all/nm-ver.s b/binutils/testsuite/binutils-all/nm-ver.s
index a8803c1651a..e68c45a9dfd 100644
--- a/binutils/testsuite/binutils-all/nm-ver.s
+++ b/binutils/testsuite/binutils-all/nm-ver.s
@@ -1,7 +1,5 @@
 	.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 6850cab1902..2e15b25150b 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -2756,9 +2756,12 @@ elf_adjust_symtab (void)
 	  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)
+	  /* Allow local symbol with non-protected visibility:
+	     https://sourceware.org/bugzilla/show_bug.cgi?id=34312 */
+	  if ((ELF_ST_VISIBILITY (elfsym->internal_elf_sym.st_other)
+	       == STV_PROTECTED)
 	      && !(bfdsym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)))
-	    as_warn (_("local symbol `%s' has non-default visibility"),
+	    as_warn (_("local symbol `%s' has protected visibility"),
 		     S_GET_NAME (symp));
 	}
 
diff --git a/gas/testsuite/gas/elf/visibility.l b/gas/testsuite/gas/elf/visibility.l
index 4abd55d9ff5..8933defb910 100644
--- a/gas/testsuite/gas/elf/visibility.l
+++ b/gas/testsuite/gas/elf/visibility.l
@@ -3,6 +3,4 @@
 [^:]*: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
+[^:]*: Warning: local symbol .lp. has protected visibility
diff --git a/gas/testsuite/gas/i386/tlsnopic.s b/gas/testsuite/gas/i386/tlsnopic.s
index 596e6288f63..3a8b794195d 100644
--- a/gas/testsuite/gas/i386/tlsnopic.s
+++ b/gas/testsuite/gas/i386/tlsnopic.s
@@ -2,7 +2,6 @@
 	.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 5e7c315b5e9..a1563dcbbdd 100644
--- a/ld/testsuite/ld-aarch64/ifunc-21.s
+++ b/ld/testsuite/ld-aarch64/ifunc-21.s
@@ -1,6 +1,5 @@
 	.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 e8181604f27..cf1f34689f1 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 000190 10     15  19  4
+  \[14\] \.symtab           SYMTAB          00000000 00214c 0001b0 10     15  21  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 25 entries:
+Symbol table '\.symtab' contains 27 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -106,14 +106,16 @@ Symbol table '\.symtab' contains 25 entries:
     11: 10000128     0 SECTION LOCAL  DEFAULT   11.*
     12: 10000130     0 SECTION LOCAL  DEFAULT   12.*
     13: 00000000     0 SECTION LOCAL  DEFAULT   13.*
-    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
+    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
diff --git a/ld/testsuite/ld-tic6x/shlib-1.s b/ld/testsuite/ld-tic6x/shlib-1.s
index 7d2f4c016ea..058bcbc69ff 100644
--- a/ld/testsuite/ld-tic6x/shlib-1.s
+++ b/ld/testsuite/ld-tic6x/shlib-1.s
@@ -1,7 +1,6 @@
 	.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 e8181604f27..cf1f34689f1 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 000190 10     15  19  4
+  \[14\] \.symtab           SYMTAB          00000000 00214c 0001b0 10     15  21  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 25 entries:
+Symbol table '\.symtab' contains 27 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -106,14 +106,16 @@ Symbol table '\.symtab' contains 25 entries:
     11: 10000128     0 SECTION LOCAL  DEFAULT   11.*
     12: 10000130     0 SECTION LOCAL  DEFAULT   12.*
     13: 00000000     0 SECTION LOCAL  DEFAULT   13.*
-    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
+    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
diff --git a/ld/testsuite/ld-tic6x/shlib-1r.dd b/ld/testsuite/ld-tic6x/shlib-1r.dd
index 68caa87d14d..b9934b5d27b 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]*0ffff812[ \t]*b \.S2 10000060 <sub(1@plt|@plt\+0x10)>
+100000a0:[ \t]*0ffffc12[ \t]*b \.S2 10000080 <sub1>
 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 e8181604f27..cf1f34689f1 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 000190 10     15  19  4
+  \[14\] \.symtab           SYMTAB          00000000 00214c 0001b0 10     15  21  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 25 entries:
+Symbol table '\.symtab' contains 27 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -106,14 +106,16 @@ Symbol table '\.symtab' contains 25 entries:
     11: 10000128     0 SECTION LOCAL  DEFAULT   11.*
     12: 10000130     0 SECTION LOCAL  DEFAULT   12.*
     13: 00000000     0 SECTION LOCAL  DEFAULT   13.*
-    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
+    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
diff --git a/ld/testsuite/ld-tic6x/shlib-1rb.dd b/ld/testsuite/ld-tic6x/shlib-1rb.dd
index c7d55075695..6b3a2c2464b 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]*0ffff812[ \t]*b \.S2 10000060 <sub(1@plt|@plt\+0x10)>
+100000a0:[ \t]*0ffffc12[ \t]*b \.S2 10000080 <sub1>
 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 e8181604f27..cf1f34689f1 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 000190 10     15  19  4
+  \[14\] \.symtab           SYMTAB          00000000 00214c 0001b0 10     15  21  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 25 entries:
+Symbol table '\.symtab' contains 27 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -106,14 +106,16 @@ Symbol table '\.symtab' contains 25 entries:
     11: 10000128     0 SECTION LOCAL  DEFAULT   11.*
     12: 10000130     0 SECTION LOCAL  DEFAULT   12.*
     13: 00000000     0 SECTION LOCAL  DEFAULT   13.*
-    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
+    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
diff --git a/ld/testsuite/ld-tic6x/shlib-noindex.rd b/ld/testsuite/ld-tic6x/shlib-noindex.rd
index 76a26bd7847..52e433424f1 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 0001a0 10     16  20  4
+  \[15\] \.symtab           SYMTAB          00000000 00214c 0001c0 10     16  22  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 26 entries:
+Symbol table '\.symtab' contains 28 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 00008000     0 SECTION LOCAL  DEFAULT    1.*
@@ -113,14 +113,16 @@ Symbol table '\.symtab' contains 26 entries:
     12: 10000128     0 SECTION LOCAL  DEFAULT   12.*
     13: 10000130     0 SECTION LOCAL  DEFAULT   13.*
     14: 00000000     0 SECTION LOCAL  DEFAULT   14.*
-    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
+    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
diff --git a/ld/testsuite/ld-tic6x/static-app-1.rd b/ld/testsuite/ld-tic6x/static-app-1.rd
index fbf453a09b1..cbb887c8114 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]* 0001b0 10     13  20  4
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001c0 10     13  22  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 27 entries:
+Symbol table '\.symtab' contains 28 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,18 +92,19 @@ 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-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
+    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
diff --git a/ld/testsuite/ld-tic6x/static-app-1b.rd b/ld/testsuite/ld-tic6x/static-app-1b.rd
index fbf453a09b1..cbb887c8114 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]* 0001b0 10     13  20  4
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001c0 10     13  22  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 27 entries:
+Symbol table '\.symtab' contains 28 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,18 +92,19 @@ 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-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
+    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
diff --git a/ld/testsuite/ld-tic6x/static-app-1r.dd b/ld/testsuite/ld-tic6x/static-app-1r.dd
index f494d91faab..82b3ecd13c3 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]*0ffff812[ \t]*b \.S2 [0-9a-f]+ <_DYNAMIC\+0x[0-9a-f]+>
+10000020:[ \t]*0ffffc12[ \t]*b \.S2 10000000 <sub1>
 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 9c71915871a..9b6d21169d1 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]* 0001a0 10     13  19  4
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001b0 10     13  21  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 26 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.*
@@ -90,17 +90,18 @@ Symbol table '\.symtab' contains 26 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-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
+    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
diff --git a/ld/testsuite/ld-tic6x/static-app-1rb.dd b/ld/testsuite/ld-tic6x/static-app-1rb.dd
index 901a62d1ad8..9e211ca489b 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]*0ffff812[ \t]*b \.S2 [0-9a-f]+ <_DYNAMIC\+0x[0-9a-f]+>
+10000020:[ \t]*0ffffc12[ \t]*b \.S2 10000000 <sub1>
 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 9c71915871a..9b6d21169d1 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]* 0001a0 10     13  19  4
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]* 0001b0 10     13  21  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 26 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.*
@@ -90,17 +90,18 @@ Symbol table '\.symtab' contains 26 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-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
+    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
-- 
2.54.0

