-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Open
Labels
craneliftIssues related to the Cranelift code generatorIssues related to the Cranelift code generatorcranelift:area:riscv64Issues related to the RISC-V 64 backend.Issues related to the RISC-V 64 backend.cranelift:area:x86Issues related to x86 codegenIssues related to x86 codegen
Description
Feature
See title
Benefit
TLSDESC is a more efficient alternative to the traditional __tls_get_addr that 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. riscv-non-isa/riscv-elf-psabi-doc#94 links a bunch of useful documents. Also cc rust-lang/rust#132480
Implementation
Add the required relocation types and adapt the TLS access binemit code as relevant.
Alternatives
Not support this and accept slower TLS accesses.
Metadata
Metadata
Assignees
Labels
craneliftIssues related to the Cranelift code generatorIssues related to the Cranelift code generatorcranelift:area:riscv64Issues related to the RISC-V 64 backend.Issues related to the RISC-V 64 backend.cranelift:area:x86Issues related to x86 codegenIssues related to x86 codegen