1 |
Just a little addition: there is another flag which might be involved: |
2 |
|
3 |
-mfloat-abi=softfp |
4 |
|
5 |
/Pal Szasz |
6 |
|
7 |
Pal Szasz wrote: |
8 |
> Hi! |
9 |
> |
10 |
> Hmm... I think somebody else has to help you... |
11 |
> All I know that floating point ninstructions on ARM are a bit tricky. |
12 |
> The core doesn't support that, but there is an optional co-processor. |
13 |
> And even if the co-processor is not there, there are two ways to |
14 |
> emulate it in software. Unfortunately the way floating point |
15 |
> operations are handled must be specified at compile time, and must |
16 |
> match in every application/lib... and that's the problem here. I recon |
17 |
> there is a flag, -mfpu=vfp which controll the floating point |
18 |
> instructions. It seems uclibc and gcc was built with different |
19 |
> flags... so probably you have to rebuild one of them.... |
20 |
> Or maybe you are using the wrong uclibc lib? |
21 |
> |
22 |
> /Pal Szasz |
23 |
> |
24 |
> Jean-Claude Gervais wrote: |
25 |
>> Thank you, Pal! |
26 |
>> |
27 |
>> That did indeed help; by putting an empty file at |
28 |
>> |
29 |
>> /usr/arm-softfloat-linux-uclibc/usr/include/asm/page.h |
30 |
>> |
31 |
>> I was able to compile, however, now the link fails. |
32 |
>> |
33 |
>> I think it might be something to do with my USE flags? |
34 |
>> |
35 |
>> Anyone know? |
36 |
>> |
37 |
>> [...] |
38 |
>> rm -f libc.a shared_libc.a |
39 |
>> objs=`cat obj.*` ; \ |
40 |
>> arm-softfloat-linux-uclibc-ar cr libc.a $objs && \ |
41 |
>> arm-softfloat-linux-uclibc-ar dN 2 libc.a $objs && \ |
42 |
>> arm-softfloat-linux-uclibc-ar dN 2 libc.a $objs |
43 |
>> arm-softfloat-linux-uclibc-ar cr libc.a obj.signal |
44 |
>> arm-softfloat-linux-uclibc-ar cr libc.a obj.string.generic |
45 |
>> arm-softfloat-linux-uclibc-ar cr libc.a obj.string.arm |
46 |
>> arm-softfloat-linux-uclibc-ar cr libc.a obj.string |
47 |
>> arm-softfloat-linux-uclibc-ar cr libc.a obj.sysdeps.common |
48 |
>> arm-softfloat-linux-uclibc-ar cr libc.a obj.sysdeps.arm |
49 |
>> cp libc.a shared_libc.a |
50 |
>> arm-softfloat-linux-uclibc-ranlib libc.a |
51 |
>> arm-softfloat-linux-uclibc-ld -EL -shared --warn-common --warn-once -z |
52 |
>> combreloc -z defs -s -z relro -soname=libc.so.0 -o libuClibc-0.9.28.so |
53 |
>> \ |
54 |
>> --whole-archive shared_libc.a \ |
55 |
>> ../libc/misc/internals/interp.o --no-whole-archive \ |
56 |
>> -init |
57 |
>> __uClibc_init ../lib/ld-uClibc.so.0 |
58 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a |
59 |
>> ../lib/ld-uClibc.so.0: warning: multiple common of `__libc_stack_end' |
60 |
>> shared_libc.a(__uClibc_main.o): warning: previous common is here |
61 |
>> arm-softfloat-linux-uclibc-ld: |
62 |
>> ERROR: |
63 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_udivsi3.o) |
64 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
65 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
66 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_udivsi3.o) |
67 |
>> arm-softfloat-linux-uclibc-ld: |
68 |
>> ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_divsi3.o) |
69 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
70 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
71 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_divsi3.o) |
72 |
>> arm-softfloat-linux-uclibc-ld: |
73 |
>> ERROR: |
74 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_umodsi3.o) |
75 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
76 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
77 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_umodsi3.o) |
78 |
>> arm-softfloat-linux-uclibc-ld: |
79 |
>> ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_modsi3.o) |
80 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
81 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
82 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_modsi3.o) |
83 |
>> arm-softfloat-linux-uclibc-ld: |
84 |
>> ERROR: |
85 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_dvmd_lnx.o) |
86 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
87 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
88 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_dvmd_lnx.o) |
89 |
>> arm-softfloat-linux-uclibc-ld: |
90 |
>> ERROR: |
91 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_addsubdf3.o) |
92 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
93 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
94 |
>> file |
95 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_addsubdf3.o) |
96 |
>> arm-softfloat-linux-uclibc-ld: |
97 |
>> ERROR: |
98 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_muldivdf3.o) |
99 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
100 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
101 |
>> file |
102 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_muldivdf3.o) |
103 |
>> arm-softfloat-linux-uclibc-ld: |
104 |
>> ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_cmpdf2.o) |
105 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
106 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
107 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_cmpdf2.o) |
108 |
>> arm-softfloat-linux-uclibc-ld: |
109 |
>> ERROR: |
110 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_fixunsdfsi.o) |
111 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
112 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
113 |
>> file |
114 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_fixunsdfsi.o) |
115 |
>> arm-softfloat-linux-uclibc-ld: |
116 |
>> ERROR: |
117 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_truncdfsf2.o) |
118 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
119 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
120 |
>> file |
121 |
>> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_truncdfsf2.o) |
122 |
>> arm-softfloat-linux-uclibc-ld: |
123 |
>> ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_divdi3.o) |
124 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
125 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
126 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_divdi3.o) |
127 |
>> arm-softfloat-linux-uclibc-ld: |
128 |
>> ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_moddi3.o) |
129 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
130 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
131 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_moddi3.o) |
132 |
>> arm-softfloat-linux-uclibc-ld: |
133 |
>> ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_clz.o) |
134 |
>> uses VFP instructions, whereas libuClibc-0.9.28.so does not |
135 |
>> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of |
136 |
>> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_clz.o) |
137 |
>> |
138 |
>> |
139 |
>> On Wed, 2007-10-31 at 19:28 +0100, Pal Szasz wrote: |
140 |
>> |
141 |
>>> Hi! |
142 |
>>> |
143 |
>>> I simply created an empty page.h file :-) |
144 |
>>> |
145 |
>>> Jean-Claude Gervais wrote: |
146 |
>>> |
147 |
>>>> Hello, |
148 |
>>>> |
149 |
>>>> I'm getting a compilation error trying to build uClibc on |
150 |
>>>> an x86 |
151 |
>>>> host for an ARM host using crossdev 0.9.18-r4: |
152 |
>>>> |
153 |
>>>> UCLIBC_CPU="ARM920T" USE="-*" crossdev -v -S --ex-gdb --target |
154 |
>>>> arm-softfloat-linux-uclibc |
155 |
>>>> |
156 |
>>>> [...] |
157 |
>>>> |
158 |
>>>> arm-softfloat-linux-uclibc-strip -x -R .note -R .comment brk.o |
159 |
>>>> ioperm.c:47:22: error: asm/page.h: No such file or directory |
160 |
>>>> |
161 |
>>>> |
162 |
>>>> * Host Portage ARCH: x86 |
163 |
>>>> * Target Portage ARCH: arm |
164 |
>>>> * Target System: arm-softfloat-linux-uclibc |
165 |
>>>> * Stage: 4 (C/C++ compiler) |
166 |
>>>> |
167 |
>>>> * binutils: binutils-[stable] |
168 |
>>>> * gcc: gcc-[stable] |
169 |
>>>> * headers: linux-headers-[stable] |
170 |
>>>> * libc: uclibc-[stable] |
171 |
>>>> * Extra: gdb: DO IT |
172 |
>>>> |
173 |
>>>> * PORTDIR_OVERLAY: /usr/local/portage |
174 |
>>>> * PORT_LOGDIR: /var/log/portage |
175 |
>>>> * |
176 |
>>>> PKGDIR: |
177 |
>>>> /usr/portage/packages/cross/arm-softfloat-linux-uclibc |
178 |
>>>> * PORTAGE_TMPDIR: /var/tmp/cross/arm-softfloat-linux-uclibc |
179 |
>>>> _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - |
180 |
>>>> ~ - |
181 |
>>>> _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - |
182 |
>>>> _ - ~ - Portage 2.1.3.16 (default-linux/x86/2007.0, gcc-4.1.2, |
183 |
>>>> glibc-2.6.1-r0, |
184 |
>>>> 2.6.22-gentoo-r5 i686) |
185 |
>>>> ================================================================= |
186 |
>>>> System uname: 2.6.22-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz |
187 |
>>>> Timestamp of tree: Tue, 30 Oct 2007 17:00:10 +0000 |
188 |
>>>> distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port |
189 |
>>>> 3632) |
190 |
>>>> [enabled] |
191 |
>>>> app-shells/bash: 3.2_p17 |
192 |
>>>> dev-lang/python: 2.4.4-r6 |
193 |
>>>> dev-python/pycrypto: 2.0.1-r6 |
194 |
>>>> sys-apps/baselayout: 1.12.9-r2 |
195 |
>>>> sys-apps/sandbox: 1.2.18.1-r2 |
196 |
>>>> sys-devel/autoconf: 2.13, 2.61-r1 |
197 |
>>>> sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 |
198 |
>>>> sys-devel/binutils: 2.18-r1 |
199 |
>>>> sys-devel/gcc-config: 1.3.16 |
200 |
>>>> sys-devel/libtool: 1.5.24 |
201 |
>>>> virtual/os-headers: 2.6.22-r2 |
202 |
>>>> |
203 |
>>>> Is there a fix for this? |
204 |
>>>> Thank you |
205 |
>>>> |
206 |
>>>> |
207 |
>> |
208 |
>> |
209 |
> |
210 |
> |
211 |
|
212 |
-- |
213 |
gentoo-embedded@g.o mailing list |