ladybird/Userland/Libraries/LibELF/Arch
Sönke Holz 9437b29b43 LibELF+LibC: Add support for Variant I of the TLS data structures
We currently only supported Variant II which is used by x86-64.
Variant I is used by both AArch64 (when using the traditional
non-TLSDESC model) and RISC-V, although with small differences.

The TLS layout for Variant I is essentially flipped. The static TLS
blocks are after the thread pointer for Variant I, while on Variant II
they are before it.

Some code using ELF TLS already worked on AArch64 and RISC-V even though
we only support Variant II. This is because only the local-exec model
directly uses TLS offsets, other models use relocations or
__tls_get_addr().
2024-04-19 16:46:47 -06:00
..
aarch64 LibELF+LibC: Add support for Variant I of the TLS data structures 2024-04-19 16:46:47 -06:00
riscv64 LibELF: Add headers describing the TLS layout of each architecture 2024-04-19 16:46:47 -06:00
x86_64 LibELF: Add headers describing the TLS layout of each architecture 2024-04-19 16:46:47 -06:00
GenericDynamicRelocationType.h LibELF+readelf: Add support for RISC-V dynamic relocation types 2024-02-24 16:05:50 -07:00
tls.h LibELF: Add headers describing the TLS layout of each architecture 2024-04-19 16:46:47 -06:00