Version 2 (modified by 11 years ago) ( diff ) | ,
---|
Porting Software to HelenOS
This page shall contain a brief guide for porting software (e.g. from GNU/Linux) to HelenOS. Currently, it only contains assorted links to existing resources.
Links
- Maintenance instructions for binutils
- Blog posts about GCC porting
- Coastline - scripts for porting POSIX-like software to HelenOS (and some blog posts)
- Python porting: repository and ML announcement
POSIX emulation layer
HelenOS is not another Unix-like OS and thus it needs an emulation for applications that were written for Unix systems.
This 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.
libposix
provides an (incomplete) illusion that the application has access to standard POSIX headers and functions.
The ported application is then linked with libposix
which translates the calls to HelenOS specific implementations in libc
.
Implementation detail: some of the functions in libc
have the same name as standard POSIX ones or they offer slightly different behaviour.
To 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).