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