This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Support different ld --hash-style in the ld testsuite


When ld is running with something other than --hash-style=sysv by
default, numerous tests need tweaking.  Most of the changes just add
--hash-style=sysv.  I didn't want to make --hash-style=sysv global as
that means --hash-style=gnu isn't well tested.

I didn't change any of the mips testsuite because I believe
--hash-style=sysv is required for mips.

	* testsuite/ld-alpha/alpha.exp: Add --hash-style=sysv to various
	test's ld options.
	* testsuite/ld-arm/arm-elf.exp: Likewise.
	* testsuite/ld-elf/elf.exp: Likewise.
	* testsuite/ld-elf/readelf.exp: Likewise.
	* testsuite/ld-elfvsb/elfvsb.exp: Likewise.
	* testsuite/ld-i386/i386.exp: Likewise.
	* testsuite/ld-ia64/ia64.exp: Likewise.
	* testsuite/ld-m68k/m68k.exp: Likewise.
	* testsuite/ld-metag/metag.exp: Likewise.
	* testsuite/ld-powerpc/powerpc.exp: Likewise.
	* testsuite/ld-s390/s390.exp: Likewise.
	* testsuite/ld-sh/sh-vxworks.exp: Likewise.
	* testsuite/ld-shared/shared.exp: Likewise.
	* testsuite/ld-sparc/sparc.exp: Likewise.
	* testsuite/ld-tic6x/tic6x.exp: Likewise.
	* testsuite/ld-vax-elf/vax-elf.exp: Likewise.
	* testsuite/ld-x86-64/mpx.exp: Likewise.
	* testsuite/ld-x86-64/x86-64.exp: Likewise.
	* testsuite/ld-xtensa/xtensa.exp: Likewise.

	* testsuite/ld-elf/comm-data2.ld: Add .gnu.hash output section.
	* testsuite/ld-elf/pr20828-v.ld: Likewise.
	* testsuite/ld-elf/pr20828.ld: Likewise.
	* testsuite/ld-elf/pr21233.ld: Likewise.
	* testsuite/ld-elf/pr21384.ld: Likewise.
	* testsuite/ld-elf/provide-hidden-1.ld: Likewise.
	* testsuite/ld-elf/provide-hidden-2.ld: Likewise.
	* testsuite/ld-elf/provide-hidden-s.ld: Likewise.
	* testsuite/ld-scripts/cross1.t: Likewise.

	* testsuite/ld-elf/stab.d: Adjust allowed section indices.

	* testsuite/ld-i386/pie1.d: Don't match addresses.
	* testsuite/ld-i386/plt-pic2.dd: Likewise.
	* testsuite/ld-i386/pr19636-1d.d: Likewise.
	* testsuite/ld-i386/pr19636-2c.d: Likewise.
	* testsuite/ld-powerpc/elfv2so.d: Likewise.
	* testsuite/ld-powerpc/tlsopt5.d: Likewise.
	* testsuite/ld-powerpc/tlsopt5.wf: Likewise.
	* testsuite/ld-powerpc/tlsopt5_32.d: Likewise.

	* testsuite/ld-i386/pr19636-2b.d: Don't match _start.

	* testsuite/ld-powerpc/ambiguousv1.d: Relax symbol count, index
	and address match.
	* testsuite/ld-powerpc/ambiguousv1b.d: Likewise.
	* testsuite/ld-powerpc/ambiguousv2.d: Likewise.
	* testsuite/ld-powerpc/ambiguousv2b.d: Likewise.

	* testsuite/ld-aarch64/gc-plt-relocs.d: Run ld with --hash-style=sysv.
	* testsuite/ld-aarch64/ifunc-1.d: Likewise.
	* testsuite/ld-aarch64/ifunc-2.d: Likewise.
	* testsuite/ld-aarch64/ifunc-21.d: Likewise.
	* testsuite/ld-aarch64/relasz.d: Likewise.
	* testsuite/ld-aarch64/tls-small-ld.d: Likewise.
	* testsuite/ld-aarch64/tls-tiny-ld.d: Likewise.
	* testsuite/ld-arc/tls_gd-01.d: Likewise.
	* testsuite/ld-cris/libdso-10.d: Likewise.
	* testsuite/ld-cris/libdso-2.d: Likewise.
	* testsuite/ld-cris/pic-gc-72.d: Likewise.
	* testsuite/ld-cris/pic-gc-73.d: Likewise.
	* testsuite/ld-cris/tls-gd-1.d: Likewise.
	* testsuite/ld-cris/tls-gd-1h.d: Likewise.
	* testsuite/ld-cris/tls-gd-2.d: Likewise.
	* testsuite/ld-cris/tls-gd-2h.d: Likewise.
	* testsuite/ld-cris/tls-ie-10.d: Likewise.
	* testsuite/ld-cris/tls-ie-11.d: Likewise.
	* testsuite/ld-cris/tls-ie-8.d: Likewise.
	* testsuite/ld-cris/tls-ie-9.d: Likewise.
	* testsuite/ld-cris/tls-ld-4.d: Likewise.
	* testsuite/ld-cris/tls-ld-5.d: Likewise.
	* testsuite/ld-cris/tls-ld-6.d: Likewise.
	* testsuite/ld-cris/tls-ld-7.d: Likewise.
	* testsuite/ld-cris/tls-ldgd-14.d: Likewise.
	* testsuite/ld-cris/tls-ldgd-15.d: Likewise.
	* testsuite/ld-cris/tls-ldgdx-14.d: Likewise.
	* testsuite/ld-cris/tls-ldgdx-15.d: Likewise.
	* testsuite/ld-cris/tls-local-54.d: Likewise.
	* testsuite/ld-cris/tls-local-60.d: Likewise.
	* testsuite/ld-cris/tls-local-61.d: Likewise.
	* testsuite/ld-cris/weakhiddso.d: Likewise.
	* testsuite/ld-elf/linkinfo1a.d: Likewise.
	* testsuite/ld-elf/linkinfo1b.d: Likewise.
	* testsuite/ld-elf/pr19617a.d: Likewise.
	* testsuite/ld-elfvsb/hidden2.d: Likewise.
	* testsuite/ld-frv/fdpic-pie-6.d: Likewise.
	* testsuite/ld-frv/fdpic-shared-2.d: Likewise.
	* testsuite/ld-frv/fdpic-shared-5.d: Likewise.
	* testsuite/ld-frv/fdpic-shared-6.d: Likewise.
	* testsuite/ld-frv/fdpic-shared-8.d: Likewise.
	* testsuite/ld-frv/fdpic-shared-local-2.d: Likewise.
	* testsuite/ld-frv/fdpic-shared-local-8.d: Likewise.
	* testsuite/ld-frv/tls-dynamic-2.d: Likewise.
	* testsuite/ld-i386/ibt-plt-1.d: Likewise.
	* testsuite/ld-i386/ibt-plt-2a.d: Likewise.
	* testsuite/ld-i386/ibt-plt-2c.d: Likewise.
	* testsuite/ld-i386/ibt-plt-3a.d: Likewise.
	* testsuite/ld-i386/ibt-plt-3c.d: Likewise.
	* testsuite/ld-i386/pr20830.d: Likewise.
	* testsuite/ld-ia64/merge1.d: Likewise.
	* testsuite/ld-ia64/merge2.d: Likewise.
	* testsuite/ld-ia64/merge3.d: Likewise.
	* testsuite/ld-ia64/merge4.d: Likewise.
	* testsuite/ld-ia64/merge5.d: Likewise.
	* testsuite/ld-ifunc/ifunc-1-local-x86.d: Likewise.
	* testsuite/ld-ifunc/ifunc-1-x86.d: 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/ifunc-3a-x86.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-m68k/got-1.d: Likewise.
	* testsuite/ld-m68k/got-multigot-12-13-14-34-35-ok.d: Likewise.
	* testsuite/ld-m68k/got-multigot-14-ok.d: Likewise.
	* testsuite/ld-m68k/got-multigot-15-er.d: Likewise.
	* testsuite/ld-m68k/got-negative-12-13-14-34-ok.d: Likewise.
	* testsuite/ld-m68k/got-negative-12-13-14-35-er.d: Likewise.
	* testsuite/ld-m68k/got-negative-14-ok.d: Likewise.
	* testsuite/ld-m68k/got-negative-15-er.d: Likewise.
	* testsuite/ld-m68k/got-single-12-ok.d: Likewise.
	* testsuite/ld-m68k/got-single-13-er.d: Likewise.
	* testsuite/ld-m68k/got-xgot-12-13-14-15-34-35-ok.d: Likewise.
	* testsuite/ld-m68k/got-xgot-15-ok.d: Likewise.
	* testsuite/ld-m68k/tls-gd-1.d: Likewise.
	* testsuite/ld-m68k/tls-gd-2.d: Likewise.
	* testsuite/ld-m68k/tls-gd-ie-1.d: Likewise.
	* testsuite/ld-m68k/tls-ie-1.d: Likewise.
	* testsuite/ld-m68k/tls-ld-1.d: Likewise.
	* testsuite/ld-m68k/tls-ld-2.d: Likewise.
	* testsuite/ld-sh/shared-2.d: Likewise.
	* testsuite/ld-sh/tlsbin-2.d: Likewise.
	* testsuite/ld-sh/tlspic-2.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-1.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-2c-x32.d: Likewise.
	* testsuite/ld-x86-64/ibt-plt-2c.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-3c-x32.d: Likewise.
	* testsuite/ld-x86-64/ibt-plt-3c.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/pie3-nacl.d: Likewise.
	* testsuite/ld-x86-64/pie3.d: Likewise.
	* testsuite/ld-x86-64/pr14207.d: Likewise.
	* testsuite/ld-x86-64/pr19162.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2d-nacl.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2d.d: Likewise.
	* testsuite/ld-x86-64/pr20253-1d.d: Likewise.
	* testsuite/ld-x86-64/pr20253-1f.d: Likewise.
	* testsuite/ld-x86-64/pr20253-1j.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.

diff --git a/ld/testsuite/ld-aarch64/gc-plt-relocs.d b/ld/testsuite/ld-aarch64/gc-plt-relocs.d
index d9f9413..0322c3c 100644
--- a/ld/testsuite/ld-aarch64/gc-plt-relocs.d
+++ b/ld/testsuite/ld-aarch64/gc-plt-relocs.d
@@ -2,7 +2,7 @@
 #source: gc-plt-main.s
 #source: gc-plt-hidden.s
 #source: gc-plt2.s
-#ld: --gc-sections -T aarch64.ld --shared
+#ld: --gc-sections -T aarch64.ld --shared --hash-style=sysv
 #objdump: -dT
 
 # Shared object with plt related relocs against global symbol
diff --git a/ld/testsuite/ld-aarch64/ifunc-1.d b/ld/testsuite/ld-aarch64/ifunc-1.d
index 9e522c9..0640303 100644
--- a/ld/testsuite/ld-aarch64/ifunc-1.d
+++ b/ld/testsuite/ld-aarch64/ifunc-1.d
@@ -1,4 +1,4 @@
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -dw
 #target: aarch64*-*-*
 
diff --git a/ld/testsuite/ld-aarch64/ifunc-2.d b/ld/testsuite/ld-aarch64/ifunc-2.d
index 70ce224..b67e282 100644
--- a/ld/testsuite/ld-aarch64/ifunc-2.d
+++ b/ld/testsuite/ld-aarch64/ifunc-2.d
@@ -1,4 +1,4 @@
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -dw
 #target: aarch64*-*-*
 
diff --git a/ld/testsuite/ld-aarch64/ifunc-21.d b/ld/testsuite/ld-aarch64/ifunc-21.d
index eef2e62..590495f 100644
--- a/ld/testsuite/ld-aarch64/ifunc-21.d
+++ b/ld/testsuite/ld-aarch64/ifunc-21.d
@@ -1,5 +1,5 @@
 #source: ifunc-21.s
-#ld: -shared -z nocombreloc
+#ld: -shared --hash-style=sysv -z nocombreloc
 #objdump: -d -s -j .got.plt -j .text
 #target: aarch64*-*-*
 
diff --git a/ld/testsuite/ld-aarch64/relasz.d b/ld/testsuite/ld-aarch64/relasz.d
index 5cc5595..28fe83a 100644
--- a/ld/testsuite/ld-aarch64/relasz.d
+++ b/ld/testsuite/ld-aarch64/relasz.d
@@ -1,5 +1,5 @@
 #source: relasz.s
-#ld: -shared -Taarch64.ld
+#ld: -shared --hash-style=sysv -Taarch64.ld
 #readelf: -d
 # Check that the RELASZ section has the correct size even if we are
 # using a non-default linker script that merges .rela.dyn and .rela.plt
diff --git a/ld/testsuite/ld-aarch64/tls-small-ld.d b/ld/testsuite/ld-aarch64/tls-small-ld.d
index 74cf256..dce10af 100644
--- a/ld/testsuite/ld-aarch64/tls-small-ld.d
+++ b/ld/testsuite/ld-aarch64/tls-small-ld.d
@@ -1,5 +1,5 @@
 #source: tls-small-ld.s
-#ld: -T relocs.ld -shared
+#ld: -T relocs.ld -shared --hash-style=sysv
 #readelf: -Wr
 
 Relocation section '\.rela\.dyn' at offset 0x10070 contains 2 entries:
diff --git a/ld/testsuite/ld-aarch64/tls-tiny-ld.d b/ld/testsuite/ld-aarch64/tls-tiny-ld.d
index f2cb60c..a9eb0a5 100644
--- a/ld/testsuite/ld-aarch64/tls-tiny-ld.d
+++ b/ld/testsuite/ld-aarch64/tls-tiny-ld.d
@@ -1,5 +1,5 @@
 #source: tls-tiny-ld.s
-#ld: -T relocs.ld -shared
+#ld: -T relocs.ld -shared --hash-style=sysv
 #readelf: -Wr
 
 Relocation section '\.rela\.dyn' at offset 0x10070 contains 2 entries:
diff --git a/ld/testsuite/ld-alpha/alpha.exp b/ld/testsuite/ld-alpha/alpha.exp
index 0d115ba..5b811c1 100644
--- a/ld/testsuite/ld-alpha/alpha.exp
+++ b/ld/testsuite/ld-alpha/alpha.exp
@@ -37,7 +37,7 @@ if { !([istarget "alpha*-*-elf*"]
 # readelf: Apply readelf options on result.  Compare with regex (last arg).
 
 set alphatests {
-    {"TLS -fpic -shared" "-shared -melf64alpha" ""
+    {"TLS -fpic -shared" "-shared -melf64alpha --hash-style=sysv" ""
      "" {align.s tlspic1.s tlspic2.s}
      {{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd}
       {objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
@@ -45,12 +45,13 @@ set alphatests {
     {"Helper shared library" "-shared -melf64alpha" ""
      "" {tlslib.s} {} "libtlslib.so"}
     {"TLS -fpic and -fno-pic exec"
-     "-melf64alpha tmpdir/libtlslib.so" "" "" {align.s tlsbinpic.s tlsbin.s}
+     "-melf64alpha tmpdir/libtlslib.so --hash-style=sysv" ""
+     "" {align.s tlsbinpic.s tlsbin.s}
      {{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
       {objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
      "tlsbin"}
     {"TLS -fpic and -fno-pic exec -relax"
-     "-relax -melf64alpha tmpdir/libtlslib.so" ""
+     "-relax -melf64alpha --hash-style=sysv tmpdir/libtlslib.so" ""
      "" {align.s tlsbinpic.s tlsbin.s}
      {{readelf -WSsrl tlsbinr.rd} {objdump -drj.text tlsbinr.dd}
       {objdump -sj.got tlsbinr.sd}}
diff --git a/ld/testsuite/ld-arc/tls_gd-01.d b/ld/testsuite/ld-arc/tls_gd-01.d
index d65f2cd..1994385 100644
--- a/ld/testsuite/ld-arc/tls_gd-01.d
+++ b/ld/testsuite/ld-arc/tls_gd-01.d
@@ -1,6 +1,6 @@
 #source: tls_gd-01.s
 #as: -mcpu=arc700
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -d
 #xfail: arc*-*-elf*
 
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index b15316c..8bab9d8 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -21,23 +21,24 @@
 
 if {[istarget "arm-*-vxworks"]} {
     set armvxworkstests {
-	{"VxWorks shared library test 1" "-shared -Tvxworks1.ld" ""
+	{"VxWorks shared library test 1"
+	 "-shared -Tvxworks1.ld --hash-style=sysv" ""
 	 "" {vxworks1-lib.s}
 	 {{readelf --relocs vxworks1-lib.rd} {objdump -dr vxworks1-lib.dd}
 	  {readelf --symbols vxworks1-lib.nd} {readelf -d vxworks1-lib.td}}
 	 "libvxworks1.so"}
-	{"VxWorks executable test 1 (dynamic)" \
-	 "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic" ""
+	{"VxWorks executable test 1 (dynamic)"
+	 "tmpdir/libvxworks1.so -Tvxworks1.ld --hash-style=sysv -q --force-dynamic" ""
 	 "" {vxworks1.s}
 	 {{readelf --relocs vxworks1.rd} {objdump -dr vxworks1.dd}}
 	 "vxworks1"}
 	{"VxWorks executable test 2 (dynamic)" \
-	 "-Tvxworks1.ld -q --force-dynamic" ""
+	 "-Tvxworks1.ld --hash-style=sysv -q --force-dynamic" ""
 	 "" {vxworks2.s}
 	 {{readelf --segments vxworks2.sd}}
 	 "vxworks2"}
 	{"VxWorks executable test 2 (static)"
-	 "-Tvxworks1.ld" ""
+	 "-Tvxworks1.ld --hash-style=sysv" ""
 	 "" {vxworks2.s}
 	 {{readelf --segments vxworks2-static.sd}}
 	 "vxworks2"}
@@ -99,43 +100,57 @@ set armelftests_common_1 {
     {"arm-rel31" "-static -T arm.ld" "" "" {arm-rel31.s}
      {{objdump -s arm-rel31.d}}
      "arm-rel31"}
-    {"arm-rel32" "-shared -T arm-dyn.ld" "" "" {arm-rel32.s}
+    {"arm-rel32" "-shared -T arm-dyn.ld --hash-style=sysv" "" "" {arm-rel32.s}
      {{objdump -Rsj.data arm-rel32.d}}
      "arm-rel32"}
     {"arm-call" "--no-fix-arm1176 -static -T arm.ld" "" "-meabi=4" {arm-call1.s arm-call2.s}
      {{objdump -d arm-call.d}}
      "arm-call"}
-    {"TLS shared library" "-shared -T arm-lib.ld" "" "" {tls-lib.s}
+    {"TLS shared library" "-shared -T arm-lib.ld --hash-style=sysv" ""
+     "" {tls-lib.s}
      {{objdump -fdw tls-lib.d} {objdump -Rw tls-lib.r}}
      "tls-lib.so"}
-    {"TLS dynamic application" "-T arm-dyn.ld tmpdir/tls-lib.so" "" "" {tls-app.s}
+    {"TLS dynamic application"
+     "-T arm-dyn.ld --hash-style=sysv tmpdir/tls-lib.so" "" "" {tls-app.s}
      {{objdump -fdw tls-app.d} {objdump -Rw tls-app.r}}
      "tls-app"}
-    {"TLS gnu shared library got" "-shared -T arm-dyn.ld" "" "" {tls-gdesc-got.s}
+    {"TLS gnu shared library got"
+     "-shared -T arm-dyn.ld --hash-style=sysv" "" "" {tls-gdesc-got.s}
      {{objdump "-fDR -j .got" tls-gdesc-got.d}}
      "tls-lib2-got.so"}
-    {"TLS gnu GD to IE relaxation" "-static -T arm-dyn.ld" "" "" {tls-gdierelax.s}
+    {"TLS gnu GD to IE relaxation"
+     "-static -T arm-dyn.ld --hash-style=sysv" "" "" {tls-gdierelax.s}
      {{objdump -fdw tls-gdierelax.d}}
      "tls-app-rel-ie"}
-    {"TLS gnu GD to IE shared relaxation" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-gdierelax2.s}
+    {"TLS gnu GD to IE shared relaxation"
+     "--no-fix-arm1176 -shared -T arm-dyn.ld --hash-style=sysv" ""
+     "" {tls-gdierelax2.s}
      {{objdump -fdw tls-gdierelax2.d}}
      "tls-app-rel-ie2"}
-    {"TLS gnu GD to LE relaxation" "-T arm-dyn.ld" "" "" {tls-gdlerelax.s}
+    {"TLS gnu GD to LE relaxation" "-T arm-dyn.ld --hash-style=sysv" ""
+     "" {tls-gdlerelax.s}
      {{objdump -fdw tls-gdlerelax.d}}
      "tls-app-rel-le"}
-    {"TLS mixed models shared lib" "-shared -T arm-dyn.ld" "" "" {tls-mixed.s}
+    {"TLS mixed models shared lib"
+     "-shared -T arm-dyn.ld --hash-style=sysv" "" "" {tls-mixed.s}
      {{objdump -Rw tls-mixed.r}}
      "tls-mixed.so"}
-    {"TLS descseq relaxation" "-T arm-dyn.ld" "" "" {tls-descrelax.s}
+    {"TLS descseq relaxation"
+     "-T arm-dyn.ld --hash-style=sysv" "" "" {tls-descrelax.s}
      {{objdump -fdw tls-descrelax.d}}
      "tls-descrelax"}
-    {"TLS descseq relaxation v7" "-T arm-dyn.ld" "" "" {tls-descrelax-v7.s}
+    {"TLS descseq relaxation v7"
+     "-T arm-dyn.ld --hash-style=sysv" "" "" {tls-descrelax-v7.s}
      {{objdump -fdw tls-descrelax-v7.d}}
      "tls-descrelax-v7"}
-    {"TLS descseq relaxation BE8" "-T arm-dyn.ld -EB --be8" "" "-mbig-endian" {tls-descrelax-be8.s}
+    {"TLS descseq relaxation BE8"
+     "-T arm-dyn.ld --hash-style=sysv -EB --be8" ""
+     "-mbig-endian" {tls-descrelax-be8.s}
      {{objdump -fdw tls-descrelax-be8.d}}
      "tls-descrelax-be8"}
-    {"TLS descseq relaxation BE32" "-T arm-dyn.ld -EB" "" "-mbig-endian" {tls-descrelax-be32.s}
+    {"TLS descseq relaxation BE32"
+     "-T arm-dyn.ld --hash-style=sysv -EB" ""
+     "-mbig-endian" {tls-descrelax-be32.s}
      {{objdump -fdw tls-descrelax-be32.d}}
      "tls-descrelax-be32"}
     {"TLS local PIC symbol static link" "-T arm.ld" "" "" {tls-local-static.s}
@@ -229,7 +244,7 @@ set armelftests_common_3 {
     {"EABI ABI flags ld -r" "-r" "" "-mfloat-abi=soft -meabi=5" {eabi-soft-float.s}
      {{readelf -h eabi-soft-float-r.d}}
      "eabi-soft-float-r.o"}
-    {"PC-relative in -shared" "-shared" ""
+    {"PC-relative in -shared" "-shared --hash-style=sysv" ""
      "" {pcrel-shared.s}
      {{readelf -dr pcrel-shared.rd}}
      "pcrel-shared.so"}
@@ -267,7 +282,8 @@ set armelftests_nonacl {
     {"jump19" "-static -T arm.ld" "" "" {jump19.s}
      {{objdump -dr jump19.d}}
      "jump19"}
-    {"Thumb and -gc-sections" "-shared -T arm-dyn.ld" "" "" {gc-thumb-lib.s}
+    {"Thumb and -gc-sections"
+     "-shared -T arm-dyn.ld --hash-style=sysv" "" "" {gc-thumb-lib.s}
      {}
      "gc-thumb-lib.so"}
     {"Thumb and -gc-sections" "-pie -T arm.ld -gc-sections tmpdir/gc-thumb-lib.so" "" "" {gc-thumb.s}
@@ -294,32 +310,40 @@ set armelftests_nonacl {
     {"Non-pcrel function reference" "tmpdir/arm-lib.so" "" "" {arm-app-abs32.s}
      {{objdump -fdw arm-app-abs32.d} {objdump -Rw arm-app-abs32.r}}
      "arm-app-abs32"}
-    {"Thumb shared library with ARM entry points" "-shared -T arm-lib.ld" "" "-mthumb-interwork"
-     {mixed-lib.s}
+    {"Thumb shared library with ARM entry points"
+     "-shared -T arm-lib.ld --hash-style=sysv" ""
+     "-mthumb-interwork" {mixed-lib.s}
      {{objdump -fdw armthumb-lib.d} {readelf -Ds armthumb-lib.sym}}
      "armthumb-lib.so"}
-    {"Mixed ARM/Thumb shared library" "-shared -T arm-lib.ld -use-blx" "" ""
-     {mixed-lib.s}
+    {"Mixed ARM/Thumb shared library"
+     "-shared -T arm-lib.ld --hash-style=sysv -use-blx" ""
+     "" {mixed-lib.s}
      {{objdump -fdw mixed-lib.d} {objdump -Rw mixed-lib.r}
       {readelf -Ds mixed-lib.sym}}
      "mixed-lib.so"}
-    {"Mixed ARM/Thumb dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld" "" ""
-     {mixed-app.s}
+    {"Mixed ARM/Thumb dynamic application"
+     "tmpdir/mixed-lib.so -T arm-dyn.ld --hash-style=sysv" ""
+     "" {mixed-app.s}
      {{objdump -fdw mixed-app.d} {objdump -Rw mixed-app.r}
       {readelf -Ds mixed-app.sym}}
      "mixed-app"}
-    {"Mixed ARM/Thumb arch5 dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" ""
-     {mixed-app.s}
+    {"Mixed ARM/Thumb arch5 dynamic application"
+     "tmpdir/mixed-lib.so -T arm-dyn.ld --hash-style=sysv --use-blx" ""
+     "" {mixed-app.s}
      {{objdump -fdw mixed-app-v5.d} {objdump -Rw mixed-app.r}
       {readelf -Ds mixed-app.sym}}
      "mixed-app-v5"}
     {"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" "" {use-thumb-lib.s}
      {{readelf -Ds use-thumb-lib.sym}}
      "use-thumb-lib.so"}
-    {"TLS gnu shared library inlined trampoline" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-descseq.s}
+    {"TLS gnu shared library inlined trampoline"
+     "--no-fix-arm1176 -shared -T arm-dyn.ld --hash-style=sysv" ""
+     "" {tls-descseq.s}
      {{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}}
      "tls-lib2inline.so"}
-    {"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-lib-loc.s}
+    {"TLS shared library gdesc local"
+     "--no-fix-arm1176 -shared -T arm-dyn.ld --hash-style=sysv" ""
+     "" {tls-lib-loc.s}
      {{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}}
      "tls-lib-loc.so"}
 }
@@ -555,30 +579,35 @@ set armeabitests_nonacl {
      {{objdump -d farcall-mix2.d}}
      "farcall-mix2"}
 
-    {"Mixed ARM/Thumb dynamic application with farcalls" "tmpdir/mixed-lib.so -T arm-dyn.ld --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" "" ""
-     {farcall-mixed-app.s}
+    {"Mixed ARM/Thumb dynamic application with farcalls"
+     "tmpdir/mixed-lib.so -T arm-dyn.ld --hash-style=sysv --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" ""
+     "" {farcall-mixed-app.s}
      {{objdump -fdw farcall-mixed-app.d} {objdump -Rw farcall-mixed-app.r}
       {readelf -Ds farcall-mixed-app.sym}}
      "farcall-mixed-app"}
-    {"Mixed ARM/Thumb arch5 dynamic application with farcalls" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" "" ""
-     {farcall-mixed-app.s}
+    {"Mixed ARM/Thumb arch5 dynamic application with farcalls"
+     "tmpdir/mixed-lib.so -T arm-dyn.ld --hash-style=sysv --use-blx --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" ""
+     "" {farcall-mixed-app.s}
      {{objdump -fdw farcall-mixed-app-v5.d} {objdump -Rw farcall-mixed-app.r}
       {readelf -Ds farcall-mixed-app.sym}}
      "farcall-mixed-app-v5"}
 
-    {"Mixed ARM/Thumb2 dynamic application with farcalls" "tmpdir/mixed-lib.so -T arm-dyn.ld --section-start .mid_thumb=0x10081c0 --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" "" ""
-     {farcall-mixed-app2.s}
+    {"Mixed ARM/Thumb2 dynamic application with farcalls"
+     "tmpdir/mixed-lib.so -T arm-dyn.ld --hash-style=sysv --section-start .mid_thumb=0x10081c0 --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" ""
+     "" {farcall-mixed-app2.s}
      {{objdump -fdw farcall-mixed-app2.d} {objdump -Rw farcall-mixed-app2.r}
       {readelf -Ds farcall-mixed-app2.sym}}
      "farcall-mixed-app2"}
 
-    {"Mixed ARM/Thumb shared library with long branches (v4t)" "-shared -T arm-lib.ld" "" "-march=armv4t"
-     {farcall-mixed-lib1.s farcall-mixed-lib2.s}
+    {"Mixed ARM/Thumb shared library with long branches (v4t)"
+     "-shared -T arm-lib.ld --hash-style=sysv" ""
+     "-march=armv4t" {farcall-mixed-lib1.s farcall-mixed-lib2.s}
      {{objdump -fdw farcall-mixed-lib-v4t.d}}
      "farcall-mixed-lib.so"}
 
-    {"Mixed ARM/Thumb shared library with long branches (v5t)" "--no-fix-arm1176 -shared -T arm-lib.ld" "" "-march=armv5t"
-     {farcall-mixed-lib1.s farcall-mixed-lib2.s}
+    {"Mixed ARM/Thumb shared library with long branches (v5t)"
+     "--no-fix-arm1176 -shared -T arm-lib.ld --hash-style=sysv" ""
+     "-march=armv5t" {farcall-mixed-lib1.s farcall-mixed-lib2.s}
      {{objdump -fdw farcall-mixed-lib.d}}
      "farcall-mixed-lib.so"}
 
@@ -773,19 +802,29 @@ set armeabitests_nonacl {
      {{objdump -d farcall-group-limit.d}}
      "farcall-group-limit"}
 
-    {"TLS gnu shared library" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-gdesc.s}
+    {"TLS gnu shared library"
+     "--no-fix-arm1176 -shared -T arm-dyn.ld --hash-style=sysv" ""
+     "" {tls-gdesc.s}
      {{objdump -fdw tls-gdesc.d} {objdump -Rw tls-gdesc.r}}
      "tls-lib2.so"}
-    {"TLS gnu shared library non-lazy" "-z now -shared -T arm-dyn.ld" "" "" {tls-gdesc.s}
+    {"TLS gnu shared library non-lazy"
+     "-z now -shared -T arm-dyn.ld --hash-style=sysv" ""
+     "" {tls-gdesc.s}
      {{readelf "-x .got" tls-gdesc-nlazy.g}}
      "tls-lib2-nlazy.so"}
-    {"TLS long plt library" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" "" {tls-longplt-lib.s}
+    {"TLS long plt library"
+     "-shared -T arm-dyn.ld --hash-style=sysv --section-start .foo=0x4001000" ""
+     "" {tls-longplt-lib.s}
      {{objdump -fdw tls-longplt-lib.d}}
      "tls-longplt-lib.so"}
-    {"TLS long plt" "-T arm-dyn.ld --section-start .foo=0x4001000 tmpdir/tls-longplt-lib.so" "" "" {tls-longplt.s}
+    {"TLS long plt"
+     "-T arm-dyn.ld --hash-style=sysv --section-start .foo=0x4001000 tmpdir/tls-longplt-lib.so" ""
+     "" {tls-longplt.s}
      {{objdump -fdw tls-longplt.d}}
      "tls-longplt"}
-    {"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" "" {tls-thumb1.s}
+    {"TLS thumb1"
+     "-shared -T arm-dyn.ld --hash-style=sysv --section-start .foo=0x4001000" ""
+     "" {tls-thumb1.s}
      {{objdump -fdw tls-thumb1.d}}
      "tls-thumb1"}
     {"Cortex-A8 erratum fix, b.w"
@@ -867,7 +906,7 @@ set armeabitests_nonacl {
      {{objdump -dr cortex-a8-fix-blx-plt.d}}
      "cortex-a8-fix-blx-plt"}
     {"Cortex-A8 erratum fix, relocate bl.w to PLT"
-     "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" ""
+     "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared --hash-style=sysv" ""
      "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s}
      {{objdump -dr cortex-a8-fix-bl-rel-plt.d}}
      "cortex-a8-fix-bl-rel-thumb"}
@@ -962,14 +1001,17 @@ set armeabitests_nonacl {
      "" {long-plt-format.s}
      {{objdump "-d -j .plt" long-plt-format.d}}
      "long-plt-format"}
-    {"IFUNC and TLS descriptor shared library" "-shared -T arm-lib.ld --version-script=ifunc-gdesc.ver" "" "" {ifunc-gdesc.s}
+    {"IFUNC and TLS descriptor shared library"
+     "-shared -T arm-lib.ld --hash-style=sysv --version-script=ifunc-gdesc.ver" ""
+     "" {ifunc-gdesc.s}
      {{objdump "-Rw" ifunc-gdesc.r}}
      "ifunc-gdesc.so"}
     {"arm-pic-veneer" "-static -T arm.ld --pic-veneer" "" "" {arm-pic-veneer.s}
      {{objdump -d arm-pic-veneer.d}}
      "arm-pic-veneer"}
-    {"Preempt Thumb symbol" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" ""
-     {preempt-app.s}
+    {"Preempt Thumb symbol"
+     "tmpdir/mixed-lib.so -T arm-dyn.ld --hash-style=sysv --use-blx" ""
+     "" {preempt-app.s}
      {{readelf -Ds preempt-app.sym}}
      "preempt-app"}
 }
diff --git a/ld/testsuite/ld-cris/libdso-10.d b/ld/testsuite/ld-cris/libdso-10.d
index 43d96bd..83a1464 100644
--- a/ld/testsuite/ld-cris/libdso-10.d
+++ b/ld/testsuite/ld-cris/libdso-10.d
@@ -1,6 +1,6 @@
 #source: dso-1.s
 #as: --pic --no-underscore --march=v32 --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #objdump: -p -h
 
 # Sanity check; just an empty GOT.
diff --git a/ld/testsuite/ld-cris/libdso-2.d b/ld/testsuite/ld-cris/libdso-2.d
index aa4a7c8..f04b64b 100644
--- a/ld/testsuite/ld-cris/libdso-2.d
+++ b/ld/testsuite/ld-cris/libdso-2.d
@@ -1,7 +1,7 @@
 #source: dso-1.s
 #source: dso-2.s
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux --version-script $srcdir/$subdir/hide1
+#ld: --shared -m crislinux --hash-style=sysv --version-script $srcdir/$subdir/hide1
 #readelf: -S -s -r
 
 # Use "dsofn" from dso-1 in a GOTPLT reloc, but hide it in a
diff --git a/ld/testsuite/ld-cris/pic-gc-72.d b/ld/testsuite/ld-cris/pic-gc-72.d
index 7e72752..a471da5 100644
--- a/ld/testsuite/ld-cris/pic-gc-72.d
+++ b/ld/testsuite/ld-cris/pic-gc-72.d
@@ -2,7 +2,7 @@
 #source: expdref1.s
 #source: expdyn1.s
 #as: --pic --no-underscore --em=criself -I$srcdir/$subdir
-#ld: --shared -m crislinux --gc-sections
+#ld: --shared -m crislinux --gc-sections --hash-style=sysv
 #objdump: -s -t -R -p -T
 
 # Exercise PIC relocs through changed GC sweep function.
diff --git a/ld/testsuite/ld-cris/pic-gc-73.d b/ld/testsuite/ld-cris/pic-gc-73.d
index 1ef22de..8fd7f38 100644
--- a/ld/testsuite/ld-cris/pic-gc-73.d
+++ b/ld/testsuite/ld-cris/pic-gc-73.d
@@ -1,7 +1,7 @@
 #source: pic-gc-73.s
 #source: expdyn1.s
 #as: --pic --no-underscore --em=criself -I$srcdir/$subdir
-#ld: --shared -m crislinux --gc-sections
+#ld: --shared -m crislinux --gc-sections --hash-style=sysv
 #objdump: -s -t -R -p -T
 
 # Left-over code coverage case from pic-gc-72; local symbol.
diff --git a/ld/testsuite/ld-cris/tls-gd-1.d b/ld/testsuite/ld-cris/tls-gd-1.d
index 25de32d..789c54e 100644
--- a/ld/testsuite/ld-cris/tls-gd-1.d
+++ b/ld/testsuite/ld-cris/tls-gd-1.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-gd-1.s
 #source: tls128.s
 #source: tls-x.s
diff --git a/ld/testsuite/ld-cris/tls-gd-1h.d b/ld/testsuite/ld-cris/tls-gd-1h.d
index 2e024bd..db60081 100644
--- a/ld/testsuite/ld-cris/tls-gd-1h.d
+++ b/ld/testsuite/ld-cris/tls-gd-1h.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-gd-1.s
 #source: tls128g.s
 #source: tls-hx.s
diff --git a/ld/testsuite/ld-cris/tls-gd-2.d b/ld/testsuite/ld-cris/tls-gd-2.d
index 2f2546e..cc35710 100644
--- a/ld/testsuite/ld-cris/tls-gd-2.d
+++ b/ld/testsuite/ld-cris/tls-gd-2.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-gd-2.s
 #source: tls128g.s
 #source: tls-x.s
diff --git a/ld/testsuite/ld-cris/tls-gd-2h.d b/ld/testsuite/ld-cris/tls-gd-2h.d
index f63be5c..da3ef7d 100644
--- a/ld/testsuite/ld-cris/tls-gd-2h.d
+++ b/ld/testsuite/ld-cris/tls-gd-2h.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-gd-2.s
 #source: tls128g.s
 #source: tls-hx.s
diff --git a/ld/testsuite/ld-cris/tls-ie-10.d b/ld/testsuite/ld-cris/tls-ie-10.d
index 869173c..7e9c32d 100644
--- a/ld/testsuite/ld-cris/tls-ie-10.d
+++ b/ld/testsuite/ld-cris/tls-ie-10.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-ie-10.s
 #source: tls128g.s
 #source: tls-x.s
diff --git a/ld/testsuite/ld-cris/tls-ie-11.d b/ld/testsuite/ld-cris/tls-ie-11.d
index d326fbe..e231040 100644
--- a/ld/testsuite/ld-cris/tls-ie-11.d
+++ b/ld/testsuite/ld-cris/tls-ie-11.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-ie-11.s
 #source: tls128g.s
 #source: tls-x1x2.s
diff --git a/ld/testsuite/ld-cris/tls-ie-8.d b/ld/testsuite/ld-cris/tls-ie-8.d
index 3c7769b..f62d599 100644
--- a/ld/testsuite/ld-cris/tls-ie-8.d
+++ b/ld/testsuite/ld-cris/tls-ie-8.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-ie-8.s
 #source: tls128g.s
 #source: tls-x.s
diff --git a/ld/testsuite/ld-cris/tls-ie-9.d b/ld/testsuite/ld-cris/tls-ie-9.d
index 673ae4f..b9d9ee6 100644
--- a/ld/testsuite/ld-cris/tls-ie-9.d
+++ b/ld/testsuite/ld-cris/tls-ie-9.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-ie-9.s
 #source: tls128g.s
 #source: tls-x1x2.s
diff --git a/ld/testsuite/ld-cris/tls-ld-4.d b/ld/testsuite/ld-cris/tls-ld-4.d
index 2ac3d71..46e5e9b 100644
--- a/ld/testsuite/ld-cris/tls-ld-4.d
+++ b/ld/testsuite/ld-cris/tls-ld-4.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-ld-4.s
 #source: tls128g.s
 #source: tls-hx.s
diff --git a/ld/testsuite/ld-cris/tls-ld-5.d b/ld/testsuite/ld-cris/tls-ld-5.d
index c2ea111..d5982d9 100644
--- a/ld/testsuite/ld-cris/tls-ld-5.d
+++ b/ld/testsuite/ld-cris/tls-ld-5.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-ld-5.s
 #source: tls128g.s
 #source: tls-hx1x2.s
diff --git a/ld/testsuite/ld-cris/tls-ld-6.d b/ld/testsuite/ld-cris/tls-ld-6.d
index 0b54114..487c63e 100644
--- a/ld/testsuite/ld-cris/tls-ld-6.d
+++ b/ld/testsuite/ld-cris/tls-ld-6.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself -I$srcdir/$subdir
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls128g.s
 #source: tls-ld-6.s
 #source: tls-hx.s
diff --git a/ld/testsuite/ld-cris/tls-ld-7.d b/ld/testsuite/ld-cris/tls-ld-7.d
index c537050..db034af 100644
--- a/ld/testsuite/ld-cris/tls-ld-7.d
+++ b/ld/testsuite/ld-cris/tls-ld-7.d
@@ -1,5 +1,5 @@
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #source: tls-ld-7.s
 #source: tls128g.s
 #source: tls-hx1x2.s
diff --git a/ld/testsuite/ld-cris/tls-ldgd-14.d b/ld/testsuite/ld-cris/tls-ldgd-14.d
index 4634dd2..01cb975 100644
--- a/ld/testsuite/ld-cris/tls-ldgd-14.d
+++ b/ld/testsuite/ld-cris/tls-ldgd-14.d
@@ -6,7 +6,7 @@
 #source: tls-z.s
 #source: tls-hx1x2.s
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #objdump: -s -t -R -p -T
 
 # Check that we have proper NPTL/TLS markings and GOT for two
diff --git a/ld/testsuite/ld-cris/tls-ldgd-15.d b/ld/testsuite/ld-cris/tls-ldgd-15.d
index 8583bd2..6d5ac81 100644
--- a/ld/testsuite/ld-cris/tls-ldgd-15.d
+++ b/ld/testsuite/ld-cris/tls-ldgd-15.d
@@ -6,7 +6,7 @@
 #source: tls-z.s
 #source: tls-hx1x2.s
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #objdump: -s -t -R -p -T
 
 # Check that we have proper NPTL/TLS markings and GOT for two
diff --git a/ld/testsuite/ld-cris/tls-ldgdx-14.d b/ld/testsuite/ld-cris/tls-ldgdx-14.d
index 53fde9c..1d3dcde 100644
--- a/ld/testsuite/ld-cris/tls-ldgdx-14.d
+++ b/ld/testsuite/ld-cris/tls-ldgdx-14.d
@@ -4,7 +4,7 @@
 #source: tls-ldgd-14.s
 #source: tls-hx1x2.s
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux tmpdir/tls-dso-xz-1.so
+#ld: --shared -m crislinux --hash-style=sysv tmpdir/tls-dso-xz-1.so
 #objdump: -s -h -t -T -R -r -p
 
 # Check that we have proper NPTL/TLS markings and GOT for two
diff --git a/ld/testsuite/ld-cris/tls-ldgdx-15.d b/ld/testsuite/ld-cris/tls-ldgdx-15.d
index 8b0af3f..59f3aae 100644
--- a/ld/testsuite/ld-cris/tls-ldgdx-15.d
+++ b/ld/testsuite/ld-cris/tls-ldgdx-15.d
@@ -4,7 +4,7 @@
 #source: tls-ldgd-15.s
 #source: tls-hx1x2.s
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux tmpdir/tls-dso-xz-1.so
+#ld: --shared -m crislinux --hash-style=sysv tmpdir/tls-dso-xz-1.so
 #objdump: -s -h -t -T -R -r -p
 
 # Check that we have proper NPTL/TLS markings and GOT for two
diff --git a/ld/testsuite/ld-cris/tls-local-54.d b/ld/testsuite/ld-cris/tls-local-54.d
index 7c0deb6..337fbd5 100644
--- a/ld/testsuite/ld-cris/tls-local-54.d
+++ b/ld/testsuite/ld-cris/tls-local-54.d
@@ -1,6 +1,6 @@
 #source: tls-local-54.s
 #as: --pic --no-underscore --em=criself -I$srcdir/$subdir
-#ld: --shared -m crislinux
+#ld: --shared -m crislinux --hash-style=sysv
 #objdump: -s -t -R -p -T
 
 # A DSO with a R_CRIS_32_GOT_GD against a local symbol.
diff --git a/ld/testsuite/ld-cris/tls-local-60.d b/ld/testsuite/ld-cris/tls-local-60.d
index 958a296..a2ed601 100644
--- a/ld/testsuite/ld-cris/tls-local-60.d
+++ b/ld/testsuite/ld-cris/tls-local-60.d
@@ -1,7 +1,7 @@
 #source: tls-x.s
 #source: tls-local-59.s
 #as: --pic --no-underscore --em=criself -I$srcdir/$subdir
-#ld: -m crislinux --shared
+#ld: -m crislinux --shared --hash-style=sysv
 #objdump: -s -t -r -p -R -T
 
 # A DSO with a R_CRIS_32_GOT_GD, a R_CRIS_16_GOT_GD, a
diff --git a/ld/testsuite/ld-cris/tls-local-61.d b/ld/testsuite/ld-cris/tls-local-61.d
index bfa4a25..54d2786 100644
--- a/ld/testsuite/ld-cris/tls-local-61.d
+++ b/ld/testsuite/ld-cris/tls-local-61.d
@@ -1,6 +1,6 @@
 #source: tls-local-59.s
 #as: --pic --no-underscore --em=criself -I$srcdir/$subdir
-#ld: -m crislinux --shared
+#ld: -m crislinux --shared --hash-style=sysv
 #objdump: -s -t -r -p -R -T
 
 # A DSO with a R_CRIS_32_GOT_GD, a R_CRIS_16_GOT_GD, a
diff --git a/ld/testsuite/ld-cris/weakhiddso.d b/ld/testsuite/ld-cris/weakhiddso.d
index 01940f7..71a4bdb 100644
--- a/ld/testsuite/ld-cris/weakhiddso.d
+++ b/ld/testsuite/ld-cris/weakhiddso.d
@@ -1,6 +1,6 @@
 #source: weakhid.s
 #as: --pic --no-underscore --em=criself
-#ld: --shared -m crislinux -z nocombreloc
+#ld: --shared -m crislinux -z nocombreloc --hash-style=sysv
 #objdump: -s -R -T
 
 # Check that .weak and .weak .hidden object references are handled
diff --git a/ld/testsuite/ld-elf/comm-data2.ld b/ld/testsuite/ld-elf/comm-data2.ld
index 3244453..ea1ac5b 100644
--- a/ld/testsuite/ld-elf/comm-data2.ld
+++ b/ld/testsuite/ld-elf/comm-data2.ld
@@ -9,6 +9,7 @@ SECTIONS
   .rela.dyn : { *(.rela.*) }
   .interp : { *(.interp) }
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
   .dynsym : { *(.dynsym) }
   .dynstr : { *(.dynstr) }
   . = 0x76540000;
diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp
index 80a8c42..655f0da 100644
--- a/ld/testsuite/ld-elf/elf.exp
+++ b/ld/testsuite/ld-elf/elf.exp
@@ -104,7 +104,7 @@ if { [check_shared_lib_support] } then {
     setup_xfail "tic6x-*-*"
     run_ld_link_tests {
 	{"Build shared library for next test"
-	    "-shared" "" "" "note-3.s" {} "note-3.so" }
+	    "-shared --hash-style=sysv" "" "" "note-3.s" {} "note-3.so" }
 	{"Link using broken linker script"
 	    "--script note-3.t tmpdir/note-3.so" "" "" ""
 	    { { ld "note-3.l" } }
diff --git a/ld/testsuite/ld-elf/linkinfo1a.d b/ld/testsuite/ld-elf/linkinfo1a.d
index b5ccf6f..1aeaf00 100644
--- a/ld/testsuite/ld-elf/linkinfo1a.d
+++ b/ld/testsuite/ld-elf/linkinfo1a.d
@@ -1,5 +1,5 @@
 #source: linkinfo1.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #readelf: -SW
 #target: x86_64-* i?86-*
 
diff --git a/ld/testsuite/ld-elf/linkinfo1b.d b/ld/testsuite/ld-elf/linkinfo1b.d
index cb17683..f8e3bd0 100644
--- a/ld/testsuite/ld-elf/linkinfo1b.d
+++ b/ld/testsuite/ld-elf/linkinfo1b.d
@@ -1,5 +1,5 @@
 #source: linkinfo1.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objcopy_linked_file: --strip-debug
 #readelf: -SW
 #target: x86_64-* i?86-*
diff --git a/ld/testsuite/ld-elf/pr19617a.d b/ld/testsuite/ld-elf/pr19617a.d
index 132021f..a565e29 100644
--- a/ld/testsuite/ld-elf/pr19617a.d
+++ b/ld/testsuite/ld-elf/pr19617a.d
@@ -1,5 +1,5 @@
 #source: pr19617.s
-#ld: -E --no-dynamic-linker
+#ld: -E --no-dynamic-linker --hash-style=sysv
 #readelf : --dyn-syms --wide
 #target: *-*-linux* *-*-gnu* *-*-solaris*
 
diff --git a/ld/testsuite/ld-elf/pr20828-v.ld b/ld/testsuite/ld-elf/pr20828-v.ld
index cdba796..5800aa0 100644
--- a/ld/testsuite/ld-elf/pr20828-v.ld
+++ b/ld/testsuite/ld-elf/pr20828-v.ld
@@ -1,6 +1,7 @@
 SECTIONS
 {
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
   .dynsym : { *(.dynsym) }
   .dynstr : { *(.dynstr) }
   .gnu.version : { *(.gnu.version) }
diff --git a/ld/testsuite/ld-elf/pr20828.ld b/ld/testsuite/ld-elf/pr20828.ld
index 034887d..9bea8d2 100644
--- a/ld/testsuite/ld-elf/pr20828.ld
+++ b/ld/testsuite/ld-elf/pr20828.ld
@@ -8,6 +8,7 @@ SECTIONS
   }
   .dynamic : { *(.dynamic) }
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
   .dynsym : { *(.dynsym) }
   .dynstr : { *(.dynstr) }
   .gnu.version : { *(.gnu.version) }
diff --git a/ld/testsuite/ld-elf/pr21233.ld b/ld/testsuite/ld-elf/pr21233.ld
index a3b547b..03a28cc 100644
--- a/ld/testsuite/ld-elf/pr21233.ld
+++ b/ld/testsuite/ld-elf/pr21233.ld
@@ -1,6 +1,7 @@
 SECTIONS
 {
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
   .dynsym : { *(.dynsym) }
   .dynstr : { *(.dynstr) }
   .rel.dyn : { *(.rel.dyn) }
diff --git a/ld/testsuite/ld-elf/pr21384.ld b/ld/testsuite/ld-elf/pr21384.ld
index 034887d..9bea8d2 100644
--- a/ld/testsuite/ld-elf/pr21384.ld
+++ b/ld/testsuite/ld-elf/pr21384.ld
@@ -8,6 +8,7 @@ SECTIONS
   }
   .dynamic : { *(.dynamic) }
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
   .dynsym : { *(.dynsym) }
   .dynstr : { *(.dynstr) }
   .gnu.version : { *(.gnu.version) }
diff --git a/ld/testsuite/ld-elf/provide-hidden-1.ld b/ld/testsuite/ld-elf/provide-hidden-1.ld
index 479862d..ab10bc9 100644
--- a/ld/testsuite/ld-elf/provide-hidden-1.ld
+++ b/ld/testsuite/ld-elf/provide-hidden-1.ld
@@ -13,4 +13,5 @@ SECTIONS
   .dynstr : { *(.dynstr) }
   .dynamic : { *(.dynamic) }
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
 }
diff --git a/ld/testsuite/ld-elf/provide-hidden-2.ld b/ld/testsuite/ld-elf/provide-hidden-2.ld
index 17e526b..3fc7513 100644
--- a/ld/testsuite/ld-elf/provide-hidden-2.ld
+++ b/ld/testsuite/ld-elf/provide-hidden-2.ld
@@ -9,4 +9,5 @@ SECTIONS
   .dynstr : { *(.dynstr) }
   .dynamic : { *(.dynamic) }
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
 }
diff --git a/ld/testsuite/ld-elf/provide-hidden-s.ld b/ld/testsuite/ld-elf/provide-hidden-s.ld
index fc5761a..bd6aaf0 100644
--- a/ld/testsuite/ld-elf/provide-hidden-s.ld
+++ b/ld/testsuite/ld-elf/provide-hidden-s.ld
@@ -9,4 +9,5 @@ SECTIONS
   .dynstr : { *(.dynstr) }
   .dynamic : { *(.dynamic) }
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
 }
diff --git a/ld/testsuite/ld-elf/readelf.exp b/ld/testsuite/ld-elf/readelf.exp
index 6831c19..82673f6 100644
--- a/ld/testsuite/ld-elf/readelf.exp
+++ b/ld/testsuite/ld-elf/readelf.exp
@@ -44,7 +44,7 @@ if [check_shared_lib_support] {
 	[list \
 	    "readelf version information" \
 	    "$LFLAGS --no-dynamic-linker -e 0 --export-dynamic -T ver_def.ld\
-	     --version-script=ver_def.ver" \
+	      --hash-style=sysv --version-script=ver_def.ver" \
 	    "" "" \
 	    {ver_def.s} \
 	    [list [list readelf --version-info ver_def$DUMP.vd]] \
diff --git a/ld/testsuite/ld-elf/stab.d b/ld/testsuite/ld-elf/stab.d
index 346640d..27b99cb 100644
--- a/ld/testsuite/ld-elf/stab.d
+++ b/ld/testsuite/ld-elf/stab.d
@@ -5,10 +5,10 @@
 #notarget: "ia64-*-*" "alpha*"
 
 # Disabled on alpha because the entry point may be above 4GB but the stabs
-# value on 32 bits.
+# value only 32 bits.
 
 #...
-  \[[0-9 ][0-9]\] \.stab +PROGBITS +0+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ +[1-9]+ +0.*
+.* \.stab +PROGBITS +0+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ +[1-9][0-9]* +0.*
 #...
-  \[[0-9 ][0-9]\] \.stabstr +STRTAB +0+ [0-9a-f]+ [0-9a-f]+ 00 +0 +0.*
+.* \.stabstr +STRTAB +0+ [0-9a-f]+ [0-9a-f]+ 00 +0 +0.*
 #...
diff --git a/ld/testsuite/ld-elfvsb/elfvsb.exp b/ld/testsuite/ld-elfvsb/elfvsb.exp
index 7552f7a..8e2b55b 100644
--- a/ld/testsuite/ld-elfvsb/elfvsb.exp
+++ b/ld/testsuite/ld-elfvsb/elfvsb.exp
@@ -377,7 +377,7 @@ proc visibility_run {visibility} {
 
 	    visibility_test $visibility vnp "visibility ($visibility) (non PIC, load offset)" \
 		mainnp.o sh1np.o sh2np.o elfvsb \
-		"-T $srcdir/$subdir/elf-offset.ld"
+		"-Wl,-T,$srcdir/$subdir/elf-offset.ld,--hash-style=sysv"
 	} }
 
 	# Now compile the code using -fpic.
diff --git a/ld/testsuite/ld-elfvsb/hidden2.d b/ld/testsuite/ld-elfvsb/hidden2.d
index 30f7f95..72a42d5 100644
--- a/ld/testsuite/ld-elfvsb/hidden2.d
+++ b/ld/testsuite/ld-elfvsb/hidden2.d
@@ -1,5 +1,5 @@
 #source: hidden2.s
-#ld: -shared -T hidden2.ld
+#ld: -shared -T hidden2.ld --hash-style=sysv
 #readelf: -Ds
 # It is also ok to remove this symbol, but we currently make it local.
 
diff --git a/ld/testsuite/ld-frv/fdpic-pie-6.d b/ld/testsuite/ld-frv/fdpic-pie-6.d
index 743166e..2285322 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-6.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-6.d
@@ -1,7 +1,7 @@
 #name: FRV uClinux PIC relocs to weak undefined symbols, pie linking
 #source: fdpic6.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#ld: -pie --defsym WD1=D6
+#ld: -pie --hash-style=sysv --defsym WD1=D6
 
 .*:     file format elf.*frv.*
 
diff --git a/ld/testsuite/ld-frv/fdpic-shared-2.d b/ld/testsuite/ld-frv/fdpic-shared-2.d
index 13e140a..85ab28d 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-2.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-2.d
@@ -1,7 +1,7 @@
 #name: FRV uClinux PIC relocs to (mostly) global symbols, shared linking
 #source: fdpic2.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#ld: -shared --version-script fdpic2min.ldv
+#ld: -shared --hash-style=sysv --version-script fdpic2min.ldv
 
 .*:     file format elf.*frv.*
 
diff --git a/ld/testsuite/ld-frv/fdpic-shared-5.d b/ld/testsuite/ld-frv/fdpic-shared-5.d
index dbfd143..6ec516a 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-5.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-5.d
@@ -1,7 +1,7 @@
 #name: FRV uClinux PIC relocs to undefined symbols, shared linking
 #source: fdpic5.s
 #objdump: -DRz -j .text -j .data -j .got -j .plt
-#ld: -shared
+#ld: -shared --hash-style=sysv
 
 .*:     file format elf.*frv.*
 
diff --git a/ld/testsuite/ld-frv/fdpic-shared-6.d b/ld/testsuite/ld-frv/fdpic-shared-6.d
index 2191af8..70111fb 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-6.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-6.d
@@ -1,7 +1,7 @@
 #name: FRV uClinux PIC relocs to weak undefined symbols, shared linking
 #source: fdpic6.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#ld: -shared --defsym WD1=D6 --version-script fdpic6.ldv
+#ld: -shared --hash-style=sysv --defsym WD1=D6 --version-script fdpic6.ldv
 
 .*:     file format elf.*frv.*
 
diff --git a/ld/testsuite/ld-frv/fdpic-shared-8.d b/ld/testsuite/ld-frv/fdpic-shared-8.d
index e50e7b9..30a9cfb 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-8.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-8.d
@@ -1,7 +1,7 @@
 #name: FRV uClinux PIC relocs to (mostly) global symbols with addends, shared linking
 #source: fdpic8.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#ld: -shared --version-script fdpic8min.ldv
+#ld: -shared --hash-style=sysv --version-script fdpic8min.ldv
 
 .*:     file format elf.*frv.*
 
diff --git a/ld/testsuite/ld-frv/fdpic-shared-local-2.d b/ld/testsuite/ld-frv/fdpic-shared-local-2.d
index 0074172..76fd777 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-local-2.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-local-2.d
@@ -1,7 +1,7 @@
 #name: FRV uClinux PIC relocs to forced-local symbols, shared linking
 #source: fdpic2.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#ld: -shared --version-script fdpic2.ldv
+#ld: -shared --hash-style=sysv --version-script fdpic2.ldv
 
 .*:     file format elf.*frv.*
 
diff --git a/ld/testsuite/ld-frv/fdpic-shared-local-8.d b/ld/testsuite/ld-frv/fdpic-shared-local-8.d
index 7d238e9..82130a1 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-local-8.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-local-8.d
@@ -1,7 +1,7 @@
 #name: FRV uClinux PIC relocs to forced-local symbols with addends, shared linking
 #source: fdpic8.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#ld: -shared --version-script fdpic8.ldv
+#ld: -shared --hash-style=sysv --version-script fdpic8.ldv
 
 .*:     file format elf.*frv.*
 
diff --git a/ld/testsuite/ld-frv/tls-dynamic-2.d b/ld/testsuite/ld-frv/tls-dynamic-2.d
index d943e86..be7e6c8 100644
--- a/ld/testsuite/ld-frv/tls-dynamic-2.d
+++ b/ld/testsuite/ld-frv/tls-dynamic-2.d
@@ -1,7 +1,7 @@
 #name: FRV TLS relocs with addends, dynamic linking
 #source: tls-2.s
 #objdump: -DR -j .text -j .got -j .plt
-#ld: tmpdir/tls-1-dep.so
+#ld: --hash-style=sysv tmpdir/tls-1-dep.so
 
 .*:     file format elf.*frv.*
 
diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index ba39fc1..2d7d532 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -24,23 +24,24 @@
 
 if {[istarget "i?86-*-vxworks"]} {
     set i386tests {
-	{"VxWorks shared library test 1" "-shared -Tvxworks1.ld" ""
+	{"VxWorks shared library test 1"
+	 "-shared -Tvxworks1.ld --hash-style=sysv" ""
 	 "" {vxworks1-lib.s}
 	 {{readelf --relocs vxworks1-lib.rd} {objdump -dr vxworks1-lib.dd}
 	  {readelf --symbols vxworks1-lib.nd} {readelf -d vxworks1-lib.td}}
 	 "libvxworks1.so"}
 	{"VxWorks executable test 1 (dynamic)" \
-	 "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic" ""
+	 "tmpdir/libvxworks1.so -Tvxworks1.ld --hash-style=sysv -q --force-dynamic" ""
 	 "" {vxworks1.s}
 	 {{readelf --relocs vxworks1.rd} {objdump -dr vxworks1.dd}}
 	 "vxworks1"}
 	{"VxWorks executable test 2 (dynamic)" \
-	 "-Tvxworks1.ld -q --force-dynamic" ""
+	 "-Tvxworks1.ld --hash-style=sysv -q --force-dynamic" ""
 	 "" {vxworks2.s}
 	 {{readelf --segments vxworks2.sd}}
 	 "vxworks2"}
 	{"VxWorks executable test 2 (static)"
-	 "-Tvxworks1.ld" ""
+	 "-Tvxworks1.ld --hash-style=sysv" ""
 	 "" {vxworks2.s}
 	 {{readelf --segments vxworks2-static.sd}}
 	 "vxworks2"}
@@ -128,20 +129,20 @@ set i386tests {
      "-shared -melf_i386 tmpdir/libpltlib.so" "" "--32" {plt-pic.s}
      {{objdump -drj.plt plt-pic.pd}} "libplt-pic.so"}
     {"TLS -fpic -shared transitions"
-     "-shared -melf_i386 --no-ld-generated-unwind-info" ""
+     "-shared -melf_i386 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--32" {tlspic1.s tlspic2.s}
      {{readelf -Ssrl tlspic.rd} {objdump -drj.text tlspic.dd}
       {objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
       "libtlspic.so"}
     {"TLS -fpic -shared transitions without PLT"
-     "-shared -melf_i386 --no-ld-generated-unwind-info" ""
+     "-shared -melf_i386 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "-mrelax-relocations=yes --32"
      {tlspic3.s tlspic2.s}
      {{readelf -Ssrl tlspic2.rd} {objdump -drj.text tlspic2.dd}
       {objdump -sj.got tlspic2.sd} {objdump -sj.tdata tlspic2.td}}
       "libtlspic2.so"}
     {"TLS descriptor -fpic -shared transitions"
-     "-shared -melf_i386 --no-ld-generated-unwind-info" ""
+     "-shared -melf_i386 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--32" {tlsdesc.s tlspic2.s}
      {{readelf -Ssrl tlsdesc.rd} {objdump -drj.text tlsdesc.dd}
       {objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}}
@@ -149,31 +150,31 @@ set i386tests {
     {"Helper shared library" "-shared -melf_i386" ""
      "--32" {tlslib.s} {} "libtlslib.so"}
     {"TLS -fpic and -fno-pic exec transitions"
-     "-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info" ""
+     "-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--32" {tlsbinpic.s tlsbin.s}
      {{readelf -Ssrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
       {objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
       "tlsbin"}
     {"TLS -fpic and -fno-pic exec transitions without PLT"
-     "-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info" ""
+     "-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info --hash-style=sysv" ""
      "-mrelax-relocations=yes --32"
      {tlsbinpic2.s tlsbin.s}
      {{readelf -Ssrl tlsbin2.rd} {objdump -drj.text tlsbin2.dd}
       {objdump -sj.got tlsbin2.sd} {objdump -sj.tdata tlsbin2.td}}
       "tlsbin2"}
     {"TLS descriptor -fpic and -fno-pic exec transitions"
-     "-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info" ""
+     "-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--32" {tlsbindesc.s tlsbin.s}
      {{readelf -Ssrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd}
       {objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}}
       "tlsbindesc"}
     {"TLS -fno-pic -shared"
-     "-shared -melf_i386 --no-ld-generated-unwind-info" ""
+     "-shared -melf_i386 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--32" {tlsnopic1.s tlsnopic2.s}
      {{readelf -Ssrl tlsnopic.rd} {objdump -drj.text tlsnopic.dd}
       {objdump -sj.got tlsnopic.sd}} "libtlsnopic.so"}
     {"TLS with global dynamic and descriptors"
-     "-shared -melf_i386 --no-ld-generated-unwind-info" ""
+     "-shared -melf_i386 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--32" {tlsgdesc.s}
      {{readelf -Ssrl tlsgdesc.rd} {objdump -drj.text tlsgdesc.dd}}
       "libtlsgdesc.so"}
@@ -1271,7 +1272,7 @@ if { !([istarget "i?86-*-linux*"]
 run_ld_link_tests [list \
     [list \
 	"basic PLT generation (non-PIC, -z now)" \
-	"-z now -melf_i386 tmpdir/libpltlib.so" \
+	"-z now -melf_i386 --hash-style=sysv tmpdir/libpltlib.so" \
 	"" \
 	"--32" \
 	{plt2.s} \
diff --git a/ld/testsuite/ld-i386/ibt-plt-1.d b/ld/testsuite/ld-i386/ibt-plt-1.d
index 1c90591..25f259f 100644
--- a/ld/testsuite/ld-i386/ibt-plt-1.d
+++ b/ld/testsuite/ld-i386/ibt-plt-1.d
@@ -1,5 +1,5 @@
 #as: --32
-#ld: -shared -m elf_i386
+#ld: -shared -m elf_i386 --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-i386/ibt-plt-2a.d b/ld/testsuite/ld-i386/ibt-plt-2a.d
index 4881dea..1857ef8 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2a.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2a.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibtplt
+#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-i386/ibt-plt-2c.d b/ld/testsuite/ld-i386/ibt-plt-2c.d
index 2ba1d78..68db558 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2c.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2c.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibt
+#ld: -shared -m elf_i386 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-i386/ibt-plt-3a.d b/ld/testsuite/ld-i386/ibt-plt-3a.d
index c2ce3fd..61f0cbe 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3a.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3a.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibtplt
+#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-i386/ibt-plt-3c.d b/ld/testsuite/ld-i386/ibt-plt-3c.d
index c2ce3fd..61f0cbe 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3c.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3c.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibtplt
+#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-i386/pie1.d b/ld/testsuite/ld-i386/pie1.d
index fb35342..e77b8dc 100644
--- a/ld/testsuite/ld-i386/pie1.d
+++ b/ld/testsuite/ld-i386/pie1.d
@@ -12,6 +12,6 @@ SYMBOL TABLE:
 
 Disassembly of section .text:
 
-0+129 <_start>:
- +129:	8d 80 00 e0 ff ff    	lea    -0x2000\(%eax\),%eax
+.* <_start>:
+.*:	8d 80 00 e0 ff ff    	lea    -0x2000\(%eax\),%eax
 #pass
diff --git a/ld/testsuite/ld-i386/plt-pic2.dd b/ld/testsuite/ld-i386/plt-pic2.dd
index 4047db5..1d81c76 100644
--- a/ld/testsuite/ld-i386/plt-pic2.dd
+++ b/ld/testsuite/ld-i386/plt-pic2.dd
@@ -9,25 +9,25 @@
 
 Disassembly of section .plt:
 
-0+180 <.plt>:
+.* <.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+190 <fn1@plt>:
+.* <fn1@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    180 <.plt>
+ +[a-f0-9]+:	e9 e0 ff ff ff       	jmp    .* <.plt>
 
-0+1a0 <fn2@plt>:
+.* <fn2@plt>:
  +[a-f0-9]+:	ff a3 10 00 00 00    	jmp    \*0x10\(%ebx\)
  +[a-f0-9]+:	68 08 00 00 00       	push   \$0x8
- +[a-f0-9]+:	e9 d0 ff ff ff       	jmp    180 <.plt>
+ +[a-f0-9]+:	e9 d0 ff ff ff       	jmp    .* <.plt>
 
 Disassembly of section .text:
 
-0+1b0 <foo>:
- +[a-f0-9]+:	e8 db ff ff ff       	call   190 <fn1@plt>
- +[a-f0-9]+:	e9 e6 ff ff ff       	jmp    1a0 <fn2@plt>
+.* <foo>:
+ +[a-f0-9]+:	e8 db ff ff ff       	call   .* <fn1@plt>
+ +[a-f0-9]+:	e9 e6 ff ff ff       	jmp    .* <fn2@plt>
 #pass
diff --git a/ld/testsuite/ld-i386/pr19636-1d.d b/ld/testsuite/ld-i386/pr19636-1d.d
index ac86786..e667cae 100644
--- a/ld/testsuite/ld-i386/pr19636-1d.d
+++ b/ld/testsuite/ld-i386/pr19636-1d.d
@@ -9,7 +9,7 @@
 
 Disassembly of section .plt:
 
-0+c0 <.plt>:
+.* <.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\)
@@ -20,7 +20,7 @@ Disassembly of section .plt:
 
 Disassembly of section .text:
 
-0+e0 <_start>:
+.* <_start>:
 [ 	]*[a-f0-9]+:	3b 80 f8 ff ff ff    	cmp    -0x8\(%eax\),%eax
 [ 	]*[a-f0-9]+:	ff a0 fc ff ff ff    	jmp    \*-0x4\(%eax\)
-[ 	]*[a-f0-9]+:	e8 df ff ff ff       	call   d0 <.*>
+[ 	]*[a-f0-9]+:	e8 df ff ff ff       	call   .* <\.plt\+0x10>
diff --git a/ld/testsuite/ld-i386/pr19636-2b.d b/ld/testsuite/ld-i386/pr19636-2b.d
index 9a0a263..ac21025 100644
--- a/ld/testsuite/ld-i386/pr19636-2b.d
+++ b/ld/testsuite/ld-i386/pr19636-2b.d
@@ -10,8 +10,6 @@ Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 1 entries:
 Symbol table '\.dynsym' contains [0-9]+ entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
 #...
- +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_start
-#...
  +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +WEAK +DEFAULT +UND +func
 #...
 
diff --git a/ld/testsuite/ld-i386/pr19636-2c.d b/ld/testsuite/ld-i386/pr19636-2c.d
index 08db119..3c7cd6d 100644
--- a/ld/testsuite/ld-i386/pr19636-2c.d
+++ b/ld/testsuite/ld-i386/pr19636-2c.d
@@ -9,20 +9,20 @@
 
 Disassembly of section .plt:
 
-0+130 <.plt>:
+.* <.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\)
 [ 	]*[a-f0-9]+:	00 00                	add    %al,\(%eax\)
 [ 	]*[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 00 00 00 00       	jmp    150 <_start>
+[ 	]*[a-f0-9]+:	e9 00 00 00 00       	jmp    .* <_start>
 
 Disassembly of section .text:
 
-0+150 <_start>:
+.* <_start>:
 [ 	]*[a-f0-9]+:	3b 80 fc ff ff ff    	cmp    -0x4\(%eax\),%eax
 [ 	]*[a-f0-9]+:	ff a0 fc ff ff ff    	jmp    \*-0x4\(%eax\)
-[ 	]*[a-f0-9]+:	e8 df ff ff ff       	call   140 <.*>
+[ 	]*[a-f0-9]+:	e8 df ff ff ff       	call   .* <\.plt\+0x10>
 [ 	]*[a-f0-9]+:	3d 00 00 00 00       	cmp    \$0x0,%eax
-[ 	]*[a-f0-9]+:	e8 fc ff ff ff       	call   167 <.*>
+[ 	]*[a-f0-9]+:	e8 fc ff ff ff       	call   .* <_start\+0x17>
diff --git a/ld/testsuite/ld-i386/pr20830.d b/ld/testsuite/ld-i386/pr20830.d
index 55fe924..26caabb 100644
--- a/ld/testsuite/ld-i386/pr20830.d
+++ b/ld/testsuite/ld-i386/pr20830.d
@@ -1,6 +1,6 @@
 #name: PR ld/20830 (.plt.got)
 #as: --32
-#ld: -melf_i386 -shared -z relro --ld-generated-unwind-info
+#ld: -melf_i386 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-ia64/ia64.exp b/ld/testsuite/ld-ia64/ia64.exp
index 88c8df6..76f9e62 100644
--- a/ld/testsuite/ld-ia64/ia64.exp
+++ b/ld/testsuite/ld-ia64/ia64.exp
@@ -37,7 +37,7 @@ if { !([istarget "ia64-*-elf*"]
 # readelf: Apply readelf options on result.  Compare with regex (last arg).
 
 set ia64tests {
-    {"TLS -fpic -shared" "-shared" ""
+    {"TLS -fpic -shared" "-shared --hash-style=sysv" ""
      "-mtune=itanium1" {tlspic1.s tlspic2.s}
      {{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd}
       {objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
@@ -45,7 +45,8 @@ set ia64tests {
     {"Helper shared library" "-shared" ""
      "" {tlslib.s} {} "libtlslib.so"}
     {"TLS -fpic and -fno-pic exec"
-     "tmpdir/libtlslib.so" "" "-mtune=itanium1" {tlsbinpic.s tlsbin.s}
+     "tmpdir/libtlslib.so --hash-style=sysv" ""
+     "-mtune=itanium1" {tlsbinpic.s tlsbin.s}
      {{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
       {objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
       "tlsbin"}
diff --git a/ld/testsuite/ld-ia64/merge1.d b/ld/testsuite/ld-ia64/merge1.d
index 39882b8..0cc8bd1 100644
--- a/ld/testsuite/ld-ia64/merge1.d
+++ b/ld/testsuite/ld-ia64/merge1.d
@@ -1,6 +1,6 @@
 #source: merge1.s
 #as: -x
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -d
 
 #...
diff --git a/ld/testsuite/ld-ia64/merge2.d b/ld/testsuite/ld-ia64/merge2.d
index dde3d09..4f05e37 100644
--- a/ld/testsuite/ld-ia64/merge2.d
+++ b/ld/testsuite/ld-ia64/merge2.d
@@ -1,6 +1,6 @@
 #source: merge2.s
 #as: -x
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -d
 
 #...
diff --git a/ld/testsuite/ld-ia64/merge3.d b/ld/testsuite/ld-ia64/merge3.d
index d0163f3..985142dc 100644
--- a/ld/testsuite/ld-ia64/merge3.d
+++ b/ld/testsuite/ld-ia64/merge3.d
@@ -1,6 +1,6 @@
 #source: merge3.s
 #as: -x
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -d
 
 #...
diff --git a/ld/testsuite/ld-ia64/merge4.d b/ld/testsuite/ld-ia64/merge4.d
index 0ed5621..ba34c8c 100644
--- a/ld/testsuite/ld-ia64/merge4.d
+++ b/ld/testsuite/ld-ia64/merge4.d
@@ -1,6 +1,6 @@
 #source: merge4.s
 #as: -x
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -d
 
 #...
diff --git a/ld/testsuite/ld-ia64/merge5.d b/ld/testsuite/ld-ia64/merge5.d
index 3adfa55..d59fabc 100644
--- a/ld/testsuite/ld-ia64/merge5.d
+++ b/ld/testsuite/ld-ia64/merge5.d
@@ -1,6 +1,6 @@
 #source: merge5.s
 #as: -x
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -d
 
 #...
diff --git a/ld/testsuite/ld-ifunc/ifunc-1-local-x86.d b/ld/testsuite/ld-ifunc/ifunc-1-local-x86.d
index c14cd28..a6a2c20 100644
--- a/ld/testsuite/ld-ifunc/ifunc-1-local-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-1-local-x86.d
@@ -1,4 +1,4 @@
-#ld: -shared -Map tmpdir/ifunc-1-local-x86.map
+#ld: -shared -Map tmpdir/ifunc-1-local-x86.map --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-* i?86-*-*
 #map: ifunc-1-local-x86.map
diff --git a/ld/testsuite/ld-ifunc/ifunc-1-x86.d b/ld/testsuite/ld-ifunc/ifunc-1-x86.d
index c245758..1471dfe 100644
--- a/ld/testsuite/ld-ifunc/ifunc-1-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-1-x86.d
@@ -1,4 +1,4 @@
-#ld: -shared -Map tmpdir/ifunc-1-x86.map
+#ld: -shared -Map tmpdir/ifunc-1-x86.map --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-* i?86-*-*
 #map: ifunc-1-x86.map
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d b/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
index ebe7ded..b4dfcec 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d
@@ -1,5 +1,5 @@
 #source: ifunc-2-i386.s
-#ld: -z now -m elf_i386 -shared
+#ld: -z now -m elf_i386 -shared --hash-style=sysv
 #as: --32
 #objdump: -dw
 #target: x86_64-*-* i?86-*-*
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 7cb2e54..8888e7c 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d
@@ -1,5 +1,5 @@
 #source: ifunc-2-local-i386.s
-#ld: -z now -m elf_i386 -shared
+#ld: -z now -m elf_i386 -shared --hash-style=sysv
 #as: --32
 #objdump: -dw
 #target: x86_64-*-* i?86-*-*
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 6ec199f..d93709c 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
@@ -1,6 +1,6 @@
 #source: ifunc-2-local-x86-64.s
 #as: --64
-#ld: -z now -shared -melf_x86_64
+#ld: -z now -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-*
 #notarget: x86_64-*-nacl*
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 317d7d7..b776b33 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
@@ -1,5 +1,5 @@
 #as: --64
-#ld: -shared -melf_x86_64
+#ld: -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-*
 
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 95920cc..2328679 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d
@@ -1,6 +1,6 @@
 #source: ifunc-2-x86-64.s
 #as: --64
-#ld: -z now -shared -melf_x86_64
+#ld: -z now -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-*
 #notarget: x86_64-*-nacl*
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
index 317d7d7..b776b33 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
@@ -1,5 +1,5 @@
 #as: --64
-#ld: -shared -melf_x86_64
+#ld: -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-*
 
diff --git a/ld/testsuite/ld-ifunc/ifunc-3a-x86.d b/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
index 4a88e4b..3c2a959 100644
--- a/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
@@ -1,5 +1,5 @@
 #source: ifunc-3-x86.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-* i?86-*-*
 
diff --git a/ld/testsuite/ld-ifunc/pr17154-i386-now.d b/ld/testsuite/ld-ifunc/pr17154-i386-now.d
index cb70b27..b7afdd0 100644
--- a/ld/testsuite/ld-ifunc/pr17154-i386-now.d
+++ b/ld/testsuite/ld-ifunc/pr17154-i386-now.d
@@ -1,5 +1,5 @@
 #source: pr17154-x86.s
-#ld: -z now -m elf_i386 -shared
+#ld: -z now -m elf_i386 -shared --hash-style=sysv
 #as: --32
 #objdump: -dw
 #target: x86_64-*-* i?86-*-*
diff --git a/ld/testsuite/ld-ifunc/pr17154-i386.d b/ld/testsuite/ld-ifunc/pr17154-i386.d
index 16fcd4e..6b309b9 100644
--- a/ld/testsuite/ld-ifunc/pr17154-i386.d
+++ b/ld/testsuite/ld-ifunc/pr17154-i386.d
@@ -1,5 +1,5 @@
 #source: pr17154-x86.s
-#ld: -m elf_i386 -shared
+#ld: -m elf_i386 -shared --hash-style=sysv
 #as: --32
 #objdump: -dw
 #target: x86_64-*-* i?86-*-*
diff --git a/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d b/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
index f099575..60edb9e 100644
--- a/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
+++ b/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
@@ -1,6 +1,6 @@
 #source: pr17154-x86.s
 #as: --64
-#ld: -z now -shared -melf_x86_64
+#ld: -z now -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-*
 #notarget: x86_64-*-nacl*
diff --git a/ld/testsuite/ld-ifunc/pr17154-x86-64.d b/ld/testsuite/ld-ifunc/pr17154-x86-64.d
index 1cdcf50..b3d7ed0 100644
--- a/ld/testsuite/ld-ifunc/pr17154-x86-64.d
+++ b/ld/testsuite/ld-ifunc/pr17154-x86-64.d
@@ -1,6 +1,6 @@
 #source: pr17154-x86.s
 #as: --64
-#ld: -shared -melf_x86_64
+#ld: -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-*
 
diff --git a/ld/testsuite/ld-m68k/got-1.d b/ld/testsuite/ld-m68k/got-1.d
index e8070e9..1eddac4 100644
--- a/ld/testsuite/ld-m68k/got-1.d
+++ b/ld/testsuite/ld-m68k/got-1.d
@@ -1,5 +1,5 @@
 #source: got-1.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/got-multigot-12-13-14-34-35-ok.d b/ld/testsuite/ld-m68k/got-multigot-12-13-14-34-35-ok.d
index 176961b..13aeb05 100644
--- a/ld/testsuite/ld-m68k/got-multigot-12-13-14-34-35-ok.d
+++ b/ld/testsuite/ld-m68k/got-multigot-12-13-14-34-35-ok.d
@@ -1,5 +1,5 @@
 #as: -mcpu=5206
-#ld: -shared --got=multigot
+#ld: -shared --got=multigot --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/got-multigot-14-ok.d b/ld/testsuite/ld-m68k/got-multigot-14-ok.d
index 7ebc589..86fe8f7 100644
--- a/ld/testsuite/ld-m68k/got-multigot-14-ok.d
+++ b/ld/testsuite/ld-m68k/got-multigot-14-ok.d
@@ -1,5 +1,5 @@
 #as: -mcpu=5206
-#ld: -shared --got=multigot
+#ld: -shared --got=multigot --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/got-multigot-15-er.d b/ld/testsuite/ld-m68k/got-multigot-15-er.d
index 58381ae..892d0fe 100644
--- a/ld/testsuite/ld-m68k/got-multigot-15-er.d
+++ b/ld/testsuite/ld-m68k/got-multigot-15-er.d
@@ -1,3 +1,3 @@
 #as: -mcpu=5206
-#ld: -shared --got=multigot
+#ld: -shared --got=multigot --hash-style=sysv
 #error: .*GOT overflow.*
diff --git a/ld/testsuite/ld-m68k/got-negative-12-13-14-34-ok.d b/ld/testsuite/ld-m68k/got-negative-12-13-14-34-ok.d
index 451df80..8c2ea98 100644
--- a/ld/testsuite/ld-m68k/got-negative-12-13-14-34-ok.d
+++ b/ld/testsuite/ld-m68k/got-negative-12-13-14-34-ok.d
@@ -1,5 +1,5 @@
 #as: -mcpu=5206
-#ld: -shared --got=negative
+#ld: -shared --got=negative --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/got-negative-12-13-14-35-er.d b/ld/testsuite/ld-m68k/got-negative-12-13-14-35-er.d
index 4487a8c..5930ae3 100644
--- a/ld/testsuite/ld-m68k/got-negative-12-13-14-35-er.d
+++ b/ld/testsuite/ld-m68k/got-negative-12-13-14-35-er.d
@@ -1,3 +1,3 @@
 #as: -mcpu=5206
-#ld: -shared --got=negative
+#ld: -shared --got=negative --hash-style=sysv
 #error: .*relocation truncated to fit.*
diff --git a/ld/testsuite/ld-m68k/got-negative-14-ok.d b/ld/testsuite/ld-m68k/got-negative-14-ok.d
index 451df80..8c2ea98 100644
--- a/ld/testsuite/ld-m68k/got-negative-14-ok.d
+++ b/ld/testsuite/ld-m68k/got-negative-14-ok.d
@@ -1,5 +1,5 @@
 #as: -mcpu=5206
-#ld: -shared --got=negative
+#ld: -shared --got=negative --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/got-negative-15-er.d b/ld/testsuite/ld-m68k/got-negative-15-er.d
index c1b7409..64bdd1e 100644
--- a/ld/testsuite/ld-m68k/got-negative-15-er.d
+++ b/ld/testsuite/ld-m68k/got-negative-15-er.d
@@ -1,3 +1,3 @@
 #as: -mcpu=5206
-#ld: -shared --got=negative
+#ld: -shared --got=negative --hash-style=sysv
 #error: .*GOT overflow.*
diff --git a/ld/testsuite/ld-m68k/got-single-12-ok.d b/ld/testsuite/ld-m68k/got-single-12-ok.d
index a7fdeb9..924a7d7 100644
--- a/ld/testsuite/ld-m68k/got-single-12-ok.d
+++ b/ld/testsuite/ld-m68k/got-single-12-ok.d
@@ -1,5 +1,5 @@
 #as: -mcpu=5206
-#ld: -shared --got=single
+#ld: -shared --got=single --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/got-single-13-er.d b/ld/testsuite/ld-m68k/got-single-13-er.d
index bfca9f8..89e908c 100644
--- a/ld/testsuite/ld-m68k/got-single-13-er.d
+++ b/ld/testsuite/ld-m68k/got-single-13-er.d
@@ -1,3 +1,3 @@
 #as: -mcpu=5206
-#ld: -shared --got=single
+#ld: -shared --got=single --hash-style=sysv
 #error: .*relocation truncated to fit.*
diff --git a/ld/testsuite/ld-m68k/got-xgot-12-13-14-15-34-35-ok.d b/ld/testsuite/ld-m68k/got-xgot-12-13-14-15-34-35-ok.d
index dd2c21d..145be53 100644
--- a/ld/testsuite/ld-m68k/got-xgot-12-13-14-15-34-35-ok.d
+++ b/ld/testsuite/ld-m68k/got-xgot-12-13-14-15-34-35-ok.d
@@ -1,5 +1,5 @@
 #as: -mcpu=5206
-#ld: -shared --got=multigot
+#ld: -shared --got=multigot --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/got-xgot-15-ok.d b/ld/testsuite/ld-m68k/got-xgot-15-ok.d
index bc11849..1de632a 100644
--- a/ld/testsuite/ld-m68k/got-xgot-15-ok.d
+++ b/ld/testsuite/ld-m68k/got-xgot-15-ok.d
@@ -1,5 +1,5 @@
 #as: -mcpu=5206
-#ld: -shared --got=multigot
+#ld: -shared --got=multigot --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/m68k.exp b/ld/testsuite/ld-m68k/m68k.exp
index c3a93bd..ed1321b 100644
--- a/ld/testsuite/ld-m68k/m68k.exp
+++ b/ld/testsuite/ld-m68k/m68k.exp
@@ -61,7 +61,8 @@ run_dump_test "merge-ok-1c"
 foreach { id sources } { a { plt1.s } b { plt1-empty.s plt1.s } } {
     foreach arch { 68020 cpu32 isab isac } {
 	run_ld_link_tests [list \
-	    [list "PLT 1$id ($arch)" "-shared -T plt1.ld" "" "-m$arch" \
+	    [list "PLT 1$id ($arch)" \
+		 "-shared -T plt1.ld --hash-style=sysv" "" "-m$arch" \
 		 $sources [list [list objdump -dr plt1-$arch.d]] \
 		 plt1-${id}-${arch}.so]]
     }
@@ -81,11 +82,11 @@ if { [istarget m68k-*-linux*] } then {
 	    {{nm -ngD tls-def-1.d}}
 	    "tls-def-1.so"}
 	{"TLS direct symbol use"
-	    "-shared tmpdir/tls-def-1.so" "" "" {tls-gd-1.s}
+	    "-shared --hash-style=sysv tmpdir/tls-def-1.so" "" "" {tls-gd-1.s}
 	    {{nm -ngD tls-gd-1.d2} {readelf -d tls-gd-1.d3}}
 	    "tls-gd-1.so"}
 	{"TLS indirect symbol use"
-	    "--copy-dt-needed-entries tmpdir/tls-gd-1.so -rpath-link ./" "" "" {tls-main-1.s}
+	    "--copy-dt-needed-entries --hash-style=sysv tmpdir/tls-gd-1.so -rpath-link ./" "" "" {tls-main-1.s}
 	    {{readelf -d tls-main-1.d}}
 	    "tls-main-1"}}
 
diff --git a/ld/testsuite/ld-m68k/tls-gd-1.d b/ld/testsuite/ld-m68k/tls-gd-1.d
index 0cad6fc..c8245f2 100644
--- a/ld/testsuite/ld-m68k/tls-gd-1.d
+++ b/ld/testsuite/ld-m68k/tls-gd-1.d
@@ -1,6 +1,6 @@
 #as: -mcpu=5206
 #source: tls-gd-1.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 9 entries:
diff --git a/ld/testsuite/ld-m68k/tls-gd-2.d b/ld/testsuite/ld-m68k/tls-gd-2.d
index 28ba4f5..e382512 100644
--- a/ld/testsuite/ld-m68k/tls-gd-2.d
+++ b/ld/testsuite/ld-m68k/tls-gd-2.d
@@ -1,6 +1,6 @@
 #as: -mcpu=5206
 #source: tls-gd-2.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 10 entries:
diff --git a/ld/testsuite/ld-m68k/tls-gd-ie-1.d b/ld/testsuite/ld-m68k/tls-gd-ie-1.d
index 4626722..9001cce 100644
--- a/ld/testsuite/ld-m68k/tls-gd-ie-1.d
+++ b/ld/testsuite/ld-m68k/tls-gd-ie-1.d
@@ -1,6 +1,6 @@
 #as: -mcpu=5206
 #source: tls-gd-ie-1.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 10 entries:
diff --git a/ld/testsuite/ld-m68k/tls-ie-1.d b/ld/testsuite/ld-m68k/tls-ie-1.d
index 5574ad4..0f21101 100644
--- a/ld/testsuite/ld-m68k/tls-ie-1.d
+++ b/ld/testsuite/ld-m68k/tls-ie-1.d
@@ -1,6 +1,6 @@
 #as: -mcpu=5206
 #source: tls-ie-1.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 10 entries:
diff --git a/ld/testsuite/ld-m68k/tls-ld-1.d b/ld/testsuite/ld-m68k/tls-ld-1.d
index 9f374f3..b3ea123 100644
--- a/ld/testsuite/ld-m68k/tls-ld-1.d
+++ b/ld/testsuite/ld-m68k/tls-ld-1.d
@@ -1,6 +1,6 @@
 #as: -mcpu=5206
 #source: tls-ld-1.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 10 entries:
diff --git a/ld/testsuite/ld-m68k/tls-ld-2.d b/ld/testsuite/ld-m68k/tls-ld-2.d
index ee1bac5..810160c 100644
--- a/ld/testsuite/ld-m68k/tls-ld-2.d
+++ b/ld/testsuite/ld-m68k/tls-ld-2.d
@@ -1,6 +1,6 @@
 #as: -mcpu=5206
 #source: tls-ld-2.s
-#ld: -shared
+#ld: -shared --hash-style=sysv
 #readelf: -d -r
 
 Dynamic section at offset .* contains 6 entries:
diff --git a/ld/testsuite/ld-metag/metag.exp b/ld/testsuite/ld-metag/metag.exp
index 6147754..3504eb8 100644
--- a/ld/testsuite/ld-metag/metag.exp
+++ b/ld/testsuite/ld-metag/metag.exp
@@ -31,7 +31,7 @@ set metag_tests {
      { {objdump -Dz pcrel.d} }
      "pcrel"
     }
-    {"Simple PIC shared library" "-shared" "" ""
+    {"Simple PIC shared library" "-shared --hash-style=sysv" "" ""
      {shared.s}
      { {objdump -fdw shared.d} {objdump -Rw shared.r} }
      "shared.so"
@@ -41,17 +41,17 @@ set metag_tests {
      { {objdump -fdw stub.d} }
      "stub"
     }
-    {"Shared library for stub tests" "-shared" "" ""
+    {"Shared library for stub tests" "-shared --hash-style=sysv" "" ""
      {stub_shared.s}
      { {objdump -fdw stub_shared.d} {objdump -Rw stub_shared.r} }
      "stub_shared.so"
     }
-    {"Long branch stub (PIC, app)" "tmpdir/stub_shared.so" "" ""
+    {"Long branch stub (PIC, app)" "--hash-style=sysv tmpdir/stub_shared.so" "" ""
      {stub_pic_app.s}
      { {objdump -fdw stub_pic_app.d} {objdump -Rw stub_pic_app.r} }
      "stub_pic_app"
     }
-    {"Long branch stub (PIC, shared)" "-shared" "" ""
+    {"Long branch stub (PIC, shared)" "-shared --hash-style=sysv" "" ""
      {stub_pic_shared.s}
      { {objdump -fdw stub_pic_shared.d} }
      "stub_pic_shared.so"
diff --git a/ld/testsuite/ld-powerpc/ambiguousv1.d b/ld/testsuite/ld-powerpc/ambiguousv1.d
index a74325a..dcff2d8 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv1.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv1.d
@@ -18,7 +18,7 @@ Symbol table '\.dynsym' contains 5 entries:
      0: .*
      1: 0+00000000     0 FUNC    GLOBAL DEFAULT  UND my_func
 #...
-Symbol table '\.symtab' contains 19 entries:
+Symbol table '\.symtab' contains .* entries:
 #...
-    14: 0+00000000     0 FUNC    GLOBAL DEFAULT  UND my_func
+.*: 0+00000000     0 FUNC    GLOBAL DEFAULT  UND my_func
 #pass
diff --git a/ld/testsuite/ld-powerpc/ambiguousv1b.d b/ld/testsuite/ld-powerpc/ambiguousv1b.d
index 7b9753a..678b8ad 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv1b.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv1b.d
@@ -14,11 +14,10 @@ Relocation section .* contains 1 entries:
 .* R_PPC64_COPY .* my_func \+ 0
 
 Symbol table '\.dynsym' contains 5 entries:
-.*
-     0: .*
-     1: 0+10010408     4 FUNC    GLOBAL DEFAULT   12 my_func
 #...
-Symbol table '\.symtab' contains 20 entries:
+.*: 0*[1-9a-f][0-9a-f]*     4 FUNC    GLOBAL DEFAULT   1[23] my_func
+#...
+Symbol table '\.symtab' contains .* entries:
 #...
-    15: 0+10010408     4 FUNC    GLOBAL DEFAULT   12 my_func
+.*: 0*[1-9a-f][0-9a-f]*     4 FUNC    GLOBAL DEFAULT   1[23] my_func
 #pass
diff --git a/ld/testsuite/ld-powerpc/ambiguousv2.d b/ld/testsuite/ld-powerpc/ambiguousv2.d
index 99c8a39..fec3a2c 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv2.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv2.d
@@ -24,7 +24,7 @@ Symbol table '\.dynsym' contains 5 entries:
      1: 0+00000000     0 FUNC    GLOBAL DEFAULT  UND my_func
 #...
 
-Symbol table '\.symtab' contains 21 entries:
+Symbol table '\.symtab' contains .* entries:
 #...
-    16: 0+00000000     0 FUNC    GLOBAL DEFAULT  UND my_func
+.*: 0+00000000     0 FUNC    GLOBAL DEFAULT  UND my_func
 #pass
diff --git a/ld/testsuite/ld-powerpc/ambiguousv2b.d b/ld/testsuite/ld-powerpc/ambiguousv2b.d
index 859a3ea..c93cd11 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv2b.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv2b.d
@@ -15,11 +15,10 @@ Relocation section .* contains 1 entries:
 .* R_PPC64_JMP_SLOT .* my_func \+ 0
 
 Symbol table '\.dynsym' contains 5 entries:
-.*
-     0: .*
-     1: 0+100002b8     0 FUNC    GLOBAL DEFAULT  UND my_func
 #...
-Symbol table '\.symtab' contains 21 entries:
+.*: 0*[1-9a-f][0-9a-f]*     0 FUNC    GLOBAL DEFAULT  UND my_func
+#...
+Symbol table '\.symtab' contains .* entries:
 #...
-    16: 0+100002b8     0 FUNC    GLOBAL DEFAULT  UND my_func
+.*: 0*[1-9a-f][0-9a-f]*     0 FUNC    GLOBAL DEFAULT  UND my_func
 #pass
diff --git a/ld/testsuite/ld-powerpc/elfv2so.d b/ld/testsuite/ld-powerpc/elfv2so.d
index f3962ac..2c1fa32 100644
--- a/ld/testsuite/ld-powerpc/elfv2so.d
+++ b/ld/testsuite/ld-powerpc/elfv2so.d
@@ -7,33 +7,33 @@
 
 Disassembly of section \.text:
 
-0+300 <.*\.plt_call\.f4>:
+.* <.*\.plt_call\.f4>:
 .*:	(f8 41 00 18|18 00 41 f8) 	std     r2,24\(r1\)
 .*:	(e9 82 80 38|38 80 82 e9) 	ld      r12,-32712\(r2\)
 .*:	(7d 89 03 a6|a6 03 89 7d) 	mtctr   r12
 .*:	(4e 80 04 20|20 04 80 4e) 	bctr
 
-0+310 <.*\.plt_call\.f3>:
+.* <.*\.plt_call\.f3>:
 .*:	(f8 41 00 18|18 00 41 f8) 	std     r2,24\(r1\)
 .*:	(e9 82 80 28|28 80 82 e9) 	ld      r12,-32728\(r2\)
 .*:	(7d 89 03 a6|a6 03 89 7d) 	mtctr   r12
 .*:	(4e 80 04 20|20 04 80 4e) 	bctr
 
-0+320 <.*\.plt_call\.f2>:
+.* <.*\.plt_call\.f2>:
 .*:	(f8 41 00 18|18 00 41 f8) 	std     r2,24\(r1\)
 .*:	(e9 82 80 30|30 80 82 e9) 	ld      r12,-32720\(r2\)
 .*:	(7d 89 03 a6|a6 03 89 7d) 	mtctr   r12
 .*:	(4e 80 04 20|20 04 80 4e) 	bctr
 
-0+330 <.*\.plt_call\.f1>:
+.* <.*\.plt_call\.f1>:
 .*:	(f8 41 00 18|18 00 41 f8) 	std     r2,24\(r1\)
 .*:	(e9 82 80 40|40 80 82 e9) 	ld      r12,-32704\(r2\)
 .*:	(7d 89 03 a6|a6 03 89 7d) 	mtctr   r12
 .*:	(4e 80 04 20|20 04 80 4e) 	bctr
 
-0+340 <f1>:
+.* <f1>:
 .*:	(3c 4c 00 02|02 00 4c 3c) 	addis   r2,r12,2
-.*:	(38 42 82 c0|c0 82 42 38) 	addi    r2,r2,-32064
+.*:	(38 42 .. ..|.. .. 42 38) 	addi    r2,r2,.*
 .*:	(7c 08 02 a6|a6 02 08 7c) 	mflr    r0
 .*:	(f8 21 ff e1|e1 ff 21 f8) 	stdu    r1,-32\(r1\)
 .*:	(f8 01 00 30|30 00 01 f8) 	std     r0,48\(r1\)
@@ -50,10 +50,10 @@ Disassembly of section \.text:
 .*:	(38 21 00 20|20 00 21 38) 	addi    r1,r1,32
 .*:	(7c 08 03 a6|a6 03 08 7c) 	mtlr    r0
 .*:	(4e 80 00 20|20 00 80 4e) 	blr
-.*:	(00 00 00 00|80 02 01 00) 	.*
-.*:	(00 01 02 80|00 00 00 00) 	.*
+.*
+.*
 
-0+390 <__glink_PLTresolve>:
+.* <__glink_PLTresolve>:
 .*:	(7c 08 02 a6|a6 02 08 7c) 	mflr    r0
 .*:	(42 9f 00 05|05 00 9f 42) 	bcl     .*
 .*:	(7d 68 02 a6|a6 02 68 7d) 	mflr    r11
diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp
index 6249ccb..4405fa3 100644
--- a/ld/testsuite/ld-powerpc/powerpc.exp
+++ b/ld/testsuite/ld-powerpc/powerpc.exp
@@ -29,33 +29,34 @@ if {[istarget "*-*-vxworks"]} {
 	 "-mregnames" {vxworks1-lib.s}
 	 {{readelf --segments vxworks1-lib.sd}}
 	 "libvxworks1.so"}
-	{"VxWorks shared library test 1" "-shared -Tvxworks1.ld" ""
+	{"VxWorks shared library test 1"
+	 "-shared --hash-style=sysv -Tvxworks1.ld" ""
 	 "-mregnames" {vxworks1-lib.s}
 	 {{readelf --relocs vxworks1-lib.rd} {objdump -dr vxworks1-lib.dd}
 	  {readelf --symbols vxworks1-lib.nd} {readelf -d vxworks1-lib.td}}
 	 "libvxworks1.so"}
 	{"VxWorks executable test 1 (dynamic)" \
-	 "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic" ""
+	 "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic --hash-style=sysv" ""
 	 "-mregnames" {vxworks1.s}
 	 {{readelf --relocs vxworks1.rd} {objdump -dr vxworks1.dd}}
 	 "vxworks1"}
 	{"VxWorks executable test 2 (dynamic)" \
-	 "-Tvxworks1.ld -q --force-dynamic" ""
+	 "-Tvxworks1.ld -q --force-dynamic --hash-style=sysv" ""
 	 "-mregnames" {vxworks2.s}
 	 {{readelf --segments vxworks2.sd}}
 	 "vxworks2"}
 	{"VxWorks executable test 2 (static)"
-	 "-Tvxworks1.ld" ""
+	 "-Tvxworks1.ld --hash-style=sysv" ""
 	 "-mregnames" {vxworks2.s}
 	 {{readelf --segments vxworks2-static.sd}}
 	 "vxworks2"}
 	{"VxWorks relax test"
-	 "-Tvxworks1.ld --relax -q" ""
+	 "-Tvxworks1.ld --relax -q --hash-style=sysv" ""
 	 "-mregnames" {vxworks-relax.s}
 	 {{readelf --relocs vxworks-relax.rd}}
 	 "vxworks-relax"}
 	{"VxWorks relocatable relax test"
-	 "-Tvxworks1.ld -r --relax -q" ""
+	 "-Tvxworks1.ld -r --relax -q --hash-style=sysv" ""
 	 "-mregnames" {vxworks-relax-2.s}
 	 {{readelf --relocs vxworks-relax-2.rd}}
 	 "vxworks-relax-2"}
@@ -115,11 +116,11 @@ set ppcelftests {
      "tls32"}
     {"TLS32 helper shared library" "-shared -melf32ppc tmpdir/tlslib32.o" "" "" {}
      {} "libtlslib32.so"}
-    {"TLS32 dynamic exec" "-melf32ppc --no-ld-generated-unwind-info tmpdir/tls32.o tmpdir/libtlslib32.so" "" "" {}
+    {"TLS32 dynamic exec" "-melf32ppc --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o tmpdir/libtlslib32.so" "" "" {}
      {{readelf -WSsrl tlsexe32.r} {objdump -dr tlsexe32.d}
       {objdump -sj.got tlsexe32.g} {objdump -sj.tdata tlsexe32.t}}
       "tlsexe32"}
-    {"TLS32 shared" "-shared -melf32ppc --no-ld-generated-unwind-info tmpdir/tls32.o" "" "" {}
+    {"TLS32 shared" "-shared -melf32ppc --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o" "" "" {}
      {{readelf -WSsrl tlsso32.r} {objdump -dr tlsso32.d}
       {objdump -sj.got tlsso32.g} {objdump -sj.tdata tlsso32.t}}
       "tls32.so"}
@@ -163,15 +164,15 @@ set ppc64elftests {
      {} "libtlslib.so"}
     {"TLS helper old shared lib" "-shared -melf64ppc" "" "-a64" {oldtlslib.s}
      {} "liboldlib.so"}
-    {"TLS dynamic exec" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o tmpdir/libtlslib.so" "" "" {}
+    {"TLS dynamic exec" "-melf64ppc --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {}
      {{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d}
       {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}}
       "tlsexe"}
-    {"TLS dynamic old" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o tmpdir/liboldlib.so" "" "" {}
+    {"TLS dynamic old" "-melf64ppc --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/liboldlib.so" "" "" {}
      {{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d}
       {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}}
       "tlsexeold"}
-    {"TLS shared" "-shared -melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o" "" "" {}
+    {"TLS shared" "-shared -melf64ppc --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o" "" "" {}
      {{readelf -WSsrl tlsso.r} {objdump -dr tlsso.d}
       {objdump -sj.got tlsso.g} {objdump -sj.tdata tlsso.t}}
       "tls.so"}
@@ -179,17 +180,17 @@ set ppc64elftests {
      {{objdump -dr tlstoc.d} {objdump -sj.got tlstoc.g}
       {objdump -sj.tdata tlstoc.t}}
       "tlstoc"}
-    {"TLSTOC dynamic exec" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o tmpdir/libtlslib.so" ""
+    {"TLSTOC dynamic exec" "-melf64ppc --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" ""
      "" {}
      {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d}
       {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}}
       "tlsexetoc"}
-    {"TLSTOC dynamic old" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o tmpdir/liboldlib.so" ""
+    {"TLSTOC dynamic old" "-melf64ppc --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/liboldlib.so" ""
      "" {}
      {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d}
       {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}}
       "tlsexetocold"}
-    {"TLSTOC shared" "-shared -melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o" "" "" {}
+    {"TLSTOC shared" "-shared -melf64ppc --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o" "" "" {}
      {{readelf -WSsrl tlstocso.r} {objdump -dr tlstocso.d}
       {objdump -sj.got tlstocso.g} {objdump -sj.tdata tlstocso.t}}
       "tlstoc.so"}
diff --git a/ld/testsuite/ld-powerpc/tlsopt5.d b/ld/testsuite/ld-powerpc/tlsopt5.d
index 3c85185..4521a9b 100644
--- a/ld/testsuite/ld-powerpc/tlsopt5.d
+++ b/ld/testsuite/ld-powerpc/tlsopt5.d
@@ -8,7 +8,7 @@
 
 Disassembly of section \.text:
 
-0+2c0 <.*\.plt_call\.__tls_get_addr_opt@@GLIBC_2\.22>:
+.* <.*\.plt_call\.__tls_get_addr_opt@@GLIBC_2\.22>:
 .*:	(00 00 63 e9|e9 63 00 00) 	ld      r11,0\(r3\)
 .*:	(08 00 83 e9|e9 83 00 08) 	ld      r12,8\(r3\)
 .*:	(78 1b 60 7c|7c 60 1b 78) 	mr      r0,r3
@@ -27,14 +27,14 @@ Disassembly of section \.text:
 .*:	(a6 03 68 7d|7d 68 03 a6) 	mtlr    r11
 .*:	(20 00 80 4e|4e 80 00 20) 	blr
 
-0+304 <_start>:
+.* <_start>:
 .*:	(08 80 62 38|38 62 80 08) 	addi    r3,r2,-32760
 .*:	(b9 ff ff 4b|4b ff ff b9) 	bl      .*
 .*:	(00 00 00 60|60 00 00 00) 	nop
-.*:	(f8 02 01 00|00 00 00 00) 	.*
-.*:	(00 00 00 00|00 01 02 f8) 	.*
+.*
+.*
 
-0+318 <__glink_PLTresolve>:
+.* <__glink_PLTresolve>:
 .*:	(a6 02 08 7c|7c 08 02 a6) 	mflr    r0
 .*:	(05 00 9f 42|42 9f 00 05) 	bcl     .*
 .*:	(a6 02 68 7d|7d 68 02 a6) 	mflr    r11
@@ -50,5 +50,5 @@ Disassembly of section \.text:
 .*:	(08 00 6b e9|e9 6b 00 08) 	ld      r11,8\(r11\)
 .*:	(20 04 80 4e|4e 80 04 20) 	bctr
 
-0+350 <__tls_get_addr_opt@plt>:
+.* <__tls_get_addr_opt@plt>:
 .*:	(c8 ff ff 4b|4b ff ff c8) 	b       .*
diff --git a/ld/testsuite/ld-powerpc/tlsopt5.wf b/ld/testsuite/ld-powerpc/tlsopt5.wf
index 05ef7e0..158f650 100644
--- a/ld/testsuite/ld-powerpc/tlsopt5.wf
+++ b/ld/testsuite/ld-powerpc/tlsopt5.wf
@@ -10,23 +10,23 @@ Contents of the \.eh_frame section:
 
   DW_CFA_def_cfa: r1 ofs 0
 
-0+14 0+14 0+18 FDE cie=0+ pc=0+2c0\.\.0+304
-  DW_CFA_advance_loc: 48 to 0+2f0
+0+14 0+14 0+18 FDE cie=0+ pc=.*
+  DW_CFA_advance_loc: 48 to .*
   DW_CFA_offset_extended_sf: r65 at cfa\+8
-  DW_CFA_advance_loc: 16 to 0+300
+  DW_CFA_advance_loc: 16 to .*
   DW_CFA_restore_extended: r65
 
-0+2c 0+18 0+30 FDE cie=0+ pc=0+318\.\.0+354
-  DW_CFA_advance_loc: 4 to 0+31c
+0+2c 0+18 0+30 FDE cie=0+ pc=.*
+  DW_CFA_advance_loc: 4 to .*
   DW_CFA_register: r65 in r0
-  DW_CFA_advance_loc: 28 to 0+338
+  DW_CFA_advance_loc: 28 to .*
   DW_CFA_restore_extended: r65
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-0+48 0+10 0+4c FDE cie=0+ pc=0+304\.\.0+310
+0+48 0+10 0+4c FDE cie=0+ pc=.*
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
diff --git a/ld/testsuite/ld-powerpc/tlsopt5_32.d b/ld/testsuite/ld-powerpc/tlsopt5_32.d
index 64acf10..4f1bf06 100644
--- a/ld/testsuite/ld-powerpc/tlsopt5_32.d
+++ b/ld/testsuite/ld-powerpc/tlsopt5_32.d
@@ -8,7 +8,7 @@
 
 Disassembly of section \.text:
 
-0+200 <_start>:
+.* <_start>:
 .*:	(f0 ff 21 94|94 21 ff f0) 	stwu    r1,-16\(r1\)
 .*:	(a6 02 08 7c|7c 08 02 a6) 	mflr    r0
 .*:	(05 00 9f 42|42 9f 00 05) 	bcl     .*
@@ -16,9 +16,9 @@ Disassembly of section \.text:
 .*:	(a6 02 c8 7f|7f c8 02 a6) 	mflr    r30
 .*:	(01 00 de 3f|3f de 00 01) 	addis   r30,r30,1
 .*:	(14 00 01 90|90 01 00 14) 	stw     r0,20\(r1\)
-.*:	(7c 01 de 3b|3b de 01 7c) 	addi    r30,r30,380
+.*:	(.. .. de 3b|3b de .. ..) 	addi    r30,r30,.*
 .*:	(f8 ff 7e 38|38 7e ff f8) 	addi    r3,r30,-8
-.*:	(1d 00 00 48|48 00 00 1d) 	bl      240 <.*__tls_get_addr_opt.*>
+.*:	(1d 00 00 48|48 00 00 1d) 	bl      .* <.*__tls_get_addr_opt.*>
 .*:	(14 00 01 80|80 01 00 14) 	lwz     r0,20\(r1\)
 .*:	(08 00 c1 83|83 c1 00 08) 	lwz     r30,8\(r1\)
 .*:	(a6 03 08 7c|7c 08 03 a6) 	mtlr    r0
@@ -26,7 +26,7 @@ Disassembly of section \.text:
 .*:	(20 00 80 4e|4e 80 00 20) 	blr
 .*
 
-0+240 <.*__tls_get_addr_opt.*>:
+.* <.*__tls_get_addr_opt.*>:
 .*:	(00 00 63 81|81 63 00 00) 	lwz     r11,0\(r3\)
 .*:	(04 00 83 81|81 83 00 04) 	lwz     r12,4\(r3\)
 .*:	(78 1b 60 7c|7c 60 1b 78) 	mr      r0,r3
@@ -40,13 +40,13 @@ Disassembly of section \.text:
 .*:	(20 04 80 4e|4e 80 04 20) 	bctr
 .*:	(00 00 00 60|60 00 00 00) 	nop
 
-0+270 <__glink>:
+.* <__glink>:
 .*:	(00 00 00 60|60 00 00 00) 	nop
 .*:	(00 00 00 60|60 00 00 00) 	nop
 .*:	(00 00 00 60|60 00 00 00) 	nop
 .*:	(00 00 00 60|60 00 00 00) 	nop
 
-0+280 <__glink_PLTresolve>:
+.* <__glink_PLTresolve>:
 .*:	(00 00 6b 3d|3d 6b 00 00) 	addis   r11,r11,0
 .*:	(a6 02 08 7c|7c 08 02 a6) 	mflr    r0
 .*:	(05 00 9f 42|42 9f 00 05) 	bcl     .*
@@ -55,8 +55,8 @@ Disassembly of section \.text:
 .*:	(a6 03 08 7c|7c 08 03 a6) 	mtlr    r0
 .*:	(50 58 6c 7d|7d 6c 58 50) 	subf    r11,r12,r11
 .*:	(01 00 8c 3d|3d 8c 00 01) 	addis   r12,r12,1
-.*:	(00 01 0c 80|80 0c 01 00) 	lwz     r0,256\(r12\)
-.*:	(04 01 8c 81|81 8c 01 04) 	lwz     r12,260\(r12\)
+.*:	(.. .. 0c 80|80 0c .. ..) 	lwz     r0,.*\(r12\)
+.*:	(.. .. 8c 81|81 8c .. ..) 	lwz     r12,.*\(r12\)
 .*:	(a6 03 09 7c|7c 09 03 a6) 	mtctr   r0
 .*:	(14 5a 0b 7c|7c 0b 5a 14) 	add     r0,r11,r11
 .*:	(14 5a 60 7d|7d 60 5a 14) 	add     r11,r0,r11
diff --git a/ld/testsuite/ld-s390/s390.exp b/ld/testsuite/ld-s390/s390.exp
index 9a375b7..e1796fa 100644
--- a/ld/testsuite/ld-s390/s390.exp
+++ b/ld/testsuite/ld-s390/s390.exp
@@ -36,7 +36,7 @@ if { !([istarget "s390-*-*"] || [istarget "s390x-*-*"]) } {
 # readelf: Apply readelf options on result.  Compare with regex (last arg).
 
 set s390tests {
-    {"TLS -fpic -shared transitions" "-shared -melf_s390" ""
+    {"TLS -fpic -shared transitions" "-shared -melf_s390 --hash-style=sysv" ""
      "-m31" {tlspic1.s tlspic2.s}
      {{readelf -Ssrl tlspic.rd} {objdump -dzrj.text tlspic.dd}
       {objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
@@ -44,19 +44,20 @@ set s390tests {
     {"Helper shared library" "-shared -melf_s390" ""
      "-m31" {tlslib.s} {} "libtlslib.so"}
     {"TLS -fpic and -fno-pic exec transitions"
-     "-melf_s390 tmpdir/libtlslib.so" "" "-m31" {tlsbinpic.s tlsbin.s}
+     "-melf_s390 tmpdir/libtlslib.so --hash-style=sysv" ""
+     "-m31" {tlsbinpic.s tlsbin.s}
      {{readelf -Ssrl tlsbin.rd} {objdump -dzrj.text tlsbin.dd}
       {objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
      "tlsbin"}
     {"GOT: symbol address load from got to larl"
-     "-shared -melf_s390 --version-script=gotreloc-1.ver" ""
+     "-shared -melf_s390 --hash-style=sysv --version-script=gotreloc-1.ver" ""
      "-m31" {gotreloc-1.s}
      {{objdump -dzrj.text gotreloc_31-1.dd}}
      "gotreloc_31-1"}
 }
 
 set s390xtests {
-    {"TLS -fpic -shared transitions" "-shared -melf64_s390" ""
+    {"TLS -fpic -shared transitions" "-shared -melf64_s390 --hash-style=sysv" ""
      "-m64 -Aesame" {tlspic1_64.s tlspic2_64.s}
      {{readelf -WSsrl tlspic_64.rd} {objdump -dzrj.text tlspic_64.dd}
       {objdump -sj.got tlspic_64.sd} {objdump -sj.tdata tlspic_64.td}}
@@ -64,13 +65,13 @@ set s390xtests {
     {"Helper shared library" "-shared -melf64_s390" ""
      "-m64 -Aesame" {tlslib_64.s} {} "libtlslib_64.so"}
     {"TLS -fpic and -fno-pic exec transitions"
-     "-melf64_s390 tmpdir/libtlslib_64.so" "" "-m64 -Aesame"
-     {tlsbinpic_64.s tlsbin_64.s}
+     "-melf64_s390 tmpdir/libtlslib_64.so --hash-style=sysv" ""
+     "-m64 -Aesame" {tlsbinpic_64.s tlsbin_64.s}
      {{readelf -WSsrl tlsbin_64.rd} {objdump -dzrj.text tlsbin_64.dd}
       {objdump -sj.got tlsbin_64.sd} {objdump -sj.tdata tlsbin_64.td}}
      "tlsbin_64"}
     {"GOT: symbol address load from got to larl"
-     "-shared -melf64_s390 --version-script=gotreloc-1.ver" ""
+     "-shared -melf64_s390 --hash-style=sysv --version-script=gotreloc-1.ver" ""
      "-m64" {gotreloc-1.s}
      {{objdump -dzrj.text gotreloc_64-1.dd}}
      "gotreloc_64-1"}
diff --git a/ld/testsuite/ld-scripts/cross1.t b/ld/testsuite/ld-scripts/cross1.t
index c20e473..0667f25 100644
--- a/ld/testsuite/ld-scripts/cross1.t
+++ b/ld/testsuite/ld-scripts/cross1.t
@@ -4,6 +4,7 @@ SECTIONS
   .dynsym : { *(.dynsym) }
   .dynstr : { *(.dynstr) }
   .hash : { *(.hash) }
+  .gnu.hash : { *(.gnu.hash) }
   .toc  : { *(.toc) }
   .text : { tmpdir/cross1.o }
   .data : { tmpdir/cross2.o }
diff --git a/ld/testsuite/ld-sh/sh-vxworks.exp b/ld/testsuite/ld-sh/sh-vxworks.exp
index 2a6b89d..297abec 100644
--- a/ld/testsuite/ld-sh/sh-vxworks.exp
+++ b/ld/testsuite/ld-sh/sh-vxworks.exp
@@ -26,33 +26,35 @@ set endians { "--big" "-EB" "" "--little" "-EL" "-le" }
 
 foreach { gas_option ld_option suffix } $endians {
     set vxworkstests {
-	{"VxWorks shared library test 1" "-shared -Tvxworks1.ld $ld_option" ""
+	{"VxWorks shared library test 1"
+	 "-shared -Tvxworks1.ld --hash-style=sysv $ld_option" ""
 	 "$gas_option" {vxworks1-lib.s}
 	 {{readelf --relocs vxworks1-lib.rd}
 	  {objdump -dr vxworks1-lib$suffix.dd}
 	  {readelf --symbols vxworks1-lib.nd} {readelf -d vxworks1-lib.td}}
 	 "libvxworks1.so"}
 	{"VxWorks executable test 1 (dynamic)" \
-	 "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic $ld_option" ""
+	 "tmpdir/libvxworks1.so -Tvxworks1.ld --hash-style=sysv -q --force-dynamic $ld_option" ""
 	 "$gas_option" {vxworks1.s}
 	 {{readelf --relocs vxworks1.rd} {objdump -dr vxworks1$suffix.dd}}
 	 "vxworks1"}
 	{"VxWorks executable test 2 (dynamic)" \
-	 "-Tvxworks1.ld -q --force-dynamic $ld_option" ""
+	 "-Tvxworks1.ld --hash-style=sysv -q --force-dynamic $ld_option" ""
 	 "$gas_option" {vxworks2.s}
 	 {{readelf --segments vxworks2.sd}}
 	 "vxworks2"}
 	{"VxWorks executable test 2 (static)"
-	 "-Tvxworks1.ld $ld_option" ""
+	 "-Tvxworks1.ld --hash-style=sysv $ld_option" ""
 	 "$gas_option" {vxworks2.s}
 	 {{readelf --segments vxworks2-static.sd}}
 	 "vxworks2"}
-	{"VxWorks shared library test 3" "-shared -Tvxworks1.ld $ld_option" ""
+	{"VxWorks shared library test 3"
+	 "-shared -Tvxworks1.ld --hash-style=sysv $ld_option" ""
 	 "$gas_option" {vxworks3-lib.s}
 	    {{objdump -dr vxworks3-lib$suffix.dd}}
 	 "libvxworks3.so"}
 	{"VxWorks executable test 3 (dynamic)" \
-	 "tmpdir/libvxworks3.so -Tvxworks1.ld -q --force-dynamic $ld_option" ""
+	 "tmpdir/libvxworks3.so -Tvxworks1.ld --hash-style=sysv -q --force-dynamic $ld_option" ""
 	 "$gas_option" {vxworks3.s}
 	 {{objdump -d vxworks3$suffix.dd}}
 	 "vxworks3"}
diff --git a/ld/testsuite/ld-sh/shared-2.d b/ld/testsuite/ld-sh/shared-2.d
index e65fea4..26d2887 100644
--- a/ld/testsuite/ld-sh/shared-2.d
+++ b/ld/testsuite/ld-sh/shared-2.d
@@ -1,7 +1,7 @@
 #source: textrel1.s
 #source: textrel2.s
 #as: -little
-#ld: -shared -EL
+#ld: -shared -EL --hash-style=sysv
 #readelf: -d
 #target: sh*-*-elf sh*-*-linux* sh*-*-netbsd*
 
diff --git a/ld/testsuite/ld-sh/tlsbin-2.d b/ld/testsuite/ld-sh/tlsbin-2.d
index 6958e45..9f18e1d 100644
--- a/ld/testsuite/ld-sh/tlsbin-2.d
+++ b/ld/testsuite/ld-sh/tlsbin-2.d
@@ -1,7 +1,7 @@
 #source: tlsbinpic.s
 #source: tlsbin.s
 #as: -little
-#ld: -EL tmpdir/tlsbin-0-dso.so
+#ld: -EL --hash-style=sysv tmpdir/tlsbin-0-dso.so
 #readelf: -Ssrl
 #target: sh*-*-linux* sh*-*-netbsd*
 
diff --git a/ld/testsuite/ld-sh/tlspic-2.d b/ld/testsuite/ld-sh/tlspic-2.d
index 42baf1d..a7d83c0 100644
--- a/ld/testsuite/ld-sh/tlspic-2.d
+++ b/ld/testsuite/ld-sh/tlspic-2.d
@@ -1,7 +1,7 @@
 #source: tlspic1.s
 #source: tlspic2.s
 #as: -little
-#ld: -shared -EL
+#ld: -shared -EL --hash-style=sysv
 #readelf: -Ssrl
 #target: sh*-*-linux* sh*-*-netbsd*
 
diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp
index 723b51c..6d7a0d6 100644
--- a/ld/testsuite/ld-shared/shared.exp
+++ b/ld/testsuite/ld-shared/shared.exp
@@ -282,7 +282,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
 	setup_xfail "aarch64*-*-linux*"
 	shared_test shnp "shared (non PIC, load offset)" \
 		mainnp.o sh1np.o sh2np.o shared \
-		"-T $srcdir/$subdir/elf-offset.ld"
+		"-Wl,-T,$srcdir/$subdir/elf-offset.ld,--hash-style=sysv"
     } }
 
     # Now compile the code using -fpic.
diff --git a/ld/testsuite/ld-sparc/sparc.exp b/ld/testsuite/ld-sparc/sparc.exp
index 7782900..3828418 100644
--- a/ld/testsuite/ld-sparc/sparc.exp
+++ b/ld/testsuite/ld-sparc/sparc.exp
@@ -24,23 +24,24 @@
 
 if {[istarget "sparc-*-vxworks"]} {
     set sparcvxworkstests {
-	{"VxWorks shared library test 1" "-shared -Tvxworks1.ld" ""
+	{"VxWorks shared library test 1"
+	 "-shared -Tvxworks1.ld --hash-style=sysv" ""
 	 "-KPIC" {vxworks1-lib.s}
 	 {{readelf --relocs vxworks1-lib.rd} {objdump -dr vxworks1-lib.dd}
 	  {readelf --symbols vxworks1-lib.nd} {readelf -d vxworks1-lib.td}}
 	 "libvxworks1.so"}
 	{"VxWorks executable test 1 (dynamic)" \
-	 "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic" ""
+	 "tmpdir/libvxworks1.so -Tvxworks1.ld --hash-style=sysv -q --force-dynamic" ""
 	 "" {vxworks1.s}
 	 {{readelf --relocs vxworks1.rd} {objdump -dr vxworks1.dd}}
 	 "vxworks1"}
 	{"VxWorks executable test 2 (dynamic)" \
-	 "-Tvxworks1.ld -q --force-dynamic" ""
+	 "-Tvxworks1.ld --hash-style=sysv -q --force-dynamic" ""
 	 "" {vxworks2.s}
 	 {{readelf --segments vxworks2.sd}}
 	 "vxworks2"}
 	{"VxWorks executable test 2 (static)"
-	 "-Tvxworks1.ld" ""
+	 "-Tvxworks1.ld --hash-style=sysv" ""
 	 "" {vxworks2.s}
 	 {{readelf --segments vxworks2-static.sd}}
 	 "vxworks2"}
@@ -67,7 +68,8 @@ if { !([istarget "sparc*-*-elf*"]
 # readelf: Apply readelf options on result.  Compare with regex (last arg).
 
 set sparctests {
-    {"32-bit: TLS -fpic -shared transitions" "-shared -melf32_sparc" ""
+    {"32-bit: TLS -fpic -shared transitions"
+     "-shared -melf32_sparc --hash-style=sysv" ""
      "--32 -K PIC" {tlssunpic32.s tlspic.s}
      {{readelf -WSsrl tlssunpic32.rd} {objdump -drj.text tlssunpic32.dd}
       {objdump -sj.got tlssunpic32.sd} {objdump -sj.tdata tlssunpic32.td}}
@@ -77,19 +79,21 @@ set sparctests {
     {"32-bit: Another helper shared library" "-shared -melf32_sparc" ""
      "--32 -K PIC" {tlssunbinpic32.s} {} "libtlssunbinpic32.so"}
     {"32-bit: TLS -fpic and -fno-pic exec transitions"
-     "-melf32_sparc tmpdir/libtlslib32.so tmpdir/tlssunbinpic32.o" ""
+     "-melf32_sparc --hash-style=sysv tmpdir/libtlslib32.so tmpdir/tlssunbinpic32.o" ""
      "--32" {tlssunbin32.s}
      {{readelf -WSsrl tlssunbin32.rd} {objdump -drj.text tlssunbin32.dd}
       {objdump -sj.got tlssunbin32.sd} {objdump -sj.tdata tlssunbin32.td}}
       "tlssunbin32"}
-    {"32-bit: TLS -fno-pic -shared" "-shared -melf32_sparc" ""
+    {"32-bit: TLS -fno-pic -shared"
+     "-shared -melf32_sparc --hash-style=sysv" ""
      "--32" {tlssunnopic32.s tlsnopic.s}
      {{readelf -WSsrl tlssunnopic32.rd} {objdump -drj.text tlssunnopic32.dd}
       {objdump -sj.got tlssunnopic32.sd}} "libtlssunnopic32.so"}
     {"32-bit: TLS in debug sections" "-melf32_sparc" ""
      "--32" {tlsg32.s}
      {{objdump -sj.debug_foobar tlsg32.sd}} "tlsg32"}
-    {"32-bit: GOTDATA relocations" "-shared -melf32_sparc" ""
+    {"32-bit: GOTDATA relocations"
+     "-shared -melf32_sparc --hash-style=sysv" ""
      "--32 -K PIC" {gotop32.s}
      {{readelf -WSsrl gotop32.rd} {objdump -drj.text gotop32.dd}
       {objdump -sj.got gotop32.sd} {objdump -sj.data gotop32.td}}
@@ -99,7 +103,8 @@ set sparctests {
      {{objdump -dj.wdispcall wdispcall.dd}} "wdispcall"}
 }
 set sparc64tests {
-    {"64-bit: TLS -fpic -shared transitions" "-shared -melf64_sparc" ""
+    {"64-bit: TLS -fpic -shared transitions"
+     "-shared -melf64_sparc --hash-style=sysv" ""
      "--64 -Av9 -K PIC" {tlssunpic64.s tlspic.s}
      {{readelf -WSsrl tlssunpic64.rd} {objdump -drj.text tlssunpic64.dd}
       {objdump -sj.got tlssunpic64.sd} {objdump -sj.tdata tlssunpic64.td}}
@@ -109,19 +114,21 @@ set sparc64tests {
     {"64-bit: Another helper shared library" "-shared -melf64_sparc" ""
      "--64 -Av9 -K PIC" {tlssunbinpic64.s} {} "libtlssunbinpic64.so"}
     {"64-bit: TLS -fpic and -fno-pic exec transitions"
-     "-melf64_sparc tmpdir/libtlslib64.so tmpdir/tlssunbinpic64.o" ""
+     "-melf64_sparc --hash-style=sysv tmpdir/libtlslib64.so tmpdir/tlssunbinpic64.o" ""
      "--64 -Av9" {tlssunbin64.s}
      {{readelf -WSsrl tlssunbin64.rd} {objdump -drj.text tlssunbin64.dd}
       {objdump -sj.got tlssunbin64.sd} {objdump -sj.tdata tlssunbin64.td}}
       "tlssunbin64"}
-    {"64-bit: TLS -fno-pic -shared" "-shared -melf64_sparc" ""
+    {"64-bit: TLS -fno-pic -shared"
+     "-shared -melf64_sparc --hash-style=sysv" ""
      "--64 -Av9" {tlssunnopic64.s tlsnopic.s}
      {{readelf -WSsrl tlssunnopic64.rd} {objdump -drj.text tlssunnopic64.dd}
       {objdump -sj.got tlssunnopic64.sd}} "libtlssunnopic64.so"}
     {"64-bit: TLS in debug sections" "-melf64_sparc" ""
      "--64 -Av9" {tlsg64.s}
      {{objdump -sj.debug_foobar tlsg64.sd}} "tlsg64"}
-    {"64-bit: GOTDATA relocations" "-shared -melf64_sparc" ""
+    {"64-bit: GOTDATA relocations"
+     "-shared -melf64_sparc --hash-style=sysv" ""
      "--64 -K PIC" {gotop64.s}
      {{readelf -WSsrl gotop64.rd} {objdump -drj.text gotop64.dd}
       {objdump -sj.got gotop64.sd} {objdump -sj.data gotop64.td}}
diff --git a/ld/testsuite/ld-tic6x/tic6x.exp b/ld/testsuite/ld-tic6x/tic6x.exp
index c1b0608..943fc5a 100644
--- a/ld/testsuite/ld-tic6x/tic6x.exp
+++ b/ld/testsuite/ld-tic6x/tic6x.exp
@@ -31,21 +31,21 @@ foreach test [lsort [glob -nocomplain $srcdir/$subdir/*.d]] {
 
 set shlibtests {
     {"C6X shared library without --dsbt-index"
-     "-shared  -Tdsbt.ld --dsbt-size=3" ""
+     "-shared  -Tdsbt.ld --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near" {shlib-1.s shlib-2.s}
      {{readelf -WSsrld shlib-noindex.rd}
       {objdump "-drj.plt -j.text" shlib-noindex.dd}
       {objdump -sj.got shlib-noindex.sd}}
       "libtestn.so"}
     {"C6X shared library, LE, RELA"
-     "-shared  -Tdsbt.ld --dsbt-index=2 --dsbt-size=3" ""
+     "-shared  -Tdsbt.ld --dsbt-index=2 --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near" {shlib-1.s shlib-2.s}
      {{readelf -WSsrld shlib-1.rd}
       {objdump "-drj.plt -j.text" shlib-1.dd}
       {objdump -sj.got shlib-1.sd}}
       "libtest.so"}
     {"C6X nonstatic app using shared library, LE, RELA"
-     "-Tdsbt.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtest.so" ""
+     "-Tdsbt.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtest.so --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near" {shlib-app-1.s}
      {{readelf -WSsrld shlib-app-1.rd}
       {objdump "-drj.plt -j.text" shlib-app-1.dd}
@@ -53,14 +53,14 @@ set shlibtests {
       {objdump -R shlib-app-1.od}}
      "shlib-dynapp-1"}
     {"C6X shared library, LE, REL"
-     "-shared  -Tdsbt.ld --dsbt-index=2 --dsbt-size=3" ""
+     "-shared  -Tdsbt.ld --dsbt-index=2 --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near -mgenerate-rel" {shlib-1.s shlib-2.s}
      {{readelf -WSsrld shlib-1r.rd}
       {objdump "-drj.plt -j.text" shlib-1r.dd}
       {objdump -sj.got shlib-1r.sd}}
       "libtestr.so"}
     {"C6X nonstatic app using shared library, LE, REL"
-     "-Tdsbt.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtestr.so" ""
+     "-Tdsbt.ld --dsbt-index 0 --dsbt-size=3 --hash-style=sysv tmpdir/libtestr.so" ""
      "-mdsbt -mpic -mpid=near -mgenerate-rel" {shlib-app-1r.s}
      {{readelf -WSsrld shlib-app-1r.rd}
       {objdump "-drj.plt -j.text" shlib-app-1r.dd}
@@ -68,14 +68,14 @@ set shlibtests {
       {objdump -R shlib-app-1r.od}}
      "shlib-dynapp-1r"}
     {"C6X shared library, BE, RELA"
-     "-shared  -Tdsbt-be.ld --dsbt-index=2 --dsbt-size=3" ""
+     "-shared  -Tdsbt-be.ld --dsbt-index=2 --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near -mbig-endian" {shlib-1.s shlib-2.s}
      {{readelf -WSsrld shlib-1b.rd}
       {objdump "-drj.plt -j.text" shlib-1b.dd}
       {objdump -sj.got shlib-1b.sd}}
       "libtestb.so"}
     {"C6X nonstatic app using shared library, BE, RELA"
-     "-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtestb.so" ""
+     "-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3 --hash-style=sysv tmpdir/libtestb.so" ""
      "-mdsbt -mpic -mpid=near -mbig-endian" {shlib-app-1.s}
      {{readelf -WSsrld shlib-app-1b.rd}
       {objdump "-drj.plt -j.text" shlib-app-1b.dd}
@@ -83,14 +83,14 @@ set shlibtests {
       {objdump -R shlib-app-1b.od}}
      "shlib-dynapp-1b"}
     {"C6X shared library, BE, REL"
-     "-shared  -Tdsbt-be.ld --dsbt-index=2 --dsbt-size=3" ""
+     "-shared  -Tdsbt-be.ld --dsbt-index=2 --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near -mgenerate-rel -mbig-endian" {shlib-1.s shlib-2.s}
      {{readelf -WSsrld shlib-1rb.rd}
       {objdump "-drj.plt -j.text" shlib-1rb.dd}
       {objdump -sj.got shlib-1rb.sd}}
       "libtestrb.so"}
     {"C6X nonstatic app using shared library, BE, REL"
-     "-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtestrb.so" ""
+     "-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3 --hash-style=sysv tmpdir/libtestrb.so" ""
      "-mdsbt -mpic -mpid=near -mgenerate-rel -mbig-endian" {shlib-app-1r.s}
      {{readelf -WSsrld shlib-app-1rb.rd}
       {objdump "-drj.plt -j.text" shlib-app-1rb.dd}
@@ -99,7 +99,7 @@ set shlibtests {
      "shlib-dynapp-1rb"}
 
     {"C6X static app, LE, RELA"
-     "-Tdsbt.ld --dsbt-index 0 --dsbt-size=3" ""
+     "-Tdsbt.ld --dsbt-index 0 --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near" {shlib-1.s shlib-2.s shlib-app-1.s}
      {{readelf -WSsrld static-app-1.rd}
       {objdump "-drj.plt -j.text" static-app-1.dd}
@@ -107,7 +107,7 @@ set shlibtests {
       {objdump -R static-app-1.od}}
      "static-app-1"}
     {"C6X static app, LE, REL"
-     "-Tdsbt.ld --dsbt-index 0 --dsbt-size=3" ""
+     "-Tdsbt.ld --dsbt-index 0 --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near -mgenerate-rel" {shlib-1.s shlib-2.s shlib-app-1r.s}
      {{readelf -WSsrld static-app-1r.rd}
       {objdump "-drj.plt -j.text" static-app-1r.dd}
@@ -115,7 +115,7 @@ set shlibtests {
       {objdump -R static-app-1r.od}}
      "static-app-1r"}
     {"C6X static app, BE, RELA"
-     "-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3" ""
+     "-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near -mbig-endian" {shlib-1.s shlib-2.s shlib-app-1.s}
      {{readelf -WSsrld static-app-1b.rd}
       {objdump "-drj.plt -j.text" static-app-1b.dd}
@@ -123,7 +123,7 @@ set shlibtests {
       {objdump -R static-app-1b.od}}
      "static-app-1b"}
     {"C6X static app, BE, REL"
-     "-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3" ""
+     "-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3 --hash-style=sysv" ""
      "-mdsbt -mpic -mpid=near -mbig-endian -mgenerate-rel" {shlib-1.s shlib-2.s shlib-app-1r.s}
      {{readelf -WSsrld static-app-1rb.rd}
       {objdump "-drj.plt -j.text" static-app-1rb.dd}
diff --git a/ld/testsuite/ld-vax-elf/vax-elf.exp b/ld/testsuite/ld-vax-elf/vax-elf.exp
index f70c712..0f58af8 100644
--- a/ld/testsuite/ld-vax-elf/vax-elf.exp
+++ b/ld/testsuite/ld-vax-elf/vax-elf.exp
@@ -25,7 +25,7 @@ if { ![istarget vax-*-*] || ![is_elf_format] } {
 
 run_ld_link_tests [list \
     [list "PLT test (shared library)" \
-	  "-shared -T plt-local-lib.ld" "" \
+	  "-shared -T plt-local-lib.ld --hash-style=sysv" "" \
 	  "-k" \
 	  { plt-local-lib.s } \
 	  { { objdump -d plt-local-lib.dd } } \
@@ -43,7 +43,7 @@ run_ld_link_tests [list \
 	  {} \
 	  "plt-local-rehidden-pic-r.o"] \
     [list "PLT test (executable)" \
-	  "-T plt-local.ld tmpdir/plt-local-hidden-pic-r.o tmpdir/plt-local-rehidden-pic-r.o tmpdir/plt-local-lib.so" "" \
+	  "-T plt-local.ld --hash-style=sysv tmpdir/plt-local-hidden-pic-r.o tmpdir/plt-local-rehidden-pic-r.o tmpdir/plt-local-lib.so" "" \
 	  "" \
 	  { plt-local.s } \
 	  { { objdump -d plt-local.dd } } \
@@ -87,7 +87,7 @@ run_ld_link_tests [list \
 run_ld_link_tests [list \
     [list \
 	"VAX export class call relocation test" \
-	"-shared -Ttext 0x12340000 -T export-class.ld" "" \
+	"-shared -Ttext 0x12340000 -T export-class.ld --hash-style=sysv" "" \
 	"-k" \
 	[list export-class-call.s export-class-def.s] \
 	[list \
@@ -97,7 +97,7 @@ run_ld_link_tests [list \
 	"export-class-call.so"] \
     [list \
 	"VAX export class data relocation test" \
-	"-shared -Ttext 0x12340000 -T export-class.ld" "" \
+	"-shared -Ttext 0x12340000 -T export-class.ld --hash-style=sysv" "" \
 	"-k" \
 	[list export-class-data.s export-class-def.s] \
 	[list \
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 50ddf74..6b35219 100644
--- a/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
@@ -1,6 +1,6 @@
 #source: bnd-branch-1.s
 #as: --64
-#ld: -z now -shared -melf_x86_64
+#ld: -z now -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
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 73ddc31..f29a40a 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
@@ -1,6 +1,6 @@
 #source: bnd-ifunc-1.s
 #as: --64 -madd-bnd-prefix
-#ld: -z now -shared -melf_x86_64 -z bndplt
+#ld: -z now -shared -melf_x86_64 -z bndplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-1.d b/ld/testsuite/ld-x86-64/bnd-ifunc-1.d
index 273e334..13e86bb 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-1.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-1.d
@@ -1,5 +1,5 @@
 #as: --64 -madd-bnd-prefix
-#ld: -shared -melf_x86_64 -z bndplt
+#ld: -shared -melf_x86_64 -z bndplt --hash-style=sysv
 #objdump: -dw
 
 #...
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 1fbcd17..bb9a26e 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
@@ -1,6 +1,6 @@
 #source: bnd-ifunc-2.s
 #as: --64 -madd-bnd-prefix
-#ld: -z now -shared -melf_x86_64 -z bndplt
+#ld: -z now -shared -melf_x86_64 -z bndplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-2.d b/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
index fc03c17..caba178 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
@@ -1,5 +1,5 @@
 #as: --64 -madd-bnd-prefix
-#ld: -shared -melf_x86_64 -z bndplt
+#ld: -shared -melf_x86_64 -z bndplt --hash-style=sysv
 #objdump: -dw
 
 #...
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 2989f82..9a14a28 100644
--- a/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
@@ -1,6 +1,6 @@
 #source: bnd-branch-1.s
 #as: --64
-#ld: -z now -shared -melf_x86_64 -z bndplt
+#ld: -z now -shared -melf_x86_64 -z bndplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/bnd-plt-1.d b/ld/testsuite/ld-x86-64/bnd-plt-1.d
index 66efb1a..3f7c88d 100644
--- a/ld/testsuite/ld-x86-64/bnd-plt-1.d
+++ b/ld/testsuite/ld-x86-64/bnd-plt-1.d
@@ -1,6 +1,6 @@
 #source: bnd-branch-1.s
 #as: --64
-#ld: -shared -melf_x86_64 -z bndplt
+#ld: -shared -melf_x86_64 -z bndplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
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 6147ab4..f0ffbc2 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-1.s
 #as: --x32
-#ld: -shared -m elf32_x86_64
+#ld: -shared -m elf32_x86_64 --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-1.d b/ld/testsuite/ld-x86-64/ibt-plt-1.d
index dbec3ed..8c36cfb 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-1.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-1.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-1.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64
+#ld: -shared -m elf_x86_64 --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
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 df9dc8e..36117d8 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibtplt
+#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2a.d b/ld/testsuite/ld-x86-64/ibt-plt-2a.d
index 0e4f424..4bdf8bd 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2a.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2a.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibtplt
+#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
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 e908804..ddfbd74 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibt
+#ld: -shared -m elf32_x86_64 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2c.d b/ld/testsuite/ld-x86-64/ibt-plt-2c.d
index 0ef1131..7502d83 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2c.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2c.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibt
+#ld: -shared -m elf_x86_64 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
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 0f7835d..edf29f0 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibtplt
+#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3a.d b/ld/testsuite/ld-x86-64/ibt-plt-3a.d
index b8f2ebc..7ee2f17 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3a.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3a.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibtplt
+#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
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 234944d..85a4879 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibt
+#ld: -shared -m elf32_x86_64 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3c.d b/ld/testsuite/ld-x86-64/ibt-plt-3c.d
index b299f22..d0665ae 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3c.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3c.d
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibt
+#ld: -shared -m elf_x86_64 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
index f560ae3..92c1f9c 100644
--- a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
+++ b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
@@ -1,6 +1,6 @@
 #source: ilp32-4.s
 #as: --x32
-#ld: -m elf32_x86_64_nacl -shared --no-ld-generated-unwind-info
+#ld: -m elf32_x86_64_nacl -shared --no-ld-generated-unwind-info --hash-style=sysv
 #readelf: -d -S --wide
 #target: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/ilp32-4.d b/ld/testsuite/ld-x86-64/ilp32-4.d
index 658ad49..00d54c4 100644
--- a/ld/testsuite/ld-x86-64/ilp32-4.d
+++ b/ld/testsuite/ld-x86-64/ilp32-4.d
@@ -1,5 +1,5 @@
 #as: --x32
-#ld: -m elf32_x86_64 -shared --no-ld-generated-unwind-info
+#ld: -m elf32_x86_64 -shared --no-ld-generated-unwind-info --hash-style=sysv
 #readelf: -d -S --wide
 #target: x86_64-*-linux*
 
diff --git a/ld/testsuite/ld-x86-64/load1c-nacl.d b/ld/testsuite/ld-x86-64/load1c-nacl.d
index 57bc2c2..1ce80b4 100644
--- a/ld/testsuite/ld-x86-64/load1c-nacl.d
+++ b/ld/testsuite/ld-x86-64/load1c-nacl.d
@@ -1,6 +1,6 @@
 #source: load1.s
 #as: --64
-#ld: -shared -melf_x86_64
+#ld: -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/load1c.d b/ld/testsuite/ld-x86-64/load1c.d
index a4f7d8a..65f7eed 100644
--- a/ld/testsuite/ld-x86-64/load1c.d
+++ b/ld/testsuite/ld-x86-64/load1c.d
@@ -1,6 +1,6 @@
 #source: load1.s
 #as: --64
-#ld: -shared -melf_x86_64
+#ld: -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #notarget: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/load1d-nacl.d b/ld/testsuite/ld-x86-64/load1d-nacl.d
index b741917..19fea1a 100644
--- a/ld/testsuite/ld-x86-64/load1d-nacl.d
+++ b/ld/testsuite/ld-x86-64/load1d-nacl.d
@@ -1,6 +1,6 @@
 #source: load1.s
 #as: --x32
-#ld: -shared -melf32_x86_64
+#ld: -shared -melf32_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/load1d.d b/ld/testsuite/ld-x86-64/load1d.d
index ee1e3f0..2620c02 100644
--- a/ld/testsuite/ld-x86-64/load1d.d
+++ b/ld/testsuite/ld-x86-64/load1d.d
@@ -1,6 +1,6 @@
 #source: load1.s
 #as: --x32
-#ld: -shared -melf32_x86_64
+#ld: -shared -melf32_x86_64 --hash-style=sysv
 #objdump: -dw
 #notarget: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/mpx.exp b/ld/testsuite/ld-x86-64/mpx.exp
index 1ba08e0..e3c0b5e 100644
--- a/ld/testsuite/ld-x86-64/mpx.exp
+++ b/ld/testsuite/ld-x86-64/mpx.exp
@@ -107,23 +107,23 @@ set run_tests {
 
 run_ld_link_tests {
     {"Build libcall.so"
-     "-m elf_x86_64 -shared -z bndplt" "" "--64"
-     {mpx3b.s} {} "libcall.so"}
+     "-m elf_x86_64 -shared -z bndplt" ""
+     "--64" {mpx3b.s} {} "libcall.so"}
     {"Build mpx3"
-     "-m elf_x86_64 -z bndplt tmpdir/libcall.so" "" "--64"
-     {mpx3a.s} {{objdump -dw mpx3.dd}} "mpx3"}
+     "-m elf_x86_64 -z bndplt tmpdir/libcall.so" ""
+     "--64" {mpx3a.s} {{objdump -dw mpx3.dd}} "mpx3"}
     {"Build libcall1.so"
-     "-m elf_x86_64 -shared -z bndplt" "" "--64"
-     {mpx4b.s} {} "libcall1.so"}
+     "-m elf_x86_64 -shared -z bndplt" ""
+     "--64" {mpx4b.s} {} "libcall1.so"}
     {"Build mpx4"
-     "-m elf_x86_64 -z bndplt tmpdir/libcall1.so" "" "--64"
-     {mpx4a.s} {{objdump -dw mpx4.dd}} "mpx4"}
+     "-m elf_x86_64 -z bndplt --hash-style=sysv tmpdir/libcall1.so" ""
+     "--64" {mpx4a.s} {{objdump -dw mpx4.dd}} "mpx4"}
     {"Build mpx3 (-z now)"
-     "-z now -m elf_x86_64 -z bndplt tmpdir/libcall.so" "" "--64"
-     {mpx3a.s} {{objdump -dw mpx3n.dd}} "mpx3n"}
+     "-z now -m elf_x86_64 -z bndplt --hash-style=sysv tmpdir/libcall.so" ""
+     "--64" {mpx3a.s} {{objdump -dw mpx3n.dd}} "mpx3n"}
     {"Build mpx4 (-z now)"
-     "-z now -m elf_x86_64 -z bndplt tmpdir/libcall1.so" "" "--64"
-     {mpx4a.s} {{objdump -dw mpx4n.dd}} "mpx4n"}
+     "-z now -m elf_x86_64 -z bndplt --hash-style=sysv tmpdir/libcall1.so" ""
+     "--64" {mpx4a.s} {{objdump -dw mpx4n.dd}} "mpx4n"}
 }
 
 run_ld_link_exec_tests $run_tests
diff --git a/ld/testsuite/ld-x86-64/pie3-nacl.d b/ld/testsuite/ld-x86-64/pie3-nacl.d
index 59f5e3e..efb74ed 100644
--- a/ld/testsuite/ld-x86-64/pie3-nacl.d
+++ b/ld/testsuite/ld-x86-64/pie3-nacl.d
@@ -1,6 +1,6 @@
 #source: pie3.s
 #as: --64
-#ld: -pie -melf_x86_64
+#ld: -pie -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/pie3.d b/ld/testsuite/ld-x86-64/pie3.d
index a200deb..7bc1ccb 100644
--- a/ld/testsuite/ld-x86-64/pie3.d
+++ b/ld/testsuite/ld-x86-64/pie3.d
@@ -1,5 +1,5 @@
 #as: --64
-#ld: -pie -melf_x86_64
+#ld: -pie -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #notarget: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/pr14207.d b/ld/testsuite/ld-x86-64/pr14207.d
index f6558e7..b71d705 100644
--- a/ld/testsuite/ld-x86-64/pr14207.d
+++ b/ld/testsuite/ld-x86-64/pr14207.d
@@ -1,6 +1,6 @@
 #name: PR ld/14207
 #as: --64
-#ld: -melf_x86_64 -shared -z relro -z now
+#ld: -melf_x86_64 -shared -z relro -z now --hash-style=sysv
 #readelf: -l --wide
 #target: x86_64-*-linux*
 
diff --git a/ld/testsuite/ld-x86-64/pr19162.d b/ld/testsuite/ld-x86-64/pr19162.d
index 42cd6c3..6916a51 100644
--- a/ld/testsuite/ld-x86-64/pr19162.d
+++ b/ld/testsuite/ld-x86-64/pr19162.d
@@ -1,7 +1,7 @@
 #source: pr19162a.s
 #source: pr19162b.s
 #as: --64
-#ld: -melf_x86_64 -shared -z max-page-size=0x200000 -z common-page-size=0x1000
+#ld: -melf_x86_64 -shared -z max-page-size=0x200000 -z common-page-size=0x1000 --hash-style=sysv
 #readelf: -l --wide
 #target: x86_64-*-linux*
 
diff --git a/ld/testsuite/ld-x86-64/pr19636-2d-nacl.d b/ld/testsuite/ld-x86-64/pr19636-2d-nacl.d
index 1bdbd8c..f584bda 100644
--- a/ld/testsuite/ld-x86-64/pr19636-2d-nacl.d
+++ b/ld/testsuite/ld-x86-64/pr19636-2d-nacl.d
@@ -1,6 +1,6 @@
 #source: pr19636-2.s
 #as: --64 -mrelax-relocations=no
-#ld: -pie -m elf_x86_64 --no-dynamic-linker
+#ld: -pie -m elf_x86_64 --no-dynamic-linker --hash-style=sysv
 #objdump: -dw
 #target: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/pr19636-2d.d b/ld/testsuite/ld-x86-64/pr19636-2d.d
index 4f5c1f0..6f589ab 100644
--- a/ld/testsuite/ld-x86-64/pr19636-2d.d
+++ b/ld/testsuite/ld-x86-64/pr19636-2d.d
@@ -1,6 +1,6 @@
 #source: pr19636-2.s
 #as: --64 -mrelax-relocations=no
-#ld: -pie -m elf_x86_64 --no-dynamic-linker
+#ld: -pie -m elf_x86_64 --no-dynamic-linker --hash-style=sysv
 #objdump: -dw
 #notarget: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/pr20253-1d.d b/ld/testsuite/ld-x86-64/pr20253-1d.d
index 6953c79..158178d 100644
--- a/ld/testsuite/ld-x86-64/pr20253-1d.d
+++ b/ld/testsuite/ld-x86-64/pr20253-1d.d
@@ -1,6 +1,6 @@
 #source: pr20253-1.s
 #as: --64
-#ld: -pie -melf_x86_64
+#ld: -pie -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #notarget: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/pr20253-1f.d b/ld/testsuite/ld-x86-64/pr20253-1f.d
index 9319350..f1ffbab 100644
--- a/ld/testsuite/ld-x86-64/pr20253-1f.d
+++ b/ld/testsuite/ld-x86-64/pr20253-1f.d
@@ -1,6 +1,6 @@
 #source: pr20253-1.s
 #as: --64
-#ld: -shared -melf_x86_64
+#ld: -shared -melf_x86_64 --hash-style=sysv
 #objdump: -dw
 #notarget: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/pr20253-1j.d b/ld/testsuite/ld-x86-64/pr20253-1j.d
index 5662e0c..b22d26a 100644
--- a/ld/testsuite/ld-x86-64/pr20253-1j.d
+++ b/ld/testsuite/ld-x86-64/pr20253-1j.d
@@ -1,6 +1,6 @@
 #source: pr20253-1.s
 #as: --x32
-#ld: -pie -melf32_x86_64
+#ld: -pie -melf32_x86_64 --hash-style=sysv
 #objdump: -dw
 #notarget: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/pr20253-1l.d b/ld/testsuite/ld-x86-64/pr20253-1l.d
index 83a61db..cef309e 100644
--- a/ld/testsuite/ld-x86-64/pr20253-1l.d
+++ b/ld/testsuite/ld-x86-64/pr20253-1l.d
@@ -1,6 +1,6 @@
 #source: pr20253-1.s
 #as: --x32
-#ld: -shared -melf32_x86_64
+#ld: -shared -melf32_x86_64 --hash-style=sysv
 #objdump: -dw
 #notarget: x86_64-*-nacl*
 
diff --git a/ld/testsuite/ld-x86-64/pr20830a-now.d b/ld/testsuite/ld-x86-64/pr20830a-now.d
index fda0d50..d2e99ab 100644
--- a/ld/testsuite/ld-x86-64/pr20830a-now.d
+++ b/ld/testsuite/ld-x86-64/pr20830a-now.d
@@ -1,7 +1,7 @@
 #name: PR ld/20830 (.plt.got, -z now)
 #source: pr20830.s
 #as: --64
-#ld: -z now -melf_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -z now -melf_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr20830a.d b/ld/testsuite/ld-x86-64/pr20830a.d
index 3122ba7..8ae6b71 100644
--- a/ld/testsuite/ld-x86-64/pr20830a.d
+++ b/ld/testsuite/ld-x86-64/pr20830a.d
@@ -1,7 +1,7 @@
 #name: PR ld/20830 (.plt.got)
 #source: pr20830.s
 #as: --64
-#ld: -melf_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -melf_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr20830b-now.d b/ld/testsuite/ld-x86-64/pr20830b-now.d
index 69120e1..bd9abc4 100644
--- a/ld/testsuite/ld-x86-64/pr20830b-now.d
+++ b/ld/testsuite/ld-x86-64/pr20830b-now.d
@@ -1,7 +1,7 @@
 #name: PR ld/20830 (.plt.got, -z now)
 #source: pr20830.s
 #as: --x32
-#ld: -z now -melf32_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -z now -melf32_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr20830b.d b/ld/testsuite/ld-x86-64/pr20830b.d
index 0bb79a3..83067e0 100644
--- a/ld/testsuite/ld-x86-64/pr20830b.d
+++ b/ld/testsuite/ld-x86-64/pr20830b.d
@@ -1,7 +1,7 @@
 #name: PR ld/20830 (.plt.got)
 #source: pr20830.s
 #as: --x32
-#ld: -melf32_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -melf32_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr21038a-now.d b/ld/testsuite/ld-x86-64/pr21038a-now.d
index ebc5128..fb4ad8f 100644
--- a/ld/testsuite/ld-x86-64/pr21038a-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038a-now.d
@@ -1,7 +1,7 @@
 #name: PR ld/21038 (.plt.got, -z now)
 #source: pr21038a.s
 #as: --64
-#ld: -z now -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -z now -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr21038a.d b/ld/testsuite/ld-x86-64/pr21038a.d
index 81b26cb..2ed962a 100644
--- a/ld/testsuite/ld-x86-64/pr21038a.d
+++ b/ld/testsuite/ld-x86-64/pr21038a.d
@@ -1,6 +1,6 @@
 #name: PR ld/21038 (.plt.got)
 #as: --64
-#ld: -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr21038b-now.d b/ld/testsuite/ld-x86-64/pr21038b-now.d
index b9a8c4d..914b123 100644
--- a/ld/testsuite/ld-x86-64/pr21038b-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038b-now.d
@@ -1,7 +1,7 @@
 #name: PR ld/21038 (.plt.sec, -z now)
 #source: pr21038b.s
 #as: --64
-#ld: -z now -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -z now -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr21038b.d b/ld/testsuite/ld-x86-64/pr21038b.d
index 3457d4d..faeaf45 100644
--- a/ld/testsuite/ld-x86-64/pr21038b.d
+++ b/ld/testsuite/ld-x86-64/pr21038b.d
@@ -1,6 +1,6 @@
 #name: PR ld/21038 (.plt.sec)
 #as: --64
-#ld: -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr21038c-now.d b/ld/testsuite/ld-x86-64/pr21038c-now.d
index 4b6db6f..640e821 100644
--- a/ld/testsuite/ld-x86-64/pr21038c-now.d
+++ b/ld/testsuite/ld-x86-64/pr21038c-now.d
@@ -1,7 +1,7 @@
 #name: PR ld/21038 (.plt.got and .plt.sec, -z now)
 #source: pr21038c.s
 #as: --64
-#ld: -z now -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -z now -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/pr21038c.d b/ld/testsuite/ld-x86-64/pr21038c.d
index eb6f207..4b0bd89 100644
--- a/ld/testsuite/ld-x86-64/pr21038c.d
+++ b/ld/testsuite/ld-x86-64/pr21038c.d
@@ -1,6 +1,6 @@
 #name: PR ld/21038 (.plt.got and .plt.sec)
 #as: --64
-#ld: -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info
+#ld: -z bndplt -melf_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv
 #objdump: -dw -Wf
 
 .*: +file format .*
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index c582582..ce29cc8 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -50,20 +50,20 @@ set x86_64tests {
      "-melf_x86_64 tmpdir/libpltlib.so" "" "--64" {plt.s}
      {{objdump -drj.plt plt.pd}} "plt"}
     {"TLS -fpic -shared transitions"
-     "-shared -melf_x86_64 --no-ld-generated-unwind-info" ""
+     "-shared -melf_x86_64 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--64" {tlspic1.s tlspic2.s}
      {{readelf -WSsrl tlspic.rd} {objdump -drj.text\ -Mintel64 tlspic.dd}
       {objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
       "libtlspic.so"}
     {"TLS -fpic -shared transitions with r15 as GOT base"
-     "-shared -melf_x86_64 --no-ld-generated-unwind-info" ""
+     "-shared -melf_x86_64 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--64 -mrelax-relocations=yes"
      {tlspic3.s tlspic2.s}
      {{readelf -WSsrl tlspic2.rd} {objdump -drj.text\ -Mintel64 tlspic2.dd}
       {objdump -sj.got tlspic2.sd} {objdump -sj.tdata tlspic2.td}}
       "libtlspic2.so"}
     {"TLS descriptor -fpic -shared transitions"
-     "-shared -melf_x86_64 --no-ld-generated-unwind-info" ""
+     "-shared -melf_x86_64 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--64" {tlsdesc.s tlspic2.s}
      {{readelf -WSsrld tlsdesc.rd} {objdump -drj.text tlsdesc.dd}
       {objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}
@@ -71,25 +71,25 @@ set x86_64tests {
     {"Helper shared library" "-shared -melf_x86_64" ""
      "--64" {tlslib.s} {} "libtlslib.so"}
     {"TLS -fpic and -fno-pic exec transitions"
-     "-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info" ""
+     "-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--64" {tlsbinpic.s tlsbin.s}
      {{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
       {objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
       "tlsbin"}
     {"TLS -fpic and -fno-pic exec transitions without PLT"
-     "-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info" ""
+     "-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info --hash-style=sysv" ""
      "-mrelax-relocations=yes --64" {tlsbinpic2.s tlsbin.s}
      {{readelf -WSsrl tlsbin2.rd} {objdump -drj.text tlsbin2.dd}
       {objdump -sj.got tlsbin2.sd} {objdump -sj.tdata tlsbin2.td}}
       "tlsbin2"}
     {"TLS descriptor -fpic and -fno-pic exec transitions"
-     "-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info" ""
+     "-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--64" {tlsbindesc.s tlsbin.s}
      {{readelf -WSsrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd}
       {objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}}
       "tlsbindesc"}
     {"TLS with global dynamic and descriptors"
-     "-shared -melf_x86_64 --no-ld-generated-unwind-info" ""
+     "-shared -melf_x86_64 --no-ld-generated-unwind-info --hash-style=sysv" ""
      "--64" {tlsgdesc.s}
      {{readelf -WSsrl tlsgdesc.rd} {objdump -drj.text\ -Mintel64 tlsgdesc.dd}}
       "libtlsgdesc.so"}
@@ -1544,7 +1544,7 @@ if { ![istarget "x86_64-*-linux*"]} {
 run_ld_link_tests [list \
     [list \
 	"basic PLT generation (-z now)" \
-	"-z now -melf_x86_64 tmpdir/libpltlib.so" \
+	"-z now -melf_x86_64 --hash-style=sysv tmpdir/libpltlib.so" \
 	"" \
 	"--64" \
 	{plt2.s} \
diff --git a/ld/testsuite/ld-xtensa/xtensa.exp b/ld/testsuite/ld-xtensa/xtensa.exp
index 750979b..487abbc 100644
--- a/ld/testsuite/ld-xtensa/xtensa.exp
+++ b/ld/testsuite/ld-xtensa/xtensa.exp
@@ -34,7 +34,8 @@ if { !([istarget "xtensa*-*-linux*"]) } {
 
 set xtensatests {
     {"TLS -shared transitions"
-     "-shared -melf32xtensa" "" "" {tlspic1.s tlspic2.s}
+     "-shared -melf32xtensa --hash-style=sysv" ""
+     "" {tlspic1.s tlspic2.s}
      {{readelf -WSsrl tlspic.rd}
       {objdump "-drj.text --start-address=0x350" tlspic.dd}
       {objdump "-sj.text --stop-address=0x350" tlspic.sd}
@@ -43,7 +44,8 @@ set xtensatests {
     {"Helper shared library" "-shared -melf32xtensa" ""
      "" {tlslib.s} {} "libtlslib.so"}
     {"TLS exec transitions"
-     "-melf32xtensa tmpdir/libtlslib.so" "" "" {tlsbin.s}
+     "-melf32xtensa tmpdir/libtlslib.so --hash-style=sysv" ""
+     "" {tlsbin.s}
      {{readelf -WSsrl tlsbin.rd}
       {objdump "-drj.text --start-address=0x400238" tlsbin.dd}
       {objdump "-sj.text --stop-address=0x400238" tlsbin.sd}

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]