gcc on an OS less system

vishu27@cox.net vishu27@cox.net
Wed Oct 29 21:20:00 GMT 2003


Is there any way I can confirm if this is working. When I run an object created with the -specs=redboot.specs option with the arm simulator xscale-elf-run, It hangs saying 

sim: unknown SWI encountered - 0 - ignoring

Thanks
Vish

> 
> From: "Kai Ruottu" <karuottu@mbnet.fi>
> Date: 2003/10/29 Wed AM 03:09:01 EST
> To: <crossgcc@sources.redhat.com>
> CC: "Viswanathan Sankararam" <vishu27@cox.net>
> Subject: Re: gcc on an OS less system
> 
> "Viswanathan Sankararam" <vishu27@cox.net> wrote:
> 
> > Kai,
> >     So from what you say, these are the things I need to do.
> > Write a crt0.S for my system similar to the redboot-crt0.s
> > Write a linker script for my system similar to redboot.ld
> > Write a syscalls.c similar to redboot-syscalls.c
> > Write a specs file similar to redboot.specs
> 
>  Something like that, although just removing the current 'syscalls.o'
> (the original for Angel/Demon) from the 'libc.a' and substituting it
> with your own self-made one, and doing the same with the 'crt0.o'
> could be simpler.  Editing the default 'specs' (normally in the
> '$prefix/lib/gcc-lib/xscale-elf/$gcc-version' in a 'xscale-elf' target
> toolchain) and putting the defaults there, shouldn't be hard either.
> 
>  The RedHat's docs for GNUPro ('http://www.redhat.com/manuals'
> or something) and the 'embed' one should tell about the calling
> conventions for ARM etc., maybe the docs coming with the XScale
> distributions also tell about these things...  What becomes Redboot,
> the RedHat's eCos (their free RTOS) -docs would tell more.  The
> asm-wrapper in the 'redboot-syscalls.c' could require some consultation
> from the docs.
> 
> > Use this new specs file with gcc when compiling my c++ files using
> > the -specs option  with gcc.
> 
>  Haven't tried this option, but maybe this is just the one requires for
> this kind of case... The eCos-docs could be expected to describe how
> one uses the Redboot instead of Angel/Demon...
> 
> > Am I right in concluding this, and would this override the syscalls already
> > compiled into libc.a?
> 
>  I think you are right, but replacing, with 'xscale-elf-ar r', the existing 'syscalls.o' object 
> with your own:
> 
>   commands:
>    d            - delete file(s) from the archive
>    m[ab]        - move file(s) in the archive
>    p            - print file(s) found in the archive
>    q[f]         - quick append file(s) to the archive
>    r[ab][f][u]  - replace existing or insert new file(s) into the archive
>    t            - display contents of archive
>    x[o]         - extract file(s) from the archive
> 
> and replacing the crt0.o and using your own linker script to tell
> the memory map etc., should work too.  It seems that the 'endfile'
> spec in 'specs' could be the best place to put the required
> '-T link_script%s' option (the '%s' causes it being searched from
> the usual library paths), so that it is quite late on the link command
> line.
> 
>  BTW, I had only the newlib-1.10.0 sources to be seen last, but when
> now seeing the 1.11.0 ones, ARM seems to have an entry in libgloss
> and the same Redboot-stuff there as with the GNUPro/XScale
> distribution.... So the difference between a toolchain built from usual
> newlib-stuff and a toolchain built from the XScale-sources isn't that
> big any more. Quite a lot (Intel-) ARM-specific support stuff included
> into the Intel/RedHat XScale GNUPro-sources is however still missing
> from the plain vanilla newlib-1.11.0.
> 
> Cheers, Kai
> 
> 
> ------
> Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
> Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
> 
> 


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list