public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: "H.J. Lu" <hjl.tools@gmail.com>
To: binutils@sourceware.org
Subject: [PATCH] elf: Add is_standard_elf
Date: Thu, 25 Jan 2024 10:08:04 -0800	[thread overview]
Message-ID: <20240125180804.1175199-1-hjl.tools@gmail.com> (raw)

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 | 21 +++++++++++++++++++++
 ld/testsuite/ld-elf/fatal-warnings-2a.d    |  4 ++--
 ld/testsuite/ld-elf/fatal-warnings-2b.d    |  4 ++--
 ld/testsuite/ld-elf/fatal-warnings-3a.d    |  4 ++--
 ld/testsuite/ld-elf/fatal-warnings-3b.d    |  4 ++--
 ld/testsuite/ld-elf/fatal-warnings-4a.d    |  4 ++--
 ld/testsuite/ld-elf/fatal-warnings-4b.d    |  4 ++--
 7 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index dc140f8a922..b304801e718 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/binutils/testsuite/lib/binutils-common.exp
@@ -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
diff --git a/ld/testsuite/ld-elf/fatal-warnings-2a.d b/ld/testsuite/ld-elf/fatal-warnings-2a.d
index 5c46f4300c6..b17abb1b274 100644
--- a/ld/testsuite/ld-elf/fatal-warnings-2a.d
+++ b/ld/testsuite/ld-elf/fatal-warnings-2a.d
@@ -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.
diff --git a/ld/testsuite/ld-elf/fatal-warnings-2b.d b/ld/testsuite/ld-elf/fatal-warnings-2b.d
index 5fa94e467af..7aedb531dd4 100644
--- a/ld/testsuite/ld-elf/fatal-warnings-2b.d
+++ b/ld/testsuite/ld-elf/fatal-warnings-2b.d
@@ -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.
diff --git a/ld/testsuite/ld-elf/fatal-warnings-3a.d b/ld/testsuite/ld-elf/fatal-warnings-3a.d
index a377b738b1d..1b52f8fe0c5 100644
--- a/ld/testsuite/ld-elf/fatal-warnings-3a.d
+++ b/ld/testsuite/ld-elf/fatal-warnings-3a.d
@@ -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.
diff --git a/ld/testsuite/ld-elf/fatal-warnings-3b.d b/ld/testsuite/ld-elf/fatal-warnings-3b.d
index 87ea286d748..870a1eb2fea 100644
--- a/ld/testsuite/ld-elf/fatal-warnings-3b.d
+++ b/ld/testsuite/ld-elf/fatal-warnings-3b.d
@@ -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.
diff --git a/ld/testsuite/ld-elf/fatal-warnings-4a.d b/ld/testsuite/ld-elf/fatal-warnings-4a.d
index 4685e3877d6..cf7373b4625 100644
--- a/ld/testsuite/ld-elf/fatal-warnings-4a.d
+++ b/ld/testsuite/ld-elf/fatal-warnings-4a.d
@@ -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.
diff --git a/ld/testsuite/ld-elf/fatal-warnings-4b.d b/ld/testsuite/ld-elf/fatal-warnings-4b.d
index 6fc2185f126..7cdb2b4db7a 100644
--- a/ld/testsuite/ld-elf/fatal-warnings-4b.d
+++ b/ld/testsuite/ld-elf/fatal-warnings-4b.d
@@ -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.
-- 
2.43.0


             reply	other threads:[~2024-01-25 18:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-25 18:08 H.J. Lu [this message]
2024-01-26 12:00 ` Nick Clifton
2024-01-26 13:59   ` H.J. Lu
2024-04-12 10:07 ` Nick Clifton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240125180804.1175199-1-hjl.tools@gmail.com \
    --to=hjl.tools@gmail.com \
    --cc=binutils@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).