This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
arm big endian broken?
- From: Josh Fryman <fryman at cc dot gatech dot edu>
- To: binutils at sources dot redhat dot com
- Date: Thu, 6 Mar 2003 14:29:27 -0500
- Subject: arm big endian broken?
hi,
i'm trying to build a cross-hosting toolchain for armv5b (big endian
arm v5) on an i686 host. it appears that binutils is broken in some
manner such that "ld" won't link together big-endian objects. this
shows up for the first time in build glibc.
if i re-run the command from gcc with -mbig-endian, it works fine.
it seems like the binutils are built for arm little-endian, not big-
endian. this is a bug as far as i can see.
anyone have suggestions or advice?
thanks,
josh
------
the configuration commands used, and the error generated by glibc,
are as follows:
../binutils-2.13.90.0.18-src/configure --target=armv5b-linux --program-prefix=xscalebe- --prefix=/usr/local/xscalebe/ --with-cpu=xscale --nfp
../gcc-3.2.2-src/configure --target=armv5b-linux --prefix=/usr/local/xscalebe/ i686-pc-linux-gnu --with-headers=/usr/local/xscale/src/linux-adi-brh//include --disable-shared --disable-threads --enable-languages=c --nfp --with-cpu=xscale --without-fp --with-softfloat-support=internal --program-prefix=xscalebe-
CC=xscalebe-gcc ../glibc-2.3.2-src/configure --host=armv5b-linux --build=i686-pc-linux-gnu --with-headers=/usr/local/xscale/src/linux-adi-brh//include --enable-add-ons --enable-shared --prefix=/usr/local/xscalebe/ --with-cpu=xscale --without-fp --enable-kernel=2.4.19 --program-prefix=xscalebe-
[... glibc-building ]
xscalebe-gcc -nostdlib -nostartfiles -r -o /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/crt1.o /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/start.o /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/abi-note.o /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/init.o
/usr/local/xscalebe/bin/../lib/gcc-lib/armv5b-linux/3.2.2/../../../../armv5b-linux/bin/ld: /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/start.o: compiled for a big endian system and target is little endian
File in wrong format: failed to merge target specific data of file /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/start.o
/usr/local/xscalebe/bin/../lib/gcc-lib/armv5b-linux/3.2.2/../../../../armv5b-linux/bin/ld: /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/abi-note.o: compiled for a big endian system and target is little endian
File in wrong format: failed to merge target specific data of file /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/abi-note.o
/usr/local/xscalebe/bin/../lib/gcc-lib/armv5b-linux/3.2.2/../../../../armv5b-linux/bin/ld: /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/init.o: compiled for a big endian system and target is little endian
File in wrong format: failed to merge target specific data of file /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/init.o
collect2: ld returned 1 exit status
make[2]: *** [/usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu/crt1.o] Error 1
make[2]: Leaving directory `/usr/local/xscale/toolchain/build/glibc-2.3.2-src/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/usr/local/xscale/toolchain/build/glibc-2.3.2-src'
make: *** [all] Error 2
cd /usr/local/xscale/toolchain/build/glibc-2.3.2-build/csu
file *.o
abi-note.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
check_fds.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
dso_handle.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
elf-init.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
errno-loc.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
errno.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
gmon-start.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
init-first.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
init.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
libc-start.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
libc-tls.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
start.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
sysdep.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped
version.o: ELF 32-bit MSB relocatable, ARM, version 1 (ARM), not stripped