aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-srec
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-04-02 07:03:08 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-04-02 07:12:45 -0700
commit8be5def63b0f2036312483dac8dd5a4fa2e91009 (patch)
treee9944941e51e9b0c3f781b0bdd91ffb12d16706a /ld/testsuite/ld-srec
parent4d095f5b5e57584133f85df42da2123e20834aec (diff)
downloadgdb-8be5def63b0f2036312483dac8dd5a4fa2e91009.zip
gdb-8be5def63b0f2036312483dac8dd5a4fa2e91009.tar.gz
gdb-8be5def63b0f2036312483dac8dd5a4fa2e91009.tar.bz2
ld: Add NOCF_PROTECTION_CFLAGS to turn off -fcf-protection
GCC in Ubuntu 20.04 enables -fcf-protection by default, which leads to FAIL: S-records FAIL: S-records with constructors FAIL: Build plt-main with -z bndplt FAIL: Build plt-main with PIE and -z bndplt FAIL: Build plt-main with -z bndplt -z now FAIL: Build plt-main with PIE and -z bndplt -z now on x86-64. Add NOCF_PROTECTION_CFLAGS to pass -fcf-protection=none on these tests. * testsuite/config/default.exp (NOCF_PROTECTION_CFLAGS): New. Set to "-fcf-protection=none" if target compiler supports it. * testsuite/ld-srec/srec.exp: Add $NOCF_PROTECTION_CFLAGS to CC and CXX. * testsuite/ld-x86-64/x86-64.exp: Add $NOCF_PROTECTION_CFLAGS to PLT BND tests.
Diffstat (limited to 'ld/testsuite/ld-srec')
-rw-r--r--ld/testsuite/ld-srec/srec.exp8
1 files changed, 4 insertions, 4 deletions
diff --git a/ld/testsuite/ld-srec/srec.exp b/ld/testsuite/ld-srec/srec.exp
index 742b997..da230fb 100644
--- a/ld/testsuite/ld-srec/srec.exp
+++ b/ld/testsuite/ld-srec/srec.exp
@@ -350,12 +350,12 @@ if { ![check_compiler_available] } {
# Pass -fplt to CC and CXX since -fno-plt doesn't work with S-records
# tests. Also add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if PIE doesn't work
-# with S-records.
-global PLT_CFLAGS NOPIE_CFLAGS NOPIE_LDFLAGS
+# with S-records. Also add $NOCF_PROTECTION_CFLAGS for S-records.
+global PLT_CFLAGS NOPIE_CFLAGS NOPIE_LDFLAGS NOCF_PROTECTION_CFLAGS
set old_CC "$CC"
-set CC "$CC $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS"
+set CC "$CC $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS $NOCF_PROTECTION_CFLAGS"
set old_CXX "$CXX"
-set CXX "$CXX $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS"
+set CXX "$CXX $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS $NOCF_PROTECTION_CFLAGS"
# S-records can't handle .note.gnu.property sections.
if { [is_elf_format] \