From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20076 invoked by alias); 21 Dec 2005 17:39:23 -0000 Received: (qmail 19984 invoked by alias); 21 Dec 2005 17:39:19 -0000 Date: Wed, 21 Dec 2005 17:39:00 -0000 Message-ID: <20051221173919.19981.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/24998] [4.2 Regression] Build failure on sparc-sun-solaris2.9/arm: undefined symbol __floatunsitf In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "joseph at codesourcery dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2005-12/txt/msg02247.txt.bz2 List-Id: ------- Comment #18 from joseph at codesourcery dot com 2005-12-21 17:39 ------- Subject: Patch for arm-none-linux-gnueabi build failure 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 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 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24998