![]() |
|
Message-ID: <exdwzuxv7qr24uogqhakmt7tog6cetcojzrxvx73jot4c7t26k@s2bz4cbkcbia> Date: Wed, 12 Mar 2025 16:41:09 +0100 From: Ignacy Gawędzki <ignacy.gawedzki@...en-communications.fr> To: musl@...ts.openwall.com Subject: [RFC PATCH 1/1] arm: Add CFA annotations to __syscall_cp_asm. When debugging a process that is currently in __syscall_cp_asm, GDB loses track of the current frame once it passes __cp_begin. At that moment, the frame is at $sp + 16, and it seems GDB is unable to infer that without proper support. A remedy is to add CFI annotations to that part of code, to tell that the frame starts at $ip, right after $sp has been saved to $ip. Signed-off-by: Ignacy Gawędzki <ignacy.gawedzki@...en-communications.fr> --- src/thread/arm/syscall_cp.s | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/thread/arm/syscall_cp.s b/src/thread/arm/syscall_cp.s index e607dd42..f5b9521e 100644 --- a/src/thread/arm/syscall_cp.s +++ b/src/thread/arm/syscall_cp.s @@ -10,7 +10,9 @@ .hidden __syscall_cp_asm .type __syscall_cp_asm,%function __syscall_cp_asm: + .cfi_startproc mov ip,sp + .cfi_def_cfa_register ip stmfd sp!,{r4,r5,r6,r7} __cp_begin: ldr r0,[r0] @@ -27,3 +29,4 @@ __cp_end: __cp_cancel: ldmfd sp!,{r4,r5,r6,r7} b __cancel + .cfi_endproc -- 2.45.2
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.