aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2023-06-21 12:10:03 +0100
committerNick Clifton <nickc@redhat.com>2023-06-21 12:10:03 +0100
commit340640f710e690b37c885166949595cde5f827b2 (patch)
tree096fe4195eb854b4bd32e7416fb826ac9c392337
parent0ab7005043ee404dabfd690952efc25c399995ae (diff)
downloadbinutils-340640f710e690b37c885166949595cde5f827b2.zip
binutils-340640f710e690b37c885166949595cde5f827b2.tar.gz
binutils-340640f710e690b37c885166949595cde5f827b2.tar.bz2
Prune linker warnings about an executable stack being created with the -z execstack option.
* testsuite/lib/binutils-common.exp (prune_warnings_extra): Prune warnings about -z execstack creating an executable stack.
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/testsuite/lib/binutils-common.exp16
2 files changed, 19 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 7578292..bb58bc4 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2023-06-21 Nick Clifton <nickc@redhat.com>
+
+ * testsuite/lib/binutils-common.exp (prune_warnings_extra): Prune
+ warnings about -z execstack creating an executable stack.
+
2023-05-30 Nick Clifton <nickc@redhat.com>
* od-pe.c (targ_info): New array.
diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index 530316e..2293895 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/binutils/testsuite/lib/binutils-common.exp
@@ -640,20 +640,32 @@ proc regexp_diff { file_1 file_2 args } {
# ld: warning: /lib64/ld-linux-x86-64.so.2: unsupported GNU_PROPERTY_TYPE (5) type : 0xc0010001
proc prune_warnings_extra { text } {
global experimental
- # Warnings are only pruned from non-experimental code (ie code not
- # on a release branch). For experimental code we want the warnings
+
+ # Property warnings are only pruned from non-experimental code (ie code
+ # not on a release branch). For experimental code we want the warnings
# as they indicate that the sources need to be updated to recognise
# the new properties.
if { "$experimental" == "false" } {
# The "\\1" is to try to preserve a "\n" but only if necessary.
regsub -all "(^|\n)(\[^\n\]*: warning:\[^\n\]*unsupported GNU_PROPERTY_TYPE\[^\n\]*\n?)+" $text "\\1" text
}
+
# PR binutils/23898: It is OK to have gaps in build notes.
regsub -all "(^|\n)(\[^\n\]*: Warning: Gap in build notes detected from\[^\n\]*\n?)+" $text "\\1" text
+
+ # Many tests use assembler source files without a .note.GNU-stack section.
+ # So ignore warnings about it being missing.
regsub -all "(^|\n)(\[^\n\]*: warning:\[^\n\]*missing \\.note\\.GNU-stack section\[^\n\]*\n?)+" $text "\\1" text
regsub -all "(^|\n)(\[^\n\]*: NOTE: This behaviour is deprecated\[^\n\]*\n?)+" $text "\\1" text
+
+ # Ignore warnings about RWX segments.
regsub -all "(^|\n)(\[^\n\]*: warning:\[^\n\]*has a LOAD segment with RWX permissions\[^\n\]*\n?)+" $text "\\1" text
regsub -all "(^|\n)(\[^\n\]*: warning:\[^\n\]*has a TLS segment with execute permission\[^\n\]*\n?)+" $text "\\1" text
+
+ # Configuring with --enable-warn-execstack=yes will generate warnings if
+ # -z execstack is used.
+ regsub -all "(^|\n)(\[^\n\]*: warning: enabling an executable stack because of -z execstack command line option\[^\n\]*\n?)+" $text "\\1" text
+
return $text
}