bjorn3 opened issue #12087:
Feature
See title
Benefit
TLSDESC is a more efficient alternative to the traditional
__tls_get_addrthat is used for the global-dynamic tls model. TLSDESC is already mandatory on arm64. They were introduced relatively recently on x86 (2008, but with a glibc bugfix in 2024) and riscv (2024), so we should keep them optional for the time being.Implementation
Add the required relocation types and adapt the TLS access binemit code as relevant.
Alternatives
Not support this and accept slower TLS accesses.
bjorn3 edited issue #12087:
Feature
See title
Benefit
TLSDESC is a more efficient alternative to the traditional
__tls_get_addrthat is used for the global-dynamic tls model. TLSDESC is already mandatory on arm64. They were introduced relatively recently on x86 (2008, but with a glibc bugfix in 2024) and riscv (2024), so we should keep them optional for the time being. https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/94 links a bunch of useful documents.Implementation
Add the required relocation types and adapt the TLS access binemit code as relevant.
Alternatives
Not support this and accept slower TLS accesses.
bjorn3 edited issue #12087:
Feature
See title
Benefit
TLSDESC is a more efficient alternative to the traditional
__tls_get_addrthat is used for the global-dynamic tls model. TLSDESC is already mandatory on arm64. They were introduced relatively recently on x86 (2008, but with a glibc bugfix in 2024) and riscv (2024), so we should keep them optional for the time being. https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/94 links a bunch of useful documents. Also cc https://github.com/rust-lang/rust/pull/132480Implementation
Add the required relocation types and adapt the TLS access binemit code as relevant.
Alternatives
Not support this and accept slower TLS accesses.
fitzgen added the cranelift:area:riscv64 label to Issue #12087.
fitzgen added the cranelift:area:x86 label to Issue #12087.
fitzgen added the cranelift label to Issue #12087.
Last updated: Dec 06 2025 at 07:03 UTC