svn commit: r214205 - user/ed/compiler-rt/lib/libcompiler_rt
Ed Schouten
ed at FreeBSD.org
Fri Oct 22 14:07:13 UTC 2010
Author: ed
Date: Fri Oct 22 14:07:12 2010
New Revision: 214205
URL: http://svn.freebsd.org/changeset/base/214205
Log:
Make libcompiler_rt build properly on mips and arm.
The optimized assembly files for arm use a different syntax as the one
supported by GNU as. Also, some of the routines provided by
libcompiler_rt are also part of libc's.
Modified:
user/ed/compiler-rt/lib/libcompiler_rt/Makefile
Modified: user/ed/compiler-rt/lib/libcompiler_rt/Makefile
==============================================================================
--- user/ed/compiler-rt/lib/libcompiler_rt/Makefile Fri Oct 22 14:01:11 2010 (r214204)
+++ user/ed/compiler-rt/lib/libcompiler_rt/Makefile Fri Oct 22 14:07:12 2010 (r214205)
@@ -18,27 +18,130 @@ CRTSRC=${.CURDIR}/../../contrib/compiler
.PATH: ${CRTSRC}/${CRTARCH} ${CRTSRC}
-SRCF= absvdi2 absvsi2 absvti2 adddf3 addsf3 addvdi3 addvsi3 addvti3 \
- apple_versioning ashldi3 ashlti3 ashrdi3 ashrti3 clear_cache \
- clzdi2 clzsi2 clzti2 cmpdi2 cmpti2 comparedf2 comparesf2 \
- ctzdi2 ctzsi2 ctzti2 divdc3 divdf3 divdi3 divsc3 divsf3 divsi3 \
- divti3 divxc3 enable_execute_stack eprintf extendsfdf2 ffsdi2 \
- ffsti2 fixdfdi fixdfsi fixdfti fixsfdi fixsfsi fixsfti \
- fixunsdfdi fixunsdfsi fixunsdfti fixunssfdi fixunssfsi \
- fixunssfti fixunsxfdi fixunsxfsi fixunsxfti fixxfdi fixxfti \
- floatdidf floatdisf floatdixf floatsidf floatsisf floattidf \
- floattisf floattixf floatundidf floatundisf floatundixf \
- floatunsidf floatunsisf floatuntidf floatuntisf floatuntixf \
- gcc_personality_v0 lshrdi3 lshrti3 moddi3 modsi3 modti3 muldc3 \
- muldf3 muldi3 mulsc3 mulsf3 multi3 mulvdi3 mulvsi3 mulvti3 \
- mulxc3 negdf2 negdi2 negsf2 negti2 negvdi2 negvsi2 negvti2 \
- paritydi2 paritysi2 parityti2 popcountdi2 popcountsi2 \
- popcountti2 powidf2 powisf2 powitf2 powixf2 subvdi3 subvsi3 \
- subvti3 trampoline_setup truncdfsf2 ucmpdi2 ucmpti2 udivdi3 \
- udivmoddi4 udivmodti4 udivsi3 udivti3 umoddi3 umodsi3 umodti3
+SRCF= absvdi2 \
+ absvsi2 \
+ absvti2 \
+ addvdi3 \
+ addvsi3 \
+ addvti3 \
+ ashldi3 \
+ ashlti3 \
+ ashrdi3 \
+ ashrti3 \
+ clear_cache \
+ clzdi2 \
+ clzsi2 \
+ clzti2 \
+ cmpdi2 \
+ cmpti2 \
+ comparedf2 \
+ comparesf2 \
+ ctzdi2 \
+ ctzsi2 \
+ ctzti2 \
+ divdc3 \
+ divdi3 \
+ divsc3 \
+ divti3 \
+ divxc3 \
+ enable_execute_stack \
+ eprintf \
+ ffsdi2 \
+ ffsti2 \
+ fixdfdi \
+ fixdfti \
+ fixsfdi \
+ fixsfti \
+ fixunsdfdi \
+ fixunsdfsi \
+ fixunsdfti \
+ fixunssfdi \
+ fixunssfsi \
+ fixunssfti \
+ fixunsxfdi \
+ fixunsxfsi \
+ fixunsxfti \
+ fixxfdi \
+ fixxfti \
+ floatdidf \
+ floatdisf \
+ floatdixf \
+ floattidf \
+ floattisf \
+ floattixf \
+ floatundidf \
+ floatundisf \
+ floatundixf \
+ floatunsidf \
+ floatunsisf \
+ floatuntidf \
+ floatuntisf \
+ floatuntixf \
+ gcc_personality_v0 \
+ lshrdi3 \
+ lshrti3 \
+ moddi3 \
+ modti3 \
+ muldc3 \
+ muldi3 \
+ mulsc3 \
+ multi3 \
+ mulvdi3 \
+ mulvsi3 \
+ mulvti3 \
+ mulxc3 \
+ negdf2 \
+ negdi2 \
+ negsf2 \
+ negti2 \
+ negvdi2 \
+ negvsi2 \
+ negvti2 \
+ paritydi2 \
+ paritysi2 \
+ parityti2 \
+ popcountdi2 \
+ popcountsi2 \
+ popcountti2 \
+ powidf2 \
+ powisf2 \
+ powitf2 \
+ powixf2 \
+ subvdi3 \
+ subvsi3 \
+ subvti3 \
+ trampoline_setup \
+ ucmpdi2 \
+ ucmpti2 \
+ udivdi3 \
+ udivmoddi4 \
+ udivmodti4 \
+ udivti3 \
+ umoddi3 \
+ umodti3
+
+# These are already shipped by libc.a on arm and mips
+.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
+SRCF+= adddf3 \
+ addsf3 \
+ divdf3 \
+ divsf3 \
+ divsi3 \
+ extendsfdf2 \
+ fixdfsi \
+ fixsfsi \
+ floatsidf \
+ floatsisf \
+ modsi3 \
+ muldf3 \
+ mulsf3 \
+ truncdfsf2 \
+ udivsi3 \
+ umodsi3
+.endif
.for file in ${SRCF}
-. if exists(${CRTSRC}/${CRTARCH}/${file}.S)
+. if ${MACHINE_CPUARCH} != "arm" && exists(${CRTSRC}/${CRTARCH}/${file}.S)
SRCS+= ${file}.S
. else
SRCS+= ${file}.c
More information about the svn-src-user
mailing list