uClibc on Coldfire (m68k) compile problems

Lennart Sorensen lsorense at csclub.uwaterloo.ca
Tue Mar 16 19:45:51 UTC 2010


On Tue, Mar 16, 2010 at 03:10:48PM -0400, Jim Burnett wrote:
> Hey everyone,
> I've been working on getting a build environment up for our Coldfire (m68k)
> chips for some time now. Today I tried to compile your latest version of
> uClib, 0.9.30.3 .

0.9.30.1 compiles for coldfire if you comment out the daemon function
definition.  0.9.30.2 and 0.9.30.3 simply do not work, due to missing
syscall definitions.

The master git tree, and probably the 0.9.31-rc should work fine though.

> Per the website I also installed binutils-2.19.tar.bz2
> and gcc-3.4.6.tar.bz2, both compiled just fine. These were both configured
> and compiled using --target=m68k-uclinux ( I also tried m68k-elf) and
> installed in /opt/embedded      gcc was compiled with --enable-langauges=c
> as well...

You might want to try a more current gcc with that binutils.  I use 4.3.3.

> For uClibc, after going through make menuconfig options I ran a 'make
> CROSS=m68k-uclinux-' and came up with this error:
> 
> I also tried setting my toolchain in the config itself and got the same
> error.
> 
> [jim at myhost uClibc-0.9.30.3]$ make CROSS=m68k-uclinux-
> make: *** No rule to make target `libc/sysdeps/linux/m68k/crtreloc.c',
> needed by `lib/crtreloc.o'.  Stop.
> 
> 
> * I did some research and this appears to be related to MMU option but I'm
> really not sure.

Make sure you configured for NOMMU unless your coldfire is a 54xx and
actually has an MMU.

> * I even stripped out every option from the config and still got this error.
> 
> * make is using the m68k-uclinux-gcc and the correct toolchain, I did
> confirm that....
> * path is set correct as well....
> * config is pointing to 2.4.x linux kernel src folder....  (
> /home/jim/newdev/linux-2.4.x/include )

Hmm, I use 2.6 kernel, not 2.4.  No idea if that makes a difference.

-- 
Len Sorensen


More information about the uClibc mailing list