[Bug middle-end/24998] Patch for arm-none-linux-gnueabi build failure

Joseph S. Myers joseph@codesourcery.com
Wed Dec 21 17:40:00 GMT 2005


This patch fixes another piece of bug 24998, fallout from adding
__floatun*.  Unlike the problems with missing functions, this is one
with duplicate functions: builds for arm-none-linux-gnueabi fail
because __floatundisf and __floatundidf are multiply defined, once in
libgcc2.c and once in ieee754-[ds]f.S.  Where a target defines its own
version of a function in libgcc2.c, it needs to be listed in
LIB1ASMFUNCS to avoid the libgcc2.c version being compiled.  (In this
case, a group of functions are all included in the same object file so
inclusion in LIB1ASMFUNCS wasn't needed for the ARM version to get
compiled in the first place.)

Tested with cross-compiler to arm-none-linux-gnueabi; it fixes the
build of the compiler.  OK to commit?

2005-12-21  Joseph S. Myers  <joseph@codesourcery.com>

	PR middle-end/24998
	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add _floatundidf and
	_floatundisf.

diff -rupN GCC.orig/gcc/config/arm/t-arm-elf GCC/gcc/config/arm/t-arm-elf
--- GCC.orig/gcc/config/arm/t-arm-elf	2005-10-28 23:33:56.000000000 +0000
+++ GCC/gcc/config/arm/t-arm-elf	2005-12-21 16:40:19.000000000 +0000
@@ -4,7 +4,7 @@ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3
 	_lshrdi3 _ashrdi3 _ashldi3 \
 	_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
 	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-	_fixsfsi _fixunssfsi _floatdidf _floatdisf
+	_fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf
 
 MULTILIB_OPTIONS     = marm/mthumb
 MULTILIB_DIRNAMES    = arm thumb

-- 
Joseph S. Myers               http://www.srcf.ucam.org/~jsm28/gcc/
    jsm@polyomino.org.uk (personal mail)
    joseph@codesourcery.com (CodeSourcery mail)
    jsm28@gcc.gnu.org (Bugzilla assignments and CCs)



More information about the Gcc-patches mailing list