[gdb/testsuite] Add nopie in two test-cases
authorTom de Vries <tdevries@suse.de>
Fri, 8 Oct 2021 09:20:31 +0000 (11:20 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 8 Oct 2021 09:20:31 +0000 (11:20 +0200)
When running test-case gdb.dwarf2/dw2-restrict.exp on openSUSE Leap 15.2 with
gcc-PIE installed (switching compiler default to -fPIE/-pie), I get:
...
gdb compile failed, ld: outputs/gdb.dwarf2/dw2-restrict/dw2-restrict0.o: \
  warning: relocation in read-only section `.text'
ld: warning: creating DT_TEXTREL in a PIE
UNTESTED: gdb.dwarf2/dw2-restrict.exp: failed to prepare
...

This is due to using a hardcoded .S file that was generated with -fno-PIE.

Fix this by adding the missing nopie.

Likewise in gdb.arch/amd64-tailcall-noret.exp.

Tested on x86_64-linux.

gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
gdb/testsuite/gdb.dwarf2/dw2-restrict.exp

index c68abce61e30cf74f4777d28e9559031ddd4f3f6..fb1d5695a116c4805e427cc3e7e2e52b02725527 100644 (file)
@@ -25,6 +25,8 @@ if [info exists COMPILE] {
     return
 }
 
+lappend opts nopie
+
 if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
     return -1
 }
index 6f98b6cfb1803d6eefe9553904a5ea4d6ddb5fc4..2a46510c7a3ba064e666c7bb2eab54a6c332837d 100644 (file)
@@ -27,7 +27,8 @@ if {![istarget x86_64-*] || ![is_lp64_target]} {
 
 standard_testfile .S
 
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile {nodebug}]} {
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
+        {nodebug nopie}]} {
     return -1
 }