On Wed, 2007-10-31 at 20:43 +0100, Pal Szasz wrote: > Just a little addition: there is another flag which might be involved: > > -mfloat-abi=softfp >
How do I pass those flags to the compiler by using crossedev? Here's the shell script I am currently using. I changed it to go with Jason's recommended toolset versions but I am still getting the same linking errors about floating-point incompatibilities... .-.-.-.-.-.-.- #!/bin/bash CBUILD="i686-pc-linux-gnu" CHOST=$CBUILD CTARGET="arm-softfloat-linux-uclibc" #export ROOT="/usr/arm-softfloat-linux-uclibc" PORTAGE_CONFIGROOT="/usr/arm-softfloat-linux-uclibc" UCLIBC_CPU="ARM920T" USE="-*" crossdev -v --binutils 2.17 --gcc 3.4.6-r2 --kernel 2.6.19-r2 --libc 0.9.28.3 --ex-gdb --target arm-softfloat-linux-uclibc .-.-.-.-.-.-.- Thanks for any help > Pal Szasz wrote: > > Hi! > > > > Hmm... I think somebody else has to help you... > > All I know that floating point ninstructions on ARM are a bit tricky. > > The core doesn't support that, but there is an optional co-processor. > > And even if the co-processor is not there, there are two ways to > > emulate it in software. Unfortunately the way floating point > > operations are handled must be specified at compile time, and must > > match in every application/lib... and that's the problem here. I recon > > there is a flag, -mfpu=vfp which controll the floating point > > instructions. It seems uclibc and gcc was built with different > > flags... so probably you have to rebuild one of them.... > > Or maybe you are using the wrong uclibc lib? > > > > /Pal Szasz > > > > Jean-Claude Gervais wrote: > >> Thank you, Pal! > >> > >> That did indeed help; by putting an empty file at > >> > >> /usr/arm-softfloat-linux-uclibc/usr/include/asm/page.h > >> > >> I was able to compile, however, now the link fails. > >> > >> I think it might be something to do with my USE flags? > >> > >> Anyone know? > >> > >> [...] > >> rm -f libc.a shared_libc.a > >> objs=`cat obj.*` ; \ > >> arm-softfloat-linux-uclibc-ar cr libc.a $objs && \ > >> arm-softfloat-linux-uclibc-ar dN 2 libc.a $objs && \ > >> arm-softfloat-linux-uclibc-ar dN 2 libc.a $objs > >> arm-softfloat-linux-uclibc-ar cr libc.a obj.signal > >> arm-softfloat-linux-uclibc-ar cr libc.a obj.string.generic > >> arm-softfloat-linux-uclibc-ar cr libc.a obj.string.arm > >> arm-softfloat-linux-uclibc-ar cr libc.a obj.string > >> arm-softfloat-linux-uclibc-ar cr libc.a obj.sysdeps.common > >> arm-softfloat-linux-uclibc-ar cr libc.a obj.sysdeps.arm > >> cp libc.a shared_libc.a > >> arm-softfloat-linux-uclibc-ranlib libc.a > >> arm-softfloat-linux-uclibc-ld -EL -shared --warn-common --warn-once -z > >> combreloc -z defs -s -z relro -soname=libc.so.0 -o libuClibc-0.9.28.so > >> \ > >> --whole-archive shared_libc.a \ > >> ../libc/misc/internals/interp.o --no-whole-archive \ > >> -init > >> __uClibc_init ../lib/ld-uClibc.so.0 > >> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a > >> ../lib/ld-uClibc.so.0: warning: multiple common of `__libc_stack_end' > >> shared_libc.a(__uClibc_main.o): warning: previous common is here > >> arm-softfloat-linux-uclibc-ld: > >> ERROR: > >> /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_udivsi3.o) > >> uses VFP instructions, whereas libuClibc-0.9.28.so does not > >> arm-softfloat-linux-uclibc-ld: failed to merge target specific data of > >> file /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_udivsi3.o) > >> arm-softfloat-linux-uclibc-ld: [...] > >> > >> > >> On Wed, 2007-10-31 at 19:28 +0100, Pal Szasz wrote: > >> > >>> Hi! > >>> > >>> I simply created an empty page.h file :-) > >>> > >>> Jean-Claude Gervais wrote: > >>> > >>>> Hello, > >>>> > >>>> I'm getting a compilation error trying to build uClibc on > >>>> an x86 > >>>> host for an ARM host using crossdev 0.9.18-r4: > >>>> > >>>> UCLIBC_CPU="ARM920T" USE="-*" crossdev -v -S --ex-gdb --target > >>>> arm-softfloat-linux-uclibc > >>>> > >>>> [...] > >>>> > >>>> arm-softfloat-linux-uclibc-strip -x -R .note -R .comment brk.o > >>>> ioperm.c:47:22: error: asm/page.h: No such file or directory > >>>> > >>>> > >>>> * Host Portage ARCH: x86 > >>>> * Target Portage ARCH: arm > >>>> * Target System: arm-softfloat-linux-uclibc > >>>> * Stage: 4 (C/C++ compiler) > >>>> > >>>> * binutils: binutils-[stable] > >>>> * gcc: gcc-[stable] > >>>> * headers: linux-headers-[stable] > >>>> * libc: uclibc-[stable] > >>>> * Extra: gdb: DO IT > >>>> > >>>> * PORTDIR_OVERLAY: /usr/local/portage > >>>> * PORT_LOGDIR: /var/log/portage > >>>> * > >>>> PKGDIR: > >>>> /usr/portage/packages/cross/arm-softfloat-linux-uclibc > >>>> * PORTAGE_TMPDIR: /var/tmp/cross/arm-softfloat-linux-uclibc > >>>> _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - > >>>> ~ - > >>>> _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - > >>>> _ - ~ - Portage 2.1.3.16 (default-linux/x86/2007.0, gcc-4.1.2, > >>>> glibc-2.6.1-r0, > >>>> 2.6.22-gentoo-r5 i686) > >>>> ================================================================= > >>>> System uname: 2.6.22-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz > >>>> Timestamp of tree: Tue, 30 Oct 2007 17:00:10 +0000 > >>>> distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port > >>>> 3632) > >>>> [enabled] > >>>> app-shells/bash: 3.2_p17 > >>>> dev-lang/python: 2.4.4-r6 > >>>> dev-python/pycrypto: 2.0.1-r6 > >>>> sys-apps/baselayout: 1.12.9-r2 > >>>> sys-apps/sandbox: 1.2.18.1-r2 > >>>> sys-devel/autoconf: 2.13, 2.61-r1 > >>>> sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 > >>>> sys-devel/binutils: 2.18-r1 > >>>> sys-devel/gcc-config: 1.3.16 > >>>> sys-devel/libtool: 1.5.24 > >>>> virtual/os-headers: 2.6.22-r2 > >>>> > >>>> Is there a fix for this? > >>>> Thank you > >>>> > >>>> > >> > >> > > > > > -- [EMAIL PROTECTED] mailing list
