summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authorbr <br@FreeBSD.org>2016-01-26 14:45:21 +0000
committerbr <br@FreeBSD.org>2016-01-26 14:45:21 +0000
commitcd64a150736f4a9f271c0e345a97941128bba948 (patch)
treed616d9422901a1346a8822762da944c9e7e9a1e5 /gnu
parentf3807e96bd2de9a9523a664367c1bcc891e01a4b (diff)
downloadFreeBSD-src-cd64a150736f4a9f271c0e345a97941128bba948.zip
FreeBSD-src-cd64a150736f4a9f271c0e345a97941128bba948.tar.gz
Make libgcc compilable on RISC-V.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/lib/libgcc/Makefile9
1 files changed, 7 insertions, 2 deletions
diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile
index f3166e7..cdf62dd 100644
--- a/gnu/lib/libgcc/Makefile
+++ b/gnu/lib/libgcc/Makefile
@@ -58,8 +58,10 @@ LIB2FUNCS+= _fixuns${mode}si
.endfor
# Likewise double-word routines.
-.if ${TARGET_CPUARCH} != "aarch64" && ${TARGET_CPUARCH} != "arm"
-# These are implemented in an ARM specific file but will not be filtered out
+.if ${TARGET_CPUARCH} != "aarch64" && ${TARGET_CPUARCH} != "arm" && \
+ ${TARGET_CPUARCH} != "riscv64"
+# These are implemented in an ARM specific file but will not be filtered out.
+# RISCVTODO: can't compile
.for mode in sf df xf tf
LIB2FUNCS+= _fix${mode}di _fixuns${mode}di
LIB2FUNCS+= _floatdi${mode} _floatundi${mode}
@@ -322,7 +324,10 @@ EH_OBJS_T = ${LIB2ADDEHSTATIC:R:S/$/.o/}
EH_OBJS_P = ${LIB2ADDEHSTATIC:R:S/$/.po/}
EH_OBJS_S = ${LIB2ADDEHSHARED:R:S/$/.So/}
EH_CFLAGS = -fexceptions -D__GLIBC__=3 -DElfW=__ElfN
+.if ${TARGET_CPUARCH} != "riscv64"
+# RISCVTODO: unwinding support
SOBJS += ${EH_OBJS_S}
+.endif
.for _src in ${LIB2ADDEHSTATIC:M*.c}
${_src:R:S/$/.o/}: ${_src} ${COMMONHDRS}
OpenPOWER on IntegriCloud