Changes between Version 1 and Version 2 of PortingSoftware


Ignore:
Timestamp:
2014-03-06T17:46:31Z (10 years ago)
Author:
Vojtech Horky
Comment:

WIP - libposix

Legend:

Unmodified
Added
Removed
Modified
  • PortingSoftware

    v1 v2  
    1111 * [https://github.com/vhotspur/coastline Coastline] - scripts for porting POSIX-like software to HelenOS (and some [http://vh.alisma.cz/blog/2013/03/30/introducing-helenos-coastline blog] [http://vh.alisma.cz/blog/2013/12/08/helenos-coastline-updates-status-matrix posts])
    1212 * Python porting: [https://github.com/zhalas/helenos-build-python repository] and [http://lists.modry.cz/private/helenos-devel/2013-April/006421.html ML announcement]
     13
     14== POSIX emulation layer ==
     15
     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.
     18
     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`.
     21
     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).