]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
elf: Add is_standard_elf
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 25 Jan 2024 18:08:04 +0000 (10:08 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 25 Jan 2024 18:17:46 +0000 (10:17 -0800)
PR ld/31289 tests failed for fr30-elf, frv-elf, ft32-elf, iq2000-elf,
mn10200-elf, ms1-elf and msp430-elf targets:

FAIL: ld-elf/fatal-warnings-2a
FAIL: ld-elf/fatal-warnings-2b
FAIL: ld-elf/fatal-warnings-3a
FAIL: ld-elf/fatal-warnings-3b
FAIL: ld-elf/fatal-warnings-4a
FAIL: ld-elf/fatal-warnings-4b

even though PR ld/31289 targets xfail for [is_generic] targets.  These
targets not only don't use the generic_link_hash_table linker, but also
don't use the standard ELF emulation.  Add is_standard_elf for ELF
targets which use the standard ELF emulation and replace [is_generic]
with ![is_standard_elf] in PR ld/31289 tests.

binutils/

PR ld/31289
* testsuite/lib/binutils-common.exp (is_standard_elf): New.

ld/

PR ld/31289
* testsuite/lib/binutils-common.exp (is_generic): Return 1 for
fr30-*-*, frv-*-elf, ft32-*-*, iq2000-*-*, mn10200-*-*,
moxie-*-moxiebox*, msp430-*-* and mt-*-*.
* testsuite/ld-elf/fatal-warnings-2a.d: Replace [is_generic]
with ![is_standard_elf].
* testsuite/ld-elf/fatal-warnings-2b.d: Likewise.
* testsuite/ld-elf/fatal-warnings-3a.d: Likewise.
* testsuite/ld-elf/fatal-warnings-3b.d: Likewise.
* testsuite/ld-elf/fatal-warnings-4a.d: Likewise.
* testsuite/ld-elf/fatal-warnings-4b.d: Likewise.

binutils/testsuite/lib/binutils-common.exp
ld/testsuite/ld-elf/fatal-warnings-2a.d
ld/testsuite/ld-elf/fatal-warnings-2b.d
ld/testsuite/ld-elf/fatal-warnings-3a.d
ld/testsuite/ld-elf/fatal-warnings-3b.d
ld/testsuite/ld-elf/fatal-warnings-4a.d
ld/testsuite/ld-elf/fatal-warnings-4b.d

index dc140f8a9223323636b44a9f3827a5bf4960209a..b304801e7181d95c541437a9c4def8d24b8e509c 100644 (file)
@@ -275,6 +275,27 @@ proc is_generic { } {
     return 0
 }
 
+# Return true if target uses the standard ELF emulation.
+proc is_standard_elf { } {
+    if { ![is_elf_format] || [is_generic] } {
+       return 0
+    }
+
+    # These targets don't use elf.em.
+    if { [istarget "fr30-*-*"]
+        || [istarget "frv-*-elf"]
+        || [istarget "ft32-*-*"]
+        || [istarget "iq2000-*-*"]
+        || [istarget "mn10200-*-*"]
+        || [istarget "moxie-*-moxiebox*"]
+        || [istarget "msp430-*-*"]
+        || [istarget "mt-*-*"] } {
+       return 0
+    }
+
+    return 1
+}
+
 # True if the object format is ELF with unused section symbols.
 proc is_elf_unused_section_symbols {} {
     global AS ASFLAGS READELF
index 5c46f4300c6b95d042674720f086c88d8ba71554..b17abb1b2746baf9378bf9ffabeac1026eaaaf7b 100644 (file)
@@ -2,5 +2,5 @@
 #source: start.s
 #ld: -z bad-option1 -z bad-option2
 #warning: -z bad-option1 ignored
-#xfail: [is_generic]
-# generic linker targets don't support -z options.
+#xfail: ![is_standard_elf]
+# These targets don't support -z options.
index 5fa94e467af2f3aa02dd51378e4de27ddba25bb9..7aedb531dd4f6747b6c34082f005609c4baf1038 100644 (file)
@@ -2,5 +2,5 @@
 #source: start.s
 #ld: -z bad-option1 -z bad-option2
 #warning: -z bad-option2 ignored
-#xfail: [is_generic]
-# generic linker targets don't support -z options.
+#xfail: ![is_standard_elf]
+# These targets don't support -z options.
index a377b738b1d6f20088c0d30dd5803779a983c1ce..1b52f8fe0c5c1b15586e117a599854cf2842dffe 100644 (file)
@@ -2,5 +2,5 @@
 #source: start.s
 #ld: --fatal-warnings -z bad-option1 -z bad-option2
 #error: unsupported option: -z bad-option1
-#xfail: [is_generic]
-# generic linker targets don't support -z options.
+#xfail: ![is_standard_elf]
+# These targets don't support -z options.
index 87ea286d7484e8d422861d2d9cd50b6f3e4cf087..870a1eb2fea1783dba42f50380f161b0d2d82d28 100644 (file)
@@ -2,5 +2,5 @@
 #source: start.s
 #ld: --fatal-warnings -z bad-option1 -z bad-option2
 #error: unsupported option: -z bad-option2
-#xfail: [is_generic]
-# generic linker targets don't support -z options.
+#xfail: ![is_standard_elf]
+# These targets don't support -z options.
index 4685e3877d61007d02461fdd292afa594c6d3937..cf7373b4625b8cd30a7caf5141c83831dc13d822 100644 (file)
@@ -2,5 +2,5 @@
 #source: start.s
 #ld: -z bad-option1 -z bad-option2 --fatal-warnings
 #error: unsupported option: -z bad-option1
-#xfail: [is_generic]
-# generic linker targets don't support -z options.
+#xfail: ![is_standard_elf]
+# These targets don't support -z options.
index 6fc2185f126ea318f13afd19789cd0ec0f65d600..7cdb2b4db7a71b7b14201a2d7196ae77e057982e 100644 (file)
@@ -2,5 +2,5 @@
 #source: start.s
 #ld: -z bad-option1 -z bad-option2 --fatal-warnings
 #error: unsupported option: -z bad-option2
-#xfail: [is_generic]
-# generic linker targets don't support -z options.
+#xfail: ![is_standard_elf]
+# These targets don't support -z options.