DavidSpickett wrote:

> I've just realised that I forgot to specify a distinct offset for the new 
> register.

Sorry to bring this up so late but this reminds me we need tests for the 
register access. Please split this PR so that adding the new register is its 
own PR, and this is just the dyld parts.

My AArch64 TLS register commits for reference:
7e229217f4215b519b886e7881bae4da3742a7d2 
43ad521f2fa9a50e6b30425a3b9fb3025b42587a 
6239227172cdc92f3bb72131333f50f83a6439cf

You've implemented the register as read only, which is fine. So you don't need 
to test what happens with an expression, just check that a write from lldb 
fails. You can likely use the existing Arm core file and read whatever random 
value happens to be in there. For a live test, I suggest a program with a 
thread local, and reading the TLS register using inline asm into a local 
variable that LLDB can read. Then compare that to what you see in LLDB via. 
`read register`.

You can put the live process test in a new folder in 
https://github.com/llvm/llvm-project/tree/main/lldb/test/API/linux. The core 
file tests are in 
lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py.

Each needs a release note, I suggest:
* On Arm Linux, the `tpidruro` register can now be read. Writing to this 
register is not supported.
* Thread local variables are now supported on Arm Linux if the program being 
debugged is using glibc.

https://github.com/llvm/llvm-project/pull/181315
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to