Can't build gcc-3.0.1 for m68k-coff

Larry Gray larry@greenmotor.com
Fri Oct 12 13:09:00 GMT 2001


Hello,
	I'm trying to build a cross compiler for m68k-coff with gcc-3.0.1, 
binutils-2.11.2, and newlib-1.9.0. As I mentioned in my previous message, 
I've followed "Getting Started with GNU" by William Gatliff, to the letter, 
with the exception of substituting m68k-coff for the target.
	All goes well until I try to build the complete compiler, this fails with:

checking whether the C compiler (/newgcc/build-gcc/gcc/xgcc 
-B/newgcc/build-gcc/gcc/ -B/newgcc/install/m68k-coff/bin/ 
-B/newgcc/install/m68k-coff/lib/ -isystem /newgcc/install/m68k-coff/include 
-g -O2 ) works... no
configure: error: installation or configuration problem: C compiler cannot 
create executables.
make: *** [configure-target-libiberty] Error 1

David Korn (thanks David) suggested the problem is either a $PATH or config 
option problem. After some investigation I believe it is a config option 
problem, or more specifically a problem in configure.in. At the bottom of 
/newgcc/build-gcc/m68k-coff/libiberty/config.log I have:

/newgcc/build-gcc/gcc/libgcc.a(__main.o): In function `__do_global_dtors':
/newgcc/build-gcc/gcc/../../gcc-3.0.1/gcc/libgcc2.c(.text+0x30): undefined 
reference to `__EH_FRAME_BEGIN__'
/newgcc/build-gcc/gcc/libgcc.a(__main.o): In function `__do_global_ctors':
/newgcc/build-gcc/gcc/../../gcc-3.0.1/gcc/libgcc2.c(.text+0x50): undefined 
reference to `__EH_FRAME_BEGIN__'
/newgcc/install/m68k-coff/lib/libc.a(abort.o): In function `abort':
/newgcc/build-newlib/m68k-coff/newlib/libc/stdlib/../../../../../newlib-1.9.0/newlib/libc/stdlib/abort.c:63: 
undefined reference to `_exit'
/newgcc/install/m68k-coff/lib/libc.a(signalr.o): In function `_kill_r':
/newgcc/build-newlib/m68k-coff/newlib/libc/reent/../../../../../newlib-1.9.0/newlib/libc/reent/signalr.c:61: 
undefined reference to `kill'
/newgcc/install/m68k-coff/lib/libc.a(signalr.o): In function `_getpid_r':
/newgcc/build-newlib/m68k-coff/newlib/libc/reent/../../../../../newlib-1.9.0/newlib/libc/reent/signalr.c:96: 
undefined reference to `getpid'
/newgcc/install/m68k-coff/lib/libc.a(sbrkr.o): In function `_sbrk_r':
/newgcc/build-newlib/m68k-coff/newlib/libc/reent/../../../../../newlib-1.9.0/newlib/libc/reent/sbrkr.c:61: 
undefined reference to `sbrk'
collect2: ld returned 1 exit status
configure: failed program was:

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

main(){return(0);}

I not sure about the __EH_FRAME_BEGIN__, but aren't abort, kill, getpid, and 
sbrk supposed to be located in newlib's hardware specific library, like 
libbcc.a or libnosys.a? Why would gcc need access to these libraries while 
it's building itself? Or does this point to a problem with newlib-1.9.0?

Thanks in Advance,
Larry Gray
larry@greenmotor.com

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com



More information about the crossgcc mailing list