ld-dynamic test fixes
authorAlan Modra <amodra@gmail.com>
Thu, 4 Jun 2020 03:11:46 +0000 (12:41 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 4 Jun 2020 04:43:04 +0000 (14:13 +0930)
* testsuite/ld-dynamic/export-dynamic-symbol-2.d: Match output for
mips-sgi-irix6.
* testsuite/ld-dynamic/export-dynamic-symbol-glob.d: Likewise.
* testsuite/ld-dynamic/export-dynamic-symbol-list-2.d: Likewise.
* testsuite/ld-dynamic/export-dynamic-symbol-list-glob.d: Likewise.
* testsuite/ld-dynamic/export-dynamic-symbol.exp: Exclude targets
with poor PIE support.

ld/ChangeLog
ld/testsuite/ld-dynamic/export-dynamic-symbol-2.d
ld/testsuite/ld-dynamic/export-dynamic-symbol-glob.d
ld/testsuite/ld-dynamic/export-dynamic-symbol-list-2.d
ld/testsuite/ld-dynamic/export-dynamic-symbol-list-glob.d
ld/testsuite/ld-dynamic/export-dynamic-symbol.exp

index 363685d39c65bffdd932a160da2b5588d9025939..518d40ce4f3ef0e9aa91d773ef71b6d11ad2cb0c 100644 (file)
@@ -1,3 +1,13 @@
+2020-06-04  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/ld-dynamic/export-dynamic-symbol-2.d: Match output for
+       mips-sgi-irix6.
+       * testsuite/ld-dynamic/export-dynamic-symbol-glob.d: Likewise.
+       * testsuite/ld-dynamic/export-dynamic-symbol-list-2.d: Likewise.
+       * testsuite/ld-dynamic/export-dynamic-symbol-list-glob.d: Likewise.
+       * testsuite/ld-dynamic/export-dynamic-symbol.exp: Exclude targets
+       with poor PIE support.
+
 2020-06-04  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-plugin/lto.exp (pr12758.exe): Add NOPIE_LDFLAGS.
index d38508a5b5a51ce0bc9266f5fd5936b8984ef800..eaffc3ae39e617a735706efaa37a0de7af3ce266 100644 (file)
@@ -2,8 +2,11 @@
 #source: export-dynamic-symbol.s
 #ld: -pie -u foo --export-dynamic-symbol foo --export-dynamic-symbol=bar tmpdir/libpr25910.a
 #nm: -D
+# mips-sgi-irix6 makes foo and bar SHN_MIPS_DATA (SHN_LOPROC+2) due to the
+# testcase carelessly leaving them untyped which mips gas turns into
+# STT_OBJECT type.  nm interprets SHN_MIPS_DATA (incorrectly) to be A type.
 
 #...
-[0-9a-f]+ T +bar
-[0-9a-f]+ T +foo
+[0-9a-f]+ [AT] +bar
+[0-9a-f]+ [AT] +foo
 #...
index f8187be75c7f9aa77286c6d330c65d0affbe1751..fad6da9e3f01d43ed6ba34881aff0d1e7cc8b3c4 100644 (file)
@@ -2,7 +2,8 @@
 #source: export-dynamic-symbol.s
 #ld: -pie -u foo --export-dynamic-symbol "f*" tmpdir/libpr25910.a
 #nm: -D
+# See comment in export-dynamic-symbol-2.d for why A is allowed here.
 
 #...
-[0-9a-f]+ T +foo
+[0-9a-f]+ [AT] +foo
 #...
index 337f642ee9eac6e78b4b78eb0318cb5632d10f12..2d110a16cdbda1c736d1e74a320858b26bca15ef 100644 (file)
@@ -2,8 +2,9 @@
 #source: export-dynamic-symbol.s
 #ld: -pie -u foo --export-dynamic-symbol-list foo-bar.list tmpdir/libpr25910.a
 #nm: -D
+# See comment in export-dynamic-symbol-2.d for why A is allowed here.
 
 #...
-[0-9a-f]+ T +bar
-[0-9a-f]+ T +foo
+[0-9a-f]+ [AT] +bar
+[0-9a-f]+ [AT] +foo
 #...
index 916a22ca239a37041248d0288f2c8983764ee9f8..2a79d2046fb0366c0d4a40d7c00c1e525a6c1d9f 100644 (file)
@@ -2,7 +2,8 @@
 #source: export-dynamic-symbol.s
 #ld: -pie -u foo --export-dynamic-symbol-list fstar.list tmpdir/libpr25910.a
 #nm: -D
+# See comment in export-dynamic-symbol-2.d for why A is allowed here.
 
 #...
-[0-9a-f]+ T +foo
+[0-9a-f]+ [AT] +foo
 #...
index ae530361fb14ba24c0581834783fb7cd93bf18ff..44bd762863382d510975a8e89316802eb95ccc10 100644 (file)
@@ -23,9 +23,16 @@ if ![is_elf_format] {
     return
 }
 
-# Skip targets where -shared is not supported
+# Skip targets where -shared or -pie is not supported
+if { ![check_shared_lib_support] || ![check_pie_support] } {
+    return
+}
 
-if ![check_shared_lib_support] {
+# Skip targets that have poor PIE support, resulting in failures due to
+# PHDR segment not covered by LOAD segment errors.
+if { ([istarget "bfin-*-*"] && ![istarget "bfin-*-linux*"])
+     || [istarget "mn10300-*-*"]
+     || [istarget "score-*-*"] } {
     return
 }