Merge pull request #10 from fabled/master
fix x86_64 register order for swapcontext
|1 year ago|
|arch||1 year ago|
|.gitignore||1 year ago|
|LICENSE||1 year ago|
|Makefile||1 year ago|
|README.md||1 year ago|
|test_libucontext.c||1 year ago|
libucontext is a library which provides the
ucontext.h C API. Unlike other implementations,
it faithfully follows the kernel process ABI when doing context swaps.
Notably, when combined with
gcompat, it provides a fully compatible implementation of the ucontext
functions that are ABI compatible with glibc.
Adding support for new architectures is easy, but you need to know assembly language to do it.
Right now these archs are supported and should work on bare metal:
These archs require kernel assistance and use a syscall (the only assembly is the trampoline):
libucontext uses a simple makefile build system. You should define
ARCH= at build time, otherwise
the build system will attempt to guess using
$ make ARCH=x86_64 $ make ARCH=x86_64 check $ make ARCH=x86_64 DESTDIR=out install
libucontext is offered as part of the
gcompat project. Accordingly, please address all questions
and bug reports to email@example.com.