================
@@ -3114,6 +3114,7 @@ unsigned ObjectFileELF::ApplyRelocations(
       case llvm::ELF::EM_AARCH64:
         switch (reloc_type(rel)) {
         case R_AARCH64_ABS64:
+        case R_AARCH64_TLS_DTPREL64:
           ApplyELF64ABS64Relocation(symtab, rel, debug_data, rel_section);
----------------
MaskRay wrote:

I don't think it's that easy. ldso writes st_value+st_addend for 
`R_AARCH64_TLS_DTPREL64`. Th debugger has to find the dynamic thread vector of 
the current thread `dtv`, get `dtv[m]` (where m is the DSO module ID; m==1 is 
the main executable). A specific TLS symbol's runtime address is 
`dtv[m]+st_value`.

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

Reply via email to