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:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_divsi3.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(_divsi3.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_umodsi3.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(_umodsi3.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_modsi3.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(_modsi3.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_dvmd_lnx.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(_dvmd_lnx.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_addsubdf3.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(_addsubdf3.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_muldivdf3.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(_muldivdf3.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_cmpdf2.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(_cmpdf2.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_fixunsdfsi.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(_fixunsdfsi.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_truncdfsf2.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(_truncdfsf2.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_divdi3.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(_divdi3.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_moddi3.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(_moddi3.o)
arm-softfloat-linux-uclibc-ld:
ERROR: /usr/lib/gcc/arm-softfloat-linux-uclibc/4.1.2/libgcc.a(_clz.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(_clz.o)
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