Use the compiler-rt version __{u,}divsi3 and __{u,}modsi3 on ARM EABI
This commit is contained in:
parent
2aebb6cefe
commit
bb41cbb27c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=245651
@ -8,3 +8,9 @@ SOFTFLOAT_BITS=32
|
||||
# Long double is just double precision.
|
||||
MDSRCS+=machdep_ldisd.c
|
||||
SYM_MAPS+=${.CURDIR}/arm/Symbol.map
|
||||
|
||||
.if ${MK_ARM_EABI} == "no"
|
||||
# This contains the symbols that were removed when moving to the ARM EABI
|
||||
SYM_MAPS+=${.CURDIR}/arm/Symbol_oabi.map
|
||||
.endif
|
||||
|
||||
|
@ -46,10 +46,6 @@ FBSDprivate_1.0 {
|
||||
_set_tp;
|
||||
__aeabi_read_tp;
|
||||
___longjmp;
|
||||
__umodsi3;
|
||||
__modsi3;
|
||||
__udivsi3;
|
||||
__divsi3;
|
||||
__makecontext;
|
||||
__longjmp;
|
||||
signalcontext;
|
||||
|
16
lib/libc/arm/Symbol_oabi.map
Normal file
16
lib/libc/arm/Symbol_oabi.map
Normal file
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
/*
|
||||
* This only needs to contain symbols that are not listed in
|
||||
* symbol maps from other parts of libc (i.e., not found in
|
||||
* stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...)
|
||||
* and are not used in the ARM EABI.
|
||||
*/
|
||||
FBSDprivate_1.0 {
|
||||
__umodsi3;
|
||||
__modsi3;
|
||||
__udivsi3;
|
||||
__divsi3;
|
||||
};
|
@ -3,4 +3,8 @@
|
||||
|
||||
SRCS+= _ctx_start.S _setjmp.S _set_tp.c alloca.S fabs.c \
|
||||
getcontextx.c infinity.c ldexp.c makecontext.c \
|
||||
__aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S divsi3.S flt_rounds.c
|
||||
__aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S flt_rounds.c
|
||||
|
||||
.if ${MK_ARM_EABI} == "no"
|
||||
SRCS+= divsi3.S
|
||||
.endif
|
||||
|
@ -136,18 +136,22 @@ SRCF+= adddf3 \
|
||||
addsf3 \
|
||||
divdf3 \
|
||||
divsf3 \
|
||||
divsi3 \
|
||||
extendsfdf2 \
|
||||
fixdfsi \
|
||||
fixsfsi \
|
||||
floatsidf \
|
||||
floatsisf \
|
||||
modsi3 \
|
||||
muldf3 \
|
||||
mulsf3 \
|
||||
subdf3 \
|
||||
subsf3 \
|
||||
truncdfsf2 \
|
||||
truncdfsf2
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_CPUARCH} != "mips" && \
|
||||
(${MACHINE_CPUARCH} != "arm" || ${MK_ARM_EABI} != "no")
|
||||
SRCF+= divsi3 \
|
||||
modsi3 \
|
||||
udivsi3 \
|
||||
umodsi3
|
||||
.endif
|
||||
|
Loading…
Reference in New Issue
Block a user