[Barrelfish-users] Newlib libc ported

Timothy Roscoe troscoe at inf.ethz.ch
Wed Dec 21 14:33:28 CET 2011


Sounds great - if you can send us (and in this case us==Kornilios) the 
code, we'll work on putting it in...

Many thanks!

  -- Mothy

On 12/19/2011 07:23 PM, Zeus Gómez Marmolejo wrote:
> Ok,
>
> I removed all GPL or LGPL code in the newlib and compiled again. All
> seems to work as before... As it was said before, the inconv library and
> the linux target was not used.
>
>
> zeus.
>
> 2011/12/19 "Vicenç Beltran (AC)" <vbeltran at ac.upc.edu
> <mailto:vbeltran at ac.upc.edu>>
>
>     Dear Mothy,
>     newlib is developed under set of BSD-like or public domain licenses.
>     All the licenses used are in this link:
>     http://sourceware.org/newlib/COPYING.NEWLIB
>
>     There are a few files under the GPL or LGPL license but these files
>     are used only on the *-linux targets and iconv library, which is
>     optional.
>     Anyway, we will double-check the license of all the files required
>     to build the Newlib on Barrelfish.
>
>     Regards,
>     - Vicenç
>
>
>     On 19/12/2011 17:43, Timothy Roscoe wrote:
>>     Dear Zeus,
>>
>>     This looks really useful - can you tell me what licence Newlib uses?
>>
>>       -- Mothy
>>
>>     At Mon, 19 Dec 2011 17:06:24+0100, Zeus Gómez Marmolejo<zeus.gomez at bsc.es>  <mailto:zeus.gomez at bsc.es>  wrote:
>>>     Dear Barrelfish developers,
>>>
>>>     I would like to keep updated with our progress here at BSC. We have
>>>     successfully ported the Redhat Newlib to Barrelfish as a libc replacement.
>>>     To do so, some code in the posixcompat has been rewritten to not call in
>>>     turn to the libc. This way, calls to write(), read() or sbrk() have been
>>>     lightly modified to implement the functionality present in the existing
>>>     libc. The objective has been to not touch the newlib.
>>>
>>>     Right now, all programs link with newlib, being able to boot all system
>>>     with this library. Also, in case the old library is needed, I've added a
>>>     variable in the Config for Hake to be able to select which libc library to
>>>     compile. Both of them are working. To do so, I had to separate includes
>>>     that were system dependent and others that were libc dependent.
>>>
>>>     This newlib has been included in the Barrelfish tree but can be used also
>>>     with the independent gcc cross-compiler that we also developed here. This
>>>     gives full C++  support with the GNU libstdc++  and exception support.
>>>
>>>     Some technical details that I had to cope... Now all libraries (vfs,
>>>     posixcompat, newlib, lwip, nfs...) are always linked in. Because newlib
>>>     always needs posixcompat as it has the"system calls"  implementation. Due
>>>     to this, vfs, nfs and lwip have to be linked too as the implementation of
>>>     read() write() have calls to vfs and nfs. In some executables, vfs is not
>>>     needed but its linked in anyway. There was an issue with this, as
>>>     vfs_init() was always called as it's present in the init section of the
>>>     ELF. Some early executables in the boot process fail in the vfs_init() call
>>>     as the ramfs is still not available. To solve this, we have placed the
>>>     vfs_init() call at the start of the programs that use vfs, as most of them
>>>     don't use it.
>>>
>>>     If you wish I can send you the patch to be included in the tree...
>>>
>>>
>>>     Kind regards,
>>>
>>>
>>>     --
>>>     Zeus Gómez Marmolejo
>>>     Barcelona Supercomputing Center
>>>     PhD student
>>>     http://www.bsc.es
>>>
>>     _______________________________________________
>>     Barrelfish-users mailing list
>>     Barrelfish-users at lists.inf.ethz.ch  <mailto:Barrelfish-users at lists.inf.ethz.ch>
>>     https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>
>     _______________________________________________
>     Barrelfish-users mailing list
>     Barrelfish-users at lists.inf.ethz.ch
>     <mailto:Barrelfish-users at lists.inf.ethz.ch>
>     https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>
>
>
>
> --
> Zeus Gómez Marmolejo
> Barcelona Supercomputing Center
> PhD student
> http://www.bsc.es
>
>
>
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users



More information about the Barrelfish-users mailing list