Misusing libgloss?

Joel Sherrill joel.sherrill@oarcorp.com
Wed Nov 5 13:39:00 GMT 2014

On November 5, 2014 2:22:23 AM CST, Stefan Wallentowitz <stefan.wallentowitz@tum.de> wrote:
>Hi again,
>I have another general question about libgloss and the upstream 
>policies. I have spend some time now changing the license and rewriting
>code for the OpenRISC port as we want to get it upstream now (it was

The OpenRISC code in newlib now is more than sufficient to support RTEMS. And it avoided the GPL mess.

Unless you are adding machine specific optimized routines like string or memory functions, they need to go in libgloss. The machine directory is shared by bare metal, RTEMS, Linux, and any other OS.

>The old OpenRISC port had some support functions in the newlib machine 
>directory, like handling the CPU's MMU, caches and timer (see [1]). It 
>also had the functionality to register C hooks for exceptions and 
>external interrupts, something I find neat and want to preserve.
> From what I understood all this functionality is not really something 
>that should be put in the newlib machine directory, but is better
>in libgloss. Is that correct? Now I have all those functions in

That is right technically and I am OK with it being merged but I am not the final word.

>[2]. I have seen some stuff like this in other architectures (like 
>sparc_leon), but maybe not to the same extent. So, long story short: 
>Does this have a chance to be accepted for upstream?
>Thansk for your help, I hope I can also stop those questions soonly.
>Best regards,
>[2] https://github.com/wallento/or1k-newlib/tree/master/libgloss/or1k

More information about the Newlib mailing list