[lld] [LLD][AArch64] Handle R_AARCH64_TLS_DTPREL64 in non-alloc sections (PR #183962)

Shivam Gupta via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 8 07:41:51 PDT 2026


xgupta wrote:

> > I am able to debug it with gdb
> 
> Is this gdb with no further patches?

Yes with the test case given at end of https://sourceware.org/bugzilla/show_bug.cgi?id=27886. 
Previously with gdb and g++ 
```
Breakpoint 1, foo () at test-2.c:6
6         a::v1.x++;
(gdb) n
7         a::v1.y++;
(gdb) p a::v1 
$1 = <optimized out>
```
and now with gdb and clang++(updated) I have 
```
Breakpoint 1, foo () at test-2.c:6
6         a::v1.x++;
(gdb) n
7         a::v1.y++;
(gdb) p a::v1 
$1 = {x = 2, y = 2, z = 3}
```
which was before printing in bug report as 
p a::v1
$1 = {x = 1, y = 2, z = 3}


With lldb and clang++(update) I still have same 
```
Process 5523 stopped
* thread #1, name = 'test123', stop reason = breakpoint 1.1
      frame #0: 0x0000aaaacd5a0acc test123`foo() at test-2.c:6:3
   3    void
   4    foo (void)
   5    {
-> 6      a::v1.x++;
   7      a::v1.y++;
   8      a::v1.z++;
   9    }
(lldb) n
Process 5523 stopped
* thread #1, name = 'test123', stop reason = step over
      frame #0: 0x0000aaaacd5a0adc test123`foo() at test-2.c:7:3
   4    foo (void)
   5    {
   6      a::v1.x++;
-> 7      a::v1.y++;
   8      a::v1.z++;
   9    }
(lldb) p a::v1 
(kk)  (x = 1, y = 2, z = 3)
```

https://github.com/llvm/llvm-project/pull/183962


More information about the llvm-commits mailing list