This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Lennert Buytenhek wrote: > Hi! > > I've been trying to get a gcc 4.0.x-based arm softfloat toolchain > working (using crosstool), with little success so far. Disclaimer: I have no knowledge of the situation with arm and fp, and I never use glibc. So please regard this as an annoying question from an under-informed idiot: > gcc 4.0.1) and that causes glibc to be built hardfloat since gcc 3.3 > doesn't have arm softfloat support out-of-the-box. Ok, so 3.3 doesn't have softfloat support. > So, I forward-ported patches/gcc-3.4.2/gcc-3.4.0-arm-lib1asm.patch and > patches/gcc-3.4.2/gcc-3.4.0-arm-nolibfloat.patch, Let's just take a quick look at that second patch: --- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200 +++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200 @@ -4,7 +4,10 @@ LIBGCC2_DEBUG_CFLAGS = -g0 LIB1ASMSRC = arm/lib1funcs.asm -LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx +LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \ + _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ + _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ + _fixsfsi _fixunssfsi _floatdidf _floatdisf # MULTILIB_OPTIONS = mhard-float/msoft-float # MULTILIB_DIRNAMES = hard-float soft-float Ok, so you added a patch that causes the libgcc soft-float functions (such as, say, just for example, oh, I dunno, maybe take '_floatdidf' as an example?) to be added to the libgcc build, and then you continued, and then you found ... > libgcc/./_floatdidf_s.o: In function `__floatdidf': > libgcc2.c:(.text+0x0): multiple definition of `__floatdidf' > libgcc/./_addsubdf3_s.o:/data/buytenh/crosstool/crosstool-0.38/build/arm-softf loat-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/config/arm/ieee754-df.S:474 : > first defined here ... that doing so causes a clash with something else also called _floatdidf, but which lives in the very meaningfully-soundingly-named "ieee754-df.S". > I can't really imagine that gcc 4.0.x arm softfloat doesn't work at all > or that nobody is using it, so maybe someone here has an idea what to do > before I proceed to plod on? So just out of curiosity (here's where I either say something very very stupid or solve the problem for you), if old versions of gcc didn't have soft float, and you've taken a new version of gcc, and tried to add soft float, and got an error from having _two_ versions of the softfloat functions ... ... doesn't that mean that someone else has _already_ added soft float to gcc, sometime between 3.3 and 4.0.1, and your patch was unneccessary? cheers, DaveK -- Can't think of a witty .sigline today.... ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |