ldelf, libutee: add minimal Thread Local Storage support
Preparing for C++ support in TAs. Adds enough runtime Thread Local Storage (TLS) support for the GNU C++ compilers (arm-linux-gnueabihf-g++, aarch64-linux-gnu-g++) to work with OP-TEE. That is: - A Thread Control Block, - The __tls_get_addr() and dl_iterate_phdr() functions. Note that __tls_get_addr() is an ABI helper so it has no prototype in a user-accessible header file. dl_iterate_phdr() however is defined in <link.h> and may be used in a TA. The file lib/libutee/include/link.h is borrowed from Android's Bionic [1] with minor changes (added the required #include statement and named the function parameters). A similar <link.h> header is provided by other C libraries such as GNU libc, musl and FreeBSD/NetBSD/OpenBSD. Link: [1] https://android.googlesource.com/platform/bionic/+/master/libc/include/link.h Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
---|
|
ldelf/ta_elf.c |
---|
ldelf/ta_elf.h |
---|
ldelf/ta_elf_rel.c |
---|
lib/libdl/dlfcn.c |
---|
lib/libutee/arch/arm/sub.mk |
---|
lib/libutee/arch/arm/tcb.c 0 → 100644 |
---|
lib/libutee/arch/arm/user_ta_entry.c |
---|
lib/libutee/include/link.h 0 → 100644 |
---|
lib/libutee/include/user_ta_header.h |
---|
ta/arch/arm/link.mk |
---|
typedefs.checkpatch |
---|