This is the mail archive of the binutils@sourceware.org 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]

Re: Compiled for big endian target is little endian ld error


Hi DSP,

[root@localhost phy_ctrl]# arm-linux-gcc arm_obj/main.o
arm_obj/dm256_reg_defs.o -mbig-endian -mhard-float -o  dm256_ctrll
/usr/local/lib/gcc-lib/arm-linux/3.3.2/../../../../arm-linux/bin/ld:
ERROR: /usr/local/arm-linux/lib/be/libc. so.6 uses FPA instructions,
whereas dm256_ctrl does not

Ah - this is probably because the very first object file on the linker's command line has not been compiled with -mhard-float. This file is usually the crt0.o file - you can add the "-v" to the gcc command line to find out.


The implication is that the toolchain you are using has not been built with a set of hard-float multilibs, or that there is a bug in the linker and it is choosing the wrong set of flags to set in the private header of the dm256_ctrl output file. The latter seems more likely since you have other error messages which imply that there are hard-float binaries in the toolchain:

  /usr/local/lib/gcc-lib/arm-linux/3.3.2/../../../../arm-linux/bin/ld:
  ERROR: /usr/local/lib/gcc-lib/arm-linux/ 3.3.2/be/crtn.o uses hardware
  FP, whereas dm256_ctrl uses software FP

So - what to do ? First find out which file is the first object file on the linker's command line and then check to see what private flags have been set on this file (use "objdump -p"). If this file does have the hard-float and FPA flags set then the problem must be the linker. Try downloading the latest binutils sources (either the 2.16 release or from the CVS mainline) ans building yourself a new linker. If the first file has not been compiled with FPA support, then you could try finding the sources for it and recompiling it.

Cheers
  Nick


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