aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-05-02 10:56:48 +0200
committerTom de Vries <tdevries@suse.de>2020-05-02 10:56:48 +0200
commit5beb4d17717570c28e9bf290c64428fda65095b9 (patch)
treea30003aad308f65189e11812559edba5cb2012a9
parent8caf140db24116e8874099291a7a48644c368ab6 (diff)
downloadbinutils-5beb4d17717570c28e9bf290c64428fda65095b9.zip
binutils-5beb4d17717570c28e9bf290c64428fda65095b9.tar.gz
binutils-5beb4d17717570c28e9bf290c64428fda65095b9.tar.bz2
[gdb/testsuite] Fix i386-mpx.exp compilation warnings
When running test-case gdb.arch/i386-mpx.exp with gcc-10, we get: ... Running src/gdb/testsuite/gdb.arch/i386-mpx.exp ... gdb compile failed, xgcc: warning: switch '-mmpx' is no longer supported xgcc: warning: switch '-fcheck-pointer-bounds' is no longer supported ... The test-case uses a combination of options, -mmpx and -fcheck-pointer-bounds. The -fcheck-pointer-bounds option requires the -mmpx option: ... $ gcc -fcheck-pointer-bounds ~/hello.c hello.c:1:0: warning: Pointer Checker requires MPX support on this target. \ Use -mmpx options to enable MPX. #include <stdio.h> cc1: error: ‘-fcheck-pointer-bounds’ is not supported for this target ... Both options is no longer supported in gcc-9. Fix the warnings by testing if the option combination is supported. Tested on x86_64-linux, with gcc-7.5.0 and gcc-10.0.1. gdb/testsuite/ChangeLog: 2020-05-02 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (supports_mpx_check_pointer_bounds): New proc. * gdb.arch/i386-mpx-call.exp: Use supports_mpx_check_pointer_bounds. * gdb.arch/i386-mpx-map.exp: Same. * gdb.arch/i386-mpx-sigsegv.exp: Same. * gdb.arch/i386-mpx-simple_segv.exp: Same. * gdb.arch/i386-mpx.exp: Same.
-rw-r--r--gdb/testsuite/ChangeLog9
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx-call.exp4
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx-map.exp4
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp4
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp4
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx.exp4
-rw-r--r--gdb/testsuite/lib/gdb.exp12
7 files changed, 41 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index e741fd6..986e3be 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,14 @@
2020-05-02 Tom de Vries <tdevries@suse.de>
+ * lib/gdb.exp (supports_mpx_check_pointer_bounds): New proc.
+ * gdb.arch/i386-mpx-call.exp: Use supports_mpx_check_pointer_bounds.
+ * gdb.arch/i386-mpx-map.exp: Same.
+ * gdb.arch/i386-mpx-sigsegv.exp: Same.
+ * gdb.arch/i386-mpx-simple_segv.exp: Same.
+ * gdb.arch/i386-mpx.exp: Same.
+
+2020-05-02 Tom de Vries <tdevries@suse.de>
+
* gdb.base/psym-external-decl.c (main): Add use of variable aaa.
2020-05-01 Tom de Vries <tdevries@suse.de>
diff --git a/gdb/testsuite/gdb.arch/i386-mpx-call.exp b/gdb/testsuite/gdb.arch/i386-mpx-call.exp
index b11adfc..41abbee 100644
--- a/gdb/testsuite/gdb.arch/i386-mpx-call.exp
+++ b/gdb/testsuite/gdb.arch/i386-mpx-call.exp
@@ -21,6 +21,10 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
standard_testfile
+if { ![supports_mpx_check_pointer_bounds] } {
+ return -1
+}
+
set comp_flags "-mmpx -fcheck-pointer-bounds -I${srcdir}/../nat"
if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
diff --git a/gdb/testsuite/gdb.arch/i386-mpx-map.exp b/gdb/testsuite/gdb.arch/i386-mpx-map.exp
index 3cde42f..995aaa1 100644
--- a/gdb/testsuite/gdb.arch/i386-mpx-map.exp
+++ b/gdb/testsuite/gdb.arch/i386-mpx-map.exp
@@ -23,6 +23,10 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
standard_testfile
+if { ![supports_mpx_check_pointer_bounds] } {
+ return -1
+}
+
set comp_flags "-mmpx -fcheck-pointer-bounds -I${srcdir}/../nat/"
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
diff --git a/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp b/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp
index 72c9ec3..5e43f93 100644
--- a/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp
+++ b/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp
@@ -23,6 +23,10 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
standard_testfile
+if { ![supports_mpx_check_pointer_bounds] } {
+ return -1
+}
+
set comp_flags "-mmpx -fcheck-pointer-bounds -I${srcdir}/../nat/"
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
diff --git a/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp b/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp
index 806d7d6..e707814 100644
--- a/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp
+++ b/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp
@@ -29,6 +29,10 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
standard_testfile
+if { ![supports_mpx_check_pointer_bounds] } {
+ return -1
+}
+
set comp_flags "-mmpx -fcheck-pointer-bounds -I${srcdir}/../nat/"
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
diff --git a/gdb/testsuite/gdb.arch/i386-mpx.exp b/gdb/testsuite/gdb.arch/i386-mpx.exp
index 2cac70f..158550a 100644
--- a/gdb/testsuite/gdb.arch/i386-mpx.exp
+++ b/gdb/testsuite/gdb.arch/i386-mpx.exp
@@ -27,6 +27,10 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
return
}
+if { ![supports_mpx_check_pointer_bounds] } {
+ return -1
+}
+
set comp_flags "-mmpx -fcheck-pointer-bounds -I${srcdir}/../nat/"
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index b72ce0c..3732614 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -7007,6 +7007,18 @@ gdb_caching_proc supports_statement_frontiers {
} executable "additional_flags=-gstatement-frontiers"]
}
+# Return 1 if compiler supports -mmpx -fcheck-pointer-bounds. Otherwise,
+# return 0.
+
+gdb_caching_proc supports_mpx_check_pointer_bounds {
+ set flags "additional_flags=-mmpx additional_flags=-fcheck-pointer-bounds"
+ return [gdb_can_simple_compile supports_mpx_check_pointer_bounds {
+ int main () {
+ return 0;
+ }
+ } executable $flags]
+}
+
# Return 1 if symbols were read in using -readnow. Otherwise, return 0.
proc readnow { } {