Using libgloss with newlib
Jeff Johnston
jjohnstn@redhat.com
Thu Feb 24 19:58:00 GMT 2005
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,
> Shaun
More information about the Newlib
mailing list