forked from ariadne/libucontext
update README with status table
parent
0566e66d2d
commit
83a109c2a7
33
README.md
33
README.md
|
@ -6,27 +6,28 @@ 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.
|
||||
|
||||
Since version 0.13, for some architectures, you can deploy to bare metal using newlib via the
|
||||
`FREESTANDING=yes` make option. Systems which use a syscall cannot work this way. The table
|
||||
below shows which architecture ports have been adapted to build with `FREESTANDING=yes`.
|
||||
|
||||
|
||||
## 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
|
||||
* s390x
|
||||
* mips (O32 ABI only)
|
||||
* mips64 (N32/N64 ABI only, like Alpine, only N64 ABI has been tested)
|
||||
* riscv64
|
||||
* m68k
|
||||
|
||||
These archs require kernel assistance and use a syscall:
|
||||
|
||||
* ppc
|
||||
* ppc64 (ELFv2 ABI spec only, ELFv1 not supported)
|
||||
| Architecture | Works on musl | Syscall | Supports FREESTANDING |
|
||||
|--------------|---------------|---------|-----------------------|
|
||||
| aarch64 | ✓ | | |
|
||||
| arm | ✓ | | |
|
||||
| m68k | ✓ | | ✓ |
|
||||
| mips | ✓ | | |
|
||||
| mips64 | ✓ | | |
|
||||
| ppc | ✓ | ✓ | |
|
||||
| ppc64 | ✓ | ✓ | |
|
||||
| riscv64 | ✓ | | |
|
||||
| s390x | ✓ | | |
|
||||
| x86 | ✓ | | |
|
||||
| x86_64 | ✓ | | ✓ |
|
||||
|
||||
|
||||
## building
|
||||
|
|
Loading…
Reference in New Issue