[PATCH 0/2] Define _edata, __bss_start, and _end only for executables

classic Classic list List threaded Threaded
24 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[PATCH 0/2] Define _edata, __bss_start, and _end only for executables

H.J. Lu-30
_edata, __bss_start, and _end are defined for executables.  FreeBSD's
libc.so uses executable's _end to initialize curbrk.  But there is no
good reason to access values of _edata, __bss_start, and _end defined
in shared libraries.  We should define _edata, __bss_start, and _end
only for executables.

Since _edata, __bss_start, and _end are no longer defined in shared
libraries, it will impact addresses in linker output.  Many linker
tests need adjustments.  I updated x86 linker tests.  I will update
other linker tests if this change is approved.

H.J. Lu (2):
  ld: Define _edata, __bss_start, and _end only for executables
  ld: Update tests for _edata, __bss_start, and _end changes

 ld/scripttempl/elf.sc                         |  6 +-
 ld/testsuite/ld-elf/pr23161.map               |  4 ++
 ld/testsuite/ld-elf/pr23161.rd                | 14 ++++
 ld/testsuite/ld-elf/pr23161a.c                |  9 +++
 ld/testsuite/ld-elf/pr23161b.c                | 23 ++++++
 ld/testsuite/ld-elf/pr23162.rd                |  9 +--
 ld/testsuite/ld-elf/shared.exp                | 40 +++++++++++
 ld/testsuite/ld-i386/ibt-plt-1.d              | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-2a.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-2b.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-2c.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-2d.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-3a.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-3b.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-3c.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-3d.d             | 20 +++---
 ld/testsuite/ld-i386/plt2.dd                  | 26 +++----
 ld/testsuite/ld-i386/pr20830.d                | 18 ++---
 ld/testsuite/ld-i386/tlsbin-nacl.rd           |  3 -
 ld/testsuite/ld-i386/tlsbin.rd                |  3 -
 ld/testsuite/ld-i386/tlsbin2-nacl.rd          |  3 -
 ld/testsuite/ld-i386/tlsbin2.rd               |  3 -
 ld/testsuite/ld-i386/tlsbindesc-nacl.rd       |  9 +--
 ld/testsuite/ld-i386/tlsbindesc.rd            |  9 +--
 ld/testsuite/ld-i386/tlsdesc-nacl.rd          |  6 --
 ld/testsuite/ld-i386/tlsdesc.rd               |  6 --
 ld/testsuite/ld-i386/tlsgdesc-nacl.rd         |  6 --
 ld/testsuite/ld-i386/tlsgdesc.rd              |  6 --
 ld/testsuite/ld-i386/tlsnopic-nacl.rd         | 14 ++--
 ld/testsuite/ld-i386/tlsnopic.dd              | 12 ++--
 ld/testsuite/ld-i386/tlsnopic.rd              |  6 --
 ld/testsuite/ld-i386/tlsnopic.sd              |  4 +-
 ld/testsuite/ld-i386/tlspic-nacl.rd           |  6 --
 ld/testsuite/ld-i386/tlspic.rd                |  6 --
 ld/testsuite/ld-i386/tlspic2-nacl.rd          |  6 --
 ld/testsuite/ld-i386/tlspic2.rd               |  6 --
 ld/testsuite/ld-ifunc/ifunc-2-i386-now.d      | 14 ++--
 .../ld-ifunc/ifunc-2-local-i386-now.d         | 14 ++--
 .../ld-ifunc/ifunc-2-local-x86-64-now.d       | 20 +++---
 ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d  |  4 +-
 ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d    | 20 +++---
 ld/testsuite/ld-ifunc/ifunc-2-x86-64.d        |  4 +-
 ld/testsuite/ld-ifunc/pr17154-i386-now.d      | 34 ++++-----
 ld/testsuite/ld-ifunc/pr17154-i386.d          | 34 ++++-----
 ld/testsuite/ld-ifunc/pr17154-x86-64-now.d    | 46 ++++++------
 ld/testsuite/ld-ifunc/pr17154-x86-64.d        | 64 ++++++++---------
 ld/testsuite/ld-x86-64/bnd-branch-1-now.d     | 44 ++++++------
 ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d      | 18 ++---
 ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d      | 46 ++++++------
 ld/testsuite/ld-x86-64/bnd-ifunc-2.d          | 46 ++++++------
 ld/testsuite/ld-x86-64/bnd-plt-1-now.d        | 44 ++++++------
 ld/testsuite/ld-x86-64/bnd-plt-1.d            | 44 ++++++------
 ld/testsuite/ld-x86-64/ibt-plt-1-x32.d        | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-1.d            | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d       | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2a.d           | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d       | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-2b.d           | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d       | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2c.d           | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d       | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-2d.d           | 15 ++--
 ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d       | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-3a.d           | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d       | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-3b.d           | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d       | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-3c.d           | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d       | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-3d.d           | 14 ++--
 ld/testsuite/ld-x86-64/ilp32-4-nacl.d         | 16 ++---
 ld/testsuite/ld-x86-64/ilp32-4.d              |  8 +--
 ld/testsuite/ld-x86-64/load1c-nacl.d          | 72 +++++++++----------
 ld/testsuite/ld-x86-64/load1c.d               | 72 +++++++++----------
 ld/testsuite/ld-x86-64/load1d-nacl.d          | 72 +++++++++----------
 ld/testsuite/ld-x86-64/load1d.d               | 72 +++++++++----------
 ld/testsuite/ld-x86-64/mpx3n.dd               | 18 ++---
 ld/testsuite/ld-x86-64/mpx4.dd                | 26 +++----
 ld/testsuite/ld-x86-64/mpx4n.dd               | 16 ++---
 ld/testsuite/ld-x86-64/plt2.dd                | 26 +++----
 ld/testsuite/ld-x86-64/pr14207.d              |  4 +-
 ld/testsuite/ld-x86-64/pr19162.d              |  2 +-
 ld/testsuite/ld-x86-64/pr20253-1f.d           | 18 ++---
 ld/testsuite/ld-x86-64/pr20253-1l.d           | 18 ++---
 ld/testsuite/ld-x86-64/pr20830a-now.d         | 26 +++----
 ld/testsuite/ld-x86-64/pr20830a.d             | 26 +++----
 ld/testsuite/ld-x86-64/pr20830b-now.d         | 26 +++----
 ld/testsuite/ld-x86-64/pr20830b.d             | 26 +++----
 ld/testsuite/ld-x86-64/pr21038a-now.d         | 26 +++----
 ld/testsuite/ld-x86-64/pr21038a.d             | 26 +++----
 ld/testsuite/ld-x86-64/pr21038b-now.d         | 26 +++----
 ld/testsuite/ld-x86-64/pr21038b.d             | 26 +++----
 ld/testsuite/ld-x86-64/pr21038c-now.d         | 36 +++++-----
 ld/testsuite/ld-x86-64/pr21038c.d             | 36 +++++-----
 ld/testsuite/ld-x86-64/tlsbin-nacl.rd         | 21 +++---
 ld/testsuite/ld-x86-64/tlsbin.rd              |  3 -
 ld/testsuite/ld-x86-64/tlsbin2-nacl.rd        | 21 +++---
 ld/testsuite/ld-x86-64/tlsbin2.rd             |  3 -
 ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd     | 33 ++++-----
 ld/testsuite/ld-x86-64/tlsbindesc.rd          |  7 +-
 ld/testsuite/ld-x86-64/tlsdesc-nacl.rd        | 54 +++++++-------
 ld/testsuite/ld-x86-64/tlsdesc.rd             | 10 +--
 ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd       | 14 ++--
 ld/testsuite/ld-x86-64/tlsgdesc.rd            | 14 ++--
 ld/testsuite/ld-x86-64/tlspic-nacl.rd         | 24 +++----
 ld/testsuite/ld-x86-64/tlspic.rd              |  6 --
 ld/testsuite/ld-x86-64/tlspic2-nacl.rd        | 24 +++----
 ld/testsuite/ld-x86-64/tlspic2.rd             |  6 --
 108 files changed, 1096 insertions(+), 1156 deletions(-)
 create mode 100644 ld/testsuite/ld-elf/pr23161.map
 create mode 100644 ld/testsuite/ld-elf/pr23161.rd
 create mode 100644 ld/testsuite/ld-elf/pr23161a.c
 create mode 100644 ld/testsuite/ld-elf/pr23161b.c

--
2.17.0

Reply | Threaded
Open this post in threaded view
|

[PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

H.J. Lu-30
_edata, __bss_start, and _end are defined for executables.  FreeBSD's
libc.so uses executable's _end to initialize curbrk.  But there is no
good reason to access values of _edata, __bss_start, and _end defined
in shared libraries.  We should define _edata, __bss_start, and _end
only for executables.

        PR ld/23161
        * scripttempl/elf.sc: Define _edata, edata, __bss_start, _end
        and end only for executables.
        * testsuite/ld-elf/pr23161.map: New file.
        * testsuite/ld-elf/pr23161.rd: Likewise.
        * testsuite/ld-elf/pr23161a.c: Likewise.
        * testsuite/ld-elf/pr23161b.c: Likewise.
        * testsuite/ld-elf/pr23162.rd: Remove  _edata, __bss_start, and
        _end.
        * testsuite/ld-elf/shared.exp: Run ld/23161 tests.
---
 ld/scripttempl/elf.sc           |  6 ++---
 ld/testsuite/ld-elf/pr23161.map |  4 ++++
 ld/testsuite/ld-elf/pr23161.rd  | 14 ++++++++++++
 ld/testsuite/ld-elf/pr23161a.c  |  9 ++++++++
 ld/testsuite/ld-elf/pr23161b.c  | 23 +++++++++++++++++++
 ld/testsuite/ld-elf/pr23162.rd  |  9 +-------
 ld/testsuite/ld-elf/shared.exp  | 40 +++++++++++++++++++++++++++++++++
 7 files changed, 94 insertions(+), 11 deletions(-)
 create mode 100644 ld/testsuite/ld-elf/pr23161.map
 create mode 100644 ld/testsuite/ld-elf/pr23161.rd
 create mode 100644 ld/testsuite/ld-elf/pr23161a.c
 create mode 100644 ld/testsuite/ld-elf/pr23161b.c

diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 5ccdd415f3..57b724ae49 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -637,9 +637,9 @@ cat <<EOF
   ${SDATA_GOT+${OTHER_GOT_SECTIONS}}
   ${DATA_SDATA-${SDATA}}
   ${DATA_SDATA-${OTHER_SDATA_SECTIONS}}
-  ${RELOCATING+${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}}
+  ${RELOCATING+${CREATE_SHLIB-${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}}}
   ${RELOCATING+. = .;}
-  ${RELOCATING+${USER_LABEL_PREFIX}__bss_start = .;}
+  ${RELOCATING+${CREATE_SHLIB-${USER_LABEL_PREFIX}__bss_start = .;}}
   ${RELOCATING+${OTHER_BSS_SYMBOLS}}
   ${DATA_SDATA-${SBSS}}
   ${BSS_PLT+${PLT}}
@@ -672,7 +672,7 @@ cat <<EOF
   ${LARGE_BSS_AFTER_BSS-${LARGE_BSS}}
   ${RELOCATING+. = ALIGN(${ALIGNMENT});}
   ${RELOCATING+${OTHER_END_SYMBOLS}}
-  ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
+  ${RELOCATING+${CREATE_SHLIB-${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}}
   ${RELOCATING+${DATA_SEGMENT_END}}
   ${TINY_DATA_SECTION}
   ${TINY_BSS_SECTION}
diff --git a/ld/testsuite/ld-elf/pr23161.map b/ld/testsuite/ld-elf/pr23161.map
new file mode 100644
index 0000000000..cc817dc52a
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161.map
@@ -0,0 +1,4 @@
+FOO {
+  global:
+    *;
+};
diff --git a/ld/testsuite/ld-elf/pr23161.rd b/ld/testsuite/ld-elf/pr23161.rd
new file mode 100644
index 0000000000..c8529a515f
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161.rd
@@ -0,0 +1,14 @@
+Relocation section '\.rel(a|)\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
+ +Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|)
+[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLOT +[a-f0-9]+ +foo(@FOO|)( \+ 0|)
+
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+ +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start
+#...
diff --git a/ld/testsuite/ld-elf/pr23161a.c b/ld/testsuite/ld-elf/pr23161a.c
new file mode 100644
index 0000000000..707ed04bfd
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161a.c
@@ -0,0 +1,9 @@
+extern char *_end;
+extern char *_edata;
+extern char *__bss_start;
+
+int
+foo (void)
+{
+  return _end[0] + _edata[0] + __bss_start[0];
+}
diff --git a/ld/testsuite/ld-elf/pr23161b.c b/ld/testsuite/ld-elf/pr23161b.c
new file mode 100644
index 0000000000..0112f771b1
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161b.c
@@ -0,0 +1,23 @@
+static char *_edata_p;
+static char *_end_p;
+static char *__bss_start_p;
+extern char *_end;
+extern char *_edata;
+extern char *__bss_start;
+
+extern int foo (void);
+
+void
+bar (void)
+{
+  _edata_p = (char*) &_edata;
+  _end_p = (char*) &_end;
+  __bss_start_p = (char*) &__bss_start;
+}
+
+void
+_start ()
+{
+  bar ();
+  foo ();
+}
diff --git a/ld/testsuite/ld-elf/pr23162.rd b/ld/testsuite/ld-elf/pr23162.rd
index 3ac848fe05..48351ffea7 100644
--- a/ld/testsuite/ld-elf/pr23162.rd
+++ b/ld/testsuite/ld-elf/pr23162.rd
@@ -1,12 +1,5 @@
 There are no relocations in this file\.
 
-Symbol table '\.dynsym' contains [0-9]+ entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start
-#...
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index ef517bac42..9403363860 100644
--- a/ld/testsuite/ld-elf/shared.exp
+++ b/ld/testsuite/ld-elf/shared.exp
@@ -1393,5 +1393,45 @@ if { ([istarget "i?86-*-*"]
     "pr23162b" \
     "-fPIC -O0" \
  ] \
+ [list \
+    "Build libpr23161a.so" \
+    "-shared" \
+    "" \
+    "$AFLAGS_PIC" \
+    { pr23161a.c } \
+    "" \
+    "libpr23161a.so" \
+    "-fPIC -O2" \
+ ] \
+ [list \
+    "Build pr23161a" \
+    "-pie --no-as-needed tmpdir/libpr23161a.so" \
+    "" \
+    "-mrelax-relocations=yes" \
+    { pr23161b.c } \
+    {{readelf {--dyn-syms -rW} pr23161.rd}} \
+    "pr23161a" \
+    "-fPIC -O0" \
+ ] \
+ [list \
+    "Build libpr23161b.so" \
+    "-shared --version-script=pr23161.map" \
+    "" \
+    "$AFLAGS_PIC" \
+    { pr23161a.c } \
+    "" \
+    "libpr23161b.so" \
+    "-fPIC -O2" \
+ ] \
+ [list \
+    "Build pr23161b" \
+    "-pie --no-as-needed tmpdir/libpr23161b.so" \
+    "" \
+    "-mrelax-relocations=yes" \
+    { pr23161b.c } \
+    {{readelf {--dyn-syms -rW} pr23161.rd}} \
+    "pr23161b" \
+    "-fPIC -O0" \
+ ] \
     ]
 }
--
2.17.0

Reply | Threaded
Open this post in threaded view
|

[PATCH 2/2] ld: Update tests for _edata, __bss_start, and _end changes

H.J. Lu-30
In reply to this post by H.J. Lu-30
Since _edata, __bss_start, and _end are no longer defined in shared
libraries, adjust linker tests for address changes.

        PR ld/23161
        * testsuite/ld-i386/ibt-plt-1.d: Updated.
        * testsuite/ld-i386/ibt-plt-2a.d: Likewise.
        * testsuite/ld-i386/ibt-plt-2b.d: Likewise.
        * testsuite/ld-i386/ibt-plt-2c.d: Likewise.
        * testsuite/ld-i386/ibt-plt-2d.d: Likewise.
        * testsuite/ld-i386/ibt-plt-3a.d: Likewise.
        * testsuite/ld-i386/ibt-plt-3b.d: Likewise.
        * testsuite/ld-i386/ibt-plt-3c.d: Likewise.
        * testsuite/ld-i386/ibt-plt-3d.d: Likewise.
        * testsuite/ld-i386/plt2.dd: Likewise.
        * testsuite/ld-i386/pr20830.d: Likewise.
        * testsuite/ld-i386/tlsbin-nacl.rd: Likewise.
        * testsuite/ld-i386/tlsbin.rd: Likewise.
        * testsuite/ld-i386/tlsbin2-nacl.rd: Likewise.
        * testsuite/ld-i386/tlsbin2.rd: Likewise.
        * testsuite/ld-i386/tlsbindesc-nacl.rd: Likewise.
        * testsuite/ld-i386/tlsbindesc.rd: Likewise.
        * testsuite/ld-i386/tlsdesc-nacl.rd: Likewise.
        * testsuite/ld-i386/tlsdesc.rd: Likewise.
        * testsuite/ld-i386/tlsgdesc-nacl.rd: Likewise.
        * testsuite/ld-i386/tlsgdesc.rd: Likewise.
        * testsuite/ld-i386/tlsnopic-nacl.rd: Likewise.
        * testsuite/ld-i386/tlsnopic.dd: Likewise.
        * testsuite/ld-i386/tlsnopic.rd: Likewise.
        * testsuite/ld-i386/tlsnopic.sd: Likewise.
        * testsuite/ld-i386/tlspic-nacl.rd: Likewise.
        * testsuite/ld-i386/tlspic.rd: Likewise.
        * testsuite/ld-i386/tlspic2-nacl.rd: Likewise.
        * testsuite/ld-i386/tlspic2.rd: Likewise.
        * testsuite/ld-ifunc/ifunc-2-i386-now.d: Likewise.
        * testsuite/ld-ifunc/ifunc-2-local-i386-now.d: Likewise.
        * testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d: Likewise.
        * testsuite/ld-ifunc/ifunc-2-local-x86-64.d: Likewise.
        * testsuite/ld-ifunc/ifunc-2-x86-64-now.d: Likewise.
        * testsuite/ld-ifunc/ifunc-2-x86-64.d: Likewise.
        * testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
        * testsuite/ld-ifunc/pr17154-i386.d: Likewise.
        * testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
        * testsuite/ld-ifunc/pr17154-x86-64.d: Likewise.
        * testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
        * testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise.
        * testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
        * testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise.
        * testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
        * testsuite/ld-x86-64/bnd-plt-1.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-1.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-3a-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-3a.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-3b-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-3b.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
        * testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
        * testsuite/ld-x86-64/ilp32-4-nacl.d: Likewise.
        * testsuite/ld-x86-64/ilp32-4.d: Likewise.
        * testsuite/ld-x86-64/load1c-nacl.d: Likewise.
        * testsuite/ld-x86-64/load1c.d: Likewise.
        * testsuite/ld-x86-64/load1d-nacl.d: Likewise.
        * testsuite/ld-x86-64/load1d.d: Likewise.
        * testsuite/ld-x86-64/mpx3n.dd: Likewise.
        * testsuite/ld-x86-64/mpx4.dd: Likewise.
        * testsuite/ld-x86-64/mpx4n.dd: Likewise.
        * testsuite/ld-x86-64/plt2.dd: Likewise.
        * testsuite/ld-x86-64/pr14207.d: Likewise.
        * testsuite/ld-x86-64/pr19162.d: Likewise.
        * testsuite/ld-x86-64/pr20253-1f.d: Likewise.
        * testsuite/ld-x86-64/pr20253-1l.d: Likewise.
        * testsuite/ld-x86-64/pr20830a-now.d: Likewise.
        * testsuite/ld-x86-64/pr20830a.d: Likewise.
        * testsuite/ld-x86-64/pr20830b-now.d: Likewise.
        * testsuite/ld-x86-64/pr20830b.d: Likewise.
        * testsuite/ld-x86-64/pr21038a-now.d: Likewise.
        * testsuite/ld-x86-64/pr21038a.d: Likewise.
        * testsuite/ld-x86-64/pr21038b-now.d: Likewise.
        * testsuite/ld-x86-64/pr21038b.d: Likewise.
        * testsuite/ld-x86-64/pr21038c-now.d: Likewise.
        * testsuite/ld-x86-64/pr21038c.d: Likewise.
        * testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise.
        * testsuite/ld-x86-64/tlsbin.rd: Likewise.
        * testsuite/ld-x86-64/tlsbin2-nacl.rd: Likewise.
        * testsuite/ld-x86-64/tlsbin2.rd: Likewise.
        * testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise.
        * testsuite/ld-x86-64/tlsbindesc.rd: Likewise.
        * testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise.
        * testsuite/ld-x86-64/tlsdesc.rd: Likewise.
        * testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise.
        * testsuite/ld-x86-64/tlsgdesc.rd: Likewise.
        * testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
        * testsuite/ld-x86-64/tlspic.rd: Likewise.
        * testsuite/ld-x86-64/tlspic2-nacl.rd: Likewise.
        * testsuite/ld-x86-64/tlspic2.rd: Likewise.
---
 ld/testsuite/ld-i386/ibt-plt-1.d              | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-2a.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-2b.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-2c.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-2d.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-3a.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-3b.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-3c.d             | 20 +++---
 ld/testsuite/ld-i386/ibt-plt-3d.d             | 20 +++---
 ld/testsuite/ld-i386/plt2.dd                  | 26 +++----
 ld/testsuite/ld-i386/pr20830.d                | 18 ++---
 ld/testsuite/ld-i386/tlsbin-nacl.rd           |  3 -
 ld/testsuite/ld-i386/tlsbin.rd                |  3 -
 ld/testsuite/ld-i386/tlsbin2-nacl.rd          |  3 -
 ld/testsuite/ld-i386/tlsbin2.rd               |  3 -
 ld/testsuite/ld-i386/tlsbindesc-nacl.rd       |  9 +--
 ld/testsuite/ld-i386/tlsbindesc.rd            |  9 +--
 ld/testsuite/ld-i386/tlsdesc-nacl.rd          |  6 --
 ld/testsuite/ld-i386/tlsdesc.rd               |  6 --
 ld/testsuite/ld-i386/tlsgdesc-nacl.rd         |  6 --
 ld/testsuite/ld-i386/tlsgdesc.rd              |  6 --
 ld/testsuite/ld-i386/tlsnopic-nacl.rd         | 14 ++--
 ld/testsuite/ld-i386/tlsnopic.dd              | 12 ++--
 ld/testsuite/ld-i386/tlsnopic.rd              |  6 --
 ld/testsuite/ld-i386/tlsnopic.sd              |  4 +-
 ld/testsuite/ld-i386/tlspic-nacl.rd           |  6 --
 ld/testsuite/ld-i386/tlspic.rd                |  6 --
 ld/testsuite/ld-i386/tlspic2-nacl.rd          |  6 --
 ld/testsuite/ld-i386/tlspic2.rd               |  6 --
 ld/testsuite/ld-ifunc/ifunc-2-i386-now.d      | 14 ++--
 .../ld-ifunc/ifunc-2-local-i386-now.d         | 14 ++--
 .../ld-ifunc/ifunc-2-local-x86-64-now.d       | 20 +++---
 ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d  |  4 +-
 ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d    | 20 +++---
 ld/testsuite/ld-ifunc/ifunc-2-x86-64.d        |  4 +-
 ld/testsuite/ld-ifunc/pr17154-i386-now.d      | 34 ++++-----
 ld/testsuite/ld-ifunc/pr17154-i386.d          | 34 ++++-----
 ld/testsuite/ld-ifunc/pr17154-x86-64-now.d    | 46 ++++++------
 ld/testsuite/ld-ifunc/pr17154-x86-64.d        | 64 ++++++++---------
 ld/testsuite/ld-x86-64/bnd-branch-1-now.d     | 44 ++++++------
 ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d      | 18 ++---
 ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d      | 46 ++++++------
 ld/testsuite/ld-x86-64/bnd-ifunc-2.d          | 46 ++++++------
 ld/testsuite/ld-x86-64/bnd-plt-1-now.d        | 44 ++++++------
 ld/testsuite/ld-x86-64/bnd-plt-1.d            | 44 ++++++------
 ld/testsuite/ld-x86-64/ibt-plt-1-x32.d        | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-1.d            | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d       | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2a.d           | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d       | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-2b.d           | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d       | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2c.d           | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d       | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-2d.d           | 15 ++--
 ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d       | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-3a.d           | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d       | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-3b.d           | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d       | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-3c.d           | 24 +++----
 ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d       | 14 ++--
 ld/testsuite/ld-x86-64/ibt-plt-3d.d           | 14 ++--
 ld/testsuite/ld-x86-64/ilp32-4-nacl.d         | 16 ++---
 ld/testsuite/ld-x86-64/ilp32-4.d              |  8 +--
 ld/testsuite/ld-x86-64/load1c-nacl.d          | 72 +++++++++----------
 ld/testsuite/ld-x86-64/load1c.d               | 72 +++++++++----------
 ld/testsuite/ld-x86-64/load1d-nacl.d          | 72 +++++++++----------
 ld/testsuite/ld-x86-64/load1d.d               | 72 +++++++++----------
 ld/testsuite/ld-x86-64/mpx3n.dd               | 18 ++---
 ld/testsuite/ld-x86-64/mpx4.dd                | 26 +++----
 ld/testsuite/ld-x86-64/mpx4n.dd               | 16 ++---
 ld/testsuite/ld-x86-64/plt2.dd                | 26 +++----
 ld/testsuite/ld-x86-64/pr14207.d              |  4 +-
 ld/testsuite/ld-x86-64/pr19162.d              |  2 +-
 ld/testsuite/ld-x86-64/pr20253-1f.d           | 18 ++---
 ld/testsuite/ld-x86-64/pr20253-1l.d           | 18 ++---
 ld/testsuite/ld-x86-64/pr20830a-now.d         | 26 +++----
 ld/testsuite/ld-x86-64/pr20830a.d             | 26 +++----
 ld/testsuite/ld-x86-64/pr20830b-now.d         | 26 +++----
 ld/testsuite/ld-x86-64/pr20830b.d             | 26 +++----
 ld/testsuite/ld-x86-64/pr21038a-now.d         | 26 +++----
 ld/testsuite/ld-x86-64/pr21038a.d             | 26 +++----
 ld/testsuite/ld-x86-64/pr21038b-now.d         | 26 +++----
 ld/testsuite/ld-x86-64/pr21038b.d             | 26 +++----
 ld/testsuite/ld-x86-64/pr21038c-now.d         | 36 +++++-----
 ld/testsuite/ld-x86-64/pr21038c.d             | 36 +++++-----
 ld/testsuite/ld-x86-64/tlsbin-nacl.rd         | 21 +++---
 ld/testsuite/ld-x86-64/tlsbin.rd              |  3 -
 ld/testsuite/ld-x86-64/tlsbin2-nacl.rd        | 21 +++---
 ld/testsuite/ld-x86-64/tlsbin2.rd             |  3 -
 ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd     | 33 ++++-----
 ld/testsuite/ld-x86-64/tlsbindesc.rd          |  7 +-
 ld/testsuite/ld-x86-64/tlsdesc-nacl.rd        | 54 +++++++-------
 ld/testsuite/ld-x86-64/tlsdesc.rd             | 10 +--
 ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd       | 14 ++--
 ld/testsuite/ld-x86-64/tlsgdesc.rd            | 14 ++--
 ld/testsuite/ld-x86-64/tlspic-nacl.rd         | 24 +++----
 ld/testsuite/ld-x86-64/tlspic.rd              |  6 --
 ld/testsuite/ld-x86-64/tlspic2-nacl.rd        | 24 +++----
 ld/testsuite/ld-x86-64/tlspic2.rd             |  6 --
 101 files changed, 1002 insertions(+), 1145 deletions(-)

diff --git a/ld/testsuite/ld-i386/ibt-plt-1.d b/ld/testsuite/ld-i386/ibt-plt-1.d
index e164095e44..2a8e0438a1 100644
--- a/ld/testsuite/ld-i386/ibt-plt-1.d
+++ b/ld/testsuite/ld-i386/ibt-plt-1.d
@@ -7,45 +7,45 @@
 
 Disassembly of section .plt:
 
-0+1b0 <.plt>:
+0+160 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1e0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1f0 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+200 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   21e <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ce <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 36 11 00 00     add    \$0x1136,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1f0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1e0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   1a0 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   190 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+21e <__x86.get_pc_thunk.bx>:
+0+1ce <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-2a.d b/ld/testsuite/ld-i386/ibt-plt-2a.d
index 6b84a3a1d4..03c8e127a9 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2a.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2a.d
@@ -8,45 +8,45 @@
 
 Disassembly of section .plt:
 
-0+1b0 <.plt>:
+0+160 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1e0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1f0 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+200 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   21e <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ce <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 36 11 00 00     add    \$0x1136,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1f0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1e0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   1a0 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   190 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+21e <__x86.get_pc_thunk.bx>:
+0+1ce <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-2b.d b/ld/testsuite/ld-i386/ibt-plt-2b.d
index 2927290b35..d7b4e1e74c 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2b.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2b.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
-  DW_CFA_advance_loc: 1 to 00000201
+0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
+  DW_CFA_advance_loc: 1 to 000001b1
   DW_CFA_def_cfa_offset: 8
   DW_CFA_offset: r3 \(ebx\) at cfa-8
-  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_advance_loc: 14 to 000001bf
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_advance_loc: 13 to 000001cc
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_advance_loc: 1 to 000001cd
   DW_CFA_restore: r3 \(ebx\)
   DW_CFA_def_cfa_offset: 4
 
-0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/ibt-plt-2c.d b/ld/testsuite/ld-i386/ibt-plt-2c.d
index f3d9fafd70..d71f34d27c 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2c.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2c.d
@@ -8,45 +8,45 @@
 
 Disassembly of section .plt:
 
-0+1b0 <.plt>:
+0+160 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1e0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1f0 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+200 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   21e <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ce <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 36 11 00 00     add    \$0x1136,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1f0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1e0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   1a0 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   190 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+21e <__x86.get_pc_thunk.bx>:
+0+1ce <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-2d.d b/ld/testsuite/ld-i386/ibt-plt-2d.d
index efd0cd8644..ec1a95ca4c 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2d.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2d.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
-  DW_CFA_advance_loc: 1 to 00000201
+0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
+  DW_CFA_advance_loc: 1 to 000001b1
   DW_CFA_def_cfa_offset: 8
   DW_CFA_offset: r3 \(ebx\) at cfa-8
-  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_advance_loc: 14 to 000001bf
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_advance_loc: 13 to 000001cc
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_advance_loc: 1 to 000001cd
   DW_CFA_restore: r3 \(ebx\)
   DW_CFA_def_cfa_offset: 4
 
-0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/ibt-plt-3a.d b/ld/testsuite/ld-i386/ibt-plt-3a.d
index a9c0f53a11..4bbf1a37c6 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3a.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3a.d
@@ -8,45 +8,45 @@
 
 Disassembly of section .plt:
 
-0+190 <.plt>:
+0+140 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    190 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    190 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1c0 <bar1@plt>:
+0+170 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1d0 <bar2@plt>:
+0+180 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+1e0 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   1fe <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ae <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 1a 11 00 00     add    \$0x111a,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1d0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1c0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   180 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   170 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+1fe <__x86.get_pc_thunk.bx>:
+0+1ae <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-3b.d b/ld/testsuite/ld-i386/ibt-plt-3b.d
index fa66d63860..75a2ecbb59 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3b.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3b.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000001c 0000001c FDE cie=00000000 pc=000001e0..000001fe
-  DW_CFA_advance_loc: 1 to 000001e1
+0+18 0000001c 0000001c FDE cie=00000000 pc=00000190..000001ae
+  DW_CFA_advance_loc: 1 to 00000191
   DW_CFA_def_cfa_offset: 8
   DW_CFA_offset: r3 \(ebx\) at cfa-8
-  DW_CFA_advance_loc: 14 to 000001ef
+  DW_CFA_advance_loc: 14 to 0000019f
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 13 to 000001fc
+  DW_CFA_advance_loc: 13 to 000001ac
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 1 to 000001fd
+  DW_CFA_advance_loc: 1 to 000001ad
   DW_CFA_restore: r3 \(ebx\)
   DW_CFA_def_cfa_offset: 4
 
-0+38 00000010 0000003c FDE cie=00000000 pc=000001fe..00000202
+0+38 00000010 0000003c FDE cie=00000000 pc=000001ae..000001b2
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+4c 00000020 00000050 FDE cie=00000000 pc=00000190..000001c0
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000140..00000170
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 00000196
+  DW_CFA_advance_loc: 6 to 00000146
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 000001a0
+  DW_CFA_advance_loc: 10 to 00000150
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+70 00000010 00000074 FDE cie=00000000 pc=000001c0..000001e0
+0+70 00000010 00000074 FDE cie=00000000 pc=00000170..00000190
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/ibt-plt-3c.d b/ld/testsuite/ld-i386/ibt-plt-3c.d
index a9c0f53a11..4bbf1a37c6 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3c.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3c.d
@@ -8,45 +8,45 @@
 
 Disassembly of section .plt:
 
-0+190 <.plt>:
+0+140 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    190 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    190 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1c0 <bar1@plt>:
+0+170 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1d0 <bar2@plt>:
+0+180 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+1e0 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   1fe <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ae <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 1a 11 00 00     add    \$0x111a,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1d0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1c0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   180 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   170 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+1fe <__x86.get_pc_thunk.bx>:
+0+1ae <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-3d.d b/ld/testsuite/ld-i386/ibt-plt-3d.d
index 231798c02b..35742ca2d9 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3d.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3d.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
-  DW_CFA_advance_loc: 1 to 00000201
+0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
+  DW_CFA_advance_loc: 1 to 000001b1
   DW_CFA_def_cfa_offset: 8
   DW_CFA_offset: r3 \(ebx\) at cfa-8
-  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_advance_loc: 14 to 000001bf
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_advance_loc: 13 to 000001cc
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_advance_loc: 1 to 000001cd
   DW_CFA_restore: r3 \(ebx\)
   DW_CFA_def_cfa_offset: 4
 
-0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/plt2.dd b/ld/testsuite/ld-i386/plt2.dd
index 9f8e11d354..f1a49e5750 100644
--- a/ld/testsuite/ld-i386/plt2.dd
+++ b/ld/testsuite/ld-i386/plt2.dd
@@ -9,26 +9,26 @@
 
 Disassembly of section .plt:
 
-0+80481c0 <.plt>:
- +[a-f0-9]+: ff 35 a0 92 04 08     pushl  0x80492a0
- +[a-f0-9]+: ff 25 a4 92 04 08     jmp    \*0x80492a4
+0+8048160 <.plt>:
+ +[a-f0-9]+: ff 35 40 92 04 08     pushl  0x8049240
+ +[a-f0-9]+: ff 25 44 92 04 08     jmp    \*0x8049244
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+80481d0 <fn1@plt>:
- +[a-f0-9]+: ff 25 a8 92 04 08     jmp    \*0x80492a8
+0+8048170 <fn1@plt>:
+ +[a-f0-9]+: ff 25 48 92 04 08     jmp    \*0x8049248
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmp    80481c0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmp    8048160 <.plt>
 
-0+80481e0 <fn2@plt>:
- +[a-f0-9]+: ff 25 ac 92 04 08     jmp    \*0x80492ac
+0+8048180 <fn2@plt>:
+ +[a-f0-9]+: ff 25 4c 92 04 08     jmp    \*0x804924c
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d0 ff ff ff       jmp    80481c0 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmp    8048160 <.plt>
 
 Disassembly of section .text:
 
-0+80481f0 <_start>:
- +[a-f0-9]+: e8 db ff ff ff       call   80481d0 <fn1@plt>
- +[a-f0-9]+: e8 e6 ff ff ff       call   80481e0 <fn2@plt>
- +[a-f0-9]+: 81 7c 24 04 d0 81 04 08 cmpl   \$0x80481d0,0x4\(%esp\)
+0+8048190 <_start>:
+ +[a-f0-9]+: e8 db ff ff ff       call   8048170 <fn1@plt>
+ +[a-f0-9]+: e8 e6 ff ff ff       call   8048180 <fn2@plt>
+ +[a-f0-9]+: 81 7c 24 04 70 81 04 08 cmpl   \$0x8048170,0x4\(%esp\)
 #pass
diff --git a/ld/testsuite/ld-i386/pr20830.d b/ld/testsuite/ld-i386/pr20830.d
index a16ea67c49..55322070d6 100644
--- a/ld/testsuite/ld-i386/pr20830.d
+++ b/ld/testsuite/ld-i386/pr20830.d
@@ -20,19 +20,19 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000010 0000001c FDE cie=00000000 pc=00000188..00000193
+0+18 00000010 0000001c FDE cie=00000000 pc=00000128..00000133
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+2c 00000020 00000030 FDE cie=00000000 pc=00000170..00000180
+0+2c 00000020 00000030 FDE cie=00000000 pc=00000110..00000120
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 00000176
+  DW_CFA_advance_loc: 6 to 00000116
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 00000180
+  DW_CFA_advance_loc: 10 to 00000120
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+50 00000010 00000054 FDE cie=00000000 pc=00000180..00000188
+0+50 00000010 00000054 FDE cie=00000000 pc=00000120..00000128
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -40,7 +40,7 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+170 <.plt>:
+0+110 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
@@ -48,13 +48,13 @@ Disassembly of section .plt:
 
 Disassembly of section .plt.got:
 
-0+180 <func@plt>:
+0+120 <func@plt>:
  +[a-f0-9]+: ff a3 fc ff ff ff     jmp    \*-0x4\(%ebx\)
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+188 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       call   180 <func@plt>
+0+128 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       call   120 <func@plt>
  +[a-f0-9]+: 8b 83 fc ff ff ff     mov    -0x4\(%ebx\),%eax
 #pass
diff --git a/ld/testsuite/ld-i386/tlsbin-nacl.rd b/ld/testsuite/ld-i386/tlsbin-nacl.rd
index 7bb8b0ad61..38642ce7ac 100644
--- a/ld/testsuite/ld-i386/tlsbin-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbin-nacl.rd
@@ -78,11 +78,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbin.rd b/ld/testsuite/ld-i386/tlsbin.rd
index d3bae569e1..ee272f631e 100644
--- a/ld/testsuite/ld-i386/tlsbin.rd
+++ b/ld/testsuite/ld-i386/tlsbin.rd
@@ -76,11 +76,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbin2-nacl.rd b/ld/testsuite/ld-i386/tlsbin2-nacl.rd
index 0011716b2b..da69c27cf7 100644
--- a/ld/testsuite/ld-i386/tlsbin2-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbin2-nacl.rd
@@ -73,11 +73,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbin2.rd b/ld/testsuite/ld-i386/tlsbin2.rd
index e34d167d44..5abf9ea665 100644
--- a/ld/testsuite/ld-i386/tlsbin2.rd
+++ b/ld/testsuite/ld-i386/tlsbin2.rd
@@ -71,11 +71,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbindesc-nacl.rd b/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
index 39c60a5e66..f86ad798d6 100644
--- a/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
@@ -60,9 +60,9 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
 0*100310ec +00000425 R_386_TLS_TPOFF32 0+ +sG2
 0*100310f0 +00000525 R_386_TLS_TPOFF32 0+ +sG4
 0*100310f4 +0000050e R_386_TLS_TPOFF +0+ +sG4
-0*100310f8 +00000725 R_386_TLS_TPOFF32 0+ +sG6
-0*100310fc +00000825 R_386_TLS_TPOFF32 0+ +sG1
-0*10031100 +00000b0e R_386_TLS_TPOFF +0+ +sG8
+0*100310f8 +00000625 R_386_TLS_TPOFF32 0+ +sG6
+0*100310fc +00000725 R_386_TLS_TPOFF32 0+ +sG1
+0*10031100 +0000080e R_386_TLS_TPOFF +0+ +sG8
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx Name
@@ -72,11 +72,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
 
 Symbol table '\.symtab' contains [0-9]+ entries:
diff --git a/ld/testsuite/ld-i386/tlsbindesc.rd b/ld/testsuite/ld-i386/tlsbindesc.rd
index 7cc85f1c2a..cd3c06e202 100644
--- a/ld/testsuite/ld-i386/tlsbindesc.rd
+++ b/ld/testsuite/ld-i386/tlsbindesc.rd
@@ -58,9 +58,9 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
 0+804a0ec +00000425 R_386_TLS_TPOFF32 0+ +sG2
 0+804a0f0 +00000525 R_386_TLS_TPOFF32 0+ +sG4
 0+804a0f4 +0000050e R_386_TLS_TPOFF +0+ +sG4
-0+804a0f8 +00000725 R_386_TLS_TPOFF32 0+ +sG6
-0+804a0fc +00000825 R_386_TLS_TPOFF32 0+ +sG1
-0+804a100 +00000b0e R_386_TLS_TPOFF +0+ +sG8
+0+804a0f8 +00000625 R_386_TLS_TPOFF32 0+ +sG6
+0+804a0fc +00000725 R_386_TLS_TPOFF32 0+ +sG1
+0+804a100 +0000080e R_386_TLS_TPOFF +0+ +sG8
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx Name
@@ -70,11 +70,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
 
 Symbol table '\.symtab' contains [0-9]+ entries:
diff --git a/ld/testsuite/ld-i386/tlsdesc-nacl.rd b/ld/testsuite/ld-i386/tlsdesc-nacl.rd
index 20c8ea2066..62376918a3 100644
--- a/ld/testsuite/ld-i386/tlsdesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsdesc-nacl.rd
@@ -87,12 +87,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -143,9 +140,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
diff --git a/ld/testsuite/ld-i386/tlsdesc.rd b/ld/testsuite/ld-i386/tlsdesc.rd
index 3486847f90..d47d2e94f2 100644
--- a/ld/testsuite/ld-i386/tlsdesc.rd
+++ b/ld/testsuite/ld-i386/tlsdesc.rd
@@ -85,12 +85,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -141,9 +138,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
diff --git a/ld/testsuite/ld-i386/tlsgdesc-nacl.rd b/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
index 407bf2c8b5..9107fd49e9 100644
--- a/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
@@ -67,12 +67,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -94,10 +91,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlsgdesc.rd b/ld/testsuite/ld-i386/tlsgdesc.rd
index 269cede6c5..ef131ef857 100644
--- a/ld/testsuite/ld-i386/tlsgdesc.rd
+++ b/ld/testsuite/ld-i386/tlsgdesc.rd
@@ -65,12 +65,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -92,10 +89,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlsnopic-nacl.rd b/ld/testsuite/ld-i386/tlsnopic-nacl.rd
index 15e7eeabf6..e981c86d0f 100644
--- a/ld/testsuite/ld-i386/tlsnopic-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsnopic-nacl.rd
@@ -16,9 +16,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynstr +.*
  +\[[ 0-9]+\] \.rel.dyn +.*
  +\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000024 00 WAT +0 +0 +1
- +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010284 .*
- +\[[ 0-9]+\] \.got +PROGBITS +0*10010304 .*
- +\[[ 0-9]+\] \.got.plt +PROGBITS +0*1001031c .*
+ +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010230 .*
+ +\[[ 0-9]+\] \.got +PROGBITS +0*100102b0 .*
+ +\[[ 0-9]+\] \.got.plt +PROGBITS +0*100102c8 .*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
  +\[[ 0-9]+\] \.shstrtab +.*
@@ -77,10 +77,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +1 fn3
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -105,14 +102,11 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[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*100102c8 +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
  +[0-9]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +1 fn3
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
diff --git a/ld/testsuite/ld-i386/tlsnopic.dd b/ld/testsuite/ld-i386/tlsnopic.dd
index 10d24a4797..fb86490158 100644
--- a/ld/testsuite/ld-i386/tlsnopic.dd
+++ b/ld/testsuite/ld-i386/tlsnopic.dd
@@ -16,14 +16,14 @@ Disassembly of section .text:
  +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov    %gs:0x0,%eax
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
- +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+c,%eax
+ +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+(c|8),%eax
 # ->R_386_TLS_TPOFF sg1
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
 #  @indntpoff direct %gs access IE against global var
- +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+0,%edx
+ +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+(0|c),%edx
 # ->R_386_TLS_TPOFF sg2
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
@@ -36,14 +36,14 @@ Disassembly of section .text:
  +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov    %gs:0x0,%eax
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
- +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+4,%eax
+ +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+(4|0),%eax
 # ->R_386_TLS_TPOFF [0x14000000]
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
 #  @indntpoff direct %gs access IE against hidden var
- +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+8,%edx
+ +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+(8|4),%edx
 # ->R_386_TLS_TPOFF [0x18000000]
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
@@ -56,14 +56,14 @@ Disassembly of section .text:
  +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov    %gs:0x0,%eax
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
- +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+4,%eax
+ +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+(4|0),%eax
 # ->R_386_TLS_TPOFF [0x00000000]
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
 #  @indntpoff direct %gs access IE against local var
- +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+8,%edx
+ +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+(8|4),%edx
 # ->R_386_TLS_TPOFF [0x04000000]
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
diff --git a/ld/testsuite/ld-i386/tlsnopic.rd b/ld/testsuite/ld-i386/tlsnopic.rd
index b60fb1d18f..4856c64f70 100644
--- a/ld/testsuite/ld-i386/tlsnopic.rd
+++ b/ld/testsuite/ld-i386/tlsnopic.rd
@@ -75,10 +75,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +5 fn3
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -110,7 +107,4 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +5 fn3
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
diff --git a/ld/testsuite/ld-i386/tlsnopic.sd b/ld/testsuite/ld-i386/tlsnopic.sd
index 786aac6263..72420ad4f3 100644
--- a/ld/testsuite/ld-i386/tlsnopic.sd
+++ b/ld/testsuite/ld-i386/tlsnopic.sd
@@ -8,5 +8,5 @@
 .*:     file format elf32-i386.*
 
 Contents of section \.got:
- [0-9a-f]+4 00000000 04000000 00000000 00000000  .*
- [0-9a-f]+4 14000000 18000000  +.*
+ [0-9a-f]+(4|0) 00000000 04000000 00000000 00000000  .*
+ [0-9a-f]+(4|0) 14000000 18000000  +.*
diff --git a/ld/testsuite/ld-i386/tlspic-nacl.rd b/ld/testsuite/ld-i386/tlspic-nacl.rd
index 0ce64ce412..38aaf6ad7e 100644
--- a/ld/testsuite/ld-i386/tlspic-nacl.rd
+++ b/ld/testsuite/ld-i386/tlspic-nacl.rd
@@ -90,12 +90,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -147,10 +144,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlspic.rd b/ld/testsuite/ld-i386/tlspic.rd
index 4a06ba6d8a..ae920583a4 100644
--- a/ld/testsuite/ld-i386/tlspic.rd
+++ b/ld/testsuite/ld-i386/tlspic.rd
@@ -88,12 +88,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -145,10 +142,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlspic2-nacl.rd b/ld/testsuite/ld-i386/tlspic2-nacl.rd
index 5fb6ba689c..c5e8a0ed08 100644
--- a/ld/testsuite/ld-i386/tlspic2-nacl.rd
+++ b/ld/testsuite/ld-i386/tlspic2-nacl.rd
@@ -85,12 +85,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -140,10 +137,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlspic2.rd b/ld/testsuite/ld-i386/tlspic2.rd
index ab000632e2..59f1cdd187 100644
--- a/ld/testsuite/ld-i386/tlspic2.rd
+++ b/ld/testsuite/ld-i386/tlspic2.rd
@@ -83,12 +83,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -138,10 +135,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d b/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
index 7157d5fc5a..028093b1c3 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
@@ -10,27 +10,27 @@
 
 Disassembly of section .plt:
 
-0+150 <.plt>:
+0+f0 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+160 <\*ABS\*@plt>:
+0+100 <\*ABS\*@plt>:
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmp    150 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmp    f0 <.plt>
 
 Disassembly of section .text:
 
-0+170 <foo>:
+0+110 <foo>:
  +[a-f0-9]+: c3                   ret    
 
-0+171 <bar>:
- +[a-f0-9]+: e8 00 00 00 00       call   176 <bar\+0x5>
+0+111 <bar>:
+ +[a-f0-9]+: e8 00 00 00 00       call   116 <bar\+0x5>
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: 81 c3 9e 10 00 00     add    \$0x109e,%ebx
- +[a-f0-9]+: e8 de ff ff ff       call   160 <\*ABS\*@plt>
+ +[a-f0-9]+: e8 de ff ff ff       call   100 <\*ABS\*@plt>
  +[a-f0-9]+: 8d 83 4c ef ff ff     lea    -0x10b4\(%ebx\),%eax
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d b/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d
index d5400a2754..4899171b68 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d
@@ -10,27 +10,27 @@
 
 Disassembly of section .plt:
 
-0+140 <.plt>:
+0+e0 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+150 <\*ABS\*@plt>:
+0+f0 <\*ABS\*@plt>:
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmp    140 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmp    e0 <.plt>
 
 Disassembly of section .text:
 
-0+160 <__GI_foo>:
+0+100 <__GI_foo>:
  +[a-f0-9]+: c3                   ret    
 
-0+161 <bar>:
- +[a-f0-9]+: e8 00 00 00 00       call   166 <bar\+0x5>
+0+101 <bar>:
+ +[a-f0-9]+: e8 00 00 00 00       call   106 <bar\+0x5>
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: 81 c3 9e 10 00 00     add    \$0x109e,%ebx
- +[a-f0-9]+: e8 de ff ff ff       call   150 <\*ABS\*@plt>
+ +[a-f0-9]+: e8 de ff ff ff       call   f0 <\*ABS\*@plt>
  +[a-f0-9]+: 8d 83 4c ef ff ff     lea    -0x10b4\(%ebx\),%eax
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d
index e466ef6e13..2ba25e53da 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d
@@ -10,23 +10,23 @@
 
 Disassembly of section .plt:
 
-0+1f0 <.plt>:
- +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 200338 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 44 01 20 00     jmpq   \*0x200144\(%rip\)        # 200340 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+170 <.plt>:
+ +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 2002b8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 44 01 20 00     jmpq   \*0x200144\(%rip\)        # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+200 <\*ABS\*\+0x210@plt>:
- +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 200348 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+180 <\*ABS\*\+0x190@plt>:
+ +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   1f0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   170 <.plt>
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: c3                   retq  
 
-0+211 <bar>:
- +[a-f0-9]+: e8 ea ff ff ff       callq  200 <\*ABS\*\+0x210@plt>
- +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea    -0x1d\(%rip\),%rax        # 200 <\*ABS\*\+0x210@plt>
+0+191 <bar>:
+ +[a-f0-9]+: e8 ea ff ff ff       callq  180 <\*ABS\*\+0x190@plt>
+ +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea    -0x1d\(%rip\),%rax        # 180 <\*ABS\*\+0x190@plt>
  +[a-f0-9]+: c3                   retq  
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
index a20f92d93c..75cd566166 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
@@ -5,6 +5,6 @@
 #notarget: x86_64-*-nacl*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x210@plt>
-[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x210@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x190@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x190@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d b/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d
index 261f0566b7..694ec34425 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d
@@ -10,23 +10,23 @@
 
 Disassembly of section .plt:
 
-0+1f0 <.plt>:
- +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 200338 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 44 01 20 00     jmpq   \*0x200144\(%rip\)        # 200340 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+170 <.plt>:
+ +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 2002b8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 44 01 20 00     jmpq   \*0x200144\(%rip\)        # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+200 <\*ABS\*\+0x210@plt>:
- +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 200348 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+180 <\*ABS\*\+0x190@plt>:
+ +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   1f0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   170 <.plt>
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: c3                   retq  
 
-0+211 <bar>:
- +[a-f0-9]+: e8 ea ff ff ff       callq  200 <\*ABS\*\+0x210@plt>
- +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea    -0x1d\(%rip\),%rax        # 200 <\*ABS\*\+0x210@plt>
+0+191 <bar>:
+ +[a-f0-9]+: e8 ea ff ff ff       callq  180 <\*ABS\*\+0x190@plt>
+ +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea    -0x1d\(%rip\),%rax        # 180 <\*ABS\*\+0x190@plt>
  +[a-f0-9]+: c3                   retq  
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
index fb8bd8d3aa..6f6717d4a8 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
@@ -5,6 +5,6 @@
 #notarget: x86_64-*-nacl*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x210@plt>
-[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x210@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x190@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x190@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/pr17154-i386-now.d b/ld/testsuite/ld-ifunc/pr17154-i386-now.d
index 10d270c659..7f8c6bb84e 100644
--- a/ld/testsuite/ld-ifunc/pr17154-i386-now.d
+++ b/ld/testsuite/ld-ifunc/pr17154-i386-now.d
@@ -10,43 +10,43 @@
 
 Disassembly of section .plt:
 
-0+1d0 <.plt>:
+0+180 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+1e0 <\*ABS\*@plt>:
+0+190 <\*ABS\*@plt>:
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 68 18 00 00 00       push   \$0x18
- +[a-f0-9]+: e9 e0 ff ff ff       jmp    1d0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmp    180 <.plt>
 
-0+1f0 <func1@plt>:
+0+1a0 <func1@plt>:
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 d0 ff ff ff       jmp    1d0 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmp    180 <.plt>
 
-0+200 <func2@plt>:
+0+1b0 <func2@plt>:
  +[a-f0-9]+: ff a3 14 00 00 00     jmp    \*0x14\(%ebx\)
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 c0 ff ff ff       jmp    1d0 <.plt>
+ +[a-f0-9]+: e9 c0 ff ff ff       jmp    180 <.plt>
 
-0+210 <\*ABS\*@plt>:
+0+1c0 <\*ABS\*@plt>:
  +[a-f0-9]+: ff a3 18 00 00 00     jmp    \*0x18\(%ebx\)
  +[a-f0-9]+: 68 10 00 00 00       push   \$0x10
- +[a-f0-9]+: e9 b0 ff ff ff       jmp    1d0 <.plt>
+ +[a-f0-9]+: e9 b0 ff ff ff       jmp    180 <.plt>
 
 Disassembly of section .text:
 
-0+220 <resolve1>:
- +[a-f0-9]+: e8 cb ff ff ff       call   1f0 <func1@plt>
+0+1d0 <resolve1>:
+ +[a-f0-9]+: e8 cb ff ff ff       call   1a0 <func1@plt>
 
-0+225 <g1>:
- +[a-f0-9]+: e9 e6 ff ff ff       jmp    210 <\*ABS\*@plt>
+0+1d5 <g1>:
+ +[a-f0-9]+: e9 e6 ff ff ff       jmp    1c0 <\*ABS\*@plt>
 
-0+22a <resolve2>:
- +[a-f0-9]+: e8 d1 ff ff ff       call   200 <func2@plt>
+0+1da <resolve2>:
+ +[a-f0-9]+: e8 d1 ff ff ff       call   1b0 <func2@plt>
 
-0+22f <g2>:
- +[a-f0-9]+: e9 ac ff ff ff       jmp    1e0 <\*ABS\*@plt>
+0+1df <g2>:
+ +[a-f0-9]+: e9 ac ff ff ff       jmp    190 <\*ABS\*@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/pr17154-i386.d b/ld/testsuite/ld-ifunc/pr17154-i386.d
index ce3cbef71e..6d7c9a6345 100644
--- a/ld/testsuite/ld-ifunc/pr17154-i386.d
+++ b/ld/testsuite/ld-ifunc/pr17154-i386.d
@@ -6,43 +6,43 @@
 #notarget: x86_64-*-nacl* i?86-*-nacl*
 
 #...
-0+1d0 <.*>:
+0+180 <.*>:
 [ ]*[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
 [ ]*[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
 [ ]*[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+1e0 <\*ABS\*@plt>:
+0+190 <\*ABS\*@plt>:
 [ ]*[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
 [ ]*[a-f0-9]+: 68 18 00 00 00       push   \$0x18
-[ ]*[a-f0-9]+: e9 e0 ff ff ff       jmp    1d0 <.*>
+[ ]*[a-f0-9]+: e9 e0 ff ff ff       jmp    180 <.plt>
 
-0+1f0 <func1@plt>:
+0+1a0 <func1@plt>:
 [ ]*[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
 [ ]*[a-f0-9]+: 68 00 00 00 00       push   \$0x0
-[ ]*[a-f0-9]+: e9 d0 ff ff ff       jmp    1d0 <.*>
+[ ]*[a-f0-9]+: e9 d0 ff ff ff       jmp    180 <.plt>
 
-0+200 <func2@plt>:
+0+1b0 <func2@plt>:
 [ ]*[a-f0-9]+: ff a3 14 00 00 00     jmp    \*0x14\(%ebx\)
 [ ]*[a-f0-9]+: 68 08 00 00 00       push   \$0x8
-[ ]*[a-f0-9]+: e9 c0 ff ff ff       jmp    1d0 <.*>
+[ ]*[a-f0-9]+: e9 c0 ff ff ff       jmp    180 <.plt>
 
-0+210 <\*ABS\*@plt>:
+0+1c0 <\*ABS\*@plt>:
 [ ]*[a-f0-9]+: ff a3 18 00 00 00     jmp    \*0x18\(%ebx\)
 [ ]*[a-f0-9]+: 68 10 00 00 00       push   \$0x10
-[ ]*[a-f0-9]+: e9 b0 ff ff ff       jmp    1d0 <.*>
+[ ]*[a-f0-9]+: e9 b0 ff ff ff       jmp    180 <.plt>
 
 Disassembly of section .text:
 
-0+220 <resolve1>:
-[ ]*[a-f0-9]+: e8 cb ff ff ff       call   1f0 <func1@plt>
+0+1d0 <resolve1>:
+[ ]*[a-f0-9]+: e8 cb ff ff ff       call   1a0 <func1@plt>
 
-0+225 <g1>:
-[ ]*[a-f0-9]+: e9 e6 ff ff ff       jmp    210 <\*ABS\*@plt>
+0+1d5 <g1>:
+[ ]*[a-f0-9]+: e9 e6 ff ff ff       jmp    1c0 <\*ABS\*@plt>
 
-0+22a <resolve2>:
-[ ]*[a-f0-9]+: e8 d1 ff ff ff       call   200 <func2@plt>
+0+1da <resolve2>:
+[ ]*[a-f0-9]+: e8 d1 ff ff ff       call   1b0 <func2@plt>
 
-0+22f <g2>:
-[ ]*[a-f0-9]+: e9 ac ff ff ff       jmp    1e0 <\*ABS\*@plt>
+0+1df <g2>:
+[ ]*[a-f0-9]+: e9 ac ff ff ff       jmp    190 <\*ABS\*@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d b/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
index 7e72d147e5..2a8977128a 100644
--- a/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
+++ b/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
@@ -11,42 +11,42 @@
 
 Disassembly of section .plt:
 
-0+2b0 <.plt>:
- +[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 200430 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 7c 01 20 00     jmpq   \*0x20017c\(%rip\)        # 200438 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+240 <.plt>:
+ +[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 7c 01 20 00     jmpq   \*0x20017c\(%rip\)        # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+2c0 <\*ABS\*\+0x30a@plt>:
- +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 200440 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+250 <\*ABS\*\+0x29a@plt>:
+ +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 2003d0 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   2b0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   240 <.plt>
 
-0+2d0 <func1@plt>:
- +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 200448 <func1>
+0+260 <func1@plt>:
+ +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 2003d8 <func1>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 d0 ff ff ff       jmpq   2b0 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   240 <.plt>
 
-0+2e0 <func2@plt>:
- +[a-f0-9]+: ff 25 6a 01 20 00     jmpq   \*0x20016a\(%rip\)        # 200450 <func2>
+0+270 <func2@plt>:
+ +[a-f0-9]+: ff 25 6a 01 20 00     jmpq   \*0x20016a\(%rip\)        # 2003e0 <func2>
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 c0 ff ff ff       jmpq   2b0 <.plt>
+ +[a-f0-9]+: e9 c0 ff ff ff       jmpq   240 <.plt>
 
-0+2f0 <\*ABS\*\+0x300@plt>:
- +[a-f0-9]+: ff 25 62 01 20 00     jmpq   \*0x200162\(%rip\)        # 200458 <_GLOBAL_OFFSET_TABLE_\+0x30>
+0+280 <\*ABS\*\+0x290@plt>:
+ +[a-f0-9]+: ff 25 62 01 20 00     jmpq   \*0x200162\(%rip\)        # 2003e8 <_GLOBAL_OFFSET_TABLE_\+0x30>
  +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
- +[a-f0-9]+: e9 b0 ff ff ff       jmpq   2b0 <.plt>
+ +[a-f0-9]+: e9 b0 ff ff ff       jmpq   240 <.plt>
 
 Disassembly of section .text:
 
-0+300 <resolve1>:
- +[a-f0-9]+: e8 cb ff ff ff       callq  2d0 <func1@plt>
+0+290 <resolve1>:
+ +[a-f0-9]+: e8 cb ff ff ff       callq  260 <func1@plt>
 
-0+305 <g1>:
- +[a-f0-9]+: e9 e6 ff ff ff       jmpq   2f0 <\*ABS\*\+0x300@plt>
+0+295 <g1>:
+ +[a-f0-9]+: e9 e6 ff ff ff       jmpq   280 <\*ABS\*\+0x290@plt>
 
-0+30a <resolve2>:
- +[a-f0-9]+: e8 d1 ff ff ff       callq  2e0 <func2@plt>
+0+29a <resolve2>:
+ +[a-f0-9]+: e8 d1 ff ff ff       callq  270 <func2@plt>
 
-0+30f <g2>:
- +[a-f0-9]+: e9 ac ff ff ff       jmpq   2c0 <\*ABS\*\+0x30a@plt>
+0+29f <g2>:
+ +[a-f0-9]+: e9 ac ff ff ff       jmpq   250 <\*ABS\*\+0x29a@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/pr17154-x86-64.d b/ld/testsuite/ld-ifunc/pr17154-x86-64.d
index cab2fb4285..6069b6aa8a 100644
--- a/ld/testsuite/ld-ifunc/pr17154-x86-64.d
+++ b/ld/testsuite/ld-ifunc/pr17154-x86-64.d
@@ -6,42 +6,42 @@
 #notarget: x86_64-*-nacl*
 
 #...
-0+2b0 <.*>:
-[ ]*[a-f0-9]+: ff 35 5a 01 20 00     pushq  0x20015a\(%rip\)        # 200410 <.*>
-[ ]*[a-f0-9]+: ff 25 5c 01 20 00     jmpq   \*0x20015c\(%rip\)        # 200418 <.*>
-[ ]*[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
-
-0+2c0 <\*ABS\*\+0x30a@plt>:
-[ ]*[a-f0-9]+: ff 25 5a 01 20 00     jmpq   \*0x20015a\(%rip\)        # 200420 <.*>
-[ ]*[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
-[ ]*[a-f0-9]+: e9 e0 ff ff ff       jmpq   2b0 <.*>
-
-0+2d0 <func1@plt>:
-[ ]*[a-f0-9]+: ff 25 52 01 20 00     jmpq   \*0x200152\(%rip\)        # 200428 <.*>
-[ ]*[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
-[ ]*[a-f0-9]+: e9 d0 ff ff ff       jmpq   2b0 <.*>
-
-0+2e0 <func2@plt>:
-[ ]*[a-f0-9]+: ff 25 4a 01 20 00     jmpq   \*0x20014a\(%rip\)        # 200430 <.*>
-[ ]*[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
-[ ]*[a-f0-9]+: e9 c0 ff ff ff       jmpq   2b0 <.*>
-
-0+2f0 <\*ABS\*\+0x300@plt>:
-[ ]*[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 200438 <.*>
-[ ]*[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
-[ ]*[a-f0-9]+: e9 b0 ff ff ff       jmpq   2b0 <.*>
+0+240 <.*>:
+ +[a-f0-9]+: ff 35 5a 01 20 00     pushq  0x20015a\(%rip\)        # 2003a0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 5c 01 20 00     jmpq   \*0x20015c\(%rip\)        # 2003a8 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
+
+0+250 <\*ABS\*\+0x29a@plt>:
+ +[a-f0-9]+: ff 25 5a 01 20 00     jmpq   \*0x20015a\(%rip\)        # 2003b0 <_GLOBAL_OFFSET_TABLE_\+0x18>
+ +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   240 <.plt>
+
+0+260 <func1@plt>:
+ +[a-f0-9]+: ff 25 52 01 20 00     jmpq   \*0x200152\(%rip\)        # 2003b8 <func1>
+ +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   240 <.plt>
+
+0+270 <func2@plt>:
+ +[a-f0-9]+: ff 25 4a 01 20 00     jmpq   \*0x20014a\(%rip\)        # 2003c0 <func2>
+ +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
+ +[a-f0-9]+: e9 c0 ff ff ff       jmpq   240 <.plt>
+
+0+280 <\*ABS\*\+0x290@plt>:
+ +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x30>
+ +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
+ +[a-f0-9]+: e9 b0 ff ff ff       jmpq   240 <.plt>
 
 Disassembly of section .text:
 
-0+300 <resolve1>:
-[ ]*[a-f0-9]+: e8 cb ff ff ff       callq  2d0 <func1@plt>
+0+290 <resolve1>:
+ +[a-f0-9]+: e8 cb ff ff ff       callq  260 <func1@plt>
 
-0+305 <g1>:
-[ ]*[a-f0-9]+: e9 e6 ff ff ff       jmpq   2f0 <\*ABS\*\+0x300@plt>
+0+295 <g1>:
+ +[a-f0-9]+: e9 e6 ff ff ff       jmpq   280 <\*ABS\*\+0x290@plt>
 
-0+30a <resolve2>:
-[ ]*[a-f0-9]+: e8 d1 ff ff ff       callq  2e0 <func2@plt>
+0+29a <resolve2>:
+ +[a-f0-9]+: e8 d1 ff ff ff       callq  270 <func2@plt>
 
-0+30f <g2>:
-[ ]*[a-f0-9]+: e9 ac ff ff ff       jmpq   2c0 <\*ABS\*\+0x30a@plt>
+0+29f <g2>:
+ +[a-f0-9]+: e9 ac ff ff ff       jmpq   250 <\*ABS\*\+0x29a@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-branch-1-now.d b/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
index 952bc88ed8..6998b0ea8b 100644
--- a/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
@@ -8,38 +8,38 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 82 01 20 00     pushq  0x200182\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 84 01 20 00     jmpq   \*0x200184\(%rip\)        # 200420 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+230 <.plt>:
+ +[a-f0-9]+: ff 35 82 01 20 00     pushq  0x200182\(%rip\)        # 2003b8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 84 01 20 00     jmpq   \*0x200184\(%rip\)        # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+2a0 <foo2@plt>:
- +[a-f0-9]+: ff 25 82 01 20 00     jmpq   \*0x200182\(%rip\)        # 200428 <foo2>
+0+240 <foo2@plt>:
+ +[a-f0-9]+: ff 25 82 01 20 00     jmpq   \*0x200182\(%rip\)        # 2003c8 <foo2>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   290 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   230 <.plt>
 
-0+2b0 <foo3@plt>:
- +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 200430 <foo3>
+0+250 <foo3@plt>:
+ +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 2003d0 <foo3>
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d0 ff ff ff       jmpq   290 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   230 <.plt>
 
-0+2c0 <foo1@plt>:
- +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 200438 <foo1>
+0+260 <foo1@plt>:
+ +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 2003d8 <foo1>
  +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
- +[a-f0-9]+: e9 c0 ff ff ff       jmpq   290 <.plt>
+ +[a-f0-9]+: e9 c0 ff ff ff       jmpq   230 <.plt>
 
-0+2d0 <foo4@plt>:
- +[a-f0-9]+: ff 25 6a 01 20 00     jmpq   \*0x20016a\(%rip\)        # 200440 <foo4>
+0+270 <foo4@plt>:
+ +[a-f0-9]+: ff 25 6a 01 20 00     jmpq   \*0x20016a\(%rip\)        # 2003e0 <foo4>
  +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
- +[a-f0-9]+: e9 b0 ff ff ff       jmpq   290 <.plt>
+ +[a-f0-9]+: e9 b0 ff ff ff       jmpq   230 <.plt>
 
 Disassembly of section .text:
 
-0+2e0 <_start>:
- +[a-f0-9]+: f2 e9 da ff ff ff     bnd jmpq 2c0 <foo1@plt>
- +[a-f0-9]+: e8 b5 ff ff ff       callq  2a0 <foo2@plt>
- +[a-f0-9]+: e9 c0 ff ff ff       jmpq   2b0 <foo3@plt>
- +[a-f0-9]+: e8 db ff ff ff       callq  2d0 <foo4@plt>
- +[a-f0-9]+: f2 e8 b5 ff ff ff     bnd callq 2b0 <foo3@plt>
- +[a-f0-9]+: e9 d0 ff ff ff       jmpq   2d0 <foo4@plt>
+0+280 <_start>:
+ +[a-f0-9]+: f2 e9 da ff ff ff     bnd jmpq 260 <foo1@plt>
+ +[a-f0-9]+: e8 b5 ff ff ff       callq  240 <foo2@plt>
+ +[a-f0-9]+: e9 c0 ff ff ff       jmpq   250 <foo3@plt>
+ +[a-f0-9]+: e8 db ff ff ff       callq  270 <foo4@plt>
+ +[a-f0-9]+: f2 e8 b5 ff ff ff     bnd callq 250 <foo3@plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   270 <foo4@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d b/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
index a32eaccd5c..aeb75247aa 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
@@ -8,26 +8,26 @@
 
 Disassembly of section .plt:
 
-0+1f0 <.plt>:
- +[a-f0-9]+: ff 35 4a 01 20 00     pushq  0x20014a\(%rip\)        # 200340 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 4b 01 20 00 bnd jmpq \*0x20014b\(%rip\)        # 200348 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+170 <.plt>:
+ +[a-f0-9]+: ff 35 4a 01 20 00     pushq  0x20014a\(%rip\)        # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 4b 01 20 00 bnd jmpq \*0x20014b\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1f0 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 170 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+210 <\*ABS\*\+0x218@plt>:
- +[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200350 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+190 <\*ABS\*\+0x198@plt>:
+ +[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+218 <foo>:
+0+198 <foo>:
  +[a-f0-9]+: f2 c3                 bnd retq
 
-0+21a <bar>:
- +[a-f0-9]+: f2 e8 f0 ff ff ff     bnd callq 210 <\*ABS\*\+0x218@plt>
+0+19a <bar>:
+ +[a-f0-9]+: f2 e8 f0 ff ff ff     bnd callq 190 <\*ABS\*\+0x198@plt>
  +[a-f0-9]+: f2 c3                 bnd retq
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d b/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
index 8bd144ed21..790e107586 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
@@ -8,52 +8,52 @@
 
 Disassembly of section .plt:
 
-0+2b0 <.plt>:
- +[a-f0-9]+: ff 35 9a 01 20 00     pushq  0x20019a\(%rip\)        # 200450 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 9b 01 20 00 bnd jmpq \*0x20019b\(%rip\)        # 200458 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+240 <.plt>:
+ +[a-f0-9]+: ff 35 9a 01 20 00     pushq  0x20019a\(%rip\)        # 2003e0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 9b 01 20 00 bnd jmpq \*0x20019b\(%rip\)        # 2003e8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 2b0 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 240 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 2b0 <.plt>
+ +[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 240 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 2b0 <.plt>
+ +[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 240 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
- +[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 2b0 <.plt>
+ +[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 240 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+300 <\*ABS\*\+0x32c@plt>:
- +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200460 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+290 <\*ABS\*\+0x2bc@plt>:
+ +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 2003f0 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 90                   nop
 
-0+308 <func1@plt>:
- +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200468 <func1>
+0+298 <func1@plt>:
+ +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 2003f8 <func1>
  +[a-f0-9]+: 90                   nop
 
-0+310 <func2@plt>:
- +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200470 <func2>
+0+2a0 <func2@plt>:
+ +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200400 <func2>
  +[a-f0-9]+: 90                   nop
 
-0+318 <\*ABS\*\+0x320@plt>:
- +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200478 <_GLOBAL_OFFSET_TABLE_\+0x30>
+0+2a8 <\*ABS\*\+0x2b0@plt>:
+ +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200408 <_GLOBAL_OFFSET_TABLE_\+0x30>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+320 <resolve1>:
- +[a-f0-9]+: f2 e8 e2 ff ff ff     bnd callq 308 <func1@plt>
+0+2b0 <resolve1>:
+ +[a-f0-9]+: f2 e8 e2 ff ff ff     bnd callq 298 <func1@plt>
 
-0+326 <g1>:
- +[a-f0-9]+: f2 e9 ec ff ff ff     bnd jmpq 318 <\*ABS\*\+0x320@plt>
+0+2b6 <g1>:
+ +[a-f0-9]+: f2 e9 ec ff ff ff     bnd jmpq 2a8 <\*ABS\*\+0x2b0@plt>
 
-0+32c <resolve2>:
- +[a-f0-9]+: f2 e8 de ff ff ff     bnd callq 310 <func2@plt>
+0+2bc <resolve2>:
+ +[a-f0-9]+: f2 e8 de ff ff ff     bnd callq 2a0 <func2@plt>
 
-0+332 <g2>:
- +[a-f0-9]+: f2 e9 c8 ff ff ff     bnd jmpq 300 <\*ABS\*\+0x32c@plt>
+0+2c2 <g2>:
+ +[a-f0-9]+: f2 e9 c8 ff ff ff     bnd jmpq 290 <\*ABS\*\+0x2bc@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-2.d b/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
index bee3bb299f..3e1997396f 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
@@ -3,52 +3,52 @@
 #objdump: -dw
 
 #...
-0+2b0 <.plt>:
-[ ]*[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 200430 <_GLOBAL_OFFSET_TABLE_\+0x8>
-[ ]*[a-f0-9]+: f2 ff 25 7b 01 20 00 bnd jmpq \*0x20017b\(%rip\)        # 200438 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+240 <.plt>:
+[ ]*[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)[ ]*(#.*)?
+[ ]*[a-f0-9]+: f2 ff 25 7b 01 20 00 bnd jmpq \*0x20017b\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
 [ ]*[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
-[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 2b0 <.*>
+[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 240 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
-[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 2b0 <.*>
+[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 240 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
-[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 2b0 <.*>
+[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 240 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
-[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 2b0 <.*>
+[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 240 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+300 <\*ABS\*\+0x32c@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200440 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+290 <\*ABS\*\+0x2bc@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+308 <func1@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200448 <func1>
+0+298 <func1@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+310 <func2@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200450 <func2>
+0+2a0 <func2@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+318 <\*ABS\*\+0x320@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200458 <_GLOBAL_OFFSET_TABLE_\+0x30>
+0+2a8 <\*ABS\*\+0x2b0@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+320 <resolve1>:
-[ ]*[a-f0-9]+: f2 e8 e2 ff ff ff     bnd callq 308 <func1@plt>
+0+2b0 <resolve1>:
+[ ]*[a-f0-9]+: f2 e8 e2 ff ff ff     bnd callq 298 <func1@plt>
 
-0+326 <g1>:
-[ ]*[a-f0-9]+: f2 e9 ec ff ff ff     bnd jmpq 318 <\*ABS\*\+0x320@plt>
+0+2b6 <g1>:
+[ ]*[a-f0-9]+: f2 e9 ec ff ff ff     bnd jmpq 2a8 <\*ABS\*\+0x2b0@plt>
 
-0+32c <resolve2>:
-[ ]*[a-f0-9]+: f2 e8 de ff ff ff     bnd callq 310 <func2@plt>
+0+2bc <resolve2>:
+[ ]*[a-f0-9]+: f2 e8 de ff ff ff     bnd callq 2a0 <func2@plt>
 
-0+332 <g2>:
-[ ]*[a-f0-9]+: f2 e9 c8 ff ff ff     bnd jmpq 300 <\*ABS\*\+0x32c@plt>
+0+2c2 <g2>:
+[ ]*[a-f0-9]+: f2 e9 c8 ff ff ff     bnd jmpq 290 <\*ABS\*\+0x2bc@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-plt-1-now.d b/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
index 4a713aacbf..8720e0e8d9 100644
--- a/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
@@ -8,48 +8,48 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 a2 01 20 00     pushq  0x2001a2\(%rip\)        # 200438 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\)        # 200440 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+230 <.plt>:
+ +[a-f0-9]+: ff 35 a2 01 20 00     pushq  0x2001a2\(%rip\)        # 2003d8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\)        # 2003e0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 230 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 230 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
- +[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 230 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
- +[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 230 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+2e0 <foo2@plt>:
- +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200448 <foo2>
+0+280 <foo2@plt>:
+ +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 2003e8 <foo2>
  +[a-f0-9]+: 90                   nop
 
-0+2e8 <foo3@plt>:
- +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200450 <foo3>
+0+288 <foo3@plt>:
+ +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 2003f0 <foo3>
  +[a-f0-9]+: 90                   nop
 
-0+2f0 <foo1@plt>:
- +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200458 <foo1>
+0+290 <foo1@plt>:
+ +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 2003f8 <foo1>
  +[a-f0-9]+: 90                   nop
 
-0+2f8 <foo4@plt>:
- +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200460 <foo4>
+0+298 <foo4@plt>:
+ +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200400 <foo4>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+300 <_start>:
- +[a-f0-9]+: f2 e9 ea ff ff ff     bnd jmpq 2f0 <foo1@plt>
- +[a-f0-9]+: e8 d5 ff ff ff       callq  2e0 <foo2@plt>
- +[a-f0-9]+: e9 d8 ff ff ff       jmpq   2e8 <foo3@plt>
- +[a-f0-9]+: e8 e3 ff ff ff       callq  2f8 <foo4@plt>
- +[a-f0-9]+: f2 e8 cd ff ff ff     bnd callq 2e8 <foo3@plt>
- +[a-f0-9]+: e9 d8 ff ff ff       jmpq   2f8 <foo4@plt>
+0+2a0 <_start>:
+ +[a-f0-9]+: f2 e9 ea ff ff ff     bnd jmpq 290 <foo1@plt>
+ +[a-f0-9]+: e8 d5 ff ff ff       callq  280 <foo2@plt>
+ +[a-f0-9]+: e9 d8 ff ff ff       jmpq   288 <foo3@plt>
+ +[a-f0-9]+: e8 e3 ff ff ff       callq  298 <foo4@plt>
+ +[a-f0-9]+: f2 e8 cd ff ff ff     bnd callq 288 <foo3@plt>
+ +[a-f0-9]+: e9 d8 ff ff ff       jmpq   298 <foo4@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-plt-1.d b/ld/testsuite/ld-x86-64/bnd-plt-1.d
index 71b56e3ba0..043db114fc 100644
--- a/ld/testsuite/ld-x86-64/bnd-plt-1.d
+++ b/ld/testsuite/ld-x86-64/bnd-plt-1.d
@@ -8,48 +8,48 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
-[ ]*[a-f0-9]+: ff 35 82 01 20 00     pushq  0x200182\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x8>
-[ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\)        # 200420 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+230 <.plt>:
+[ ]*[a-f0-9]+: ff 35 82 01 20 00     pushq  0x200182\(%rip\)[ ]*(#.*)?
+[ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
 [ ]*[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
-[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 290 <.*>
+[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 230 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
-[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 290 <.*>
+[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 230 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
-[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 290 <.*>
+[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 230 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
-[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 290 <.*>
+[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 230 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+2e0 <foo2@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)        # 200428 <foo2>
+0+280 <foo2@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+2e8 <foo3@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)        # 200430 <foo3>
+0+288 <foo3@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+2f0 <foo1@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)        # 200438 <foo1>
+0+290 <foo1@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+2f8 <foo4@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)        # 200440 <foo4>
+0+298 <foo4@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+300 <_start>:
-[ ]*[a-f0-9]+: f2 e9 ea ff ff ff     bnd jmpq 2f0 <foo1@plt>
-[ ]*[a-f0-9]+: e8 d5 ff ff ff       callq  2e0 <foo2@plt>
-[ ]*[a-f0-9]+: e9 d8 ff ff ff       jmpq   2e8 <foo3@plt>
-[ ]*[a-f0-9]+: e8 e3 ff ff ff       callq  2f8 <foo4@plt>
-[ ]*[a-f0-9]+: f2 e8 cd ff ff ff     bnd callq 2e8 <foo3@plt>
-[ ]*[a-f0-9]+: e9 d8 ff ff ff       jmpq   2f8 <foo4@plt>
+0+2a0 <_start>:
+[ ]*[a-f0-9]+: f2 e9 ea ff ff ff     bnd jmpq 290 <foo1@plt>
+[ ]*[a-f0-9]+: e8 d5 ff ff ff       callq  280 <foo2@plt>
+[ ]*[a-f0-9]+: e9 d8 ff ff ff       jmpq   288 <foo3@plt>
+[ ]*[a-f0-9]+: e8 e3 ff ff ff       callq  298 <foo4@plt>
+[ ]*[a-f0-9]+: f2 e8 cd ff ff ff     bnd callq 288 <foo3@plt>
+[ ]*[a-f0-9]+: e9 d8 ff ff ff       jmpq   298 <foo4@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
index 5cd0fd1151..21568c9cf8 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1c0 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+160 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1f0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
+ +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+200 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
+ +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  200 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  1a0 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1f0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   190 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-1.d b/ld/testsuite/ld-x86-64/ibt-plt-1.d
index 521f94167b..5a9dcb146e 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-1.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-1.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+220 <.plt>:
+ +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+2c0 <bar1@plt>:
+0+250 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200490 <bar1>
+ +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+2d0 <bar2@plt>:
+0+260 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200498 <bar2>
+ +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2e0 <foo>:
+0+270 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  2d0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  260 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   2c0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   250 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
index 8751767c4f..27f47d7179 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1c0 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+160 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1f0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
+ +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+200 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
+ +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  200 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  1a0 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1f0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   190 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2a.d b/ld/testsuite/ld-x86-64/ibt-plt-2a.d
index a7c7afbef4..62d77835b6 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2a.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2a.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+220 <.plt>:
+ +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+2c0 <bar1@plt>:
+0+250 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200490 <bar1>
+ +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+2d0 <bar2@plt>:
+0+260 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200498 <bar2>
+ +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2e0 <foo>:
+0+270 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  2d0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  260 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   2c0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   250 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
index c0fc080275..b4ca256895 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
-  DW_CFA_advance_loc: 4 to 00000214
+0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
+  DW_CFA_advance_loc: 4 to 000001b4
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_advance_loc: 9 to 000001bd
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2b.d b/ld/testsuite/ld-x86-64/ibt-plt-2b.d
index 6c3f7c966a..4a670ee1b9 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2b.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2b.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
-  DW_CFA_advance_loc: 4 to 00000000000002e4
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
+  DW_CFA_advance_loc: 4 to 0000000000000274
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_advance_loc: 9 to 000000000000027d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_advance_loc: 6 to 0000000000000226
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_advance_loc: 10 to 0000000000000230
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
index 9b99a04cec..e9f21b7252 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1c0 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+160 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1f0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
+ +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+200 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
+ +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  200 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  1a0 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1f0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   190 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2c.d b/ld/testsuite/ld-x86-64/ibt-plt-2c.d
index 3fd9a28771..fe28d89300 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2c.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2c.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+220 <.plt>:
+ +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+2c0 <bar1@plt>:
+0+250 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200490 <bar1>
+ +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+2d0 <bar2@plt>:
+0+260 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200498 <bar2>
+ +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2e0 <foo>:
+0+270 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  2d0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  260 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   2c0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   250 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
index 2262cf9045..34e9f1cd12 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
-  DW_CFA_advance_loc: 4 to 00000214
+0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
+  DW_CFA_advance_loc: 4 to 000001b4
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_advance_loc: 9 to 000001bd
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2d.d b/ld/testsuite/ld-x86-64/ibt-plt-2d.d
index 1bd1d7f839..93cc26f3e7 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2d.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2d.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
-  DW_CFA_advance_loc: 4 to 00000000000002e4
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
+  DW_CFA_advance_loc: 4 to 0000000000000274
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_advance_loc: 9 to 000000000000027d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_advance_loc: 6 to 0000000000000226
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_advance_loc: 10 to 0000000000000230
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -46,3 +46,4 @@ Displaying notes found in: .note.gnu.property
   Owner                 Data size Description
   GNU                  0x00000010 NT_GNU_PROPERTY_TYPE_0
       Properties: x86 feature: IBT
+#pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
index d11096f9cc..6b1b58d271 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1a0 <.plt>:
- +[a-f0-9]+: ff 35 4a 01 20 00     pushq  0x20014a\(%rip\)        # 2002f0 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 4c 01 20 00     jmpq   \*0x20014c\(%rip\)        # 2002f8 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+140 <.plt>:
+ +[a-f0-9]+: ff 35 4a 01 20 00     pushq  0x20014a\(%rip\)        # 200290 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 4c 01 20 00     jmpq   \*0x20014c\(%rip\)        # 200298 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1a0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1a0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1d0 <bar1@plt>:
+0+170 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 26 01 20 00     jmpq   \*0x200126\(%rip\)        # 200300 <bar1>
+ +[a-f0-9]+: ff 25 26 01 20 00     jmpq   \*0x200126\(%rip\)        # 2002a0 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+1e0 <bar2@plt>:
+0+180 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 1e 01 20 00     jmpq   \*0x20011e\(%rip\)        # 200308 <bar2>
+ +[a-f0-9]+: ff 25 1e 01 20 00     jmpq   \*0x20011e\(%rip\)        # 2002a8 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+1f0 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  1e0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  180 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1d0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   170 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3a.d b/ld/testsuite/ld-x86-64/ibt-plt-3a.d
index 0b6676e642..c365f700a0 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3a.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3a.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+250 <.plt>:
- +[a-f0-9]+: ff 35 ca 01 20 00     pushq  0x2001ca\(%rip\)        # 200420 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 cb 01 20 00 bnd jmpq \*0x2001cb\(%rip\)        # 200428 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1f0 <.plt>:
+ +[a-f0-9]+: ff 35 ca 01 20 00     pushq  0x2001ca\(%rip\)        # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 cb 01 20 00 bnd jmpq \*0x2001cb\(%rip\)        # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 250 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 1f0 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 250 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 1f0 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+280 <bar1@plt>:
+0+220 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 a5 01 20 00 bnd jmpq \*0x2001a5\(%rip\)        # 200430 <bar1>
+ +[a-f0-9]+: f2 ff 25 a5 01 20 00 bnd jmpq \*0x2001a5\(%rip\)        # 2003d0 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+290 <bar2@plt>:
+0+230 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 9d 01 20 00 bnd jmpq \*0x20019d\(%rip\)        # 200438 <bar2>
+ +[a-f0-9]+: f2 ff 25 9d 01 20 00 bnd jmpq \*0x20019d\(%rip\)        # 2003d8 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2a0 <foo>:
+0+240 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  290 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  230 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   280 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   220 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d
index 424054e9ea..0fc2198b1f 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000014 0000001c FDE cie=00000000 pc=000001f0..00000202
-  DW_CFA_advance_loc: 4 to 000001f4
+0+18 00000014 0000001c FDE cie=00000000 pc=00000190..000001a2
+  DW_CFA_advance_loc: 4 to 00000194
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 000001fd
+  DW_CFA_advance_loc: 9 to 0000019d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 00000020 00000034 FDE cie=00000000 pc=000001a0..000001d0
+0+30 00000020 00000034 FDE cie=00000000 pc=00000140..00000170
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 000001a6
+  DW_CFA_advance_loc: 6 to 00000146
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 000001b0
+  DW_CFA_advance_loc: 10 to 00000150
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+54 00000010 00000058 FDE cie=00000000 pc=000001d0..000001f0
+0+54 00000010 00000058 FDE cie=00000000 pc=00000170..00000190
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3b.d b/ld/testsuite/ld-x86-64/ibt-plt-3b.d
index 4956f19e8b..a998657387 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3b.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3b.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002a0..00000000000002b2
-  DW_CFA_advance_loc: 4 to 00000000000002a4
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000240..0000000000000252
+  DW_CFA_advance_loc: 4 to 0000000000000244
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 00000000000002ad
+  DW_CFA_advance_loc: 9 to 000000000000024d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000250..0000000000000280
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000220
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000256
+  DW_CFA_advance_loc: 6 to 00000000000001f6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000260
+  DW_CFA_advance_loc: 10 to 0000000000000200
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000280..00000000000002a0
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000220..0000000000000240
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
index 865df2c948..37f9182e68 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1c0 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+160 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1f0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
+ +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+200 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
+ +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  200 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  1a0 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1f0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   190 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3c.d b/ld/testsuite/ld-x86-64/ibt-plt-3c.d
index eed7b4dc17..4122452510 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3c.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3c.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+220 <.plt>:
+ +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+2c0 <bar1@plt>:
+0+250 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200490 <bar1>
+ +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+2d0 <bar2@plt>:
+0+260 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200498 <bar2>
+ +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2e0 <foo>:
+0+270 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  2d0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  260 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   2c0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   250 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
index bc18a59172..b6130a40e4 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
-  DW_CFA_advance_loc: 4 to 00000214
+0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
+  DW_CFA_advance_loc: 4 to 000001b4
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_advance_loc: 9 to 000001bd
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3d.d b/ld/testsuite/ld-x86-64/ibt-plt-3d.d
index de6a32ac75..2bf9e5de68 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3d.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3d.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
-  DW_CFA_advance_loc: 4 to 00000000000002e4
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
+  DW_CFA_advance_loc: 4 to 0000000000000274
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_advance_loc: 9 to 000000000000027d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_advance_loc: 6 to 0000000000000226
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_advance_loc: 10 to 0000000000000230
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
index 92c1f9cf9f..01cb85a817 100644
--- a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
+++ b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
@@ -10,21 +10,21 @@ Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al
  +\[ 0\] +NULL +0+ 0+ 0+ 00 +0 +0 +0
  +\[ 1\] \.text +PROGBITS +0+ 0+10000 +0+1 +00 +AX +0 +0 +1
- +\[ 2\] \.hash +HASH +100000b4 +0+b4 +0+28 +04 +A +3 +0 +4
- +\[ 3\] \.dynsym +DYNSYM +100000dc +0+dc +0+50 +10 +A +4 +1 +4
- +\[ 4\] \.dynstr +STRTAB +1000012c +0+12c +0+19 +00 +A +0 +0 +1
- +\[ 5\] \.dynamic +DYNAMIC +10010148 +0+148 +0+58 +08 +WA +4 +0 +4
+ +\[ 2\] \.hash +HASH +100000b4 +0+b4 +0+14 +04 +A +3 +0 +4
+ +\[ 3\] \.dynsym +DYNSYM +100000c8 +0+c8 +0+20 +10 +A +4 +1 +4
+ +\[ 4\] \.dynstr +STRTAB +100000e8 +0+e8 +0+8 +00 +A +0 +0 +1
+ +\[ 5\] \.dynamic +DYNAMIC +100100f0 +0+f0 +0+58 +08 +WA +4 +0 +4
  +\[ 6\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +7 +[0-9] +4
  +\[ 7\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
  +\[ 8\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ +0+40 +00 +0 +0 +1
 Key to Flags:
 #...
 
-Dynamic section at offset 0x148 contains 6 entries:
+Dynamic section at offset 0xf0 contains 6 entries:
   Tag        Type                         Name/Value
  0x00000004 \(HASH\)                       0x100000b4
- 0x00000005 \(STRTAB\)                     0x1000012c
- 0x00000006 \(SYMTAB\)                     0x100000dc
- 0x0000000a \(STRSZ\)                      25 \(bytes\)
+ 0x00000005 \(STRTAB\)                     0x100000e8
+ 0x00000006 \(SYMTAB\)                     0x100000c8
+ 0x0000000a \(STRSZ\)                      8 \(bytes\)
  0x0000000b \(SYMENT\)                     16 \(bytes\)
  0x00000000 \(NULL\)                       0x0
diff --git a/ld/testsuite/ld-x86-64/ilp32-4.d b/ld/testsuite/ld-x86-64/ilp32-4.d
index 74c5ede0c3..34be012056 100644
--- a/ld/testsuite/ld-x86-64/ilp32-4.d
+++ b/ld/testsuite/ld-x86-64/ilp32-4.d
@@ -8,9 +8,9 @@ There are 9 section headers, starting at offset .*:
 Section Headers:
   \[Nr\] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
   \[ 0\]                   NULL            00000000 000000 000000 00      0   0  0
-  \[ 1\] .hash             HASH            [0-9a-f]+ [0-9a-f]+ 000028 04   A  2   0  4
-  \[ 2\] .dynsym           DYNSYM          [0-9a-f]+ [0-9a-f]+ 000050 10   A  3   1  4
-  \[ 3\] .dynstr           STRTAB          [0-9a-f]+ [0-9a-f]+ 000019 00   A  0   0  1
+  \[ 1\] .hash             HASH            [0-9a-f]+ [0-9a-f]+ 000014 04   A  2   0  4
+  \[ 2\] .dynsym           DYNSYM          [0-9a-f]+ [0-9a-f]+ 000020 10   A  3   1  4
+  \[ 3\] .dynstr           STRTAB          [0-9a-f]+ [0-9a-f]+ 000008 00   A  0   0  1
   \[ 4\] .text             PROGBITS        [0-9a-f]+ [0-9a-f]+ 000001 00  AX  0   0  1
   \[ 5\] .dynamic          DYNAMIC         [0-9a-f]+ [0-9a-f]+ 000058 08  WA  3   0  4
   \[ 6\] .symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10      7   [0-9]  4
@@ -24,6 +24,6 @@ Dynamic section at offset 0x[0-9a-f]+ contains 6 entries:
  0x00000004 \(HASH\)                       0x[0-9a-f]+
  0x00000005 \(STRTAB\)                     0x[0-9a-f]+
  0x00000006 \(SYMTAB\)                     0x[0-9a-f]+
- 0x0000000a \(STRSZ\)                      25 \(bytes\)
+ 0x0000000a \(STRSZ\)                      8 \(bytes\)
  0x0000000b \(SYMENT\)                     16 \(bytes\)
  0x00000000 \(NULL\)                       0x0
diff --git a/ld/testsuite/ld-x86-64/load1c-nacl.d b/ld/testsuite/ld-x86-64/load1c-nacl.d
index 1ce80b4f34..f677b8d85e 100644
--- a/ld/testsuite/ld-x86-64/load1c-nacl.d
+++ b/ld/testsuite/ld-x86-64/load1c-nacl.d
@@ -9,40 +9,40 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[ ]*[a-f0-9]+: 13 05 0a 03 01 10     adc    0x1001030a\(%rip\),%eax        # 10010310 <.*>
-[ ]*[a-f0-9]+: 03 1d 04 03 01 10     add    0x10010304\(%rip\),%ebx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 23 0d fe 02 01 10     and    0x100102fe\(%rip\),%ecx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 3b 15 f8 02 01 10     cmp    0x100102f8\(%rip\),%edx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 0b 35 f2 02 01 10     or     0x100102f2\(%rip\),%esi        # 10010310 <.*>
-[ ]*[a-f0-9]+: 1b 3d ec 02 01 10     sbb    0x100102ec\(%rip\),%edi        # 10010310 <.*>
-[ ]*[a-f0-9]+: 2b 2d e6 02 01 10     sub    0x100102e6\(%rip\),%ebp        # 10010310 <.*>
-[ ]*[a-f0-9]+: 44 33 05 df 02 01 10 xor    0x100102df\(%rip\),%r8d        # 10010310 <.*>
-[ ]*[a-f0-9]+: 44 85 3d d8 02 01 10 test   %r15d,0x100102d8\(%rip\)        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 13 05 d1 02 01 10 adc    0x100102d1\(%rip\),%rax        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 03 1d ca 02 01 10 add    0x100102ca\(%rip\),%rbx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 23 0d c3 02 01 10 and    0x100102c3\(%rip\),%rcx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 bc 02 01 10 cmp    0x100102bc\(%rip\),%rdx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d b5 02 01 10 or     0x100102b5\(%rip\),%rdi        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 ae 02 01 10 sbb    0x100102ae\(%rip\),%rsi        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d a7 02 01 10 sub    0x100102a7\(%rip\),%rbp        # 10010310 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 a0 02 01 10 xor    0x100102a0\(%rip\),%r8        # 10010310 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 99 02 01 10 test   %r15,0x10010299\(%rip\)        # 10010310 <.*>
-[ ]*[a-f0-9]+: 13 05 9b 02 01 10     adc    0x1001029b\(%rip\),%eax        # 10010318 <.*>
-[ ]*[a-f0-9]+: 03 1d 95 02 01 10     add    0x10010295\(%rip\),%ebx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 23 0d 8f 02 01 10     and    0x1001028f\(%rip\),%ecx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 3b 15 89 02 01 10     cmp    0x10010289\(%rip\),%edx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 0b 35 83 02 01 10     or     0x10010283\(%rip\),%esi        # 10010318 <.*>
-[ ]*[a-f0-9]+: 1b 3d 7d 02 01 10     sbb    0x1001027d\(%rip\),%edi        # 10010318 <.*>
-[ ]*[a-f0-9]+: 2b 2d 77 02 01 10     sub    0x10010277\(%rip\),%ebp        # 10010318 <.*>
-[ ]*[a-f0-9]+: 44 33 05 70 02 01 10 xor    0x10010270\(%rip\),%r8d        # 10010318 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 69 02 01 10 test   %r15d,0x10010269\(%rip\)        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 13 05 62 02 01 10 adc    0x10010262\(%rip\),%rax        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 5b 02 01 10 add    0x1001025b\(%rip\),%rbx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 54 02 01 10 and    0x10010254\(%rip\),%rcx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 4d 02 01 10 cmp    0x1001024d\(%rip\),%rdx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 46 02 01 10 or     0x10010246\(%rip\),%rdi        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 3f 02 01 10 sbb    0x1001023f\(%rip\),%rsi        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 38 02 01 10 sub    0x10010238\(%rip\),%rbp        # 10010318 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 31 02 01 10 xor    0x10010231\(%rip\),%r8        # 10010318 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 2a 02 01 10 test   %r15,0x1001022a\(%rip\)        # 10010318 <.*>
+ +[a-f0-9]+: 13 05 9a 02 01 10     adc    0x1001029a\(%rip\),%eax        # 100102a0 <.got>
+ +[a-f0-9]+: 03 1d 94 02 01 10     add    0x10010294\(%rip\),%ebx        # 100102a0 <.got>
+ +[a-f0-9]+: 23 0d 8e 02 01 10     and    0x1001028e\(%rip\),%ecx        # 100102a0 <.got>
+ +[a-f0-9]+: 3b 15 88 02 01 10     cmp    0x10010288\(%rip\),%edx        # 100102a0 <.got>
+ +[a-f0-9]+: 0b 35 82 02 01 10     or     0x10010282\(%rip\),%esi        # 100102a0 <.got>
+ +[a-f0-9]+: 1b 3d 7c 02 01 10     sbb    0x1001027c\(%rip\),%edi        # 100102a0 <.got>
+ +[a-f0-9]+: 2b 2d 76 02 01 10     sub    0x10010276\(%rip\),%ebp        # 100102a0 <.got>
+ +[a-f0-9]+: 44 33 05 6f 02 01 10 xor    0x1001026f\(%rip\),%r8d        # 100102a0 <.got>
+ +[a-f0-9]+: 44 85 3d 68 02 01 10 test   %r15d,0x10010268\(%rip\)        # 100102a0 <.got>
+ +[a-f0-9]+: 48 13 05 61 02 01 10 adc    0x10010261\(%rip\),%rax        # 100102a0 <.got>
+ +[a-f0-9]+: 48 03 1d 5a 02 01 10 add    0x1001025a\(%rip\),%rbx        # 100102a0 <.got>
+ +[a-f0-9]+: 48 23 0d 53 02 01 10 and    0x10010253\(%rip\),%rcx        # 100102a0 <.got>
+ +[a-f0-9]+: 48 3b 15 4c 02 01 10 cmp    0x1001024c\(%rip\),%rdx        # 100102a0 <.got>
+ +[a-f0-9]+: 48 0b 3d 45 02 01 10 or     0x10010245\(%rip\),%rdi        # 100102a0 <.got>
+ +[a-f0-9]+: 48 1b 35 3e 02 01 10 sbb    0x1001023e\(%rip\),%rsi        # 100102a0 <.got>
+ +[a-f0-9]+: 48 2b 2d 37 02 01 10 sub    0x10010237\(%rip\),%rbp        # 100102a0 <.got>
+ +[a-f0-9]+: 4c 33 05 30 02 01 10 xor    0x10010230\(%rip\),%r8        # 100102a0 <.got>
+ +[a-f0-9]+: 4c 85 3d 29 02 01 10 test   %r15,0x10010229\(%rip\)        # 100102a0 <.got>
+ +[a-f0-9]+: 13 05 2b 02 01 10     adc    0x1001022b\(%rip\),%eax        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 03 1d 25 02 01 10     add    0x10010225\(%rip\),%ebx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 23 0d 1f 02 01 10     and    0x1001021f\(%rip\),%ecx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 3b 15 19 02 01 10     cmp    0x10010219\(%rip\),%edx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 0b 35 13 02 01 10     or     0x10010213\(%rip\),%esi        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 1b 3d 0d 02 01 10     sbb    0x1001020d\(%rip\),%edi        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 2b 2d 07 02 01 10     sub    0x10010207\(%rip\),%ebp        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 44 33 05 00 02 01 10 xor    0x10010200\(%rip\),%r8d        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 44 85 3d f9 01 01 10 test   %r15d,0x100101f9\(%rip\)        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 13 05 f2 01 01 10 adc    0x100101f2\(%rip\),%rax        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 03 1d eb 01 01 10 add    0x100101eb\(%rip\),%rbx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 23 0d e4 01 01 10 and    0x100101e4\(%rip\),%rcx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 3b 15 dd 01 01 10 cmp    0x100101dd\(%rip\),%rdx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 0b 3d d6 01 01 10 or     0x100101d6\(%rip\),%rdi        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 1b 35 cf 01 01 10 sbb    0x100101cf\(%rip\),%rsi        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 2b 2d c8 01 01 10 sub    0x100101c8\(%rip\),%rbp        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 4c 33 05 c1 01 01 10 xor    0x100101c1\(%rip\),%r8        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 4c 85 3d ba 01 01 10 test   %r15,0x100101ba\(%rip\)        # 100102a8 <foo-0x21>
 #pass
diff --git a/ld/testsuite/ld-x86-64/load1c.d b/ld/testsuite/ld-x86-64/load1c.d
index 16679dc249..3b75352924 100644
--- a/ld/testsuite/ld-x86-64/load1c.d
+++ b/ld/testsuite/ld-x86-64/load1c.d
@@ -9,40 +9,40 @@
 Disassembly of section .text:
 
 [a-f0-9]+ <_start>:
-[ ]*[a-f0-9]+: 13 05 ca 01 20 00     adc    0x2001ca\(%rip\),%eax        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 03 1d c4 01 20 00     add    0x2001c4\(%rip\),%ebx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 23 0d be 01 20 00     and    0x2001be\(%rip\),%ecx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 3b 15 b8 01 20 00     cmp    0x2001b8\(%rip\),%edx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 0b 35 b2 01 20 00     or     0x2001b2\(%rip\),%esi        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 1b 3d ac 01 20 00     sbb    0x2001ac\(%rip\),%edi        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 2b 2d a6 01 20 00     sub    0x2001a6\(%rip\),%ebp        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 44 33 05 9f 01 20 00 xor    0x20019f\(%rip\),%r8d        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 98 01 20 00 test   %r15d,0x200198\(%rip\)        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 13 05 91 01 20 00 adc    0x200191\(%rip\),%rax        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 8a 01 20 00 add    0x20018a\(%rip\),%rbx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 83 01 20 00 and    0x200183\(%rip\),%rcx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 7c 01 20 00 cmp    0x20017c\(%rip\),%rdx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 75 01 20 00 or     0x200175\(%rip\),%rdi        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 6e 01 20 00 sbb    0x20016e\(%rip\),%rsi        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 67 01 20 00 sub    0x200167\(%rip\),%rbp        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 60 01 20 00 xor    0x200160\(%rip\),%r8        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 59 01 20 00 test   %r15,0x200159\(%rip\)        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 13 05 5b 01 20 00     adc    0x20015b\(%rip\),%eax        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 03 1d 55 01 20 00     add    0x200155\(%rip\),%ebx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 23 0d 4f 01 20 00     and    0x20014f\(%rip\),%ecx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 3b 15 49 01 20 00     cmp    0x200149\(%rip\),%edx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 0b 35 43 01 20 00     or     0x200143\(%rip\),%esi        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 1b 3d 3d 01 20 00     sbb    0x20013d\(%rip\),%edi        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 2b 2d 37 01 20 00     sub    0x200137\(%rip\),%ebp        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 44 33 05 30 01 20 00 xor    0x200130\(%rip\),%r8d        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 29 01 20 00 test   %r15d,0x200129\(%rip\)        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 13 05 22 01 20 00 adc    0x200122\(%rip\),%rax        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 1b 01 20 00 add    0x20011b\(%rip\),%rbx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 14 01 20 00 and    0x200114\(%rip\),%rcx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 0d 01 20 00 cmp    0x20010d\(%rip\),%rdx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 06 01 20 00 or     0x200106\(%rip\),%rdi        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 ff 00 20 00 sbb    0x2000ff\(%rip\),%rsi        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d f8 00 20 00 sub    0x2000f8\(%rip\),%rbp        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 f1 00 20 00 xor    0x2000f1\(%rip\),%r8        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d ea 00 20 00 test   %r15,0x2000ea\(%rip\)        # 2003d0 <.*>
+[ ]*[a-f0-9]+: 13 05 ca 01 20 00     adc    0x2001ca\(%rip\),%eax        # 200358 <.*>
+[ ]*[a-f0-9]+: 03 1d c4 01 20 00     add    0x2001c4\(%rip\),%ebx        # 200358 <.*>
+[ ]*[a-f0-9]+: 23 0d be 01 20 00     and    0x2001be\(%rip\),%ecx        # 200358 <.*>
+[ ]*[a-f0-9]+: 3b 15 b8 01 20 00     cmp    0x2001b8\(%rip\),%edx        # 200358 <.*>
+[ ]*[a-f0-9]+: 0b 35 b2 01 20 00     or     0x2001b2\(%rip\),%esi        # 200358 <.*>
+[ ]*[a-f0-9]+: 1b 3d ac 01 20 00     sbb    0x2001ac\(%rip\),%edi        # 200358 <.*>
+[ ]*[a-f0-9]+: 2b 2d a6 01 20 00     sub    0x2001a6\(%rip\),%ebp        # 200358 <.*>
+[ ]*[a-f0-9]+: 44 33 05 9f 01 20 00 xor    0x20019f\(%rip\),%r8d        # 200358 <.*>
+[ ]*[a-f0-9]+: 44 85 3d 98 01 20 00 test   %r15d,0x200198\(%rip\)        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 13 05 91 01 20 00 adc    0x200191\(%rip\),%rax        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 03 1d 8a 01 20 00 add    0x20018a\(%rip\),%rbx        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 23 0d 83 01 20 00 and    0x200183\(%rip\),%rcx        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 3b 15 7c 01 20 00 cmp    0x20017c\(%rip\),%rdx        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 0b 3d 75 01 20 00 or     0x200175\(%rip\),%rdi        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 1b 35 6e 01 20 00 sbb    0x20016e\(%rip\),%rsi        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 2b 2d 67 01 20 00 sub    0x200167\(%rip\),%rbp        # 200358 <.*>
+[ ]*[a-f0-9]+: 4c 33 05 60 01 20 00 xor    0x200160\(%rip\),%r8        # 200358 <.*>
+[ ]*[a-f0-9]+: 4c 85 3d 59 01 20 00 test   %r15,0x200159\(%rip\)        # 200358 <.*>
+[ ]*[a-f0-9]+: 13 05 5b 01 20 00     adc    0x20015b\(%rip\),%eax        # 200360 <.*>
+[ ]*[a-f0-9]+: 03 1d 55 01 20 00     add    0x200155\(%rip\),%ebx        # 200360 <.*>
+[ ]*[a-f0-9]+: 23 0d 4f 01 20 00     and    0x20014f\(%rip\),%ecx        # 200360 <.*>
+[ ]*[a-f0-9]+: 3b 15 49 01 20 00     cmp    0x200149\(%rip\),%edx        # 200360 <.*>
+[ ]*[a-f0-9]+: 0b 35 43 01 20 00     or     0x200143\(%rip\),%esi        # 200360 <.*>
+[ ]*[a-f0-9]+: 1b 3d 3d 01 20 00     sbb    0x20013d\(%rip\),%edi        # 200360 <.*>
+[ ]*[a-f0-9]+: 2b 2d 37 01 20 00     sub    0x200137\(%rip\),%ebp        # 200360 <.*>
+[ ]*[a-f0-9]+: 44 33 05 30 01 20 00 xor    0x200130\(%rip\),%r8d        # 200360 <.*>
+[ ]*[a-f0-9]+: 44 85 3d 29 01 20 00 test   %r15d,0x200129\(%rip\)        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 13 05 22 01 20 00 adc    0x200122\(%rip\),%rax        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 03 1d 1b 01 20 00 add    0x20011b\(%rip\),%rbx        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 23 0d 14 01 20 00 and    0x200114\(%rip\),%rcx        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 3b 15 0d 01 20 00 cmp    0x20010d\(%rip\),%rdx        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 0b 3d 06 01 20 00 or     0x200106\(%rip\),%rdi        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 1b 35 ff 00 20 00 sbb    0x2000ff\(%rip\),%rsi        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 2b 2d f8 00 20 00 sub    0x2000f8\(%rip\),%rbp        # 200360 <.*>
+[ ]*[a-f0-9]+: 4c 33 05 f1 00 20 00 xor    0x2000f1\(%rip\),%r8        # 200360 <.*>
+[ ]*[a-f0-9]+: 4c 85 3d ea 00 20 00 test   %r15,0x2000ea\(%rip\)        # 200360 <.*>
 #pass
diff --git a/ld/testsuite/ld-x86-64/load1d-nacl.d b/ld/testsuite/ld-x86-64/load1d-nacl.d
index 19fea1afda..db1f7af612 100644
--- a/ld/testsuite/ld-x86-64/load1d-nacl.d
+++ b/ld/testsuite/ld-x86-64/load1d-nacl.d
@@ -9,40 +9,40 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[ ]*[a-f0-9]+: 13 05 e2 01 01 10     adc    0x100101e2\(%rip\),%eax        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 03 1d dc 01 01 10     add    0x100101dc\(%rip\),%ebx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 23 0d d6 01 01 10     and    0x100101d6\(%rip\),%ecx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 3b 15 d0 01 01 10     cmp    0x100101d0\(%rip\),%edx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 0b 35 ca 01 01 10     or     0x100101ca\(%rip\),%esi        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 1b 3d c4 01 01 10     sbb    0x100101c4\(%rip\),%edi        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 2b 2d be 01 01 10     sub    0x100101be\(%rip\),%ebp        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 44 33 05 b7 01 01 10 xor    0x100101b7\(%rip\),%r8d        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 44 85 3d b0 01 01 10 test   %r15d,0x100101b0\(%rip\)        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 13 05 a9 01 01 10 adc    0x100101a9\(%rip\),%rax        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 03 1d a2 01 01 10 add    0x100101a2\(%rip\),%rbx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 9b 01 01 10 and    0x1001019b\(%rip\),%rcx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 94 01 01 10 cmp    0x10010194\(%rip\),%rdx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 8d 01 01 10 or     0x1001018d\(%rip\),%rdi        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 86 01 01 10 sbb    0x10010186\(%rip\),%rsi        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 7f 01 01 10 sub    0x1001017f\(%rip\),%rbp        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 78 01 01 10 xor    0x10010178\(%rip\),%r8        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 71 01 01 10 test   %r15,0x10010171\(%rip\)        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 13 05 73 01 01 10     adc    0x10010173\(%rip\),%eax        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 03 1d 6d 01 01 10     add    0x1001016d\(%rip\),%ebx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 23 0d 67 01 01 10     and    0x10010167\(%rip\),%ecx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 3b 15 61 01 01 10     cmp    0x10010161\(%rip\),%edx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 0b 35 5b 01 01 10     or     0x1001015b\(%rip\),%esi        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 1b 3d 55 01 01 10     sbb    0x10010155\(%rip\),%edi        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 2b 2d 4f 01 01 10     sub    0x1001014f\(%rip\),%ebp        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 44 33 05 48 01 01 10 xor    0x10010148\(%rip\),%r8d        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 41 01 01 10 test   %r15d,0x10010141\(%rip\)        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 13 05 3a 01 01 10 adc    0x1001013a\(%rip\),%rax        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 33 01 01 10 add    0x10010133\(%rip\),%rbx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 2c 01 01 10 and    0x1001012c\(%rip\),%rcx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 25 01 01 10 cmp    0x10010125\(%rip\),%rdx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 1e 01 01 10 or     0x1001011e\(%rip\),%rdi        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 17 01 01 10 sbb    0x10010117\(%rip\),%rsi        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 10 01 01 10 sub    0x10010110\(%rip\),%rbp        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 09 01 01 10 xor    0x10010109\(%rip\),%r8        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 02 01 01 10 test   %r15,0x10010102\(%rip\)        # 100101f0 <.*>
+ +[a-f0-9]+: 13 05 8a 01 01 10     adc    0x1001018a\(%rip\),%eax        # 10010190 <.got>
+ +[a-f0-9]+: 03 1d 84 01 01 10     add    0x10010184\(%rip\),%ebx        # 10010190 <.got>
+ +[a-f0-9]+: 23 0d 7e 01 01 10     and    0x1001017e\(%rip\),%ecx        # 10010190 <.got>
+ +[a-f0-9]+: 3b 15 78 01 01 10     cmp    0x10010178\(%rip\),%edx        # 10010190 <.got>
+ +[a-f0-9]+: 0b 35 72 01 01 10     or     0x10010172\(%rip\),%esi        # 10010190 <.got>
+ +[a-f0-9]+: 1b 3d 6c 01 01 10     sbb    0x1001016c\(%rip\),%edi        # 10010190 <.got>
+ +[a-f0-9]+: 2b 2d 66 01 01 10     sub    0x10010166\(%rip\),%ebp        # 10010190 <.got>
+ +[a-f0-9]+: 44 33 05 5f 01 01 10 xor    0x1001015f\(%rip\),%r8d        # 10010190 <.got>
+ +[a-f0-9]+: 44 85 3d 58 01 01 10 test   %r15d,0x10010158\(%rip\)        # 10010190 <.got>
+ +[a-f0-9]+: 48 13 05 51 01 01 10 adc    0x10010151\(%rip\),%rax        # 10010190 <.got>
+ +[a-f0-9]+: 48 03 1d 4a 01 01 10 add    0x1001014a\(%rip\),%rbx        # 10010190 <.got>
+ +[a-f0-9]+: 48 23 0d 43 01 01 10 and    0x10010143\(%rip\),%rcx        # 10010190 <.got>
+ +[a-f0-9]+: 48 3b 15 3c 01 01 10 cmp    0x1001013c\(%rip\),%rdx        # 10010190 <.got>
+ +[a-f0-9]+: 48 0b 3d 35 01 01 10 or     0x10010135\(%rip\),%rdi        # 10010190 <.got>
+ +[a-f0-9]+: 48 1b 35 2e 01 01 10 sbb    0x1001012e\(%rip\),%rsi        # 10010190 <.got>
+ +[a-f0-9]+: 48 2b 2d 27 01 01 10 sub    0x10010127\(%rip\),%rbp        # 10010190 <.got>
+ +[a-f0-9]+: 4c 33 05 20 01 01 10 xor    0x10010120\(%rip\),%r8        # 10010190 <.got>
+ +[a-f0-9]+: 4c 85 3d 19 01 01 10 test   %r15,0x10010119\(%rip\)        # 10010190 <.got>
+ +[a-f0-9]+: 13 05 1b 01 01 10     adc    0x1001011b\(%rip\),%eax        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 03 1d 15 01 01 10     add    0x10010115\(%rip\),%ebx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 23 0d 0f 01 01 10     and    0x1001010f\(%rip\),%ecx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 3b 15 09 01 01 10     cmp    0x10010109\(%rip\),%edx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 0b 35 03 01 01 10     or     0x10010103\(%rip\),%esi        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 1b 3d fd 00 01 10     sbb    0x100100fd\(%rip\),%edi        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 2b 2d f7 00 01 10     sub    0x100100f7\(%rip\),%ebp        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 44 33 05 f0 00 01 10 xor    0x100100f0\(%rip\),%r8d        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 44 85 3d e9 00 01 10 test   %r15d,0x100100e9\(%rip\)        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 13 05 e2 00 01 10 adc    0x100100e2\(%rip\),%rax        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 03 1d db 00 01 10 add    0x100100db\(%rip\),%rbx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 23 0d d4 00 01 10 and    0x100100d4\(%rip\),%rcx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 3b 15 cd 00 01 10 cmp    0x100100cd\(%rip\),%rdx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 0b 3d c6 00 01 10 or     0x100100c6\(%rip\),%rdi        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 1b 35 bf 00 01 10 sbb    0x100100bf\(%rip\),%rsi        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 2b 2d b8 00 01 10 sub    0x100100b8\(%rip\),%rbp        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 4c 33 05 b1 00 01 10 xor    0x100100b1\(%rip\),%r8        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 4c 85 3d aa 00 01 10 test   %r15,0x100100aa\(%rip\)        # 10010198 <foo-0x21>
 #pass
diff --git a/ld/testsuite/ld-x86-64/load1d.d b/ld/testsuite/ld-x86-64/load1d.d
index 28f6b98f21..c7550e28d7 100644
--- a/ld/testsuite/ld-x86-64/load1d.d
+++ b/ld/testsuite/ld-x86-64/load1d.d
@@ -9,40 +9,40 @@
 Disassembly of section .text:
 
 0+[a-f0-9]+ <_start>:
-[ ]*[a-f0-9]+: 13 05 5a 01 20 00     adc    0x20015a\(%rip\),%eax        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 03 1d 54 01 20 00     add    0x200154\(%rip\),%ebx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 23 0d 4e 01 20 00     and    0x20014e\(%rip\),%ecx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 3b 15 48 01 20 00     cmp    0x200148\(%rip\),%edx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 0b 35 42 01 20 00     or     0x200142\(%rip\),%esi        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 1b 3d 3c 01 20 00     sbb    0x20013c\(%rip\),%edi        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 2b 2d 36 01 20 00     sub    0x200136\(%rip\),%ebp        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 44 33 05 2f 01 20 00 xor    0x20012f\(%rip\),%r8d        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 28 01 20 00 test   %r15d,0x200128\(%rip\)        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 13 05 21 01 20 00 adc    0x200121\(%rip\),%rax        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 1a 01 20 00 add    0x20011a\(%rip\),%rbx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 13 01 20 00 and    0x200113\(%rip\),%rcx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 0c 01 20 00 cmp    0x20010c\(%rip\),%rdx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 05 01 20 00 or     0x200105\(%rip\),%rdi        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 fe 00 20 00 sbb    0x2000fe\(%rip\),%rsi        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d f7 00 20 00 sub    0x2000f7\(%rip\),%rbp        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 f0 00 20 00 xor    0x2000f0\(%rip\),%r8        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d e9 00 20 00 test   %r15,0x2000e9\(%rip\)        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 13 05 eb 00 20 00     adc    0x2000eb\(%rip\),%eax        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 03 1d e5 00 20 00     add    0x2000e5\(%rip\),%ebx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 23 0d df 00 20 00     and    0x2000df\(%rip\),%ecx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 3b 15 d9 00 20 00     cmp    0x2000d9\(%rip\),%edx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 0b 35 d3 00 20 00     or     0x2000d3\(%rip\),%esi        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 1b 3d cd 00 20 00     sbb    0x2000cd\(%rip\),%edi        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 2b 2d c7 00 20 00     sub    0x2000c7\(%rip\),%ebp        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 44 33 05 c0 00 20 00 xor    0x2000c0\(%rip\),%r8d        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 44 85 3d b9 00 20 00 test   %r15d,0x2000b9\(%rip\)        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 13 05 b2 00 20 00 adc    0x2000b2\(%rip\),%rax        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 03 1d ab 00 20 00 add    0x2000ab\(%rip\),%rbx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 23 0d a4 00 20 00 and    0x2000a4\(%rip\),%rcx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 9d 00 20 00 cmp    0x20009d\(%rip\),%rdx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 96 00 20 00 or     0x200096\(%rip\),%rdi        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 8f 00 20 00 sbb    0x20008f\(%rip\),%rsi        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 88 00 20 00 sub    0x200088\(%rip\),%rbp        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 81 00 20 00 xor    0x200081\(%rip\),%r8        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 7a 00 20 00 test   %r15,0x20007a\(%rip\)        # 2002c0 <.*>
+[ ]*[a-f0-9]+: 13 05 5a 01 20 00     adc    0x20015a\(%rip\),%eax        # 200260 <.*>
+[ ]*[a-f0-9]+: 03 1d 54 01 20 00     add    0x200154\(%rip\),%ebx        # 200260 <.*>
+[ ]*[a-f0-9]+: 23 0d 4e 01 20 00     and    0x20014e\(%rip\),%ecx        # 200260 <.*>
+[ ]*[a-f0-9]+: 3b 15 48 01 20 00     cmp    0x200148\(%rip\),%edx        # 200260 <.*>
+[ ]*[a-f0-9]+: 0b 35 42 01 20 00     or     0x200142\(%rip\),%esi        # 200260 <.*>
+[ ]*[a-f0-9]+: 1b 3d 3c 01 20 00     sbb    0x20013c\(%rip\),%edi        # 200260 <.*>
+[ ]*[a-f0-9]+: 2b 2d 36 01 20 00     sub    0x200136\(%rip\),%ebp        # 200260 <.*>
+[ ]*[a-f0-9]+: 44 33 05 2f 01 20 00 xor    0x20012f\(%rip\),%r8d        # 200260 <.*>
+[ ]*[a-f0-9]+: 44 85 3d 28 01 20 00 test   %r15d,0x200128\(%rip\)        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 13 05 21 01 20 00 adc    0x200121\(%rip\),%rax        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 03 1d 1a 01 20 00 add    0x20011a\(%rip\),%rbx        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 23 0d 13 01 20 00 and    0x200113\(%rip\),%rcx        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 3b 15 0c 01 20 00 cmp    0x20010c\(%rip\),%rdx        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 0b 3d 05 01 20 00 or     0x200105\(%rip\),%rdi        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 1b 35 fe 00 20 00 sbb    0x2000fe\(%rip\),%rsi        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 2b 2d f7 00 20 00 sub    0x2000f7\(%rip\),%rbp        # 200260 <.*>
+[ ]*[a-f0-9]+: 4c 33 05 f0 00 20 00 xor    0x2000f0\(%rip\),%r8        # 200260 <.*>
+[ ]*[a-f0-9]+: 4c 85 3d e9 00 20 00 test   %r15,0x2000e9\(%rip\)        # 200260 <.*>
+[ ]*[a-f0-9]+: 13 05 eb 00 20 00     adc    0x2000eb\(%rip\),%eax        # 200268 <.*>
+[ ]*[a-f0-9]+: 03 1d e5 00 20 00     add    0x2000e5\(%rip\),%ebx        # 200268 <.*>
+[ ]*[a-f0-9]+: 23 0d df 00 20 00     and    0x2000df\(%rip\),%ecx        # 200268 <.*>
+[ ]*[a-f0-9]+: 3b 15 d9 00 20 00     cmp    0x2000d9\(%rip\),%edx        # 200268 <.*>
+[ ]*[a-f0-9]+: 0b 35 d3 00 20 00     or     0x2000d3\(%rip\),%esi        # 200268 <.*>
+[ ]*[a-f0-9]+: 1b 3d cd 00 20 00     sbb    0x2000cd\(%rip\),%edi        # 200268 <.*>
+[ ]*[a-f0-9]+: 2b 2d c7 00 20 00     sub    0x2000c7\(%rip\),%ebp        # 200268 <.*>
+[ ]*[a-f0-9]+: 44 33 05 c0 00 20 00 xor    0x2000c0\(%rip\),%r8d        # 200268 <.*>
+[ ]*[a-f0-9]+: 44 85 3d b9 00 20 00 test   %r15d,0x2000b9\(%rip\)        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 13 05 b2 00 20 00 adc    0x2000b2\(%rip\),%rax        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 03 1d ab 00 20 00 add    0x2000ab\(%rip\),%rbx        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 23 0d a4 00 20 00 and    0x2000a4\(%rip\),%rcx        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 3b 15 9d 00 20 00 cmp    0x20009d\(%rip\),%rdx        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 0b 3d 96 00 20 00 or     0x200096\(%rip\),%rdi        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 1b 35 8f 00 20 00 sbb    0x20008f\(%rip\),%rsi        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 2b 2d 88 00 20 00 sub    0x200088\(%rip\),%rbp        # 200268 <.*>
+[ ]*[a-f0-9]+: 4c 33 05 81 00 20 00 xor    0x200081\(%rip\),%r8        # 200268 <.*>
+[ ]*[a-f0-9]+: 4c 85 3d 7a 00 20 00 test   %r15,0x20007a\(%rip\)        # 200268 <.*>
 #pass
diff --git a/ld/testsuite/ld-x86-64/mpx3n.dd b/ld/testsuite/ld-x86-64/mpx3n.dd
index 4dd8c12499..505237e1c1 100644
--- a/ld/testsuite/ld-x86-64/mpx3n.dd
+++ b/ld/testsuite/ld-x86-64/mpx3n.dd
@@ -3,26 +3,26 @@
 
 Disassembly of section .plt:
 
-0+400290 <.plt>:
- +[a-f0-9]+: ff 35 a2 01 20 00     pushq  0x2001a2\(%rip\)        # 600438 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\)        # 600440 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+400220 <.plt>:
+ +[a-f0-9]+: ff 35 a2 01 20 00     pushq  0x2001a2\(%rip\)        # 6003c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\)        # 6003d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 400290 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 400220 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+4002b0 <call1@plt>:
- +[a-f0-9]+: f2 ff 25 91 01 20 00 bnd jmpq \*0x200191\(%rip\)        # 600448 <call1>
+0+400240 <call1@plt>:
+ +[a-f0-9]+: f2 ff 25 91 01 20 00 bnd jmpq \*0x200191\(%rip\)        # 6003d8 <call1>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+4002b8 <_start>:
- +[a-f0-9]+: bf b0 02 40 00       mov    \$0x4002b0,%edi
+0+400248 <_start>:
+ +[a-f0-9]+: bf 40 02 40 00       mov    \$0x400240,%edi
  +[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
- +[a-f0-9]+: 48 8b 3d 89 01 20 00 mov    0x200189\(%rip\),%rdi        # 600450 <call2>
+ +[a-f0-9]+: 48 8b 3d 89 01 20 00 mov    0x200189\(%rip\),%rdi        # 6003e0 <call2>
  +[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
  +[a-f0-9]+: c3                   retq  
 #pass
diff --git a/ld/testsuite/ld-x86-64/mpx4.dd b/ld/testsuite/ld-x86-64/mpx4.dd
index c7af5b2b99..0da0840385 100644
--- a/ld/testsuite/ld-x86-64/mpx4.dd
+++ b/ld/testsuite/ld-x86-64/mpx4.dd
@@ -3,22 +3,22 @@
 
 Disassembly of section .plt:
 
-0+400260 <.plt>:
-[   ]*[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x8>
-[   ]*[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\)        # 6003b0 <_GLOBAL_OFFSET_TABLE_\+0x10>
-[   ]*[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
-[   ]*[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
-[   ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 400260 <.plt>
-[   ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
+0+4001f0 <.plt>:
+ +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 600338 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\)        # 600340 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
+ +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 4001f0 <.plt>
+ +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+400280 <call1@plt>:
-[   ]*[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\)        # 6003b8 <call1>
-[   ]*[a-f0-9]+: 90                   nop
+0+400210 <call1@plt>:
+ +[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\)        # 600348 <call1>
+ +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+400288 <_start>:
-[   ]*[a-f0-9]+: bf 80 02 40 00       mov    \$0x400280,%edi
-[   ]*[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
+0+400218 <_start>:
+ +[a-f0-9]+: bf 10 02 40 00       mov    \$0x400210,%edi
+ +[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
diff --git a/ld/testsuite/ld-x86-64/mpx4n.dd b/ld/testsuite/ld-x86-64/mpx4n.dd
index a82be089de..73ebb8d127 100644
--- a/ld/testsuite/ld-x86-64/mpx4n.dd
+++ b/ld/testsuite/ld-x86-64/mpx4n.dd
@@ -3,23 +3,23 @@
 
 Disassembly of section .plt:
 
-0+400260 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 6003c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 63 01 20 00 bnd jmpq \*0x200163\(%rip\)        # 6003d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+4001f0 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 600358 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 63 01 20 00 bnd jmpq \*0x200163\(%rip\)        # 600360 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 400260 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 4001f0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+400280 <call1@plt>:
- +[a-f0-9]+: f2 ff 25 51 01 20 00 bnd jmpq \*0x200151\(%rip\)        # 6003d8 <call1>
+0+400210 <call1@plt>:
+ +[a-f0-9]+: f2 ff 25 51 01 20 00 bnd jmpq \*0x200151\(%rip\)        # 600368 <call1>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+400288 <_start>:
- +[a-f0-9]+: bf 80 02 40 00       mov    \$0x400280,%edi
+0+400218 <_start>:
+ +[a-f0-9]+: bf 10 02 40 00       mov    \$0x400210,%edi
  +[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
 #pass
diff --git a/ld/testsuite/ld-x86-64/plt2.dd b/ld/testsuite/ld-x86-64/plt2.dd
index 0321428214..7c05c6ff1f 100644
--- a/ld/testsuite/ld-x86-64/plt2.dd
+++ b/ld/testsuite/ld-x86-64/plt2.dd
@@ -9,25 +9,25 @@
 
 Disassembly of section .plt:
 
-0+400290 <.plt>:
- +[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 600410 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 7c 01 20 00     jmpq   \*0x20017c\(%rip\)        # 600418 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+400220 <.plt>:
+ +[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 6003a0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 7c 01 20 00     jmpq   \*0x20017c\(%rip\)        # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+4002a0 <fn1@plt>:
- +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 600420 <fn1>
+0+400230 <fn1@plt>:
+ +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 6003b0 <fn1>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   400290 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   400220 <.plt>
 
-0+4002b0 <fn2@plt>:
- +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 600428 <fn2>
+0+400240 <fn2@plt>:
+ +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 6003b8 <fn2>
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d0 ff ff ff       jmpq   400290 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   400220 <.plt>
 
 Disassembly of section .text:
 
-0+4002c0 <_start>:
- +[a-f0-9]+: e8 db ff ff ff       callq  4002a0 <fn1@plt>
- +[a-f0-9]+: e8 e6 ff ff ff       callq  4002b0 <fn2@plt>
- +[a-f0-9]+: 81 7c 24 08 a0 02 40 00 cmpl   \$0x4002a0,0x8\(%rsp\)
+0+400250 <_start>:
+ +[a-f0-9]+: e8 db ff ff ff       callq  400230 <fn1@plt>
+ +[a-f0-9]+: e8 e6 ff ff ff       callq  400240 <fn2@plt>
+ +[a-f0-9]+: 81 7c 24 08 30 02 40 00 cmpl   \$0x400230,0x8\(%rsp\)
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr14207.d b/ld/testsuite/ld-x86-64/pr14207.d
index 20d4d845a7..1713888ff7 100644
--- a/ld/testsuite/ld-x86-64/pr14207.d
+++ b/ld/testsuite/ld-x86-64/pr14207.d
@@ -5,12 +5,12 @@
 #target: x86_64-*-linux*
 
 Elf file type is DYN \(Shared object file\)
-Entry point 0x1c1
+Entry point 0x149
 There are 4 program headers, starting at offset 64
 
 Program Headers:
   Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
-  LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x0001c8 0x0001c8 R   0x200000
+  LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x000150 0x000150 R   0x200000
   LOAD           0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x000c.8 RW  0x200000
   DYNAMIC        0x000b.0 0x0000000000200b.0 0x0000000000200b.0 0x0001.0 0x0001.0 RW  0x8
   GNU_RELRO      0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x0004.8 R   0x1
diff --git a/ld/testsuite/ld-x86-64/pr19162.d b/ld/testsuite/ld-x86-64/pr19162.d
index 7ad90b026a..2d51dabe72 100644
--- a/ld/testsuite/ld-x86-64/pr19162.d
+++ b/ld/testsuite/ld-x86-64/pr19162.d
@@ -6,5 +6,5 @@
 #target: x86_64-*-linux*
 
 #...
-  DYNAMIC        0x000190 0x0000000000200190 0x0000000000200190 0x0000b0 0x0000b0 RW  0x8
+  DYNAMIC        0x000118 0x0000000000200118 0x0000000000200118 0x0000b0 0x0000b0 RW  0x8
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20253-1f.d b/ld/testsuite/ld-x86-64/pr20253-1f.d
index 9b0fc72898..cdf10f4c00 100644
--- a/ld/testsuite/ld-x86-64/pr20253-1f.d
+++ b/ld/testsuite/ld-x86-64/pr20253-1f.d
@@ -9,17 +9,17 @@
 
 Disassembly of section .text:
 
-0+1f8 <foo>:
+0+188 <foo>:
  +[a-f0-9]+: c3                   retq  
 
-0+1f9 <bar>:
+0+189 <bar>:
  +[a-f0-9]+: c3                   retq  
 
-0+1fa <_start>:
- +[a-f0-9]+: ff 15 08 01 20 00     callq  \*0x200108\(%rip\)        # 200308 <.*>
- +[a-f0-9]+: ff 25 0a 01 20 00     jmpq   \*0x20010a\(%rip\)        # 200310 <.*>
- +[a-f0-9]+: 48 c7 05 ff 00 20 00 00 00 00 00 movq   \$0x0,0x2000ff\(%rip\)        # 200310 <.*>
- +[a-f0-9]+: 48 83 3d ef 00 20 00 00 cmpq   \$0x0,0x2000ef\(%rip\)        # 200308 <.*>
- +[a-f0-9]+: 48 3b 0d e8 00 20 00 cmp    0x2000e8\(%rip\),%rcx        # 200308 <.*>
- +[a-f0-9]+: 48 3b 0d e9 00 20 00 cmp    0x2000e9\(%rip\),%rcx        # 200310 <.*>
+0+18a <_start>:
+ +[a-f0-9]+: ff 15 08 01 20 00     callq  \*0x200108\(%rip\)        # 200298 <.*>
+ +[a-f0-9]+: ff 25 0a 01 20 00     jmpq   \*0x20010a\(%rip\)        # 2002a0 <.*>
+ +[a-f0-9]+: 48 c7 05 ff 00 20 00 00 00 00 00 movq   \$0x0,0x2000ff\(%rip\)        # 2002a0 <.*>
+ +[a-f0-9]+: 48 83 3d ef 00 20 00 00 cmpq   \$0x0,0x2000ef\(%rip\)        # 200298 <.*>
+ +[a-f0-9]+: 48 3b 0d e8 00 20 00 cmp    0x2000e8\(%rip\),%rcx        # 200298 <.*>
+ +[a-f0-9]+: 48 3b 0d e9 00 20 00 cmp    0x2000e9\(%rip\),%rcx        # 2002a0 <.*>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20253-1l.d b/ld/testsuite/ld-x86-64/pr20253-1l.d
index 5b04442723..49aa5c156e 100644
--- a/ld/testsuite/ld-x86-64/pr20253-1l.d
+++ b/ld/testsuite/ld-x86-64/pr20253-1l.d
@@ -9,17 +9,17 @@
 
 Disassembly of section .text:
 
-0+158 <foo>:
+0+100 <foo>:
  +[a-f0-9]+: c3                   retq  
 
-0+159 <bar>:
+0+101 <bar>:
  +[a-f0-9]+: c3                   retq  
 
-0+15a <_start>:
- +[a-f0-9]+: ff 15 98 00 20 00     callq  \*0x200098\(%rip\)        # 2001f8 <.*>
- +[a-f0-9]+: ff 25 9a 00 20 00     jmpq   \*0x20009a\(%rip\)        # 200200 <.*>
- +[a-f0-9]+: 48 c7 05 8f 00 20 00 00 00 00 00 movq   \$0x0,0x20008f\(%rip\)        # 200200 <.*>
- +[a-f0-9]+: 48 83 3d 7f 00 20 00 00 cmpq   \$0x0,0x20007f\(%rip\)        # 2001f8 <.*>
- +[a-f0-9]+: 48 3b 0d 78 00 20 00 cmp    0x200078\(%rip\),%rcx        # 2001f8 <.*>
- +[a-f0-9]+: 48 3b 0d 79 00 20 00 cmp    0x200079\(%rip\),%rcx        # 200200 <.*>
+0+102 <_start>:
+ +[a-f0-9]+: ff 15 98 00 20 00     callq  \*0x200098\(%rip\)        # 2001a0 <.*>
+ +[a-f0-9]+: ff 25 9a 00 20 00     jmpq   \*0x20009a\(%rip\)        # 2001a8 <.*>
+ +[a-f0-9]+: 48 c7 05 8f 00 20 00 00 00 00 00 movq   \$0x0,0x20008f\(%rip\)        # 2001a8 <.*>
+ +[a-f0-9]+: 48 83 3d 7f 00 20 00 00 cmpq   \$0x0,0x20007f\(%rip\)        # 2001a0 <.*>
+ +[a-f0-9]+: 48 3b 0d 78 00 20 00 cmp    0x200078\(%rip\),%rcx        # 2001a0 <.*>
+ +[a-f0-9]+: 48 3b 0d 79 00 20 00 cmp    0x200079\(%rip\),%rcx        # 2001a8 <.*>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20830a-now.d b/ld/testsuite/ld-x86-64/pr20830a-now.d
index 5991b0898f..4610db4754 100644
--- a/ld/testsuite/ld-x86-64/pr20830a-now.d
+++ b/ld/testsuite/ld-x86-64/pr20830a-now.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,20 +49,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 c2 0d 20 00     pushq  0x200dc2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 c4 0d 20 00     jmpq   \*0x200dc4\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 32 0e 20 00     pushq  0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 34 0e 20 00     jmpq   \*0x200e34\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
-0+230 <func@plt>:
- +[a-f0-9]+: ff 25 c2 0d 20 00     jmpq   \*0x200dc2\(%rip\)        # 200ff8 <func>
+0+1c0 <func@plt>:
+ +[a-f0-9]+: ff 25 32 0e 20 00     jmpq   \*0x200e32\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+238 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  230 <func@plt>
- +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov    0x200db4\(%rip\),%rax        # 200ff8 <func>
+0+1c8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1c0 <func@plt>
+ +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20830a.d b/ld/testsuite/ld-x86-64/pr20830a.d
index c5b1f857eb..bbffee8873 100644
--- a/ld/testsuite/ld-x86-64/pr20830a.d
+++ b/ld/testsuite/ld-x86-64/pr20830a.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,20 +49,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 e2 0d 20 00     pushq  0x200de2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 e4 0d 20 00     jmpq   \*0x200de4\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 52 0e 20 00     pushq  0x200e52\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 54 0e 20 00     jmpq   \*0x200e54\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
-0+230 <func@plt>:
- +[a-f0-9]+: ff 25 c2 0d 20 00     jmpq   \*0x200dc2\(%rip\)        # 200ff8 <func>
+0+1c0 <func@plt>:
+ +[a-f0-9]+: ff 25 32 0e 20 00     jmpq   \*0x200e32\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+238 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  230 <func@plt>
- +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov    0x200db4\(%rip\),%rax        # 200ff8 <func>
+0+1c8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1c0 <func@plt>
+ +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20830b-now.d b/ld/testsuite/ld-x86-64/pr20830b-now.d
index 72bd5799ad..05a756ccb0 100644
--- a/ld/testsuite/ld-x86-64/pr20830b-now.d
+++ b/ld/testsuite/ld-x86-64/pr20830b-now.d
@@ -21,19 +21,19 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000188..0000000000000194
+0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000170..0000000000000180
+0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000120..0000000000000130
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000176
+  DW_CFA_advance_loc: 6 to 0000000000000126
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000180
+  DW_CFA_advance_loc: 10 to 0000000000000130
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000180..0000000000000188
+0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000130..0000000000000138
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -41,20 +41,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+170 <.plt>:
- +[a-f0-9]+: ff 35 72 0e 20 00     pushq  0x200e72\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 74 0e 20 00     jmpq   \*0x200e74\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+120 <.plt>:
+ +[a-f0-9]+: ff 35 c2 0e 20 00     pushq  0x200ec2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 c4 0e 20 00     jmpq   \*0x200ec4\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
-0+180 <func@plt>:
- +[a-f0-9]+: ff 25 72 0e 20 00     jmpq   \*0x200e72\(%rip\)        # 200ff8 <func>
+0+130 <func@plt>:
+ +[a-f0-9]+: ff 25 c2 0e 20 00     jmpq   \*0x200ec2\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+188 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  180 <func@plt>
- +[a-f0-9]+: 48 8b 05 64 0e 20 00 mov    0x200e64\(%rip\),%rax        # 200ff8 <func>
+0+138 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  130 <func@plt>
+ +[a-f0-9]+: 48 8b 05 b4 0e 20 00 mov    0x200eb4\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20830b.d b/ld/testsuite/ld-x86-64/pr20830b.d
index 31a2e41c1b..e9a6a1ca69 100644
--- a/ld/testsuite/ld-x86-64/pr20830b.d
+++ b/ld/testsuite/ld-x86-64/pr20830b.d
@@ -21,19 +21,19 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000188..0000000000000194
+0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000170..0000000000000180
+0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000120..0000000000000130
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000176
+  DW_CFA_advance_loc: 6 to 0000000000000126
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000180
+  DW_CFA_advance_loc: 10 to 0000000000000130
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000180..0000000000000188
+0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000130..0000000000000138
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -41,20 +41,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+170 <.plt>:
- +[a-f0-9]+: ff 35 92 0e 20 00     pushq  0x200e92\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 94 0e 20 00     jmpq   \*0x200e94\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+120 <.plt>:
+ +[a-f0-9]+: ff 35 e2 0e 20 00     pushq  0x200ee2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 e4 0e 20 00     jmpq   \*0x200ee4\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
-0+180 <func@plt>:
- +[a-f0-9]+: ff 25 72 0e 20 00     jmpq   \*0x200e72\(%rip\)        # 200ff8 <func>
+0+130 <func@plt>:
+ +[a-f0-9]+: ff 25 c2 0e 20 00     jmpq   \*0x200ec2\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+188 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  180 <func@plt>
- +[a-f0-9]+: 48 8b 05 64 0e 20 00 mov    0x200e64\(%rip\),%rax        # 200ff8 <func>
+0+138 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  130 <func@plt>
+ +[a-f0-9]+: 48 8b 05 b4 0e 20 00 mov    0x200eb4\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038a-now.d b/ld/testsuite/ld-x86-64/pr21038a-now.d
index 575e1b8938..72268fae8f 100644
--- a/ld/testsuite/ld-x86-64/pr21038a-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038a-now.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,20 +49,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 c2 0d 20 00     pushq  0x200dc2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 c3 0d 20 00 bnd jmpq \*0x200dc3\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 32 0e 20 00     pushq  0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 33 0e 20 00 bnd jmpq \*0x200e33\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
 
 Disassembly of section .plt.got:
 
-0+230 <func@plt>:
- +[a-f0-9]+: f2 ff 25 c1 0d 20 00 bnd jmpq \*0x200dc1\(%rip\)        # 200ff8 <func>
+0+1c0 <func@plt>:
+ +[a-f0-9]+: f2 ff 25 31 0e 20 00 bnd jmpq \*0x200e31\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+238 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  230 <func@plt>
- +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov    0x200db4\(%rip\),%rax        # 200ff8 <func>
+0+1c8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1c0 <func@plt>
+ +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038a.d b/ld/testsuite/ld-x86-64/pr21038a.d
index 66ed3ff7ae..1cc82e2479 100644
--- a/ld/testsuite/ld-x86-64/pr21038a.d
+++ b/ld/testsuite/ld-x86-64/pr21038a.d
@@ -20,7 +20,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -29,18 +29,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -48,20 +48,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 e2 0d 20 00     pushq  0x200de2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 e3 0d 20 00 bnd jmpq \*0x200de3\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 52 0e 20 00     pushq  0x200e52\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 53 0e 20 00 bnd jmpq \*0x200e53\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
 
 Disassembly of section .plt.got:
 
-0+230 <func@plt>:
- +[a-f0-9]+: f2 ff 25 c1 0d 20 00 bnd jmpq \*0x200dc1\(%rip\)        # 200ff8 <func>
+0+1c0 <func@plt>:
+ +[a-f0-9]+: f2 ff 25 31 0e 20 00 bnd jmpq \*0x200e31\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+238 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  230 <func@plt>
- +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov    0x200db4\(%rip\),%rax        # 200ff8 <func>
+0+1c8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1c0 <func@plt>
+ +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038b-now.d b/ld/testsuite/ld-x86-64/pr21038b-now.d
index 67246e62ac..f4a56530a5 100644
--- a/ld/testsuite/ld-x86-64/pr21038b-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038b-now.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000248..000000000000024d
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000240
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001d0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000240..0000000000000248
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001d0..00000000000001d8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,22 +49,22 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 c2 0d 20 00     pushq  0x200dc2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 c3 0d 20 00 bnd jmpq \*0x200dc3\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 32 0e 20 00     pushq  0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 33 0e 20 00 bnd jmpq \*0x200e33\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1b0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+240 <func@plt>:
- +[a-f0-9]+: f2 ff 25 b1 0d 20 00 bnd jmpq \*0x200db1\(%rip\)        # 200ff8 <func>
+0+1d0 <func@plt>:
+ +[a-f0-9]+: f2 ff 25 21 0e 20 00 bnd jmpq \*0x200e21\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+248 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  240 <func@plt>
+0+1d8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1d0 <func@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038b.d b/ld/testsuite/ld-x86-64/pr21038b.d
index 69888dc6f0..5ba58db342 100644
--- a/ld/testsuite/ld-x86-64/pr21038b.d
+++ b/ld/testsuite/ld-x86-64/pr21038b.d
@@ -20,7 +20,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000248..000000000000024d
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -29,18 +29,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000240
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001d0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000240..0000000000000248
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001d0..00000000000001d8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -48,22 +48,22 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 e2 0d 20 00     pushq  0x200de2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 e3 0d 20 00 bnd jmpq \*0x200de3\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 52 0e 20 00     pushq  0x200e52\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 53 0e 20 00 bnd jmpq \*0x200e53\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1b0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+240 <func@plt>:
- +[a-f0-9]+: f2 ff 25 d1 0d 20 00 bnd jmpq \*0x200dd1\(%rip\)        # 201018 <func>
+0+1d0 <func@plt>:
+ +[a-f0-9]+: f2 ff 25 41 0e 20 00 bnd jmpq \*0x200e41\(%rip\)        # 201018 <func>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+248 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  240 <func@plt>
+0+1d8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1d0 <func@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038c-now.d b/ld/testsuite/ld-x86-64/pr21038c-now.d
index 3d09051bd5..f8d7a7fc3e 100644
--- a/ld/testsuite/ld-x86-64/pr21038c-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038c-now.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000290..00000000000002a1
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000260..0000000000000280
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000210
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000266
+  DW_CFA_advance_loc: 6 to 00000000000001f6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000270
+  DW_CFA_advance_loc: 10 to 0000000000000200
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000280..0000000000000288
+0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000210..0000000000000218
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -50,7 +50,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000288..0000000000000290
+0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000218..0000000000000220
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -58,30 +58,30 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+260 <.plt>:
- +[a-f0-9]+: ff 35 7a 0d 20 00     pushq  0x200d7a\(%rip\)        # 200fe0 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 7b 0d 20 00 bnd jmpq \*0x200d7b\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1f0 <.plt>:
+ +[a-f0-9]+: ff 35 ea 0d 20 00     pushq  0x200dea\(%rip\)        # 200fe0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 0d 20 00 bnd jmpq \*0x200deb\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 260 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1f0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.got:
 
-0+280 <func1@plt>:
- +[a-f0-9]+: f2 ff 25 71 0d 20 00 bnd jmpq \*0x200d71\(%rip\)        # 200ff8 <func1>
+0+210 <func1@plt>:
+ +[a-f0-9]+: f2 ff 25 e1 0d 20 00 bnd jmpq \*0x200de1\(%rip\)        # 200ff8 <func1>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+288 <func2@plt>:
- +[a-f0-9]+: f2 ff 25 61 0d 20 00 bnd jmpq \*0x200d61\(%rip\)        # 200ff0 <func2>
+0+218 <func2@plt>:
+ +[a-f0-9]+: f2 ff 25 d1 0d 20 00 bnd jmpq \*0x200dd1\(%rip\)        # 200ff0 <func2>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+290 <foo>:
- +[a-f0-9]+: e8 eb ff ff ff       callq  280 <func1@plt>
- +[a-f0-9]+: e8 ee ff ff ff       callq  288 <func2@plt>
- +[a-f0-9]+: 48 8b 05 57 0d 20 00 mov    0x200d57\(%rip\),%rax        # 200ff8 <func1>
+0+220 <foo>:
+ +[a-f0-9]+: e8 eb ff ff ff       callq  210 <func1@plt>
+ +[a-f0-9]+: e8 ee ff ff ff       callq  218 <func2@plt>
+ +[a-f0-9]+: 48 8b 05 c7 0d 20 00 mov    0x200dc7\(%rip\),%rax        # 200ff8 <func1>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038c.d b/ld/testsuite/ld-x86-64/pr21038c.d
index b249067f2f..c84eee6606 100644
--- a/ld/testsuite/ld-x86-64/pr21038c.d
+++ b/ld/testsuite/ld-x86-64/pr21038c.d
@@ -20,7 +20,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000290..00000000000002a1
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -29,18 +29,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000260..0000000000000280
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000210
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000266
+  DW_CFA_advance_loc: 6 to 00000000000001f6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000270
+  DW_CFA_advance_loc: 10 to 0000000000000200
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000280..0000000000000288
+0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000210..0000000000000218
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,7 +49,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000288..0000000000000290
+0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000218..0000000000000220
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -57,30 +57,30 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+260 <.plt>:
- +[a-f0-9]+: ff 35 a2 0d 20 00     pushq  0x200da2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 a3 0d 20 00 bnd jmpq \*0x200da3\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1f0 <.plt>:
+ +[a-f0-9]+: ff 35 12 0e 20 00     pushq  0x200e12\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 13 0e 20 00 bnd jmpq \*0x200e13\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 260 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1f0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.got:
 
-0+280 <func1@plt>:
- +[a-f0-9]+: f2 ff 25 71 0d 20 00 bnd jmpq \*0x200d71\(%rip\)        # 200ff8 <func1>
+0+210 <func1@plt>:
+ +[a-f0-9]+: f2 ff 25 e1 0d 20 00 bnd jmpq \*0x200de1\(%rip\)        # 200ff8 <func1>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+288 <func2@plt>:
- +[a-f0-9]+: f2 ff 25 89 0d 20 00 bnd jmpq \*0x200d89\(%rip\)        # 201018 <func2>
+0+218 <func2@plt>:
+ +[a-f0-9]+: f2 ff 25 f9 0d 20 00 bnd jmpq \*0x200df9\(%rip\)        # 201018 <func2>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+290 <foo>:
- +[a-f0-9]+: e8 eb ff ff ff       callq  280 <func1@plt>
- +[a-f0-9]+: e8 ee ff ff ff       callq  288 <func2@plt>
- +[a-f0-9]+: 48 8b 05 57 0d 20 00 mov    0x200d57\(%rip\),%rax        # 200ff8 <func1>
+0+220 <foo>:
+ +[a-f0-9]+: e8 eb ff ff ff       callq  210 <func1@plt>
+ +[a-f0-9]+: e8 ee ff ff ff       callq  218 <func2@plt>
+ +[a-f0-9]+: 48 8b 05 c7 0d 20 00 mov    0x200dc7\(%rip\),%rax        # 200ff8 <func1>
 #pass
diff --git a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
index 4e0d1ab5ab..15f28acdbc 100644
--- a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
@@ -18,11 +18,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+100303b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+10030410 [0-9a-f]+ 0+40 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+140 10 +WA +6 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10030550 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030570 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10030348 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+100303a8 [0-9a-f]+ 0+40 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303a8 [0-9a-f]+ 0+140 10 +WA +6 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+100304e8 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030508 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -39,10 +39,10 @@ Program Headers:
  +INTERP.*
 .*Requesting program interpreter.*
  +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E +0x10000
- +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+3b0 0x0+3b0 R +0x10000
- +LOAD +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+1e0 0x0+1e0 RW +0x10000
- +DYNAMIC +0x0+410 0x0+10030410 0x0+10030410 0x0+140 0x0+140 RW +0x8
- +TLS +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+60 0x0+a0 R +0x1
+ +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+348 0x0+348 R +0x10000
+ +LOAD +0x0+348 0x0+10030348 0x0+10030348 0x0+1e0 0x0+1e0 RW +0x10000
+ +DYNAMIC +0x0+3a8 0x0+100303a8 0x0+100303a8 0x0+140 0x0+140 RW +0x8
+ +TLS +0x0+348 0x0+10030348 0x0+10030348 0x0+60 0x0+a0 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -71,11 +71,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +13 _edata
-.* NOTYPE +GLOBAL +DEFAULT +13 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsbin.rd b/ld/testsuite/ld-x86-64/tlsbin.rd
index 81ea164bc0..02b05d98a0 100644
--- a/ld/testsuite/ld-x86-64/tlsbin.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin.rd
@@ -69,11 +69,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +13 _edata
-.* NOTYPE +GLOBAL +DEFAULT +13 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
index 1f5b782217..ffaf585de1 100644
--- a/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
@@ -16,11 +16,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynsym +.*
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+100303b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+10030410 [0-9a-f]+ 0+40 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+100 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10030510 [0-9a-f]+ 0+28 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030538 [0-9a-f]+ 0+18 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10030348 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+100303a8 [0-9a-f]+ 0+40 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303a8 [0-9a-f]+ 0+100 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+100304a8 [0-9a-f]+ 0+28 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304d0 [0-9a-f]+ 0+18 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -37,10 +37,10 @@ Program Headers:
  +INTERP.*
 .*Requesting program interpreter.*
  +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E +0x10000
- +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+3b0 0x0+3b0 R +0x10000
- +LOAD +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+1a0 0x0+1a0 RW +0x10000
- +DYNAMIC +0x0+410 0x0+10030410 0x0+10030410 0x0+100 0x0+100 RW +0x8
- +TLS +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+60 0x0+a0 R +0x1
+ +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+348 0x0+348 R +0x10000
+ +LOAD +0x0+348 0x0+10030348 0x0+10030348 0x0+1a0 0x0+1a0 RW +0x10000
+ +DYNAMIC +0x0+3a8 0x0+100303a8 0x0+100303a8 0x0+100 0x0+100 RW +0x8
+ +TLS +0x0+348 0x0+10030348 0x0+10030348 0x0+60 0x0+a0 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -66,11 +66,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsbin2.rd b/ld/testsuite/ld-x86-64/tlsbin2.rd
index 5fb159942b..26cce6aa7f 100644
--- a/ld/testsuite/ld-x86-64/tlsbin2.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin2.rd
@@ -64,11 +64,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
index 2c046f4fd3..670958afb8 100644
--- a/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
@@ -16,11 +16,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynsym +.*
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+10030370 0+370 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+100303d0 0+3d0 0+40 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303d0 0+3d0 0+100 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+100304d0 0+4d0 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304f0 0+4f0 0+18 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10030300 0+300 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+10030360 0+360 0+40 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030360 0+360 0+100 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+10030460 0+460 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030480 0+480 0+18 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -37,10 +37,10 @@ Program Headers:
  +INTERP.*
 .*Requesting program interpreter.*
  +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E 0x10000
- +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+370 0x0+370 R +0x10000
- +LOAD +0x0+370 0x0+10030370 0x0+10030370 0x0+198 0x0+198 RW +0x10000
- +DYNAMIC +0x0+3d0 0x0+100303d0 0x0+100303d0 0x0+100 0x0+100 RW +0x8
- +TLS +0x0+370 0x0+10030370 0x0+10030370 0x0+60 0x0+a0 R +0x1
+ +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+300 0x0+300 R +0x10000
+ +LOAD +0x0+300 0x0+10030300 0x0+10030300 0x0+198 0x0+198 RW +0x10000
+ +DYNAMIC +0x0+360 0x0+10030360 0x0+10030360 0x0+100 0x0+100 RW +0x8
+ +TLS +0x0+300 0x0+10030300 0x0+10030300 0x0+60 0x0+a0 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -54,21 +54,18 @@ Program Headers:
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+100304d0 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
-0+100304d8 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
-0+100304e0 +0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-0+100304e8 +0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
+0+10030460 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
+0+10030468 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
+0+10030470 +0+300000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+0+10030478 +0+400000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
  +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND *
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -104,8 +101,8 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+9c +0 +TLS +LOCAL +DEFAULT +8 bl8
 .* FILE +LOCAL +DEFAULT +ABS
  +[0-9]+: 0+a0 +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_
- +[0-9]+: 0+100303d0 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC
- +[0-9]+: 0+100304f0 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: 0+10030360 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC
+ +[0-9]+: 0+10030480 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_
  +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8
  +[0-9]+: 0+7c +0 +TLS +GLOBAL +DEFAULT +8 bg8
  +[0-9]+: 0+74 +0 +TLS +GLOBAL +DEFAULT +8 bg6
diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.rd b/ld/testsuite/ld-x86-64/tlsbindesc.rd
index c94014a993..13978b7b67 100644
--- a/ld/testsuite/ld-x86-64/tlsbindesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsbindesc.rd
@@ -54,19 +54,16 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 0+601360 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
 0+601368 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
-0+601370 +0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-0+601378 +0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
+0+601370 +0+300000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+0+601378 +0+400000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
  +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND *
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
index 7c9d77a7ec..1a7c693cdb 100644
--- a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
@@ -17,11 +17,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+10010450 [0-9a-f]+ +0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+100104b0 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104b0 [0-9a-f]+ 0+150 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10010600 [0-9a-f]+ 0+48 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010648 [0-9a-f]+ 0+68 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+100103e8 [0-9a-f]+ +0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+10010448 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010448 [0-9a-f]+ 0+150 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+10010598 [0-9a-f]+ 0+48 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+100105e0 [0-9a-f]+ 0+68 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -36,9 +36,9 @@ Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
  +LOAD +0x[0-9a-f]+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
  +LOAD +0x[0-9a-f]+ 0x0+10000000 0x0+10000000 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x10000
- +LOAD +0x[0-9a-f]+ 0x0+10010450 0x0+10010450 0x0+260 0x0+260 RW +0x10000
- +DYNAMIC +0x[0-9a-f]+ 0x0+100104b0 0x0+100104b0 0x0+150 0x0+150 RW +0x8
- +TLS +0x[0-9a-f]+ 0x0+10010450 0x0+10010450 0x0+60 0x0+80 R +0x1
+ +LOAD +0x[0-9a-f]+ 0x0+100103e8 0x0+100103e8 0x0+260 0x0+260 RW +0x10000
+ +DYNAMIC +0x[0-9a-f]+ 0x0+10010448 0x0+10010448 0x0+150 0x0+150 RW +0x8
+ +TLS +0x[0-9a-f]+ 0x0+100103e8 0x0+100103e8 0x0+60 0x0+80 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -60,7 +60,7 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries:
  0x[0-9a-f]+ +\(PLTREL\).*
  0x[0-9a-f]+ +\(JMPREL\).*
  0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x40
- 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x10010640
+ 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x100105d8
  0x[0-9a-f]+ +\(RELA\).*
  0x[0-9a-f]+ +\(RELASZ\).*
  0x[0-9a-f]+ +\(RELAENT\).*
@@ -69,22 +69,22 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries:
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+10010600 +[0-9a-f]+ R_X86_64_TPOFF64 +24
-0+10010608 +[0-9a-f]+ R_X86_64_TPOFF64 +30
-0+10010610 +[0-9a-f]+ R_X86_64_TPOFF64 +64
-0+10010620 +[0-9a-f]+ R_X86_64_TPOFF64 +50
-0+10010628 +[0-9a-f]+ R_X86_64_TPOFF64 +70
-0+10010638 +[0-9a-f]+ R_X86_64_TPOFF64 +44
-0+10010618 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0
-0+10010630 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0
+0+10010598 +[0-9a-f]+ R_X86_64_TPOFF64 +24
+0+100105a0 +[0-9a-f]+ R_X86_64_TPOFF64 +30
+0+100105a8 +[0-9a-f]+ R_X86_64_TPOFF64 +64
+0+100105b8 +[0-9a-f]+ R_X86_64_TPOFF64 +50
+0+100105c0 +[0-9a-f]+ R_X86_64_TPOFF64 +70
+0+100105d0 +[0-9a-f]+ R_X86_64_TPOFF64 +44
+0+100105b0 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0
+0+100105c8 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0
 
 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 5 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+10010690 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0
-0+10010660 +[0-9a-f]+ R_X86_64_TLSDESC +20
-0+100106a0 +[0-9a-f]+ R_X86_64_TLSDESC +40
-0+10010670 +[0-9a-f]+ R_X86_64_TLSDESC +60
-0+10010680 +[0-9a-f]+ R_X86_64_TLSDESC +0
+0+10010628 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0
+0+100105f8 +[0-9a-f]+ R_X86_64_TLSDESC +20
+0+10010638 +[0-9a-f]+ R_X86_64_TLSDESC +40
+0+10010608 +[0-9a-f]+ R_X86_64_TLSDESC +60
+0+10010618 +[0-9a-f]+ R_X86_64_TLSDESC +0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -95,12 +95,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +2 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -129,7 +126,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* 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+100104b0 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC
+ +[0-9]+: 0+10010448 +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
@@ -143,7 +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+10010648 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: 0+100105e0 +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
@@ -152,9 +149,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +2 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlsdesc.rd b/ld/testsuite/ld-x86-64/tlsdesc.rd
index 18060c0c59..4fcd8826ae 100644
--- a/ld/testsuite/ld-x86-64/tlsdesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsdesc.rd
@@ -15,7 +15,7 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .plt +PROGBITS +0+420 0+420 0+20 10 +AX +0 +0 +(4|16)
+ +\[[ 0-9]+\] .plt +PROGBITS +0+3b0 0+3b0 0+20 10 +AX +0 +0 +(4|16)
  +\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+153 00 +AX +0 +0 4096
  +\[[ 0-9]+\] .tdata +PROGBITS +0+201153 0+1153 0+60 00 WAT +0 +0 +1
  +\[[ 0-9]+\] .tbss +NOBITS +0+2011b3 0+11b3 0+20 00 WAT +0 +0 +1
@@ -57,7 +57,7 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries:
  0x[0-9a-f]+ +\(PLTRELSZ\).*
  0x[0-9a-f]+ +\(PLTREL\).*
  0x[0-9a-f]+ +\(JMPREL\).*
- 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x430
+ 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x3c0
  0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x201348
  0x[0-9a-f]+ +\(RELA\).*
  0x[0-9a-f]+ +\(RELASZ\).*
@@ -93,12 +93,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -150,9 +147,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
index 934ba03eb4..b0421d9103 100644
--- a/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
@@ -50,14 +50,14 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
 [0-9a-f]+ +0+300000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0
 [0-9a-f]+ +0+300000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0
 [0-9a-f]+ +0+400000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0
-[0-9a-f]+ +0+700000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-[0-9a-f]+ +0+900000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0
-[0-9a-f]+ +0+900000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+[0-9a-f]+ +0+800000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+800000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0
 
 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +0+500000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
-[0-9a-f]+ +0+900000024 R_X86_64_TLSDESC +0+ sG1 \+ 0
+[0-9a-f]+ +0+800000024 R_X86_64_TLSDESC +0+ sG1 \+ 0
 [0-9a-f]+ +0+300000024 R_X86_64_TLSDESC +0+ sG2 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
@@ -68,12 +68,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -95,9 +92,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
diff --git a/ld/testsuite/ld-x86-64/tlsgdesc.rd b/ld/testsuite/ld-x86-64/tlsgdesc.rd
index 729d12e64d..77e8ae3d81 100644
--- a/ld/testsuite/ld-x86-64/tlsgdesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsgdesc.rd
@@ -48,14 +48,14 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
 [0-9a-f]+ +0+300000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0
 [0-9a-f]+ +0+300000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0
 [0-9a-f]+ +0+400000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0
-[0-9a-f]+ +0+700000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-[0-9a-f]+ +0+900000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0
-[0-9a-f]+ +0+900000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+[0-9a-f]+ +0+800000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+800000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0
 
 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +0+500000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
-[0-9a-f]+ +0+900000024 R_X86_64_TLSDESC +0+ sG1 \+ 0
+[0-9a-f]+ +0+800000024 R_X86_64_TLSDESC +0+ sG1 \+ 0
 [0-9a-f]+ +0+300000024 R_X86_64_TLSDESC +0+ sG2 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
@@ -66,12 +66,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -93,9 +90,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
diff --git a/ld/testsuite/ld-x86-64/tlspic-nacl.rd b/ld/testsuite/ld-x86-64/tlspic-nacl.rd
index 40ba0d595c..f4f8772382 100644
--- a/ld/testsuite/ld-x86-64/tlspic-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlspic-nacl.rd
@@ -17,11 +17,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+100104b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+10010510 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010510 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10010640 [0-9a-f]+ 0+90 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106d0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10010440 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+100104a0 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104a0 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+100105d0 [0-9a-f]+ 0+90 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010660 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -35,10 +35,10 @@ There are [0-9]+ program headers, starting at offset [0-9]+
 Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
  +LOAD +0x0+10000 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
- +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+4b0 0x0+4b0 R +0x10000
- +LOAD +0x0+4b0 0x0+100104b0 0x0+100104b0 0x0+240 0x0+240 RW +0x10000
- +DYNAMIC +0x0+510 0x0+10010510 0x0+10010510 0x0+130 0x0+130 RW +0x8
- +TLS +0x0+4b0 0x0+100104b0 0x0+100104b0 0x0+60 0x0+80 R +0x1
+ +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+440 0x0+440 R +0x10000
+ +LOAD +0x0+440 0x0+10010440 0x0+10010440 0x0+240 0x0+240 RW +0x10000
+ +DYNAMIC +0x0+4a0 0x0+100104a0 0x0+100104a0 0x0+130 0x0+130 RW +0x8
+ +TLS +0x0+440 0x0+10010440 0x0+10010440 0x0+60 0x0+80 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -79,12 +79,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +2 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -136,9 +133,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +2 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlspic.rd b/ld/testsuite/ld-x86-64/tlspic.rd
index 8195d53fc8..b3547eb945 100644
--- a/ld/testsuite/ld-x86-64/tlspic.rd
+++ b/ld/testsuite/ld-x86-64/tlspic.rd
@@ -77,12 +77,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -134,9 +131,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
index c1c8041f8c..d6082d6d3c 100644
--- a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
@@ -17,11 +17,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+100104c8 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+10010528 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010528 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10010658 [0-9a-f]+ 0+98 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106f0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10010458 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+100104b8 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104b8 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+100105e8 [0-9a-f]+ 0+98 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010680 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -35,10 +35,10 @@ There are [0-9]+ program headers, starting at offset [0-9]+
 Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
  +LOAD +0x0+10000 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
- +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+4c8 0x0+4c8 R +0x10000
- +LOAD +0x0+4c8 0x0+100104c8 0x0+100104c8 0x0+248 0x0+248 RW +0x10000
- +DYNAMIC +0x0+528 0x0+10010528 0x0+10010528 0x0+130 0x0+130 RW +0x8
- +TLS +0x0+4c8 0x0+100104c8 0x0+100104c8 0x0+60 0x0+80 R +0x1
+ +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+458 0x0+458 R +0x10000
+ +LOAD +0x0+458 0x0+10010458 0x0+10010458 0x0+248 0x0+248 RW +0x10000
+ +DYNAMIC +0x0+4b8 0x0+100104b8 0x0+100104b8 0x0+130 0x0+130 RW +0x8
+ +TLS +0x0+458 0x0+10010458 0x0+10010458 0x0+60 0x0+80 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -80,12 +80,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +2 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -137,9 +134,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +2 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlspic2.rd b/ld/testsuite/ld-x86-64/tlspic2.rd
index 684ae2147a..e02c33a6ae 100644
--- a/ld/testsuite/ld-x86-64/tlspic2.rd
+++ b/ld/testsuite/ld-x86-64/tlspic2.rd
@@ -74,12 +74,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -131,9 +128,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
--
2.17.0

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

Alan Modra-3
In reply to this post by H.J. Lu-30
On Wed, May 30, 2018 at 02:59:39PM -0700, H.J. Lu wrote:
> _edata, __bss_start, and _end are defined for executables.  FreeBSD's
> libc.so uses executable's _end to initialize curbrk.  But there is no
> good reason to access values of _edata, __bss_start, and _end defined
> in shared libraries.  We should define _edata, __bss_start, and _end
> only for executables.

I agree with the idea, but the patch isn't complete.  You'll need to
look at all the target OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, and
OTHER_BSS_END_SYMBOLS.  For instance, elf32mep.sh defines __heap = _end
in OTHER_END_SYMBOLS, which is going to go wrong when _end isn't
defined in a shared library..  Ah, no, mep uses its own mep.sc so
won't be affected by your elf.sc patch, but I'm sure you can see the
potential problem in other targets.  So please do look for _edata,
edata, __bss_start, _end and end in emulparams/*.sh.  A quick look
says this patch will likely cause fails on some targets, eg. see
elf32epiphany.sh EXECUTABLE_SYMBOLS.

If you're lucky you might be able to wrap the occurrences of
OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, OTHER_BSS_END_SYMBOLS and
EXECUTABLE_SYMBOLS in elf.sc with ${CREATE_SHLIB- }.

Also, do test this sort of patch on a large set of ELF targets before
posting.

--
Alan Modra
Australia Development Lab, IBM
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

Alan Modra-3
On Thu, May 31, 2018 at 10:14:08AM +0930, Alan Modra wrote:

> On Wed, May 30, 2018 at 02:59:39PM -0700, H.J. Lu wrote:
> > _edata, __bss_start, and _end are defined for executables.  FreeBSD's
> > libc.so uses executable's _end to initialize curbrk.  But there is no
> > good reason to access values of _edata, __bss_start, and _end defined
> > in shared libraries.  We should define _edata, __bss_start, and _end
> > only for executables.
>
> I agree with the idea, but the patch isn't complete.  You'll need to
> look at all the target OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, and
> OTHER_BSS_END_SYMBOLS.

To be clear, I'm only talking about targets that use elf.sc.  Targets
that use their own scripts should be left alone, I think.

--
Alan Modra
Australia Development Lab, IBM
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

H.J. Lu-30
In reply to this post by Alan Modra-3
On Wed, May 30, 2018 at 5:44 PM, Alan Modra <[hidden email]> wrote:

> On Wed, May 30, 2018 at 02:59:39PM -0700, H.J. Lu wrote:
>> _edata, __bss_start, and _end are defined for executables.  FreeBSD's
>> libc.so uses executable's _end to initialize curbrk.  But there is no
>> good reason to access values of _edata, __bss_start, and _end defined
>> in shared libraries.  We should define _edata, __bss_start, and _end
>> only for executables.
>
> I agree with the idea, but the patch isn't complete.  You'll need to
> look at all the target OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, and
> OTHER_BSS_END_SYMBOLS.  For instance, elf32mep.sh defines __heap = _end
> in OTHER_END_SYMBOLS, which is going to go wrong when _end isn't
> defined in a shared library..  Ah, no, mep uses its own mep.sc so
> won't be affected by your elf.sc patch, but I'm sure you can see the
> potential problem in other targets.  So please do look for _edata,
> edata, __bss_start, _end and end in emulparams/*.sh.  A quick look
> says this patch will likely cause fails on some targets, eg. see
> elf32epiphany.sh EXECUTABLE_SYMBOLS.
>
> If you're lucky you might be able to wrap the occurrences of
> OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, OTHER_BSS_END_SYMBOLS and
> EXECUTABLE_SYMBOLS in elf.sc with ${CREATE_SHLIB- }.
>
> Also, do test this sort of patch on a large set of ELF targets before
> posting.
>

The new set of patches are posted at

https://sourceware.org/ml/binutils/2018-06/msg00021.html


--
H.J.
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

Alan Modra-3
On Fri, Jun 01, 2018 at 11:45:32AM -0700, H.J. Lu wrote:

> On Wed, May 30, 2018 at 5:44 PM, Alan Modra <[hidden email]> wrote:
> > On Wed, May 30, 2018 at 02:59:39PM -0700, H.J. Lu wrote:
> >> _edata, __bss_start, and _end are defined for executables.  FreeBSD's
> >> libc.so uses executable's _end to initialize curbrk.  But there is no
> >> good reason to access values of _edata, __bss_start, and _end defined
> >> in shared libraries.  We should define _edata, __bss_start, and _end
> >> only for executables.
> >
> > I agree with the idea, but the patch isn't complete.  You'll need to
> > look at all the target OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, and
> > OTHER_BSS_END_SYMBOLS.  For instance, elf32mep.sh defines __heap = _end
> > in OTHER_END_SYMBOLS, which is going to go wrong when _end isn't
> > defined in a shared library..  Ah, no, mep uses its own mep.sc so
> > won't be affected by your elf.sc patch, but I'm sure you can see the
> > potential problem in other targets.  So please do look for _edata,
> > edata, __bss_start, _end and end in emulparams/*.sh.  A quick look
> > says this patch will likely cause fails on some targets, eg. see
> > elf32epiphany.sh EXECUTABLE_SYMBOLS.
> >
> > If you're lucky you might be able to wrap the occurrences of
> > OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, OTHER_BSS_END_SYMBOLS and
> > EXECUTABLE_SYMBOLS in elf.sc with ${CREATE_SHLIB- }.
> >
> > Also, do test this sort of patch on a large set of ELF targets before
> > posting.
> >
>
> The new set of patches are posted at
>
> https://sourceware.org/ml/binutils/2018-06/msg00021.html
Did you do the analysis of emulparams files to see whether this is OK?

I suspect you may have taken my "If you're lucky" comment as meaning
to try that out and if there are no testsuite fails then the simple
approach is OK.  I meant that you should look at target usage of shell
variables like EXECUTABLE_SYMBOLS to see whether wrapping in
${CREATE_SHLIB-} make sense, and at least report back to the binutils
list about places where you are unsure.

For EXECUTABLE_SYMBOLS, it's fairly obvious that your patch will break
elf64bmip.sh since it defines symbols inside ${CREATE_SHLIB+}.  That
emulparams file should probably be using OTHER_SYMBOLS instead.
elf32bmipn32.sh is also a worry, and likely should be using
OTHER_SYMBOLS with the same sort of expression as elf64bmip.sh but
adjusted for 32-bit header size.  I'm unsure about elf32b4300.sh but
my guess is it will be OK to only define _DYNAMIC_LINK for
executables.  This doesn't mean you need to fix these MIPS problems
yourself, just raise them with Maciej.  Of course, if you like,
provide a patch like the ones I've attached.

elf32_tic6x_le_sh has another odd use of EXECUTABLE_SYMBOLS,
presumably because R_C6000_SBR_* relocs have an implicit reference to
__c6xabi_DSBT_BASE.  I suspect those relocs can appear in shared
libraries.  So again something for the port maintainer, Joseph, to
comment on.  (The implicit reference would be better handled by
generating the reference explicitly on encountering these relocs in
check_relocs, I think, rather than just using OTHER_SYMBOLS.)

elf64hppa.sh might also need to define OTHER_SYMBOLS rather than
EXECUTABLE_SYMBOLS, if __SYSTEM_ID or _FPU_STATUS can be referenced
from shared libraries.  Dave?

--
Alan Modra
Australia Development Lab, IBM

0001-TIC6X-__c6xabi_DSBT_BASE.patch (2K) Download Attachment
0002-EXECUTABLE_SYMBOLS-OTHER_SYMBOLS.patch (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

H.J. Lu-30
On Sat, Jun 2, 2018 at 6:22 AM, Alan Modra <[hidden email]> wrote:

> On Fri, Jun 01, 2018 at 11:45:32AM -0700, H.J. Lu wrote:
>> On Wed, May 30, 2018 at 5:44 PM, Alan Modra <[hidden email]> wrote:
>> > On Wed, May 30, 2018 at 02:59:39PM -0700, H.J. Lu wrote:
>> >> _edata, __bss_start, and _end are defined for executables.  FreeBSD's
>> >> libc.so uses executable's _end to initialize curbrk.  But there is no
>> >> good reason to access values of _edata, __bss_start, and _end defined
>> >> in shared libraries.  We should define _edata, __bss_start, and _end
>> >> only for executables.
>> >
>> > I agree with the idea, but the patch isn't complete.  You'll need to
>> > look at all the target OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, and
>> > OTHER_BSS_END_SYMBOLS.  For instance, elf32mep.sh defines __heap = _end
>> > in OTHER_END_SYMBOLS, which is going to go wrong when _end isn't
>> > defined in a shared library..  Ah, no, mep uses its own mep.sc so
>> > won't be affected by your elf.sc patch, but I'm sure you can see the
>> > potential problem in other targets.  So please do look for _edata,
>> > edata, __bss_start, _end and end in emulparams/*.sh.  A quick look
>> > says this patch will likely cause fails on some targets, eg. see
>> > elf32epiphany.sh EXECUTABLE_SYMBOLS.
>> >
>> > If you're lucky you might be able to wrap the occurrences of
>> > OTHER_END_SYMBOLS, OTHER_BSS_SYMBOLS, OTHER_BSS_END_SYMBOLS and
>> > EXECUTABLE_SYMBOLS in elf.sc with ${CREATE_SHLIB- }.
>> >
>> > Also, do test this sort of patch on a large set of ELF targets before
>> > posting.
>> >
>>
>> The new set of patches are posted at
>>
>> https://sourceware.org/ml/binutils/2018-06/msg00021.html
>
> Did you do the analysis of emulparams files to see whether this is OK?
>
> I suspect you may have taken my "If you're lucky" comment as meaning
> to try that out and if there are no testsuite fails then the simple
> approach is OK.  I meant that you should look at target usage of shell
> variables like EXECUTABLE_SYMBOLS to see whether wrapping in
> ${CREATE_SHLIB-} make sense, and at least report back to the binutils
> list about places where you are unsure.
>

I know very little about these targets.  Maybe I should limit my
change to targets which only define  _edata, __bss_start, and
_end.


--
H.J.
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

Joseph Myers
In reply to this post by Alan Modra-3
On Sat, 2 Jun 2018, Alan Modra wrote:

> elf32_tic6x_le_sh has another odd use of EXECUTABLE_SYMBOLS,
> presumably because R_C6000_SBR_* relocs have an implicit reference to
> __c6xabi_DSBT_BASE.  I suspect those relocs can appear in shared
> libraries.  So again something for the port maintainer, Joseph, to

Yes, they should be valid in shared libraries.

--
Joseph S. Myers
[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

H.J. Lu-30
On Mon, Jun 4, 2018 at 8:40 AM, Joseph Myers <[hidden email]> wrote:
> On Sat, 2 Jun 2018, Alan Modra wrote:
>
>> elf32_tic6x_le_sh has another odd use of EXECUTABLE_SYMBOLS,
>> presumably because R_C6000_SBR_* relocs have an implicit reference to
>> __c6xabi_DSBT_BASE.  I suspect those relocs can appear in shared
>> libraries.  So again something for the port maintainer, Joseph, to
>
> Yes, they should be valid in shared libraries.
>

Here is the new set of patches:

https://sourceware.org/ml/binutils/2018-06/msg00072.html

A target must set EXCLUDE_SHLIB_SYMBOLS to opt in.

--
H.J.
Reply | Threaded
Open this post in threaded view
|

Define various symbols conditionally in shared libraries executables

Alan Modra-3
This should be applied on top of the patches attached to
https://sourceware.org/ml/binutils/2018-06/msg00034.html

The values of symbols in shared libraries like _end, _edata, and
__bss_start are generally not that useful outside of the shared
library.  This patch defines them conditionally with PROVIDE, since a
shared library might need the local value.  An example is glibc ld.so
local access to "_begin", "_etext" and "_end".  We can't use
PROVIDE_HIDDEN because the shared library might need the value of the
symbol in the executable.  An example is freebsd libc dynamic access
to "_end".

        PR ld/23161
        * emulparams/aarch64cloudabi.sh: PROVIDE __bss_start__, _bss_end__,
        and __end__ in shared libraries.
        * emulparams/aarch64fbsd.sh: Likewise.
        * emulparams/aarch64linux.sh: Likewise.
        * emulparams/aarch64linux32.sh: Likewise.
        * emulparams/armelf_fuchsia.sh: Likewise.
        * emulparams/armelf_linux.sh: Likewise.
        * emulparams/armelf_phoenix.sh: Likewise.
        * emulparams/aarch64elf.sh: Likewise, and __data_start
        * emulparams/aarch64elf32.sh: Likewise.
        * emulparams/armelf.sh: Likewise.
        * emulparams/armnto.sh: Likewise.
        * emulparams/elf32bmip.sh: Remove duplicate ". = ." from
        OTHER_GOT_SYMBOLS.  PROVIDE _ftext, _fdata, and _fbss in shared libs.
        * emulparams/elf32bmipn32-defs.sh: Likewise.
        * emulparams/elf32frv.sh: PROVIDE __end and __data_start in shared libs.
        * emulparams/elf32lriscv-defs.sh: Tidy.
        * emulparams/elf32mcore.sh: PROVIDE __bss_start and _bss_end in
        shared libs
        * emulparams/elf32ppccommon.sh: PROVIDE __end in shared libs.
        * emulparams/elf32rl78.sh: Tidy.
        * emulparams/i386nto.sh: PROVIDE _btext in shared libs.
        * emulparams/shelf_nto.sh: Likewise.
        * emulparams/shlelf_nto.sh: Likewise.
        * emulparams/score3_elf.sh: PROVIDE _gp, _bss_start__, _bss_end__,
        __bss_end__, __end__, _fdata, _sdata_begin, and _bss_start in
        shared libs.
        * scripttempl/elf.sc: Don't use EXECUTABLE_SYMBOLS for shared
        libraries.  PROVIDE _edata, edata, __bss_start, and _end in shared
        libraries.
        * testsuite/ld-elf/pr23161.map,
        * testsuite/ld-elf/pr23161.rd,
        * testsuite/ld-elf/pr23161a.c,
        * testsuite/ld-elf/pr23161b.c: New files.
        * testsuite/ld-elf/shared.exp: Run ld/23161 tests.
        * testsuite/ld-elf/pr23162.rd,
        * testsuite/ld-aarch64/ifunc-1-local.d,
        * testsuite/ld-aarch64/ifunc-1.d,
        * testsuite/ld-aarch64/ifunc-2-local.d,
        * testsuite/ld-aarch64/ifunc-2.d,
        * testsuite/ld-aarch64/ifunc-21.d,
        * testsuite/ld-aarch64/ifunc-3a.d,
        * testsuite/ld-alpha/tlsbin.rd,
        * testsuite/ld-alpha/tlsbin.sd,
        * testsuite/ld-alpha/tlsbinr.rd,
        * testsuite/ld-alpha/tlspic.rd,
        * testsuite/ld-alpha/tlspic.sd,
        * testsuite/ld-cris/dso-pltdis1.d,
        * testsuite/ld-cris/dso-pltdis2.d,
        * testsuite/ld-cris/dso12-pltdis.d,
        * testsuite/ld-cris/gotplt1.d,
        * testsuite/ld-cris/gotplt2.d,
        * testsuite/ld-cris/gotplt3.d,
        * testsuite/ld-cris/hiddef1.d,
        * testsuite/ld-cris/libdso-1.d,
        * testsuite/ld-cris/libdso-10.d,
        * testsuite/ld-cris/libdso-11.d,
        * testsuite/ld-cris/libdso-12.d,
        * testsuite/ld-cris/libdso-12b.d,
        * testsuite/ld-cris/libdso-12c.d,
        * testsuite/ld-cris/libdso-13.d,
        * testsuite/ld-cris/libdso-13b.d,
        * testsuite/ld-cris/libdso-14.d,
        * testsuite/ld-cris/libdso-15.d,
        * testsuite/ld-cris/libdso-15b.d,
        * testsuite/ld-cris/libdso-1c.d,
        * testsuite/ld-cris/libdso-1d.d,
        * testsuite/ld-cris/libdso-2.d,
        * testsuite/ld-cris/pic-gc-72.d,
        * testsuite/ld-cris/pic-gc-73.d,
        * testsuite/ld-cris/pr16044.d,
        * testsuite/ld-cris/pv32-1.d,
        * testsuite/ld-cris/tls-dso-dtpoffd2.d,
        * testsuite/ld-cris/tls-dso-dtpoffd4.d,
        * testsuite/ld-cris/tls-dso-tpoffgotcomm1.d,
        * testsuite/ld-cris/tls-gc-71.d,
        * testsuite/ld-cris/tls-gd-1.d,
        * testsuite/ld-cris/tls-gd-1h.d,
        * testsuite/ld-cris/tls-gd-2.d,
        * testsuite/ld-cris/tls-gd-2h.d,
        * testsuite/ld-cris/tls-ie-10.d,
        * testsuite/ld-cris/tls-ie-11.d,
        * testsuite/ld-cris/tls-ie-78.d,
        * testsuite/ld-cris/tls-ie-8.d,
        * testsuite/ld-cris/tls-ie-9.d,
        * testsuite/ld-cris/tls-js1.d,
        * testsuite/ld-cris/tls-ld-4.d,
        * testsuite/ld-cris/tls-ld-5.d,
        * testsuite/ld-cris/tls-ld-6.d,
        * testsuite/ld-cris/tls-ld-7.d,
        * testsuite/ld-cris/tls-ldgd-14.d,
        * testsuite/ld-cris/tls-ldgd-15.d,
        * testsuite/ld-cris/tls-ldgdex-14.d,
        * testsuite/ld-cris/tls-ldgdex-15.d,
        * testsuite/ld-cris/tls-ldgdx-14.d,
        * testsuite/ld-cris/tls-ldgdx-15.d,
        * testsuite/ld-cris/tls-legdx-16.d,
        * testsuite/ld-cris/tls-legdx-17.d,
        * testsuite/ld-cris/tls-local-54.d,
        * testsuite/ld-cris/tls-local-60.d,
        * testsuite/ld-cris/tls-local-61.d,
        * testsuite/ld-cris/tls-local-63.d,
        * testsuite/ld-cris/tls-local-64.d,
        * testsuite/ld-cris/tls-ok-30.d,
        * testsuite/ld-cris/tls-ok-32.d,
        * testsuite/ld-cris/tls-ok-34.d,
        * testsuite/ld-cris/tls-und-38.d,
        * testsuite/ld-cris/tls-und-42.d,
        * testsuite/ld-cris/tls-und-46.d,
        * testsuite/ld-cris/tls-und-50.d,
        * testsuite/ld-cris/weakhiddso.d,
        * testsuite/ld-cris/weakref2.d,
        * testsuite/ld-frv/fdpic-shared-1.d,
        * testsuite/ld-frv/fdpic-shared-2.d,
        * testsuite/ld-frv/fdpic-shared-3.d,
        * testsuite/ld-frv/fdpic-shared-4.d,
        * testsuite/ld-frv/fdpic-shared-5.d,
        * testsuite/ld-frv/fdpic-shared-7.d,
        * testsuite/ld-frv/fdpic-shared-8.d,
        * testsuite/ld-frv/tls-dynamic-2.d,
        * testsuite/ld-i386/ibt-plt-1.d,
        * testsuite/ld-i386/ibt-plt-2a.d,
        * testsuite/ld-i386/ibt-plt-2b.d,
        * testsuite/ld-i386/ibt-plt-2c.d,
        * testsuite/ld-i386/ibt-plt-2d.d,
        * testsuite/ld-i386/ibt-plt-3a.d,
        * testsuite/ld-i386/ibt-plt-3b.d,
        * testsuite/ld-i386/ibt-plt-3c.d,
        * testsuite/ld-i386/ibt-plt-3d.d,
        * testsuite/ld-i386/plt2.dd,
        * testsuite/ld-i386/pr20830.d,
        * testsuite/ld-i386/tlsbin-nacl.rd,
        * testsuite/ld-i386/tlsbin.rd,
        * testsuite/ld-i386/tlsbin2-nacl.rd,
        * testsuite/ld-i386/tlsbin2.rd,
        * testsuite/ld-i386/tlsbindesc-nacl.rd,
        * testsuite/ld-i386/tlsbindesc.rd,
        * testsuite/ld-i386/tlsdesc-nacl.rd,
        * testsuite/ld-i386/tlsdesc.rd,
        * testsuite/ld-i386/tlsgdesc-nacl.rd,
        * testsuite/ld-i386/tlsgdesc.rd,
        * testsuite/ld-i386/tlsnopic-nacl.rd,
        * testsuite/ld-i386/tlsnopic.dd,
        * testsuite/ld-i386/tlsnopic.rd,
        * testsuite/ld-i386/tlsnopic.sd,
        * testsuite/ld-i386/tlspic-nacl.rd,
        * testsuite/ld-i386/tlspic.rd,
        * testsuite/ld-i386/tlspic2-nacl.rd,
        * testsuite/ld-i386/tlspic2.rd,
        * testsuite/ld-ia64/merge1.d,
        * testsuite/ld-ia64/merge2.d,
        * testsuite/ld-ia64/merge3.d,
        * testsuite/ld-ia64/merge4.d,
        * testsuite/ld-ia64/merge5.d,
        * testsuite/ld-ia64/tlsbin.rd,
        * testsuite/ld-ia64/tlspic.rd,
        * testsuite/ld-ifunc/ifunc-2-i386-now.d,
        * testsuite/ld-ifunc/ifunc-2-local-i386-now.d,
        * testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d,
        * testsuite/ld-ifunc/ifunc-2-local-x86-64.d,
        * testsuite/ld-ifunc/ifunc-2-x86-64-now.d,
        * testsuite/ld-ifunc/ifunc-2-x86-64.d,
        * testsuite/ld-ifunc/pr17154-i386-now.d,
        * testsuite/ld-ifunc/pr17154-i386.d,
        * testsuite/ld-ifunc/pr17154-x86-64-now.d,
        * testsuite/ld-ifunc/pr17154-x86-64.d,
        * testsuite/ld-m68k/tls-def-1.d,
        * testsuite/ld-m68k/tls-gd-1.d2,
        * testsuite/ld-metag/shared.d,
        * testsuite/ld-metag/stub_pic_app.d,
        * testsuite/ld-mips-elf/rel32-n32.d,
        * testsuite/ld-mips-elf/rel32-o32.d,
        * testsuite/ld-mips-elf/rel64.d,
        * testsuite/ld-powerpc/ambiguousv1.d,
        * testsuite/ld-powerpc/ambiguousv1b.d,
        * testsuite/ld-powerpc/ambiguousv2.d,
        * testsuite/ld-powerpc/ambiguousv2b.d,
        * testsuite/ld-powerpc/tlsexe.d,
        * testsuite/ld-powerpc/tlsexe.r,
        * testsuite/ld-powerpc/tlsexe32.d,
        * testsuite/ld-powerpc/tlsexe32.g,
        * testsuite/ld-powerpc/tlsexe32.r,
        * testsuite/ld-powerpc/tlsexetoc.d,
        * testsuite/ld-powerpc/tlsexetoc.r,
        * testsuite/ld-powerpc/tlsso.d,
        * testsuite/ld-powerpc/tlsso.r,
        * testsuite/ld-powerpc/tlsso32.g,
        * testsuite/ld-powerpc/tlsso32.r,
        * testsuite/ld-powerpc/tlstocso.d,
        * testsuite/ld-powerpc/tlstocso.g,
        * testsuite/ld-powerpc/tlstocso.r,
        * testsuite/ld-s390/gotreloc_31-1.dd,
        * testsuite/ld-s390/tlsbin.dd,
        * testsuite/ld-s390/tlsbin.rd,
        * testsuite/ld-s390/tlsbin_64.dd,
        * testsuite/ld-s390/tlsbin_64.rd,
        * testsuite/ld-s390/tlspic.rd,
        * testsuite/ld-s390/tlspic_64.rd,
        * testsuite/ld-sh/tlsbin-2.d,
        * testsuite/ld-sh/tlspic-2.d,
        * testsuite/ld-sparc/gotop32.rd,
        * testsuite/ld-sparc/gotop64.rd,
        * testsuite/ld-sparc/tlssunbin32.rd,
        * testsuite/ld-sparc/tlssunbin64.rd,
        * testsuite/ld-sparc/tlssunnopic32.rd,
        * testsuite/ld-sparc/tlssunnopic64.rd,
        * testsuite/ld-sparc/tlssunpic32.rd,
        * testsuite/ld-sparc/tlssunpic64.rd,
        * testsuite/ld-x86-64/bnd-branch-1-now.d,
        * testsuite/ld-x86-64/bnd-ifunc-1-now.d,
        * testsuite/ld-x86-64/bnd-ifunc-2-now.d,
        * testsuite/ld-x86-64/bnd-ifunc-2.d,
        * testsuite/ld-x86-64/bnd-plt-1-now.d,
        * testsuite/ld-x86-64/bnd-plt-1.d,
        * testsuite/ld-x86-64/ibt-plt-1-x32.d,
        * testsuite/ld-x86-64/ibt-plt-1.d,
        * testsuite/ld-x86-64/ibt-plt-2a-x32.d,
        * testsuite/ld-x86-64/ibt-plt-2a.d,
        * testsuite/ld-x86-64/ibt-plt-2b-x32.d,
        * testsuite/ld-x86-64/ibt-plt-2b.d,
        * testsuite/ld-x86-64/ibt-plt-2c-x32.d,
        * testsuite/ld-x86-64/ibt-plt-2c.d,
        * testsuite/ld-x86-64/ibt-plt-2d-x32.d,
        * testsuite/ld-x86-64/ibt-plt-2d.d,
        * testsuite/ld-x86-64/ibt-plt-3a-x32.d,
        * testsuite/ld-x86-64/ibt-plt-3a.d,
        * testsuite/ld-x86-64/ibt-plt-3b-x32.d,
        * testsuite/ld-x86-64/ibt-plt-3b.d,
        * testsuite/ld-x86-64/ibt-plt-3c-x32.d,
        * testsuite/ld-x86-64/ibt-plt-3c.d,
        * testsuite/ld-x86-64/ibt-plt-3d-x32.d,
        * testsuite/ld-x86-64/ibt-plt-3d.d,
        * testsuite/ld-x86-64/ilp32-4-nacl.d,
        * testsuite/ld-x86-64/ilp32-4.d,
        * testsuite/ld-x86-64/load1c-nacl.d,
        * testsuite/ld-x86-64/load1c.d,
        * testsuite/ld-x86-64/load1d-nacl.d,
        * testsuite/ld-x86-64/load1d.d,
        * testsuite/ld-x86-64/mpx3n.dd,
        * testsuite/ld-x86-64/mpx4.dd,
        * testsuite/ld-x86-64/mpx4n.dd,
        * testsuite/ld-x86-64/plt2.dd,
        * testsuite/ld-x86-64/pr14207.d,
        * testsuite/ld-x86-64/pr19162.d,
        * testsuite/ld-x86-64/pr20253-1f.d,
        * testsuite/ld-x86-64/pr20253-1l.d,
        * testsuite/ld-x86-64/pr20830a-now.d,
        * testsuite/ld-x86-64/pr20830a.d,
        * testsuite/ld-x86-64/pr20830b-now.d,
        * testsuite/ld-x86-64/pr20830b.d,
        * testsuite/ld-x86-64/pr21038a-now.d,
        * testsuite/ld-x86-64/pr21038a.d,
        * testsuite/ld-x86-64/pr21038b-now.d,
        * testsuite/ld-x86-64/pr21038b.d,
        * testsuite/ld-x86-64/pr21038c-now.d,
        * testsuite/ld-x86-64/pr21038c.d,
        * testsuite/ld-x86-64/tlsbin-nacl.rd,
        * testsuite/ld-x86-64/tlsbin.rd,
        * testsuite/ld-x86-64/tlsbin2-nacl.rd,
        * testsuite/ld-x86-64/tlsbin2.rd,
        * testsuite/ld-x86-64/tlsbindesc-nacl.rd,
        * testsuite/ld-x86-64/tlsbindesc.rd,
        * testsuite/ld-x86-64/tlsdesc-nacl.rd,
        * testsuite/ld-x86-64/tlsdesc.rd,
        * testsuite/ld-x86-64/tlsgdesc-nacl.rd,
        * testsuite/ld-x86-64/tlsgdesc.rd,
        * testsuite/ld-x86-64/tlspic-nacl.rd,
        * testsuite/ld-x86-64/tlspic.rd,
        * testsuite/ld-x86-64/tlspic2-nacl.rd,
        * testsuite/ld-x86-64/tlspic2.rd: Update.

diff --git a/ld/emulparams/aarch64cloudabi.sh b/ld/emulparams/aarch64cloudabi.sh
index 6223f26a42..1b8ca15868 100644
--- a/ld/emulparams/aarch64cloudabi.sh
+++ b/ld/emulparams/aarch64cloudabi.sh
@@ -27,9 +27,9 @@ DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 # AArch64 does not support .s* sections.
 NO_SMALL_DATA=yes
 
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
diff --git a/ld/emulparams/aarch64elf.sh b/ld/emulparams/aarch64elf.sh
index 952f262012..deea7b4610 100644
--- a/ld/emulparams/aarch64elf.sh
+++ b/ld/emulparams/aarch64elf.sh
@@ -23,14 +23,14 @@ SEPARATE_GOTPLT=24
 IREL_IN_PLT=
 TEXT_START_ADDR=0x00400000
 
-DATA_START_SYMBOLS='__data_start = . ;';
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};"
 
 # AArch64 does not support .s* sections.
 NO_SMALL_DATA=yes
 
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; __bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
diff --git a/ld/emulparams/aarch64elf32.sh b/ld/emulparams/aarch64elf32.sh
index ae96f024be..38bcd4bbb0 100644
--- a/ld/emulparams/aarch64elf32.sh
+++ b/ld/emulparams/aarch64elf32.sh
@@ -23,14 +23,14 @@ SEPARATE_GOTPLT=12
 IREL_IN_PLT=
 TEXT_START_ADDR=0x00400000
 
-DATA_START_SYMBOLS='__data_start = . ;';
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};"
 
 # AArch64 does not support .s* sections.
 NO_SMALL_DATA=yes
 
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
diff --git a/ld/emulparams/aarch64fbsd.sh b/ld/emulparams/aarch64fbsd.sh
index ff367871ad..4a307cd579 100644
--- a/ld/emulparams/aarch64fbsd.sh
+++ b/ld/emulparams/aarch64fbsd.sh
@@ -27,9 +27,9 @@ DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 # AArch64 does not support .s* sections.
 NO_SMALL_DATA=yes
 
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
diff --git a/ld/emulparams/aarch64linux.sh b/ld/emulparams/aarch64linux.sh
index 9a7882847e..2ba1d79043 100644
--- a/ld/emulparams/aarch64linux.sh
+++ b/ld/emulparams/aarch64linux.sh
@@ -27,9 +27,9 @@ DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 # AArch64 does not support .s* sections.
 NO_SMALL_DATA=yes
 
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
diff --git a/ld/emulparams/aarch64linux32.sh b/ld/emulparams/aarch64linux32.sh
index 45f84e9ec9..0b4d4c93f7 100644
--- a/ld/emulparams/aarch64linux32.sh
+++ b/ld/emulparams/aarch64linux32.sh
@@ -27,9 +27,9 @@ DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 # AArch64 does not support .s* sections.
 NO_SMALL_DATA=yes
 
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh
index f581c6880f..272a8bc5d0 100644
--- a/ld/emulparams/armelf.sh
+++ b/ld/emulparams/armelf.sh
@@ -7,9 +7,9 @@ TEXT_START_ADDR=0x8000
 TEMPLATE_NAME=elf32
 EXTRA_EM_FILE=armelf
 OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
 OTHER_READONLY_SECTIONS="
@@ -18,7 +18,7 @@ OTHER_READONLY_SECTIONS="
   .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) }
   ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }"
 
-DATA_START_SYMBOLS='__data_start = . ;';
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};"
 
 GENERATE_SHLIB_SCRIPT=yes
 GENERATE_PIE_SCRIPT=yes
diff --git a/ld/emulparams/armelf_fuchsia.sh b/ld/emulparams/armelf_fuchsia.sh
index 8626b0e15b..36392f1163 100644
--- a/ld/emulparams/armelf_fuchsia.sh
+++ b/ld/emulparams/armelf_fuchsia.sh
@@ -12,9 +12,9 @@ GENERATE_PIE_SCRIPT=yes
 
 DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 
 TEXT_START_ADDR=0x00001000
diff --git a/ld/emulparams/armelf_linux.sh b/ld/emulparams/armelf_linux.sh
index 280db84220..d726d63eb3 100644
--- a/ld/emulparams/armelf_linux.sh
+++ b/ld/emulparams/armelf_linux.sh
@@ -12,9 +12,9 @@ GENERATE_PIE_SCRIPT=yes
 
 DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 
 TEXT_START_ADDR=0x00010000
diff --git a/ld/emulparams/armelf_phoenix.sh b/ld/emulparams/armelf_phoenix.sh
index d78edaf7f9..7fb1e2d363 100644
--- a/ld/emulparams/armelf_phoenix.sh
+++ b/ld/emulparams/armelf_phoenix.sh
@@ -12,9 +12,9 @@ GENERATE_PIE_SCRIPT=yes
 
 DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
 
 TEXT_START_ADDR=0x00001000
diff --git a/ld/emulparams/armnto.sh b/ld/emulparams/armnto.sh
index f89f14f551..79be9995bd 100644
--- a/ld/emulparams/armnto.sh
+++ b/ld/emulparams/armnto.sh
@@ -7,11 +7,11 @@ TEXT_START_ADDR=0x00100000
 TEMPLATE_NAME=elf32
 EXTRA_EM_FILE=armelf
 OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
-OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
 
-DATA_START_SYMBOLS='__data_start = . ;';
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};"
 
 GENERATE_SHLIB_SCRIPT=yes
 
diff --git a/ld/emulparams/elf32bmip.sh b/ld/emulparams/elf32bmip.sh
index 8da0f8f748..da5e7fbece 100644
--- a/ld/emulparams/elf32bmip.sh
+++ b/ld/emulparams/elf32bmip.sh
@@ -29,13 +29,9 @@ OTHER_GOT_RELOC_SECTIONS="
   .rel.dyn      ${RELOCATING-0} : { *(.rel.dyn) }
 "
 # If the output has a GOT section, there must be exactly 0x7ff0 bytes
-# between .got and _gp.  The ". = ." below stops the orphan code from
-# inserting other sections between the assignment to _gp and the start
-# of .got.
-OTHER_GOT_SYMBOLS='
-  . = .;
-  HIDDEN (_gp = ALIGN (16) + 0x7ff0);
-'
+# between .got and _gp.
+OTHER_GOT_SYMBOLS='HIDDEN (_gp = ALIGN (16) + 0x7ff0);'
+
 # .got.plt is only used for the PLT psABI extension.  It should not be
 # included in the .sdata block with .got, as there is no need to access
 # the section from _gp.  Note that the traditional:
@@ -59,9 +55,9 @@ OTHER_SDATA_SECTIONS="
   .lit8         ${RELOCATING-0} : { *(.lit8) }
   .lit4         ${RELOCATING-0} : { *(.lit4) }
 "
-TEXT_START_SYMBOLS='_ftext = . ;'
-DATA_START_SYMBOLS='_fdata = . ;'
-OTHER_BSS_SYMBOLS='_fbss = .;'
+TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
 OTHER_SECTIONS='
   .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
   .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
diff --git a/ld/emulparams/elf32bmipn32-defs.sh b/ld/emulparams/elf32bmipn32-defs.sh
index 46b3f83c84..bd017909e0 100644
--- a/ld/emulparams/elf32bmipn32-defs.sh
+++ b/ld/emulparams/elf32bmipn32-defs.sh
@@ -48,13 +48,9 @@ OTHER_GOT_RELOC_SECTIONS="
 "
 # GOT-related settings.
 # If the output has a GOT section, there must be exactly 0x7ff0 bytes
-# between .got and _gp.  The ". = ." below stops the orphan code from
-# inserting other sections between the assignment to _gp and the start
-# of .got.
-OTHER_GOT_SYMBOLS='
-  . = .;
-  HIDDEN (_gp = ALIGN (16) + 0x7ff0);
-'
+# between .got and _gp.
+OTHER_GOT_SYMBOLS='HIDDEN (_gp = ALIGN (16) + 0x7ff0);'
+
 # .got.plt is only used for the PLT psABI extension.  It should not be
 # included in the .sdata block with .got, as there is no need to access
 # the section from _gp.  Note that the traditional:
@@ -81,9 +77,9 @@ OTHER_SDATA_SECTIONS="
 "
 
 # Magic symbols.
-TEXT_START_SYMBOLS='_ftext = . ;'
-DATA_START_SYMBOLS='_fdata = . ;'
-OTHER_BSS_SYMBOLS='_fbss = .;'
+TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
 
 INITIAL_READONLY_SECTIONS=
 if test -z "${CREATE_SHLIB}"; then
diff --git a/ld/emulparams/elf32frv.sh b/ld/emulparams/elf32frv.sh
index 903707243f..581b7bcf04 100644
--- a/ld/emulparams/elf32frv.sh
+++ b/ld/emulparams/elf32frv.sh
@@ -9,8 +9,8 @@ MAXPAGESIZE=256
 ENTRY=_start
 EMBEDDED=yes
 OTHER_EXCLUDE_FILES='*frvend.o'
-OTHER_END_SYMBOLS='__end = .;'
-DATA_START_SYMBOLS='__data_start = . ;'
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end = .${CREATE_SHLIB+)};"
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};"
 STACK_ADDR=0x200000
 NOP=0x80000000
 OTHER_GOT_SYMBOLS='
diff --git a/ld/emulparams/elf32lriscv-defs.sh b/ld/emulparams/elf32lriscv-defs.sh
index f373eced89..91015d4471 100644
--- a/ld/emulparams/elf32lriscv-defs.sh
+++ b/ld/emulparams/elf32lriscv-defs.sh
@@ -30,8 +30,7 @@ TEXT_START_ADDR=0x10000
 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
 
-SDATA_START_SYMBOLS="__global_pointer$ = . + 0x800;"
-SDATA_START_SYMBOLS="${CREATE_SHLIB-${SDATA_START_SYMBOLS}}
+SDATA_START_SYMBOLS="${CREATE_SHLIB-__global_pointer$ = . + 0x800;}
     *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)"
 
 INITIAL_READONLY_SECTIONS=".interp         : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}"
diff --git a/ld/emulparams/elf32mcore.sh b/ld/emulparams/elf32mcore.sh
index 1e14c19451..8a09bba2c8 100644
--- a/ld/emulparams/elf32mcore.sh
+++ b/ld/emulparams/elf32mcore.sh
@@ -21,8 +21,8 @@ EMBEDDED=yes
 # not matter.
 NOP=0x0e0e0e0e
 
-OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
-OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;"
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
 
 # This sets the stack to the top of the simulator memory (2^19 bytes).
 STACK_ADDR=0x80000
diff --git a/ld/emulparams/elf32ppccommon.sh b/ld/emulparams/elf32ppccommon.sh
index 44edbd02b5..11a4d53723 100644
--- a/ld/emulparams/elf32ppccommon.sh
+++ b/ld/emulparams/elf32ppccommon.sh
@@ -23,7 +23,7 @@ else
   unset SBSS_START_SYMBOLS
   unset SBSS_END_SYMBOLS
 fi
-OTHER_END_SYMBOLS="__end = .;"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end = .${CREATE_SHLIB+)};"
 OTHER_RELRO_SECTIONS="
   .fixup        ${RELOCATING-0} : { *(.fixup) }
   .got1         ${RELOCATING-0} : { *(.got1) }
diff --git a/ld/emulparams/elf32rl78.sh b/ld/emulparams/elf32rl78.sh
index b782d0316b..d1a00e185a 100644
--- a/ld/emulparams/elf32rl78.sh
+++ b/ld/emulparams/elf32rl78.sh
@@ -11,10 +11,6 @@ ELFSIZE=32
 # EXTRA_EM_FILE=needrelax
 MAXPAGESIZE=256
 
-STACK_ADDR="(DEFINED(__stack) ? __stack : 0xffedc)"
+STACK_ADDR="${CREATE_SHLIB-(DEFINED(__stack) ? __stack : 0xffedc)}"
 STACK_SENTINEL="LONG(0xdead)"
-# We do not need .stack for shared library.
-test -n "$CREATE_SHLIB" && unset STACK_ADDR
-
-OTHER_SYMBOLS="PROVIDE (__rl78_abs__ = 0);"
-test -n "$CREATE_SHLIB" && unset OTHER_SYMBOLS
+OTHER_SYMBOLS="${CREATE_SHLIB-PROVIDE (__rl78_abs__ = 0);}"
diff --git a/ld/emulparams/i386nto.sh b/ld/emulparams/i386nto.sh
index 626f9c13aa..bb685f3a01 100644
--- a/ld/emulparams/i386nto.sh
+++ b/ld/emulparams/i386nto.sh
@@ -2,7 +2,7 @@ SCRIPT_NAME=elf
 OUTPUT_FORMAT="elf32-i386"
 NO_RELA_RELOCS=yes
 TEXT_START_ADDR=0x08048000
-TEXT_START_SYMBOLS='_btext = .;'
+TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_btext = .${CREATE_SHLIB+)};"
 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
 ARCH=i386
 MACHINE=
diff --git a/ld/emulparams/score3_elf.sh b/ld/emulparams/score3_elf.sh
index 4636cd3567..8fbd47bf8e 100644
--- a/ld/emulparams/score3_elf.sh
+++ b/ld/emulparams/score3_elf.sh
@@ -12,17 +12,13 @@ TEXT_START_ADDR=0x00000000
 MAXPAGESIZE=256
 NONPAGED_TEXT_START_ADDR=0x0400000
 SHLIB_TEXT_START_ADDR=0x5ffe0000
-OTHER_GOT_SYMBOLS='
-  _gp = ALIGN(16) + 0x3ff0;
-'
+OTHER_GOT_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_gp = ALIGN(16) + 0x3ff0${CREATE_SHLIB+)};"
 
-OTHER_BSS_START_SYMBOLS='_bss_start__ = . + ALIGN(4);'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
-DATA_START_SYMBOLS='_fdata = . ;'
-SDATA_START_SYMBOLS='_sdata_begin = . ;'
-OTHER_BSS_SYMBOLS='
-  _bss_start = ALIGN(4) ;
-'
+OTHER_BSS_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_start__ = ALIGN(4)${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
+SDATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_sdata_begin = .${CREATE_SHLIB+)};"
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_start = ALIGN(4)${CREATE_SHLIB+)};"
 # This sets the stack to the top of the simulator memory (2^19 bytes).
 STACK_ADDR=0x8000000
 
diff --git a/ld/emulparams/shelf_nto.sh b/ld/emulparams/shelf_nto.sh
index c4d71aa999..1dc5e4652b 100644
--- a/ld/emulparams/shelf_nto.sh
+++ b/ld/emulparams/shelf_nto.sh
@@ -7,5 +7,5 @@ ARCH=sh
 MACHINE=
 TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
-TEXT_START_SYMBOLS='_btext = .;'
+TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_btext = .${CREATE_SHLIB+)};"
 ENTRY=_start
diff --git a/ld/emulparams/shlelf_nto.sh b/ld/emulparams/shlelf_nto.sh
index 16f65087eb..ddc4fc6bb5 100644
--- a/ld/emulparams/shlelf_nto.sh
+++ b/ld/emulparams/shlelf_nto.sh
@@ -7,5 +7,5 @@ ARCH=sh
 MACHINE=
 TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
-TEXT_START_SYMBOLS='_btext = .;'
+TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_btext = .${CREATE_SHLIB+)};"
 ENTRY=_start
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 5ccdd415f3..444aef2942 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -359,7 +359,7 @@ OUTPUT_ARCH(${OUTPUT_ARCH})
 ${RELOCATING+ENTRY(${ENTRY})}
 
 ${RELOCATING+${LIB_SEARCH_DIRS}}
-${RELOCATING+${EXECUTABLE_SYMBOLS}}
+${RELOCATING+${CREATE_SHLIB-${EXECUTABLE_SYMBOLS}}}
 ${RELOCATING+${INPUT_FILES}}
 ${RELOCATING- /* For some reason, the Solaris linker makes bad executables
   if gld -r is used and the intermediate file has sections starting
@@ -637,9 +637,9 @@ cat <<EOF
   ${SDATA_GOT+${OTHER_GOT_SECTIONS}}
   ${DATA_SDATA-${SDATA}}
   ${DATA_SDATA-${OTHER_SDATA_SECTIONS}}
-  ${RELOCATING+${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}}
+  ${RELOCATING+${DATA_END_SYMBOLS-${CREATE_SHLIB+PROVIDE (}${USER_LABEL_PREFIX}_edata = .${CREATE_SHLIB+)}; PROVIDE (${USER_LABEL_PREFIX}edata = .);}}
   ${RELOCATING+. = .;}
-  ${RELOCATING+${USER_LABEL_PREFIX}__bss_start = .;}
+  ${RELOCATING+${CREATE_SHLIB+PROVIDE (}${USER_LABEL_PREFIX}__bss_start = .${CREATE_SHLIB+)};}
   ${RELOCATING+${OTHER_BSS_SYMBOLS}}
   ${DATA_SDATA-${SBSS}}
   ${BSS_PLT+${PLT}}
@@ -672,7 +672,7 @@ cat <<EOF
   ${LARGE_BSS_AFTER_BSS-${LARGE_BSS}}
   ${RELOCATING+. = ALIGN(${ALIGNMENT});}
   ${RELOCATING+${OTHER_END_SYMBOLS}}
-  ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
+  ${RELOCATING+${END_SYMBOLS-${CREATE_SHLIB+PROVIDE (}${USER_LABEL_PREFIX}_end = .${CREATE_SHLIB+)}; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
   ${RELOCATING+${DATA_SEGMENT_END}}
   ${TINY_DATA_SECTION}
   ${TINY_BSS_SECTION}
diff --git a/ld/testsuite/ld-aarch64/ifunc-1-local.d b/ld/testsuite/ld-aarch64/ifunc-1-local.d
index 779d973cb1..7d6e5b2cc1 100644
--- a/ld/testsuite/ld-aarch64/ifunc-1-local.d
+++ b/ld/testsuite/ld-aarch64/ifunc-1-local.d
@@ -3,5 +3,5 @@
 #target: aarch64*-*-*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2a0|0x2f0)@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1a0|0x1f0)@plt>
 #pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-1.d b/ld/testsuite/ld-aarch64/ifunc-1.d
index 06403033bc..aa6452306f 100644
--- a/ld/testsuite/ld-aarch64/ifunc-1.d
+++ b/ld/testsuite/ld-aarch64/ifunc-1.d
@@ -3,5 +3,5 @@
 #target: aarch64*-*-*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2c0|0x308)@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1c0|0x208)@plt>
 #pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-2-local.d b/ld/testsuite/ld-aarch64/ifunc-2-local.d
index 27710bca04..843d3d8d14 100644
--- a/ld/testsuite/ld-aarch64/ifunc-2-local.d
+++ b/ld/testsuite/ld-aarch64/ifunc-2-local.d
@@ -3,7 +3,7 @@
 #target: aarch64*-*-*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2a0|0x2f0)@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1a0|0x1f0)@plt>
 [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*>
-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #(0x290|0x2e0)
+[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #(0x190|0x1e0)
 #pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-2.d b/ld/testsuite/ld-aarch64/ifunc-2.d
index b67e2822a4..0248c2f190 100644
--- a/ld/testsuite/ld-aarch64/ifunc-2.d
+++ b/ld/testsuite/ld-aarch64/ifunc-2.d
@@ -3,7 +3,7 @@
 #target: aarch64*-*-*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2c0|0x308)@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1c0|0x108)@plt>
 [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*>
-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #(0x2b0|0x2f8)
+[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #(0x1b0|0x1f8)
 #pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-21.d b/ld/testsuite/ld-aarch64/ifunc-21.d
index 590495f7ed..a38e75b202 100644
--- a/ld/testsuite/ld-aarch64/ifunc-21.d
+++ b/ld/testsuite/ld-aarch64/ifunc-21.d
@@ -11,7 +11,7 @@ Contents of section .text:
  [0-9a-f]+ .*
 Contents of section .got.plt:
  [0-9a-f]+ 0+ 0+ 0+ 0+  .*
- (103b8|10408) 0+ 0+ [0-9a-f]+ [0-9a-f]+  .*
+ (102b8|10308) 0+ 0+ [0-9a-f]+ [0-9a-f]+  .*
 
 Disassembly of section .text:
 
@@ -20,7 +20,7 @@ Disassembly of section .text:
 
 .* <bar>:
  .*: 90000080 adrp x0, 10000 <.*>
- .*: .* ldr x0, \[x0, #(960|1040)\]
+ .*: .* ldr x0, \[x0, #(704|784)\]
  .*: d65f03c0 ret
 
-#pass
\ No newline at end of file
+#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-3a.d b/ld/testsuite/ld-aarch64/ifunc-3a.d
index 3e19b335c5..cd73341f54 100644
--- a/ld/testsuite/ld-aarch64/ifunc-3a.d
+++ b/ld/testsuite/ld-aarch64/ifunc-3a.d
@@ -4,5 +4,5 @@
 #target: aarch64*-*-*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2e0|0x330)@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1e0|0x230)@plt>
 #pass
diff --git a/ld/testsuite/ld-alpha/tlsbin.rd b/ld/testsuite/ld-alpha/tlsbin.rd
index 6918611dd3..ca811ddefe 100644
--- a/ld/testsuite/ld-alpha/tlsbin.rd
+++ b/ld/testsuite/ld-alpha/tlsbin.rd
@@ -59,10 +59,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 [0-9 ]+: [0-9a-f]+ +0 +NOTYPE +LOCAL +DEFAULT +UND *
 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
 [0-9 ]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start
 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
-[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata
-[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-alpha/tlsbin.sd b/ld/testsuite/ld-alpha/tlsbin.sd
index c67a88a448..f9bb001c63 100644
--- a/ld/testsuite/ld-alpha/tlsbin.sd
+++ b/ld/testsuite/ld-alpha/tlsbin.sd
@@ -10,7 +10,7 @@
 
 Contents of section .got:
  [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
- [0-9a-f]+ 00000000 00000000 74030020 01000000  .*
+ [0-9a-f]+ 00000000 00000000 04030020 01000000  .*
  [0-9a-f]+ 56000000 00000000 00000000 00000000  .*
  [0-9a-f]+ 00000000 00000000 01000000 00000000  .*
  [0-9a-f]+ 00000000 00000000 01000000 00000000  .*
diff --git a/ld/testsuite/ld-alpha/tlsbinr.rd b/ld/testsuite/ld-alpha/tlsbinr.rd
index c3a275f566..d2001ca8d3 100644
--- a/ld/testsuite/ld-alpha/tlsbinr.rd
+++ b/ld/testsuite/ld-alpha/tlsbinr.rd
@@ -47,17 +47,14 @@ Program Headers:
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +0+100000026 R_ALPHA_TPREL64 +0+ sG2 \+ 0
-[0-9a-f]+ +0+400000026 R_ALPHA_TPREL64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+300000026 R_ALPHA_TPREL64 +0+ sG1 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
 [0-9 ]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND
 [0-9 ]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
 [0-9 ]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start
 [0-9 ]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
-[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata
-[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-alpha/tlspic.rd b/ld/testsuite/ld-alpha/tlspic.rd
index 0b287a5919..6b28d87d5b 100644
--- a/ld/testsuite/ld-alpha/tlspic.rd
+++ b/ld/testsuite/ld-alpha/tlspic.rd
@@ -64,12 +64,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg1
 .* [0-9a-f]+ +172 +FUNC +GLOBAL +DEFAULT +\[<other>: 88\] +7 fn1
-.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg2
 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg6
 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg7
-.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -122,9 +119,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg1
 .* [0-9a-f]+ +172 +FUNC +GLOBAL +DEFAULT +\[<other>: 88\] +7 fn1
-.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg2
 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg6
 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg7
-.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-alpha/tlspic.sd b/ld/testsuite/ld-alpha/tlspic.sd
index 7d02cf1ce5..12dec599e8 100644
--- a/ld/testsuite/ld-alpha/tlspic.sd
+++ b/ld/testsuite/ld-alpha/tlspic.sd
@@ -10,7 +10,7 @@
 
 Contents of section .got:
  11278 00000000 00000000 00000000 00000000  .*
- 11288 44040000 00000000 00000000 00000000  .*
+ 11288 c4030000 00000000 00000000 00000000  .*
  11298 00000000 00000000 71000000 00000000  .*
  112a8 00000000 00000000 00000000 00000000  .*
  112b8 00000000 00000000 44000000 00000000  .*
diff --git a/ld/testsuite/ld-cris/dso-pltdis1.d b/ld/testsuite/ld-cris/dso-pltdis1.d
index 241328c1db..efc4d94aaf 100644
--- a/ld/testsuite/ld-cris/dso-pltdis1.d
+++ b/ld/testsuite/ld-cris/dso-pltdis1.d
@@ -20,42 +20,42 @@
 
 Disassembly of section \.plt:
 
-0+1b4 <.*>:
- 1b4: 84e2                 subq 4,\$sp
- 1b6: 0401                 addoq 4,\$r0,\$acr
- 1b8: 7e7a                 move \$mof,\[\$sp\]
- 1ba: 3f7a                 move \[\$acr\],\$mof
- 1bc: 04f2                 addq 4,\$acr
- 1be: 6ffa                 move\.d \[\$acr\],\$acr
- 1c0: bf09                 jump \$acr
- 1c2: b005                 nop
+0+160 <.*>:
+ 160: 84e2                 subq 4,\$sp
+ 162: 0401                 addoq 4,\$r0,\$acr
+ 164: 7e7a                 move \$mof,\[\$sp\]
+ 166: 3f7a                 move \[\$acr\],\$mof
+ 168: 04f2                 addq 4,\$acr
+ 16a: 6ffa                 move\.d \[\$acr\],\$acr
+ 16c: bf09                 jump \$acr
+ 16e: b005                 nop
  \.\.\.
 #...
- 1ce: 6f0d ..00 0000       addo\.d .*
- 1d4: 6ffa                 move\.d \[\$acr\],\$acr
- 1d6: bf09                 jump \$acr
- 1d8: b005                 nop
- 1da: 3f7e .... ....       move .*,\$mof
- 1e0: bf0e .... ....       ba .*
- 1e6: b005                 nop
+ 17a: 6f0d ..00 0000       addo\.d .*
+ 180: 6ffa                 move\.d \[\$acr\],\$acr
+ 182: bf09                 jump \$acr
+ 184: b005                 nop
+ 186: 3f7e .... ....       move .*,\$mof
+ 18c: bf0e .... ....       ba .*
+ 192: b005                 nop
 
-0+1e8 <dsofn@plt>:
- 1e8: 6f0d ..00 0000       addo\.d .*
- 1ee: 6ffa                 move\.d \[\$acr\],\$acr
- 1f0: bf09                 jump \$acr
- 1f2: b005                 nop
- 1f4: 3f7e .... ....       move .*,\$mof
- 1fa: bf0e baff ffff       ba 1b4 <.*>
- 200: b005                 nop
+0+194 <dsofn@plt>:
+ 194: 6f0d ..00 0000       addo\.d .*
+ 19a: 6ffa                 move\.d \[\$acr\],\$acr
+ 19c: bf09                 jump \$acr
+ 19e: b005                 nop
+ 1a0: 3f7e .... ....       move .*,\$mof
+ 1a6: bf0e baff ffff       ba 160 <.*>
+ 1ac: b005                 nop
 
 Disassembly of section \.text:
 #...
-0+202 <dsofn3>:
- 202: bfbe e6ff ffff       bsr 1e8 <dsofn@plt>
- 208: b005                 nop
+0+1ae <dsofn3>:
+ 1ae: bfbe e6ff ffff       bsr 194 <dsofn@plt>
+ 1b4: b005                 nop
 
-0+20a <dsofn4>:
- 20a: 7f0d ae20 0000       lapc 22b8 <_GLOBAL_OFFSET_TABLE_>,\$r0
- 210: 5f0d 1400           addo\.w 0x14,\$r0,\$acr
- 214: bfbe baff ffff       bsr 1ce <.*>
+0+1b6 <dsofn4>:
+ 1b6: 7f0d ae20 0000       lapc 2264 <_GLOBAL_OFFSET_TABLE_>,\$r0
+ 1bc: 5f0d 1400           addo\.w 0x14,\$r0,\$acr
+ 1c0: bfbe baff ffff       bsr 17a <.*>
 #pass
diff --git a/ld/testsuite/ld-cris/dso-pltdis2.d b/ld/testsuite/ld-cris/dso-pltdis2.d
index 1acea4e072..c6f53fd26e 100644
--- a/ld/testsuite/ld-cris/dso-pltdis2.d
+++ b/ld/testsuite/ld-cris/dso-pltdis2.d
@@ -12,43 +12,43 @@
 
 Disassembly of section \.plt:
 
-0+1b4 <.*>:
-
- 1b4: 84e2                 subq 4,\$sp
- 1b6: 0401                 addoq 4,\$r0,\$acr
- 1b8: 7e7a                 move \$mof,\[\$sp\]
- 1ba: 3f7a                 move \[\$acr\],\$mof
- 1bc: 04f2                 addq 4,\$acr
- 1be: 6ffa                 move\.d \[\$acr\],\$acr
- 1c0: bf09                 jump \$acr
- 1c2: b005                 nop
+0+160 <.*>:
+
+ 160: 84e2                 subq 4,\$sp
+ 162: 0401                 addoq 4,\$r0,\$acr
+ 164: 7e7a                 move \$mof,\[\$sp\]
+ 166: 3f7a                 move \[\$acr\],\$mof
+ 168: 04f2                 addq 4,\$acr
+ 16a: 6ffa                 move\.d \[\$acr\],\$acr
+ 16c: bf09                 jump \$acr
+ 16e: b005                 nop
  \.\.\.
 
-000001ce <dsofn4@plt>:
- 1ce: 6f0d ..00 0000       addo\.d .*
- 1d4: 6ffa                 move\.d \[\$acr\],\$acr
- 1d6: bf09                 jump \$acr
- 1d8: b005                 nop
- 1da: 3f7e .... ....       move .*,\$mof
- 1e0: bf0e .... ....       ba .*
- 1e6: b005                 nop
+0000017a <dsofn4@plt>:
+ 17a: 6f0d ..00 0000       addo\.d .*
+ 180: 6ffa                 move\.d \[\$acr\],\$acr
+ 182: bf09                 jump \$acr
+ 184: b005                 nop
+ 186: 3f7e .... ....       move .*,\$mof
+ 18c: bf0e .... ....       ba .*
+ 192: b005                 nop
 #...
- 1e8: 6f0d ..00 0000       addo\.d .*
- 1ee: 6ffa                 move\.d \[\$acr\],\$acr
- 1f0: bf09                 jump \$acr
- 1f2: b005                 nop
- 1f4: 3f7e .... ....       move .*,\$mof
- 1fa: bf0e .... ....       ba .*
- 200: b005                 nop
+ 194: 6f0d ..00 0000       addo\.d .*
+ 19a: 6ffa                 move\.d \[\$acr\],\$acr
+ 19c: bf09                 jump \$acr
+ 19e: b005                 nop
+ 1a0: 3f7e .... ....       move .*,\$mof
+ 1a6: bf0e .... ....       ba .*
+ 1ac: b005                 nop
 
 Disassembly of section \.text:
 #...
-0+202 <dsofn3>:
- 202: bfbe e6ff ffff       bsr 1e8 <.*>
- 208: b005                 nop
-
-0+20a <dsofn4>:
- 20a: 7f0d ae20 0000       lapc 22b8 <_GLOBAL_OFFSET_TABLE_>,\$r0
- 210: 5f0d ..00           addo\.w 0x..,\$r0,\$acr
- 214: bfbe baff ffff       bsr 1ce <dsofn4@plt>
+0+1ae <dsofn3>:
+ 1ae: bfbe e6ff ffff       bsr 194 <.*>
+ 1b4: b005                 nop
+
+0+1b6 <dsofn4>:
+ 1b6: 7f0d ae20 0000       lapc 2264 <_GLOBAL_OFFSET_TABLE_>,\$r0
+ 1bc: 5f0d ..00           addo\.w 0x..,\$r0,\$acr
+ 1c0: bfbe baff ffff       bsr 17a <dsofn4@plt>
 #pass
diff --git a/ld/testsuite/ld-cris/dso12-pltdis.d b/ld/testsuite/ld-cris/dso12-pltdis.d
index 0bfb846cfc..429f91e2d1 100644
--- a/ld/testsuite/ld-cris/dso12-pltdis.d
+++ b/ld/testsuite/ld-cris/dso12-pltdis.d
@@ -11,44 +11,44 @@
 
 Disassembly of section \.plt:
 
-0+1e4 <.plt>:
-
- 1e4: 84e2                 subq 4,\$sp
- 1e6: 0401                 addoq 4,\$r0,\$acr
- 1e8: 7e7a                 move \$mof,\[\$sp\]
- 1ea: 3f7a                 move \[\$acr\],\$mof
- 1ec: 04f2                 addq 4,\$acr
- 1ee: 6ffa                 move\.d \[\$acr\],\$acr
- 1f0: bf09                 jump \$acr
- 1f2: b005                 nop
+0+198 <.plt>:
+
+ 198: 84e2                 subq 4,\$sp
+ 19a: 0401                 addoq 4,\$r0,\$acr
+ 19c: 7e7a                 move \$mof,\[\$sp\]
+ 19e: 3f7a                 move \[\$acr\],\$mof
+ 1a0: 04f2                 addq 4,\$acr
+ 1a2: 6ffa                 move\.d \[\$acr\],\$acr
+ 1a4: bf09                 jump \$acr
+ 1a6: b005                 nop
  \.\.\.
 
-0+1fe <dsofn4@plt>:
- 1fe: 6f0d 0c00 0000       addo\.d c <.*>,\$r0,\$acr
- 204: 6ffa                 move\.d \[\$acr\],\$acr
- 206: bf09                 jump \$acr
- 208: b005                 nop
- 20a: 3f7e 0000 0000       move 0 <.*>,\$mof
- 210: bf0e d4ff ffff       ba 1e4 <.*>
- 216: b005                 nop
-
-0+218 <dsofn@plt>:
- 218: 6f0d 1000 0000       addo\.d 10 <.*>,\$r0,\$acr
- 21e: 6ffa                 move\.d \[\$acr\],\$acr
- 220: bf09                 jump \$acr
- 222: b005                 nop
- 224: 3f7e 0c00 0000       move c <.*>,\$mof
- 22a: bf0e baff ffff       ba 1e4 <.*>
- 230: b005                 nop
+0+1b2 <dsofn4@plt>:
+ 1b2: 6f0d 0c00 0000       addo\.d c <.*>,\$r0,\$acr
+ 1b8: 6ffa                 move\.d \[\$acr\],\$acr
+ 1ba: bf09                 jump \$acr
+ 1bc: b005                 nop
+ 1be: 3f7e 0000 0000       move 0 <.*>,\$mof
+ 1c4: bf0e d4ff ffff       ba 198 <.*>
+ 1ca: b005                 nop
+
+0+1cc <dsofn@plt>:
+ 1cc: 6f0d 1000 0000       addo\.d 10 <.*>,\$r0,\$acr
+ 1d2: 6ffa                 move\.d \[\$acr\],\$acr
+ 1d4: bf09                 jump \$acr
+ 1d6: b005                 nop
+ 1d8: 3f7e 0c00 0000       move c <.*>,\$mof
+ 1de: bf0e baff ffff       ba 198 <.*>
+ 1e4: b005                 nop
 
 Disassembly of section \.text:
 #...
-0+236 <dsofn3>:
- 236: bfbe e2ff ffff       bsr 218 <dsofn@plt>
- 23c: b005                 nop
-
-0+23e <dsofn4>:
- 23e: 7f0d a620 0000       lapc 22e4 <_GLOBAL_OFFSET_TABLE_>,\$r0
- 244: 5f0d 1400           addo\.w 0x14,\$r0,\$acr
- 248: bfbe b6ff ffff       bsr 1fe <dsofn4@plt>
+0+1ea <dsofn3>:
+ 1ea: bfbe e2ff ffff       bsr 1cc <dsofn@plt>
+ 1f0: b005                 nop
+
+0+1f2 <dsofn4>:
+ 1f2: 7f0d a620 0000       lapc 2298 <_GLOBAL_OFFSET_TABLE_>,\$r0
+ 1f8: 5f0d 1400           addo\.w 0x14,\$r0,\$acr
+ 1fc: bfbe b6ff ffff       bsr 1b2 <dsofn4@plt>
 #pass
diff --git a/ld/testsuite/ld-cris/gotplt1.d b/ld/testsuite/ld-cris/gotplt1.d
index 0f5472fd2d..28724d7004 100644
--- a/ld/testsuite/ld-cris/gotplt1.d
+++ b/ld/testsuite/ld-cris/gotplt1.d
@@ -19,30 +19,30 @@
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00082280 R_CRIS_JUMP_SLOT  dsofn
+00082224 R_CRIS_JUMP_SLOT  dsofn
 
 Contents of section .*
 #...
 Contents of section \.rela\.plt:
- 80190 80220800 0b040000 00000000           .*
+ 80134 24220800 0b010000 00000000           .*
 Contents of section \.plt:
- 8019c fce17e7e 7f0d7822 0800307a 7f0d7c22  .*
- 801ac 08003009 7f0d8022 08003009 3f7e0000  .*
- 801bc 00002ffe d8ffffff                    .*
+ 80140 fce17e7e 7f0d1c22 0800307a 7f0d2022  .*
+ 80150 08003009 7f0d2422 08003009 3f7e0000  .*
+ 80160 00002ffe d8ffffff                    .*
 Contents of section \.text:
- 801c4 5f1d0c00 30096f1d 0c000000 30090000  .*
- 801d4 6f0d1000 0000611a 6f2eb001 08000000  .*
- 801e4 6f3e70df ffff0000                    .*
+ 80168 5f1d0c00 30096f1d 0c000000 30090000  .*
+ 80178 6f0d1000 0000611a 6f2e5401 08000000  .*
+ 80188 6f3e70df ffff0000                    .*
 Contents of section \.dynamic:
- 821ec 01000000 01000000 04000000 e4000800  .*
- 821fc 05000000 5c010800 06000000 0c010800  .*
- 8220c 0a000000 32000000 0b000000 10000000  .*
- 8221c 15000000 00000000 03000000 74220800  .*
- 8222c 02000000 0c000000 14000000 07000000  .*
- 8223c 17000000 90010800 00000000 00000000  .*
- 8224c 00000000 00000000 00000000 00000000  .*
- 8225c 00000000 00000000 00000000 00000000  .*
- 8226c 00000000 00000000                    .*
+ 82190 01000000 01000000 04000000 e4000800  .*
+ 821a0 05000000 18010800 06000000 f8000800  .*
+ 821b0 0a000000 1a000000 0b000000 10000000  .*
+ 821c0 15000000 00000000 03000000 18220800  .*
+ 821d0 02000000 0c000000 14000000 07000000  .*
+ 821e0 17000000 34010800 00000000 00000000  .*
+ 821f0 00000000 00000000 00000000 00000000  .*
+ 82200 00000000 00000000 00000000 00000000  .*
+ 82210 00000000 00000000                    .*
 Contents of section \.got:
- 82274 ec210800 00000000 00000000 b8010800  .*
- 82284 b0010800                             .*
+ 82218 90210800 00000000 00000000 5c010800  .*
+ 82228 54010800                             .*
diff --git a/ld/testsuite/ld-cris/gotplt2.d b/ld/testsuite/ld-cris/gotplt2.d
index 3a281112c0..9f618d2e14 100644
--- a/ld/testsuite/ld-cris/gotplt2.d
+++ b/ld/testsuite/ld-cris/gotplt2.d
@@ -16,22 +16,22 @@
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00002230 R_CRIS_GLOB_DAT   dsofn
+000021e4 R_CRIS_GLOB_DAT   dsofn
 
 Contents of section .*
 #...
 Contents of section \.rela\.got:
- 0188 30220000 0a080000 00000000           .*
+ 013c e4210000 0a050000 00000000           .*
 Contents of section \.text:
- 0194 5f1d0c00 30096f1d 0c000000 30090000  .*
- 01a4 6f0d0c00 0000611a 6f3e88df ffff0000  .*
+ 0148 5f1d0c00 30096f1d 0c000000 30090000  .*
+ 0158 6f0d0c00 0000611a 6f3e88df ffff0000  .*
 Contents of section \.dynamic:
- 21b4 04000000 94000000 05000000 5c010000  .*
- 21c4 06000000 cc000000 0a000000 2a000000  .*
- 21d4 0b000000 10000000 07000000 88010000  .*
- 21e4 08000000 0c000000 09000000 0c000000  .*
- 21f4 00000000 00000000 00000000 00000000  .*
- 2204 00000000 00000000 00000000 00000000  .*
- 2214 00000000 00000000 00000000 00000000  .*
+ 2168 04000000 94000000 05000000 20010000  .*
+ 2178 06000000 c0000000 0a000000 19000000  .*
+ 2188 0b000000 10000000 07000000 3c010000  .*
+ 2198 08000000 0c000000 09000000 0c000000  .*
+ 21a8 00000000 00000000 00000000 00000000  .*
+ 21b8 00000000 00000000 00000000 00000000  .*
+ 21c8 00000000 00000000 00000000 00000000  .*
 Contents of section \.got:
- 2224 b4210000 00000000 00000000 00000000  .*
+ 21d8 68210000 00000000 00000000 00000000  .*
diff --git a/ld/testsuite/ld-cris/gotplt3.d b/ld/testsuite/ld-cris/gotplt3.d
index 727a17cf76..331626f17b 100644
--- a/ld/testsuite/ld-cris/gotplt3.d
+++ b/ld/testsuite/ld-cris/gotplt3.d
@@ -13,23 +13,23 @@
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00002234 R_CRIS_GLOB_DAT   dsofn
+000021e8 R_CRIS_GLOB_DAT   dsofn
 
 Contents of section .*
 #...
 Contents of section \.rela\.got:
- 0188 34220000 0a080000 00000000           .*
+ 013c e8210000 0a050000 00000000           .*
 Contents of section \.text:
- 0194 5f1d0c00 30096f1d 0c000000 30090000  .*
- 01a4 6f0d0c00 0000611a 6f3e84df ffff0000  .*
- 01b4 0f050000                             .*
+ 0148 5f1d0c00 30096f1d 0c000000 30090000  .*
+ 0158 6f0d0c00 0000611a 6f3e84df ffff0000  .*
+ 0168 0f050000                             .*
 Contents of section \.dynamic:
- 21b8 04000000 94000000 05000000 5c010000  .*
- 21c8 06000000 cc000000 0a000000 2a000000  .*
- 21d8 0b000000 10000000 07000000 88010000  .*
- 21e8 08000000 0c000000 09000000 0c000000  .*
- 21f8 00000000 00000000 00000000 00000000  .*
- 2208 00000000 00000000 00000000 00000000  .*
- 2218 00000000 00000000 00000000 00000000  .*
+ 216c 04000000 94000000 05000000 20010000  .*
+ 217c 06000000 c0000000 0a000000 19000000  .*
+ 218c 0b000000 10000000 07000000 3c010000  .*
+ 219c 08000000 0c000000 09000000 0c000000  .*
+ 21ac 00000000 00000000 00000000 00000000  .*
+ 21bc 00000000 00000000 00000000 00000000  .*
+ 21cc 00000000 00000000 00000000 00000000  .*
 Contents of section \.got:
- 2228 b8210000 00000000 00000000 00000000  .*
+ 21dc 6c210000 00000000 00000000 00000000  .*
diff --git a/ld/testsuite/ld-cris/hiddef1.d b/ld/testsuite/ld-cris/hiddef1.d
index 3d158d1466..602f1bfe46 100644
--- a/ld/testsuite/ld-cris/hiddef1.d
+++ b/ld/testsuite/ld-cris/hiddef1.d
@@ -22,7 +22,7 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
 #...
 [0-9a-f]+  0+c R_CRIS_RELATIVE +[0-9a-f]+
 #...
-Symbol table '\.dynsym' contains 6 entries:
+Symbol table '\.dynsym' contains 3 entries:
 #...
-Symbol table '\.symtab' contains 18 entries:
+Symbol table '\.symtab' contains 15 entries:
 #pass
diff --git a/ld/testsuite/ld-cris/libdso-1.d b/ld/testsuite/ld-cris/libdso-1.d
index aa41d4f1d7..2ad44af2c4 100644
--- a/ld/testsuite/ld-cris/libdso-1.d
+++ b/ld/testsuite/ld-cris/libdso-1.d
@@ -9,5 +9,5 @@
 
 DYNAMIC SYMBOL TABLE:
 #...
-00000[12].[02468ace] g    DF .text 0+2 dsofn
+000000.[02468ace] g    DF .text 0+2 dsofn
 #pass
diff --git a/ld/testsuite/ld-cris/libdso-10.d b/ld/testsuite/ld-cris/libdso-10.d
index 83a14648d3..ee7f7e14ca 100644
--- a/ld/testsuite/ld-cris/libdso-10.d
+++ b/ld/testsuite/ld-cris/libdso-10.d
@@ -9,29 +9,29 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+144 memsz 0x0+144 flags r-x
-    LOAD off    0x0+144 vaddr 0x0+2144 paddr 0x0+2144 align 2\*\*13
+         filesz 0x0+e8 memsz 0x0+e8 flags r-x
+    LOAD off    0x0+e8 vaddr 0x0+20e8 paddr 0x0+20e8 align 2\*\*13
          filesz 0x0+64 memsz 0x0+64 flags rw-
- DYNAMIC off    0x0+144 vaddr 0x0+2144 paddr 0x0+2144 align 2\*\*2
+ DYNAMIC off    0x0+e8 vaddr 0x0+20e8 paddr 0x0+20e8 align 2\*\*2
          filesz 0x0+58 memsz 0x0+58 flags rw-
 Dynamic Section:
   HASH.*0x0*94
-  STRTAB.*0x0*120
-  SYMTAB.*0x0*c0
-  STRSZ.*0x0*1f
+  STRTAB.*0x0*dc
+  SYMTAB.*0x0*ac
+  STRSZ.*0x0*7
   SYMENT.*0x0*10
 private flags = 2: \[v32\]
 Sections:
 Idx Name          Size      VMA       LMA       File off  Algn
-  0 \.hash         0+2c  0+94  0+94  0+94  2\*\*2
+  0 \.hash         0+18  0+94  0+94  0+94  2\*\*2
                   CONTENTS, ALLOC, LOAD, READONLY, DATA
-  1 \.dynsym       0+60  0+c0  0+c0  0+c0  2\*\*2
+  1 \.dynsym       0+30  0+ac  0+ac  0+ac  2\*\*2
                   CONTENTS, ALLOC, LOAD, READONLY, DATA
-  2 \.dynstr       0+1f  0+120  0+120  0+120  2\*\*0
+  2 \.dynstr       0+7  0+dc  0+dc  0+dc  2\*\*0
                   CONTENTS, ALLOC, LOAD, READONLY, DATA
-  3 \.text         0+4  0+140  0+140  0+140  2\*\*1
+  3 \.text         0+4  0+e4  0+e4  0+e4  2\*\*1
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
-  4 \.dynamic      0+58  0+2144  0+2144  0+144  2\*\*2
+  4 \.dynamic      0+58  0+20e8  0+20e8  0+e8  2\*\*2
                   CONTENTS, ALLOC, LOAD, DATA
-  5 \.got          0+c  0+219c  0+219c  0+19c  2\*\*2
+  5 \.got          0+c  0+2140  0+2140  0+140  2\*\*2
                   CONTENTS, ALLOC, LOAD, DATA
diff --git a/ld/testsuite/ld-cris/libdso-11.d b/ld/testsuite/ld-cris/libdso-11.d
index b462433b5b..b8e3742d70 100644
--- a/ld/testsuite/ld-cris/libdso-11.d
+++ b/ld/testsuite/ld-cris/libdso-11.d
@@ -8,20 +8,20 @@
 
 DYNAMIC SYMBOL TABLE:
 #...
-0+1a0 g    DF \.text 0+8 dsofn3
+0+144 g    DF \.text 0+8 dsofn3
 #...
-0+19c g    DF \.text 0+2 dsofn
+0+140 g    DF \.text 0+2 dsofn
 #...
 Contents of section \.rela\.plt:
- 015c 2c220000 0b060000 00000000           .*
+ 0100 d0210000 0b030000 00000000           .*
 Contents of section \.plt:
- 0168 84e20401 7e7a3f7a 04f26ffa bf09b005  .*
- 0178 00000000 00000000 00006f0d 0c000000  .*
- 0188 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
- 0198 ffffb005                             .*
+ 010c 84e20401 7e7a3f7a 04f26ffa bf09b005  .*
+ 011c 00000000 00000000 00006f0d 0c000000  .*
+ 012c 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
+ 013c ffffb005                             .*
 Contents of section \.text:
- 019c b0050000 bfbee2ff ffffb005           .*
+ 0140 b0050000 bfbee2ff ffffb005           .*
 Contents of section \.dynamic:
 #...
 Contents of section \.got:
- 2220 a8210000 00000000 00000000 8e010000  .*
+ 21c4 4c210000 00000000 00000000 32010000  .*
diff --git a/ld/testsuite/ld-cris/libdso-12.d b/ld/testsuite/ld-cris/libdso-12.d
index eba3ef4c79..7fe83427be 100644
--- a/ld/testsuite/ld-cris/libdso-12.d
+++ b/ld/testsuite/ld-cris/libdso-12.d
@@ -12,40 +12,40 @@
 
 DYNAMIC SYMBOL TABLE:
 #...
-0+23e g    DF \.text 0+12 dsofn4
-0+234 g    DF \.text 0+2 expfn
-0+22fc g    DO \.data 0+4 expobj
+0+1f2 g    DF \.text 0+12 dsofn4
+0+1e8 g    DF \.text 0+2 expfn
+0+22b0 g    DO \.data 0+4 expobj
 #...
-0+236 g    DF \.text 0+8 dsofn3
+0+1ea g    DF \.text 0+8 dsofn3
 #...
 0+      D  \*UND\* 0+ dsofn
 #...
 Contents of section \.rela\.got:
- 01c0 f8220000 0a040000 00000000           .*
+ 0174 ac220000 0a040000 00000000           .*
 Contents of section \.rela\.plt:
- 01cc f0220000 0b020000 00000000 f4220000  .*
- 01dc 0b0a0000 00000000                    .*
+ 0180 a4220000 0b020000 00000000 a8220000  .*
+ 0190 0b070000 00000000                    .*
 Contents of section \.plt:
- 01e4 84e20401 7e7a3f7a 04f26ffa bf09b005  .*
- 01f4 00000000 00000000 00006f0d 0c000000  .*
- 0204 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
- 0214 ffffb005 6f0d1000 00006ffa bf09b005  .*
- 0224 3f7e0c00 0000bf0e baffffff b005      .*
+ 0198 84e20401 7e7a3f7a 04f26ffa bf09b005  .*
+ 01a8 00000000 00000000 00006f0d 0c000000  .*
+ 01b8 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
+ 01c8 ffffb005 6f0d1000 00006ffa bf09b005  .*
+ 01d8 3f7e0c00 0000bf0e baffffff b005      .*
 Contents of section \.text:
- 0232 b005b005 bfbee2ff ffffb005 7f0da620  .*
- 0242 00005f0d 1400bfbe b6ffffff b0050000  .*
+ 01e6 b005b005 bfbee2ff ffffb005 7f0da620  .*
+ 01f6 00005f0d 1400bfbe b6ffffff b0050000  .*
 Contents of section \.dynamic:
- 2254 04000000 94000000 05000000 84010000  .*
- 2264 06000000 d4000000 0a000000 3a000000  .*
- 2274 0b000000 10000000 03000000 e4220000  .*
- 2284 02000000 18000000 14000000 07000000  .*
- 2294 17000000 cc010000 07000000 c0010000  .*
- 22a4 08000000 0c000000 09000000 0c000000  .*
- 22b4 00000000 00000000 00000000 00000000  .*
- 22c4 00000000 00000000 00000000 00000000  .*
- 22d4 00000000 00000000 00000000 00000000  .*
+ 2208 04000000 94000000 05000000 48010000  .*
+ 2218 06000000 c8000000 0a000000 29000000  .*
+ 2228 0b000000 10000000 03000000 98220000  .*
+ 2238 02000000 18000000 14000000 07000000  .*
+ 2248 17000000 80010000 07000000 74010000  .*
+ 2258 08000000 0c000000 09000000 0c000000  .*
+ 2268 00000000 00000000 00000000 00000000  .*
+ 2278 00000000 00000000 00000000 00000000  .*
+ 2288 00000000 00000000 00000000 00000000  .*
 Contents of section \.got:
- 22e4 54220000 00000000 00000000 0a020000  .*
- 22f4 24020000 00000000                    .*
+ 2298 08220000 00000000 00000000 be010000  .*
+ 22a8 d8010000 00000000                    .*
 Contents of section \.data:
- 22fc 00000000                             .*
+ 22b0 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-12b.d b/ld/testsuite/ld-cris/libdso-12b.d
index fb63d842cd..215d1886c3 100644
--- a/ld/testsuite/ld-cris/libdso-12b.d
+++ b/ld/testsuite/ld-cris/libdso-12b.d
@@ -11,40 +11,40 @@
 
 DYNAMIC SYMBOL TABLE:
 #...
-0+23e g    DF \.text 0+12 dsofn4
-0+234 g    DF \.text 0+2 expfn
-0+22fc g    DO \.data 0+4 expobj
+0+1f2 g    DF \.text 0+12 dsofn4
+0+1e8 g    DF \.text 0+2 expfn
+0+22b0 g    DO \.data 0+4 expobj
 #...
-0+236 g    DF \.text 0+8 dsofn3
+0+1ea g    DF \.text 0+8 dsofn3
 #...
 0+      D  \*UND\* 0+ dsofn
 #...
 Contents of section \.rela\.dyn:
- 01c0 f8220000 0a040000 00000000           .*
+ 0174 ac220000 0a040000 00000000           .*
 Contents of section \.rela\.plt:
- 01cc f0220000 0b020000 00000000 f4220000  .*
- 01dc 0b0a0000 00000000                    .*
+ 0180 a4220000 0b020000 00000000 a8220000  .*
+ 0190 0b070000 00000000                    .*
 Contents of section \.plt:
- 01e4 84e20401 7e7a3f7a 04f26ffa bf09b005  .*
- 01f4 00000000 00000000 00006f0d 0c000000  .*
- 0204 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
- 0214 ffffb005 6f0d1000 00006ffa bf09b005  .*
- 0224 3f7e0c00 0000bf0e baffffff b005      .*
+ 0198 84e20401 7e7a3f7a 04f26ffa bf09b005  .*
+ 01a8 00000000 00000000 00006f0d 0c000000  .*
+ 01b8 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
+ 01c8 ffffb005 6f0d1000 00006ffa bf09b005  .*
+ 01d8 3f7e0c00 0000bf0e baffffff b005      .*
 Contents of section \.text:
- 0232 b005b005 bfbee2ff ffffb005 7f0da620  .*
- 0242 00005f0d 1400bfbe b6ffffff b0050000  .*
+ 01e6 b005b005 bfbee2ff ffffb005 7f0da620  .*
+ 01f6 00005f0d 1400bfbe b6ffffff b0050000  .*
 Contents of section \.dynamic:
- 2254 04000000 94000000 05000000 84010000  .*
- 2264 06000000 d4000000 0a000000 3a000000  .*
- 2274 0b000000 10000000 03000000 e4220000  .*
- 2284 02000000 18000000 14000000 07000000  .*
- 2294 17000000 cc010000 07000000 c0010000  .*
- 22a4 08000000 0c000000 09000000 0c000000  .*
- 22b4 00000000 00000000 00000000 00000000  .*
- 22c4 00000000 00000000 00000000 00000000  .*
- 22d4 00000000 00000000 00000000 00000000  .*
+ 2208 04000000 94000000 05000000 48010000  .*
+ 2218 06000000 c8000000 0a000000 29000000  .*
+ 2228 0b000000 10000000 03000000 98220000  .*
+ 2238 02000000 18000000 14000000 07000000  .*
+ 2248 17000000 80010000 07000000 74010000  .*
+ 2258 08000000 0c000000 09000000 0c000000  .*
+ 2268 00000000 00000000 00000000 00000000  .*
+ 2278 00000000 00000000 00000000 00000000  .*
+ 2288 00000000 00000000 00000000 00000000  .*
 Contents of section \.got:
- 22e4 54220000 00000000 00000000 0a020000  .*
- 22f4 24020000 00000000                    .*
+ 2298 08220000 00000000 00000000 be010000  .*
+ 22a8 d8010000 00000000                    .*
 Contents of section \.data:
- 22fc 00000000                             .*
+ 22b0 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-12c.d b/ld/testsuite/ld-cris/libdso-12c.d
index 5936956b7c..949a0e7c10 100644
--- a/ld/testsuite/ld-cris/libdso-12c.d
+++ b/ld/testsuite/ld-cris/libdso-12c.d
@@ -14,28 +14,28 @@
 
 DYNAMIC SYMBOL TABLE:
 #...
-0+202 g[ ]+DF \.text 0+2  Base[ ]+expfn
-0+22bc g[ ]+DO \.data 0+4  Base[ ]+expobj
+0+1ae g[ ]+DF \.text 0+2  Base[ ]+expfn
+0+2268 g[ ]+DO \.data 0+4  Base[ ]+expobj
 #...
-0+204 g[ ]+DF \.text 0+8  Base[ ]+dsofn3
+0+1b0 g[ ]+DF \.text 0+8  Base[ ]+dsofn3
 #...
 Contents of section \.rela\.dyn:
- 01f4 b8220000 0a040000 00000000           .*
+ 01a0 64220000 0a040000 00000000           .*
 Contents of section \.text:
- 0200 b005b005 bfbe1c00 0000b005 7f0da020  .*
- 0210 00005f0d 0c00bfbe f6ffffff b0050000  .*
- 0220 b0050000                             .*
+ 01ac b005b005 bfbe1c00 0000b005 7f0da020  .*
+ 01bc 00005f0d 0c00bfbe f6ffffff b0050000  .*
+ 01cc b0050000                             .*
 Contents of section .dynamic:
- 2224 04000000 94000000 05000000 70010000  .*
- 2234 06000000 d0000000 0a000000 37000000  .*
- 2244 0b000000 10000000 07000000 f4010000  .*
- 2254 08000000 0c000000 09000000 0c000000  .*
- 2264 fcffff6f bc010000 fdffff6f 02000000  .*
- 2274 f0ffff6f a8010000 00000000 00000000  .*
- 2284 00000000 00000000 00000000 00000000  .*
- 2294 00000000 00000000 00000000 00000000  .*
- 22a4 00000000 00000000                    .*
+ 21d0 04000000 94000000 05000000 34010000  .*
+ 21e0 06000000 c4000000 0a000000 26000000  .*
+ 21f0 0b000000 10000000 07000000 a0010000  .*
+ 2200 08000000 0c000000 09000000 0c000000  .*
+ 2210 fcffff6f 68010000 fdffff6f 02000000  .*
+ 2220 f0ffff6f 5a010000 00000000 00000000  .*
+ 2230 00000000 00000000 00000000 00000000  .*
+ 2240 00000000 00000000 00000000 00000000  .*
+ 2250 00000000 00000000                    .*
 Contents of section \.got:
- 22ac 24220000 00000000 00000000 00000000  .*
+ 2258 d0210000 00000000 00000000 00000000  .*
 Contents of section \.data:
- 22bc 00000000                             .*
+ 2268 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-13.d b/ld/testsuite/ld-cris/libdso-13.d
index 11ee52cc3c..b50a5afc97 100644
--- a/ld/testsuite/ld-cris/libdso-13.d
+++ b/ld/testsuite/ld-cris/libdso-13.d
@@ -15,9 +15,9 @@
 Dynamic section at offset 0x[0-9a-f][0-9a-f][0-9a-f] contains 11 entries:
   Tag[ ]+Type[ ]+Name/Value
  0x0+4 \(HASH\)[ ]+0x94
- 0x0+5 \(STRTAB\)[ ]+0x[12][0-9a-f][0-9a-f]
+ 0x0+5 \(STRTAB\)[ ]+0x[0-9a-f][0-9a-f]
  0x0+6 \(SYMTAB\)[ ]+0x[0-9a-f][0-9a-f]
- 0x0+a \(STRSZ\)[ ]+38 \(bytes\)
+ 0x0+a \(STRSZ\)[ ]+14 \(bytes\)
  0x0+b \(SYMENT\)[ ]+16 \(bytes\)
  0x0+7 \(RELA\)[ ]+0x[12][0-9a-f][0-9a-f]
  0x0+8 \(RELASZ\)[ ]+12 \(bytes\)
diff --git a/ld/testsuite/ld-cris/libdso-13b.d b/ld/testsuite/ld-cris/libdso-13b.d
index 4008946282..1afa0ea9fb 100644
--- a/ld/testsuite/ld-cris/libdso-13b.d
+++ b/ld/testsuite/ld-cris/libdso-13b.d
@@ -8,7 +8,7 @@
 # script hiding the function called pcrel-without-plt.  There should
 # be no warning, no relocations in the output and no TEXTREL marking.
 
-Dynamic section at offset 0x1b0 contains 9 entries:
+Dynamic section at offset 0x150 contains 9 entries:
   Tag        Type                         Name/Value
  0x00000004 \(HASH\) .*
  0x00000005 \(STRTAB\) .*
diff --git a/ld/testsuite/ld-cris/libdso-14.d b/ld/testsuite/ld-cris/libdso-14.d
index b60f5e5eb4..a697e9796f 100644
--- a/ld/testsuite/ld-cris/libdso-14.d
+++ b/ld/testsuite/ld-cris/libdso-14.d
@@ -7,12 +7,12 @@
 # Checking that a bsr to a non-PLT-decorated nonvisible function
 # doesn't make the DSO textrel.
 
-Dynamic section at offset 0x16c contains 6 entries:
+Dynamic section at offset 0x110 contains 6 entries:
   Tag[ ]+Type[ ]+Name/Value
  0x0+4 \(HASH\)[ ]+0x94
- 0x0+5 \(STRTAB\)[ ]+0x134
- 0x0+6 \(SYMTAB\)[ ]+0xc4
- 0x0+a \(STRSZ\)[ ]+38 \(bytes\)
+ 0x0+5 \(STRTAB\)[ ]+0xf0
+ 0x0+6 \(SYMTAB\)[ ]+0xb0
+ 0x0+a \(STRSZ\)[ ]+14 \(bytes\)
  0x0+b \(SYMENT\)[ ]+16 \(bytes\)
  0x0+ \(NULL\)[ ]+0x0
 
diff --git a/ld/testsuite/ld-cris/libdso-15.d b/ld/testsuite/ld-cris/libdso-15.d
index 61b546b781..6a53b1f977 100644
--- a/ld/testsuite/ld-cris/libdso-15.d
+++ b/ld/testsuite/ld-cris/libdso-15.d
@@ -10,15 +10,15 @@
 
 DYNAMIC SYMBOL TABLE:
 #...
-0+2288 g[ ]+DO .data[ ]+0+4  TST3[ ]+__expobj2
-0+20a g[ ]+DF .text[ ]+0+2  TST3[ ]+__expfn2
-0+20a  w[ ]+DF .text[ ]+0+2  TST3[ ]+expfn2
-0+2288  w[ ]+DO .data[ ]+0+4  TST3[ ]+expobj2
+0+2238 g[ ]+DO .data[ ]+0+4  TST3[ ]+__expobj2
+0+1ba g[ ]+DF .text[ ]+0+2  TST3[ ]+__expfn2
+0+1ba  w[ ]+DF .text[ ]+0+2  TST3[ ]+expfn2
+0+2238  w[ ]+DO .data[ ]+0+4  TST3[ ]+expobj2
 #...
 Contents of section .text:
- 0208 0f050f05                             .*
+ 01b8 0f050f05                             .*
 #...
 Contents of section .got:
- 227c 0c220000 00000000 00000000           .*
+ 222c bc210000 00000000 00000000           .*
 Contents of section .data:
- 2288 00000000                             .*
+ 2238 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-15b.d b/ld/testsuite/ld-cris/libdso-15b.d
index 61ead5611f..4e2bddb252 100644
--- a/ld/testsuite/ld-cris/libdso-15b.d
+++ b/ld/testsuite/ld-cris/libdso-15b.d
@@ -22,17 +22,17 @@ DYNAMIC SYMBOL TABLE:
 0+[ ]+DF \*UND\*[ ]+0+  TST3[ ]+expfn2
 #...
 Contents of section .rela.dyn:
- 01d4 fc220000 0a040000 00000000 00230000  .*
- 01e4 0a050000 00000000                    .*
+ 017c a4220000 0a040000 00000000 a8220000  .*
+ 018c 0a050000 00000000                    .*
 Contents of section .plt:
- 01ec fce17e7e 0401307a 08013009 00000000  .*
- 01fc 00000000 6f0d0c00 00003009 3f7e0000  .*
- 020c 00002ffe ecffffff 6f0d1000 00003009  .*
- 021c 3f7e0000 00002ffe ecffffff           .*
+ 0194 fce17e7e 0401307a 08013009 00000000  .*
+ 01a4 00000000 6f0d0c00 00003009 3f7e0000  .*
+ 01b4 00002ffe ecffffff 6f0d1000 00003009  .*
+ 01c4 3f7e0000 00002ffe ecffffff           .*
 Contents of section .text:
- 0228 6fae0c00 00006fae ccffffff 6fae1000  .*
- 0238 00006fae d4ffffff                    .*
+ 01d0 6fae0c00 00006fae ccffffff 6fae1000  .*
+ 01e0 00006fae d4ffffff                    .*
 #...
 Contents of section .got:
- 22f0 40220000 00000000 00000000 00000000  .*
- 2300 00000000                             .*
+ 2298 e8210000 00000000 00000000 00000000  .*
+ 22a8 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-1c.d b/ld/testsuite/ld-cris/libdso-1c.d
index 0588d396e5..f02dc5e446 100644
--- a/ld/testsuite/ld-cris/libdso-1c.d
+++ b/ld/testsuite/ld-cris/libdso-1c.d
@@ -19,17 +19,17 @@ DYNAMIC SYMBOL TABLE:
 0+[ ]+DF \*UND\* 0+[ ]+TST2[ ]+expfn
 #...
 Contents of section .rela.dyn:
- 01a4 cc220000 0a030000 00000000 d0220000  .*
- 01b4 0a040000 00000000                    .*
+ 0140 68220000 0a020000 00000000 6c220000  .*
+ 0150 0a030000 00000000                    .*
 Contents of section .plt:
- 01bc fce17e7e 0401307a 08013009 00000000  .*
- 01cc 00000000 6f0d0c00 00003009 3f7e0000  .*
- 01dc 00002ffe ecffffff 6f0d1000 00003009  .*
- 01ec 3f7e0000 00002ffe ecffffff           .*
+ 0158 fce17e7e 0401307a 08013009 00000000  .*
+ 0168 00000000 6f0d0c00 00003009 3f7e0000  .*
+ 0178 00002ffe ecffffff 6f0d1000 00003009  .*
+ 0188 3f7e0000 00002ffe ecffffff           .*
 Contents of section .text:
- 01f8 6fae0c00 00006fae ccffffff 6fae1000  .*
- 0208 00006fae d4ffffff                    .*
+ 0194 6fae0c00 00006fae ccffffff 6fae1000  .*
+ 01a4 00006fae d4ffffff                    .*
 #...
 Contents of section .got:
- 22c0 10220000 00000000 00000000 00000000  .*
- 22d0 00000000                             .*
+ 225c ac210000 00000000 00000000 00000000  .*
+ 226c 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-1d.d b/ld/testsuite/ld-cris/libdso-1d.d
index a2a0ce5790..06e72fc279 100644
--- a/ld/testsuite/ld-cris/libdso-1d.d
+++ b/ld/testsuite/ld-cris/libdso-1d.d
@@ -13,24 +13,24 @@
 
 DYNAMIC SYMBOL TABLE:
 #...
-0+1f2  w   DF .text 0+2 expfn
-0+22a0  w   DO .data 0+4 expobj
+0+1a6  w   DF .text 0+2 expfn
+0+2254  w   DO .data 0+4 expobj
 #...
 Contents of section .rela.dyn:
- 0184 98220000 0a020000 00000000 9c220000  .*
- 0194 0a030000 00000000                    .*
+ 0138 4c220000 0a020000 00000000 50220000  .*
+ 0148 0a030000 00000000                    .*
 Contents of section .plt:
- 019c fce17e7e 0401307a 08013009 00000000  .*
- 01ac 00000000 6f0d0c00 00003009 3f7e0000  .*
- 01bc 00002ffe ecffffff 6f0d1000 00003009  .*
- 01cc 3f7e0000 00002ffe ecffffff           .*
+ 0150 fce17e7e 0401307a 08013009 00000000  .*
+ 0160 00000000 6f0d0c00 00003009 3f7e0000  .*
+ 0170 00002ffe ecffffff 6f0d1000 00003009  .*
+ 0180 3f7e0000 00002ffe ecffffff           .*
 Contents of section .text:
- 01d8 6fae1000 00006fae e0ffffff 6fae0c00  .*
- 01e8 00006fae c0ffffff 0f050f05           .*
+ 018c 6fae1000 00006fae e0ffffff 6fae0c00  .*
+ 019c 00006fae c0ffffff 0f050f05           .*
 Contents of section .dynamic:
 #...
 Contents of section .got:
- 228c f4210000 00000000 00000000 00000000  .*
- 229c 00000000                             .*
+ 2240 a8210000 00000000 00000000 00000000  .*
+ 2250 00000000                             .*
 Contents of section .data:
- 22a0 00000000                             .*
+ 2254 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-2.d b/ld/testsuite/ld-cris/libdso-2.d
index 7285b3d40d..83d56a1768 100644
--- a/ld/testsuite/ld-cris/libdso-2.d
+++ b/ld/testsuite/ld-cris/libdso-2.d
@@ -36,7 +36,7 @@ Symbol table '\.dynsym' contains 4 entries:
  +2: 0+ +0 +OBJECT +GLOBAL +DEFAULT +ABS TST1
  +3: 0+154 +0 +FUNC +GLOBAL +DEFAULT +7 export_1@@TST1
 
-Symbol table '\.symtab' contains 18 entries:
+Symbol table '\.symtab' contains 15 entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND
  +1: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1
@@ -49,10 +49,7 @@ Symbol table '\.symtab' contains 18 entries:
  +8: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8
  +9: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9
  +10: 0+2..[046c] +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC
- +11: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 __bss_start
- +12: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 _edata
- +13: 0+2..[046c] +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
- +14: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 _end
- +15: 0+150 +2 +FUNC +LOCAL +DEFAULT +7 dsofn
- +16: 0+ +0 +OBJECT +GLOBAL +DEFAULT +ABS TST1
- +17: 0+154 +0 +FUNC +GLOBAL +DEFAULT +7 export_1
+ +11: 0+2..[046c] +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
+ +12: 0+150 +2 +FUNC +LOCAL +DEFAULT +7 dsofn
+ +13: 0+ +0 +OBJECT +GLOBAL +DEFAULT +ABS TST1
+ +14: 0+154 +0 +FUNC +GLOBAL +DEFAULT +7 export_1
diff --git a/ld/testsuite/ld-cris/pic-gc-72.d b/ld/testsuite/ld-cris/pic-gc-72.d
index a471da5f34..65bd989650 100644
--- a/ld/testsuite/ld-cris/pic-gc-72.d
+++ b/ld/testsuite/ld-cris/pic-gc-72.d
@@ -19,11 +19,11 @@ Contents of section .dynsym:
 Contents of section .dynstr:
 #...
 Contents of section .text:
- 016e 0f050f05                             .*
+ 0121 0f050f05                             .*
 Contents of section .dynamic:
- 2174 .*
+ 2128 .*
 #...
 Contents of section .got:
- 21cc 74210000 00000000 00000000           .*
+ 2180 28210000 00000000 00000000           .*
 Contents of section .data:
- 21d8 00000000                             .*
+ 218c 00000000                             .*
diff --git a/ld/testsuite/ld-cris/pic-gc-73.d b/ld/testsuite/ld-cris/pic-gc-73.d
index 8fd7f388ab..7f599b92d9 100644
--- a/ld/testsuite/ld-cris/pic-gc-73.d
+++ b/ld/testsuite/ld-cris/pic-gc-73.d
@@ -17,10 +17,10 @@ Contents of section .dynsym:
 Contents of section .dynstr:
 #...
 Contents of section .text:
- 016e 0f050f05                             .*
+ 0121 0f050f05                             .*
 Contents of section .dynamic:
 #...
 Contents of section .got:
- 21cc 74210000 00000000 00000000           .*
+ 2180 28210000 00000000 00000000           .*
 Contents of section .data:
- 21d8 00000000                             .*
+ 218c 00000000                             .*
diff --git a/ld/testsuite/ld-cris/pr16044.d b/ld/testsuite/ld-cris/pr16044.d
index cde2d39abd..30988b86e4 100644
--- a/ld/testsuite/ld-cris/pr16044.d
+++ b/ld/testsuite/ld-cris/pr16044.d
@@ -25,19 +25,16 @@
 
 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset[ ]+Info[ ]+Type[ ]+Sym\.Value  Sym\. Name \+ Addend
-[0-9a-f]+  0+[0-9a-f]+ R_CRIS_RELATIVE[ ]+184
+[0-9a-f]+  0+[0-9a-f]+ R_CRIS_RELATIVE[ ]+128
 
-Symbol table '\.dynsym' contains 7 entries:
+Symbol table '\.dynsym' contains 4 entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND
  +1: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5
  +2: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 export_1
- +3: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +7 __bss_start
- +4: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +7 _edata
- +5: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +7 _end
- +6: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 export_2
+ +3: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 export_2
 
 Symbol table '\.symtab' contains [0-9]+ entries:
 #...
- +[0-9]+: 0+184  +2 FUNC + LOCAL + DEFAULT + 5 dsofn
+ +[0-9]+: 0+128  +2 FUNC + LOCAL + DEFAULT + 5 dsofn
 #...
diff --git a/ld/testsuite/ld-cris/pv32-1.d b/ld/testsuite/ld-cris/pv32-1.d
index c811744c2c..3b17e2352a 100644
--- a/ld/testsuite/ld-cris/pv32-1.d
+++ b/ld/testsuite/ld-cris/pv32-1.d
@@ -8,33 +8,30 @@
 .*:     file format elf32-cris
 
 DYNAMIC SYMBOL TABLE:
-0+8021e      DF \*UND\* 0+ expfn
-0+82324 g    DO \.bss 0+4 expobj
-0+82324 g    D  \.bss 0+ __bss_start
-0+80238      DF \*UND\* 0+ dsofn3
-0+82324 g    D  \.got 0+ _edata
-0+82340 g    D  \.bss 0+ _end
-0+80264 g    DF \.text 0+8 dsofn
+0+801ca      DF \*UND\* 0+ expfn
+0+822d0 g    DO \.bss 0+4 expobj
+0+801e4      DF \*UND\* 0+ dsofn3
+0+80210 g    DF \.text 0+8 dsofn
 
 Contents of section \.interp:
  800d4 2f6c6962 2f6c642e 736f2e31 00        .*
 #...
 Contents of section \.rela\.dyn:
- 801e0 24230800 09020000 00000000           .*
+ 8018c d0220800 09020000 00000000           .*
 Contents of section \.rela\.plt:
- 801ec 1c230800 0b010000 00000000 20230800  .*
- 801fc 0b040000 00000000                    .*
+ 80198 c8220800 0b010000 00000000 cc220800  .*
+ 801a8 0b030000 00000000                    .*
 Contents of section \.plt:
- 80204 84e26ffe 14230800 7e7a3f7a 04f26ffa  .*
- 80214 bf09b005 00000000 00006ffe 1c230800  .*
- 80224 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
- 80234 ffffb005 6ffe2023 08006ffa bf09b005  .*
- 80244 3f7e0c00 0000bf0e baffffff b005      .*
+ 801b0 84e26ffe c0220800 7e7a3f7a 04f26ffa  .*
+ 801c0 bf09b005 00000000 00006ffe c8220800  .*
+ 801d0 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
+ 801e0 ffffb005 6ffecc22 08006ffa bf09b005  .*
+ 801f0 3f7e0c00 0000bf0e baffffff b005      .*
 Contents of section \.text:
- 80252 b005bfbe caffffff b005bfbe dcffffff  .*
- 80262 b0056fae 24230800 b0050000           .*
+ 801fe b005bfbe caffffff b005bfbe dcffffff  .*
+ 8020e b0056fae d0220800 b0050000           .*
 Contents of section \.dynamic:
 #...
 Contents of section \.got:
- 82310 70220800 00000000 00000000 2a020800  .*
- 82320 44020800                             .*
+ 822bc 1c220800 00000000 00000000 d6010800  .*
+ 822cc f0010800                             .*
diff --git a/ld/testsuite/ld-cris/tls-dso-dtpoffd2.d b/ld/testsuite/ld-cris/tls-dso-dtpoffd2.d
index 7459d9f00e..12fe7f812e 100644
--- a/ld/testsuite/ld-cris/tls-dso-dtpoffd2.d
+++ b/ld/testsuite/ld-cris/tls-dso-dtpoffd2.d
@@ -23,13 +23,13 @@ SYMBOL TABLE:
 0+80 g       .tdata 0+4 x
 #...
 Contents of section .rela.dyn:
- 01a4 b8220000 17030000 00000000           .*
+ 0154 68220000 17030000 00000000           .*
 Contents of section .text:
- 01b0 41b20000 5fae0c00                    .*
+ 0160 41b20000 5fae0c00                    .*
 #...
 Contents of section .got:
- 22ac 3c220000 00000000 00000000 00000000  .*
- 22bc 00000000                             .*
+ 225c ec210000 00000000 00000000 00000000  .*
+ 226c 00000000                             .*
 Contents of section .debug_info:
  0000 80000000                             .*
 #...
diff --git a/ld/testsuite/ld-cris/tls-dso-dtpoffd4.d b/ld/testsuite/ld-cris/tls-dso-dtpoffd4.d
index c66a982dcc..bb72e87430 100644
--- a/ld/testsuite/ld-cris/tls-dso-dtpoffd4.d
+++ b/ld/testsuite/ld-cris/tls-dso-dtpoffd4.d
@@ -23,13 +23,13 @@ SYMBOL TABLE:
 0+80 g       .tbss 0+4 x
 #...
 Contents of section .rela.dyn:
- 01a4 b4220000 17030000 00000000           .*
+ 0154 64220000 17030000 00000000           .*
 Contents of section .text:
- 01b0 41b20000 5fae0c00                    .*
+ 0160 41b20000 5fae0c00                    .*
 #...
 Contents of section .got:
- 22a8 38220000 00000000 00000000 00000000  .*
- 22b8 00000000                             .*
+ 2258 e8210000 00000000 00000000 00000000  .*
+ 2268 00000000                             .*
 Contents of section .debug_info:
  0000 80000000                             .*
 #...
diff --git a/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d b/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d
index cfb44ac366..4aa2794e4d 100644
--- a/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d
+++ b/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d
@@ -11,7 +11,7 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1c8 memsz 0x0+1c8 flags r-x
+         filesz 0x0+178 memsz 0x0+178 flags r-x
     LOAD off .*
          filesz .*
  DYNAMIC off .*
@@ -21,7 +21,7 @@ Program Header:
 #...
 Sections:
 #...
-  7 .got          0+14  0+2240  0+2240  0+240  2\*\*2
+  7 .got          0+14  0+21f0  0+21f0  0+1f0  2\*\*2
                   CONTENTS, ALLOC, LOAD, DATA
 SYMBOL TABLE:
 #...
@@ -31,16 +31,16 @@ SYMBOL TABLE:
 
 #...
 Contents of section .got:
- 2240 c8210000 00000000 00000000 00000000  .*
- 2250 00000000                             .*
+ 21f0 78210000 00000000 00000000 00000000  .*
+ 2200 00000000                             .*
 
 Disassembly of section \.text:
 
-0+1b8 <_start>:
- 1b8: 41b2                 moveq 1,\$r11
+0+168 <_start>:
+ 168: 41b2                 moveq 1,\$r11
  \.\.\.
 
-0+1bc <do_test>:
- 1bc: 2f0e 0c00 0000       add\.d c <bar\+0x8>,\$r0
- 1c2: 1f1e 1000           add\.w 0x10,\$r1
+0+16c <do_test>:
+ 16c: 2f0e 0c00 0000       add\.d c <bar\+0x8>,\$r0
+ 172: 1f1e 1000           add\.w 0x10,\$r1
  \.\.\.
diff --git a/ld/testsuite/ld-cris/tls-gc-71.d b/ld/testsuite/ld-cris/tls-gc-71.d
index 14feb3dc50..e32aadaada 100644
--- a/ld/testsuite/ld-cris/tls-gc-71.d
+++ b/ld/testsuite/ld-cris/tls-gc-71.d
@@ -15,18 +15,15 @@
          filesz 0x0+80 memsz 0x0+80 flags r--
 #...
 DYNAMIC SYMBOL TABLE:
-0+18e l    d  \.text 0+ \.text
-0+2194 l    d  \.tdata 0+ \.tdata
-0+18e g    DF \.text 0+2 _init
-0+2280 g    D  \.got 0+ __bss_start
+0+132 l    d  \.text 0+ \.text
+0+2138 l    d  \.tdata 0+ \.tdata
+0+132 g    DF \.text 0+2 _init
 0+ g    D  .tdata 0+80 tls128
-0+2280 g    D  \.got 0+ _edata
-0+2280 g    D  \.got 0+ _end
 
 DYNAMIC RELOCATION RECORDS \(none\)
 #...
 Contents of section \.text:
- 018e 0f050000                             .*
+ 0132 0f050000                             .*
 #...
 Contents of section \.got:
- 2274 14220000 00000000 00000000           .*
+ 2218 b8210000 00000000 00000000           .*
diff --git a/ld/testsuite/ld-cris/tls-gd-1.d b/ld/testsuite/ld-cris/tls-gd-1.d
index 789c54e187..30ab7efdb8 100644
--- a/ld/testsuite/ld-cris/tls-gd-1.d
+++ b/ld/testsuite/ld-cris/tls-gd-1.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1a0 memsz 0x0+1a0 flags r-x
-    LOAD off    0x0+1a0 vaddr 0x0+21a0 paddr 0x0+21a0 align 2\*\*13
+         filesz 0x0+144 memsz 0x0+144 flags r-x
+    LOAD off    0x0+144 vaddr 0x0+2144 paddr 0x0+2144 align 2\*\*13
          filesz 0x0+108 memsz 0x0+108 flags rw-
- DYNAMIC off    0x0+224 vaddr 0x0+2224 paddr 0x0+2224 align 2\*\*2
+ DYNAMIC off    0x0+1c8 vaddr 0x0+21c8 paddr 0x0+21c8 align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+1a0 vaddr 0x0+21a0 paddr 0x0+21a0 align 2\*\*2
+     TLS off    0x0+144 vaddr 0x0+2144 paddr 0x0+2144 align 2\*\*2
          filesz 0x0+84 memsz 0x0+84 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+168
-  SYMTAB               0x0+e8
-  STRSZ                0x0+25
+  STRTAB               0x0+124
+  SYMTAB               0x0+d4
+  STRSZ                0x0+d
   SYMENT               0x0+10
-  RELA                 0x0+190
+  RELA                 0x0+134
   RELASZ               0x0+c
   RELAENT              0x0+c
 private flags = 0:
@@ -42,13 +42,13 @@ DYNAMIC SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22a0 R_CRIS_DTP        x
+0+2244 R_CRIS_DTP        x
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 019c 5fae0c00                             .*
+ 0140 5fae0c00                             .*
 #...
 Contents of section \.got:
- 2294 24220+ 0+ 0+ 0+  .*
- 22a4 0+                             .*
+ 2238 c8210+ 0+ 0+ 0+  .*
+ 2248 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-gd-1h.d b/ld/testsuite/ld-cris/tls-gd-1h.d
index db60081393..b323312f30 100644
--- a/ld/testsuite/ld-cris/tls-gd-1h.d
+++ b/ld/testsuite/ld-cris/tls-gd-1h.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1a4 memsz 0x0+1a4 flags r-x
-    LOAD off    0x0+1a4 vaddr 0x0+21a4 paddr 0x0+21a4 align 2\*\*13
+         filesz 0x0+148 memsz 0x0+148 flags r-x
+    LOAD off    0x0+148 vaddr 0x0+2148 paddr 0x0+2148 align 2\*\*13
          filesz 0x0+108 memsz 0x0+108 flags rw-
- DYNAMIC off    0x0+228 vaddr 0x0+2228 paddr 0x0+2228 align 2\*\*2
+ DYNAMIC off    0x0+1cc vaddr 0x0+21cc paddr 0x0+21cc align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+1a4 vaddr 0x0+21a4 paddr 0x0+21a4 align 2\*\*2
+     TLS off    0x0+148 vaddr 0x0+2148 paddr 0x0+2148 align 2\*\*2
          filesz 0x0+84 memsz 0x0+84 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+168
-  SYMTAB               0x0+e8
-  STRSZ                0x0+2a
+  STRTAB               0x0+124
+  SYMTAB               0x0+d4
+  STRSZ                0x0+12
   SYMENT               0x0+10
-  RELA                 0x0+194
+  RELA                 0x0+138
   RELASZ               0x0+c
   RELAENT              0x0+c
 private flags = 0:
@@ -38,13 +38,13 @@ SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22a4 R_CRIS_DTP        \*ABS\*\+0x0+80
+0+2248 R_CRIS_DTP        \*ABS\*\+0x0+80
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01a0 5fae0c00                             .*
+ 0144 5fae0c00                             .*
 #...
 Contents of section \.got:
- 2298 28220+ 0+ 0+ 0+  .*
- 22a8 0+                             .*
+ 223c cc210+ 0+ 0+ 0+  .*
+ 224c 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-gd-2.d b/ld/testsuite/ld-cris/tls-gd-2.d
index cc35710f39..b792eaa5a1 100644
--- a/ld/testsuite/ld-cris/tls-gd-2.d
+++ b/ld/testsuite/ld-cris/tls-gd-2.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1bc memsz 0x0+1bc flags r-x
-    LOAD off    0x0+1bc vaddr 0x0+21bc paddr 0x0+21bc align 2\*\*13
+         filesz 0x0+168 memsz 0x0+168 flags r-x
+    LOAD off    0x0+168 vaddr 0x0+2168 paddr 0x0+2168 align 2\*\*13
          filesz 0x0+108 memsz 0x0+108 flags rw-
- DYNAMIC off    0x0+240 vaddr 0x0+2240 paddr 0x0+2240 align 2\*\*2
+ DYNAMIC off    0x0+1ec vaddr 0x0+21ec paddr 0x0+21ec align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+1bc vaddr 0x0+21bc paddr 0x0+21bc align 2\*\*2
+     TLS off    0x0+168 vaddr 0x0+2168 paddr 0x0+2168 align 2\*\*2
          filesz 0x0+84 memsz 0x0+84 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+17c
-  SYMTAB               0x0+ec
-  STRSZ                0x0+2c
+  STRTAB               0x0+140
+  SYMTAB               0x0+e0
+  STRSZ                0x0+14
   SYMENT               0x0+10
-  RELA                 0x0+1a8
+  RELA                 0x0+154
   RELASZ               0x0+c
   RELAENT              0x0+c
 private flags = 0:
@@ -42,13 +42,13 @@ DYNAMIC SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22bc R_CRIS_DTP        x
+0+2268 R_CRIS_DTP        x
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01b4 6fae0c00 00000000              .*
+ 0160 6fae0c00 00000000              .*
 #...
 Contents of section \.got:
- 22b0 40220+ 0+ 0+ 0+  .*
- 22c0 0+                             .*
+ 225c ec210+ 0+ 0+ 0+  .*
+ 226c 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-gd-2h.d b/ld/testsuite/ld-cris/tls-gd-2h.d
index da3ef7d836..211d830a61 100644
--- a/ld/testsuite/ld-cris/tls-gd-2h.d
+++ b/ld/testsuite/ld-cris/tls-gd-2h.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1a8 memsz 0x0+1a8 flags r-x
-    LOAD off    0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*13
+         filesz 0x0+14c memsz 0x0+14c flags r-x
+    LOAD off    0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*13
          filesz 0x0+108 memsz 0x0+108 flags rw-
- DYNAMIC off    0x0+22c vaddr 0x0+222c paddr 0x0+222c align 2\*\*2
+ DYNAMIC off    0x0+1d0 vaddr 0x0+21d0 paddr 0x0+21d0 align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*2
+     TLS off    0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*2
          filesz 0x0+84 memsz 0x0+84 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+168
-  SYMTAB               0x0+e8
-  STRSZ                0x0+2a
+  STRTAB               0x0+124
+  SYMTAB               0x0+d4
+  STRSZ                0x0+12
   SYMENT               0x0+10
-  RELA                 0x0+194
+  RELA                 0x0+138
   RELASZ               0x0+c
   RELAENT              0x0+c
 private flags = 0:
@@ -38,13 +38,13 @@ SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22a8 R_CRIS_DTP        \*ABS\*\+0x0+80
+0+224c R_CRIS_DTP        \*ABS\*\+0x0+80
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01a0 6fae0c00 00000000              .*
+ 0144 6fae0c00 00000000              .*
 #...
 Contents of section \.got:
- 229c 2c220+ 0+ 0+ 0+  .*
- 22ac 0+                             .*
+ 2240 d0210+ 0+ 0+ 0+  .*
+ 2250 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ie-10.d b/ld/testsuite/ld-cris/tls-ie-10.d
index 7e9c32d596..9a27cb6039 100644
--- a/ld/testsuite/ld-cris/tls-ie-10.d
+++ b/ld/testsuite/ld-cris/tls-ie-10.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1c0 memsz 0x0+1c0 flags r-x
-    LOAD off    0x0+1c0 vaddr 0x0+21c0 paddr 0x0+21c0 align 2\*\*13
+         filesz 0x0+16c memsz 0x0+16c flags r-x
+    LOAD off    0x0+16c vaddr 0x0+216c paddr 0x0+216c align 2\*\*13
          filesz 0x0+10c memsz 0x0+10c flags rw-
- DYNAMIC off    0x0+244 vaddr 0x0+2244 paddr 0x0+2244 align 2\*\*2
+ DYNAMIC off    0x0+1f0 vaddr 0x0+21f0 paddr 0x0+21f0 align 2\*\*2
          filesz 0x0+78 memsz 0x0+78 flags rw-
-     TLS off    0x0+1c0 vaddr 0x0+21c0 paddr 0x0+21c0 align 2\*\*2
+     TLS off    0x0+16c vaddr 0x0+216c paddr 0x0+216c align 2\*\*2
          filesz 0x0+84 memsz 0x0+84 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+17c
-  SYMTAB               0x0+ec
-  STRSZ                0x0+2d
+  STRTAB               0x0+140
+  SYMTAB               0x0+e0
+  STRSZ                0x0+15
   SYMENT               0x0+10
-  RELA                 0x0+1ac
+  RELA                 0x0+158
   RELASZ               0x0+c
   RELAENT              0x0+c
   FLAGS                0x0+10
@@ -43,12 +43,12 @@ DYNAMIC SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22c8 R_CRIS_32_TPREL   x
+0+2274 R_CRIS_32_TPREL   x
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01b8 6fae0c00 00000000                    .*
+ 0164 6fae0c00 00000000                    .*
 #...
 Contents of section \.got:
- 22bc 44220+ 0+ 0+ 0+  .*
+ 2268 f0210+ 0+ 0+ 0+  .*
diff --git a/ld/testsuite/ld-cris/tls-ie-11.d b/ld/testsuite/ld-cris/tls-ie-11.d
index e231040203..4264777053 100644
--- a/ld/testsuite/ld-cris/tls-ie-11.d
+++ b/ld/testsuite/ld-cris/tls-ie-11.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1e4 memsz 0x0+1e4 flags r-x
-    LOAD off    0x0+1e4 vaddr 0x0+21e4 paddr 0x0+21e4 align 2\*\*13
+         filesz 0x0+190 memsz 0x0+190 flags r-x
+    LOAD off    0x0+190 vaddr 0x0+2190 paddr 0x0+2190 align 2\*\*13
          filesz 0x0+114 memsz 0x0+114 flags rw-
- DYNAMIC off    0x0+26c vaddr 0x0+226c paddr 0x0+226c align 2\*\*2
+ DYNAMIC off    0x0+218 vaddr 0x0+2218 paddr 0x0+2218 align 2\*\*2
          filesz 0x0+78 memsz 0x0+78 flags rw-
-     TLS off    0x0+1e4 vaddr 0x0+21e4 paddr 0x0+21e4 align 2\*\*2
+     TLS off    0x0+190 vaddr 0x0+2190 paddr 0x0+2190 align 2\*\*2
          filesz 0x0+88 memsz 0x0+88 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+190
-  SYMTAB               0x0+f0
-  STRSZ                0x0+2f
+  STRTAB               0x0+154
+  SYMTAB               0x0+e4
+  STRSZ                0x0+17
   SYMENT               0x0+10
-  RELA                 0x0+1c0
+  RELA                 0x0+16c
   RELASZ               0x0+18
   RELAENT              0x0+c
   FLAGS                0x0+10
@@ -47,14 +47,14 @@ DYNAMIC SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22f0 R_CRIS_32_TPREL   x2
-0+22f4 R_CRIS_32_TPREL   x1
+0+229c R_CRIS_32_TPREL   x2
+0+22a0 R_CRIS_32_TPREL   x1
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01d8 6fae1000 00006fbe 0c000000           .*
+ 0184 6fae1000 00006fbe 0c000000           .*
 #...
 Contents of section \.got:
- 22e4 6c220+ 0+ 0+ 0+  .*
- 22f4 00000000                             .*
+ 2290 18220+ 0+ 0+ 0+  .*
+ 22a0 00000000                             .*
diff --git a/ld/testsuite/ld-cris/tls-ie-78.d b/ld/testsuite/ld-cris/tls-ie-78.d
index a402115f19..8a399efb82 100644
--- a/ld/testsuite/ld-cris/tls-ie-78.d
+++ b/ld/testsuite/ld-cris/tls-ie-78.d
@@ -32,13 +32,13 @@ DYNAMIC SYMBOL TABLE:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+822d4 R_CRIS_32_TPREL   x
+0+82278 R_CRIS_32_TPREL   x
 
 Contents of section .interp:
 #...
 Contents of section \.text:
- 801bc 41b20000 6faed422 08000000           .*
+ 80160 41b20000 6fae7822 08000000           .*
 Contents of section \.tdata:
 #...
 Contents of section \.got:
- 822c8 48220800 00000000 00000000 00000000  .*
+ 8226c ec210800 00000000 00000000 00000000  .*
diff --git a/ld/testsuite/ld-cris/tls-ie-8.d b/ld/testsuite/ld-cris/tls-ie-8.d
index f62d599465..f1e6edd5d0 100644
--- a/ld/testsuite/ld-cris/tls-ie-8.d
+++ b/ld/testsuite/ld-cris/tls-ie-8.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1b8 memsz 0x0+1b8 flags r-x
-    LOAD off    0x0+1b8 vaddr 0x0+21b8 paddr 0x0+21b8 align 2\*\*13
+         filesz 0x0+164 memsz 0x0+164 flags r-x
+    LOAD off    0x0+164 vaddr 0x0+2164 paddr 0x0+2164 align 2\*\*13
          filesz 0x0+10c memsz 0x0+10c flags rw-
- DYNAMIC off    0x0+23c vaddr 0x0+223c paddr 0x0+223c align 2\*\*2
+ DYNAMIC off    0x0+1e8 vaddr 0x0+21e8 paddr 0x0+21e8 align 2\*\*2
          filesz 0x0+78 memsz 0x0+78 flags rw-
-     TLS off    0x0+1b8 vaddr 0x0+21b8 paddr 0x0+21b8 align 2\*\*2
+     TLS off    0x0+164 vaddr 0x0+2164 paddr 0x0+2164 align 2\*\*2
          filesz 0x0+84 memsz 0x0+84 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+17c
-  SYMTAB               0x0+ec
-  STRSZ                0x0+2b
+  STRTAB               0x0+140
+  SYMTAB               0x0+e0
+  STRSZ                0x0+13
   SYMENT               0x0+10
-  RELA                 0x0+1a8
+  RELA                 0x0+154
   RELASZ               0x0+c
   RELAENT              0x0+c
   FLAGS                0x0+10
@@ -43,12 +43,12 @@ DYNAMIC SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22c0 R_CRIS_32_TPREL   x
+0+226c R_CRIS_32_TPREL   x
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01b4 5fae0c00                             .*
+ 0160 5fae0c00                             .*
 #...
 Contents of section \.got:
- 22b4 3c220+ 0+ 0+ 0+  .*
+ 2260 e8210+ 0+ 0+ 0+  .*
diff --git a/ld/testsuite/ld-cris/tls-ie-9.d b/ld/testsuite/ld-cris/tls-ie-9.d
index b9d9ee6008..0b55fb5766 100644
--- a/ld/testsuite/ld-cris/tls-ie-9.d
+++ b/ld/testsuite/ld-cris/tls-ie-9.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1e0 memsz 0x0+1e0 flags r-x
-    LOAD off    0x0+1e0 vaddr 0x0+21e0 paddr 0x0+21e0 align 2\*\*13
+         filesz 0x0+18c memsz 0x0+18c flags r-x
+    LOAD off    0x0+18c vaddr 0x0+218c paddr 0x0+218c align 2\*\*13
          filesz 0x0+114 memsz 0x0+114 flags rw-
- DYNAMIC off    0x0+268 vaddr 0x0+2268 paddr 0x0+2268 align 2\*\*2
+ DYNAMIC off    0x0+214 vaddr 0x0+2214 paddr 0x0+2214 align 2\*\*2
          filesz 0x0+78 memsz 0x0+78 flags rw-
-     TLS off    0x0+1e0 vaddr 0x0+21e0 paddr 0x0+21e0 align 2\*\*2
+     TLS off    0x0+18c vaddr 0x0+218c paddr 0x0+218c align 2\*\*2
          filesz 0x0+88 memsz 0x0+88 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+190
-  SYMTAB               0x0+f0
-  STRSZ                0x0+30
+  STRTAB               0x0+154
+  SYMTAB               0x0+e4
+  STRSZ                0x0+18
   SYMENT               0x0+10
-  RELA                 0x0+1c0
+  RELA                 0x0+16c
   RELASZ               0x0+18
   RELAENT              0x0+c
   FLAGS                0x0+10
@@ -47,14 +47,14 @@ DYNAMIC SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22ec R_CRIS_32_TPREL   x2
-0+22f0 R_CRIS_32_TPREL   x1
+0+2298 R_CRIS_32_TPREL   x2
+0+229c R_CRIS_32_TPREL   x1
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01d8 5fae1000 5fbe0c00                    .*
+ 0184 5fae1000 5fbe0c00                    .*
 #...
 Contents of section \.got:
- 22e0 68220+ 0+ 0+ 0+  .*
- 22f0 00000000                             .*
+ 228c 14220+ 0+ 0+ 0+  .*
+ 229c 00000000                             .*
diff --git a/ld/testsuite/ld-cris/tls-js1.d b/ld/testsuite/ld-cris/tls-js1.d
index 3ac1c68daa..e6b49fa072 100644
--- a/ld/testsuite/ld-cris/tls-js1.d
+++ b/ld/testsuite/ld-cris/tls-js1.d
@@ -16,17 +16,17 @@
 # Making sure .rela.plt has the right contents; no R_CRIS_NONE entries.
 
 #...
-  .* .got[ ]+PROGBITS[ ]+0+2348 0+348 0+20 04  WA  0   0  4
+  .* .got[ ]+PROGBITS[ ]+0+22f8 0+2f8 0+20 04  WA  0   0  4
 #...
-Relocation section '\.rela\.dyn' at offset 0x20c contains 2 entries:
+Relocation section '\.rela\.dyn' at offset 0x1bc contains 2 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00002354  0000001e R_CRIS_DTPMOD +0
-00002364  0000050a R_CRIS_GLOB_DAT   00002368   expobj \+ 0
+00002304  0000001e R_CRIS_DTPMOD +0
+00002314  0000050a R_CRIS_GLOB_DAT   00002318   expobj \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x224 contains 2 entries:
+Relocation section '\.rela\.plt' at offset 0x1d4 contains 2 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-0000235c  0000030b R_CRIS_JUMP_SLOT  00000296   dsofn4 \+ 0
-00002360  00000c0b R_CRIS_JUMP_SLOT  000002ae   dsofn \+ 0
+0000230c  0000030b R_CRIS_JUMP_SLOT  00000246   dsofn4 \+ 0
+00002310  0000090b R_CRIS_JUMP_SLOT  0000025e   dsofn \+ 0
 
 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported.
 #pass
diff --git a/ld/testsuite/ld-cris/tls-ld-4.d b/ld/testsuite/ld-cris/tls-ld-4.d
index 46e5e9bbf1..54d51d8f6f 100644
--- a/ld/testsuite/ld-cris/tls-ld-4.d
+++ b/ld/testsuite/ld-cris/tls-ld-4.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1a4 memsz 0x0+1a4 flags r-x
-    LOAD off    0x0+1a4 vaddr 0x0+21a4 paddr 0x0+21a4 align 2\*\*13
+         filesz 0x0+148 memsz 0x0+148 flags r-x
+    LOAD off    0x0+148 vaddr 0x0+2148 paddr 0x0+2148 align 2\*\*13
          filesz 0x0+108 memsz 0x0+108 flags rw-
- DYNAMIC off    0x0+228 vaddr 0x0+2228 paddr 0x0+2228 align 2\*\*2
+ DYNAMIC off    0x0+1cc vaddr 0x0+21cc paddr 0x0+21cc align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+1a4 vaddr 0x0+21a4 paddr 0x0+21a4 align 2\*\*2
+     TLS off    0x0+148 vaddr 0x0+2148 paddr 0x0+2148 align 2\*\*2
          filesz 0x0+84 memsz 0x0+84 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+168
-  SYMTAB               0x0+e8
-  STRSZ                0x0+29
+  STRTAB               0x0+124
+  SYMTAB               0x0+d4
+  STRSZ                0x0+11
   SYMENT               0x0+10
-  RELA                 0x0+194
+  RELA                 0x0+138
   RELASZ               0x0+c
   RELAENT              0x0+c
 private flags = 0:
@@ -38,13 +38,13 @@ SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22a4 R_CRIS_DTPMOD     \*ABS\*
+0+2248 R_CRIS_DTPMOD     \*ABS\*
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01a0 5fae8000                             .*
+ 0144 5fae8000                             .*
 #...
 Contents of section \.got:
- 2298 28220+ 0+ 0+ 0+  .*
- 22a8 0+                             .*
+ 223c cc210+ 0+ 0+ 0+  .*
+ 224c 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ld-5.d b/ld/testsuite/ld-cris/tls-ld-5.d
index d5982d94a7..9db125571f 100644
--- a/ld/testsuite/ld-cris/tls-ld-5.d
+++ b/ld/testsuite/ld-cris/tls-ld-5.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1a8 memsz 0x0+1a8 flags r-x
-    LOAD off    0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*13
+         filesz 0x0+14c memsz 0x0+14c flags r-x
+    LOAD off    0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*13
          filesz 0x0+10c memsz 0x0+10c flags rw-
- DYNAMIC off    0x0+230 vaddr 0x0+2230 paddr 0x0+2230 align 2\*\*2
+ DYNAMIC off    0x0+1d4 vaddr 0x0+21d4 paddr 0x0+21d4 align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*2
+     TLS off    0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*2
          filesz 0x0+88 memsz 0x0+88 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+168
-  SYMTAB               0x0+e8
-  STRSZ                0x0+29
+  STRTAB               0x0+124
+  SYMTAB               0x0+d4
+  STRSZ                0x0+11
   SYMENT               0x0+10
-  RELA                 0x0+194
+  RELA                 0x0+138
   RELASZ               0x0+c
   RELAENT              0x0+c
 private flags = 0:
@@ -39,13 +39,13 @@ SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22ac R_CRIS_DTPMOD     \*ABS\*
+0+2250 R_CRIS_DTPMOD     \*ABS\*
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01a0 5fae8000 5fbe8400              .*
+ 0144 5fae8000 5fbe8400              .*
 #...
 Contents of section \.got:
- 22a0 30220+ 0+ 0+ 0+  .*
- 22b0 0+                             .*
+ 2244 d4210+ 0+ 0+ 0+  .*
+ 2254 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ld-6.d b/ld/testsuite/ld-cris/tls-ld-6.d
index 487c63ed06..43cf43f456 100644
--- a/ld/testsuite/ld-cris/tls-ld-6.d
+++ b/ld/testsuite/ld-cris/tls-ld-6.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1a8 memsz 0x0+1a8 flags r-x
-    LOAD off    0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*13
+         filesz 0x0+14c memsz 0x0+14c flags r-x
+    LOAD off    0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*13
          filesz 0x0+108 memsz 0x0+108 flags rw-
- DYNAMIC off    0x0+22c vaddr 0x0+222c paddr 0x0+222c align 2\*\*2
+ DYNAMIC off    0x0+1d0 vaddr 0x0+21d0 paddr 0x0+21d0 align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*2
+     TLS off    0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*2
          filesz 0x0+84 memsz 0x0+84 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+168
-  SYMTAB               0x0+e8
-  STRSZ                0x0+29
+  STRTAB               0x0+124
+  SYMTAB               0x0+d4
+  STRSZ                0x0+11
   SYMENT               0x0+10
-  RELA                 0x0+194
+  RELA                 0x0+138
   RELASZ               0x0+c
   RELAENT              0x0+c
 private flags = 0:
@@ -38,13 +38,13 @@ SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22a8 R_CRIS_DTPMOD     \*ABS\*
+0+224c R_CRIS_DTPMOD     \*ABS\*
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01a0 6fae8000 00000000              .*
+ 0144 6fae8000 00000000              .*
 #...
 Contents of section \.got:
- 229c 2c220+ 0+ 0+ 0+  .*
- 22ac 0+                             .*
+ 2240 d0210+ 0+ 0+ 0+  .*
+ 2250 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ld-7.d b/ld/testsuite/ld-cris/tls-ld-7.d
index db034af0fd..7be8b87c54 100644
--- a/ld/testsuite/ld-cris/tls-ld-7.d
+++ b/ld/testsuite/ld-cris/tls-ld-7.d
@@ -12,21 +12,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+1ac memsz 0x0+1ac flags r-x
-    LOAD off    0x0+1ac vaddr 0x0+21ac paddr 0x0+21ac align 2\*\*13
+         filesz 0x0+150 memsz 0x0+150 flags r-x
+    LOAD off    0x0+150 vaddr 0x0+2150 paddr 0x0+2150 align 2\*\*13
          filesz 0x0+10c memsz 0x0+10c flags rw-
- DYNAMIC off    0x0+234 vaddr 0x0+2234 paddr 0x0+2234 align 2\*\*2
+ DYNAMIC off    0x0+1d8 vaddr 0x0+21d8 paddr 0x0+21d8 align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+1ac vaddr 0x0+21ac paddr 0x0+21ac align 2\*\*2
+     TLS off    0x0+150 vaddr 0x0+2150 paddr 0x0+2150 align 2\*\*2
          filesz 0x0+88 memsz 0x0+88 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+168
-  SYMTAB               0x0+e8
-  STRSZ                0x0+29
+  STRTAB               0x0+124
+  SYMTAB               0x0+d4
+  STRSZ                0x0+11
   SYMENT               0x0+10
-  RELA                 0x0+194
+  RELA                 0x0+138
   RELASZ               0x0+c
   RELAENT              0x0+c
 private flags = 0:
@@ -39,13 +39,13 @@ SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+22b0 R_CRIS_DTPMOD     \*ABS\*
+0+2254 R_CRIS_DTPMOD     \*ABS\*
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01a0 6fae80+ 0+6fbe 840+     .*
+ 0144 6fae80+ 0+6fbe 840+     .*
 #...
 Contents of section \.got:
- 22a4 34220+ 0+ 0+ 0+  .*
- 22b4 0+                             .*
+ 2248 d8210+ 0+ 0+ 0+  .*
+ 2258 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ldgd-14.d b/ld/testsuite/ld-cris/tls-ldgd-14.d
index 01cb97553d..0cbd687ec6 100644
--- a/ld/testsuite/ld-cris/tls-ldgd-14.d
+++ b/ld/testsuite/ld-cris/tls-ldgd-14.d
@@ -17,21 +17,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+230 memsz 0x0+230 flags r-x
-    LOAD off    0x0+230 vaddr 0x0+2230 paddr 0x0+2230 align 2\*\*13
+         filesz 0x0+1dc memsz 0x0+1dc flags r-x
+    LOAD off    0x0+1dc vaddr 0x0+21dc paddr 0x0+21dc align 2\*\*13
          filesz 0x0+124 memsz 0x0+124 flags rw-
- DYNAMIC off    0x0+2c0 vaddr 0x0+22c0 paddr 0x0+22c0 align 2\*\*2
+ DYNAMIC off    0x0+26c vaddr 0x0+226c paddr 0x0+226c align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+230 vaddr 0x0+2230 paddr 0x0+2230 align 2\*\*2
+     TLS off    0x0+1dc vaddr 0x0+21dc paddr 0x0+21dc align 2\*\*2
          filesz 0x0+90 memsz 0x0+90 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+1b8
-  SYMTAB               0x0+f8
-  STRSZ                0x0+42
+  STRTAB               0x0+17c
+  SYMTAB               0x0+ec
+  STRSZ                0x0+2a
   SYMENT               0x0+10
-  RELA                 0x0+1fc
+  RELA                 0x0+1a8
   RELASZ               0x0+24
   RELAENT              0x0+c
 private flags = 0:
@@ -55,17 +55,17 @@ DYNAMIC SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+233c R_CRIS_DTPMOD     \*ABS\*
-0+2344 R_CRIS_DTP        x
-0+234c R_CRIS_DTP        z
+0+22e8 R_CRIS_DTPMOD     \*ABS\*
+0+22f0 R_CRIS_DTP        x
+0+22f8 R_CRIS_DTP        z
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 0220 5fae8800 5fbe8c00 5fae1400 5fae1c00  .*
+ 01cc 5fae8800 5fbe8c00 5fae1400 5fae1c00  .*
 Contents of section .tdata:
 #...
 Contents of section \.got:
- 2330 c0220+ 0+ 0+ 0+  .*
- 2340 0+ 0+ 0+ 0+  .*
- 2350 0+                             .*
+ 22dc 6c220+ 0+ 0+ 0+  .*
+ 22ec 0+ 0+ 0+ 0+  .*
+ 22fc 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ldgd-15.d b/ld/testsuite/ld-cris/tls-ldgd-15.d
index 6d5ac81a90..54bf280607 100644
--- a/ld/testsuite/ld-cris/tls-ldgd-15.d
+++ b/ld/testsuite/ld-cris/tls-ldgd-15.d
@@ -17,21 +17,21 @@
 
 Program Header:
     LOAD off    0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
-         filesz 0x0+23c memsz 0x0+23c flags r-x
-    LOAD off    0x0+23c vaddr 0x0+223c paddr 0x0+223c align 2\*\*13
+         filesz 0x0+1e8 memsz 0x0+1e8 flags r-x
+    LOAD off    0x0+1e8 vaddr 0x0+21e8 paddr 0x0+21e8 align 2\*\*13
          filesz 0x0+124 memsz 0x0+124 flags rw-
- DYNAMIC off    0x0+2cc vaddr 0x0+22cc paddr 0x0+22cc align 2\*\*2
+ DYNAMIC off    0x0+278 vaddr 0x0+2278 paddr 0x0+2278 align 2\*\*2
          filesz 0x0+70 memsz 0x0+70 flags rw-
-     TLS off    0x0+23c vaddr 0x0+223c paddr 0x0+223c align 2\*\*2
+     TLS off    0x0+1e8 vaddr 0x0+21e8 paddr 0x0+21e8 align 2\*\*2
          filesz 0x0+90 memsz 0x0+90 flags r--
 
 Dynamic Section:
   HASH                 0x0+b4
-  STRTAB               0x0+1b8
-  SYMTAB               0x0+f8
-  STRSZ                0x0+42
+  STRTAB               0x0+17c
+  SYMTAB               0x0+ec
+  STRSZ                0x0+2a
   SYMENT               0x0+10
-  RELA                 0x0+1fc
+  RELA                 0x0+1a8
   RELASZ               0x0+24
   RELAENT              0x0+c
 private flags = 0:
@@ -55,18 +55,18 @@ DYNAMIC SYMBOL TABLE:
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+2348 R_CRIS_DTPMOD     \*ABS\*
-0+2350 R_CRIS_DTP        x
-0+2358 R_CRIS_DTP        z
+0+22f4 R_CRIS_DTPMOD     \*ABS\*
+0+22fc R_CRIS_DTP        x
+0+2304 R_CRIS_DTP        z
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 0220 6fae8800 00006fbe 8c000000 6fae1400  .*
- 0230 0+ 6fae1c00 0+           .*
+ 01cc 6fae8800 00006fbe 8c000000 6fae1400  .*
+ 01dc 0+ 6fae1c00 0+           .*
 Contents of section .tdata:
 #...
 Contents of section \.got:
- 233c cc220+ 0+ 0+ 0+  .*
- 234c 0+ 0+ 0+ 0+  .*
- 235c 0+                             .*
+ 22e8 78220+ 0+ 0+ 0+  .*
+ 22f8 0+ 0+ 0+ 0+  .*
+ 2308 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ldgdex-14.d b/ld/testsuite/ld-cris/tls-ldgdex-14.d
index bb497bba12..57f2262b6f 100644
--- a/ld/testsuite/ld-cris/tls-ldgdex-14.d
+++ b/ld/testsuite/ld-cris/tls-ldgdex-14.d
@@ -38,17 +38,17 @@ DYNAMIC SYMBOL TABLE:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0008230c R_CRIS_DTP        x
-00082314 R_CRIS_DTP        z
+000822b0 R_CRIS_DTP        x
+000822b8 R_CRIS_DTP        z
 
 Contents of section .interp:
 #...
 Contents of section \.text:
- 801dc 41b20000 5fae8000 5fbe8400 5fae1400  .*
- 801ec 5fae1c00                             .*
+ 80180 41b20000 5fae8000 5fbe8400 5fae1400  .*
+ 80190 5fae1c00                             .*
 Contents of section \.tdata:
 #...
 Contents of section \.got:
- 822f8 78220800 0+ 0+ 010+  .*
- 82308 0+ 0+ 0+ 0+  .*
- 82318 0+                             .*
+ 8229c 1c220800 0+ 0+ 010+  .*
+ 822ac 0+ 0+ 0+ 0+  .*
+ 822bc 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ldgdex-15.d b/ld/testsuite/ld-cris/tls-ldgdex-15.d
index 45e5ec3a16..677824ddfa 100644
--- a/ld/testsuite/ld-cris/tls-ldgdex-15.d
+++ b/ld/testsuite/ld-cris/tls-ldgdex-15.d
@@ -38,17 +38,17 @@ DYNAMIC SYMBOL TABLE:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00082318 R_CRIS_DTP        x
-00082320 R_CRIS_DTP        z
+000822bc R_CRIS_DTP        x
+000822c4 R_CRIS_DTP        z
 
 Contents of section \.interp:
 #...
 Contents of section \.text:
- 801dc 41b20000 6fae8000 00006fbe 84000000  .*
- 801ec 6fae1400 00000000 6fae1c00 00000000  .*
+ 80180 41b20000 6fae8000 00006fbe 84000000  .*
+ 80190 6fae1400 00000000 6fae1c00 00000000  .*
 Contents of section \.tdata:
 #...
 Contents of section \.got:
- 82304 84220800 0+ 0+ 010+  .*
- 82314 0+ 0+ 0+ 0+  .*
- 82324 0+                             .*
+ 822a8 28220800 0+ 0+ 010+  .*
+ 822b8 0+ 0+ 0+ 0+  .*
+ 822c8 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ldgdx-14.d b/ld/testsuite/ld-cris/tls-ldgdx-14.d
index 1d3dcde6a7..3b627297e8 100644
--- a/ld/testsuite/ld-cris/tls-ldgdx-14.d
+++ b/ld/testsuite/ld-cris/tls-ldgdx-14.d
@@ -39,17 +39,17 @@ DYNAMIC SYMBOL TABLE:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00002338 R_CRIS_DTPMOD     \*ABS\*
-00002340 R_CRIS_DTP        x
-00002348 R_CRIS_DTP        z
+000022e4 R_CRIS_DTPMOD     \*ABS\*
+000022ec R_CRIS_DTP        x
+000022f4 R_CRIS_DTP        z
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 021c 5fae8000 5fbe8400 5fae1400 5fae1c00  .*
+ 01c8 5fae8000 5fbe8400 5fae1400 5fae1c00  .*
 Contents of section .tdata:
 #...
 Contents of section \.got:
- 232c b4220+ 0+ 0+ 0+  .*
- 233c 0+ 0+ 0+ 0+  .*
- 234c 0+                             .*
+ 22d8 60220+ 0+ 0+ 0+  .*
+ 22e8 0+ 0+ 0+ 0+  .*
+ 22f8 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-ldgdx-15.d b/ld/testsuite/ld-cris/tls-ldgdx-15.d
index 59f3aae171..4ecfa6bfea 100644
--- a/ld/testsuite/ld-cris/tls-ldgdx-15.d
+++ b/ld/testsuite/ld-cris/tls-ldgdx-15.d
@@ -39,18 +39,18 @@ DYNAMIC SYMBOL TABLE:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00002344 R_CRIS_DTPMOD     \*ABS\*
-0000234c R_CRIS_DTP        x
-00002354 R_CRIS_DTP        z
+000022f0 R_CRIS_DTPMOD     \*ABS\*
+000022f8 R_CRIS_DTP        x
+00002300 R_CRIS_DTP        z
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 021c 6fae8000 00006fbe 84000000 6fae1400  .*
- 022c 0+ 6fae1c00 0+           .*
+ 01c8 6fae8000 00006fbe 84000000 6fae1400  .*
+ 01d8 0+ 6fae1c00 0+           .*
 Contents of section .tdata:
 #...
 Contents of section \.got:
- 2338 c0220+ 0+ 0+ 0+  .*
- 2348 0+ 0+ 0+ 0+  .*
- 2358 0+                             .*
+ 22e4 6c220+ 0+ 0+ 0+  .*
+ 22f4 0+ 0+ 0+ 0+  .*
+ 2304 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-legdx-16.d b/ld/testsuite/ld-cris/tls-legdx-16.d
index a5971676ac..e8288bda00 100644
--- a/ld/testsuite/ld-cris/tls-legdx-16.d
+++ b/ld/testsuite/ld-cris/tls-legdx-16.d
@@ -38,15 +38,15 @@ DYNAMIC SYMBOL TABLE:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00082310 R_CRIS_DTP        x
-00082318 R_CRIS_DTP        z
+000822b4 R_CRIS_DTP        x
+000822bc R_CRIS_DTP        z
 
 Contents of section .interp:
 #...
 Contents of section \.text:
- 801dc 41b20000 6faef8ff ffff6fae fcffffff  .*
- 801ec 6fae1023 08000000 6fae1823 08000000  .*
+ 80180 41b20000 6faef8ff ffff6fae fcffffff  .*
+ 80190 6faeb422 08000000 6faebc22 08000000  .*
 #...
 Contents of section \.got:
- 82304 84220800 0+ 0+ 0+  .*
- 82314 0+ 0+ 0+           .*
+ 822a8 28220800 0+ 0+ 0+  .*
+ 822b8 0+ 0+ 0+           .*
diff --git a/ld/testsuite/ld-cris/tls-legdx-17.d b/ld/testsuite/ld-cris/tls-legdx-17.d
index c5b7b4b55f..240812e2aa 100644
--- a/ld/testsuite/ld-cris/tls-legdx-17.d
+++ b/ld/testsuite/ld-cris/tls-legdx-17.d
@@ -40,15 +40,15 @@ DYNAMIC SYMBOL TABLE:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00082308 R_CRIS_DTP        x
-00082310 R_CRIS_DTP        z
+000822ac R_CRIS_DTP        x
+000822b4 R_CRIS_DTP        z
 
 Contents of section .interp:
 #...
 Contents of section \.text:
- 801dc 41b20000 5faef8ff 5faefcff 6fae0c00  .*
- 801ec 00000000 5fae1400                    .*
+ 80180 41b20000 5faef8ff 5faefcff 6fae0c00  .*
+ 80190 00000000 5fae1400                    .*
 #...
 Contents of section \.got:
- 822fc 7c220800 0+ 0+ 0+  .*
- 8230c 0+ 0+ 0+           .*
+ 822a0 20220800 0+ 0+ 0+  .*
+ 822b0 0+ 0+ 0+           .*
diff --git a/ld/testsuite/ld-cris/tls-local-54.d b/ld/testsuite/ld-cris/tls-local-54.d
index 337fbd56b8..f2a100fd53 100644
--- a/ld/testsuite/ld-cris/tls-local-54.d
+++ b/ld/testsuite/ld-cris/tls-local-54.d
@@ -15,13 +15,13 @@ Program Header:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00002288 R_CRIS_DTP        \*ABS\*\+0x0000002a
+0000222c R_CRIS_DTP        \*ABS\*\+0x0000002a
 
 Contents of section .hash:
 #...
 Contents of section \.text:
- 0184 6fae0c00 00000000                    .*
+ 0128 6fae0c00 00000000                    .*
 #...
 Contents of section \.got:
- 227c 0c220000 0+ 0+ 0+  .*
- 228c 0+                             .*
+ 2220 b0210000 0+ 0+ 0+  .*
+ 2230 0+                             .*
diff --git a/ld/testsuite/ld-cris/tls-local-60.d b/ld/testsuite/ld-cris/tls-local-60.d
index a2ed60124e..fb680ea41f 100644
--- a/ld/testsuite/ld-cris/tls-local-60.d
+++ b/ld/testsuite/ld-cris/tls-local-60.d
@@ -19,15 +19,15 @@ Program Header:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0000231c R_CRIS_32_TPREL   \*ABS\*\+0x0+4
-00002320 R_CRIS_DTP        \*ABS\*\+0x0+4
+000022c8 R_CRIS_32_TPREL   \*ABS\*\+0x0+4
+000022cc R_CRIS_DTP        \*ABS\*\+0x0+4
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 0200 6fae1000 00006fae 0c000000 5fae1000  .*
- 0210 5fae0c00                             .*
+ 01ac 6fae1000 00006fae 0c000000 5fae1000  .*
+ 01bc 5fae0c00                             .*
 #...
 Contents of section \.got:
- 2310 98220+ 0+ 0+ 040+  .*
- 2320 0+ 0+                    .*
+ 22bc 44220+ 0+ 0+ 040+  .*
+ 22cc 0+ 0+                    .*
diff --git a/ld/testsuite/ld-cris/tls-local-61.d b/ld/testsuite/ld-cris/tls-local-61.d
index 54d2786755..029810bcff 100644
--- a/ld/testsuite/ld-cris/tls-local-61.d
+++ b/ld/testsuite/ld-cris/tls-local-61.d
@@ -18,15 +18,15 @@ Program Header:
 #...
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-00002304 R_CRIS_32_TPREL   \*ABS\*
-00002308 R_CRIS_DTP        \*ABS\*
+000022b0 R_CRIS_32_TPREL   \*ABS\*
+000022b4 R_CRIS_DTP        \*ABS\*
 
 Contents of section \.hash:
 #...
 Contents of section \.text:
- 01ec 6fae1000 00006fae 0c000000 5fae1000  .*
- 01fc 5fae0c00                             .*
+ 0198 6fae1000 00006fae 0c000000 5fae1000  .*
+ 01a8 5fae0c00                             .*
 #...
 Contents of section \.got:
- 22f8 80220+ 0+ 0+ 0+  .*
- 2308 0+ 0+                    .*
+ 22a4 2c220+ 0+ 0+ 0+  .*
+ 22b4 0+ 0+                    .*
diff --git a/ld/testsuite/ld-cris/tls-local-63.d b/ld/testsuite/ld-cris/tls-local-63.d
index 8d8c356be4..2c16747668 100644
--- a/ld/testsuite/ld-cris/tls-local-63.d
+++ b/ld/testsuite/ld-cris/tls-local-63.d
@@ -10,22 +10,22 @@
 #...
 Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
-00002210  0000001c R_CRIS_32_TPREL[ ]+0
+000021b4  0000001c R_CRIS_32_TPREL[ ]+0
 
 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported.
 
-Symbol table '.dynsym' contains 7 entries:
+Symbol table '.dynsym' contains 4 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
 #...
-Symbol table '.symtab' contains 16 entries:
+Symbol table '.symtab' contains 13 entries:
 #...
      .: 00000000 +4 +TLS +LOCAL +DEFAULT +6 x
 #...
 Hex dump of section '.text':
-  0x00000184 5fae0c00                            .*
+  0x00000128 5fae0c00                            .*
 #...
 Hex dump of section '.tdata':
-  0x00002188 280+                            .*
+  0x0000212c 280+                            .*
 #...
 Hex dump of section '.got':
-  0x0+2204 8c210000 0+ 0+ 0+ .*
+  0x0+21a8 30210000 0+ 0+ 0+ .*
diff --git a/ld/testsuite/ld-cris/tls-local-64.d b/ld/testsuite/ld-cris/tls-local-64.d
index 22d7f5fdab..5f92698303 100644
--- a/ld/testsuite/ld-cris/tls-local-64.d
+++ b/ld/testsuite/ld-cris/tls-local-64.d
@@ -12,11 +12,11 @@
 #...
 Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
-00002290  0000001c R_CRIS_32_TPREL[ ]+80
+00002234  0000001c R_CRIS_32_TPREL[ ]+80
 
 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported.
 
-Symbol table '.dynsym' contains 7 entries:
+Symbol table '.dynsym' contains 4 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
 #...
 Symbol table '.symtab' contains [0-9]+ entries:
@@ -24,14 +24,14 @@ Symbol table '.symtab' contains [0-9]+ entries:
     ..: 00000080 +4 +TLS +LOCAL +DEFAULT +6 x
 #...
 Hex dump of section '.text':
-  0x00000184 5fae0c00                            .*
+  0x00000128 5fae0c00                            .*
 #...
 Hex dump of section '.tdata':
-  0x00002188 2f0+ 0+ 0+ 0+ .*
-  0x00002198 0+ 0+ 0+ 0+ .*
+  0x0000212c 2f0+ 0+ 0+ 0+ .*
+  0x0000213c 0+ 0+ 0+ 0+ .*
 #...
-  0x000021f8 0+ 0+ 0+ 0+ .*
-  0x00002208 280+                            .*
+  0x0000219c 0+ 0+ 0+ 0+ .*
+  0x000021ac 280+                            .*
 #...
 Hex dump of section '.got':
-  0x0+2284 0c220000 0+ 0+ 80+ .*
+  0x0+2228 b0210000 0+ 0+ 80+ .*
diff --git a/ld/testsuite/ld-cris/tls-ok-30.d b/ld/testsuite/ld-cris/tls-ok-30.d
index fef40b3838..8ab8c2a059 100644
--- a/ld/testsuite/ld-cris/tls-ok-30.d
+++ b/ld/testsuite/ld-cris/tls-ok-30.d
@@ -11,19 +11,19 @@
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-000b3910 R_CRIS_DTP        x2814
+000b38bc R_CRIS_DTP        x2814
 #...
-000b8350 R_CRIS_DTP        x8190
+000b82fc R_CRIS_DTP        x8190
 #...
-000c1308 R_CRIS_DTP        x0
+000c12b4 R_CRIS_DTP        x0
 #...
-000c3900 R_CRIS_DTP        x1345
+000c38ac R_CRIS_DTP        x1345
 
 Contents of section .got:
- b3904 94380b00 00000000 00000000 00000000  .*
- b3914 00000000 00000000 00000000 00000000  .*
+ b38b0 40380b00 00000000 00000000 00000000  .*
+ b38c0 00000000 00000000 00000000 00000000  .*
 #...
- c38e4 00000000 00000000 00000000 00000000  .*
- c38f4 00000000 00000000 00000000 00000000  .*
- c3904 00000000                             .*
+ c3890 00000000 00000000 00000000 00000000  .*
+ c38a0 00000000 00000000 00000000 00000000  .*
+ c38b0 00000000                             .*
 #PASS
diff --git a/ld/testsuite/ld-cris/tls-ok-32.d b/ld/testsuite/ld-cris/tls-ok-32.d
index 602710e545..e633120cc0 100644
--- a/ld/testsuite/ld-cris/tls-ok-32.d
+++ b/ld/testsuite/ld-cris/tls-ok-32.d
@@ -10,14 +10,14 @@
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0000a220 R_CRIS_DTPMOD     \*ABS\*
+0000a1c4 R_CRIS_DTPMOD     \*ABS\*
 
 Contents of section \.text:
- 01a0 5faeff7f                             .*
+ 0144 5faeff7f                             .*
 Contents of section \.tdata:
- 21a4 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a  .*
+ 2148 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a  .*
 #...
- a194 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a  .*
+ a138 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a  .*
 Contents of section \.got:
- a214 a4a10000 00000000 00000000 00000000  .*
- a224 00000000                             .*
+ a1b8 48a10000 00000000 00000000 00000000  .*
+ a1c8 00000000                             .*
diff --git a/ld/testsuite/ld-cris/tls-ok-34.d b/ld/testsuite/ld-cris/tls-ok-34.d
index ba3d1aea33..a960c69896 100644
--- a/ld/testsuite/ld-cris/tls-ok-34.d
+++ b/ld/testsuite/ld-cris/tls-ok-34.d
@@ -12,17 +12,17 @@
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-000b3870 R_CRIS_32_TPREL   x2814
+000b381c R_CRIS_32_TPREL   x2814
 #...
-000b485c R_CRIS_32_TPREL   x8188
+000b4808 R_CRIS_32_TPREL   x8188
 #...
-000ba564 R_CRIS_32_TPREL   x0
+000ba510 R_CRIS_32_TPREL   x0
 #...
-000bb860 R_CRIS_32_TPREL   x1345
+000bb80c R_CRIS_32_TPREL   x1345
 
 Contents of section .got:
- b3864 ec370b00 00000000 00000000 00000000  .*
- b3874 00000000 00000000 00000000 00000000  .*
+ b3810 98370b00 00000000 00000000 00000000  .*
+ b3820 00000000 00000000 00000000 00000000  .*
 #...
- bb844 00000000 00000000 00000000 00000000  .*
- bb854 00000000 00000000 00000000 00000000  .*
+ bb7f0 00000000 00000000 00000000 00000000  .*
+ bb800 00000000 00000000 00000000 00000000  .*
diff --git a/ld/testsuite/ld-cris/tls-und-38.d b/ld/testsuite/ld-cris/tls-und-38.d
index 4b797b8585..fefe386693 100644
--- a/ld/testsuite/ld-cris/tls-und-38.d
+++ b/ld/testsuite/ld-cris/tls-und-38.d
@@ -11,7 +11,7 @@
 #...
 Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
-000021ec +00000217 R_CRIS_DTP +00000000 +x \+ 0
+00002190 +00000217 R_CRIS_DTP +00000000 +x \+ 0
 
 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported.
 
@@ -23,5 +23,5 @@ Symbol table '.dynsym' contains . entries:
 Symbol table '.symtab' contains .. entries:
 #...
 Hex dump of section '.got':
-  0x0+21e0 70210000 00000000 00000000 00000000 .*
-  0x0+21f0 00000000                            .*
+  0x0+2184 14210000 00000000 00000000 00000000 .*
+  0x0+2194 00000000                            .*
diff --git a/ld/testsuite/ld-cris/tls-und-42.d b/ld/testsuite/ld-cris/tls-und-42.d
index 914dcbfa69..644607710f 100644
--- a/ld/testsuite/ld-cris/tls-und-42.d
+++ b/ld/testsuite/ld-cris/tls-und-42.d
@@ -11,7 +11,7 @@
 #...
 Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
-000021f4 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0
+00002198 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0
 
 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported.
 
@@ -23,4 +23,4 @@ Symbol table '.dynsym' contains . entries:
 Symbol table '.symtab' contains .. entries:
 #...
 Hex dump of section '.got':
-  0x0+21e8 70210000 00000000 00000000 00000000 .*
+  0x0+218c 14210000 00000000 00000000 00000000 .*
diff --git a/ld/testsuite/ld-cris/tls-und-46.d b/ld/testsuite/ld-cris/tls-und-46.d
index 5af64984d6..ab62cde5d2 100644
--- a/ld/testsuite/ld-cris/tls-und-46.d
+++ b/ld/testsuite/ld-cris/tls-und-46.d
@@ -11,7 +11,7 @@
 #...
 Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
-000021e8 +00000217 R_CRIS_DTP +00000000 +x \+ 0
+0000218c +00000217 R_CRIS_DTP +00000000 +x \+ 0
 
 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported.
 
@@ -23,5 +23,5 @@ Symbol table '.dynsym' contains . entries:
 Symbol table '.symtab' contains .. entries:
 #...
 Hex dump of section '.got':
-  0x0+21dc 6c210000 00000000 00000000 00000000 .*
-  0x0+21ec 00000000                            .*
+  0x0+2180 10210000 00000000 00000000 00000000 .*
+  0x0+2190 00000000                            .*
diff --git a/ld/testsuite/ld-cris/tls-und-50.d b/ld/testsuite/ld-cris/tls-und-50.d
index 9054e09ae3..ed35e4291c 100644
--- a/ld/testsuite/ld-cris/tls-und-50.d
+++ b/ld/testsuite/ld-cris/tls-und-50.d
@@ -11,7 +11,7 @@
 #...
 Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
-000021ec +0000021c R_CRIS_32_TPREL +0+ +x \+ 0
+00002190 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0
 
 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported.
 
@@ -23,4 +23,4 @@ Symbol table '.dynsym' contains . entries:
 Symbol table '.symtab' contains .. entries:
 #...
 Hex dump of section '.got':
-  0x0+21e0 68210000 00000000 00000000 00000000 .*
+  0x0+2184 0c210000 00000000 00000000 00000000 .*
diff --git a/ld/testsuite/ld-cris/weakhiddso.d b/ld/testsuite/ld-cris/weakhiddso.d
index c9c793e860..d884531913 100644
--- a/ld/testsuite/ld-cris/weakhiddso.d
+++ b/ld/testsuite/ld-cris/weakhiddso.d
@@ -9,21 +9,18 @@
 .*:     file format elf32-cris
 
 DYNAMIC SYMBOL TABLE:
-0+2208 l    d  \.data 0+ \.data
-0+2208 g    DO \.data 0+c x
+0+21b4 l    d  \.data 0+ \.data
+0+21b4 g    DO \.data 0+c x
 0+      D  \*UND\* 0+ xregobj
-0+2214 g    D  \.data 0+ __bss_start
 0+  w   D  \*UND\* 0+ xweakobj
-0+2214 g    D  \.data 0+ _edata
-0+2220 g    D  \.data 0+ _end
 
 
 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE
-0+220c R_CRIS_32         xweakobj
-0+2210 R_CRIS_32         xregobj
+0+21b8 R_CRIS_32         xweakobj
+0+21bc R_CRIS_32         xregobj
 
 Contents of section \.hash:
 #...
 Contents of section \.data:
- 2208 00000000 00000000 00000000           .*
+ 21b4 00000000 00000000 00000000           .*
diff --git a/ld/testsuite/ld-cris/weakref2.d b/ld/testsuite/ld-cris/weakref2.d
index 9b50dbf44a..fa9689bcc7 100644
--- a/ld/testsuite/ld-cris/weakref2.d
+++ b/ld/testsuite/ld-cris/weakref2.d
@@ -7,4 +7,4 @@
 
 .*:     file format elf32-cris
 Contents of section \.got:
- 821e4 7c210800 00000000 00000000 00000000  .*
+ 82188 20210800 00000000 00000000 00000000  .*
diff --git a/ld/testsuite/ld-elf/pr23161.map b/ld/testsuite/ld-elf/pr23161.map
new file mode 100644
index 0000000000..cc817dc52a
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161.map
@@ -0,0 +1,4 @@
+FOO {
+  global:
+    *;
+};
diff --git a/ld/testsuite/ld-elf/pr23161.rd b/ld/testsuite/ld-elf/pr23161.rd
new file mode 100644
index 0000000000..c8529a515f
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161.rd
@@ -0,0 +1,14 @@
+Relocation section '\.rel(a|)\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
+ +Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|)
+[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLOT +[a-f0-9]+ +foo(@FOO|)( \+ 0|)
+
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+ +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start
+#...
diff --git a/ld/testsuite/ld-elf/pr23161a.c b/ld/testsuite/ld-elf/pr23161a.c
new file mode 100644
index 0000000000..707ed04bfd
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161a.c
@@ -0,0 +1,9 @@
+extern char *_end;
+extern char *_edata;
+extern char *__bss_start;
+
+int
+foo (void)
+{
+  return _end[0] + _edata[0] + __bss_start[0];
+}
diff --git a/ld/testsuite/ld-elf/pr23161b.c b/ld/testsuite/ld-elf/pr23161b.c
new file mode 100644
index 0000000000..0112f771b1
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161b.c
@@ -0,0 +1,23 @@
+static char *_edata_p;
+static char *_end_p;
+static char *__bss_start_p;
+extern char *_end;
+extern char *_edata;
+extern char *__bss_start;
+
+extern int foo (void);
+
+void
+bar (void)
+{
+  _edata_p = (char*) &_edata;
+  _end_p = (char*) &_end;
+  __bss_start_p = (char*) &__bss_start;
+}
+
+void
+_start ()
+{
+  bar ();
+  foo ();
+}
diff --git a/ld/testsuite/ld-elf/pr23162.rd b/ld/testsuite/ld-elf/pr23162.rd
index 3ac848fe05..48351ffea7 100644
--- a/ld/testsuite/ld-elf/pr23162.rd
+++ b/ld/testsuite/ld-elf/pr23162.rd
@@ -1,12 +1,5 @@
 There are no relocations in this file\.
 
-Symbol table '\.dynsym' contains [0-9]+ entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start
-#...
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index ef517bac42..9403363860 100644
--- a/ld/testsuite/ld-elf/shared.exp
+++ b/ld/testsuite/ld-elf/shared.exp
@@ -1393,5 +1393,45 @@ if { ([istarget "i?86-*-*"]
     "pr23162b" \
     "-fPIC -O0" \
  ] \
+ [list \
+    "Build libpr23161a.so" \
+    "-shared" \
+    "" \
+    "$AFLAGS_PIC" \
+    { pr23161a.c } \
+    "" \
+    "libpr23161a.so" \
+    "-fPIC -O2" \
+ ] \
+ [list \
+    "Build pr23161a" \
+    "-pie --no-as-needed tmpdir/libpr23161a.so" \
+    "" \
+    "-mrelax-relocations=yes" \
+    { pr23161b.c } \
+    {{readelf {--dyn-syms -rW} pr23161.rd}} \
+    "pr23161a" \
+    "-fPIC -O0" \
+ ] \
+ [list \
+    "Build libpr23161b.so" \
+    "-shared --version-script=pr23161.map" \
+    "" \
+    "$AFLAGS_PIC" \
+    { pr23161a.c } \
+    "" \
+    "libpr23161b.so" \
+    "-fPIC -O2" \
+ ] \
+ [list \
+    "Build pr23161b" \
+    "-pie --no-as-needed tmpdir/libpr23161b.so" \
+    "" \
+    "-mrelax-relocations=yes" \
+    { pr23161b.c } \
+    {{readelf {--dyn-syms -rW} pr23161.rd}} \
+    "pr23161b" \
+    "-fPIC -O0" \
+ ] \
     ]
 }
diff --git a/ld/testsuite/ld-frv/fdpic-shared-1.d b/ld/testsuite/ld-frv/fdpic-shared-1.d
index 4968deb142..00374f56ea 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-1.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-1.d
@@ -23,9 +23,9 @@ Disassembly of section \.text:
 [0-9a-f ]+: 80 fc ff f8 setlos 0xf+ff8,gr0
 [0-9a-f ]+: 80 f4 ff f8 setlo 0xfff8,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
-[0-9a-f ]+: 80 40 ff ec addi gr15,-20,gr0
-[0-9a-f ]+: 80 fc ff ec setlos 0xf+fec,gr0
-[0-9a-f ]+: 80 f4 ff ec setlo 0xffec,gr0
+[0-9a-f ]+: 80 40 ff (ec|f0) addi gr15,.*,gr0
+[0-9a-f ]+: 80 fc ff (ec|f0) setlos .*,gr0
+[0-9a-f ]+: 80 f4 ff (ec|f0) setlo .*,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
 [0-9a-f ]+: 80 f4 00 14 setlo 0x14,gr0
 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0
diff --git a/ld/testsuite/ld-frv/fdpic-shared-2.d b/ld/testsuite/ld-frv/fdpic-shared-2.d
index 85ab28d19a..3eeb587ba5 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-2.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-2.d
@@ -37,9 +37,9 @@ Disassembly of section \.text:
 [0-9a-f ]+: 80 fc ff e8 setlos 0xf*ffffffe8,gr0
 [0-9a-f ]+: 80 f4 ff e0 setlo 0xffe0,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
-[0-9a-f ]+: 80 40 ff d8 addi gr15,-40,gr0
-[0-9a-f ]+: 80 fc ff d8 setlos 0xf+fd8,gr0
-[0-9a-f ]+: 80 f4 ff d8 setlo 0xffd8,gr0
+[0-9a-f ]+: 80 40 ff d4 addi gr15,-44,gr0
+[0-9a-f ]+: 80 fc ff d4 setlos 0xf+fd4,gr0
+[0-9a-f ]+: 80 f4 ff d4 setlo 0xffd4,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
 [0-9a-f ]+: 80 f4 00 1c setlo 0x1c,gr0
 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0
@@ -56,16 +56,16 @@ Disassembly of section \.dat[0-9a-f ]+:
 [0-9A-F ]+isassembly of section \.got:
 
 [0-9a-f ]+<.got>:
-[0-9a-f ]+: 00 00 04 a4 .*
+[0-9a-f ]+: 00 00 04 20 .*
 [0-9a-f ]+: R_FRV_FUNCDESC_VALUE GF9
 [0-9a-f ]+: 00 00 00 00 .*
-[0-9a-f ]+: 00 00 04 9c .*
+[0-9a-f ]+: 00 00 04 18 .*
 [0-9a-f ]+: R_FRV_FUNCDESC_VALUE GF8
 [0-9a-f ]+: 00 00 00 00 .*
-[0-9a-f ]+: 00 00 04 ac .*
+[0-9a-f ]+: 00 00 04 28 .*
 [0-9a-f ]+: R_FRV_FUNCDESC_VALUE GF7
 [0-9a-f ]+: 00 00 00 00 .*
-[0-9a-f ]+: 00 00 04 94 .*
+[0-9a-f ]+: 00 00 04 10 .*
 [0-9a-f ]+: R_FRV_FUNCDESC_VALUE GF0
 [0-9a-f ]+: 00 00 00 00 .*
 
diff --git a/ld/testsuite/ld-frv/fdpic-shared-3.d b/ld/testsuite/ld-frv/fdpic-shared-3.d
index fc59185474..ef5090d3d4 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-3.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-3.d
@@ -23,9 +23,9 @@
 [0-9a-f ]+: 80 fc ff e8 setlos 0xf*ffffffe8,gr0
 [0-9a-f ]+: 80 f4 ff d8 setlo 0xffd8,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
-[0-9a-f ]+: 80 40 ff bc addi gr15,-68,gr0
-[0-9a-f ]+: 80 fc ff bc setlos 0xf+fbc,gr0
-[0-9a-f ]+: 80 f4 ff bc setlo 0xffbc,gr0
+[0-9a-f ]+: 80 40 ff (bc|c0) addi gr15,.*,gr0
+[0-9a-f ]+: 80 fc ff (bc|c0) setlos .*,gr0
+[0-9a-f ]+: 80 f4 ff (bc|c0) setlo .*,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
 [0-9a-f ]+: 80 f4 00 24 setlo 0x24,gr0
 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0
diff --git a/ld/testsuite/ld-frv/fdpic-shared-4.d b/ld/testsuite/ld-frv/fdpic-shared-4.d
index 298ae28ac3..aebc0f1c91 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-4.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-4.d
@@ -23,9 +23,9 @@ Disassembly of section \.text:
 [0-9a-f ]+: 80 fc ff f0 setlos 0xf+ff0,gr0
 [0-9a-f ]+: 80 f4 ff e8 setlo 0xffe8,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
-[0-9a-f ]+: 80 40 ff dc addi gr15,-36,gr0
-[0-9a-f ]+: 80 fc ff dc setlos 0xf+fdc,gr0
-[0-9a-f ]+: 80 f4 ff dc setlo 0xffdc,gr0
+[0-9a-f ]+: 80 40 ff (dc|e0) addi gr15,.*,gr0
+[0-9a-f ]+: 80 fc ff (dc|e0) setlos .*,gr0
+[0-9a-f ]+: 80 f4 ff (dc|e0) setlo .*,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
 [0-9a-f ]+: 80 f4 00 14 setlo 0x14,gr0
 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0
diff --git a/ld/testsuite/ld-frv/fdpic-shared-5.d b/ld/testsuite/ld-frv/fdpic-shared-5.d
index 6ec516a14d..54d3a076f4 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-5.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-5.d
@@ -49,16 +49,16 @@ Disassembly of section \.dat[0-9a-f ]+:
 Disassembly of section \.got:
 
 [0-9a-f ]+<.got>:
-[0-9a-f ]+: 00 00 04 7c .*
+[0-9a-f ]+: 00 00 03 f8 .*
 [0-9a-f ]+: R_FRV_FUNCDESC_VALUE UF9
 [0-9a-f ]+: 00 00 00 00 .*
-[0-9a-f ]+: 00 00 04 64 .*
+[0-9a-f ]+: 00 00 03 e0 .*
 [0-9a-f ]+: R_FRV_FUNCDESC_VALUE UF8
 [0-9a-f ]+: 00 00 00 00 .*
-[0-9a-f ]+: 00 00 04 74 .*
+[0-9a-f ]+: 00 00 03 f0 .*
 [0-9a-f ]+: R_FRV_FUNCDESC_VALUE UF0
 [0-9a-f ]+: 00 00 00 00 .*
-[0-9a-f ]+: 00 00 04 6c .*
+[0-9a-f ]+: 00 00 03 e8 .*
 [0-9a-f ]+: R_FRV_FUNCDESC_VALUE UF7
 [0-9a-f ]+: 00 00 00 00 .*
 
diff --git a/ld/testsuite/ld-frv/fdpic-shared-7.d b/ld/testsuite/ld-frv/fdpic-shared-7.d
index 071dd8f2e3..6de964adb4 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-7.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-7.d
@@ -23,9 +23,9 @@ Disassembly of section \.text:
 [0-9a-f ]+: 80 fc ff f8 setlos 0xf*fffffff8,gr0
 [0-9a-f ]+: 80 f4 ff f8 setlo 0xfff8,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
-[0-9a-f ]+: 80 40 ff f0 addi gr15,-16,gr0
-[0-9a-f ]+: 80 fc ff f0 setlos 0xf+ff0,gr0
-[0-9a-f ]+: 80 f4 ff f0 setlo 0xfff0,gr0
+[0-9a-f ]+: 80 40 ff (f0|f4) addi gr15,.*,gr0
+[0-9a-f ]+: 80 fc ff (f0|f4) setlos .*,gr0
+[0-9a-f ]+: 80 f4 ff (f0|f4) setlo .*,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
 [0-9a-f ]+: 80 f4 00 14 setlo 0x14,gr0
 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0
diff --git a/ld/testsuite/ld-frv/fdpic-shared-8.d b/ld/testsuite/ld-frv/fdpic-shared-8.d
index 30a9cfb296..5938145013 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-8.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-8.d
@@ -23,9 +23,9 @@ Disassembly of section \.text:
 [0-9a-f ]+: 80 fc ff f0 setlos 0xf+ff0,gr0
 [0-9a-f ]+: 80 f4 ff c8 setlo 0xffc8,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
-[0-9a-f ]+: 80 40 ff c0 addi gr15,-64,gr0
-[0-9a-f ]+: 80 fc ff c0 setlos 0xf+fc0,gr0
-[0-9a-f ]+: 80 f4 ff c0 setlo 0xffc0,gr0
+[0-9a-f ]+: 80 40 ff c4 addi gr15,-60,gr0
+[0-9a-f ]+: 80 fc ff c4 setlos 0xf+fc4,gr0
+[0-9a-f ]+: 80 f4 ff c4 setlo 0xffc4,gr0
 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0
 [0-9a-f ]+: 80 f4 00 20 setlo 0x20,gr0
 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0
diff --git a/ld/testsuite/ld-frv/tls-dynamic-2.d b/ld/testsuite/ld-frv/tls-dynamic-2.d
index be7e6c89ba..73fa938264 100644
--- a/ld/testsuite/ld-frv/tls-dynamic-2.d
+++ b/ld/testsuite/ld-frv/tls-dynamic-2.d
@@ -156,32 +156,32 @@ Disassembly of section \.text:
 Disassembly of section \.got:
 
 [0-9a-f ]+<.*>:
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: 00 00 08 21 .*
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: 00 00 f8 21 .*
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: 00 00 00 01 .*
 [0-9a-f ]+: 00 00 00 00 .*
 [0-9a-f ]+: R_FRV_TLSDESC_VALUE x
 [0-9a-f ]+: 00 00 00 01 .*
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: ff ff f8 11 .*
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: 00 00 10 01 .*
 [0-9a-f ]+: 00 00 00 00 .*
 [0-9a-f ]+: R_FRV_TLSDESC_VALUE x
 [0-9a-f ]+: 00 00 10 01 .*
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: 00 00 08 11 .*
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: 00 01 00 01 .*
 [0-9a-f ]+: 00 00 00 00 .*
 [0-9a-f ]+: R_FRV_TLSDESC_VALUE x
 [0-9a-f ]+: 00 01 00 01 .*
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: 00 00 f8 11 .*
-[0-9a-f ]+: 00 01 02 c0 .*
+[0-9a-f ]+: 00 01 02 38 .*
 [0-9a-f ]+: ff ff f8 21 .*
 
 [0-9a-f ]+<_GLOBAL_OFFSET_TABLE_>:
diff --git a/ld/testsuite/ld-i386/ibt-plt-1.d b/ld/testsuite/ld-i386/ibt-plt-1.d
index e164095e44..2a8e0438a1 100644
--- a/ld/testsuite/ld-i386/ibt-plt-1.d
+++ b/ld/testsuite/ld-i386/ibt-plt-1.d
@@ -7,45 +7,45 @@
 
 Disassembly of section .plt:
 
-0+1b0 <.plt>:
+0+160 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1e0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1f0 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+200 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   21e <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ce <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 36 11 00 00     add    \$0x1136,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1f0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1e0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   1a0 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   190 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+21e <__x86.get_pc_thunk.bx>:
+0+1ce <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-2a.d b/ld/testsuite/ld-i386/ibt-plt-2a.d
index 6b84a3a1d4..03c8e127a9 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2a.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2a.d
@@ -8,45 +8,45 @@
 
 Disassembly of section .plt:
 
-0+1b0 <.plt>:
+0+160 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1e0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1f0 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+200 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   21e <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ce <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 36 11 00 00     add    \$0x1136,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1f0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1e0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   1a0 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   190 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+21e <__x86.get_pc_thunk.bx>:
+0+1ce <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-2b.d b/ld/testsuite/ld-i386/ibt-plt-2b.d
index 2927290b35..d7b4e1e74c 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2b.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2b.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
-  DW_CFA_advance_loc: 1 to 00000201
+0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
+  DW_CFA_advance_loc: 1 to 000001b1
   DW_CFA_def_cfa_offset: 8
   DW_CFA_offset: r3 \(ebx\) at cfa-8
-  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_advance_loc: 14 to 000001bf
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_advance_loc: 13 to 000001cc
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_advance_loc: 1 to 000001cd
   DW_CFA_restore: r3 \(ebx\)
   DW_CFA_def_cfa_offset: 4
 
-0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/ibt-plt-2c.d b/ld/testsuite/ld-i386/ibt-plt-2c.d
index f3d9fafd70..d71f34d27c 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2c.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2c.d
@@ -8,45 +8,45 @@
 
 Disassembly of section .plt:
 
-0+1b0 <.plt>:
+0+160 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    1b0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1e0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1f0 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+200 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   21e <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ce <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 36 11 00 00     add    \$0x1136,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1f0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1e0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   1a0 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   190 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+21e <__x86.get_pc_thunk.bx>:
+0+1ce <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-2d.d b/ld/testsuite/ld-i386/ibt-plt-2d.d
index efd0cd8644..ec1a95ca4c 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2d.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2d.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
-  DW_CFA_advance_loc: 1 to 00000201
+0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
+  DW_CFA_advance_loc: 1 to 000001b1
   DW_CFA_def_cfa_offset: 8
   DW_CFA_offset: r3 \(ebx\) at cfa-8
-  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_advance_loc: 14 to 000001bf
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_advance_loc: 13 to 000001cc
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_advance_loc: 1 to 000001cd
   DW_CFA_restore: r3 \(ebx\)
   DW_CFA_def_cfa_offset: 4
 
-0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/ibt-plt-3a.d b/ld/testsuite/ld-i386/ibt-plt-3a.d
index a9c0f53a11..4bbf1a37c6 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3a.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3a.d
@@ -8,45 +8,45 @@
 
 Disassembly of section .plt:
 
-0+190 <.plt>:
+0+140 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    190 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    190 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1c0 <bar1@plt>:
+0+170 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1d0 <bar2@plt>:
+0+180 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+1e0 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   1fe <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ae <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 1a 11 00 00     add    \$0x111a,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1d0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1c0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   180 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   170 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+1fe <__x86.get_pc_thunk.bx>:
+0+1ae <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-3b.d b/ld/testsuite/ld-i386/ibt-plt-3b.d
index fa66d63860..75a2ecbb59 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3b.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3b.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000001c 0000001c FDE cie=00000000 pc=000001e0..000001fe
-  DW_CFA_advance_loc: 1 to 000001e1
+0+18 0000001c 0000001c FDE cie=00000000 pc=00000190..000001ae
+  DW_CFA_advance_loc: 1 to 00000191
   DW_CFA_def_cfa_offset: 8
   DW_CFA_offset: r3 \(ebx\) at cfa-8
-  DW_CFA_advance_loc: 14 to 000001ef
+  DW_CFA_advance_loc: 14 to 0000019f
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 13 to 000001fc
+  DW_CFA_advance_loc: 13 to 000001ac
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 1 to 000001fd
+  DW_CFA_advance_loc: 1 to 000001ad
   DW_CFA_restore: r3 \(ebx\)
   DW_CFA_def_cfa_offset: 4
 
-0+38 00000010 0000003c FDE cie=00000000 pc=000001fe..00000202
+0+38 00000010 0000003c FDE cie=00000000 pc=000001ae..000001b2
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+4c 00000020 00000050 FDE cie=00000000 pc=00000190..000001c0
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000140..00000170
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 00000196
+  DW_CFA_advance_loc: 6 to 00000146
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 000001a0
+  DW_CFA_advance_loc: 10 to 00000150
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+70 00000010 00000074 FDE cie=00000000 pc=000001c0..000001e0
+0+70 00000010 00000074 FDE cie=00000000 pc=00000170..00000190
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/ibt-plt-3c.d b/ld/testsuite/ld-i386/ibt-plt-3c.d
index a9c0f53a11..4bbf1a37c6 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3c.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3c.d
@@ -8,45 +8,45 @@
 
 Disassembly of section .plt:
 
-0+190 <.plt>:
+0+140 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%eax\)
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmp    190 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmp    140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff       jmp    190 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmp    140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1c0 <bar1@plt>:
+0+170 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
-0+1d0 <bar2@plt>:
+0+180 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fb           endbr32
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%eax,%eax,1\)
 
 Disassembly of section .text:
 
-0+1e0 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: 53                   push   %ebx
- +[a-f0-9]+: e8 18 00 00 00       call   1fe <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: e8 18 00 00 00       call   1ae <__x86.get_pc_thunk.bx>
  +[a-f0-9]+: 81 c3 1a 11 00 00     add    \$0x111a,%ebx
  +[a-f0-9]+: 83 ec 08             sub    \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff       call   1d0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff       call   1c0 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff       call   180 <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff       call   170 <bar1@plt>
  +[a-f0-9]+: 83 c4 08             add    \$0x8,%esp
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: c3                   ret    
 
-0+1fe <__x86.get_pc_thunk.bx>:
+0+1ae <__x86.get_pc_thunk.bx>:
  +[a-f0-9]+: 8b 1c 24             mov    \(%esp\),%ebx
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-3d.d b/ld/testsuite/ld-i386/ibt-plt-3d.d
index 231798c02b..35742ca2d9 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3d.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3d.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
-  DW_CFA_advance_loc: 1 to 00000201
+0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
+  DW_CFA_advance_loc: 1 to 000001b1
   DW_CFA_def_cfa_offset: 8
   DW_CFA_offset: r3 \(ebx\) at cfa-8
-  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_advance_loc: 14 to 000001bf
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_advance_loc: 13 to 000001cc
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_advance_loc: 1 to 000001cd
   DW_CFA_restore: r3 \(ebx\)
   DW_CFA_def_cfa_offset: 4
 
-0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/plt2.dd b/ld/testsuite/ld-i386/plt2.dd
index 9f8e11d354..f1a49e5750 100644
--- a/ld/testsuite/ld-i386/plt2.dd
+++ b/ld/testsuite/ld-i386/plt2.dd
@@ -9,26 +9,26 @@
 
 Disassembly of section .plt:
 
-0+80481c0 <.plt>:
- +[a-f0-9]+: ff 35 a0 92 04 08     pushl  0x80492a0
- +[a-f0-9]+: ff 25 a4 92 04 08     jmp    \*0x80492a4
+0+8048160 <.plt>:
+ +[a-f0-9]+: ff 35 40 92 04 08     pushl  0x8049240
+ +[a-f0-9]+: ff 25 44 92 04 08     jmp    \*0x8049244
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+80481d0 <fn1@plt>:
- +[a-f0-9]+: ff 25 a8 92 04 08     jmp    \*0x80492a8
+0+8048170 <fn1@plt>:
+ +[a-f0-9]+: ff 25 48 92 04 08     jmp    \*0x8049248
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmp    80481c0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmp    8048160 <.plt>
 
-0+80481e0 <fn2@plt>:
- +[a-f0-9]+: ff 25 ac 92 04 08     jmp    \*0x80492ac
+0+8048180 <fn2@plt>:
+ +[a-f0-9]+: ff 25 4c 92 04 08     jmp    \*0x804924c
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 d0 ff ff ff       jmp    80481c0 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmp    8048160 <.plt>
 
 Disassembly of section .text:
 
-0+80481f0 <_start>:
- +[a-f0-9]+: e8 db ff ff ff       call   80481d0 <fn1@plt>
- +[a-f0-9]+: e8 e6 ff ff ff       call   80481e0 <fn2@plt>
- +[a-f0-9]+: 81 7c 24 04 d0 81 04 08 cmpl   \$0x80481d0,0x4\(%esp\)
+0+8048190 <_start>:
+ +[a-f0-9]+: e8 db ff ff ff       call   8048170 <fn1@plt>
+ +[a-f0-9]+: e8 e6 ff ff ff       call   8048180 <fn2@plt>
+ +[a-f0-9]+: 81 7c 24 04 70 81 04 08 cmpl   \$0x8048170,0x4\(%esp\)
 #pass
diff --git a/ld/testsuite/ld-i386/pr20830.d b/ld/testsuite/ld-i386/pr20830.d
index a16ea67c49..55322070d6 100644
--- a/ld/testsuite/ld-i386/pr20830.d
+++ b/ld/testsuite/ld-i386/pr20830.d
@@ -20,19 +20,19 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000010 0000001c FDE cie=00000000 pc=00000188..00000193
+0+18 00000010 0000001c FDE cie=00000000 pc=00000128..00000133
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+2c 00000020 00000030 FDE cie=00000000 pc=00000170..00000180
+0+2c 00000020 00000030 FDE cie=00000000 pc=00000110..00000120
   DW_CFA_def_cfa_offset: 8
-  DW_CFA_advance_loc: 6 to 00000176
+  DW_CFA_advance_loc: 6 to 00000116
   DW_CFA_def_cfa_offset: 12
-  DW_CFA_advance_loc: 10 to 00000180
+  DW_CFA_advance_loc: 10 to 00000120
   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
 
-0+50 00000010 00000054 FDE cie=00000000 pc=00000180..00000188
+0+50 00000010 00000054 FDE cie=00000000 pc=00000120..00000128
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -40,7 +40,7 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+170 <.plt>:
+0+110 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
@@ -48,13 +48,13 @@ Disassembly of section .plt:
 
 Disassembly of section .plt.got:
 
-0+180 <func@plt>:
+0+120 <func@plt>:
  +[a-f0-9]+: ff a3 fc ff ff ff     jmp    \*-0x4\(%ebx\)
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+188 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       call   180 <func@plt>
+0+128 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       call   120 <func@plt>
  +[a-f0-9]+: 8b 83 fc ff ff ff     mov    -0x4\(%ebx\),%eax
 #pass
diff --git a/ld/testsuite/ld-i386/tlsbin-nacl.rd b/ld/testsuite/ld-i386/tlsbin-nacl.rd
index 7bb8b0ad61..38642ce7ac 100644
--- a/ld/testsuite/ld-i386/tlsbin-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbin-nacl.rd
@@ -78,11 +78,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbin.rd b/ld/testsuite/ld-i386/tlsbin.rd
index d3bae569e1..ee272f631e 100644
--- a/ld/testsuite/ld-i386/tlsbin.rd
+++ b/ld/testsuite/ld-i386/tlsbin.rd
@@ -76,11 +76,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbin2-nacl.rd b/ld/testsuite/ld-i386/tlsbin2-nacl.rd
index 0011716b2b..da69c27cf7 100644
--- a/ld/testsuite/ld-i386/tlsbin2-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbin2-nacl.rd
@@ -73,11 +73,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbin2.rd b/ld/testsuite/ld-i386/tlsbin2.rd
index e34d167d44..5abf9ea665 100644
--- a/ld/testsuite/ld-i386/tlsbin2.rd
+++ b/ld/testsuite/ld-i386/tlsbin2.rd
@@ -71,11 +71,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbindesc-nacl.rd b/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
index 39c60a5e66..f86ad798d6 100644
--- a/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
@@ -60,9 +60,9 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
 0*100310ec +00000425 R_386_TLS_TPOFF32 0+ +sG2
 0*100310f0 +00000525 R_386_TLS_TPOFF32 0+ +sG4
 0*100310f4 +0000050e R_386_TLS_TPOFF +0+ +sG4
-0*100310f8 +00000725 R_386_TLS_TPOFF32 0+ +sG6
-0*100310fc +00000825 R_386_TLS_TPOFF32 0+ +sG1
-0*10031100 +00000b0e R_386_TLS_TPOFF +0+ +sG8
+0*100310f8 +00000625 R_386_TLS_TPOFF32 0+ +sG6
+0*100310fc +00000725 R_386_TLS_TPOFF32 0+ +sG1
+0*10031100 +0000080e R_386_TLS_TPOFF +0+ +sG8
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx Name
@@ -72,11 +72,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
 
 Symbol table '\.symtab' contains [0-9]+ entries:
diff --git a/ld/testsuite/ld-i386/tlsbindesc.rd b/ld/testsuite/ld-i386/tlsbindesc.rd
index 7cc85f1c2a..cd3c06e202 100644
--- a/ld/testsuite/ld-i386/tlsbindesc.rd
+++ b/ld/testsuite/ld-i386/tlsbindesc.rd
@@ -58,9 +58,9 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
 0+804a0ec +00000425 R_386_TLS_TPOFF32 0+ +sG2
 0+804a0f0 +00000525 R_386_TLS_TPOFF32 0+ +sG4
 0+804a0f4 +0000050e R_386_TLS_TPOFF +0+ +sG4
-0+804a0f8 +00000725 R_386_TLS_TPOFF32 0+ +sG6
-0+804a0fc +00000825 R_386_TLS_TPOFF32 0+ +sG1
-0+804a100 +00000b0e R_386_TLS_TPOFF +0+ +sG8
+0+804a0f8 +00000625 R_386_TLS_TPOFF32 0+ +sG6
+0+804a0fc +00000725 R_386_TLS_TPOFF32 0+ +sG1
+0+804a100 +0000080e R_386_TLS_TPOFF +0+ +sG8
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx Name
@@ -70,11 +70,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8
 
 Symbol table '\.symtab' contains [0-9]+ entries:
diff --git a/ld/testsuite/ld-i386/tlsdesc-nacl.rd b/ld/testsuite/ld-i386/tlsdesc-nacl.rd
index 20c8ea2066..62376918a3 100644
--- a/ld/testsuite/ld-i386/tlsdesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsdesc-nacl.rd
@@ -87,12 +87,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -143,9 +140,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
diff --git a/ld/testsuite/ld-i386/tlsdesc.rd b/ld/testsuite/ld-i386/tlsdesc.rd
index 3486847f90..d47d2e94f2 100644
--- a/ld/testsuite/ld-i386/tlsdesc.rd
+++ b/ld/testsuite/ld-i386/tlsdesc.rd
@@ -85,12 +85,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -141,9 +138,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
diff --git a/ld/testsuite/ld-i386/tlsgdesc-nacl.rd b/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
index 407bf2c8b5..9107fd49e9 100644
--- a/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
@@ -67,12 +67,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -94,10 +91,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlsgdesc.rd b/ld/testsuite/ld-i386/tlsgdesc.rd
index 269cede6c5..ef131ef857 100644
--- a/ld/testsuite/ld-i386/tlsgdesc.rd
+++ b/ld/testsuite/ld-i386/tlsgdesc.rd
@@ -65,12 +65,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -92,10 +89,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlsnopic-nacl.rd b/ld/testsuite/ld-i386/tlsnopic-nacl.rd
index 15e7eeabf6..e981c86d0f 100644
--- a/ld/testsuite/ld-i386/tlsnopic-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsnopic-nacl.rd
@@ -16,9 +16,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynstr +.*
  +\[[ 0-9]+\] \.rel.dyn +.*
  +\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000024 00 WAT +0 +0 +1
- +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010284 .*
- +\[[ 0-9]+\] \.got +PROGBITS +0*10010304 .*
- +\[[ 0-9]+\] \.got.plt +PROGBITS +0*1001031c .*
+ +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010230 .*
+ +\[[ 0-9]+\] \.got +PROGBITS +0*100102b0 .*
+ +\[[ 0-9]+\] \.got.plt +PROGBITS +0*100102c8 .*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
  +\[[ 0-9]+\] \.shstrtab +.*
@@ -77,10 +77,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +1 fn3
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -105,14 +102,11 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[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*100102c8 +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
  +[0-9]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +1 fn3
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
diff --git a/ld/testsuite/ld-i386/tlsnopic.dd b/ld/testsuite/ld-i386/tlsnopic.dd
index 10d24a4797..fb86490158 100644
--- a/ld/testsuite/ld-i386/tlsnopic.dd
+++ b/ld/testsuite/ld-i386/tlsnopic.dd
@@ -16,14 +16,14 @@ Disassembly of section .text:
  +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov    %gs:0x0,%eax
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
- +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+c,%eax
+ +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+(c|8),%eax
 # ->R_386_TLS_TPOFF sg1
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
 #  @indntpoff direct %gs access IE against global var
- +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+0,%edx
+ +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+(0|c),%edx
 # ->R_386_TLS_TPOFF sg2
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
@@ -36,14 +36,14 @@ Disassembly of section .text:
  +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov    %gs:0x0,%eax
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
- +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+4,%eax
+ +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+(4|0),%eax
 # ->R_386_TLS_TPOFF [0x14000000]
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
 #  @indntpoff direct %gs access IE against hidden var
- +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+8,%edx
+ +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+(8|4),%edx
 # ->R_386_TLS_TPOFF [0x18000000]
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
@@ -56,14 +56,14 @@ Disassembly of section .text:
  +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov    %gs:0x0,%eax
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
- +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+4,%eax
+ +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add    0x[0-9a-f]+(4|0),%eax
 # ->R_386_TLS_TPOFF [0x00000000]
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
 #  @indntpoff direct %gs access IE against local var
- +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+8,%edx
+ +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov    0x[0-9a-f]+(8|4),%edx
 # ->R_386_TLS_TPOFF [0x04000000]
  +[0-9a-f]+: 90[ ]+nop *
  +[0-9a-f]+: 90[ ]+nop *
diff --git a/ld/testsuite/ld-i386/tlsnopic.rd b/ld/testsuite/ld-i386/tlsnopic.rd
index b60fb1d18f..4856c64f70 100644
--- a/ld/testsuite/ld-i386/tlsnopic.rd
+++ b/ld/testsuite/ld-i386/tlsnopic.rd
@@ -75,10 +75,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +5 fn3
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -110,7 +107,4 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +5 fn3
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
diff --git a/ld/testsuite/ld-i386/tlsnopic.sd b/ld/testsuite/ld-i386/tlsnopic.sd
index 786aac6263..72420ad4f3 100644
--- a/ld/testsuite/ld-i386/tlsnopic.sd
+++ b/ld/testsuite/ld-i386/tlsnopic.sd
@@ -8,5 +8,5 @@
 .*:     file format elf32-i386.*
 
 Contents of section \.got:
- [0-9a-f]+4 00000000 04000000 00000000 00000000  .*
- [0-9a-f]+4 14000000 18000000  +.*
+ [0-9a-f]+(4|0) 00000000 04000000 00000000 00000000  .*
+ [0-9a-f]+(4|0) 14000000 18000000  +.*
diff --git a/ld/testsuite/ld-i386/tlspic-nacl.rd b/ld/testsuite/ld-i386/tlspic-nacl.rd
index 0ce64ce412..38aaf6ad7e 100644
--- a/ld/testsuite/ld-i386/tlspic-nacl.rd
+++ b/ld/testsuite/ld-i386/tlspic-nacl.rd
@@ -90,12 +90,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -147,10 +144,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlspic.rd b/ld/testsuite/ld-i386/tlspic.rd
index 4a06ba6d8a..ae920583a4 100644
--- a/ld/testsuite/ld-i386/tlspic.rd
+++ b/ld/testsuite/ld-i386/tlspic.rd
@@ -88,12 +88,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -145,10 +142,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlspic2-nacl.rd b/ld/testsuite/ld-i386/tlspic2-nacl.rd
index 5fb6ba689c..c5e8a0ed08 100644
--- a/ld/testsuite/ld-i386/tlspic2-nacl.rd
+++ b/ld/testsuite/ld-i386/tlspic2-nacl.rd
@@ -85,12 +85,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -140,10 +137,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-i386/tlspic2.rd b/ld/testsuite/ld-i386/tlspic2.rd
index ab000632e2..59f1cdd187 100644
--- a/ld/testsuite/ld-i386/tlspic2.rd
+++ b/ld/testsuite/ld-i386/tlspic2.rd
@@ -83,12 +83,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -138,10 +135,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr
diff --git a/ld/testsuite/ld-ia64/merge1.d b/ld/testsuite/ld-ia64/merge1.d
index 0cc8bd1b29..a1115a23a4 100644
--- a/ld/testsuite/ld-ia64/merge1.d
+++ b/ld/testsuite/ld-ia64/merge1.d
@@ -4,7 +4,7 @@
 #objdump: -d
 
 #...
-0+1e0 <.text>:
+0+160 <.text>:
 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\]       addl r12=32,r1;;
 [ ]*[a-f0-9]+: c0 c0 04 00 48 00            addl r12=24,r1
 [ ]*[a-f0-9]+: 00 00 04 00                  nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge2.d b/ld/testsuite/ld-ia64/merge2.d
index 4f05e370d6..639d7bd636 100644
--- a/ld/testsuite/ld-ia64/merge2.d
+++ b/ld/testsuite/ld-ia64/merge2.d
@@ -4,7 +4,7 @@
 #objdump: -d
 
 #...
-0+1e0 <.text>:
+0+160 <.text>:
 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\]       addl r12=32,r1;;
 [ ]*[a-f0-9]+: c0 c0 04 00 48 00            addl r12=24,r1
 [ ]*[a-f0-9]+: 00 00 04 00                  nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge3.d b/ld/testsuite/ld-ia64/merge3.d
index 985142dcba..6e4c4f71e1 100644
--- a/ld/testsuite/ld-ia64/merge3.d
+++ b/ld/testsuite/ld-ia64/merge3.d
@@ -4,7 +4,7 @@
 #objdump: -d
 
 #...
-0+210 <.text>:
+0+190 <.text>:
 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\]       addl r12=32,r1;;
 [ ]*[a-f0-9]+: c0 40 05 00 48 00            addl r12=40,r1
 [ ]*[a-f0-9]+: 00 00 04 00                  nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge4.d b/ld/testsuite/ld-ia64/merge4.d
index ba34c8cc37..608c123d2a 100644
--- a/ld/testsuite/ld-ia64/merge4.d
+++ b/ld/testsuite/ld-ia64/merge4.d
@@ -4,7 +4,7 @@
 #objdump: -d
 
 #...
-0+240 <.text>:
+0+1c0 <.text>:
 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\]       addl r12=32,r1;;
 [ ]*[a-f0-9]+: c0 40 05 00 48 00            addl r12=40,r1
 [ ]*[a-f0-9]+: 00 00 04 00                  nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge5.d b/ld/testsuite/ld-ia64/merge5.d
index d59fabc674..594b188b92 100644
--- a/ld/testsuite/ld-ia64/merge5.d
+++ b/ld/testsuite/ld-ia64/merge5.d
@@ -4,7 +4,7 @@
 #objdump: -d
 
 #...
-0+270 <.text>:
+0+1f0 <.text>:
 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\]       addl r12=32,r1;;
 [ ]*[a-f0-9]+: c0 40 05 00 48 00            addl r12=40,r1
 [ ]*[a-f0-9]+: 00 00 04 00                  nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/tlsbin.rd b/ld/testsuite/ld-ia64/tlsbin.rd
index e53367dda7..6ca12678ce 100644
--- a/ld/testsuite/ld-ia64/tlsbin.rd
+++ b/ld/testsuite/ld-ia64/tlsbin.rd
@@ -61,10 +61,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +LOCAL +DEFAULT +UND *
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +15 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +15 _edata
-.* NOTYPE +GLOBAL +DEFAULT +15 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-ia64/tlspic.rd b/ld/testsuite/ld-ia64/tlspic.rd
index 352685eb0f..e1b3aff352 100644
--- a/ld/testsuite/ld-ia64/tlspic.rd
+++ b/ld/testsuite/ld-ia64/tlspic.rd
@@ -66,12 +66,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +10 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +14 __bss_start
 .* TLS +GLOBAL +DEFAULT +10 sg2
 .* TLS +GLOBAL +DEFAULT +10 sg6
 .* TLS +GLOBAL +DEFAULT +10 sg7
-.* NOTYPE +GLOBAL +DEFAULT +14 _edata
-.* NOTYPE +GLOBAL +DEFAULT +14 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
@@ -125,9 +122,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +10 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +14 __bss_start
 .* TLS +GLOBAL +DEFAULT +10 sg2
 .* TLS +GLOBAL +DEFAULT +10 sg6
 .* TLS +GLOBAL +DEFAULT +10 sg7
-.* NOTYPE +GLOBAL +DEFAULT +14 _edata
-.* NOTYPE +GLOBAL +DEFAULT +14 _end
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d b/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
index 7157d5fc5a..028093b1c3 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
@@ -10,27 +10,27 @@
 
 Disassembly of section .plt:
 
-0+150 <.plt>:
+0+f0 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+160 <\*ABS\*@plt>:
+0+100 <\*ABS\*@plt>:
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmp    150 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmp    f0 <.plt>
 
 Disassembly of section .text:
 
-0+170 <foo>:
+0+110 <foo>:
  +[a-f0-9]+: c3                   ret    
 
-0+171 <bar>:
- +[a-f0-9]+: e8 00 00 00 00       call   176 <bar\+0x5>
+0+111 <bar>:
+ +[a-f0-9]+: e8 00 00 00 00       call   116 <bar\+0x5>
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: 81 c3 9e 10 00 00     add    \$0x109e,%ebx
- +[a-f0-9]+: e8 de ff ff ff       call   160 <\*ABS\*@plt>
+ +[a-f0-9]+: e8 de ff ff ff       call   100 <\*ABS\*@plt>
  +[a-f0-9]+: 8d 83 4c ef ff ff     lea    -0x10b4\(%ebx\),%eax
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d b/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d
index d5400a2754..4899171b68 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d
@@ -10,27 +10,27 @@
 
 Disassembly of section .plt:
 
-0+140 <.plt>:
+0+e0 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+150 <\*ABS\*@plt>:
+0+f0 <\*ABS\*@plt>:
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmp    140 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmp    e0 <.plt>
 
 Disassembly of section .text:
 
-0+160 <__GI_foo>:
+0+100 <__GI_foo>:
  +[a-f0-9]+: c3                   ret    
 
-0+161 <bar>:
- +[a-f0-9]+: e8 00 00 00 00       call   166 <bar\+0x5>
+0+101 <bar>:
+ +[a-f0-9]+: e8 00 00 00 00       call   106 <bar\+0x5>
  +[a-f0-9]+: 5b                   pop    %ebx
  +[a-f0-9]+: 81 c3 9e 10 00 00     add    \$0x109e,%ebx
- +[a-f0-9]+: e8 de ff ff ff       call   150 <\*ABS\*@plt>
+ +[a-f0-9]+: e8 de ff ff ff       call   f0 <\*ABS\*@plt>
  +[a-f0-9]+: 8d 83 4c ef ff ff     lea    -0x10b4\(%ebx\),%eax
  +[a-f0-9]+: c3                   ret    
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d
index e466ef6e13..2ba25e53da 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d
@@ -10,23 +10,23 @@
 
 Disassembly of section .plt:
 
-0+1f0 <.plt>:
- +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 200338 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 44 01 20 00     jmpq   \*0x200144\(%rip\)        # 200340 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+170 <.plt>:
+ +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 2002b8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 44 01 20 00     jmpq   \*0x200144\(%rip\)        # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+200 <\*ABS\*\+0x210@plt>:
- +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 200348 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+180 <\*ABS\*\+0x190@plt>:
+ +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   1f0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   170 <.plt>
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: c3                   retq  
 
-0+211 <bar>:
- +[a-f0-9]+: e8 ea ff ff ff       callq  200 <\*ABS\*\+0x210@plt>
- +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea    -0x1d\(%rip\),%rax        # 200 <\*ABS\*\+0x210@plt>
+0+191 <bar>:
+ +[a-f0-9]+: e8 ea ff ff ff       callq  180 <\*ABS\*\+0x190@plt>
+ +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea    -0x1d\(%rip\),%rax        # 180 <\*ABS\*\+0x190@plt>
  +[a-f0-9]+: c3                   retq  
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
index a20f92d93c..75cd566166 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
@@ -5,6 +5,6 @@
 #notarget: x86_64-*-nacl*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x210@plt>
-[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x210@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x190@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x190@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d b/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d
index 261f0566b7..694ec34425 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d
@@ -10,23 +10,23 @@
 
 Disassembly of section .plt:
 
-0+1f0 <.plt>:
- +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 200338 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 44 01 20 00     jmpq   \*0x200144\(%rip\)        # 200340 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+170 <.plt>:
+ +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 2002b8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 44 01 20 00     jmpq   \*0x200144\(%rip\)        # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+200 <\*ABS\*\+0x210@plt>:
- +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 200348 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+180 <\*ABS\*\+0x190@plt>:
+ +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   1f0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   170 <.plt>
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: c3                   retq  
 
-0+211 <bar>:
- +[a-f0-9]+: e8 ea ff ff ff       callq  200 <\*ABS\*\+0x210@plt>
- +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea    -0x1d\(%rip\),%rax        # 200 <\*ABS\*\+0x210@plt>
+0+191 <bar>:
+ +[a-f0-9]+: e8 ea ff ff ff       callq  180 <\*ABS\*\+0x190@plt>
+ +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea    -0x1d\(%rip\),%rax        # 180 <\*ABS\*\+0x190@plt>
  +[a-f0-9]+: c3                   retq  
 #pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
index fb8bd8d3aa..6f6717d4a8 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
@@ -5,6 +5,6 @@
 #notarget: x86_64-*-nacl*
 
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x210@plt>
-[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x210@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x190@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x190@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/pr17154-i386-now.d b/ld/testsuite/ld-ifunc/pr17154-i386-now.d
index 10d270c659..7f8c6bb84e 100644
--- a/ld/testsuite/ld-ifunc/pr17154-i386-now.d
+++ b/ld/testsuite/ld-ifunc/pr17154-i386-now.d
@@ -10,43 +10,43 @@
 
 Disassembly of section .plt:
 
-0+1d0 <.plt>:
+0+180 <.plt>:
  +[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
  +[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
  +[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+1e0 <\*ABS\*@plt>:
+0+190 <\*ABS\*@plt>:
  +[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
  +[a-f0-9]+: 68 18 00 00 00       push   \$0x18
- +[a-f0-9]+: e9 e0 ff ff ff       jmp    1d0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmp    180 <.plt>
 
-0+1f0 <func1@plt>:
+0+1a0 <func1@plt>:
  +[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
  +[a-f0-9]+: 68 00 00 00 00       push   \$0x0
- +[a-f0-9]+: e9 d0 ff ff ff       jmp    1d0 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmp    180 <.plt>
 
-0+200 <func2@plt>:
+0+1b0 <func2@plt>:
  +[a-f0-9]+: ff a3 14 00 00 00     jmp    \*0x14\(%ebx\)
  +[a-f0-9]+: 68 08 00 00 00       push   \$0x8
- +[a-f0-9]+: e9 c0 ff ff ff       jmp    1d0 <.plt>
+ +[a-f0-9]+: e9 c0 ff ff ff       jmp    180 <.plt>
 
-0+210 <\*ABS\*@plt>:
+0+1c0 <\*ABS\*@plt>:
  +[a-f0-9]+: ff a3 18 00 00 00     jmp    \*0x18\(%ebx\)
  +[a-f0-9]+: 68 10 00 00 00       push   \$0x10
- +[a-f0-9]+: e9 b0 ff ff ff       jmp    1d0 <.plt>
+ +[a-f0-9]+: e9 b0 ff ff ff       jmp    180 <.plt>
 
 Disassembly of section .text:
 
-0+220 <resolve1>:
- +[a-f0-9]+: e8 cb ff ff ff       call   1f0 <func1@plt>
+0+1d0 <resolve1>:
+ +[a-f0-9]+: e8 cb ff ff ff       call   1a0 <func1@plt>
 
-0+225 <g1>:
- +[a-f0-9]+: e9 e6 ff ff ff       jmp    210 <\*ABS\*@plt>
+0+1d5 <g1>:
+ +[a-f0-9]+: e9 e6 ff ff ff       jmp    1c0 <\*ABS\*@plt>
 
-0+22a <resolve2>:
- +[a-f0-9]+: e8 d1 ff ff ff       call   200 <func2@plt>
+0+1da <resolve2>:
+ +[a-f0-9]+: e8 d1 ff ff ff       call   1b0 <func2@plt>
 
-0+22f <g2>:
- +[a-f0-9]+: e9 ac ff ff ff       jmp    1e0 <\*ABS\*@plt>
+0+1df <g2>:
+ +[a-f0-9]+: e9 ac ff ff ff       jmp    190 <\*ABS\*@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/pr17154-i386.d b/ld/testsuite/ld-ifunc/pr17154-i386.d
index ce3cbef71e..6d7c9a6345 100644
--- a/ld/testsuite/ld-ifunc/pr17154-i386.d
+++ b/ld/testsuite/ld-ifunc/pr17154-i386.d
@@ -6,43 +6,43 @@
 #notarget: x86_64-*-nacl* i?86-*-nacl*
 
 #...
-0+1d0 <.*>:
+0+180 <.*>:
 [ ]*[a-f0-9]+: ff b3 04 00 00 00     pushl  0x4\(%ebx\)
 [ ]*[a-f0-9]+: ff a3 08 00 00 00     jmp    \*0x8\(%ebx\)
 [ ]*[a-f0-9]+: 00 00                 add    %al,\(%eax\)
  ...
 
-0+1e0 <\*ABS\*@plt>:
+0+190 <\*ABS\*@plt>:
 [ ]*[a-f0-9]+: ff a3 0c 00 00 00     jmp    \*0xc\(%ebx\)
 [ ]*[a-f0-9]+: 68 18 00 00 00       push   \$0x18
-[ ]*[a-f0-9]+: e9 e0 ff ff ff       jmp    1d0 <.*>
+[ ]*[a-f0-9]+: e9 e0 ff ff ff       jmp    180 <.plt>
 
-0+1f0 <func1@plt>:
+0+1a0 <func1@plt>:
 [ ]*[a-f0-9]+: ff a3 10 00 00 00     jmp    \*0x10\(%ebx\)
 [ ]*[a-f0-9]+: 68 00 00 00 00       push   \$0x0
-[ ]*[a-f0-9]+: e9 d0 ff ff ff       jmp    1d0 <.*>
+[ ]*[a-f0-9]+: e9 d0 ff ff ff       jmp    180 <.plt>
 
-0+200 <func2@plt>:
+0+1b0 <func2@plt>:
 [ ]*[a-f0-9]+: ff a3 14 00 00 00     jmp    \*0x14\(%ebx\)
 [ ]*[a-f0-9]+: 68 08 00 00 00       push   \$0x8
-[ ]*[a-f0-9]+: e9 c0 ff ff ff       jmp    1d0 <.*>
+[ ]*[a-f0-9]+: e9 c0 ff ff ff       jmp    180 <.plt>
 
-0+210 <\*ABS\*@plt>:
+0+1c0 <\*ABS\*@plt>:
 [ ]*[a-f0-9]+: ff a3 18 00 00 00     jmp    \*0x18\(%ebx\)
 [ ]*[a-f0-9]+: 68 10 00 00 00       push   \$0x10
-[ ]*[a-f0-9]+: e9 b0 ff ff ff       jmp    1d0 <.*>
+[ ]*[a-f0-9]+: e9 b0 ff ff ff       jmp    180 <.plt>
 
 Disassembly of section .text:
 
-0+220 <resolve1>:
-[ ]*[a-f0-9]+: e8 cb ff ff ff       call   1f0 <func1@plt>
+0+1d0 <resolve1>:
+[ ]*[a-f0-9]+: e8 cb ff ff ff       call   1a0 <func1@plt>
 
-0+225 <g1>:
-[ ]*[a-f0-9]+: e9 e6 ff ff ff       jmp    210 <\*ABS\*@plt>
+0+1d5 <g1>:
+[ ]*[a-f0-9]+: e9 e6 ff ff ff       jmp    1c0 <\*ABS\*@plt>
 
-0+22a <resolve2>:
-[ ]*[a-f0-9]+: e8 d1 ff ff ff       call   200 <func2@plt>
+0+1da <resolve2>:
+[ ]*[a-f0-9]+: e8 d1 ff ff ff       call   1b0 <func2@plt>
 
-0+22f <g2>:
-[ ]*[a-f0-9]+: e9 ac ff ff ff       jmp    1e0 <\*ABS\*@plt>
+0+1df <g2>:
+[ ]*[a-f0-9]+: e9 ac ff ff ff       jmp    190 <\*ABS\*@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d b/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
index 7e72d147e5..2a8977128a 100644
--- a/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
+++ b/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
@@ -11,42 +11,42 @@
 
 Disassembly of section .plt:
 
-0+2b0 <.plt>:
- +[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 200430 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 7c 01 20 00     jmpq   \*0x20017c\(%rip\)        # 200438 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+240 <.plt>:
+ +[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 7c 01 20 00     jmpq   \*0x20017c\(%rip\)        # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+2c0 <\*ABS\*\+0x30a@plt>:
- +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 200440 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+250 <\*ABS\*\+0x29a@plt>:
+ +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 2003d0 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   2b0 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   240 <.plt>
 
-0+2d0 <func1@plt>:
- +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 200448 <func1>
+0+260 <func1@plt>:
+ +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 2003d8 <func1>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 d0 ff ff ff       jmpq   2b0 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   240 <.plt>
 
-0+2e0 <func2@plt>:
- +[a-f0-9]+: ff 25 6a 01 20 00     jmpq   \*0x20016a\(%rip\)        # 200450 <func2>
+0+270 <func2@plt>:
+ +[a-f0-9]+: ff 25 6a 01 20 00     jmpq   \*0x20016a\(%rip\)        # 2003e0 <func2>
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 c0 ff ff ff       jmpq   2b0 <.plt>
+ +[a-f0-9]+: e9 c0 ff ff ff       jmpq   240 <.plt>
 
-0+2f0 <\*ABS\*\+0x300@plt>:
- +[a-f0-9]+: ff 25 62 01 20 00     jmpq   \*0x200162\(%rip\)        # 200458 <_GLOBAL_OFFSET_TABLE_\+0x30>
+0+280 <\*ABS\*\+0x290@plt>:
+ +[a-f0-9]+: ff 25 62 01 20 00     jmpq   \*0x200162\(%rip\)        # 2003e8 <_GLOBAL_OFFSET_TABLE_\+0x30>
  +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
- +[a-f0-9]+: e9 b0 ff ff ff       jmpq   2b0 <.plt>
+ +[a-f0-9]+: e9 b0 ff ff ff       jmpq   240 <.plt>
 
 Disassembly of section .text:
 
-0+300 <resolve1>:
- +[a-f0-9]+: e8 cb ff ff ff       callq  2d0 <func1@plt>
+0+290 <resolve1>:
+ +[a-f0-9]+: e8 cb ff ff ff       callq  260 <func1@plt>
 
-0+305 <g1>:
- +[a-f0-9]+: e9 e6 ff ff ff       jmpq   2f0 <\*ABS\*\+0x300@plt>
+0+295 <g1>:
+ +[a-f0-9]+: e9 e6 ff ff ff       jmpq   280 <\*ABS\*\+0x290@plt>
 
-0+30a <resolve2>:
- +[a-f0-9]+: e8 d1 ff ff ff       callq  2e0 <func2@plt>
+0+29a <resolve2>:
+ +[a-f0-9]+: e8 d1 ff ff ff       callq  270 <func2@plt>
 
-0+30f <g2>:
- +[a-f0-9]+: e9 ac ff ff ff       jmpq   2c0 <\*ABS\*\+0x30a@plt>
+0+29f <g2>:
+ +[a-f0-9]+: e9 ac ff ff ff       jmpq   250 <\*ABS\*\+0x29a@plt>
 #pass
diff --git a/ld/testsuite/ld-ifunc/pr17154-x86-64.d b/ld/testsuite/ld-ifunc/pr17154-x86-64.d
index cab2fb4285..6069b6aa8a 100644
--- a/ld/testsuite/ld-ifunc/pr17154-x86-64.d
+++ b/ld/testsuite/ld-ifunc/pr17154-x86-64.d
@@ -6,42 +6,42 @@
 #notarget: x86_64-*-nacl*
 
 #...
-0+2b0 <.*>:
-[ ]*[a-f0-9]+: ff 35 5a 01 20 00     pushq  0x20015a\(%rip\)        # 200410 <.*>
-[ ]*[a-f0-9]+: ff 25 5c 01 20 00     jmpq   \*0x20015c\(%rip\)        # 200418 <.*>
-[ ]*[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
-
-0+2c0 <\*ABS\*\+0x30a@plt>:
-[ ]*[a-f0-9]+: ff 25 5a 01 20 00     jmpq   \*0x20015a\(%rip\)        # 200420 <.*>
-[ ]*[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
-[ ]*[a-f0-9]+: e9 e0 ff ff ff       jmpq   2b0 <.*>
-
-0+2d0 <func1@plt>:
-[ ]*[a-f0-9]+: ff 25 52 01 20 00     jmpq   \*0x200152\(%rip\)        # 200428 <.*>
-[ ]*[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
-[ ]*[a-f0-9]+: e9 d0 ff ff ff       jmpq   2b0 <.*>
-
-0+2e0 <func2@plt>:
-[ ]*[a-f0-9]+: ff 25 4a 01 20 00     jmpq   \*0x20014a\(%rip\)        # 200430 <.*>
-[ ]*[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
-[ ]*[a-f0-9]+: e9 c0 ff ff ff       jmpq   2b0 <.*>
-
-0+2f0 <\*ABS\*\+0x300@plt>:
-[ ]*[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 200438 <.*>
-[ ]*[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
-[ ]*[a-f0-9]+: e9 b0 ff ff ff       jmpq   2b0 <.*>
+0+240 <.*>:
+ +[a-f0-9]+: ff 35 5a 01 20 00     pushq  0x20015a\(%rip\)        # 2003a0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 5c 01 20 00     jmpq   \*0x20015c\(%rip\)        # 2003a8 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
+
+0+250 <\*ABS\*\+0x29a@plt>:
+ +[a-f0-9]+: ff 25 5a 01 20 00     jmpq   \*0x20015a\(%rip\)        # 2003b0 <_GLOBAL_OFFSET_TABLE_\+0x18>
+ +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   240 <.plt>
+
+0+260 <func1@plt>:
+ +[a-f0-9]+: ff 25 52 01 20 00     jmpq   \*0x200152\(%rip\)        # 2003b8 <func1>
+ +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   240 <.plt>
+
+0+270 <func2@plt>:
+ +[a-f0-9]+: ff 25 4a 01 20 00     jmpq   \*0x20014a\(%rip\)        # 2003c0 <func2>
+ +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
+ +[a-f0-9]+: e9 c0 ff ff ff       jmpq   240 <.plt>
+
+0+280 <\*ABS\*\+0x290@plt>:
+ +[a-f0-9]+: ff 25 42 01 20 00     jmpq   \*0x200142\(%rip\)        # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x30>
+ +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
+ +[a-f0-9]+: e9 b0 ff ff ff       jmpq   240 <.plt>
 
 Disassembly of section .text:
 
-0+300 <resolve1>:
-[ ]*[a-f0-9]+: e8 cb ff ff ff       callq  2d0 <func1@plt>
+0+290 <resolve1>:
+ +[a-f0-9]+: e8 cb ff ff ff       callq  260 <func1@plt>
 
-0+305 <g1>:
-[ ]*[a-f0-9]+: e9 e6 ff ff ff       jmpq   2f0 <\*ABS\*\+0x300@plt>
+0+295 <g1>:
+ +[a-f0-9]+: e9 e6 ff ff ff       jmpq   280 <\*ABS\*\+0x290@plt>
 
-0+30a <resolve2>:
-[ ]*[a-f0-9]+: e8 d1 ff ff ff       callq  2e0 <func2@plt>
+0+29a <resolve2>:
+ +[a-f0-9]+: e8 d1 ff ff ff       callq  270 <func2@plt>
 
-0+30f <g2>:
-[ ]*[a-f0-9]+: e9 ac ff ff ff       jmpq   2c0 <\*ABS\*\+0x30a@plt>
+0+29f <g2>:
+ +[a-f0-9]+: e9 ac ff ff ff       jmpq   250 <\*ABS\*\+0x29a@plt>
 #pass
diff --git a/ld/testsuite/ld-m68k/tls-def-1.d b/ld/testsuite/ld-m68k/tls-def-1.d
index 59b4397a4d..baa937b4ad 100644
--- a/ld/testsuite/ld-m68k/tls-def-1.d
+++ b/ld/testsuite/ld-m68k/tls-def-1.d
@@ -1,4 +1 @@
 00000000 B x
-.*
-.*
-.*
diff --git a/ld/testsuite/ld-m68k/tls-gd-1.d2 b/ld/testsuite/ld-m68k/tls-gd-1.d2
index b6167e31f6..1e0a6dccbd 100644
--- a/ld/testsuite/ld-m68k/tls-gd-1.d2
+++ b/ld/testsuite/ld-m68k/tls-gd-1.d2
@@ -1,5 +1,2 @@
 .* U x
 .*
-.*
-.*
-.*
diff --git a/ld/testsuite/ld-metag/shared.d b/ld/testsuite/ld-metag/shared.d
index 94e48c0e7c..cfda054814 100644
--- a/ld/testsuite/ld-metag/shared.d
+++ b/ld/testsuite/ld-metag/shared.d
@@ -17,7 +17,7 @@ Disassembly of section .plt:
  .*: 82120780          ADD       A0.2,A0.2,#0x40f0
  .*: c600806a          GETD      PC,\[A0.2\]
  .*: 03000004          MOV       D1Re0,#0
- .*: a0fffee0          B         184 <.*>
+ .*: a0fffee0          B         .* <\.plt>
 Disassembly of section .text:
 
 .* <lib_func1>:
@@ -28,7 +28,7 @@ Disassembly of section .text:
  .*: 82000040          ADD       A0StP,A0StP,#0x8
  .*: 83880001          ADDT      A1LbP,CPC1,#0
  .*: 830b0660          ADD       A1LbP,A1LbP,#0x60cc
- .*: abfffe94          CALLR     D1RtP,198 <app_func2@plt>
+ .*: abfffe94          CALLR     D1RtP,.* <app_func2@plt>
  .*: a70c018d          GETD      D0Ar6,\[A1LbP\+#-8180\]
  .*: 00000200          ADD       D0Re0,D0Re0,D0Ar6
  .*: 01000205          MOV       D1Re0,A1LbP
diff --git a/ld/testsuite/ld-metag/stub_pic_app.d b/ld/testsuite/ld-metag/stub_pic_app.d
index a6cf3d4655..af9cbcb7a2 100644
--- a/ld/testsuite/ld-metag/stub_pic_app.d
+++ b/ld/testsuite/ld-metag/stub_pic_app.d
@@ -7,22 +7,22 @@ Disassembly of section .plt:
 
 .* <.*>:
 .*: 02008105          MOVT      D0Re0,#0x1020
-.*: 02049720          ADD       D0Re0,D0Re0,#0x92e4
+.*: 02049480          ADD       D0Re0,D0Re0,#0x9290
 .*: b70001e3          SETL      \[A0StP\+\+\],D0Re0,D1Re0
 .*: c600012a          GETD      PC,\[D0Re0\+#4\]
 .*: a0fffffe          NOP
 .* <_lib_func@plt>:
 .*: 82108105          MOVT      A0.2,#0x1020
-.*: 821496e0          ADD       A0.2,A0.2,#0x92dc
+.*: 82149440          ADD       A0.2,A0.2,#0x9288
 .*: c600806a          GETD      PC,\[A0.2\]
 .*: 03000004          MOV       D1Re0,#0
 .*: a0fffee0          B         .* <.*>
 Disassembly of section .text:
 .* <__start-0x10>:
 .*: 82188105          MOVT      A0.3,#0x1020
-.*: ac1a91a3          JUMP      A0.3,#0x5234
+.*: ac1a8f03          JUMP      A0.3,#0x51e0
 .*: 82188105          MOVT      A0.3,#0x1020
-.*: ac1a9183          JUMP      A0.3,#0x5230
+.*: ac1a8ee3          JUMP      A0.3,#0x51dc
 .* <__start>:
 .*: abffff94          CALLR     D1RtP,.* <_lib_func@plt\+0x14>
 .*: abfffed4          CALLR     D1RtP,.* <_lib_func@plt>
diff --git a/ld/testsuite/ld-mips-elf/rel32-n32.d b/ld/testsuite/ld-mips-elf/rel32-n32.d
index 995161561a..d7bdbf09bb 100644
--- a/ld/testsuite/ld-mips-elf/rel32-n32.d
+++ b/ld/testsuite/ld-mips-elf/rel32-n32.d
@@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
 [0-9a-f ]+R_MIPS_REL32    
 
 Hex dump of section '.text':
-  0x000002e0 00000000 00000000 00000000 00000000 ................
-  0x000002f0 000002f0 00000000 00000000 00000000 ................
-  0x00000300 00000000 00000000 00000000 00000000 ................
+  0x00000230 00000000 00000000 00000000 00000000 .*
+  0x00000240 00000240 00000000 00000000 00000000 .*
+  0x00000250 00000000 00000000 00000000 00000000 .*
diff --git a/ld/testsuite/ld-mips-elf/rel32-o32.d b/ld/testsuite/ld-mips-elf/rel32-o32.d
index 742cdaadb4..fb987886d3 100644
--- a/ld/testsuite/ld-mips-elf/rel32-o32.d
+++ b/ld/testsuite/ld-mips-elf/rel32-o32.d
@@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
 [0-9a-f ]+R_MIPS_REL32    
 
 Hex dump of section '.text':
-  0x000002e0 00000000 00000000 00000000 00000000 ................
-  0x000002f0 000002f0 00000000 00000000 00000000 ................
-  0x00000300 00000000 00000000 00000000 00000000 ................
+  0x00000230 00000000 00000000 00000000 00000000 .*
+  0x00000240 00000240 00000000 00000000 00000000 .*
+  0x00000250 00000000 00000000 00000000 00000000 .*
diff --git a/ld/testsuite/ld-mips-elf/rel64.d b/ld/testsuite/ld-mips-elf/rel64.d
index 01bffa3908..be819e17d8 100644
--- a/ld/testsuite/ld-mips-elf/rel64.d
+++ b/ld/testsuite/ld-mips-elf/rel64.d
@@ -14,6 +14,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
  +Type3: R_MIPS_NONE      
 
 Hex dump of section '.text':
-  0x00000450 00000000 00000000 00000000 00000000 ................
-  0x00000460 00000000 00000460 00000000 00000000 ................
-  0x00000470 00000000 00000000 00000000 00000000 ................
+  0x00000380 00000000 00000000 00000000 00000000 .*
+  0x00000390 00000000 00000390 00000000 00000000 .*
+  0x000003a0 00000000 00000000 00000000 00000000 .*
diff --git a/ld/testsuite/ld-powerpc/ambiguousv1.d b/ld/testsuite/ld-powerpc/ambiguousv1.d
index 7ef4575cea..17450f3dcd 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv1.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv1.d
@@ -13,7 +13,7 @@ Relocation section .* contains 1 entry:
 .*
 .* R_PPC64_ADDR64 +0+ my_func \+ 0
 
-Symbol table '\.dynsym' contains 5 entries:
+Symbol table '\.dynsym' contains 2 entries:
 .*
      0: .*
      1: 0+00000000     0 FUNC    GLOBAL DEFAULT  UND my_func
diff --git a/ld/testsuite/ld-powerpc/ambiguousv1b.d b/ld/testsuite/ld-powerpc/ambiguousv1b.d
index 236dfea7d8..9be1371e5e 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv1b.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv1b.d
@@ -13,7 +13,7 @@ Relocation section .* contains 1 entry:
 .*
 .* R_PPC64_COPY .* my_func \+ 0
 
-Symbol table '\.dynsym' contains 5 entries:
+Symbol table '\.dynsym' contains 2 entries:
 #...
 .*: 0*[1-9a-f][0-9a-f]*     4 FUNC    GLOBAL DEFAULT   1[23] my_func
 #...
diff --git a/ld/testsuite/ld-powerpc/ambiguousv2.d b/ld/testsuite/ld-powerpc/ambiguousv2.d
index 915ad9b6d1..5fd0d39b41 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv2.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv2.d
@@ -13,11 +13,10 @@ Relocation section .* contains 1 entry:
 .*
 .* R_PPC64_ADDR64 .* my_func \+ 0
 
-Symbol table '\.dynsym' contains 5 entries:
+Symbol table '\.dynsym' contains 2 entries:
 .*
      0: .*
      1: 0+00000000     0 FUNC    GLOBAL DEFAULT  UND my_func
-#...
 
 Symbol table '\.symtab' contains .* entries:
 #...
diff --git a/ld/testsuite/ld-powerpc/ambiguousv2b.d b/ld/testsuite/ld-powerpc/ambiguousv2b.d
index 8100ee12d3..3ea31c7efd 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv2b.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv2b.d
@@ -14,7 +14,7 @@ Relocation section .* contains 1 entry:
 .*
 .* R_PPC64_JMP_SLOT .* my_func \+ 0
 
-Symbol table '\.dynsym' contains 5 entries:
+Symbol table '\.dynsym' contains 2 entries:
 #...
 .*: 0*[1-9a-f][0-9a-f]*     0 FUNC    GLOBAL DEFAULT  UND my_func
 #...
diff --git a/ld/testsuite/ld-powerpc/tlsexe.d b/ld/testsuite/ld-powerpc/tlsexe.d
index 396f45559f..a455df1802 100644
--- a/ld/testsuite/ld-powerpc/tlsexe.d
+++ b/ld/testsuite/ld-powerpc/tlsexe.d
@@ -67,8 +67,8 @@ Disassembly of section \.text:
 .* (e9 4d 90 2a|2a 90 4d e9) lwa     r10,-28632\(r13\)
 .* (60 00 00 00|00 00 00 60) nop
 .* (a9 4d 90 30|30 90 4d a9) lha     r10,-28624\(r13\)
-.* (00 00 00 00|20 02 01 00) .*
-.* (00 01 02 20|00 00 00 00) .*
+.* (00 00 00 00|80 02 01 00) .*
+.* (00 01 02 80|00 00 00 00) .*
 .* <__glink_PLTresolve>:
 .* (7d 88 02 a6|a6 02 88 7d) mflr    r12
 .* (42 9f 00 05|05 00 9f 42) bcl     20,4\*cr7\+so,.*
diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r
index 8c8b3318f6..aecf0fff52 100644
--- a/ld/testsuite/ld-powerpc/tlsexe.r
+++ b/ld/testsuite/ld-powerpc/tlsexe.r
@@ -65,10 +65,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +LOCAL +DEFAULT +UND *
 .* TLS +GLOBAL +DEFAULT +UND gd
 .* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt
-.* NOTYPE +GLOBAL +DEFAULT +13 _edata
-.* NOTYPE +GLOBAL +DEFAULT +13 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-powerpc/tlsexe32.d b/ld/testsuite/ld-powerpc/tlsexe32.d
index 7902946839..622995e941 100644
--- a/ld/testsuite/ld-powerpc/tlsexe32.d
+++ b/ld/testsuite/ld-powerpc/tlsexe32.d
@@ -52,18 +52,18 @@ Disassembly of section \.text:
 .*: (7c 03 03 78|78 03 03 7c) mr      r3,r0
 .*: (60 00 00 00|00 00 00 60) nop
 .*: (3d 60 01 81|81 01 60 3d) lis     r11,385
-.*: (81 6b 04 04|04 04 6b 81) lwz     r11,1028\(r11\)
+.*: (81 6b 03 94|94 03 6b 81) lwz     r11,916\(r11\)
 .*: (7d 69 03 a6|a6 03 69 7d) mtctr   r11
 .*: (4e 80 04 20|20 04 80 4e) bctr
 
 .* <__glink(_PLTresolve)?>:
 .*: (3d 80 01 81|81 01 80 3d) lis     r12,385
 .*: (3d 6b fe 80|80 fe 6b 3d) addis   r11,r11,-384
-.*: (80 0c 03 fc|fc 03 0c 80) lwz     r0,1020\(r12\)
-.*: (39 6b fd 20|20 fd 6b 39) addi    r11,r11,-736
+.*: (80 0c 03 8c|8c 03 0c 80) lwz     r0,908\(r12\)
+.*: (39 6b fd 90|90 fd 6b 39) addi    r11,r11,-624
 .*: (7c 09 03 a6|a6 03 09 7c) mtctr   r0
 .*: (7c 0b 5a 14|14 5a 0b 7c) add     r0,r11,r11
-.*: (81 8c 04 00|00 04 8c 81) lwz     r12,1024\(r12\)
+.*: (81 8c 03 90|90 03 8c 81) lwz     r12,912\(r12\)
 .*: (7d 60 5a 14|14 5a 60 7d) add     r11,r0,r11
 .*: (4e 80 04 20|20 04 80 4e) bctr
 .*: (60 00 00 00|00 00 00 60) nop
diff --git a/ld/testsuite/ld-powerpc/tlsexe32.g b/ld/testsuite/ld-powerpc/tlsexe32.g
index b6afc9c44c..a23a0afc2e 100644
--- a/ld/testsuite/ld-powerpc/tlsexe32.g
+++ b/ld/testsuite/ld-powerpc/tlsexe32.g
@@ -7,5 +7,5 @@
 .*
 
 Contents of section \.got:
-.* 00000000 00000000 00000000 (0181033c|3c038101)  .*
+.* 00000000 00000000 00000000 (018102cc|cc028101)  .*
 .* 00000000 00000000  .*
diff --git a/ld/testsuite/ld-powerpc/tlsexe32.r b/ld/testsuite/ld-powerpc/tlsexe32.r
index a7387e4280..23045c8ab6 100644
--- a/ld/testsuite/ld-powerpc/tlsexe32.r
+++ b/ld/testsuite/ld-powerpc/tlsexe32.r
@@ -64,11 +64,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +LOCAL +DEFAULT +UND
 .* TLS +GLOBAL +DEFAULT +UND gd
 .* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +12 __end
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.d b/ld/testsuite/ld-powerpc/tlsexetoc.d
index 4bab567054..4186fa2d2b 100644
--- a/ld/testsuite/ld-powerpc/tlsexetoc.d
+++ b/ld/testsuite/ld-powerpc/tlsexetoc.d
@@ -51,8 +51,8 @@ Disassembly of section \.text:
 .* (89 4d 90 60|60 90 4d 89) lbz     r10,-28576\(r13\)
 .* (60 00 00 00|00 00 00 60) nop
 .* (99 4d 90 68|68 90 4d 99) stb     r10,-28568\(r13\)
-.* (00 00 00 00|68 02 01 00) .*
-.* (00 01 02 68|00 00 00 00) .*
+.* (00 00 00 00|e8 02 01 00) .*
+.* (00 01 02 e8|00 00 00 00) .*
 .* <__glink_PLTresolve>:
 .* (7d 88 02 a6|a6 02 88 7d) mflr    r12
 .* (42 9f 00 05|05 00 9f 42) bcl     20,4\*cr7\+so,.*
diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r
index 14096ac3ea..4ee5ffb2f0 100644
--- a/ld/testsuite/ld-powerpc/tlsexetoc.r
+++ b/ld/testsuite/ld-powerpc/tlsexetoc.r
@@ -66,10 +66,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +LOCAL +DEFAULT +UND *
 .* TLS +GLOBAL +DEFAULT +UND gd
 .* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt
-.* NOTYPE +GLOBAL +DEFAULT +13 _edata
-.* NOTYPE +GLOBAL +DEFAULT +13 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-powerpc/tlsso.d b/ld/testsuite/ld-powerpc/tlsso.d
index 58c9dee6cc..caebc49575 100644
--- a/ld/testsuite/ld-powerpc/tlsso.d
+++ b/ld/testsuite/ld-powerpc/tlsso.d
@@ -57,8 +57,8 @@ Disassembly of section \.text:
 .* (3d 2d 00 00|00 00 2d 3d) addis   r9,r13,0
 .* (a9 49 00 00|00 00 49 a9) lha     r10,0\(r9\)
 .* (60 00 00 00|00 00 00 60) nop
-.* (00 00 00 00|58 02 01 00) .*
-.* (00 01 02 58|00 00 00 00) .*
+.* (00 00 00 00|b8 02 01 00) .*
+.* (00 01 02 b8|00 00 00 00) .*
 .* <__glink_PLTresolve>:
 .* (7d 88 02 a6|a6 02 88 7d) mflr    r12
 .* (42 9f 00 05|05 00 9f 42) bcl     20,4\*cr7\+so,.*
diff --git a/ld/testsuite/ld-powerpc/tlsso.r b/ld/testsuite/ld-powerpc/tlsso.r
index 5d349e58ab..259c69e455 100644
--- a/ld/testsuite/ld-powerpc/tlsso.r
+++ b/ld/testsuite/ld-powerpc/tlsso.r
@@ -46,7 +46,7 @@ Program Headers:
 
 Relocation section '\.rela\.dyn' at offset .* contains 18 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-[0-9a-f ]+R_PPC64_RELATIVE +55c
+[0-9a-f ]+R_PPC64_RELATIVE +4fc
 [0-9a-f ]+R_PPC64_RELATIVE +18800
 [0-9a-f ]+R_PPC64_TPREL16 +0+60 le0 \+ 0
 [0-9a-f ]+R_PPC64_TPREL16_HA +0+68 le1 \+ 0
@@ -83,9 +83,6 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* FUNC +GLOBAL +DEFAULT +10 _start
 .* TLS +GLOBAL +DEFAULT +8 ld2
 .* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 .* TLS +GLOBAL +DEFAULT +8 gd0
 .* TLS +GLOBAL +DEFAULT +8 ie0
 
@@ -125,8 +122,5 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* FUNC +GLOBAL +DEFAULT +10 _start
 .* TLS +GLOBAL +DEFAULT +8 ld2
 .* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 .* TLS +GLOBAL +DEFAULT +8 gd0
 .* TLS +GLOBAL +DEFAULT +8 ie0
diff --git a/ld/testsuite/ld-powerpc/tlsso32.g b/ld/testsuite/ld-powerpc/tlsso32.g
index 99090638ce..832a840342 100644
--- a/ld/testsuite/ld-powerpc/tlsso32.g
+++ b/ld/testsuite/ld-powerpc/tlsso32.g
@@ -9,4 +9,4 @@
 Contents of section \.got:
 .* 00000000 00000000 00000000 00000000  .*
 .* 00000000 00000000 00000000 00000000  .*
-.* 00000000 (0001044c|4c040100) 00000000 00000000  .*
+.* 00000000 (000103ec|ec030100) 00000000 00000000  .*
diff --git a/ld/testsuite/ld-powerpc/tlsso32.r b/ld/testsuite/ld-powerpc/tlsso32.r
index 2aabfaa122..6a5a48a064 100644
--- a/ld/testsuite/ld-powerpc/tlsso32.r
+++ b/ld/testsuite/ld-powerpc/tlsso32.r
@@ -52,9 +52,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
 [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0
 [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0
 [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0
-[0-9a-f ]+R_PPC_TPREL16 +0+10430 +\.tdata \+ 10444
-[0-9a-f ]+R_PPC_TPREL16_HA +0+10430 +\.tdata \+ 10448
-[0-9a-f ]+R_PPC_TPREL16_LO +0+10430 +\.tdata \+ 10448
+[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4
+[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8
+[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8
 [0-9a-f ]+R_PPC_DTPMOD32 +0
 [0-9a-f ]+R_PPC_DTPREL32 +0
 [0-9a-f ]+R_PPC_DTPMOD32 +0
@@ -80,12 +80,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +8 le1
 .* TLS +GLOBAL +DEFAULT +UND ld
 .* NOTYPE +GLOBAL +DEFAULT +6 _start
-.* NOTYPE +GLOBAL +DEFAULT +11 __end
 .* TLS +GLOBAL +DEFAULT +8 ld2
 .* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 .* TLS +GLOBAL +DEFAULT +8 gd0
 .* TLS +GLOBAL +DEFAULT +8 ie0
 
@@ -124,11 +120,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +8 le1
 .* TLS +GLOBAL +DEFAULT +UND ld
 .* NOTYPE +GLOBAL +DEFAULT +6 _start
-.* NOTYPE +GLOBAL +DEFAULT +11 __end
 .* TLS +GLOBAL +DEFAULT +8 ld2
 .* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 .* TLS +GLOBAL +DEFAULT +8 gd0
 .* TLS +GLOBAL +DEFAULT +8 ie0
diff --git a/ld/testsuite/ld-powerpc/tlstocso.d b/ld/testsuite/ld-powerpc/tlstocso.d
index 8d55feedcf..d7157efb87 100644
--- a/ld/testsuite/ld-powerpc/tlstocso.d
+++ b/ld/testsuite/ld-powerpc/tlstocso.d
@@ -41,8 +41,8 @@ Disassembly of section \.text:
 .* (3d 2d 00 00|00 00 2d 3d) addis   r9,r13,0
 .* (99 49 00 00|00 00 49 99) stb     r10,0\(r9\)
 .* (60 00 00 00|00 00 00 60) nop
-.* (00 00 00 00|10 03 01 00) .*
-.* (00 01 03 10|00 00 00 00) .*
+.* (00 00 00 00|70 02 01 00) .*
+.* (00 01 02 70|00 00 00 00) .*
 .* <__glink_PLTresolve>:
 .* (7d 88 02 a6|a6 02 88 7d) mflr    r12
 .* (42 9f 00 05|05 00 9f 42) bcl     20,4\*cr7\+so,.*
diff --git a/ld/testsuite/ld-powerpc/tlstocso.g b/ld/testsuite/ld-powerpc/tlstocso.g
index 2e5ffc8e89..76e894b0bb 100644
--- a/ld/testsuite/ld-powerpc/tlstocso.g
+++ b/ld/testsuite/ld-powerpc/tlstocso.g
@@ -7,7 +7,7 @@
 .*
 
 Contents of section \.got:
- 10800 (00000000|00880100) (00018800|00000000) 00000000 00000000  .*
+ 10700 (00000000|00870100) (00018700|00000000) 00000000 00000000  .*
 .* 00000000 00000000 00000000 00000000  .*
 .* 00000000 00000000 00000000 00000000  .*
 .* 00000000 00000000 00000000 00000000  .*
diff --git a/ld/testsuite/ld-powerpc/tlstocso.r b/ld/testsuite/ld-powerpc/tlstocso.r
index f8922ee246..c43ffb6162 100644
--- a/ld/testsuite/ld-powerpc/tlstocso.r
+++ b/ld/testsuite/ld-powerpc/tlstocso.r
@@ -46,8 +46,8 @@ Program Headers:
 
 Relocation section '\.rela\.dyn' at offset .* contains 13 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-[0-9a-f ]+R_PPC64_RELATIVE +4dc
-[0-9a-f ]+R_PPC64_RELATIVE +18800
+[0-9a-f ]+R_PPC64_RELATIVE +47c
+[0-9a-f ]+R_PPC64_RELATIVE +18700
 [0-9a-f ]+R_PPC64_TPREL16 +0+60 le0 \+ 0
 [0-9a-f ]+R_PPC64_TPREL16_HA +0+68 le1 \+ 0
 [0-9a-f ]+R_PPC64_TPREL16_LO +0+68 le1 \+ 0
@@ -78,9 +78,6 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* FUNC +GLOBAL +DEFAULT +10 _start
 .* TLS +GLOBAL +DEFAULT +8 ld2
 .* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 .* TLS +GLOBAL +DEFAULT +8 gd0
 .* TLS +GLOBAL +DEFAULT +8 ie0
 
@@ -121,8 +118,5 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* FUNC +GLOBAL +DEFAULT +10 _start
 .* TLS +GLOBAL +DEFAULT +8 ld2
 .* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 .* TLS +GLOBAL +DEFAULT +8 gd0
 .* TLS +GLOBAL +DEFAULT +8 ie0
diff --git a/ld/testsuite/ld-s390/gotreloc_31-1.dd b/ld/testsuite/ld-s390/gotreloc_31-1.dd
index 0eaaa39c69..5e3f824353 100644
--- a/ld/testsuite/ld-s390/gotreloc_31-1.dd
+++ b/ld/testsuite/ld-s390/gotreloc_31-1.dd
@@ -4,10 +4,10 @@ tmpdir/gotreloc_31-1:     file format elf32-s390
 Disassembly of section .text:
 
 .* <foo>:
-.*: c4 18 00 00 08 4e [ ]*lgrl %r1,11e8 <_GLOBAL_OFFSET_TABLE_\+0xc>
+.*: c4 18 00 00 08 4e [ ]*lgrl %r1,118c <_GLOBAL_OFFSET_TABLE_\+0xc>
 .*: e3 10 c0 0c 00 04 [ ]*lg %r1,12\(%r12\)
-.*: c0 10 00 00 00 08 [ ]*larl %r1,168 <bar>
+.*: c0 10 00 00 00 08 [ ]*larl %r1,10c <bar>
 .*: 58 10 c0 0c [ ]*l %r1,12\(%r12\)
-.*: c0 10 00 00 00 03 [ ]*larl %r1,168 <bar>
+.*: c0 10 00 00 00 03 [ ]*larl %r1,10c <bar>
 .* <bar>:
 .*: 00 00 01 23       .long 0x00000123
diff --git a/ld/testsuite/ld-s390/tlsbin.dd b/ld/testsuite/ld-s390/tlsbin.dd
index c1dbd07fab..677357c69f 100644
--- a/ld/testsuite/ld-s390/tlsbin.dd
+++ b/ld/testsuite/ld-s390/tlsbin.dd
@@ -151,7 +151,7 @@ Disassembly of section .text:
   +[0-9a-f]+: 90 6e f0 18       stm %r6,%r14,24\(%r15\)
   +[0-9a-f]+: a7 d5 00 0c       bras %r13,[0-9a-f]+ <_start\+0x1c>
 # sG6@indntpoff
-  +[0-9a-f]+: 00 40 15 a4       .long 0x004015a4
+  +[0-9a-f]+: 00 40 15 64       .long 0x00401564
 # bg6@indntpoff
   +[0-9a-f]+: ff ff ff d4       .long 0xffffffd4
 # bl6@indntpoff
diff --git a/ld/testsuite/ld-s390/tlsbin.rd b/ld/testsuite/ld-s390/tlsbin.rd
index a88b9256e6..50d444372b 100644
--- a/ld/testsuite/ld-s390/tlsbin.rd
+++ b/ld/testsuite/ld-s390/tlsbin.rd
@@ -68,11 +68,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG3
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_offset
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-s390/tlsbin_64.dd b/ld/testsuite/ld-s390/tlsbin_64.dd
index fe11a23268..b984c5719c 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.dd
+++ b/ld/testsuite/ld-s390/tlsbin_64.dd
@@ -177,7 +177,7 @@ Disassembly of section .text:
  +[0-9a-f]+: a7 d5 00 16       bras %r13,[0-9a-f]+ <_start\+0x30>
 # sG6@indntpoff
  +[0-9a-f]+: 00 00 00 00       .long 0x00000000
- +[0-9a-f]+: 01 00 18 98       .long 0x01001898
+ +[0-9a-f]+: 01 00 18 18       .long 0x01001818
 # bg6@indntpoff
  +[0-9a-f]+: ff ff ff ff       .long 0xffffffff
  +[0-9a-f]+: ff ff ff d4       .long 0xffffffd4
diff --git a/ld/testsuite/ld-s390/tlsbin_64.rd b/ld/testsuite/ld-s390/tlsbin_64.rd
index 682f6d7550..fe7811a680 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.rd
+++ b/ld/testsuite/ld-s390/tlsbin_64.rd
@@ -68,11 +68,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG3
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_offset
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-s390/tlspic.rd b/ld/testsuite/ld-s390/tlspic.rd
index 7bf3b5eaa2..20cb4bf7cb 100644
--- a/ld/testsuite/ld-s390/tlspic.rd
+++ b/ld/testsuite/ld-s390/tlspic.rd
@@ -78,12 +78,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -134,9 +131,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
diff --git a/ld/testsuite/ld-s390/tlspic_64.rd b/ld/testsuite/ld-s390/tlspic_64.rd
index a9cc8b054f..646c611cdf 100644
--- a/ld/testsuite/ld-s390/tlspic_64.rd
+++ b/ld/testsuite/ld-s390/tlspic_64.rd
@@ -78,12 +78,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -134,9 +131,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
diff --git a/ld/testsuite/ld-sh/tlsbin-2.d b/ld/testsuite/ld-sh/tlsbin-2.d
index 7943149cba..ea3c18280a 100644
--- a/ld/testsuite/ld-sh/tlsbin-2.d
+++ b/ld/testsuite/ld-sh/tlsbin-2.d
@@ -72,6 +72,4 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
 #...
 .* TLS +GLOBAL +DEFAULT +UND sG1
-#...
-
 #pass
diff --git a/ld/testsuite/ld-sh/tlspic-2.d b/ld/testsuite/ld-sh/tlspic-2.d
index fb334ec987..d4df16b0b6 100644
--- a/ld/testsuite/ld-sh/tlspic-2.d
+++ b/ld/testsuite/ld-sh/tlspic-2.d
@@ -72,6 +72,4 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* FUNC +GLOBAL +DEFAULT +7 fn1
 #...
 .* TLS +GLOBAL +DEFAULT +8 sg2
-#...
-
 #pass
diff --git a/ld/testsuite/ld-sparc/gotop32.rd b/ld/testsuite/ld-sparc/gotop32.rd
index ffc750daef..d9ead2535f 100644
--- a/ld/testsuite/ld-sparc/gotop32.rd
+++ b/ld/testsuite/ld-sparc/gotop32.rd
@@ -42,10 +42,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +LOCAL +DEFAULT +UND *
 .* SECTION +LOCAL +DEFAULT +5 *
 .* SECTION +LOCAL +DEFAULT +7 *
-.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start
 .* FUNC +GLOBAL +DEFAULT +5 foo
-.* NOTYPE +GLOBAL +DEFAULT +8 _edata
-.* NOTYPE +GLOBAL +DEFAULT +8 _end
 .* NOTYPE +GLOBAL +DEFAULT +8 sym
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -65,9 +62,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC
 .* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_
 .* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
-.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start
 .* FUNC +GLOBAL +DEFAULT +5 foo
-.* NOTYPE +GLOBAL +DEFAULT +8 _edata
-.* NOTYPE +GLOBAL +DEFAULT +8 _end
 .* NOTYPE +GLOBAL +DEFAULT +8 sym
 
diff --git a/ld/testsuite/ld-sparc/gotop64.rd b/ld/testsuite/ld-sparc/gotop64.rd
index b8b05bc1a3..c7d802ca75 100644
--- a/ld/testsuite/ld-sparc/gotop64.rd
+++ b/ld/testsuite/ld-sparc/gotop64.rd
@@ -42,10 +42,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +LOCAL +DEFAULT +UND *
 .* SECTION +LOCAL +DEFAULT +5 *
 .* SECTION +LOCAL +DEFAULT +7 *
-.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start
 .* FUNC +GLOBAL +DEFAULT +5 foo
-.* NOTYPE +GLOBAL +DEFAULT +8 _edata
-.* NOTYPE +GLOBAL +DEFAULT +8 _end
 .* NOTYPE +GLOBAL +DEFAULT +8 sym
 
 Symbol table '\.symtab' contains [0-9]+ entries:
@@ -65,9 +62,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC
 .* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_
 .* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
-.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start
 .* FUNC +GLOBAL +DEFAULT +5 foo
-.* NOTYPE +GLOBAL +DEFAULT +8 _edata
-.* NOTYPE +GLOBAL +DEFAULT +8 _end
 .* NOTYPE +GLOBAL +DEFAULT +8 sym
 
diff --git a/ld/testsuite/ld-sparc/tlssunbin32.rd b/ld/testsuite/ld-sparc/tlssunbin32.rd
index 75e40e5d5d..937611da91 100644
--- a/ld/testsuite/ld-sparc/tlssunbin32.rd
+++ b/ld/testsuite/ld-sparc/tlssunbin32.rd
@@ -54,11 +54,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr@SUNWprivate_1.1 \(2\)
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-sparc/tlssunbin64.rd b/ld/testsuite/ld-sparc/tlssunbin64.rd
index 2956cfe6af..07a632c5ec 100644
--- a/ld/testsuite/ld-sparc/tlssunbin64.rd
+++ b/ld/testsuite/ld-sparc/tlssunbin64.rd
@@ -54,11 +54,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr@SUNWprivate_1.1 \(2\)
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
diff --git a/ld/testsuite/ld-sparc/tlssunnopic32.rd b/ld/testsuite/ld-sparc/tlssunnopic32.rd
index bfb7cb86ad..58c2b57644 100644
--- a/ld/testsuite/ld-sparc/tlssunnopic32.rd
+++ b/ld/testsuite/ld-sparc/tlssunnopic32.rd
@@ -57,10 +57,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* SECTION +LOCAL +DEFAULT +8 *
 .* FUNC +GLOBAL +DEFAULT +5 fn3
 .* TLS +GLOBAL +DEFAULT +UND sg1
-.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sg2
-.* NOTYPE +GLOBAL +DEFAULT +8 _edata
-.* NOTYPE +GLOBAL +DEFAULT +8 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -89,7 +86,4 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* TLS +LOCAL +DEFAULT +6 sh2
 .* FUNC +GLOBAL +DEFAULT +5 fn3
 .* TLS +GLOBAL +DEFAULT +UND sg1
-.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sg2
-.* NOTYPE +GLOBAL +DEFAULT +8 _edata
-.* NOTYPE +GLOBAL +DEFAULT +8 _end
diff --git a/ld/testsuite/ld-sparc/tlssunnopic64.rd b/ld/testsuite/ld-sparc/tlssunnopic64.rd
index 88fe05fa11..a5a184ef10 100644
--- a/ld/testsuite/ld-sparc/tlssunnopic64.rd
+++ b/ld/testsuite/ld-sparc/tlssunnopic64.rd
@@ -59,10 +59,7 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* SECTION +LOCAL +DEFAULT +8 *
 .* FUNC +GLOBAL +DEFAULT +5 fn3
 .* TLS +GLOBAL +DEFAULT +UND sg1
-.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sg2
-.* NOTYPE +GLOBAL +DEFAULT +8 _edata
-.* NOTYPE +GLOBAL +DEFAULT +8 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -91,7 +88,4 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* TLS +LOCAL +DEFAULT +6 sh2
 .* FUNC +GLOBAL +DEFAULT +5 fn3
 .* TLS +GLOBAL +DEFAULT +UND sg1
-.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sg2
-.* NOTYPE +GLOBAL +DEFAULT +8 _edata
-.* NOTYPE +GLOBAL +DEFAULT +8 _end
diff --git a/ld/testsuite/ld-sparc/tlssunpic32.rd b/ld/testsuite/ld-sparc/tlssunpic32.rd
index 8d1ea4ffaf..38d2513c1e 100644
--- a/ld/testsuite/ld-sparc/tlssunpic32.rd
+++ b/ld/testsuite/ld-sparc/tlssunpic32.rd
@@ -72,12 +72,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +7 sg1
 .* FUNC +GLOBAL +DEFAULT +6 fn1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +7 sg2
 .* TLS +GLOBAL +DEFAULT +7 sg6
 .* TLS +GLOBAL +DEFAULT +7 sg7
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -129,9 +126,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +7 sg1
 .* FUNC +GLOBAL +DEFAULT +6 fn1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +7 sg2
 .* TLS +GLOBAL +DEFAULT +7 sg6
 .* TLS +GLOBAL +DEFAULT +7 sg7
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
diff --git a/ld/testsuite/ld-sparc/tlssunpic64.rd b/ld/testsuite/ld-sparc/tlssunpic64.rd
index dabaa2bb2a..c2a46b3cfa 100644
--- a/ld/testsuite/ld-sparc/tlssunpic64.rd
+++ b/ld/testsuite/ld-sparc/tlssunpic64.rd
@@ -72,12 +72,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +7 sg1
 .* FUNC +GLOBAL +DEFAULT +6 fn1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +7 sg2
 .* TLS +GLOBAL +DEFAULT +7 sg6
 .* TLS +GLOBAL +DEFAULT +7 sg7
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -129,9 +126,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +7 sg1
 .* FUNC +GLOBAL +DEFAULT +6 fn1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +7 sg2
 .* TLS +GLOBAL +DEFAULT +7 sg6
 .* TLS +GLOBAL +DEFAULT +7 sg7
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
diff --git a/ld/testsuite/ld-x86-64/bnd-branch-1-now.d b/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
index 952bc88ed8..6998b0ea8b 100644
--- a/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
@@ -8,38 +8,38 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 82 01 20 00     pushq  0x200182\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 84 01 20 00     jmpq   \*0x200184\(%rip\)        # 200420 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+230 <.plt>:
+ +[a-f0-9]+: ff 35 82 01 20 00     pushq  0x200182\(%rip\)        # 2003b8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 84 01 20 00     jmpq   \*0x200184\(%rip\)        # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+2a0 <foo2@plt>:
- +[a-f0-9]+: ff 25 82 01 20 00     jmpq   \*0x200182\(%rip\)        # 200428 <foo2>
+0+240 <foo2@plt>:
+ +[a-f0-9]+: ff 25 82 01 20 00     jmpq   \*0x200182\(%rip\)        # 2003c8 <foo2>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   290 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   230 <.plt>
 
-0+2b0 <foo3@plt>:
- +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 200430 <foo3>
+0+250 <foo3@plt>:
+ +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 2003d0 <foo3>
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d0 ff ff ff       jmpq   290 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   230 <.plt>
 
-0+2c0 <foo1@plt>:
- +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 200438 <foo1>
+0+260 <foo1@plt>:
+ +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 2003d8 <foo1>
  +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
- +[a-f0-9]+: e9 c0 ff ff ff       jmpq   290 <.plt>
+ +[a-f0-9]+: e9 c0 ff ff ff       jmpq   230 <.plt>
 
-0+2d0 <foo4@plt>:
- +[a-f0-9]+: ff 25 6a 01 20 00     jmpq   \*0x20016a\(%rip\)        # 200440 <foo4>
+0+270 <foo4@plt>:
+ +[a-f0-9]+: ff 25 6a 01 20 00     jmpq   \*0x20016a\(%rip\)        # 2003e0 <foo4>
  +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
- +[a-f0-9]+: e9 b0 ff ff ff       jmpq   290 <.plt>
+ +[a-f0-9]+: e9 b0 ff ff ff       jmpq   230 <.plt>
 
 Disassembly of section .text:
 
-0+2e0 <_start>:
- +[a-f0-9]+: f2 e9 da ff ff ff     bnd jmpq 2c0 <foo1@plt>
- +[a-f0-9]+: e8 b5 ff ff ff       callq  2a0 <foo2@plt>
- +[a-f0-9]+: e9 c0 ff ff ff       jmpq   2b0 <foo3@plt>
- +[a-f0-9]+: e8 db ff ff ff       callq  2d0 <foo4@plt>
- +[a-f0-9]+: f2 e8 b5 ff ff ff     bnd callq 2b0 <foo3@plt>
- +[a-f0-9]+: e9 d0 ff ff ff       jmpq   2d0 <foo4@plt>
+0+280 <_start>:
+ +[a-f0-9]+: f2 e9 da ff ff ff     bnd jmpq 260 <foo1@plt>
+ +[a-f0-9]+: e8 b5 ff ff ff       callq  240 <foo2@plt>
+ +[a-f0-9]+: e9 c0 ff ff ff       jmpq   250 <foo3@plt>
+ +[a-f0-9]+: e8 db ff ff ff       callq  270 <foo4@plt>
+ +[a-f0-9]+: f2 e8 b5 ff ff ff     bnd callq 250 <foo3@plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   270 <foo4@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d b/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
index a32eaccd5c..aeb75247aa 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
@@ -8,26 +8,26 @@
 
 Disassembly of section .plt:
 
-0+1f0 <.plt>:
- +[a-f0-9]+: ff 35 4a 01 20 00     pushq  0x20014a\(%rip\)        # 200340 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 4b 01 20 00 bnd jmpq \*0x20014b\(%rip\)        # 200348 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+170 <.plt>:
+ +[a-f0-9]+: ff 35 4a 01 20 00     pushq  0x20014a\(%rip\)        # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 4b 01 20 00 bnd jmpq \*0x20014b\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1f0 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 170 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+210 <\*ABS\*\+0x218@plt>:
- +[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200350 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+190 <\*ABS\*\+0x198@plt>:
+ +[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+218 <foo>:
+0+198 <foo>:
  +[a-f0-9]+: f2 c3                 bnd retq
 
-0+21a <bar>:
- +[a-f0-9]+: f2 e8 f0 ff ff ff     bnd callq 210 <\*ABS\*\+0x218@plt>
+0+19a <bar>:
+ +[a-f0-9]+: f2 e8 f0 ff ff ff     bnd callq 190 <\*ABS\*\+0x198@plt>
  +[a-f0-9]+: f2 c3                 bnd retq
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d b/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
index 8bd144ed21..790e107586 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
@@ -8,52 +8,52 @@
 
 Disassembly of section .plt:
 
-0+2b0 <.plt>:
- +[a-f0-9]+: ff 35 9a 01 20 00     pushq  0x20019a\(%rip\)        # 200450 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 9b 01 20 00 bnd jmpq \*0x20019b\(%rip\)        # 200458 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+240 <.plt>:
+ +[a-f0-9]+: ff 35 9a 01 20 00     pushq  0x20019a\(%rip\)        # 2003e0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 9b 01 20 00 bnd jmpq \*0x20019b\(%rip\)        # 2003e8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 2b0 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 240 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 2b0 <.plt>
+ +[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 240 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 2b0 <.plt>
+ +[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 240 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
- +[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 2b0 <.plt>
+ +[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 240 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+300 <\*ABS\*\+0x32c@plt>:
- +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200460 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+290 <\*ABS\*\+0x2bc@plt>:
+ +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 2003f0 <_GLOBAL_OFFSET_TABLE_\+0x18>
  +[a-f0-9]+: 90                   nop
 
-0+308 <func1@plt>:
- +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200468 <func1>
+0+298 <func1@plt>:
+ +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 2003f8 <func1>
  +[a-f0-9]+: 90                   nop
 
-0+310 <func2@plt>:
- +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200470 <func2>
+0+2a0 <func2@plt>:
+ +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200400 <func2>
  +[a-f0-9]+: 90                   nop
 
-0+318 <\*ABS\*\+0x320@plt>:
- +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200478 <_GLOBAL_OFFSET_TABLE_\+0x30>
+0+2a8 <\*ABS\*\+0x2b0@plt>:
+ +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\)        # 200408 <_GLOBAL_OFFSET_TABLE_\+0x30>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+320 <resolve1>:
- +[a-f0-9]+: f2 e8 e2 ff ff ff     bnd callq 308 <func1@plt>
+0+2b0 <resolve1>:
+ +[a-f0-9]+: f2 e8 e2 ff ff ff     bnd callq 298 <func1@plt>
 
-0+326 <g1>:
- +[a-f0-9]+: f2 e9 ec ff ff ff     bnd jmpq 318 <\*ABS\*\+0x320@plt>
+0+2b6 <g1>:
+ +[a-f0-9]+: f2 e9 ec ff ff ff     bnd jmpq 2a8 <\*ABS\*\+0x2b0@plt>
 
-0+32c <resolve2>:
- +[a-f0-9]+: f2 e8 de ff ff ff     bnd callq 310 <func2@plt>
+0+2bc <resolve2>:
+ +[a-f0-9]+: f2 e8 de ff ff ff     bnd callq 2a0 <func2@plt>
 
-0+332 <g2>:
- +[a-f0-9]+: f2 e9 c8 ff ff ff     bnd jmpq 300 <\*ABS\*\+0x32c@plt>
+0+2c2 <g2>:
+ +[a-f0-9]+: f2 e9 c8 ff ff ff     bnd jmpq 290 <\*ABS\*\+0x2bc@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-2.d b/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
index bee3bb299f..3e1997396f 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
@@ -3,52 +3,52 @@
 #objdump: -dw
 
 #...
-0+2b0 <.plt>:
-[ ]*[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 200430 <_GLOBAL_OFFSET_TABLE_\+0x8>
-[ ]*[a-f0-9]+: f2 ff 25 7b 01 20 00 bnd jmpq \*0x20017b\(%rip\)        # 200438 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+240 <.plt>:
+[ ]*[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)[ ]*(#.*)?
+[ ]*[a-f0-9]+: f2 ff 25 7b 01 20 00 bnd jmpq \*0x20017b\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
 [ ]*[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
-[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 2b0 <.*>
+[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 240 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
-[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 2b0 <.*>
+[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 240 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
-[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 2b0 <.*>
+[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 240 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
-[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 2b0 <.*>
+[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 240 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+300 <\*ABS\*\+0x32c@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200440 <_GLOBAL_OFFSET_TABLE_\+0x18>
+0+290 <\*ABS\*\+0x2bc@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+308 <func1@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200448 <func1>
+0+298 <func1@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+310 <func2@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200450 <func2>
+0+2a0 <func2@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+318 <\*ABS\*\+0x320@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)        # 200458 <_GLOBAL_OFFSET_TABLE_\+0x30>
+0+2a8 <\*ABS\*\+0x2b0@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+320 <resolve1>:
-[ ]*[a-f0-9]+: f2 e8 e2 ff ff ff     bnd callq 308 <func1@plt>
+0+2b0 <resolve1>:
+[ ]*[a-f0-9]+: f2 e8 e2 ff ff ff     bnd callq 298 <func1@plt>
 
-0+326 <g1>:
-[ ]*[a-f0-9]+: f2 e9 ec ff ff ff     bnd jmpq 318 <\*ABS\*\+0x320@plt>
+0+2b6 <g1>:
+[ ]*[a-f0-9]+: f2 e9 ec ff ff ff     bnd jmpq 2a8 <\*ABS\*\+0x2b0@plt>
 
-0+32c <resolve2>:
-[ ]*[a-f0-9]+: f2 e8 de ff ff ff     bnd callq 310 <func2@plt>
+0+2bc <resolve2>:
+[ ]*[a-f0-9]+: f2 e8 de ff ff ff     bnd callq 2a0 <func2@plt>
 
-0+332 <g2>:
-[ ]*[a-f0-9]+: f2 e9 c8 ff ff ff     bnd jmpq 300 <\*ABS\*\+0x32c@plt>
+0+2c2 <g2>:
+[ ]*[a-f0-9]+: f2 e9 c8 ff ff ff     bnd jmpq 290 <\*ABS\*\+0x2bc@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-plt-1-now.d b/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
index 4a713aacbf..8720e0e8d9 100644
--- a/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
@@ -8,48 +8,48 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 a2 01 20 00     pushq  0x2001a2\(%rip\)        # 200438 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\)        # 200440 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+230 <.plt>:
+ +[a-f0-9]+: ff 35 a2 01 20 00     pushq  0x2001a2\(%rip\)        # 2003d8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\)        # 2003e0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 230 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 230 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
- +[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 230 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
  +[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
- +[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 230 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+2e0 <foo2@plt>:
- +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200448 <foo2>
+0+280 <foo2@plt>:
+ +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 2003e8 <foo2>
  +[a-f0-9]+: 90                   nop
 
-0+2e8 <foo3@plt>:
- +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200450 <foo3>
+0+288 <foo3@plt>:
+ +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 2003f0 <foo3>
  +[a-f0-9]+: 90                   nop
 
-0+2f0 <foo1@plt>:
- +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200458 <foo1>
+0+290 <foo1@plt>:
+ +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 2003f8 <foo1>
  +[a-f0-9]+: 90                   nop
 
-0+2f8 <foo4@plt>:
- +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200460 <foo4>
+0+298 <foo4@plt>:
+ +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\)        # 200400 <foo4>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+300 <_start>:
- +[a-f0-9]+: f2 e9 ea ff ff ff     bnd jmpq 2f0 <foo1@plt>
- +[a-f0-9]+: e8 d5 ff ff ff       callq  2e0 <foo2@plt>
- +[a-f0-9]+: e9 d8 ff ff ff       jmpq   2e8 <foo3@plt>
- +[a-f0-9]+: e8 e3 ff ff ff       callq  2f8 <foo4@plt>
- +[a-f0-9]+: f2 e8 cd ff ff ff     bnd callq 2e8 <foo3@plt>
- +[a-f0-9]+: e9 d8 ff ff ff       jmpq   2f8 <foo4@plt>
+0+2a0 <_start>:
+ +[a-f0-9]+: f2 e9 ea ff ff ff     bnd jmpq 290 <foo1@plt>
+ +[a-f0-9]+: e8 d5 ff ff ff       callq  280 <foo2@plt>
+ +[a-f0-9]+: e9 d8 ff ff ff       jmpq   288 <foo3@plt>
+ +[a-f0-9]+: e8 e3 ff ff ff       callq  298 <foo4@plt>
+ +[a-f0-9]+: f2 e8 cd ff ff ff     bnd callq 288 <foo3@plt>
+ +[a-f0-9]+: e9 d8 ff ff ff       jmpq   298 <foo4@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/bnd-plt-1.d b/ld/testsuite/ld-x86-64/bnd-plt-1.d
index 71b56e3ba0..043db114fc 100644
--- a/ld/testsuite/ld-x86-64/bnd-plt-1.d
+++ b/ld/testsuite/ld-x86-64/bnd-plt-1.d
@@ -8,48 +8,48 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
-[ ]*[a-f0-9]+: ff 35 82 01 20 00     pushq  0x200182\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x8>
-[ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\)        # 200420 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+230 <.plt>:
+[ ]*[a-f0-9]+: ff 35 82 01 20 00     pushq  0x200182\(%rip\)[ ]*(#.*)?
+[ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
 [ ]*[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
-[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 290 <.*>
+[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 230 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
-[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 290 <.*>
+[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff     bnd jmpq 230 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 02 00 00 00       pushq  \$0x2
-[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 290 <.*>
+[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff     bnd jmpq 230 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 [ ]*[a-f0-9]+: 68 03 00 00 00       pushq  \$0x3
-[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 290 <.*>
+[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff     bnd jmpq 230 <.plt>
 [ ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+2e0 <foo2@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)        # 200428 <foo2>
+0+280 <foo2@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+2e8 <foo3@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)        # 200430 <foo3>
+0+288 <foo3@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+2f0 <foo1@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)        # 200438 <foo1>
+0+290 <foo1@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
-0+2f8 <foo4@plt>:
-[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)        # 200440 <foo4>
+0+298 <foo4@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)?
 [ ]*[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+300 <_start>:
-[ ]*[a-f0-9]+: f2 e9 ea ff ff ff     bnd jmpq 2f0 <foo1@plt>
-[ ]*[a-f0-9]+: e8 d5 ff ff ff       callq  2e0 <foo2@plt>
-[ ]*[a-f0-9]+: e9 d8 ff ff ff       jmpq   2e8 <foo3@plt>
-[ ]*[a-f0-9]+: e8 e3 ff ff ff       callq  2f8 <foo4@plt>
-[ ]*[a-f0-9]+: f2 e8 cd ff ff ff     bnd callq 2e8 <foo3@plt>
-[ ]*[a-f0-9]+: e9 d8 ff ff ff       jmpq   2f8 <foo4@plt>
+0+2a0 <_start>:
+[ ]*[a-f0-9]+: f2 e9 ea ff ff ff     bnd jmpq 290 <foo1@plt>
+[ ]*[a-f0-9]+: e8 d5 ff ff ff       callq  280 <foo2@plt>
+[ ]*[a-f0-9]+: e9 d8 ff ff ff       jmpq   288 <foo3@plt>
+[ ]*[a-f0-9]+: e8 e3 ff ff ff       callq  298 <foo4@plt>
+[ ]*[a-f0-9]+: f2 e8 cd ff ff ff     bnd callq 288 <foo3@plt>
+[ ]*[a-f0-9]+: e9 d8 ff ff ff       jmpq   298 <foo4@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
index 5cd0fd1151..21568c9cf8 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1c0 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+160 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1f0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
+ +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+200 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
+ +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  200 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  1a0 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1f0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   190 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-1.d b/ld/testsuite/ld-x86-64/ibt-plt-1.d
index 521f94167b..5a9dcb146e 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-1.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-1.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+220 <.plt>:
+ +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+2c0 <bar1@plt>:
+0+250 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200490 <bar1>
+ +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+2d0 <bar2@plt>:
+0+260 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200498 <bar2>
+ +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2e0 <foo>:
+0+270 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  2d0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  260 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   2c0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   250 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
index 8751767c4f..27f47d7179 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1c0 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+160 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1f0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
+ +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+200 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
+ +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  200 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  1a0 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1f0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   190 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2a.d b/ld/testsuite/ld-x86-64/ibt-plt-2a.d
index a7c7afbef4..62d77835b6 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2a.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2a.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+220 <.plt>:
+ +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+2c0 <bar1@plt>:
+0+250 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200490 <bar1>
+ +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+2d0 <bar2@plt>:
+0+260 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200498 <bar2>
+ +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2e0 <foo>:
+0+270 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  2d0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  260 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   2c0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   250 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
index c0fc080275..b4ca256895 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
-  DW_CFA_advance_loc: 4 to 00000214
+0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
+  DW_CFA_advance_loc: 4 to 000001b4
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_advance_loc: 9 to 000001bd
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2b.d b/ld/testsuite/ld-x86-64/ibt-plt-2b.d
index 6c3f7c966a..4a670ee1b9 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2b.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2b.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
-  DW_CFA_advance_loc: 4 to 00000000000002e4
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
+  DW_CFA_advance_loc: 4 to 0000000000000274
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_advance_loc: 9 to 000000000000027d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_advance_loc: 6 to 0000000000000226
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_advance_loc: 10 to 0000000000000230
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
index 9b99a04cec..e9f21b7252 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1c0 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+160 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1f0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
+ +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+200 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
+ +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  200 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  1a0 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1f0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   190 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2c.d b/ld/testsuite/ld-x86-64/ibt-plt-2c.d
index 3fd9a28771..fe28d89300 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2c.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2c.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+220 <.plt>:
+ +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+2c0 <bar1@plt>:
+0+250 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200490 <bar1>
+ +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+2d0 <bar2@plt>:
+0+260 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200498 <bar2>
+ +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2e0 <foo>:
+0+270 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  2d0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  260 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   2c0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   250 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
index 2262cf9045..34e9f1cd12 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
-  DW_CFA_advance_loc: 4 to 00000214
+0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
+  DW_CFA_advance_loc: 4 to 000001b4
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_advance_loc: 9 to 000001bd
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2d.d b/ld/testsuite/ld-x86-64/ibt-plt-2d.d
index 1bd1d7f839..93cc26f3e7 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2d.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2d.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
-  DW_CFA_advance_loc: 4 to 00000000000002e4
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
+  DW_CFA_advance_loc: 4 to 0000000000000274
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_advance_loc: 9 to 000000000000027d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_advance_loc: 6 to 0000000000000226
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_advance_loc: 10 to 0000000000000230
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -46,3 +46,4 @@ Displaying notes found in: .note.gnu.property
   Owner                 Data size Description
   GNU                  0x00000010 NT_GNU_PROPERTY_TYPE_0
       Properties: x86 feature: IBT
+#pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
index d11096f9cc..6b1b58d271 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1a0 <.plt>:
- +[a-f0-9]+: ff 35 4a 01 20 00     pushq  0x20014a\(%rip\)        # 2002f0 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 4c 01 20 00     jmpq   \*0x20014c\(%rip\)        # 2002f8 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+140 <.plt>:
+ +[a-f0-9]+: ff 35 4a 01 20 00     pushq  0x20014a\(%rip\)        # 200290 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 4c 01 20 00     jmpq   \*0x20014c\(%rip\)        # 200298 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1a0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1a0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   140 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1d0 <bar1@plt>:
+0+170 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 26 01 20 00     jmpq   \*0x200126\(%rip\)        # 200300 <bar1>
+ +[a-f0-9]+: ff 25 26 01 20 00     jmpq   \*0x200126\(%rip\)        # 2002a0 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+1e0 <bar2@plt>:
+0+180 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 1e 01 20 00     jmpq   \*0x20011e\(%rip\)        # 200308 <bar2>
+ +[a-f0-9]+: ff 25 1e 01 20 00     jmpq   \*0x20011e\(%rip\)        # 2002a8 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+1f0 <foo>:
+0+190 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  1e0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  180 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1d0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   170 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3a.d b/ld/testsuite/ld-x86-64/ibt-plt-3a.d
index 0b6676e642..c365f700a0 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3a.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3a.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+250 <.plt>:
- +[a-f0-9]+: ff 35 ca 01 20 00     pushq  0x2001ca\(%rip\)        # 200420 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 cb 01 20 00 bnd jmpq \*0x2001cb\(%rip\)        # 200428 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1f0 <.plt>:
+ +[a-f0-9]+: ff 35 ca 01 20 00     pushq  0x2001ca\(%rip\)        # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 cb 01 20 00 bnd jmpq \*0x2001cb\(%rip\)        # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 250 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 1f0 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 250 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 1f0 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+280 <bar1@plt>:
+0+220 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 a5 01 20 00 bnd jmpq \*0x2001a5\(%rip\)        # 200430 <bar1>
+ +[a-f0-9]+: f2 ff 25 a5 01 20 00 bnd jmpq \*0x2001a5\(%rip\)        # 2003d0 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+290 <bar2@plt>:
+0+230 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 9d 01 20 00 bnd jmpq \*0x20019d\(%rip\)        # 200438 <bar2>
+ +[a-f0-9]+: f2 ff 25 9d 01 20 00 bnd jmpq \*0x20019d\(%rip\)        # 2003d8 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2a0 <foo>:
+0+240 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  290 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  230 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   280 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   220 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d
index 424054e9ea..0fc2198b1f 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000014 0000001c FDE cie=00000000 pc=000001f0..00000202
-  DW_CFA_advance_loc: 4 to 000001f4
+0+18 00000014 0000001c FDE cie=00000000 pc=00000190..000001a2
+  DW_CFA_advance_loc: 4 to 00000194
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 000001fd
+  DW_CFA_advance_loc: 9 to 0000019d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 00000020 00000034 FDE cie=00000000 pc=000001a0..000001d0
+0+30 00000020 00000034 FDE cie=00000000 pc=00000140..00000170
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 000001a6
+  DW_CFA_advance_loc: 6 to 00000146
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 000001b0
+  DW_CFA_advance_loc: 10 to 00000150
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+54 00000010 00000058 FDE cie=00000000 pc=000001d0..000001f0
+0+54 00000010 00000058 FDE cie=00000000 pc=00000170..00000190
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3b.d b/ld/testsuite/ld-x86-64/ibt-plt-3b.d
index 4956f19e8b..a998657387 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3b.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3b.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002a0..00000000000002b2
-  DW_CFA_advance_loc: 4 to 00000000000002a4
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000240..0000000000000252
+  DW_CFA_advance_loc: 4 to 0000000000000244
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 00000000000002ad
+  DW_CFA_advance_loc: 9 to 000000000000024d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000250..0000000000000280
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000220
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000256
+  DW_CFA_advance_loc: 6 to 00000000000001f6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000260
+  DW_CFA_advance_loc: 10 to 0000000000000200
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000280..00000000000002a0
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000220..0000000000000240
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
index 865df2c948..37f9182e68 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+1c0 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+160 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 64 01 20 00     jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff       jmpq   1c0 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff       jmpq   160 <.plt>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .plt.sec:
 
-0+1f0 <bar1@plt>:
+0+190 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
+ +[a-f0-9]+: ff 25 3e 01 20 00     jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
-0+200 <bar2@plt>:
+0+1a0 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
+ +[a-f0-9]+: ff 25 36 01 20 00     jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
  +[a-f0-9]+: 66 0f 1f 44 00 00     nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+210 <foo>:
+0+1b0 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  200 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  1a0 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   1f0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   190 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3c.d b/ld/testsuite/ld-x86-64/ibt-plt-3c.d
index eed7b4dc17..4122452510 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3c.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3c.d
@@ -8,36 +8,36 @@
 
 Disassembly of section .plt:
 
-0+290 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+220 <.plt>:
+ +[a-f0-9]+: ff 35 ea 01 20 00     pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
  +[a-f0-9]+: f3 0f 1e fa           endbr64
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 290 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff     bnd jmpq 220 <.plt>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+2c0 <bar1@plt>:
+0+250 <bar1@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200490 <bar1>
+ +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
-0+2d0 <bar2@plt>:
+0+260 <bar2@plt>:
  +[a-f0-9]+: f3 0f 1e fa           endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200498 <bar2>
+ +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
 
-0+2e0 <foo>:
+0+270 <foo>:
  +[a-f0-9]+: 48 83 ec 08           sub    \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff       callq  2d0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff       callq  260 <bar2@plt>
  +[a-f0-9]+: 48 83 c4 08           add    \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff       jmpq   2c0 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff       jmpq   250 <bar1@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
index bc18a59172..b6130a40e4 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
-  DW_CFA_advance_loc: 4 to 00000214
+0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
+  DW_CFA_advance_loc: 4 to 000001b4
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_advance_loc: 9 to 000001bd
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_advance_loc: 6 to 00000166
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_advance_loc: 10 to 00000170
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3d.d b/ld/testsuite/ld-x86-64/ibt-plt-3d.d
index de6a32ac75..2bf9e5de68 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3d.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3d.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
-  DW_CFA_advance_loc: 4 to 00000000000002e4
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
+  DW_CFA_advance_loc: 4 to 0000000000000274
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_advance_loc: 9 to 000000000000027d
   DW_CFA_def_cfa_offset: 8
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_advance_loc: 6 to 0000000000000226
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_advance_loc: 10 to 0000000000000230
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
index 92c1f9cf9f..01cb85a817 100644
--- a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
+++ b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
@@ -10,21 +10,21 @@ Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al
  +\[ 0\] +NULL +0+ 0+ 0+ 00 +0 +0 +0
  +\[ 1\] \.text +PROGBITS +0+ 0+10000 +0+1 +00 +AX +0 +0 +1
- +\[ 2\] \.hash +HASH +100000b4 +0+b4 +0+28 +04 +A +3 +0 +4
- +\[ 3\] \.dynsym +DYNSYM +100000dc +0+dc +0+50 +10 +A +4 +1 +4
- +\[ 4\] \.dynstr +STRTAB +1000012c +0+12c +0+19 +00 +A +0 +0 +1
- +\[ 5\] \.dynamic +DYNAMIC +10010148 +0+148 +0+58 +08 +WA +4 +0 +4
+ +\[ 2\] \.hash +HASH +100000b4 +0+b4 +0+14 +04 +A +3 +0 +4
+ +\[ 3\] \.dynsym +DYNSYM +100000c8 +0+c8 +0+20 +10 +A +4 +1 +4
+ +\[ 4\] \.dynstr +STRTAB +100000e8 +0+e8 +0+8 +00 +A +0 +0 +1
+ +\[ 5\] \.dynamic +DYNAMIC +100100f0 +0+f0 +0+58 +08 +WA +4 +0 +4
  +\[ 6\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +7 +[0-9] +4
  +\[ 7\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
  +\[ 8\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ +0+40 +00 +0 +0 +1
 Key to Flags:
 #...
 
-Dynamic section at offset 0x148 contains 6 entries:
+Dynamic section at offset 0xf0 contains 6 entries:
   Tag        Type                         Name/Value
  0x00000004 \(HASH\)                       0x100000b4
- 0x00000005 \(STRTAB\)                     0x1000012c
- 0x00000006 \(SYMTAB\)                     0x100000dc
- 0x0000000a \(STRSZ\)                      25 \(bytes\)
+ 0x00000005 \(STRTAB\)                     0x100000e8
+ 0x00000006 \(SYMTAB\)                     0x100000c8
+ 0x0000000a \(STRSZ\)                      8 \(bytes\)
  0x0000000b \(SYMENT\)                     16 \(bytes\)
  0x00000000 \(NULL\)                       0x0
diff --git a/ld/testsuite/ld-x86-64/ilp32-4.d b/ld/testsuite/ld-x86-64/ilp32-4.d
index 74c5ede0c3..34be012056 100644
--- a/ld/testsuite/ld-x86-64/ilp32-4.d
+++ b/ld/testsuite/ld-x86-64/ilp32-4.d
@@ -8,9 +8,9 @@ There are 9 section headers, starting at offset .*:
 Section Headers:
   \[Nr\] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
   \[ 0\]                   NULL            00000000 000000 000000 00      0   0  0
-  \[ 1\] .hash             HASH            [0-9a-f]+ [0-9a-f]+ 000028 04   A  2   0  4
-  \[ 2\] .dynsym           DYNSYM          [0-9a-f]+ [0-9a-f]+ 000050 10   A  3   1  4
-  \[ 3\] .dynstr           STRTAB          [0-9a-f]+ [0-9a-f]+ 000019 00   A  0   0  1
+  \[ 1\] .hash             HASH            [0-9a-f]+ [0-9a-f]+ 000014 04   A  2   0  4
+  \[ 2\] .dynsym           DYNSYM          [0-9a-f]+ [0-9a-f]+ 000020 10   A  3   1  4
+  \[ 3\] .dynstr           STRTAB          [0-9a-f]+ [0-9a-f]+ 000008 00   A  0   0  1
   \[ 4\] .text             PROGBITS        [0-9a-f]+ [0-9a-f]+ 000001 00  AX  0   0  1
   \[ 5\] .dynamic          DYNAMIC         [0-9a-f]+ [0-9a-f]+ 000058 08  WA  3   0  4
   \[ 6\] .symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10      7   [0-9]  4
@@ -24,6 +24,6 @@ Dynamic section at offset 0x[0-9a-f]+ contains 6 entries:
  0x00000004 \(HASH\)                       0x[0-9a-f]+
  0x00000005 \(STRTAB\)                     0x[0-9a-f]+
  0x00000006 \(SYMTAB\)                     0x[0-9a-f]+
- 0x0000000a \(STRSZ\)                      25 \(bytes\)
+ 0x0000000a \(STRSZ\)                      8 \(bytes\)
  0x0000000b \(SYMENT\)                     16 \(bytes\)
  0x00000000 \(NULL\)                       0x0
diff --git a/ld/testsuite/ld-x86-64/load1c-nacl.d b/ld/testsuite/ld-x86-64/load1c-nacl.d
index 1ce80b4f34..f677b8d85e 100644
--- a/ld/testsuite/ld-x86-64/load1c-nacl.d
+++ b/ld/testsuite/ld-x86-64/load1c-nacl.d
@@ -9,40 +9,40 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[ ]*[a-f0-9]+: 13 05 0a 03 01 10     adc    0x1001030a\(%rip\),%eax        # 10010310 <.*>
-[ ]*[a-f0-9]+: 03 1d 04 03 01 10     add    0x10010304\(%rip\),%ebx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 23 0d fe 02 01 10     and    0x100102fe\(%rip\),%ecx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 3b 15 f8 02 01 10     cmp    0x100102f8\(%rip\),%edx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 0b 35 f2 02 01 10     or     0x100102f2\(%rip\),%esi        # 10010310 <.*>
-[ ]*[a-f0-9]+: 1b 3d ec 02 01 10     sbb    0x100102ec\(%rip\),%edi        # 10010310 <.*>
-[ ]*[a-f0-9]+: 2b 2d e6 02 01 10     sub    0x100102e6\(%rip\),%ebp        # 10010310 <.*>
-[ ]*[a-f0-9]+: 44 33 05 df 02 01 10 xor    0x100102df\(%rip\),%r8d        # 10010310 <.*>
-[ ]*[a-f0-9]+: 44 85 3d d8 02 01 10 test   %r15d,0x100102d8\(%rip\)        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 13 05 d1 02 01 10 adc    0x100102d1\(%rip\),%rax        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 03 1d ca 02 01 10 add    0x100102ca\(%rip\),%rbx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 23 0d c3 02 01 10 and    0x100102c3\(%rip\),%rcx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 bc 02 01 10 cmp    0x100102bc\(%rip\),%rdx        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d b5 02 01 10 or     0x100102b5\(%rip\),%rdi        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 ae 02 01 10 sbb    0x100102ae\(%rip\),%rsi        # 10010310 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d a7 02 01 10 sub    0x100102a7\(%rip\),%rbp        # 10010310 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 a0 02 01 10 xor    0x100102a0\(%rip\),%r8        # 10010310 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 99 02 01 10 test   %r15,0x10010299\(%rip\)        # 10010310 <.*>
-[ ]*[a-f0-9]+: 13 05 9b 02 01 10     adc    0x1001029b\(%rip\),%eax        # 10010318 <.*>
-[ ]*[a-f0-9]+: 03 1d 95 02 01 10     add    0x10010295\(%rip\),%ebx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 23 0d 8f 02 01 10     and    0x1001028f\(%rip\),%ecx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 3b 15 89 02 01 10     cmp    0x10010289\(%rip\),%edx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 0b 35 83 02 01 10     or     0x10010283\(%rip\),%esi        # 10010318 <.*>
-[ ]*[a-f0-9]+: 1b 3d 7d 02 01 10     sbb    0x1001027d\(%rip\),%edi        # 10010318 <.*>
-[ ]*[a-f0-9]+: 2b 2d 77 02 01 10     sub    0x10010277\(%rip\),%ebp        # 10010318 <.*>
-[ ]*[a-f0-9]+: 44 33 05 70 02 01 10 xor    0x10010270\(%rip\),%r8d        # 10010318 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 69 02 01 10 test   %r15d,0x10010269\(%rip\)        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 13 05 62 02 01 10 adc    0x10010262\(%rip\),%rax        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 5b 02 01 10 add    0x1001025b\(%rip\),%rbx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 54 02 01 10 and    0x10010254\(%rip\),%rcx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 4d 02 01 10 cmp    0x1001024d\(%rip\),%rdx        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 46 02 01 10 or     0x10010246\(%rip\),%rdi        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 3f 02 01 10 sbb    0x1001023f\(%rip\),%rsi        # 10010318 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 38 02 01 10 sub    0x10010238\(%rip\),%rbp        # 10010318 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 31 02 01 10 xor    0x10010231\(%rip\),%r8        # 10010318 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 2a 02 01 10 test   %r15,0x1001022a\(%rip\)        # 10010318 <.*>
+ +[a-f0-9]+: 13 05 9a 02 01 10     adc    0x1001029a\(%rip\),%eax        # 100102a0 <.got>
+ +[a-f0-9]+: 03 1d 94 02 01 10     add    0x10010294\(%rip\),%ebx        # 100102a0 <.got>
+ +[a-f0-9]+: 23 0d 8e 02 01 10     and    0x1001028e\(%rip\),%ecx        # 100102a0 <.got>
+ +[a-f0-9]+: 3b 15 88 02 01 10     cmp    0x10010288\(%rip\),%edx        # 100102a0 <.got>
+ +[a-f0-9]+: 0b 35 82 02 01 10     or     0x10010282\(%rip\),%esi        # 100102a0 <.got>
+ +[a-f0-9]+: 1b 3d 7c 02 01 10     sbb    0x1001027c\(%rip\),%edi        # 100102a0 <.got>
+ +[a-f0-9]+: 2b 2d 76 02 01 10     sub    0x10010276\(%rip\),%ebp        # 100102a0 <.got>
+ +[a-f0-9]+: 44 33 05 6f 02 01 10 xor    0x1001026f\(%rip\),%r8d        # 100102a0 <.got>
+ +[a-f0-9]+: 44 85 3d 68 02 01 10 test   %r15d,0x10010268\(%rip\)        # 100102a0 <.got>
+ +[a-f0-9]+: 48 13 05 61 02 01 10 adc    0x10010261\(%rip\),%rax        # 100102a0 <.got>
+ +[a-f0-9]+: 48 03 1d 5a 02 01 10 add    0x1001025a\(%rip\),%rbx        # 100102a0 <.got>
+ +[a-f0-9]+: 48 23 0d 53 02 01 10 and    0x10010253\(%rip\),%rcx        # 100102a0 <.got>
+ +[a-f0-9]+: 48 3b 15 4c 02 01 10 cmp    0x1001024c\(%rip\),%rdx        # 100102a0 <.got>
+ +[a-f0-9]+: 48 0b 3d 45 02 01 10 or     0x10010245\(%rip\),%rdi        # 100102a0 <.got>
+ +[a-f0-9]+: 48 1b 35 3e 02 01 10 sbb    0x1001023e\(%rip\),%rsi        # 100102a0 <.got>
+ +[a-f0-9]+: 48 2b 2d 37 02 01 10 sub    0x10010237\(%rip\),%rbp        # 100102a0 <.got>
+ +[a-f0-9]+: 4c 33 05 30 02 01 10 xor    0x10010230\(%rip\),%r8        # 100102a0 <.got>
+ +[a-f0-9]+: 4c 85 3d 29 02 01 10 test   %r15,0x10010229\(%rip\)        # 100102a0 <.got>
+ +[a-f0-9]+: 13 05 2b 02 01 10     adc    0x1001022b\(%rip\),%eax        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 03 1d 25 02 01 10     add    0x10010225\(%rip\),%ebx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 23 0d 1f 02 01 10     and    0x1001021f\(%rip\),%ecx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 3b 15 19 02 01 10     cmp    0x10010219\(%rip\),%edx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 0b 35 13 02 01 10     or     0x10010213\(%rip\),%esi        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 1b 3d 0d 02 01 10     sbb    0x1001020d\(%rip\),%edi        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 2b 2d 07 02 01 10     sub    0x10010207\(%rip\),%ebp        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 44 33 05 00 02 01 10 xor    0x10010200\(%rip\),%r8d        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 44 85 3d f9 01 01 10 test   %r15d,0x100101f9\(%rip\)        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 13 05 f2 01 01 10 adc    0x100101f2\(%rip\),%rax        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 03 1d eb 01 01 10 add    0x100101eb\(%rip\),%rbx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 23 0d e4 01 01 10 and    0x100101e4\(%rip\),%rcx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 3b 15 dd 01 01 10 cmp    0x100101dd\(%rip\),%rdx        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 0b 3d d6 01 01 10 or     0x100101d6\(%rip\),%rdi        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 1b 35 cf 01 01 10 sbb    0x100101cf\(%rip\),%rsi        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 48 2b 2d c8 01 01 10 sub    0x100101c8\(%rip\),%rbp        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 4c 33 05 c1 01 01 10 xor    0x100101c1\(%rip\),%r8        # 100102a8 <foo-0x21>
+ +[a-f0-9]+: 4c 85 3d ba 01 01 10 test   %r15,0x100101ba\(%rip\)        # 100102a8 <foo-0x21>
 #pass
diff --git a/ld/testsuite/ld-x86-64/load1c.d b/ld/testsuite/ld-x86-64/load1c.d
index 16679dc249..3b75352924 100644
--- a/ld/testsuite/ld-x86-64/load1c.d
+++ b/ld/testsuite/ld-x86-64/load1c.d
@@ -9,40 +9,40 @@
 Disassembly of section .text:
 
 [a-f0-9]+ <_start>:
-[ ]*[a-f0-9]+: 13 05 ca 01 20 00     adc    0x2001ca\(%rip\),%eax        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 03 1d c4 01 20 00     add    0x2001c4\(%rip\),%ebx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 23 0d be 01 20 00     and    0x2001be\(%rip\),%ecx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 3b 15 b8 01 20 00     cmp    0x2001b8\(%rip\),%edx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 0b 35 b2 01 20 00     or     0x2001b2\(%rip\),%esi        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 1b 3d ac 01 20 00     sbb    0x2001ac\(%rip\),%edi        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 2b 2d a6 01 20 00     sub    0x2001a6\(%rip\),%ebp        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 44 33 05 9f 01 20 00 xor    0x20019f\(%rip\),%r8d        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 98 01 20 00 test   %r15d,0x200198\(%rip\)        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 13 05 91 01 20 00 adc    0x200191\(%rip\),%rax        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 8a 01 20 00 add    0x20018a\(%rip\),%rbx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 83 01 20 00 and    0x200183\(%rip\),%rcx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 7c 01 20 00 cmp    0x20017c\(%rip\),%rdx        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 75 01 20 00 or     0x200175\(%rip\),%rdi        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 6e 01 20 00 sbb    0x20016e\(%rip\),%rsi        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 67 01 20 00 sub    0x200167\(%rip\),%rbp        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 60 01 20 00 xor    0x200160\(%rip\),%r8        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 59 01 20 00 test   %r15,0x200159\(%rip\)        # 2003c8 <.*>
-[ ]*[a-f0-9]+: 13 05 5b 01 20 00     adc    0x20015b\(%rip\),%eax        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 03 1d 55 01 20 00     add    0x200155\(%rip\),%ebx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 23 0d 4f 01 20 00     and    0x20014f\(%rip\),%ecx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 3b 15 49 01 20 00     cmp    0x200149\(%rip\),%edx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 0b 35 43 01 20 00     or     0x200143\(%rip\),%esi        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 1b 3d 3d 01 20 00     sbb    0x20013d\(%rip\),%edi        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 2b 2d 37 01 20 00     sub    0x200137\(%rip\),%ebp        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 44 33 05 30 01 20 00 xor    0x200130\(%rip\),%r8d        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 29 01 20 00 test   %r15d,0x200129\(%rip\)        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 13 05 22 01 20 00 adc    0x200122\(%rip\),%rax        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 1b 01 20 00 add    0x20011b\(%rip\),%rbx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 14 01 20 00 and    0x200114\(%rip\),%rcx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 0d 01 20 00 cmp    0x20010d\(%rip\),%rdx        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 06 01 20 00 or     0x200106\(%rip\),%rdi        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 ff 00 20 00 sbb    0x2000ff\(%rip\),%rsi        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d f8 00 20 00 sub    0x2000f8\(%rip\),%rbp        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 f1 00 20 00 xor    0x2000f1\(%rip\),%r8        # 2003d0 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d ea 00 20 00 test   %r15,0x2000ea\(%rip\)        # 2003d0 <.*>
+[ ]*[a-f0-9]+: 13 05 ca 01 20 00     adc    0x2001ca\(%rip\),%eax        # 200358 <.*>
+[ ]*[a-f0-9]+: 03 1d c4 01 20 00     add    0x2001c4\(%rip\),%ebx        # 200358 <.*>
+[ ]*[a-f0-9]+: 23 0d be 01 20 00     and    0x2001be\(%rip\),%ecx        # 200358 <.*>
+[ ]*[a-f0-9]+: 3b 15 b8 01 20 00     cmp    0x2001b8\(%rip\),%edx        # 200358 <.*>
+[ ]*[a-f0-9]+: 0b 35 b2 01 20 00     or     0x2001b2\(%rip\),%esi        # 200358 <.*>
+[ ]*[a-f0-9]+: 1b 3d ac 01 20 00     sbb    0x2001ac\(%rip\),%edi        # 200358 <.*>
+[ ]*[a-f0-9]+: 2b 2d a6 01 20 00     sub    0x2001a6\(%rip\),%ebp        # 200358 <.*>
+[ ]*[a-f0-9]+: 44 33 05 9f 01 20 00 xor    0x20019f\(%rip\),%r8d        # 200358 <.*>
+[ ]*[a-f0-9]+: 44 85 3d 98 01 20 00 test   %r15d,0x200198\(%rip\)        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 13 05 91 01 20 00 adc    0x200191\(%rip\),%rax        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 03 1d 8a 01 20 00 add    0x20018a\(%rip\),%rbx        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 23 0d 83 01 20 00 and    0x200183\(%rip\),%rcx        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 3b 15 7c 01 20 00 cmp    0x20017c\(%rip\),%rdx        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 0b 3d 75 01 20 00 or     0x200175\(%rip\),%rdi        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 1b 35 6e 01 20 00 sbb    0x20016e\(%rip\),%rsi        # 200358 <.*>
+[ ]*[a-f0-9]+: 48 2b 2d 67 01 20 00 sub    0x200167\(%rip\),%rbp        # 200358 <.*>
+[ ]*[a-f0-9]+: 4c 33 05 60 01 20 00 xor    0x200160\(%rip\),%r8        # 200358 <.*>
+[ ]*[a-f0-9]+: 4c 85 3d 59 01 20 00 test   %r15,0x200159\(%rip\)        # 200358 <.*>
+[ ]*[a-f0-9]+: 13 05 5b 01 20 00     adc    0x20015b\(%rip\),%eax        # 200360 <.*>
+[ ]*[a-f0-9]+: 03 1d 55 01 20 00     add    0x200155\(%rip\),%ebx        # 200360 <.*>
+[ ]*[a-f0-9]+: 23 0d 4f 01 20 00     and    0x20014f\(%rip\),%ecx        # 200360 <.*>
+[ ]*[a-f0-9]+: 3b 15 49 01 20 00     cmp    0x200149\(%rip\),%edx        # 200360 <.*>
+[ ]*[a-f0-9]+: 0b 35 43 01 20 00     or     0x200143\(%rip\),%esi        # 200360 <.*>
+[ ]*[a-f0-9]+: 1b 3d 3d 01 20 00     sbb    0x20013d\(%rip\),%edi        # 200360 <.*>
+[ ]*[a-f0-9]+: 2b 2d 37 01 20 00     sub    0x200137\(%rip\),%ebp        # 200360 <.*>
+[ ]*[a-f0-9]+: 44 33 05 30 01 20 00 xor    0x200130\(%rip\),%r8d        # 200360 <.*>
+[ ]*[a-f0-9]+: 44 85 3d 29 01 20 00 test   %r15d,0x200129\(%rip\)        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 13 05 22 01 20 00 adc    0x200122\(%rip\),%rax        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 03 1d 1b 01 20 00 add    0x20011b\(%rip\),%rbx        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 23 0d 14 01 20 00 and    0x200114\(%rip\),%rcx        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 3b 15 0d 01 20 00 cmp    0x20010d\(%rip\),%rdx        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 0b 3d 06 01 20 00 or     0x200106\(%rip\),%rdi        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 1b 35 ff 00 20 00 sbb    0x2000ff\(%rip\),%rsi        # 200360 <.*>
+[ ]*[a-f0-9]+: 48 2b 2d f8 00 20 00 sub    0x2000f8\(%rip\),%rbp        # 200360 <.*>
+[ ]*[a-f0-9]+: 4c 33 05 f1 00 20 00 xor    0x2000f1\(%rip\),%r8        # 200360 <.*>
+[ ]*[a-f0-9]+: 4c 85 3d ea 00 20 00 test   %r15,0x2000ea\(%rip\)        # 200360 <.*>
 #pass
diff --git a/ld/testsuite/ld-x86-64/load1d-nacl.d b/ld/testsuite/ld-x86-64/load1d-nacl.d
index 19fea1afda..db1f7af612 100644
--- a/ld/testsuite/ld-x86-64/load1d-nacl.d
+++ b/ld/testsuite/ld-x86-64/load1d-nacl.d
@@ -9,40 +9,40 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[ ]*[a-f0-9]+: 13 05 e2 01 01 10     adc    0x100101e2\(%rip\),%eax        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 03 1d dc 01 01 10     add    0x100101dc\(%rip\),%ebx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 23 0d d6 01 01 10     and    0x100101d6\(%rip\),%ecx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 3b 15 d0 01 01 10     cmp    0x100101d0\(%rip\),%edx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 0b 35 ca 01 01 10     or     0x100101ca\(%rip\),%esi        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 1b 3d c4 01 01 10     sbb    0x100101c4\(%rip\),%edi        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 2b 2d be 01 01 10     sub    0x100101be\(%rip\),%ebp        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 44 33 05 b7 01 01 10 xor    0x100101b7\(%rip\),%r8d        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 44 85 3d b0 01 01 10 test   %r15d,0x100101b0\(%rip\)        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 13 05 a9 01 01 10 adc    0x100101a9\(%rip\),%rax        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 03 1d a2 01 01 10 add    0x100101a2\(%rip\),%rbx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 9b 01 01 10 and    0x1001019b\(%rip\),%rcx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 94 01 01 10 cmp    0x10010194\(%rip\),%rdx        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 8d 01 01 10 or     0x1001018d\(%rip\),%rdi        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 86 01 01 10 sbb    0x10010186\(%rip\),%rsi        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 7f 01 01 10 sub    0x1001017f\(%rip\),%rbp        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 78 01 01 10 xor    0x10010178\(%rip\),%r8        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 71 01 01 10 test   %r15,0x10010171\(%rip\)        # 100101e8 <.*>
-[ ]*[a-f0-9]+: 13 05 73 01 01 10     adc    0x10010173\(%rip\),%eax        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 03 1d 6d 01 01 10     add    0x1001016d\(%rip\),%ebx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 23 0d 67 01 01 10     and    0x10010167\(%rip\),%ecx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 3b 15 61 01 01 10     cmp    0x10010161\(%rip\),%edx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 0b 35 5b 01 01 10     or     0x1001015b\(%rip\),%esi        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 1b 3d 55 01 01 10     sbb    0x10010155\(%rip\),%edi        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 2b 2d 4f 01 01 10     sub    0x1001014f\(%rip\),%ebp        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 44 33 05 48 01 01 10 xor    0x10010148\(%rip\),%r8d        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 41 01 01 10 test   %r15d,0x10010141\(%rip\)        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 13 05 3a 01 01 10 adc    0x1001013a\(%rip\),%rax        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 33 01 01 10 add    0x10010133\(%rip\),%rbx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 2c 01 01 10 and    0x1001012c\(%rip\),%rcx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 25 01 01 10 cmp    0x10010125\(%rip\),%rdx        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 1e 01 01 10 or     0x1001011e\(%rip\),%rdi        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 17 01 01 10 sbb    0x10010117\(%rip\),%rsi        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 10 01 01 10 sub    0x10010110\(%rip\),%rbp        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 09 01 01 10 xor    0x10010109\(%rip\),%r8        # 100101f0 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 02 01 01 10 test   %r15,0x10010102\(%rip\)        # 100101f0 <.*>
+ +[a-f0-9]+: 13 05 8a 01 01 10     adc    0x1001018a\(%rip\),%eax        # 10010190 <.got>
+ +[a-f0-9]+: 03 1d 84 01 01 10     add    0x10010184\(%rip\),%ebx        # 10010190 <.got>
+ +[a-f0-9]+: 23 0d 7e 01 01 10     and    0x1001017e\(%rip\),%ecx        # 10010190 <.got>
+ +[a-f0-9]+: 3b 15 78 01 01 10     cmp    0x10010178\(%rip\),%edx        # 10010190 <.got>
+ +[a-f0-9]+: 0b 35 72 01 01 10     or     0x10010172\(%rip\),%esi        # 10010190 <.got>
+ +[a-f0-9]+: 1b 3d 6c 01 01 10     sbb    0x1001016c\(%rip\),%edi        # 10010190 <.got>
+ +[a-f0-9]+: 2b 2d 66 01 01 10     sub    0x10010166\(%rip\),%ebp        # 10010190 <.got>
+ +[a-f0-9]+: 44 33 05 5f 01 01 10 xor    0x1001015f\(%rip\),%r8d        # 10010190 <.got>
+ +[a-f0-9]+: 44 85 3d 58 01 01 10 test   %r15d,0x10010158\(%rip\)        # 10010190 <.got>
+ +[a-f0-9]+: 48 13 05 51 01 01 10 adc    0x10010151\(%rip\),%rax        # 10010190 <.got>
+ +[a-f0-9]+: 48 03 1d 4a 01 01 10 add    0x1001014a\(%rip\),%rbx        # 10010190 <.got>
+ +[a-f0-9]+: 48 23 0d 43 01 01 10 and    0x10010143\(%rip\),%rcx        # 10010190 <.got>
+ +[a-f0-9]+: 48 3b 15 3c 01 01 10 cmp    0x1001013c\(%rip\),%rdx        # 10010190 <.got>
+ +[a-f0-9]+: 48 0b 3d 35 01 01 10 or     0x10010135\(%rip\),%rdi        # 10010190 <.got>
+ +[a-f0-9]+: 48 1b 35 2e 01 01 10 sbb    0x1001012e\(%rip\),%rsi        # 10010190 <.got>
+ +[a-f0-9]+: 48 2b 2d 27 01 01 10 sub    0x10010127\(%rip\),%rbp        # 10010190 <.got>
+ +[a-f0-9]+: 4c 33 05 20 01 01 10 xor    0x10010120\(%rip\),%r8        # 10010190 <.got>
+ +[a-f0-9]+: 4c 85 3d 19 01 01 10 test   %r15,0x10010119\(%rip\)        # 10010190 <.got>
+ +[a-f0-9]+: 13 05 1b 01 01 10     adc    0x1001011b\(%rip\),%eax        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 03 1d 15 01 01 10     add    0x10010115\(%rip\),%ebx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 23 0d 0f 01 01 10     and    0x1001010f\(%rip\),%ecx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 3b 15 09 01 01 10     cmp    0x10010109\(%rip\),%edx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 0b 35 03 01 01 10     or     0x10010103\(%rip\),%esi        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 1b 3d fd 00 01 10     sbb    0x100100fd\(%rip\),%edi        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 2b 2d f7 00 01 10     sub    0x100100f7\(%rip\),%ebp        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 44 33 05 f0 00 01 10 xor    0x100100f0\(%rip\),%r8d        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 44 85 3d e9 00 01 10 test   %r15d,0x100100e9\(%rip\)        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 13 05 e2 00 01 10 adc    0x100100e2\(%rip\),%rax        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 03 1d db 00 01 10 add    0x100100db\(%rip\),%rbx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 23 0d d4 00 01 10 and    0x100100d4\(%rip\),%rcx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 3b 15 cd 00 01 10 cmp    0x100100cd\(%rip\),%rdx        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 0b 3d c6 00 01 10 or     0x100100c6\(%rip\),%rdi        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 1b 35 bf 00 01 10 sbb    0x100100bf\(%rip\),%rsi        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 48 2b 2d b8 00 01 10 sub    0x100100b8\(%rip\),%rbp        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 4c 33 05 b1 00 01 10 xor    0x100100b1\(%rip\),%r8        # 10010198 <foo-0x21>
+ +[a-f0-9]+: 4c 85 3d aa 00 01 10 test   %r15,0x100100aa\(%rip\)        # 10010198 <foo-0x21>
 #pass
diff --git a/ld/testsuite/ld-x86-64/load1d.d b/ld/testsuite/ld-x86-64/load1d.d
index 28f6b98f21..c7550e28d7 100644
--- a/ld/testsuite/ld-x86-64/load1d.d
+++ b/ld/testsuite/ld-x86-64/load1d.d
@@ -9,40 +9,40 @@
 Disassembly of section .text:
 
 0+[a-f0-9]+ <_start>:
-[ ]*[a-f0-9]+: 13 05 5a 01 20 00     adc    0x20015a\(%rip\),%eax        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 03 1d 54 01 20 00     add    0x200154\(%rip\),%ebx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 23 0d 4e 01 20 00     and    0x20014e\(%rip\),%ecx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 3b 15 48 01 20 00     cmp    0x200148\(%rip\),%edx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 0b 35 42 01 20 00     or     0x200142\(%rip\),%esi        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 1b 3d 3c 01 20 00     sbb    0x20013c\(%rip\),%edi        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 2b 2d 36 01 20 00     sub    0x200136\(%rip\),%ebp        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 44 33 05 2f 01 20 00 xor    0x20012f\(%rip\),%r8d        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 44 85 3d 28 01 20 00 test   %r15d,0x200128\(%rip\)        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 13 05 21 01 20 00 adc    0x200121\(%rip\),%rax        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 03 1d 1a 01 20 00 add    0x20011a\(%rip\),%rbx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 23 0d 13 01 20 00 and    0x200113\(%rip\),%rcx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 0c 01 20 00 cmp    0x20010c\(%rip\),%rdx        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 05 01 20 00 or     0x200105\(%rip\),%rdi        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 fe 00 20 00 sbb    0x2000fe\(%rip\),%rsi        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d f7 00 20 00 sub    0x2000f7\(%rip\),%rbp        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 f0 00 20 00 xor    0x2000f0\(%rip\),%r8        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d e9 00 20 00 test   %r15,0x2000e9\(%rip\)        # 2002b8 <.*>
-[ ]*[a-f0-9]+: 13 05 eb 00 20 00     adc    0x2000eb\(%rip\),%eax        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 03 1d e5 00 20 00     add    0x2000e5\(%rip\),%ebx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 23 0d df 00 20 00     and    0x2000df\(%rip\),%ecx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 3b 15 d9 00 20 00     cmp    0x2000d9\(%rip\),%edx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 0b 35 d3 00 20 00     or     0x2000d3\(%rip\),%esi        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 1b 3d cd 00 20 00     sbb    0x2000cd\(%rip\),%edi        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 2b 2d c7 00 20 00     sub    0x2000c7\(%rip\),%ebp        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 44 33 05 c0 00 20 00 xor    0x2000c0\(%rip\),%r8d        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 44 85 3d b9 00 20 00 test   %r15d,0x2000b9\(%rip\)        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 13 05 b2 00 20 00 adc    0x2000b2\(%rip\),%rax        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 03 1d ab 00 20 00 add    0x2000ab\(%rip\),%rbx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 23 0d a4 00 20 00 and    0x2000a4\(%rip\),%rcx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 3b 15 9d 00 20 00 cmp    0x20009d\(%rip\),%rdx        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 0b 3d 96 00 20 00 or     0x200096\(%rip\),%rdi        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 1b 35 8f 00 20 00 sbb    0x20008f\(%rip\),%rsi        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 48 2b 2d 88 00 20 00 sub    0x200088\(%rip\),%rbp        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 4c 33 05 81 00 20 00 xor    0x200081\(%rip\),%r8        # 2002c0 <.*>
-[ ]*[a-f0-9]+: 4c 85 3d 7a 00 20 00 test   %r15,0x20007a\(%rip\)        # 2002c0 <.*>
+[ ]*[a-f0-9]+: 13 05 5a 01 20 00     adc    0x20015a\(%rip\),%eax        # 200260 <.*>
+[ ]*[a-f0-9]+: 03 1d 54 01 20 00     add    0x200154\(%rip\),%ebx        # 200260 <.*>
+[ ]*[a-f0-9]+: 23 0d 4e 01 20 00     and    0x20014e\(%rip\),%ecx        # 200260 <.*>
+[ ]*[a-f0-9]+: 3b 15 48 01 20 00     cmp    0x200148\(%rip\),%edx        # 200260 <.*>
+[ ]*[a-f0-9]+: 0b 35 42 01 20 00     or     0x200142\(%rip\),%esi        # 200260 <.*>
+[ ]*[a-f0-9]+: 1b 3d 3c 01 20 00     sbb    0x20013c\(%rip\),%edi        # 200260 <.*>
+[ ]*[a-f0-9]+: 2b 2d 36 01 20 00     sub    0x200136\(%rip\),%ebp        # 200260 <.*>
+[ ]*[a-f0-9]+: 44 33 05 2f 01 20 00 xor    0x20012f\(%rip\),%r8d        # 200260 <.*>
+[ ]*[a-f0-9]+: 44 85 3d 28 01 20 00 test   %r15d,0x200128\(%rip\)        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 13 05 21 01 20 00 adc    0x200121\(%rip\),%rax        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 03 1d 1a 01 20 00 add    0x20011a\(%rip\),%rbx        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 23 0d 13 01 20 00 and    0x200113\(%rip\),%rcx        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 3b 15 0c 01 20 00 cmp    0x20010c\(%rip\),%rdx        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 0b 3d 05 01 20 00 or     0x200105\(%rip\),%rdi        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 1b 35 fe 00 20 00 sbb    0x2000fe\(%rip\),%rsi        # 200260 <.*>
+[ ]*[a-f0-9]+: 48 2b 2d f7 00 20 00 sub    0x2000f7\(%rip\),%rbp        # 200260 <.*>
+[ ]*[a-f0-9]+: 4c 33 05 f0 00 20 00 xor    0x2000f0\(%rip\),%r8        # 200260 <.*>
+[ ]*[a-f0-9]+: 4c 85 3d e9 00 20 00 test   %r15,0x2000e9\(%rip\)        # 200260 <.*>
+[ ]*[a-f0-9]+: 13 05 eb 00 20 00     adc    0x2000eb\(%rip\),%eax        # 200268 <.*>
+[ ]*[a-f0-9]+: 03 1d e5 00 20 00     add    0x2000e5\(%rip\),%ebx        # 200268 <.*>
+[ ]*[a-f0-9]+: 23 0d df 00 20 00     and    0x2000df\(%rip\),%ecx        # 200268 <.*>
+[ ]*[a-f0-9]+: 3b 15 d9 00 20 00     cmp    0x2000d9\(%rip\),%edx        # 200268 <.*>
+[ ]*[a-f0-9]+: 0b 35 d3 00 20 00     or     0x2000d3\(%rip\),%esi        # 200268 <.*>
+[ ]*[a-f0-9]+: 1b 3d cd 00 20 00     sbb    0x2000cd\(%rip\),%edi        # 200268 <.*>
+[ ]*[a-f0-9]+: 2b 2d c7 00 20 00     sub    0x2000c7\(%rip\),%ebp        # 200268 <.*>
+[ ]*[a-f0-9]+: 44 33 05 c0 00 20 00 xor    0x2000c0\(%rip\),%r8d        # 200268 <.*>
+[ ]*[a-f0-9]+: 44 85 3d b9 00 20 00 test   %r15d,0x2000b9\(%rip\)        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 13 05 b2 00 20 00 adc    0x2000b2\(%rip\),%rax        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 03 1d ab 00 20 00 add    0x2000ab\(%rip\),%rbx        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 23 0d a4 00 20 00 and    0x2000a4\(%rip\),%rcx        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 3b 15 9d 00 20 00 cmp    0x20009d\(%rip\),%rdx        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 0b 3d 96 00 20 00 or     0x200096\(%rip\),%rdi        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 1b 35 8f 00 20 00 sbb    0x20008f\(%rip\),%rsi        # 200268 <.*>
+[ ]*[a-f0-9]+: 48 2b 2d 88 00 20 00 sub    0x200088\(%rip\),%rbp        # 200268 <.*>
+[ ]*[a-f0-9]+: 4c 33 05 81 00 20 00 xor    0x200081\(%rip\),%r8        # 200268 <.*>
+[ ]*[a-f0-9]+: 4c 85 3d 7a 00 20 00 test   %r15,0x20007a\(%rip\)        # 200268 <.*>
 #pass
diff --git a/ld/testsuite/ld-x86-64/mpx3n.dd b/ld/testsuite/ld-x86-64/mpx3n.dd
index 4dd8c12499..505237e1c1 100644
--- a/ld/testsuite/ld-x86-64/mpx3n.dd
+++ b/ld/testsuite/ld-x86-64/mpx3n.dd
@@ -3,26 +3,26 @@
 
 Disassembly of section .plt:
 
-0+400290 <.plt>:
- +[a-f0-9]+: ff 35 a2 01 20 00     pushq  0x2001a2\(%rip\)        # 600438 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\)        # 600440 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+400220 <.plt>:
+ +[a-f0-9]+: ff 35 a2 01 20 00     pushq  0x2001a2\(%rip\)        # 6003c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\)        # 6003d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 400290 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 400220 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+4002b0 <call1@plt>:
- +[a-f0-9]+: f2 ff 25 91 01 20 00 bnd jmpq \*0x200191\(%rip\)        # 600448 <call1>
+0+400240 <call1@plt>:
+ +[a-f0-9]+: f2 ff 25 91 01 20 00 bnd jmpq \*0x200191\(%rip\)        # 6003d8 <call1>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+4002b8 <_start>:
- +[a-f0-9]+: bf b0 02 40 00       mov    \$0x4002b0,%edi
+0+400248 <_start>:
+ +[a-f0-9]+: bf 40 02 40 00       mov    \$0x400240,%edi
  +[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
- +[a-f0-9]+: 48 8b 3d 89 01 20 00 mov    0x200189\(%rip\),%rdi        # 600450 <call2>
+ +[a-f0-9]+: 48 8b 3d 89 01 20 00 mov    0x200189\(%rip\),%rdi        # 6003e0 <call2>
  +[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
  +[a-f0-9]+: c3                   retq  
 #pass
diff --git a/ld/testsuite/ld-x86-64/mpx4.dd b/ld/testsuite/ld-x86-64/mpx4.dd
index c7af5b2b99..0da0840385 100644
--- a/ld/testsuite/ld-x86-64/mpx4.dd
+++ b/ld/testsuite/ld-x86-64/mpx4.dd
@@ -3,22 +3,22 @@
 
 Disassembly of section .plt:
 
-0+400260 <.plt>:
-[   ]*[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x8>
-[   ]*[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\)        # 6003b0 <_GLOBAL_OFFSET_TABLE_\+0x10>
-[   ]*[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
-[   ]*[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
-[   ]*[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 400260 <.plt>
-[   ]*[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
+0+4001f0 <.plt>:
+ +[a-f0-9]+: ff 35 42 01 20 00     pushq  0x200142\(%rip\)        # 600338 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\)        # 600340 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
+ +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 4001f0 <.plt>
+ +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+400280 <call1@plt>:
-[   ]*[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\)        # 6003b8 <call1>
-[   ]*[a-f0-9]+: 90                   nop
+0+400210 <call1@plt>:
+ +[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\)        # 600348 <call1>
+ +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+400288 <_start>:
-[   ]*[a-f0-9]+: bf 80 02 40 00       mov    \$0x400280,%edi
-[   ]*[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
+0+400218 <_start>:
+ +[a-f0-9]+: bf 10 02 40 00       mov    \$0x400210,%edi
+ +[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
diff --git a/ld/testsuite/ld-x86-64/mpx4n.dd b/ld/testsuite/ld-x86-64/mpx4n.dd
index a82be089de..73ebb8d127 100644
--- a/ld/testsuite/ld-x86-64/mpx4n.dd
+++ b/ld/testsuite/ld-x86-64/mpx4n.dd
@@ -3,23 +3,23 @@
 
 Disassembly of section .plt:
 
-0+400260 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 6003c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 63 01 20 00 bnd jmpq \*0x200163\(%rip\)        # 6003d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+4001f0 <.plt>:
+ +[a-f0-9]+: ff 35 62 01 20 00     pushq  0x200162\(%rip\)        # 600358 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 63 01 20 00 bnd jmpq \*0x200163\(%rip\)        # 600360 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 400260 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 4001f0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+400280 <call1@plt>:
- +[a-f0-9]+: f2 ff 25 51 01 20 00 bnd jmpq \*0x200151\(%rip\)        # 6003d8 <call1>
+0+400210 <call1@plt>:
+ +[a-f0-9]+: f2 ff 25 51 01 20 00 bnd jmpq \*0x200151\(%rip\)        # 600368 <call1>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+400288 <_start>:
- +[a-f0-9]+: bf 80 02 40 00       mov    \$0x400280,%edi
+0+400218 <_start>:
+ +[a-f0-9]+: bf 10 02 40 00       mov    \$0x400210,%edi
  +[a-f0-9]+: f2 ff d7             bnd callq \*%rdi
 #pass
diff --git a/ld/testsuite/ld-x86-64/plt2.dd b/ld/testsuite/ld-x86-64/plt2.dd
index 0321428214..7c05c6ff1f 100644
--- a/ld/testsuite/ld-x86-64/plt2.dd
+++ b/ld/testsuite/ld-x86-64/plt2.dd
@@ -9,25 +9,25 @@
 
 Disassembly of section .plt:
 
-0+400290 <.plt>:
- +[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 600410 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 7c 01 20 00     jmpq   \*0x20017c\(%rip\)        # 600418 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+400220 <.plt>:
+ +[a-f0-9]+: ff 35 7a 01 20 00     pushq  0x20017a\(%rip\)        # 6003a0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 7c 01 20 00     jmpq   \*0x20017c\(%rip\)        # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
-0+4002a0 <fn1@plt>:
- +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 600420 <fn1>
+0+400230 <fn1@plt>:
+ +[a-f0-9]+: ff 25 7a 01 20 00     jmpq   \*0x20017a\(%rip\)        # 6003b0 <fn1>
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: e9 e0 ff ff ff       jmpq   400290 <.plt>
+ +[a-f0-9]+: e9 e0 ff ff ff       jmpq   400220 <.plt>
 
-0+4002b0 <fn2@plt>:
- +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 600428 <fn2>
+0+400240 <fn2@plt>:
+ +[a-f0-9]+: ff 25 72 01 20 00     jmpq   \*0x200172\(%rip\)        # 6003b8 <fn2>
  +[a-f0-9]+: 68 01 00 00 00       pushq  \$0x1
- +[a-f0-9]+: e9 d0 ff ff ff       jmpq   400290 <.plt>
+ +[a-f0-9]+: e9 d0 ff ff ff       jmpq   400220 <.plt>
 
 Disassembly of section .text:
 
-0+4002c0 <_start>:
- +[a-f0-9]+: e8 db ff ff ff       callq  4002a0 <fn1@plt>
- +[a-f0-9]+: e8 e6 ff ff ff       callq  4002b0 <fn2@plt>
- +[a-f0-9]+: 81 7c 24 08 a0 02 40 00 cmpl   \$0x4002a0,0x8\(%rsp\)
+0+400250 <_start>:
+ +[a-f0-9]+: e8 db ff ff ff       callq  400230 <fn1@plt>
+ +[a-f0-9]+: e8 e6 ff ff ff       callq  400240 <fn2@plt>
+ +[a-f0-9]+: 81 7c 24 08 30 02 40 00 cmpl   \$0x400230,0x8\(%rsp\)
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr14207.d b/ld/testsuite/ld-x86-64/pr14207.d
index 20d4d845a7..1713888ff7 100644
--- a/ld/testsuite/ld-x86-64/pr14207.d
+++ b/ld/testsuite/ld-x86-64/pr14207.d
@@ -5,12 +5,12 @@
 #target: x86_64-*-linux*
 
 Elf file type is DYN \(Shared object file\)
-Entry point 0x1c1
+Entry point 0x149
 There are 4 program headers, starting at offset 64
 
 Program Headers:
   Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
-  LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x0001c8 0x0001c8 R   0x200000
+  LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x000150 0x000150 R   0x200000
   LOAD           0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x000c.8 RW  0x200000
   DYNAMIC        0x000b.0 0x0000000000200b.0 0x0000000000200b.0 0x0001.0 0x0001.0 RW  0x8
   GNU_RELRO      0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x0004.8 R   0x1
diff --git a/ld/testsuite/ld-x86-64/pr19162.d b/ld/testsuite/ld-x86-64/pr19162.d
index 7ad90b026a..2d51dabe72 100644
--- a/ld/testsuite/ld-x86-64/pr19162.d
+++ b/ld/testsuite/ld-x86-64/pr19162.d
@@ -6,5 +6,5 @@
 #target: x86_64-*-linux*
 
 #...
-  DYNAMIC        0x000190 0x0000000000200190 0x0000000000200190 0x0000b0 0x0000b0 RW  0x8
+  DYNAMIC        0x000118 0x0000000000200118 0x0000000000200118 0x0000b0 0x0000b0 RW  0x8
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20253-1f.d b/ld/testsuite/ld-x86-64/pr20253-1f.d
index 9b0fc72898..cdf10f4c00 100644
--- a/ld/testsuite/ld-x86-64/pr20253-1f.d
+++ b/ld/testsuite/ld-x86-64/pr20253-1f.d
@@ -9,17 +9,17 @@
 
 Disassembly of section .text:
 
-0+1f8 <foo>:
+0+188 <foo>:
  +[a-f0-9]+: c3                   retq  
 
-0+1f9 <bar>:
+0+189 <bar>:
  +[a-f0-9]+: c3                   retq  
 
-0+1fa <_start>:
- +[a-f0-9]+: ff 15 08 01 20 00     callq  \*0x200108\(%rip\)        # 200308 <.*>
- +[a-f0-9]+: ff 25 0a 01 20 00     jmpq   \*0x20010a\(%rip\)        # 200310 <.*>
- +[a-f0-9]+: 48 c7 05 ff 00 20 00 00 00 00 00 movq   \$0x0,0x2000ff\(%rip\)        # 200310 <.*>
- +[a-f0-9]+: 48 83 3d ef 00 20 00 00 cmpq   \$0x0,0x2000ef\(%rip\)        # 200308 <.*>
- +[a-f0-9]+: 48 3b 0d e8 00 20 00 cmp    0x2000e8\(%rip\),%rcx        # 200308 <.*>
- +[a-f0-9]+: 48 3b 0d e9 00 20 00 cmp    0x2000e9\(%rip\),%rcx        # 200310 <.*>
+0+18a <_start>:
+ +[a-f0-9]+: ff 15 08 01 20 00     callq  \*0x200108\(%rip\)        # 200298 <.*>
+ +[a-f0-9]+: ff 25 0a 01 20 00     jmpq   \*0x20010a\(%rip\)        # 2002a0 <.*>
+ +[a-f0-9]+: 48 c7 05 ff 00 20 00 00 00 00 00 movq   \$0x0,0x2000ff\(%rip\)        # 2002a0 <.*>
+ +[a-f0-9]+: 48 83 3d ef 00 20 00 00 cmpq   \$0x0,0x2000ef\(%rip\)        # 200298 <.*>
+ +[a-f0-9]+: 48 3b 0d e8 00 20 00 cmp    0x2000e8\(%rip\),%rcx        # 200298 <.*>
+ +[a-f0-9]+: 48 3b 0d e9 00 20 00 cmp    0x2000e9\(%rip\),%rcx        # 2002a0 <.*>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20253-1l.d b/ld/testsuite/ld-x86-64/pr20253-1l.d
index 5b04442723..49aa5c156e 100644
--- a/ld/testsuite/ld-x86-64/pr20253-1l.d
+++ b/ld/testsuite/ld-x86-64/pr20253-1l.d
@@ -9,17 +9,17 @@
 
 Disassembly of section .text:
 
-0+158 <foo>:
+0+100 <foo>:
  +[a-f0-9]+: c3                   retq  
 
-0+159 <bar>:
+0+101 <bar>:
  +[a-f0-9]+: c3                   retq  
 
-0+15a <_start>:
- +[a-f0-9]+: ff 15 98 00 20 00     callq  \*0x200098\(%rip\)        # 2001f8 <.*>
- +[a-f0-9]+: ff 25 9a 00 20 00     jmpq   \*0x20009a\(%rip\)        # 200200 <.*>
- +[a-f0-9]+: 48 c7 05 8f 00 20 00 00 00 00 00 movq   \$0x0,0x20008f\(%rip\)        # 200200 <.*>
- +[a-f0-9]+: 48 83 3d 7f 00 20 00 00 cmpq   \$0x0,0x20007f\(%rip\)        # 2001f8 <.*>
- +[a-f0-9]+: 48 3b 0d 78 00 20 00 cmp    0x200078\(%rip\),%rcx        # 2001f8 <.*>
- +[a-f0-9]+: 48 3b 0d 79 00 20 00 cmp    0x200079\(%rip\),%rcx        # 200200 <.*>
+0+102 <_start>:
+ +[a-f0-9]+: ff 15 98 00 20 00     callq  \*0x200098\(%rip\)        # 2001a0 <.*>
+ +[a-f0-9]+: ff 25 9a 00 20 00     jmpq   \*0x20009a\(%rip\)        # 2001a8 <.*>
+ +[a-f0-9]+: 48 c7 05 8f 00 20 00 00 00 00 00 movq   \$0x0,0x20008f\(%rip\)        # 2001a8 <.*>
+ +[a-f0-9]+: 48 83 3d 7f 00 20 00 00 cmpq   \$0x0,0x20007f\(%rip\)        # 2001a0 <.*>
+ +[a-f0-9]+: 48 3b 0d 78 00 20 00 cmp    0x200078\(%rip\),%rcx        # 2001a0 <.*>
+ +[a-f0-9]+: 48 3b 0d 79 00 20 00 cmp    0x200079\(%rip\),%rcx        # 2001a8 <.*>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20830a-now.d b/ld/testsuite/ld-x86-64/pr20830a-now.d
index 5991b0898f..4610db4754 100644
--- a/ld/testsuite/ld-x86-64/pr20830a-now.d
+++ b/ld/testsuite/ld-x86-64/pr20830a-now.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,20 +49,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 c2 0d 20 00     pushq  0x200dc2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 c4 0d 20 00     jmpq   \*0x200dc4\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 32 0e 20 00     pushq  0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 34 0e 20 00     jmpq   \*0x200e34\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
-0+230 <func@plt>:
- +[a-f0-9]+: ff 25 c2 0d 20 00     jmpq   \*0x200dc2\(%rip\)        # 200ff8 <func>
+0+1c0 <func@plt>:
+ +[a-f0-9]+: ff 25 32 0e 20 00     jmpq   \*0x200e32\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+238 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  230 <func@plt>
- +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov    0x200db4\(%rip\),%rax        # 200ff8 <func>
+0+1c8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1c0 <func@plt>
+ +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20830a.d b/ld/testsuite/ld-x86-64/pr20830a.d
index c5b1f857eb..bbffee8873 100644
--- a/ld/testsuite/ld-x86-64/pr20830a.d
+++ b/ld/testsuite/ld-x86-64/pr20830a.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,20 +49,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 e2 0d 20 00     pushq  0x200de2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 e4 0d 20 00     jmpq   \*0x200de4\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 52 0e 20 00     pushq  0x200e52\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 54 0e 20 00     jmpq   \*0x200e54\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
-0+230 <func@plt>:
- +[a-f0-9]+: ff 25 c2 0d 20 00     jmpq   \*0x200dc2\(%rip\)        # 200ff8 <func>
+0+1c0 <func@plt>:
+ +[a-f0-9]+: ff 25 32 0e 20 00     jmpq   \*0x200e32\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+238 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  230 <func@plt>
- +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov    0x200db4\(%rip\),%rax        # 200ff8 <func>
+0+1c8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1c0 <func@plt>
+ +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20830b-now.d b/ld/testsuite/ld-x86-64/pr20830b-now.d
index 72bd5799ad..05a756ccb0 100644
--- a/ld/testsuite/ld-x86-64/pr20830b-now.d
+++ b/ld/testsuite/ld-x86-64/pr20830b-now.d
@@ -21,19 +21,19 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000188..0000000000000194
+0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000170..0000000000000180
+0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000120..0000000000000130
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000176
+  DW_CFA_advance_loc: 6 to 0000000000000126
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000180
+  DW_CFA_advance_loc: 10 to 0000000000000130
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000180..0000000000000188
+0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000130..0000000000000138
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -41,20 +41,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+170 <.plt>:
- +[a-f0-9]+: ff 35 72 0e 20 00     pushq  0x200e72\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 74 0e 20 00     jmpq   \*0x200e74\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+120 <.plt>:
+ +[a-f0-9]+: ff 35 c2 0e 20 00     pushq  0x200ec2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 c4 0e 20 00     jmpq   \*0x200ec4\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
-0+180 <func@plt>:
- +[a-f0-9]+: ff 25 72 0e 20 00     jmpq   \*0x200e72\(%rip\)        # 200ff8 <func>
+0+130 <func@plt>:
+ +[a-f0-9]+: ff 25 c2 0e 20 00     jmpq   \*0x200ec2\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+188 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  180 <func@plt>
- +[a-f0-9]+: 48 8b 05 64 0e 20 00 mov    0x200e64\(%rip\),%rax        # 200ff8 <func>
+0+138 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  130 <func@plt>
+ +[a-f0-9]+: 48 8b 05 b4 0e 20 00 mov    0x200eb4\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr20830b.d b/ld/testsuite/ld-x86-64/pr20830b.d
index 31a2e41c1b..e9a6a1ca69 100644
--- a/ld/testsuite/ld-x86-64/pr20830b.d
+++ b/ld/testsuite/ld-x86-64/pr20830b.d
@@ -21,19 +21,19 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000188..0000000000000194
+0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000170..0000000000000180
+0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000120..0000000000000130
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000176
+  DW_CFA_advance_loc: 6 to 0000000000000126
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000180
+  DW_CFA_advance_loc: 10 to 0000000000000130
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
 
-0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000180..0000000000000188
+0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000130..0000000000000138
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -41,20 +41,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+170 <.plt>:
- +[a-f0-9]+: ff 35 92 0e 20 00     pushq  0x200e92\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 94 0e 20 00     jmpq   \*0x200e94\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+120 <.plt>:
+ +[a-f0-9]+: ff 35 e2 0e 20 00     pushq  0x200ee2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 e4 0e 20 00     jmpq   \*0x200ee4\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 40 00           nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
-0+180 <func@plt>:
- +[a-f0-9]+: ff 25 72 0e 20 00     jmpq   \*0x200e72\(%rip\)        # 200ff8 <func>
+0+130 <func@plt>:
+ +[a-f0-9]+: ff 25 c2 0e 20 00     jmpq   \*0x200ec2\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 66 90                 xchg   %ax,%ax
 
 Disassembly of section .text:
 
-0+188 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  180 <func@plt>
- +[a-f0-9]+: 48 8b 05 64 0e 20 00 mov    0x200e64\(%rip\),%rax        # 200ff8 <func>
+0+138 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  130 <func@plt>
+ +[a-f0-9]+: 48 8b 05 b4 0e 20 00 mov    0x200eb4\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038a-now.d b/ld/testsuite/ld-x86-64/pr21038a-now.d
index 575e1b8938..72268fae8f 100644
--- a/ld/testsuite/ld-x86-64/pr21038a-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038a-now.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,20 +49,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 c2 0d 20 00     pushq  0x200dc2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 c3 0d 20 00 bnd jmpq \*0x200dc3\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 32 0e 20 00     pushq  0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 33 0e 20 00 bnd jmpq \*0x200e33\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
 
 Disassembly of section .plt.got:
 
-0+230 <func@plt>:
- +[a-f0-9]+: f2 ff 25 c1 0d 20 00 bnd jmpq \*0x200dc1\(%rip\)        # 200ff8 <func>
+0+1c0 <func@plt>:
+ +[a-f0-9]+: f2 ff 25 31 0e 20 00 bnd jmpq \*0x200e31\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+238 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  230 <func@plt>
- +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov    0x200db4\(%rip\),%rax        # 200ff8 <func>
+0+1c8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1c0 <func@plt>
+ +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038a.d b/ld/testsuite/ld-x86-64/pr21038a.d
index 66ed3ff7ae..1cc82e2479 100644
--- a/ld/testsuite/ld-x86-64/pr21038a.d
+++ b/ld/testsuite/ld-x86-64/pr21038a.d
@@ -20,7 +20,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -29,18 +29,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -48,20 +48,20 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 e2 0d 20 00     pushq  0x200de2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 e3 0d 20 00 bnd jmpq \*0x200de3\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 52 0e 20 00     pushq  0x200e52\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 53 0e 20 00 bnd jmpq \*0x200e53\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
 
 Disassembly of section .plt.got:
 
-0+230 <func@plt>:
- +[a-f0-9]+: f2 ff 25 c1 0d 20 00 bnd jmpq \*0x200dc1\(%rip\)        # 200ff8 <func>
+0+1c0 <func@plt>:
+ +[a-f0-9]+: f2 ff 25 31 0e 20 00 bnd jmpq \*0x200e31\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+238 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  230 <func@plt>
- +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov    0x200db4\(%rip\),%rax        # 200ff8 <func>
+0+1c8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1c0 <func@plt>
+ +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038b-now.d b/ld/testsuite/ld-x86-64/pr21038b-now.d
index 67246e62ac..f4a56530a5 100644
--- a/ld/testsuite/ld-x86-64/pr21038b-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038b-now.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000248..000000000000024d
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000240
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001d0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000240..0000000000000248
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001d0..00000000000001d8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,22 +49,22 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 c2 0d 20 00     pushq  0x200dc2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 c3 0d 20 00 bnd jmpq \*0x200dc3\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 32 0e 20 00     pushq  0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 33 0e 20 00 bnd jmpq \*0x200e33\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1b0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+240 <func@plt>:
- +[a-f0-9]+: f2 ff 25 b1 0d 20 00 bnd jmpq \*0x200db1\(%rip\)        # 200ff8 <func>
+0+1d0 <func@plt>:
+ +[a-f0-9]+: f2 ff 25 21 0e 20 00 bnd jmpq \*0x200e21\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+248 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  240 <func@plt>
+0+1d8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1d0 <func@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038b.d b/ld/testsuite/ld-x86-64/pr21038b.d
index 69888dc6f0..5ba58db342 100644
--- a/ld/testsuite/ld-x86-64/pr21038b.d
+++ b/ld/testsuite/ld-x86-64/pr21038b.d
@@ -20,7 +20,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000248..000000000000024d
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -29,18 +29,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000240
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001d0
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000226
+  DW_CFA_advance_loc: 6 to 00000000000001b6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000230
+  DW_CFA_advance_loc: 10 to 00000000000001c0
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000240..0000000000000248
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001d0..00000000000001d8
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -48,22 +48,22 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 e2 0d 20 00     pushq  0x200de2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 e3 0d 20 00 bnd jmpq \*0x200de3\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1b0 <.plt>:
+ +[a-f0-9]+: ff 35 52 0e 20 00     pushq  0x200e52\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 53 0e 20 00 bnd jmpq \*0x200e53\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1b0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.sec:
 
-0+240 <func@plt>:
- +[a-f0-9]+: f2 ff 25 d1 0d 20 00 bnd jmpq \*0x200dd1\(%rip\)        # 201018 <func>
+0+1d0 <func@plt>:
+ +[a-f0-9]+: f2 ff 25 41 0e 20 00 bnd jmpq \*0x200e41\(%rip\)        # 201018 <func>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+248 <foo>:
- +[a-f0-9]+: e8 f3 ff ff ff       callq  240 <func@plt>
+0+1d8 <foo>:
+ +[a-f0-9]+: e8 f3 ff ff ff       callq  1d0 <func@plt>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038c-now.d b/ld/testsuite/ld-x86-64/pr21038c-now.d
index 3d09051bd5..f8d7a7fc3e 100644
--- a/ld/testsuite/ld-x86-64/pr21038c-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038c-now.d
@@ -21,7 +21,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000290..00000000000002a1
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -30,18 +30,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000260..0000000000000280
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000210
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000266
+  DW_CFA_advance_loc: 6 to 00000000000001f6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000270
+  DW_CFA_advance_loc: 10 to 0000000000000200
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000280..0000000000000288
+0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000210..0000000000000218
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -50,7 +50,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000288..0000000000000290
+0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000218..0000000000000220
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -58,30 +58,30 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+260 <.plt>:
- +[a-f0-9]+: ff 35 7a 0d 20 00     pushq  0x200d7a\(%rip\)        # 200fe0 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 7b 0d 20 00 bnd jmpq \*0x200d7b\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1f0 <.plt>:
+ +[a-f0-9]+: ff 35 ea 0d 20 00     pushq  0x200dea\(%rip\)        # 200fe0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 eb 0d 20 00 bnd jmpq \*0x200deb\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 260 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1f0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.got:
 
-0+280 <func1@plt>:
- +[a-f0-9]+: f2 ff 25 71 0d 20 00 bnd jmpq \*0x200d71\(%rip\)        # 200ff8 <func1>
+0+210 <func1@plt>:
+ +[a-f0-9]+: f2 ff 25 e1 0d 20 00 bnd jmpq \*0x200de1\(%rip\)        # 200ff8 <func1>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+288 <func2@plt>:
- +[a-f0-9]+: f2 ff 25 61 0d 20 00 bnd jmpq \*0x200d61\(%rip\)        # 200ff0 <func2>
+0+218 <func2@plt>:
+ +[a-f0-9]+: f2 ff 25 d1 0d 20 00 bnd jmpq \*0x200dd1\(%rip\)        # 200ff0 <func2>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+290 <foo>:
- +[a-f0-9]+: e8 eb ff ff ff       callq  280 <func1@plt>
- +[a-f0-9]+: e8 ee ff ff ff       callq  288 <func2@plt>
- +[a-f0-9]+: 48 8b 05 57 0d 20 00 mov    0x200d57\(%rip\),%rax        # 200ff8 <func1>
+0+220 <foo>:
+ +[a-f0-9]+: e8 eb ff ff ff       callq  210 <func1@plt>
+ +[a-f0-9]+: e8 ee ff ff ff       callq  218 <func2@plt>
+ +[a-f0-9]+: 48 8b 05 c7 0d 20 00 mov    0x200dc7\(%rip\),%rax        # 200ff8 <func1>
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr21038c.d b/ld/testsuite/ld-x86-64/pr21038c.d
index b249067f2f..c84eee6606 100644
--- a/ld/testsuite/ld-x86-64/pr21038c.d
+++ b/ld/testsuite/ld-x86-64/pr21038c.d
@@ -20,7 +20,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000290..00000000000002a1
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -29,18 +29,18 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000260..0000000000000280
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000210
   DW_CFA_def_cfa_offset: 16
-  DW_CFA_advance_loc: 6 to 0000000000000266
+  DW_CFA_advance_loc: 6 to 00000000000001f6
   DW_CFA_def_cfa_offset: 24
-  DW_CFA_advance_loc: 10 to 0000000000000270
+  DW_CFA_advance_loc: 10 to 0000000000000200
   DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000280..0000000000000288
+0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000210..0000000000000218
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -49,7 +49,7 @@ Contents of the .eh_frame section:
   DW_CFA_nop
   DW_CFA_nop
 
-0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000288..0000000000000290
+0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000218..0000000000000220
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
@@ -57,30 +57,30 @@ Contents of the .eh_frame section:
 
 Disassembly of section .plt:
 
-0+260 <.plt>:
- +[a-f0-9]+: ff 35 a2 0d 20 00     pushq  0x200da2\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 a3 0d 20 00 bnd jmpq \*0x200da3\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+0+1f0 <.plt>:
+ +[a-f0-9]+: ff 35 12 0e 20 00     pushq  0x200e12\(%rip\)        # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 13 0e 20 00 bnd jmpq \*0x200e13\(%rip\)        # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+: 0f 1f 00             nopl   \(%rax\)
  +[a-f0-9]+: 68 00 00 00 00       pushq  \$0x0
- +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 260 <.plt>
+ +[a-f0-9]+: f2 e9 e5 ff ff ff     bnd jmpq 1f0 <.plt>
  +[a-f0-9]+: 0f 1f 44 00 00       nopl   0x0\(%rax,%rax,1\)
 
 Disassembly of section .plt.got:
 
-0+280 <func1@plt>:
- +[a-f0-9]+: f2 ff 25 71 0d 20 00 bnd jmpq \*0x200d71\(%rip\)        # 200ff8 <func1>
+0+210 <func1@plt>:
+ +[a-f0-9]+: f2 ff 25 e1 0d 20 00 bnd jmpq \*0x200de1\(%rip\)        # 200ff8 <func1>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .plt.sec:
 
-0+288 <func2@plt>:
- +[a-f0-9]+: f2 ff 25 89 0d 20 00 bnd jmpq \*0x200d89\(%rip\)        # 201018 <func2>
+0+218 <func2@plt>:
+ +[a-f0-9]+: f2 ff 25 f9 0d 20 00 bnd jmpq \*0x200df9\(%rip\)        # 201018 <func2>
  +[a-f0-9]+: 90                   nop
 
 Disassembly of section .text:
 
-0+290 <foo>:
- +[a-f0-9]+: e8 eb ff ff ff       callq  280 <func1@plt>
- +[a-f0-9]+: e8 ee ff ff ff       callq  288 <func2@plt>
- +[a-f0-9]+: 48 8b 05 57 0d 20 00 mov    0x200d57\(%rip\),%rax        # 200ff8 <func1>
+0+220 <foo>:
+ +[a-f0-9]+: e8 eb ff ff ff       callq  210 <func1@plt>
+ +[a-f0-9]+: e8 ee ff ff ff       callq  218 <func2@plt>
+ +[a-f0-9]+: 48 8b 05 c7 0d 20 00 mov    0x200dc7\(%rip\),%rax        # 200ff8 <func1>
 #pass
diff --git a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
index 4e0d1ab5ab..15f28acdbc 100644
--- a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
@@ -18,11 +18,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+100303b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+10030410 [0-9a-f]+ 0+40 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+140 10 +WA +6 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10030550 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030570 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10030348 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+100303a8 [0-9a-f]+ 0+40 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303a8 [0-9a-f]+ 0+140 10 +WA +6 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+100304e8 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030508 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -39,10 +39,10 @@ Program Headers:
  +INTERP.*
 .*Requesting program interpreter.*
  +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E +0x10000
- +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+3b0 0x0+3b0 R +0x10000
- +LOAD +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+1e0 0x0+1e0 RW +0x10000
- +DYNAMIC +0x0+410 0x0+10030410 0x0+10030410 0x0+140 0x0+140 RW +0x8
- +TLS +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+60 0x0+a0 R +0x1
+ +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+348 0x0+348 R +0x10000
+ +LOAD +0x0+348 0x0+10030348 0x0+10030348 0x0+1e0 0x0+1e0 RW +0x10000
+ +DYNAMIC +0x0+3a8 0x0+100303a8 0x0+100303a8 0x0+140 0x0+140 RW +0x8
+ +TLS +0x0+348 0x0+10030348 0x0+10030348 0x0+60 0x0+a0 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -71,11 +71,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +13 _edata
-.* NOTYPE +GLOBAL +DEFAULT +13 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsbin.rd b/ld/testsuite/ld-x86-64/tlsbin.rd
index 81ea164bc0..02b05d98a0 100644
--- a/ld/testsuite/ld-x86-64/tlsbin.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin.rd
@@ -69,11 +69,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +13 _edata
-.* NOTYPE +GLOBAL +DEFAULT +13 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
index 1f5b782217..ffaf585de1 100644
--- a/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
@@ -16,11 +16,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynsym +.*
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+100303b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+10030410 [0-9a-f]+ 0+40 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+100 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10030510 [0-9a-f]+ 0+28 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030538 [0-9a-f]+ 0+18 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10030348 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+100303a8 [0-9a-f]+ 0+40 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303a8 [0-9a-f]+ 0+100 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+100304a8 [0-9a-f]+ 0+28 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304d0 [0-9a-f]+ 0+18 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -37,10 +37,10 @@ Program Headers:
  +INTERP.*
 .*Requesting program interpreter.*
  +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E +0x10000
- +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+3b0 0x0+3b0 R +0x10000
- +LOAD +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+1a0 0x0+1a0 RW +0x10000
- +DYNAMIC +0x0+410 0x0+10030410 0x0+10030410 0x0+100 0x0+100 RW +0x8
- +TLS +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+60 0x0+a0 R +0x1
+ +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+348 0x0+348 R +0x10000
+ +LOAD +0x0+348 0x0+10030348 0x0+10030348 0x0+1a0 0x0+1a0 RW +0x10000
+ +DYNAMIC +0x0+3a8 0x0+100303a8 0x0+100303a8 0x0+100 0x0+100 RW +0x8
+ +TLS +0x0+348 0x0+10030348 0x0+10030348 0x0+60 0x0+a0 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -66,11 +66,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsbin2.rd b/ld/testsuite/ld-x86-64/tlsbin2.rd
index 5fb159942b..26cce6aa7f 100644
--- a/ld/testsuite/ld-x86-64/tlsbin2.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin2.rd
@@ -64,11 +64,8 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* TLS +GLOBAL +DEFAULT +UND sG5
 .* TLS +GLOBAL +DEFAULT +UND sG2
 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
 .* TLS +GLOBAL +DEFAULT +UND sG6
 .* TLS +GLOBAL +DEFAULT +UND sG1
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
index 2c046f4fd3..670958afb8 100644
--- a/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
@@ -16,11 +16,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynsym +.*
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+10030370 0+370 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+100303d0 0+3d0 0+40 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303d0 0+3d0 0+100 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+100304d0 0+4d0 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304f0 0+4f0 0+18 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10030300 0+300 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+10030360 0+360 0+40 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030360 0+360 0+100 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+10030460 0+460 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030480 0+480 0+18 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -37,10 +37,10 @@ Program Headers:
  +INTERP.*
 .*Requesting program interpreter.*
  +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E 0x10000
- +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+370 0x0+370 R +0x10000
- +LOAD +0x0+370 0x0+10030370 0x0+10030370 0x0+198 0x0+198 RW +0x10000
- +DYNAMIC +0x0+3d0 0x0+100303d0 0x0+100303d0 0x0+100 0x0+100 RW +0x8
- +TLS +0x0+370 0x0+10030370 0x0+10030370 0x0+60 0x0+a0 R +0x1
+ +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+300 0x0+300 R +0x10000
+ +LOAD +0x0+300 0x0+10030300 0x0+10030300 0x0+198 0x0+198 RW +0x10000
+ +DYNAMIC +0x0+360 0x0+10030360 0x0+10030360 0x0+100 0x0+100 RW +0x8
+ +TLS +0x0+300 0x0+10030300 0x0+10030300 0x0+60 0x0+a0 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -54,21 +54,18 @@ Program Headers:
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+100304d0 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
-0+100304d8 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
-0+100304e0 +0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-0+100304e8 +0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
+0+10030460 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
+0+10030468 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
+0+10030470 +0+300000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+0+10030478 +0+400000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
  +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND *
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -104,8 +101,8 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+9c +0 +TLS +LOCAL +DEFAULT +8 bl8
 .* FILE +LOCAL +DEFAULT +ABS
  +[0-9]+: 0+a0 +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_
- +[0-9]+: 0+100303d0 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC
- +[0-9]+: 0+100304f0 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: 0+10030360 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC
+ +[0-9]+: 0+10030480 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_
  +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8
  +[0-9]+: 0+7c +0 +TLS +GLOBAL +DEFAULT +8 bg8
  +[0-9]+: 0+74 +0 +TLS +GLOBAL +DEFAULT +8 bg6
diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.rd b/ld/testsuite/ld-x86-64/tlsbindesc.rd
index c94014a993..13978b7b67 100644
--- a/ld/testsuite/ld-x86-64/tlsbindesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsbindesc.rd
@@ -54,19 +54,16 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 0+601360 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
 0+601368 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
-0+601370 +0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-0+601378 +0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
+0+601370 +0+300000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+0+601378 +0+400000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
  +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND *
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
diff --git a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
index 7c9d77a7ec..1a7c693cdb 100644
--- a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
@@ -17,11 +17,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+10010450 [0-9a-f]+ +0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+100104b0 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104b0 [0-9a-f]+ 0+150 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10010600 [0-9a-f]+ 0+48 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010648 [0-9a-f]+ 0+68 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+100103e8 [0-9a-f]+ +0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+10010448 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010448 [0-9a-f]+ 0+150 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+10010598 [0-9a-f]+ 0+48 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+100105e0 [0-9a-f]+ 0+68 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -36,9 +36,9 @@ Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
  +LOAD +0x[0-9a-f]+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
  +LOAD +0x[0-9a-f]+ 0x0+10000000 0x0+10000000 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x10000
- +LOAD +0x[0-9a-f]+ 0x0+10010450 0x0+10010450 0x0+260 0x0+260 RW +0x10000
- +DYNAMIC +0x[0-9a-f]+ 0x0+100104b0 0x0+100104b0 0x0+150 0x0+150 RW +0x8
- +TLS +0x[0-9a-f]+ 0x0+10010450 0x0+10010450 0x0+60 0x0+80 R +0x1
+ +LOAD +0x[0-9a-f]+ 0x0+100103e8 0x0+100103e8 0x0+260 0x0+260 RW +0x10000
+ +DYNAMIC +0x[0-9a-f]+ 0x0+10010448 0x0+10010448 0x0+150 0x0+150 RW +0x8
+ +TLS +0x[0-9a-f]+ 0x0+100103e8 0x0+100103e8 0x0+60 0x0+80 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -60,7 +60,7 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries:
  0x[0-9a-f]+ +\(PLTREL\).*
  0x[0-9a-f]+ +\(JMPREL\).*
  0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x40
- 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x10010640
+ 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x100105d8
  0x[0-9a-f]+ +\(RELA\).*
  0x[0-9a-f]+ +\(RELASZ\).*
  0x[0-9a-f]+ +\(RELAENT\).*
@@ -69,22 +69,22 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries:
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+10010600 +[0-9a-f]+ R_X86_64_TPOFF64 +24
-0+10010608 +[0-9a-f]+ R_X86_64_TPOFF64 +30
-0+10010610 +[0-9a-f]+ R_X86_64_TPOFF64 +64
-0+10010620 +[0-9a-f]+ R_X86_64_TPOFF64 +50
-0+10010628 +[0-9a-f]+ R_X86_64_TPOFF64 +70
-0+10010638 +[0-9a-f]+ R_X86_64_TPOFF64 +44
-0+10010618 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0
-0+10010630 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0
+0+10010598 +[0-9a-f]+ R_X86_64_TPOFF64 +24
+0+100105a0 +[0-9a-f]+ R_X86_64_TPOFF64 +30
+0+100105a8 +[0-9a-f]+ R_X86_64_TPOFF64 +64
+0+100105b8 +[0-9a-f]+ R_X86_64_TPOFF64 +50
+0+100105c0 +[0-9a-f]+ R_X86_64_TPOFF64 +70
+0+100105d0 +[0-9a-f]+ R_X86_64_TPOFF64 +44
+0+100105b0 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0
+0+100105c8 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0
 
 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 5 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+10010690 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0
-0+10010660 +[0-9a-f]+ R_X86_64_TLSDESC +20
-0+100106a0 +[0-9a-f]+ R_X86_64_TLSDESC +40
-0+10010670 +[0-9a-f]+ R_X86_64_TLSDESC +60
-0+10010680 +[0-9a-f]+ R_X86_64_TLSDESC +0
+0+10010628 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0
+0+100105f8 +[0-9a-f]+ R_X86_64_TLSDESC +20
+0+10010638 +[0-9a-f]+ R_X86_64_TLSDESC +40
+0+10010608 +[0-9a-f]+ R_X86_64_TLSDESC +60
+0+10010618 +[0-9a-f]+ R_X86_64_TLSDESC +0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -95,12 +95,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +2 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -129,7 +126,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* 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+100104b0 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC
+ +[0-9]+: 0+10010448 +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
@@ -143,7 +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+10010648 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: 0+100105e0 +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
@@ -152,9 +149,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +2 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlsdesc.rd b/ld/testsuite/ld-x86-64/tlsdesc.rd
index 18060c0c59..4fcd8826ae 100644
--- a/ld/testsuite/ld-x86-64/tlsdesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsdesc.rd
@@ -15,7 +15,7 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .plt +PROGBITS +0+420 0+420 0+20 10 +AX +0 +0 +(4|16)
+ +\[[ 0-9]+\] .plt +PROGBITS +0+3b0 0+3b0 0+20 10 +AX +0 +0 +(4|16)
  +\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+153 00 +AX +0 +0 4096
  +\[[ 0-9]+\] .tdata +PROGBITS +0+201153 0+1153 0+60 00 WAT +0 +0 +1
  +\[[ 0-9]+\] .tbss +NOBITS +0+2011b3 0+11b3 0+20 00 WAT +0 +0 +1
@@ -57,7 +57,7 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries:
  0x[0-9a-f]+ +\(PLTRELSZ\).*
  0x[0-9a-f]+ +\(PLTREL\).*
  0x[0-9a-f]+ +\(JMPREL\).*
- 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x430
+ 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x3c0
  0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x201348
  0x[0-9a-f]+ +\(RELA\).*
  0x[0-9a-f]+ +\(RELASZ\).*
@@ -93,12 +93,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -150,9 +147,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1
  +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
  +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2
  +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6
  +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
index 934ba03eb4..b0421d9103 100644
--- a/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
@@ -50,14 +50,14 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
 [0-9a-f]+ +0+300000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0
 [0-9a-f]+ +0+300000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0
 [0-9a-f]+ +0+400000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0
-[0-9a-f]+ +0+700000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-[0-9a-f]+ +0+900000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0
-[0-9a-f]+ +0+900000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+[0-9a-f]+ +0+800000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+800000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0
 
 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +0+500000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
-[0-9a-f]+ +0+900000024 R_X86_64_TLSDESC +0+ sG1 \+ 0
+[0-9a-f]+ +0+800000024 R_X86_64_TLSDESC +0+ sG1 \+ 0
 [0-9a-f]+ +0+300000024 R_X86_64_TLSDESC +0+ sG2 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
@@ -68,12 +68,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -95,9 +92,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
diff --git a/ld/testsuite/ld-x86-64/tlsgdesc.rd b/ld/testsuite/ld-x86-64/tlsgdesc.rd
index 729d12e64d..77e8ae3d81 100644
--- a/ld/testsuite/ld-x86-64/tlsgdesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsgdesc.rd
@@ -48,14 +48,14 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
 [0-9a-f]+ +0+300000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0
 [0-9a-f]+ +0+300000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0
 [0-9a-f]+ +0+400000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0
-[0-9a-f]+ +0+700000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-[0-9a-f]+ +0+900000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0
-[0-9a-f]+ +0+900000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+[0-9a-f]+ +0+800000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0
+[0-9a-f]+ +0+800000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0
 
 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +0+500000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
-[0-9a-f]+ +0+900000024 R_X86_64_TLSDESC +0+ sG1 \+ 0
+[0-9a-f]+ +0+800000024 R_X86_64_TLSDESC +0+ sG1 \+ 0
 [0-9a-f]+ +0+300000024 R_X86_64_TLSDESC +0+ sG2 \+ 0
 
 Symbol table '\.dynsym' contains [0-9]+ entries:
@@ -66,12 +66,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -93,9 +90,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4
  +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6
  +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1
  +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
diff --git a/ld/testsuite/ld-x86-64/tlspic-nacl.rd b/ld/testsuite/ld-x86-64/tlspic-nacl.rd
index 40ba0d595c..f4f8772382 100644
--- a/ld/testsuite/ld-x86-64/tlspic-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlspic-nacl.rd
@@ -17,11 +17,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+100104b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+10010510 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010510 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10010640 [0-9a-f]+ 0+90 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106d0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10010440 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+100104a0 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104a0 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+100105d0 [0-9a-f]+ 0+90 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010660 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -35,10 +35,10 @@ There are [0-9]+ program headers, starting at offset [0-9]+
 Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
  +LOAD +0x0+10000 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
- +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+4b0 0x0+4b0 R +0x10000
- +LOAD +0x0+4b0 0x0+100104b0 0x0+100104b0 0x0+240 0x0+240 RW +0x10000
- +DYNAMIC +0x0+510 0x0+10010510 0x0+10010510 0x0+130 0x0+130 RW +0x8
- +TLS +0x0+4b0 0x0+100104b0 0x0+100104b0 0x0+60 0x0+80 R +0x1
+ +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+440 0x0+440 R +0x10000
+ +LOAD +0x0+440 0x0+10010440 0x0+10010440 0x0+240 0x0+240 RW +0x10000
+ +DYNAMIC +0x0+4a0 0x0+100104a0 0x0+100104a0 0x0+130 0x0+130 RW +0x8
+ +TLS +0x0+440 0x0+10010440 0x0+10010440 0x0+60 0x0+80 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -79,12 +79,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +2 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -136,9 +133,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +2 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlspic.rd b/ld/testsuite/ld-x86-64/tlspic.rd
index 8195d53fc8..b3547eb945 100644
--- a/ld/testsuite/ld-x86-64/tlspic.rd
+++ b/ld/testsuite/ld-x86-64/tlspic.rd
@@ -77,12 +77,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -134,9 +131,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
index c1c8041f8c..d6082d6d3c 100644
--- a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
@@ -17,11 +17,11 @@ Section Headers:
  +\[[ 0-9]+\] .dynstr +.*
  +\[[ 0-9]+\] .rela.dyn +.*
  +\[[ 0-9]+\] .rela.plt +.*
- +\[[ 0-9]+\] .tdata +PROGBITS +0+100104c8 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .tbss +NOBITS +0+10010528 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010528 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
- +\[[ 0-9]+\] .got +PROGBITS +0+10010658 [0-9a-f]+ 0+98 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106f0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .tdata +PROGBITS +0+10010458 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .tbss +NOBITS +0+100104b8 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
+ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104b8 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
+ +\[[ 0-9]+\] .got +PROGBITS +0+100105e8 [0-9a-f]+ 0+98 08 +WA +0 +0 +8
+ +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010680 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
  +\[[ 0-9]+\] .shstrtab +.*
@@ -35,10 +35,10 @@ There are [0-9]+ program headers, starting at offset [0-9]+
 Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
  +LOAD +0x0+10000 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
- +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+4c8 0x0+4c8 R +0x10000
- +LOAD +0x0+4c8 0x0+100104c8 0x0+100104c8 0x0+248 0x0+248 RW +0x10000
- +DYNAMIC +0x0+528 0x0+10010528 0x0+10010528 0x0+130 0x0+130 RW +0x8
- +TLS +0x0+4c8 0x0+100104c8 0x0+100104c8 0x0+60 0x0+80 R +0x1
+ +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+458 0x0+458 R +0x10000
+ +LOAD +0x0+458 0x0+10010458 0x0+10010458 0x0+248 0x0+248 RW +0x10000
+ +DYNAMIC +0x0+4b8 0x0+100104b8 0x0+100104b8 0x0+130 0x0+130 RW +0x8
+ +TLS +0x0+458 0x0+10010458 0x0+10010458 0x0+60 0x0+80 R +0x1
 
  Section to Segment mapping:
  +Segment Sections...
@@ -80,12 +80,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +2 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -137,9 +134,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +2 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
diff --git a/ld/testsuite/ld-x86-64/tlspic2.rd b/ld/testsuite/ld-x86-64/tlspic2.rd
index 684ae2147a..e02c33a6ae 100644
--- a/ld/testsuite/ld-x86-64/tlspic2.rd
+++ b/ld/testsuite/ld-x86-64/tlspic2.rd
@@ -74,12 +74,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
 
 Symbol table '\.symtab' contains [0-9]+ entries:
  +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -131,9 +128,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
 .* TLS +GLOBAL +DEFAULT +8 sg1
 .* FUNC +GLOBAL +DEFAULT +7 fn1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
 .* TLS +GLOBAL +DEFAULT +8 sg2
 .* TLS +GLOBAL +DEFAULT +8 sg6
 .* TLS +GLOBAL +DEFAULT +8 sg7
-.* NOTYPE +GLOBAL +DEFAULT +12 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end

--
Alan Modra
Australia Development Lab, IBM
Reply | Threaded
Open this post in threaded view
|

Re: Define various symbols conditionally in shared libraries executables

H.J. Lu-30
On Wed, Jun 06, 2018 at 10:00:43PM +0930, Alan Modra wrote:

> This should be applied on top of the patches attached to
> https://sourceware.org/ml/binutils/2018-06/msg00034.html
>
> The values of symbols in shared libraries like _end, _edata, and
> __bss_start are generally not that useful outside of the shared
> library.  This patch defines them conditionally with PROVIDE, since a
> shared library might need the local value.  An example is glibc ld.so
> local access to "_begin", "_etext" and "_end".  We can't use
> PROVIDE_HIDDEN because the shared library might need the value of the
> symbol in the executable.  An example is freebsd libc dynamic access
> to "_end".
>
> PR ld/23161
> * emulparams/aarch64cloudabi.sh: PROVIDE __bss_start__, _bss_end__,
> and __end__ in shared libraries.
> * emulparams/aarch64fbsd.sh: Likewise.
> * emulparams/aarch64linux.sh: Likewise.
> * emulparams/aarch64linux32.sh: Likewise.
> * emulparams/armelf_fuchsia.sh: Likewise.
> * emulparams/armelf_linux.sh: Likewise.
> * emulparams/armelf_phoenix.sh: Likewise.
> * emulparams/aarch64elf.sh: Likewise, and __data_start
> * emulparams/aarch64elf32.sh: Likewise.
> * emulparams/armelf.sh: Likewise.
> * emulparams/armnto.sh: Likewise.
> * emulparams/elf32bmip.sh: Remove duplicate ". = ." from
> OTHER_GOT_SYMBOLS.  PROVIDE _ftext, _fdata, and _fbss in shared libs.
> * emulparams/elf32bmipn32-defs.sh: Likewise.
> * emulparams/elf32frv.sh: PROVIDE __end and __data_start in shared libs.
> * emulparams/elf32lriscv-defs.sh: Tidy.
> * emulparams/elf32mcore.sh: PROVIDE __bss_start and _bss_end in
> shared libs
> * emulparams/elf32ppccommon.sh: PROVIDE __end in shared libs.
> * emulparams/elf32rl78.sh: Tidy.
> * emulparams/i386nto.sh: PROVIDE _btext in shared libs.
> * emulparams/shelf_nto.sh: Likewise.
> * emulparams/shlelf_nto.sh: Likewise.
> * emulparams/score3_elf.sh: PROVIDE _gp, _bss_start__, _bss_end__,
> __bss_end__, __end__, _fdata, _sdata_begin, and _bss_start in
> shared libs.
> * scripttempl/elf.sc: Don't use EXECUTABLE_SYMBOLS for shared
> libraries.  PROVIDE _edata, edata, __bss_start, and _end in shared
> libraries.
> * testsuite/ld-elf/pr23161.map,
> * testsuite/ld-elf/pr23161.rd,
> * testsuite/ld-elf/pr23161a.c,
> * testsuite/ld-elf/pr23161b.c: New files.
> * testsuite/ld-elf/shared.exp: Run ld/23161 tests.
> * testsuite/ld-elf/pr23162.rd,

Here is a different approach for x86, which includes more testcases
for PR ld/23161.  Do they pass with your patch?


H.J.
---
_edata, __bss_start, and _end are defined by linker script.  FreeBSD's
libc.so uses executable's _end to initialize curbrk.  Glibc's ld.so
references _end as hidden symbol.  But there is no good reason to export
unreferenced _edata, __bss_start, and _end defined in shared libraries.
We should hide unreferenced _edata, __bss_start, and _end in shared
libraries.

bfd/

        PR ld/23161
        * elfxx-x86.c (elf_x86_hide_linker_defined): New function.
        (_bfd_x86_elf_link_check_relocs): Use it to hide unrefernced
        __bss_start, _end and _edata in shared libraries.

ld/

        PR ld/23161
        * testsuite/ld-elf/pr23161.map: New file.
        * testsuite/ld-elf/pr23161a.c: Likewise.
        * testsuite/ld-elf/pr23161a.rd: Likewise.
        * testsuite/ld-elf/pr23161b.c: Likewise.
        * testsuite/ld-elf/pr23161b.rd: Likewise.
        * testsuite/ld-elf/pr23161c.c: Likewise.
        * testsuite/ld-elf/pr23161c.rd: Likewise.
        * testsuite/ld-elf/pr23161d.rd: Likewise.
        * testsuite/ld-elf/pr23162.rd: Remove  _edata, __bss_start, and
        _end.
        * testsuite/ld-elf/shared.exp: Run ld/23161 tests.
---
 bfd/elfxx-x86.c                 | 29 ++++++++++++++++
 ld/testsuite/ld-elf/pr23161.map |  4 +++
 ld/testsuite/ld-elf/pr23161a.c  |  9 +++++
 ld/testsuite/ld-elf/pr23161a.rd | 19 +++++++++++
 ld/testsuite/ld-elf/pr23161b.c  | 23 +++++++++++++
 ld/testsuite/ld-elf/pr23161b.rd | 14 ++++++++
 ld/testsuite/ld-elf/pr23161c.c  |  9 +++++
 ld/testsuite/ld-elf/pr23161c.rd | 12 +++++++
 ld/testsuite/ld-elf/pr23161d.rd |  8 +++++
 ld/testsuite/ld-elf/pr23162.rd  |  9 +----
 ld/testsuite/ld-elf/shared.exp  | 60 +++++++++++++++++++++++++++++++++
 11 files changed, 188 insertions(+), 8 deletions(-)
 create mode 100644 ld/testsuite/ld-elf/pr23161.map
 create mode 100644 ld/testsuite/ld-elf/pr23161a.c
 create mode 100644 ld/testsuite/ld-elf/pr23161a.rd
 create mode 100644 ld/testsuite/ld-elf/pr23161b.c
 create mode 100644 ld/testsuite/ld-elf/pr23161b.rd
 create mode 100644 ld/testsuite/ld-elf/pr23161c.c
 create mode 100644 ld/testsuite/ld-elf/pr23161c.rd
 create mode 100644 ld/testsuite/ld-elf/pr23161d.rd

diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
index 3a7573f7a2..e0298edddf 100644
--- a/bfd/elfxx-x86.c
+++ b/bfd/elfxx-x86.c
@@ -876,6 +876,27 @@ elf_x86_linker_defined (struct bfd_link_info *info, const char *name)
     }
 }
 
+/* Hide a linker-defined symbol, NAME, if it isn't referenced in a
+   relocatable object file.  */
+
+static void
+elf_x86_hide_linker_defined (struct bfd_link_info *info,
+     const char *name)
+{
+  struct elf_link_hash_entry *h;
+
+  h = elf_link_hash_lookup (elf_hash_table (info), name,
+    FALSE, FALSE, FALSE);
+  if (h == NULL)
+    return;
+
+  while (h->root.type == bfd_link_hash_indirect)
+    h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+  if (!h->ref_regular)
+    _bfd_elf_link_hash_hide_symbol (info, h, TRUE);
+}
+
 bfd_boolean
 _bfd_x86_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
 {
@@ -916,6 +937,14 @@ _bfd_x86_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
       elf_x86_linker_defined (info, "_end");
       elf_x86_linker_defined (info, "_edata");
     }
+  else
+    {
+      /* Hide unreferenced __bss_start, _end and _edata in
+         shared libraries.  */
+      elf_x86_hide_linker_defined (info, "__bss_start");
+      elf_x86_hide_linker_defined (info, "_end");
+      elf_x86_hide_linker_defined (info, "_edata");
+    }
  }
     }
 
diff --git a/ld/testsuite/ld-elf/pr23161.map b/ld/testsuite/ld-elf/pr23161.map
new file mode 100644
index 0000000000..cc817dc52a
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161.map
@@ -0,0 +1,4 @@
+FOO {
+  global:
+    *;
+};
diff --git a/ld/testsuite/ld-elf/pr23161a.c b/ld/testsuite/ld-elf/pr23161a.c
new file mode 100644
index 0000000000..707ed04bfd
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161a.c
@@ -0,0 +1,9 @@
+extern char *_end;
+extern char *_edata;
+extern char *__bss_start;
+
+int
+foo (void)
+{
+  return _end[0] + _edata[0] + __bss_start[0];
+}
diff --git a/ld/testsuite/ld-elf/pr23161a.rd b/ld/testsuite/ld-elf/pr23161a.rd
new file mode 100644
index 0000000000..1a7e563949
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161a.rd
@@ -0,0 +1,19 @@
+Relocation section '\.rel(a|)\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
+ +Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|)
+#...
+[a-f0-9]+ +[0-9a-f]+ +R_.*_GLOB_DAT +[a-f0-9]+ +__bss_start(@@FOO|)( \+ 0|)
+#...
+[a-f0-9]+ +[0-9a-f]+ +R_.*_GLOB_DAT +[a-f0-9]+ +_edata(@@FOO|)( \+ 0|)
+#...
+[a-f0-9]+ +[0-9a-f]+ +R_.*_GLOB_DAT +[a-f0-9]+ +_end(@@FOO|)( \+ 0|)
+#...
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+ +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata(@@FOO|)
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end(@@FOO|)
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start(@@FOO|)
+#...
diff --git a/ld/testsuite/ld-elf/pr23161b.c b/ld/testsuite/ld-elf/pr23161b.c
new file mode 100644
index 0000000000..0112f771b1
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161b.c
@@ -0,0 +1,23 @@
+static char *_edata_p;
+static char *_end_p;
+static char *__bss_start_p;
+extern char *_end;
+extern char *_edata;
+extern char *__bss_start;
+
+extern int foo (void);
+
+void
+bar (void)
+{
+  _edata_p = (char*) &_edata;
+  _end_p = (char*) &_end;
+  __bss_start_p = (char*) &__bss_start;
+}
+
+void
+_start ()
+{
+  bar ();
+  foo ();
+}
diff --git a/ld/testsuite/ld-elf/pr23161b.rd b/ld/testsuite/ld-elf/pr23161b.rd
new file mode 100644
index 0000000000..c8529a515f
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161b.rd
@@ -0,0 +1,14 @@
+Relocation section '\.rel(a|)\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
+ +Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|)
+[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLOT +[a-f0-9]+ +foo(@FOO|)( \+ 0|)
+
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+ +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start
+#...
diff --git a/ld/testsuite/ld-elf/pr23161c.c b/ld/testsuite/ld-elf/pr23161c.c
new file mode 100644
index 0000000000..db5ec4a334
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161c.c
@@ -0,0 +1,9 @@
+extern char *_end __attribute__ ((visibility("hidden")));
+extern char *_edata __attribute__ ((visibility("hidden")));
+extern char *__bss_start __attribute__ ((visibility("hidden")));
+
+int
+foo (void)
+{
+  return _end[0] + _edata[0] + __bss_start[0];
+}
diff --git a/ld/testsuite/ld-elf/pr23161c.rd b/ld/testsuite/ld-elf/pr23161c.rd
new file mode 100644
index 0000000000..904f126690
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161c.rd
@@ -0,0 +1,12 @@
+There are no relocations in this file.
+
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+ +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +LOCAL +DEFAULT +[0-9]+ +__bss_start
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +LOCAL +DEFAULT +[0-9]+ +_edata
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +LOCAL +DEFAULT +[0-9]+ +_end
+#...
diff --git a/ld/testsuite/ld-elf/pr23161d.rd b/ld/testsuite/ld-elf/pr23161d.rd
new file mode 100644
index 0000000000..338cfad336
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23161d.rd
@@ -0,0 +1,8 @@
+Relocation section '\.rel(a|)\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
+ +Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|)
+[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLOT +[a-f0-9]+ +foo( \+ 0|)
+
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+ +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
+ +[0-9]+: +[a-f0-9]+ +0 +FUNC +GLOBAL +DEFAULT +UND +foo
diff --git a/ld/testsuite/ld-elf/pr23162.rd b/ld/testsuite/ld-elf/pr23162.rd
index 3ac848fe05..48351ffea7 100644
--- a/ld/testsuite/ld-elf/pr23162.rd
+++ b/ld/testsuite/ld-elf/pr23162.rd
@@ -1,12 +1,5 @@
 There are no relocations in this file\.
 
-Symbol table '\.dynsym' contains [0-9]+ entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end
-#...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start
-#...
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index ef517bac42..f357b867c3 100644
--- a/ld/testsuite/ld-elf/shared.exp
+++ b/ld/testsuite/ld-elf/shared.exp
@@ -1393,5 +1393,65 @@ if { ([istarget "i?86-*-*"]
     "pr23162b" \
     "-fPIC -O0" \
  ] \
+ [list \
+    "Build libpr23161a.so" \
+    "-shared" \
+    "" \
+    "$AFLAGS_PIC" \
+    { pr23161a.c } \
+    {{readelf {--dyn-syms -rW} pr23161a.rd}} \
+    "libpr23161a.so" \
+    "-fPIC -O2" \
+ ] \
+ [list \
+    "Build pr23161a" \
+    "-pie --no-as-needed tmpdir/libpr23161a.so" \
+    "" \
+    "-mrelax-relocations=yes" \
+    { pr23161b.c } \
+    {{readelf {--dyn-syms -rW} pr23161b.rd}} \
+    "pr23161a" \
+    "-fPIC -O0" \
+ ] \
+ [list \
+    "Build libpr23161b.so" \
+    "-shared --version-script=pr23161.map" \
+    "" \
+    "$AFLAGS_PIC" \
+    { pr23161a.c } \
+    {{readelf {--dyn-syms -rW} pr23161a.rd}} \
+    "libpr23161b.so" \
+    "-fPIC -O2" \
+ ] \
+ [list \
+    "Build pr23161b" \
+    "-pie --no-as-needed tmpdir/libpr23161b.so" \
+    "" \
+    "-mrelax-relocations=yes" \
+    { pr23161b.c } \
+    {{readelf {--dyn-syms -rW} pr23161b.rd}} \
+    "pr23161b" \
+    "-fPIC -O0" \
+ ] \
+ [list \
+    "Build libpr23161c.so" \
+    "-shared" \
+    "" \
+    "$AFLAGS_PIC" \
+    { pr23161c.c } \
+    {{readelf {--dyn-syms -rW} pr23161c.rd}} \
+    "libpr23161c.so" \
+    "-fPIC -O2" \
+ ] \
+ [list \
+    "Build pr23161c" \
+    "-pie --no-as-needed tmpdir/libpr23161c.so" \
+    "" \
+    "-mrelax-relocations=yes" \
+    { pr23161b.c } \
+    {{readelf {--dyn-syms -rW} pr23161d.rd}} \
+    "pr23161c" \
+    "-fPIC -O0" \
+ ] \
     ]
 }
--
2.17.1

Reply | Threaded
Open this post in threaded view
|

Re: Define various symbols conditionally in shared libraries executables

Alan Modra-3
On Wed, Jun 06, 2018 at 06:30:17AM -0700, H.J. Lu wrote:
> Here is a different approach for x86, which includes more testcases
> for PR ld/23161.  Do they pass with your patch?

Yes, all the tests pass on x86_64-linux without your elfxx-x86.c
changes.  I've incorporated your extra tests into the patchset.

I'm going to leave it a day or two before committing in case anyone
spots a problem.  x86_64-linux gcc and glibc builds look OK using the
new linker.

--
Alan Modra
Australia Development Lab, IBM
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

Maciej W. Rozycki-2
In reply to this post by Alan Modra-3
On Sat, 2 Jun 2018, Alan Modra wrote:

> For EXECUTABLE_SYMBOLS, it's fairly obvious that your patch will break
> elf64bmip.sh since it defines symbols inside ${CREATE_SHLIB+}.  That
> emulparams file should probably be using OTHER_SYMBOLS instead.
> elf32bmipn32.sh is also a worry, and likely should be using
> OTHER_SYMBOLS with the same sort of expression as elf64bmip.sh but
> adjusted for 32-bit header size.  I'm unsure about elf32b4300.sh but
> my guess is it will be OK to only define _DYNAMIC_LINK for
> executables.  This doesn't mean you need to fix these MIPS problems
> yourself, just raise them with Maciej.  Of course, if you like,
> provide a patch like the ones I've attached.

 My understanding is that replacing EXECUTABLE_SYMBOLS with OTHER_SYMBOLS
would make the symbols created section-relative rather than absolute,
which is likely the reason why EXECUTABLE_SYMBOLS has been (ab)used like
this.

 The current usage comes from commit 786dbcc3f49a ("Linking n64 code for
irix (part 1/2)"),
<https://sourceware.org/ml/binutils/2003-10/msg00274.html>, which
unfortunately has not been further justified in the review (as has not
been why n32 had not been updated accordingly; it seems wrong as it
stands).  Older commits in this area do not provide any further
explaination either; these are commit 22c675a780d5 ("PATCH to enable GNU
ld on MIPS 64-bit ABI"),
<https://sourceware.org/ml/binutils/1999-q3/msg00073.html>, and commit
dc8319788003 ("PATCH for enabling IRIX6 ld"),
<https://sourceware.org/ml/binutils/1999-q2/msg00385.html>.

 How about defining an ABSOLUTE_SYMBOLS parameter then and placing it next
to EXECUTABLE_SYMBOLS for symbols that need to be there whether in an
executable or in a DSO?  Or maybe SHLIB_SYMBOLS for DSO use only, so that
${CREATE_SHLIB+/-} qualification is not locally needed?

  Maciej
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] ld: Define _edata, __bss_start, and _end only for executables

Alan Modra-3
On Wed, Jun 06, 2018 at 05:10:48PM +0100, Maciej W. Rozycki wrote:

> On Sat, 2 Jun 2018, Alan Modra wrote:
>
> > For EXECUTABLE_SYMBOLS, it's fairly obvious that your patch will break
> > elf64bmip.sh since it defines symbols inside ${CREATE_SHLIB+}.  That
> > emulparams file should probably be using OTHER_SYMBOLS instead.
> > elf32bmipn32.sh is also a worry, and likely should be using
> > OTHER_SYMBOLS with the same sort of expression as elf64bmip.sh but
> > adjusted for 32-bit header size.  I'm unsure about elf32b4300.sh but
> > my guess is it will be OK to only define _DYNAMIC_LINK for
> > executables.  This doesn't mean you need to fix these MIPS problems
> > yourself, just raise them with Maciej.  Of course, if you like,
> > provide a patch like the ones I've attached.
>
>  My understanding is that replacing EXECUTABLE_SYMBOLS with OTHER_SYMBOLS
> would make the symbols created section-relative rather than absolute,
> which is likely the reason why EXECUTABLE_SYMBOLS has been (ab)used like
> this.

No, OTHER_SYMBOLS generally defines absolute symbols since it isn't
expanded inside an output section statement.  Looking at one of the ld
testsuite output files for mips-sgix-irix6, I see

../binutils/nm-new tmpdir/pr22471
100102a8 D __bss_start
00000000 A __dso_displacement
10000160 r _DYNAMIC
100102a8 D _edata
10000000 A __elf_header
100102a8 D _end
100102a8 D _fbss
10010290 D _fdata
10000280 T _ftext
100102a0 D _GLOBAL_OFFSET_TABLE_
10018290 d _gp
10000280 T main
10000034 A __program_header_table
10010290 A __rld_map
10000280 T start
10000280 T _start
10000280 T __start

You'd run into problems if the expressions used to define the symbols
changed from near the start of the script where EXECUTABLE_SYMBOLS is
expanded to near the end where OTHER_SYMBOLS is expanded, or if the
script used DEFINED (__elf_header) say.  None of that happens, so I
think the change is safe.

>  The current usage comes from commit 786dbcc3f49a ("Linking n64 code for
> irix (part 1/2)"),
> <https://sourceware.org/ml/binutils/2003-10/msg00274.html>, which
> unfortunately has not been further justified in the review (as has not
> been why n32 had not been updated accordingly; it seems wrong as it
> stands).

OK, I'