aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-12-14 18:16:40 +0100
committerTom de Vries <tdevries@suse.de>2020-12-14 18:16:40 +0100
commit2f4132646d8dbf8c1a82d63cacbb36ee46a289bb (patch)
tree07f08e58b9b458cf56003a2ecc0c50e0d8b5f1f7
parenta6f3c8a1a8353424f00946f073e11c321119a719 (diff)
downloadgdb-2f4132646d8dbf8c1a82d63cacbb36ee46a289bb.zip
gdb-2f4132646d8dbf8c1a82d63cacbb36ee46a289bb.tar.gz
gdb-2f4132646d8dbf8c1a82d63cacbb36ee46a289bb.tar.bz2
[gdb/testsuite] Don't pass -fPIC to gdb_compile_shlib
When running test-case gdb.base/info-shared.exp, I see in gdb.log: ... Executing on host: \ gcc ... -fPIC -fpic -c -o info-shared-solib1.c.o info-shared-solib1.c ... The -fPIC comes from the test-case: ... if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 \ [list additional_flags=-fPIC]] != "" } { ... but the -fpic, which overrides the -fPIC comes from gdb_compile_shlib. The proc gdb_compile_shlib adds the -fpic or similar dependent on platform and compiler. However, in some cases it doesn't add anything, which is probably why all those test-case pass -fPIC. Fix this by removing -fPIC from all the calls to gdb_compile_shlib, and ensuring that gdb_compile_shlib takes care of adding it, if required. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-12-14 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (gdb_compile_shlib): Make sure it's not necessary to pass -fPIC. * gdb.ada/catch_ex_std.exp: Don't pass -fPIC to gdb_compile_shlib. * gdb.base/break-probes.exp: Same. * gdb.base/ctxobj.exp: Same. * gdb.base/dso2dso.exp: Same. * gdb.base/global-var-nested-by-dso.exp: Same. * gdb.base/info-shared.exp: Same. * gdb.base/jit-reader-simple.exp: Same. * gdb.base/print-file-var.exp: Same. * gdb.base/skip-solib.exp: Same. * gdb.btrace/dlopen.exp: Same.
-rw-r--r--gdb/testsuite/ChangeLog15
-rw-r--r--gdb/testsuite/gdb.ada/catch_ex_std.exp3
-rw-r--r--gdb/testsuite/gdb.base/break-probes.exp3
-rw-r--r--gdb/testsuite/gdb.base/ctxobj.exp4
-rw-r--r--gdb/testsuite/gdb.base/dso2dso.exp4
-rw-r--r--gdb/testsuite/gdb.base/global-var-nested-by-dso.exp4
-rw-r--r--gdb/testsuite/gdb.base/info-shared.exp6
-rw-r--r--gdb/testsuite/gdb.base/jit-reader-simple.exp2
-rw-r--r--gdb/testsuite/gdb.base/print-file-var.exp2
-rw-r--r--gdb/testsuite/gdb.base/skip-solib.exp2
-rw-r--r--gdb/testsuite/gdb.btrace/dlopen.exp3
-rw-r--r--gdb/testsuite/lib/gdb.exp13
12 files changed, 38 insertions, 23 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 500d444..1c522e8 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,20 @@
2020-12-14 Tom de Vries <tdevries@suse.de>
+ * lib/gdb.exp (gdb_compile_shlib): Make sure it's not necessary to
+ pass -fPIC.
+ * gdb.ada/catch_ex_std.exp: Don't pass -fPIC to gdb_compile_shlib.
+ * gdb.base/break-probes.exp: Same.
+ * gdb.base/ctxobj.exp: Same.
+ * gdb.base/dso2dso.exp: Same.
+ * gdb.base/global-var-nested-by-dso.exp: Same.
+ * gdb.base/info-shared.exp: Same.
+ * gdb.base/jit-reader-simple.exp: Same.
+ * gdb.base/print-file-var.exp: Same.
+ * gdb.base/skip-solib.exp: Same.
+ * gdb.btrace/dlopen.exp: Same.
+
+2020-12-14 Tom de Vries <tdevries@suse.de>
+
PR testsuite/26963
* lib/gdb.exp (run_on_host): Declare test unsupported if spawn fails.
diff --git a/gdb/testsuite/gdb.ada/catch_ex_std.exp b/gdb/testsuite/gdb.ada/catch_ex_std.exp
index c5a0a93..d49cbab 100644
--- a/gdb/testsuite/gdb.ada/catch_ex_std.exp
+++ b/gdb/testsuite/gdb.ada/catch_ex_std.exp
@@ -29,8 +29,7 @@ set sofile [standard_output_file libsome_package.so]
set outdir [file dirname $binfile]
# Create the shared library.
-if {[gdb_compile_shlib $srcfile2 $sofile \
- {ada debug additional_flags=-fPIC}] != ""} {
+if {[gdb_compile_shlib $srcfile2 $sofile {ada debug}] != ""} {
return -1
}
diff --git a/gdb/testsuite/gdb.base/break-probes.exp b/gdb/testsuite/gdb.base/break-probes.exp
index 08513dd..96ef93d 100644
--- a/gdb/testsuite/gdb.base/break-probes.exp
+++ b/gdb/testsuite/gdb.base/break-probes.exp
@@ -30,8 +30,7 @@ if { [istarget "*bsd*"] } {
}
set probes_bp "dl_main"
-if { [gdb_compile_shlib $srcfile_lib $binfile_lib \
- [list additional_flags=-fPIC]] != "" } {
+if { [gdb_compile_shlib $srcfile_lib $binfile_lib {}] != "" } {
untested "failed to compile shared library"
return -1
}
diff --git a/gdb/testsuite/gdb.base/ctxobj.exp b/gdb/testsuite/gdb.base/ctxobj.exp
index b8931ba..faf209c 100644
--- a/gdb/testsuite/gdb.base/ctxobj.exp
+++ b/gdb/testsuite/gdb.base/ctxobj.exp
@@ -33,10 +33,10 @@ set libsrc [list "${srcdir}/${subdir}/ctxobj-v.c" \
set libobj1 [standard_output_file libctxobj1.so]
set libobj2 [standard_output_file libctxobj2.so]
-set libobj1_opts { debug additional_flags=-fPIC
+set libobj1_opts { debug
additional_flags=-DVERSION=104
additional_flags=-DGET_VERSION=get_version_1 }
-set libobj2_opts { debug additional_flags=-fPIC
+set libobj2_opts { debug
additional_flags=-DVERSION=203
additional_flags=-DGET_VERSION=get_version_2 }
diff --git a/gdb/testsuite/gdb.base/dso2dso.exp b/gdb/testsuite/gdb.base/dso2dso.exp
index 7d8ea70..4c0b279 100644
--- a/gdb/testsuite/gdb.base/dso2dso.exp
+++ b/gdb/testsuite/gdb.base/dso2dso.exp
@@ -40,13 +40,13 @@ set srcfile_libdso1 $srcdir/$subdir/$libdso1.c
set binfile_libdso1 [standard_output_file $libdso1.so]
if { [gdb_compile_shlib $srcfile_libdso2 $binfile_libdso2 \
- [list debug additional_flags=-fPIC]] != "" } {
+ [list debug]] != "" } {
untested "failed to compile shared library 2"
return -1
}
if { [gdb_compile_shlib $srcfile_libdso1 $binfile_libdso1 \
- [list debug additional_flags=-fPIC]] != "" } {
+ [list debug]] != "" } {
untested "failed to compile shared library 1"
return -1
}
diff --git a/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp b/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
index f88c5d0..c277595 100644
--- a/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
+++ b/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
@@ -28,13 +28,13 @@ set srcfile_lib2 $srcdir/$subdir/$lib2name.c
set binfile_lib2 [standard_output_file $lib2name.so]
if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 \
- [list debug additional_flags=-fPIC]] != "" } {
+ [list debug]] != "" } {
untested "failed to compile shared library 1"
return -1
}
if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 \
- [list debug additional_flags=-fPIC]] != "" } {
+ [list debug]] != "" } {
untested "failed to compile shared library 2"
return -1
}
diff --git a/gdb/testsuite/gdb.base/info-shared.exp b/gdb/testsuite/gdb.base/info-shared.exp
index 9a54100..7b8ce5b 100644
--- a/gdb/testsuite/gdb.base/info-shared.exp
+++ b/gdb/testsuite/gdb.base/info-shared.exp
@@ -29,14 +29,12 @@ set srcfile_lib2 $srcdir/$subdir/$lib2name.c
set binfile_lib2 [standard_output_file $lib2name.so]
set define2 -DSHLIB2_NAME=\"$binfile_lib2\"
-if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 \
- [list additional_flags=-fPIC]] != "" } {
+if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 {}] != "" } {
untested "failed to compile shared library 1"
return -1
}
-if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 \
- [list additional_flags=-fPIC]] != "" } {
+if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 {}] != "" } {
untested "failed to compile shared library 2"
return -1
}
diff --git a/gdb/testsuite/gdb.base/jit-reader-simple.exp b/gdb/testsuite/gdb.base/jit-reader-simple.exp
index a8f33c6..99c4dcf 100644
--- a/gdb/testsuite/gdb.base/jit-reader-simple.exp
+++ b/gdb/testsuite/gdb.base/jit-reader-simple.exp
@@ -56,7 +56,7 @@ proc build_shared_jit {{options ""}} {
global testfile
global srcfile_lib binfile_lib binfile_lib2
- lappend options "debug additional_flags=-fPIC"
+ lappend options "debug"
if { [gdb_compile_shlib $srcfile_lib $binfile_lib $options] != "" } {
return -1
}
diff --git a/gdb/testsuite/gdb.base/print-file-var.exp b/gdb/testsuite/gdb.base/print-file-var.exp
index 62e5f23..219bedc 100644
--- a/gdb/testsuite/gdb.base/print-file-var.exp
+++ b/gdb/testsuite/gdb.base/print-file-var.exp
@@ -42,7 +42,7 @@ proc test {hidden dlopen version_id_main lang} {
set libobj1 [standard_output_file ${lib1}$suffix.so]
set libobj2 [standard_output_file ${lib2}$suffix.so]
- set lib_opts { debug additional_flags=-fPIC $lang }
+ set lib_opts { debug $lang }
lappend lib_opts "additional_flags=-DHIDDEN=$hidden"
if { [gdb_compile_shlib ${srcdir}/${subdir}/${lib1}.c \
diff --git a/gdb/testsuite/gdb.base/skip-solib.exp b/gdb/testsuite/gdb.base/skip-solib.exp
index 528410a..8ecba70 100644
--- a/gdb/testsuite/gdb.base/skip-solib.exp
+++ b/gdb/testsuite/gdb.base/skip-solib.exp
@@ -39,7 +39,7 @@ set binfile_lib [standard_output_file ${libname}.so]
# the main program.
#
-if {[gdb_compile_shlib ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} [list debug additional_flags=-fPIC -Wl,-soname,${libname}.so]] != ""} {
+if {[gdb_compile_shlib ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} [list debug -Wl,-soname,${libname}.so]] != ""} {
return -1
}
diff --git a/gdb/testsuite/gdb.btrace/dlopen.exp b/gdb/testsuite/gdb.btrace/dlopen.exp
index fc910a9..6839b0f 100644
--- a/gdb/testsuite/gdb.btrace/dlopen.exp
+++ b/gdb/testsuite/gdb.btrace/dlopen.exp
@@ -31,8 +31,7 @@ set basename_lib dlopen-dso
set srcfile_lib $srcdir/$subdir/$basename_lib.c
set binfile_lib [standard_output_file $basename_lib.so]
-if { [gdb_compile_shlib $srcfile_lib $binfile_lib \
- [list additional_flags=-fPIC]] != "" } {
+if { [gdb_compile_shlib $srcfile_lib $binfile_lib {}] != "" } {
untested "failed to prepare shlib"
return -1
}
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 46728bb..94bdf1a 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -4304,17 +4304,21 @@ proc gdb_compile_shlib {sources dest options} {
lappend obj_options "additional_flags=-qpic"
}
"clang-*" {
- if { !([istarget "*-*-cygwin*"]
- || [istarget "*-*-mingw*"]) } {
+ if { [istarget "*-*-cygwin*"]
+ || [istarget "*-*-mingw*"] } {
+ lappend obj_options "additional_flags=-fPIC"
+ } else {
lappend obj_options "additional_flags=-fpic"
}
}
"gcc-*" {
- if { !([istarget "powerpc*-*-aix*"]
+ if { [istarget "powerpc*-*-aix*"]
|| [istarget "rs6000*-*-aix*"]
|| [istarget "*-*-cygwin*"]
|| [istarget "*-*-mingw*"]
- || [istarget "*-*-pe*"]) } {
+ || [istarget "*-*-pe*"] } {
+ lappend obj_options "additional_flags=-fPIC"
+ } else {
lappend obj_options "additional_flags=-fpic"
}
}
@@ -4323,6 +4327,7 @@ proc gdb_compile_shlib {sources dest options} {
}
default {
# don't know what the compiler is...
+ lappend obj_options "additional_flags=-fPIC"
}
}