This is the mail archive of the mailing list for the newlib project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Using libgloss with newlib

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,

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]