From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1895) id BC9033857C4F; Wed, 10 Apr 2024 13:38:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BC9033857C4F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1712756318; bh=O0Hz7BjimSqBZIjP6qwF2IvE4M6bViE2r+66ZTswOh8=; h=From:To:Subject:Date:From; b=nSq3CsdJjM9Yuf7kXgGlZxceuolDf/d6i2JY1n3fCHTA3/Wd5DK6PCePFRoilhwdq PNO9kP28KFvoL7wwV2oviYHqJUxW1YszmjWRmC50uW/CVMe4lP9pFCmGV4vGcRvXxi ufEnJqkjSYYVL+tMWqlw4uXcXj09+w7mh4PtGqls= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Wilco Dijkstra To: glibc-cvs@sourceware.org Subject: [glibc/release/2.37/master] aarch64: correct CFI in rawmemchr (bug 31113) X-Act-Checkin: glibc X-Git-Author: Andreas Schwab X-Git-Refname: refs/heads/release/2.37/master X-Git-Oldrev: 3dcb8fde81acfc31e5887c0dac56da9bd34ae9db X-Git-Newrev: 882b7dc2ab90b3c1280b67aed792142a265d7595 Message-Id: <20240410133838.BC9033857C4F@sourceware.org> Date: Wed, 10 Apr 2024 13:38:38 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=882b7dc2ab90b3c1280b67aed792142a265d7595 commit 882b7dc2ab90b3c1280b67aed792142a265d7595 Author: Andreas Schwab Date: Thu Nov 23 18:23:46 2023 +0100 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) Diff: --- 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 efc4b7007b..1fff094215 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