This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
libf2c + elf + multilib = build problems
- To: gcc-bugs at gcc dot gnu dot org
- Subject: libf2c + elf + multilib = build problems
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Wed, 16 Aug 2000 16:53:46 +0100
- cc: rearnsha at arm dot com
- Organization: ARM Ltd.
- Reply-To: rearnsha at arm dot com
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);}