Fix linker tests to work with 16-bit targets.
[deliverable/binutils-gdb.git] / ld / testsuite / ld-powerpc / powerpc.exp
index 87a7462fa01ebe016dcf64302d98347deae440be..84d7c9c42e3973b25a13da7f6f9d5b67867ef03c 100644 (file)
@@ -1,5 +1,5 @@
 # Expect script for ld-powerpc tests
-#   Copyright (C) 2002-2019 Free Software Foundation, Inc.
+#   Copyright (C) 2002-2020 Free Software Foundation, Inc.
 #
 # This file is part of the GNU Binutils.
 #
@@ -119,12 +119,21 @@ set ppcelftests {
      {{objdump -dr tls32.d} {objdump -sj.got tls32.g}
       {objdump -sj.tdata tls32.t}}
      "tls32"}
+    {"TLS32 static exec (--no-tls-optimize)" "-melf32ppc --no-tls-optimize" ""
+     "-a32 --defsym TLSMARK=1"  {tls32.s tlslib32.s}
+     {{objdump -dr tls32no.d} {objdump -sj.got tls32no.g}
+      {objdump -sj.tdata tls32.t}}
+     "tls32no"}
     {"TLS32 helper shared library" "-shared -melf32ppc tmpdir/tlslib32.o" "" "" {}
      {} "libtlslib32.so"}
     {"TLS32 dynamic exec" "-melf32ppc --no-plt-align --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 dynamic exec (--no-tls-optimize)" "-melf32ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o tmpdir/libtlslib32.so" "" "" {}
+     {{readelf -WSsrl tlsexe32no.r} {objdump -dr tlsexe32no.d}
+      {objdump -sj.got tlsexe32no.g} {objdump -sj.tdata tlsexe32.t}}
+     "tlsexe32no"}
     {"TLS32 shared" "-shared -melf32ppc --no-plt-align --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}}
@@ -173,6 +182,10 @@ set ppc64elftests {
     {"TLS static exec" "-melf64ppc --no-plt-align" "" "-a64"  {tls.s tlslib.s}
      {{objdump -dr tls.d} {objdump -sj.got tls.g} {objdump -sj.tdata tls.t}}
      "tls"}
+    {"TLS static exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align" ""
+     "-a64 --defsym TLSMARK=1"  {tls.s tlslib.s}
+     {{objdump -dr tlsno.d} {objdump -sj.got tlsno.g} {objdump -sj.tdata tls.t}}
+     "tlsno"}
     {"TLS helper shared library" "-shared -melf64ppc tmpdir/tlslib.o" "" "" {}
      {} "libtlslib.so"}
     {"TLS helper old shared lib" "-shared -melf64ppc" "" "-a64" {oldtlslib.s}
@@ -185,14 +198,22 @@ set ppc64elftests {
      {{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d}
       {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}}
      "tlsexeold"}
+    {"TLS dynamic exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {}
+     {{readelf -WSsrl tlsexeno.r} {objdump -dr tlsexeno.d}
+      {objdump -sj.got tlsexeno.g} {objdump -sj.tdata tlsexe.t}}
+     "tlsexeno"}
     {"TLS shared" "-shared -melf64ppc --no-plt-align --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"}
-    {"TLSTOC static exec" "-melf64ppc tmpdir/tlslib.o " "" "-a64"  {tlstoc.s}
+    {"TLSTOC static exec" "-melf64ppc tmpdir/tlslib.o" "" "-a64"  {tlstoc.s}
      {{objdump -dr tlstoc.d} {objdump -sj.got tlstoc.g}
       {objdump -sj.tdata tlstoc.t}}
      "tlstoc"}
+    {"TLSTOC static exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize tmpdir/tlslib.o tmpdir/tlstoc.o" "" ""  {}
+     {{objdump -dr tlstocno.d} {objdump -sj.got tlstocno.g}
+      {objdump -sj.tdata tlstoc.t}}
+     "tlstocno"}
     {"TLSTOC dynamic exec" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" ""
      "" {}
      {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d}
@@ -203,10 +224,33 @@ set ppc64elftests {
      {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d}
       {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}}
      "tlsexetocold"}
+    {"TLSTOC dynamic exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" ""
+     "" {}
+     {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetocno.d}
+      {objdump -sj.got tlsexetocno.g} {objdump -sj.tdata tlsexetoc.t}}
+     "tlsexetocno"}
     {"TLSTOC shared" "-shared -melf64ppc --no-plt-align --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"}
+    {"TLS dynamic exec (--tls-get-addr-regsave)" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv --tls-get-addr-regsave tmpdir/tls.o tmpdir/libtlslib.so" "" "" {}
+     {{readelf -WSsrl tlsexers.r} {objdump -dr tlsexers.d}
+      {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}}
+     "tlsexers"}
+    {"TLS dynamic exec (--no-tls-optimize --tls-get-addr-regsave)" "-melf64ppc --no-tls-optimize --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {}
+     {{readelf -WSsrl tlsexenors.r} {objdump -dr tlsexenors.d}
+      {objdump -sj.got tlsexeno.g} {objdump -sj.tdata tlsexe.t}}
+     "tlsexenors"}
+    {"TLSTOC dynamic exec (--tls-get-addr-regsave)" "-melf64ppc --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" ""
+     "" {}
+     {{readelf -WSsrl tlsexetocrs.r} {objdump -dr tlsexetocrs.d}
+      {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}}
+     "tlsexetocrs"}
+    {"TLSTOC dynamic exec (--no-tls-optimize --tls-get-addr-regsave)" "-melf64ppc --no-tls-optimize --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" ""
+     "" {}
+     {{readelf -WSsrl tlsexetocrs.r} {objdump -dr tlsexetocnors.d}
+      {objdump -sj.got tlsexetocno.g} {objdump -sj.tdata tlsexetoc.t}}
+     "tlsexetocnors"}
     {"TLS markers" "-melf64ppc" "" "-a64"  {tlsmark.s tlslib.s}
      {{objdump -dr tlsmark.d}}
      "tlsmark"}
@@ -227,6 +271,21 @@ set ppc64elftests {
     {"TLS opt 5" "-melf64ppc -shared --hash-style=both --gc-sections --no-plt-localentry tmpdir/tlsdll.so" "" "-a64"  {tlsopt5.s}
      {{objdump -dr tlsopt5.d} {readelf -wf tlsopt5.wf}}
      "tlsopt5"}
+    {"TLS opt 6" "-melf64ppc -shared --hash-style=both --gc-sections --no-plt-localentry --tls-get-addr-regsave tmpdir/tlsdll.so" "" "-a64"  {tlsopt5.s}
+     {{objdump -dr tlsopt6.d} {readelf -wf tlsopt6.wf}}
+     "tlsopt6"}
+    {"TLSdesc" "-melf64ppc -shared --hash-style=both --no-plt-localentry tmpdir/libtlslib.so" "" "-a64"  {tlsdesc.s}
+     {{objdump -dr tlsdesc.d} {readelf -wf tlsdesc.wf}}
+     "tlsdesc"}
+    {"TLSdesc2" "-melf64ppc -shared --hash-style=both --no-plt-localentry tmpdir/tlsdll.so" "" "-a64"  {tlsdesc.s}
+     {{objdump -dr tlsdesc2.d} {readelf -wf tlsdesc2.wf}}
+     "tlsdesc2"}
+    {"TLSdesc3" "-melf64ppc --no-tls-optimize tmpdir/tlsdll.o" "" "-a64"  {tlsdesc.s}
+     {{objdump -dr tlsdesc3.d} {readelf -wf tlsdesc3.wf}}
+     "tlsdesc3"}
+    {"TLSdesc4" "-melf64ppc --no-tls-optimize tmpdir/tlsdll.o" "" "-a64"  {tlsdesc4.s}
+     {{objdump -dr tlsdesc4.d} {readelf -wf tlsdesc4.wf}}
+     "tlsdesc4"}
     {"sym@tocbase" "-shared -melf64ppc" "" "-a64" {symtocbase-1.s symtocbase-2.s}
        {{objdump -dj.data symtocbase.d}} "symtocbase.so"}
     {"TOC opt" "-melf64ppc" "" "-a64"  {tocopt.s}
@@ -346,8 +405,10 @@ if [ supports_ppc64 ] then {
     run_dump_test "tlsgd"
     run_dump_test "tlsld"
     run_dump_test "tlsie"
+    run_dump_test "non-contiguous-powerpc64"
 }
 
+run_dump_test "localgot"
 run_dump_test "tlsldopt32"
 
 run_ld_link_tests $ppceabitests
@@ -383,3 +444,5 @@ run_dump_test "vle-multiseg-6"
 
 run_dump_test "ppc476-shared"
 run_dump_test "ppc476-shared2"
+
+run_dump_test "non-contiguous-powerpc"
This page took 0.025054 seconds and 4 git commands to generate.