How to get crt0.o without syscalls

Jeff Johnston
Mon Oct 17 18:31:00 GMT 2005

Randall Nortman wrote:
> I am trying to compile newlib-1.13.0 for an ARM target.  I designed
> the hardware myself and am not running an operating system, so the
> supplied syscalls are unlikely to work (right?).  However, browsing
> through the crt0.S code, it looks quite suitable, assuming that
> neither ARM_RDP_MONITOR nor ARM_RDI_MONITOR are defined and that I
> provide an appropriate value for __stack.  (I'm not even sure what
> those are for -- emulators of some sort?)  I configured newlib with
> --disable-newlib-supplied-syscalls, which prevents it from defining
> ARM_*_MONITOR and also, I assume, does not compile any of the
> syscalls.  However, doing this also prevents crt0.o from being built.
> Can I have one without the other?  (Of course, I could just copy
> crt0.S to my project directory and compile it myself, but what's the
> "right" way to do this?)

When you specify --disable-newlib-supplied-syscalls, the code in 
libgloss/arm is still compiled and there is a crt0.o there.

> Also, should I be using the CVS code instead of 1.13.0?  There hasn't
> been a release in a while; do most folks just use CVS snapshots?

I suggest using CVS.  The 1.13.0 code is just a snapshot of CVS and you 
will end up missing out on latest fixes.  The next shapshot release: 
1.14.0 will be sometime in December and will be based on the current CVS 

> TIA,

More information about the Newlib mailing list