1 |
Tim Dodge wrote: |
2 |
> Hi, |
3 |
> |
4 |
> I'm attempting to build an arm-xscale-linux-uclibc toolchain that uses |
5 |
> soft-float, so that I can build a version of gentoo for my zaurus c860. |
6 |
> |
7 |
> Without soft-float, everything seems to be okay - I've managed to build |
8 |
> a 2.6 kernel that boots into a minimal root fs. |
9 |
> |
10 |
> I have managed to build a soft-float version of the toolchain, but now |
11 |
> nothing will link, I'm getting undefined references to the float |
12 |
> functions like so: |
13 |
> |
14 |
> configure:1644: checking for C compiler default output |
15 |
> configure:1647: arm-xscale-linux-uclibc-gcc -Os -pipe |
16 |
> -march=armv5te -mtune=xscale conftest.c >&5 |
17 |
> |
18 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
19 |
> undefined reference to `__eqdf2' |
20 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
21 |
> undefined reference to `__floatsidf' |
22 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
23 |
> undefined reference to `__ltdf2' |
24 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
25 |
> undefined reference to `__extendsfdf2' |
26 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
27 |
> undefined reference to `__adddf3' |
28 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
29 |
> undefined reference to `__fixdfsi' |
30 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
31 |
> undefined reference to `__divdf3' |
32 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
33 |
> undefined reference to `__muldf3' |
34 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
35 |
> undefined reference to `__truncdfsf2' |
36 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
37 |
> undefined reference to `__nedf2' |
38 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
39 |
> undefined reference to `__gedf2' |
40 |
> /usr/lib/gcc/arm-xscale-linux-uclibc/3.4.3-20050110/../../../../arm-xscale-linux-uclibc/lib/libc.so: |
41 |
> undefined reference to `__subdf3' |
42 |
> collect2: ld returned 1 exit status |
43 |
> |
44 |
> I'm using gcc-3.4.3.20050110-r2.ebuild and uclibc-0.9.27.ebuild. |
45 |
> |
46 |
> I was under the impression that the soft-float routines had been added |
47 |
> to gcc since v3.4, and that libfloat is no longer required. |
48 |
> |
49 |
> Any idea what I'm doing wrong? |
50 |
> |
51 |
> Cheers, |
52 |
> Tim |
53 |
|
54 |
I've managed to successfully build the soft-float toolchain using these |
55 |
two patches from openembedded. |
56 |
|
57 |
I needed to alter the uclibc ebuild to also unset HAS_FPU, and build gcc |
58 |
using EXTRA_ECONF="--with-float=soft". |
59 |
|
60 |
Cheers, |
61 |
Tim |