[v3,7/7] ld: Add -z nosectionheader test to bootstrap.exp

Message ID 20230605153222.1728119-8-hjl.tools@gmail.com
State Unresolved
Headers
Series ELF: Strip section header in ELF objects |

Checks

Context Check Description
snail/binutils-gdb-check warning Git am fail log

Commit Message

H.J. Lu June 5, 2023, 3:32 p.m. UTC
  PR ld/25617
	* testsuite/ld-bootstrap/bootstrap.exp: Add -z nosectionheader
	test.
---
 ld/testsuite/ld-bootstrap/bootstrap.exp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
  

Patch

diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp
index b189a0c7098..7b70b9582c0 100644
--- a/ld/testsuite/ld-bootstrap/bootstrap.exp
+++ b/ld/testsuite/ld-bootstrap/bootstrap.exp
@@ -66,6 +66,9 @@  set test_flags {"" "strip" "--static" "-Wl,--traditional-format"
 if { [istarget "powerpc-*-*"] } {
     lappend test_flags "-Wl,--ppc476-workaround"
 }
+if { [is_elf_format] && ![is_bad_symtab] } {
+    lappend test_flags "-Wl,-z,nosectionheader"
+}
 
 set gcc_B_opt_save $gcc_B_opt
 
@@ -94,9 +97,12 @@  foreach flags $test_flags {
 	set testname "bootstrap"
     }}
 
-    # --static is meaningless and --relax is incompatible with -r.
+    # --static is meaningless.  --relax and -z nosectionheader are
+    # incompatible with -r.
     regsub -- "-Wl," $flags "" partial_flags
-    if { "$partial_flags" == "--static" || "$partial_flags" == "--relax" } {
+    if { "$partial_flags" == "--static" \
+         || "$partial_flags" == "--relax" \
+	 || [string match "*nosectionheader*" "$partial_flags"] } {
 	set partial_flags ""
     }