[Fwd: crt0.S: How to submit updates, what else to change etc.?]

Nick Clifton nickc@redhat.com
Mon Mar 29 21:27:00 GMT 2004

Hi Toralf,

> Just subscribed to this list...

Welcome to the wonderful world of newlib.

>    1. Where do I submit newlib patches?

To the newlib mailing list.  (ie the one you are talking on now).

>    2. Why is the generic start code for a CPU-type sometimes found in
>       libgloss, sometimes in newlib/sys? The one I'm talking about came
>       from newlib, but after my changes it may resemble some of the ones
>       found in libgloss more closely.

The reasons are mostly historical.  For example in the case of the ARM
port, libgloss did not exist at the time the port was first created.
These days all startup code ought to be in libgloss, and in fact there
is an ARM port in libgloss.

>    3. The update changes requirements to the linker scripts. Which files
>       should I edit to reflect these?

It depends - if you want to change the built-in scripts used by the
GNU linker, then you need to generate and submit a separate patch.
This should go to the binutils project (binutils@sources.redhat.com)
and the files you will need to change are in

On the other hand if you are creating your own linker script and using
the -T linker command line switch to use it, then you can just add
the script to the appropriate subdirectory of libgloss.

>    4. Anything else I ought to update to keep the setup consistent?

ChangeLog(s) to document the changes.

If your patch is adding support for a new target environment then you
ought to create a new target triplet for the configure scripts.  This
will involve newlib, binutils, gcc and gdb changes.

Do you have an FSF copyright assignment that covers newlib (and
binutils if necessary ?)  If not then please try to get one.  Your
changes might be small enough to be considered as "obvious" and so not
need an assignment, but we always try to encourage contributors to
have an assignment in place whenever possible.


More information about the Newlib mailing list