This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]