Force GCC to find new location of TLS base
GCC will sometimes optimise accesses to TLS across function calls
assuming that the TLS base address has not been changed and thus none of
the TLS variables have been relocated.
Given initialising musl libc explicitly creates a new TLS region,
updating __sel4_ipc_buffer requires us to force GCC to find its address
in the new TLS region rather than re-using the address it already
determined.
Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
1 file changed
tree: 3b78ab4bcb696d1deabcfe376c81e99730de4c9e
- libsel4allocman/
- libsel4bench/
- libsel4debug/
- libsel4muslcsys/
- libsel4platsupport/
- libsel4serialserver/
- libsel4simple/
- libsel4simple-default/
- libsel4sync/
- libsel4test/
- libsel4utils/
- libsel4vka/
- libsel4vspace/
- .gitignore
- .licenseignore
- CMakeLists.txt
- FindseL4_libs.cmake
- LICENSE.txt
- README.md
README.md
seL4 Libraries
A collection of libraries for working on seL4.
- libsel4allocman: an allocator for managing virtual memory, malloc memory and cspaces.
- libsel4bench: a library with utilities for benchmarking on seL4.
- libsel4debug: a library with utilities for debugging on seL4. Only useful when debugging a userlevel app; potentially hacky.
- libsel4muslcsys: a library to support muslc for the root task.
- libsel4platsupport: a wrapper around libplatsupport specificially for seL4.
- libsel4simple: an interface which abstracts over the boot environment of a seL4 application.
- libsel4simple-default: an implementation of simple for the master branch of the kernel.
- libsel4simple-experimental: an implementatoin of simple for the experimental branch of the kernel.
- libsel4sync: a synchronisation library that uses notifications to construct basic locks.
- libsel4test: a very basic test infrastructure library.
- libsel4utils: a library OS - Commonly used stuff, actively maintained: implements threads, processes, elf loading, virtual memory management etc.
- libsel4vka: an allocation interface for seL4.
- libsel4vspace: a virtual memory management interface for seL4.
License
The files in this repository are release under standard open source licenses. Please see individual file headers and the LICENSE_BSD2
.txt file for details.