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] |
Hi! I've been trying to get a gcc 4.0.x-based arm softfloat toolchain working (using crosstool), with little success so far. Doing the straightforward thing and adding gcc-4.0.1-glibc-2.3.2-hdrs-2.6.11.2.dat to demo-arm-softfloat.sh does not work -- this configuration uses gcc 3.3.6 to build glibc (since glibc 2.3.2 apparently doesn't build with 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. Didn't investigate this further. Trying again with gcc-4.0.1-glibc-2.3.5-hdrs-2.6.11.2.dat didn't work out either -- when building the bootstrap gcc, it bails out when building libgcc with a list of undefined references to the following functions: __adddf3 __addsf3 __divdf3 __divsf3 __eqdf2 __eqsf2 __fixsfsi __floatsidf __floatsisf __gedf2 __ledf2 __ltdf2 __muldf3 __mulsf3 __nedf2 __subdf3 __subsf3. 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, and that takes me a bit further (libgcc builds successfully), but bails out a bit later when our newly built gcc tries to build itself, with a couple or errors a la: 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-softfloat-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/config/arm/ieee754-df.S:474: first defined here /opt/crosstool/gcc-4.0.1-glibc-2.3.5/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu/bin/ld: Warning: size of symbol `__floatdidf' changed from 96 in libgcc/./_addsubdf3_s.o to 140 in libgcc/./_floatdidf_s.o libgcc/./_floatdisf_s.o: In function `__floatdisf': libgcc2.c:(.text+0x0): multiple definition of `__floatdisf' libgcc/./_addsubsf3_s.o:/data/buytenh/crosstool/crosstool-0.38/build/arm-softfloat-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/config/arm/ieee754-sf.S:315: first defined here /opt/crosstool/gcc-4.0.1-glibc-2.3.5/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu/bin/ld: Warning: size of symbol `__floatdisf' changed from 172 in libgcc/./_addsubsf3_s.o to 252 in libgcc/./_floatdisf_s.o collect2: ld returned 1 exit status 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? thanks, Lennert ------ 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] |