diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-04-02 07:03:08 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-04-02 07:12:45 -0700 |
commit | 8be5def63b0f2036312483dac8dd5a4fa2e91009 (patch) | |
tree | e9944941e51e9b0c3f781b0bdd91ffb12d16706a /ld/testsuite/ld-srec | |
parent | 4d095f5b5e57584133f85df42da2123e20834aec (diff) | |
download | gdb-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.exp | 8 |
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] \ |