Add ARM (EABI) specific sources. Split off code that requires C11,

unwind support in libc or overlaps with soft-float in preparation for
using compiler-rt in the non-clang case.
This commit is contained in:
joerg 2013-12-03 02:28:51 +00:00
parent 467f6149c3
commit baf8298edf
1 changed files with 37 additions and 7 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.1 2013/07/04 22:14:43 joerg Exp $
# $NetBSD: Makefile.inc,v 1.2 2013/12/03 02:28:51 joerg Exp $
COMPILER_RT_SRCDIR= ${NETBSDSRCDIR}/sys/external/bsd/compiler_rt/dist
@ -10,7 +10,6 @@ COMPILER_RT_CPU_DIR= ${COMPILER_RT_SRCDIR}/lib/${MACHINE_CPU}
COMPILER_RT_ARCH_DIR= ${COMPILER_RT_SRCDIR}/lib/${MACHINE_ARCH}
.endif
.PATH: ${COMPILER_RT_CPU_DIR}
.PATH: ${COMPILER_RT_ARCH_DIR}
.PATH: ${COMPILER_RT_SRCDIR}/lib
@ -23,6 +22,22 @@ COMPILER_RT_ARCH_DIR= ${COMPILER_RT_SRCDIR}/lib/${MACHINE_ARCH}
# divdc3.c \
# divsc3.c
.if ${HAVE_LLVM:Uno} == "yes"
# Requires C11 support
GENERIC_SRCS+= atomic.c
.endif
.if ${HAVE_LIBGCC} == "no"
# Requires unwind support
GENERIC_SRCS+= \
gcc_personality_v0.c
# Conflicts with soft-float
GENERIC_SRCS+= \
comparedf2.c \
comparesf2.c
.endif
GENERIC_SRCS+= \
absvdi2.c \
absvsi2.c \
@ -36,14 +51,11 @@ GENERIC_SRCS+= \
ashlti3.c \
ashrdi3.c \
ashrti3.c \
atomic.c \
clzdi2.c \
clzsi2.c \
clzti2.c \
cmpdi2.c \
cmpti2.c \
comparedf2.c \
comparesf2.c \
ctzdi2.c \
ctzsi2.c \
ctzti2.c \
@ -90,7 +102,6 @@ GENERIC_SRCS+= \
floatuntidf.c \
floatuntisf.c \
floatuntixf.c \
gcc_personality_v0.c \
int_util.c \
lshrdi3.c \
lshrti3.c \
@ -155,12 +166,31 @@ GENERIC_SRCS+= \
gcc_qsub.c
.endif
.if ${MACHINE_CPU} == "arm"
.if !empty(LIBC_MACHINE_ARCH:Mearm*)
GENERIC_SRCS+= \
aeabi_dcmp.S \
aeabi_fcmp.S \
aeabi_idivmod.S \
aeabi_ldivmod.S \
aeabi_uidivmod.S \
aeabi_uldivmod.S
.endif
GENERIC_SRCS+= \
bswapdi2.S \
bswapsi2.S
.endif
.for src in ${GENERIC_SRCS}
. if exists(${COMPILER_RT_CPU_DIR}/${src:R}.S) || \
exists(${COMPILER_RT_ARCH_DIR}/${src:R}.S)
SRCS+= ${src:R}.S
. else
SRCS+= ${src}
COPTS.${src}+= -Wno-error=missing-prototypes
COPTS.${src}+= -Wno-missing-prototypes \
-Wno-old-style-definition \
-Wno-strict-prototypes \
-Wno-uninitialized
. endif
.endfor