This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


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

libf2c + elf + multilib = build problems



Hmm, so I tried to turn on a reasonable combination of multilibs for the 
arm+elf back end.   Ooops.

All works fine until libf2c runs its check to see if the compiler can make 
valid executables.  This fails for some of the multilib combinations 
because it is trying to use a version of newlib that was build for a 
different combination...  Not good.


Anyone know what's up here?

Running configure in multilib subdir be
pwd: /home/rearnsha/gnu/egcs/arm-elf/arm-elf
loading cache ../config.cache
checking if compiler f771 has been built... yes
checking for gcc... (cached) /home/rearnsha/gnu/egcs/arm-elf/gcc/xgcc 
-B/home/rearnsha/gnu/egcs/arm-elf/gcc/ -nostdinc -B/home/rearnsha/gnu/egcs/
arm-elf/arm-elf/newlib/ -isystem /home/rearnsha/gnu/egcs/arm-elf/arm-elf/ne
wlib/targ-include -isystem /home/rearnsha/gnusrc/egcs-cross/newlib/libc/inc
lude -B/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/bin/ 
-B/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/lib/ -isystem 
/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/include 
-L/home/rearnsha/gnu/egcs/arm-elf/ld  -mbig-endian
checking whether the C compiler (/home/rearnsha/gnu/egcs/arm-elf/gcc/xgcc 
-B/home/rearnsha/gnu/egcs/arm-elf/gcc/ -nostdinc -B/home/rearnsha/gnu/egcs/
arm-elf/arm-elf/newlib/ -isystem /home/rearnsha/gnu/egcs/arm-elf/arm-elf/ne
wlib/targ-include -isystem /home/rearnsha/gnusrc/egcs-cross/newlib/libc/inc
lude -B/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/bin/ 
-B/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/lib/ -isystem 
/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/include 
-L/home/rearnsha/gnu/egcs/arm-elf/ld  -mbig-endian -g -O2 ) works... no
configure: error: installation or configuration problem: C compiler cannot 
create executables.
gnumake[1]: *** [g2c.h] Error 1
gnumake[1]: Leaving directory `/home/rearnsha/gnu/egcs/arm-elf/arm-elf/libf
2c'
gnumake: *** [all-target-libf2c] Error 2


Here's the output from be/libf2c/config.log;  note the appearance of 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib in several places -- this 
is wrong when building a big-endian library:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:562: checking if compiler f771 has been built
configure:593: checking for gcc
configure:706: checking whether the C compiler (/home/rearnsha/gnu/egcs/arm
-elf/gcc/xgcc -B/home/rearnsha/gnu/egcs/arm-elf/gcc/ -nostdinc 
-B/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/ -isystem 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/targ-include -isystem 
/home/rearnsha/gnusrc/egcs-cross/newlib/libc/include 
-B/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/bin/ 
-B/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/lib/ -isystem 
/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/include 
-L/home/rearnsha/gnu/egcs/arm-elf/ld  -mbig-endian -g -O2 ) works
configure:722: /home/rearnsha/gnu/egcs/arm-elf/gcc/xgcc 
-B/home/rearnsha/gnu/egcs/arm-elf/gcc/ -nostdinc -B/home/rearnsha/gnu/egcs/
arm-elf/arm-elf/newlib/ -isystem /home/rearnsha/gnu/egcs/arm-elf/arm-elf/ne
wlib/targ-include -isystem /home/rearnsha/gnusrc/egcs-cross/newlib/libc/inc
lude -B/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/bin/ 
-B/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/lib/ -isystem 
/home/rearnsha/gnu/egcs/install/SunOS5/arm-elf/include 
-L/home/rearnsha/gnu/egcs/arm-elf/ld  -mbig-endian -o conftest -g -O2   
conftest.c  1>&5
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: /home/rearnsha/gnu/egcs/arm
-elf/arm-elf/newlib/crt0.o: compiled for a little endian system and target 
is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/crt0.o
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: atexit.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(atexit.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: exit.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(exit.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: impure.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(impure.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: libcfunc.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(libcfunc.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: malloc.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(malloc.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: mallocr.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(mallocr.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: memcpy.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(memcpy.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: memset.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(memset.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: mlock.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(mlock.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: sbrkr.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(sbrkr.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: strcmp.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(strcmp.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: strlen.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(strlen.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: syscalls.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(syscalls.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: errno.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(errno.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: findfp.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(findfp.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: freer.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(freer.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: fwalk.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(fwalk.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: stdio.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(stdio.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: writer.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(writer.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: closer.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(closer.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: fflush.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(fflush.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: lseekr.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(lseekr.o)
/home/rearnsha/gnu/egcs/arm-elf/gcc/collect-ld: readr.o: compiled for a 
little endian system and target is big endian
File in wrong format: failed to merge target specific data of file 
/home/rearnsha/gnu/egcs/arm-elf/arm-elf/newlib/libg.a(readr.o)
collect2: ld returned 1 exit status
configure: failed program was:

#line 717 "configure"
#include "confdefs.h"

main(){return(0);}



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