[gdb/testsuite] Use pie instead of -fpie/-pie
authorTom de Vries <tdevries@suse.de>
Fri, 24 Sep 2021 14:56:50 +0000 (16:56 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 24 Sep 2021 14:56:50 +0000 (16:56 +0200)
I noticed two test-cases where -fpie is used.  Using the canonical pie option
will usually get one -fPIE instead.

That choice is justified here in gdb_compile:
...
  # For safety, use fPIE rather than fpie. On AArch64, m68k, PowerPC
  # and SPARC, fpie can cause compile errors due to the GOT exceeding
  # a maximum size.  On other architectures the two flags are
  # identical (see the GCC manual). Note Debian9 and Ubuntu16.10
  # onwards default GCC to using fPIE.  If you do require fpie, then
  # it can be set using the pie_flag.
  set flag "additional_flags=-fPIE"
...

There is no indication that using -fpie rather than -fPIE is on purpose, so
use pie instead.

Tested on x86_64-linux.

gdb/testsuite/gdb.base/gcore-relro-pie.exp
gdb/testsuite/gdb.base/gcore-tls-pie.exp

index 5b25721ad61d9bd2b9d268787ba9530a5f618638..39142fe4254646392441de8deec0e199100c1248 100644 (file)
@@ -19,7 +19,8 @@
 
 standard_testfile
 
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug additional_flags=-fpie "ldflags=-pie -Wl,-z,relro"}]} {
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
+        {debug pie "ldflags=-Wl,-z,relro"}]} {
     return -1
 }
 
index 3f42cb4fe670812692df205b012372f5ecd6271d..e514c42d4988b39623a4fe6febd4add74ec70f3c 100644 (file)
@@ -23,7 +23,8 @@ if { [have_fuse_ld_gold] == 0} {
     return -1
 }
 
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug additional_flags=-fpie "ldflags=-pie -fuse-ld=gold"}]} {
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
+        {debug pie "ldflags=-fuse-ld=gold"}]} {
     return -1
 }