This is the mail archive of the
mailing list for the newlib project.
Re: Using libgloss with newlib
- From: Jeff Johnston <jjohnstn at redhat dot com>
- To: Shaun Jackman <sjackman at gmail dot com>
- Cc: newlib at sources dot redhat dot com
- Date: Thu, 24 Feb 2005 14:58:30 -0500
- Subject: Re: Using libgloss with newlib
- References: <email@example.com>
Libgloss is meant to supply the system call layer that newlib sits upon. It is
separate to allow for multiple board and simulator packages. The arm directory
in newlib is only there due to historical reasons and I intend to remove this in
the future (hence, why things are duplicated in libgloss).
To use the libgloss arm files instead of the newlib ones, you need to configure
newlib with --disable-newlib-supplied-syscalls
Compile and link your application specifying the appropriate redboot compiler
specs file (either -specs=elf-redboot.specs or -specs=coff-redboot.specs). The
compiler will take care of things from there.
-- Jeff J.
Shaun Jackman wrote:
Where does libgloss fit into the newlib picture?
libgloss/arm/syscalls.c and newlib/libc/sys/arm/syscalls.c are
identical files, but libgloss also provides the alternative
libgloss/arm/redboot-syscalls.c which seems more Unix-ish than either
the RDP or RDI syscall interface. libgloss also includes alternative
specs, linker scripts, and crt0.S files. These don't seem to be
installed by default, but I see there is a make install-redboot
target. If I wanted to link a simple "Hello, world!" application
against the redboot interface, rather than the RDP and RDI interfaces
that newlib supports out of the box, how would I go about it?
Thanks in advance,