README for uC-libc on the m68k[nommu] architecture
James Graves
For now (2001/1/9) support for the m68k should be considered "alpha"
quality at best. It mostly works OK for some of the stuff I'm working
on, but you can't fully compile other things (like the user
applications for uClinux). Needs lots more testing.
Only developed/tested with m68k-pic-coff-gcc 2.7.2.3-pic-060999, from
Lineo.
Configuration:
Read and edit the Config file, carefully.
TARGET_ARCH=m68k
CROSS = m68k-pic-coff-
CC = $(CROSS)gcc
STRIPTOOL = $(CROSS)strip
KERNEL_SOURCE=/opt/uClinux/linux
HAS_MMU = false
HAS_FLOATS = false
MALLOC = malloc-simple
INSTALL_DIR = /opt/uClinux/m68k-pic-coff
The regular malloc library is broken, dunno why. Use
simple-malloc.
Installation:
Theoretically, you should be able to install right over the
existing uC-libc 0.9.1 files in
/opt/uClinux/m68k-pic-coff/include, but I recommend cleaning
out all the include files there.
The only file in there that's not from the old uC-libc is
assert.h, but I don't know why that would be the valid copy.
run:
make install
Usage:
Any program you compile should have this added to CFLAGS:
-D__VFORK_MACRO__ -Dconst= -D__const=
(You need the equal sign so that const and __const are defined
as NULL instead of as '1') The 'const' keyword is broken for
m68k-pic-coff-gcc 2.7.2.3-pic-060999. There _was_ a fix
floating around, but apparently it didn't work.
Problems:
I _may_ be able to help if you run into problems. Create a
really, really short program that demonstrates the problem,
and contact me.
TODO:
Fix vfork().
Does crt0.o still need to be a separate file? Can't I just
stick it in libc.a and be done with it? Is that specified in
the GCC link options?