Cannot build cross gcc for m68k under Linux

William A. Gatliff bgat@billgatliff.com
Tue Nov 6 07:34:00 GMT 2001


Wolfgang: 


Were you by any chance trying to build a c++ crosscompiler?  If so, there's 
a minor tweak you have to apply to make the libiberty build work. 

I have the patch, but not on the machine I'm in front of right now.  Search 
for "kind of cross compiler howto" on google for the reference I used to 
construct my patch; I'll post the patch here later tonight. 


HTH, 


b.g. 

ritz writes: 

> Hi, 
> 
> I'm trying to build a cross development toolchain for m68k processors on
> a Linux host.
> Up to now I've not been able to generate the cross compiler. 
> 
> What I did: 
> 
> 1. Downloaded sources:
> binutils-2.11.2.tar.gz  gcc-2.95.3.tar.gz  newlib-1.9.0.tar.gz 
> 
> 2. Did some Web search and RTFM 
> 
> 3. Found some failing instructions, confusing (outdated) FAQs which
> leaded to: 
> 
> 4. Failed to build the cross compiler 
> 
> 5. Did more searches on the Web and found this mailing list 
> 
> 6. Downloaded the complete 2001 archive into netscape and tried to find
> some hints 
> 
> 7. Found the FAQ and compile script on http://crossgcc.billgatliff.com 
> 
> 8. Updated binutils version number in the compile script 
> 
> 9. Ran the script. 
> 
> Results:
> binutils were built and installed successfully.
> core-gcc was built successfully.
> newlib was built without complaints (but see below)
> gcc build failed with error messages: 
> 
> make[2]: Entering directory
> `/data4/home/wfr/m68k/build-gcc/m68k-coff/libiberty'
> make[2]: *** No targets specified and no makefile found.  Stop.
> make[2]: Leaving directory
> `/data4/home/wfr/m68k/build-gcc/m68k-coff/libiberty'
> make[1]: *** [../libiberty/libiberty.a] Error 2
> make[1]: Leaving directory
> `/data4/home/wfr/m68k/build-gcc/m68k-coff/libstdc++'
> make: *** [all-target-libstdc++] Error 2 
> 
> I know from the list that this is a standard error case, but I didn't
> see a solution, so I did some more studies: 
> 
> I found the following standard message earlier in the log:
> checking whether the C compiler (/data4/home/wfr/m68k/build-gcc/gcc/xgcc
> -B/data4/home/wfr/m68k/build-gcc/gcc/
> -B/data4/home/wfr/cross/m68k-coff/bin/ -g -O2 ) works... no
> configure: error: installation or configuration problem: C compiler
> cannot create executables. 
> 
> This is a standard error case too, but... 
> 
> I looked into the config.log in the libiberty directory and found the
> following: 
> 
>  configure:1749: checking whether the C compiler
> (/data4/home/wfr/m68k/build-gcc/gcc/xgcc
> -B/data4/home/wfr/m68k/build-gcc/gcc/
> -B/data4/home/wfr/cross/m68k-coff/bin/ -g -O2 ) works
> configure:1765: /data4/home/wfr/m68k/build-gcc/gcc/xgcc
> -B/data4/home/wfr/m68k/build-gcc/gcc/
> -B/data4/home/wfr/cross/m68k-coff/bin/ -o conftest -g -O2   conftest.c 
> 1>&5
> /data4/home/wfr/cross/m68k-coff/lib/crt0.o:../../../../newlib-1.9.0/libgloss/m68k/crt0.S:16:
> undefined reference to `__FINI_SECTION__'
> /data4/home/wfr/cross/m68k-coff/lib/crt0.o:../../../../newlib-1.9.0/libgloss/m68k/crt0.S:16:
> undefined reference to `hardware_init_hook'
> /data4/home/wfr/cross/m68k-coff/lib/crt0.o(.text+0x48):../../../../newlib-1.9.0/libgloss/m68k/crt0.S:
> undefined reference to `software_init_hook'
> /data4/home/wfr/cross/m68k-coff/lib/crt0.o(.text+0x5e):../../../../newlib-1.9.0/libgloss/m68k/crt0.S:
> undefined reference to `atexit'
> /data4/home/wfr/cross/m68k-coff/lib/crt0.o(.text+0x64):../../../../newlib-1.9.0/libgloss/m68k/crt0.S:
> undefined reference to `__INIT_SECTION__'
> /data4/home/wfr/m68k/build-gcc/gcc/libgcc.a(_exit.o): In function
> `exit':
> /data4/home/wfr/m68k/build-gcc/gcc/../../gcc-2.95.3/gcc/libgcc2.c(.text+0x12):
> undefined reference to `_cleanup'
> /data4/home/wfr/m68k/build-gcc/gcc/../../gcc-2.95.3/gcc/libgcc2.c(.text+0x1a):
> undefined reference to `_exit'
> collect2: ld returned 1 exit status
> configure: failed program was: 
> 
> #line 1760 "configure"
> #include "confdefs.h" 
> 
> main(){return(0);} 
> 
> So there must be something wrong with the libraries?? Where are these
> missing symbols usually defined? 
> 
> I cannot see a missing path or something, the libraries seem to be
> there, but obviously there is something missing. I will continue to
> investigate that problem on my own, but would be very glad for a hint or
> a solution. 
> 
> Wolfgang 
> 
> ------
> Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
> Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com 
> 
 

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



More information about the crossgcc mailing list