Aaron J. Grier
Thu Oct 5 11:55:00 GMT 2000
On Thu, Oct 05, 2000 at 09:31:10PM +1000, Russ.Shaw wrote:
> Kai Ruottu wrote:
> > Why you should care about this? Just remove the low-level routines
> > from all your libc.a's and provide your own glue libs with them inside.
> If i knew what the right low-level functions were, i would. However,
> looking at stdio.h and the newlib sources, there's too many
> conditional compilations controlled by variables from unknown places,
> compounded by all the extra re-entrant library functions.
all the bare-bones low-level interfacing is done in libgloss. no need
to wade through all of newlib. I went through this routine when I
started with a bare m68k-elf compiler for an in-house embedded system.
it took me a while to get oriented, too.
all the details are laid out in libgloss/doc/porting.texi. stubs can be
found in libgloss/libnosys.
> I was going to add to libgloss myself, but there was not sufficient
> information in the source docs, on the web, from newsgroups, or
after reading the "Embed with GNU" document, what's left?
> I had not found anywhere that definitely said that those functions
> were at the bottom level with all higher functions using them. A
> message by j.johnston referred to a build-time way that suggests these
> functions, by modifying configure.in etc (i'm still getting around to
> trying it).
I never worried about it at build time -- since it's easy enough to
change linker scripts to link in whatever you need, and you can drive
yourself crazy dealing with autoconf / automake. I built an external
libgloss and crt0, and linked 'em in by hand/makefile.
> I wire-wrapped my own system and didn't want to add more variables by
> using a monitor. I'd be completely happy if there was a
> straight-forward obvious method for doing the low-level functions,
> knowing that nothing will get broken. And it should be stated
> prominantly in docs such as 'using gcc' or similar.
all there in libgloss/doc/porting.texi. even information on writing a
gdb back end. I'm surprised nobody's mentioned it. it was one of the
first documents I stumbled upon.
here's an online version:
of special interest to you will be the section on porting newlib:
Aaron J. Grier | Frye Electronics, Tigard, OR | email@example.com
"Add [Windows] ME to an old PC with a `mere' 32 MB of memory, and your
hard disk will be busier than a one-armed man juggling knives."
-- Winn L. Rosch
More information about the Newlib