diff options
author | Jim Wilson <jimw@sifive.com> | 2019-09-07 00:09:21 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2019-09-06 17:09:21 -0700 |
commit | 2f4d895197e7b137f50624bef58c9b614bf081e5 (patch) | |
tree | f9961e7deaf647350496eb92790b1f96521aee4f /libgcc | |
parent | e83573abb388801561768ed373c8e43a0f005110 (diff) | |
download | gcc-2f4d895197e7b137f50624bef58c9b614bf081e5.zip gcc-2f4d895197e7b137f50624bef58c9b614bf081e5.tar.gz gcc-2f4d895197e7b137f50624bef58c9b614bf081e5.tar.bz2 |
RISC-V: Re-enable -msave-restore for shared libraries.
This re-enables -msave-restore for shared libraries, and uses the
t-slibgcc-libgcc file to get the save-restore routines included directly
in shared libraries so that we don't need to indirect through the PLT
to reach them, which doesn't work.
gcc/
* config/riscv/riscv.c (riscv_option_override): Revert 2019-08-30
change.
libgcc/
* config.host (riscv*-*-linux*): Add t-slibgcc-libgcc to tmake_file.
(riscv*-*-freebsd*): Likewise.
From-SVN: r275478
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/config.host | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 1ffb236..df5d996 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2019-09-06 Jim Wilson <jimw@sifive.com> + + * config.host (riscv*-*-linux*): Add t-slibgcc-libgcc to tmake_file. + (riscv*-*-freebsd*): Likewise. + 2019-09-03 Ulrich Weigand <uweigand@de.ibm.com> * config.host: Remove references to spu. diff --git a/libgcc/config.host b/libgcc/config.host index a397670..1db5287 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -1201,12 +1201,12 @@ pru-*-*) tm_file="$tm_file pru/pru-abi.h" ;; riscv*-*-linux*) - tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}" + tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address} t-slibgcc-libgcc" extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o" md_unwind_header=riscv/linux-unwind.h ;; riscv*-*-freebsd*) - tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}" + tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address} t-slibgcc-libgcc" extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o" ;; riscv*-*-*) |