Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changes between Version 1 and Version 2 of PortingSoftware

2014-03-06T17:46:31Z (8 years ago)
Vojtech Horky

WIP - libposix


  • PortingSoftware

    v1 v2  
    1111 * [ Coastline] - scripts for porting POSIX-like software to HelenOS (and some [ blog] [ posts])
    1212 * Python porting: [ repository] and [ ML announcement]
     14== POSIX emulation layer ==
     16HelenOS is not [wiki:DiffFromUnix another Unix-like OS] and thus it needs an emulation for applications that were written for Unix systems.
     17This emulation is currently in HelenOS provided by `libposix` library that provides implementation of functions that are part of POSIX standard but were considered inappropriate for HelenOS.
     19`libposix` provides an (incomplete) illusion that the application has access to standard POSIX headers and functions.
     20The ported application is then linked with `libposix` which translates the calls to HelenOS specific implementations in `libc`.
     22//Implementation detail//: some of the functions in `libc` have the same name as standard POSIX ones or they offer slightly different behaviour.
     23To prevent naming clashes, symbols in `libc.a` are renamed to avoid the need to rename the POSIX versions (which was an older approach where renaming was done during preprocessing, however this approach has various disadvantages).