[lld] [lldb] [llvm] [AArch64] Support TLS variables in debug info (PR #146572)
Peter Smith via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 2 05:53:42 PDT 2025
smithp35 wrote:
> Just requesting changes so we don't forget about the ABI change.
>
> Might need to coordinate with other toolchains, we can deal with that after ABI discussions.
I did a quick check of the support for R_AARCH64_TLS_DTPREL64 in GNU by making up a fake .debug_info section with .reloc
```
.global foo
.type foo, %tls_object
.section .debug_info, "", %progbits
.xword 0
.reloc 0x0, R_AARCH64_TLS_DTPREL64, foo
```
Looks like there's a small change needed in GNU ld to make this work there
```
aarch64-none-linux-gnu-ld: warning: cannot find entry symbol _start; defaulting to 00000000004000b0
dtprel.o:(.debug_info+0x0): dangerous relocation: unsupported relocation
```
I think this is just a matter of putting the relocation into the switch statement as all the other parts seem to be there.
We may want to conditionally add the relocation on aarch64-linux-gnu targets as if we put it out universally we're going to make clang -g output incompatible with the system linker for many programs.
https://github.com/llvm/llvm-project/pull/146572
More information about the llvm-commits
mailing list