ucontext implementation featuring glibc-compatible ABI
 
 
 
 
Go to file
William Pitcock 0188f29771 build: remove test_libucontext on make clean 2018-02-14 03:01:35 +00:00
arch arch: ppc64: now working 2018-02-06 08:05:53 +00:00
.gitignore build: add libucontext test program 2018-01-30 03:53:04 +00:00
LICENSE don't bother with glibc stuff afterall, kernel defines ABI to use 2018-01-29 21:50:49 +00:00
Makefile build: remove test_libucontext on make clean 2018-02-14 03:01:35 +00:00
README.md arch: ppc64: now working 2018-02-06 08:05:53 +00:00
test_libucontext.c test_libucontext: explain the stack poisoning part 2018-01-31 23:23:45 +00:00

README.md

libucontext

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.

supported architectures

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:

  • x86
  • x86_64
  • armv6+ (arm)
  • aarch64

These archs require kernel assistance and use a syscall (the only assembly is the trampoline):

  • ppc
  • ppc64 (ELFv2 ABI spec only, ELFv1 not supported)