llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Alex Langford (bulbazord)

<details>
<summary>Changes</summary>

Otherwise an unstripped pointer will be sent to debugserver. LLDB strips 
pointers before sending them to debugserver, so debugserver does not know how 
to handle it.

This fixes TestGdbRemoteSingleStep.py, TestGdbRemote_qMemoryRegion.py, and 
TestGdbRemote_vCont.py on arm64e.

---
Full diff: https://github.com/llvm/llvm-project/pull/203988.diff


1 Files Affected:

- (modified) lldb/test/API/tools/lldb-server/main.cpp (+3) 


``````````diff
diff --git a/lldb/test/API/tools/lldb-server/main.cpp 
b/lldb/test/API/tools/lldb-server/main.cpp
index 7e84552b0f25d..bbe523fc3c2f7 100644
--- a/lldb/test/API/tools/lldb-server/main.cpp
+++ b/lldb/test/API/tools/lldb-server/main.cpp
@@ -330,6 +330,9 @@ int main(int argc, char **argv) {
         func_p = swap_chars;
 
       std::lock_guard<std::mutex> lock(g_print_mutex);
+#if defined(__arm64e__)
+      func_p = __builtin_ptrauth_strip(func_p, /*ptrauth_key_asib*/ 1);
+#endif
       printf("code address: %p\n", func_p);
     } else if (consume_front(arg, "call-function:")) {
       void (*func_p)() = nullptr;

``````````

</details>


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

Reply via email to