From 9112cda4c62e8a410be775045d5d307ebb48f0fe Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 23 Nov 2023 18:23:46 +0100 Subject: aarch64: correct CFI in rawmemchr (bug 31113) The .cfi_return_column directive changes the return column for the whole FDE range. But the actual intent is to tell the unwinder that the value in x30 (lr) now resides in x15 after the move, and that is expressed by the .cfi_register directive. (cherry picked from commit 3f798427884fa57770e8e2291cf58d5918254bb5) --- sysdeps/aarch64/rawmemchr.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/aarch64/rawmemchr.S b/sysdeps/aarch64/rawmemchr.S index 55d9e34d4f..f90ce2bf86 100644 --- a/sysdeps/aarch64/rawmemchr.S +++ b/sysdeps/aarch64/rawmemchr.S @@ -31,7 +31,7 @@ ENTRY (__rawmemchr) L(do_strlen): mov x15, x30 - cfi_return_column (x15) + cfi_register (x30, x15) mov x14, x0 bl __strlen add x0, x14, x0 -- cgit 1.4.1