From 8dc56a2244cfe35cbdb53e0f586c16f90a2677e4 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Fri, 1 Nov 2019 20:35:12 +0000 Subject: [PATCH] RISC-V: Build soft-float divide routines for -mno-fdiv. Using -mno-fdiv gives linker errors unless we build the missing divide routines in libgcc always. There is at least one university project designing RISC-V parts without FP divide that wants to use the option. libgcc/ * config/riscv/t-softfp32 (softfp_extra): Add FP divide routines From-SVN: r277723 --- libgcc/ChangeLog | 4 ++++ libgcc/config/riscv/t-softfp32 | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 99199944652..4a855cbeefd 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,7 @@ +2019-11-01 Jim Wilson + + * config/riscv/t-softfp32 (softfp_extra): Add FP divide routines + 2019-10-23 Jozef Lawrynowicz * config/msp430/lib2hw_mul.S: Fix wrong syntax in branch instruction. diff --git a/libgcc/config/riscv/t-softfp32 b/libgcc/config/riscv/t-softfp32 index 1bd51e803d1..59be1df827e 100644 --- a/libgcc/config/riscv/t-softfp32 +++ b/libgcc/config/riscv/t-softfp32 @@ -12,7 +12,11 @@ softfp_float_modes := tf softfp_extensions := sftf dftf softfp_truncations := tfsf tfdf +# Enable divide routines to make -mno-fdiv work. +softfp_extras := divsf3 divdf3 + else +# !ABI_DOUBLE softfp_float_modes := df tf softfp_extensions := sfdf sftf dftf @@ -20,7 +24,20 @@ softfp_truncations := dfsf tfsf tfdf ifndef ABI_SINGLE softfp_float_modes += sf +else +# ABI_SINGLE + +# Enable divide routines to make -mno-fdiv work. +softfp_extras := divsf3 + endif endif + +else +# ABI_QUAD + +# Enable divide routines to make -mno-fdiv work. +softfp_extras := divsf3 divdf3 divtf3 + endif