From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1944) id 5887B3851526; Wed, 26 Oct 2022 15:10:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5887B3851526 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1666797012; bh=Z4XSIDUTRJoOKJaD0tflY76dJEmonjNit8s2ZlV+Tog=; h=From:To:Subject:Date:From; b=LT8m/bmYVqcUJj9XkxbEIFQRGDEzcq3WZLGt1iscafsAREBYCSLpOsAKv4LHFJedH OOZS06Gc28QWYfl3KDRq0bidlKR+gTpZm4A1Zedfqaw+Owc2KKTnRGuNYmxlWxB05y ekpZfAa4NQ8t+0Cc5jriCgZJW+btTUBw1yR93V6I= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Szabolcs Nagy To: glibc-cvs@sourceware.org Subject: [glibc/arm/morello/main] aarch64: fix extension header write in getcontext and swapcontext X-Act-Checkin: glibc X-Git-Author: Szabolcs Nagy X-Git-Refname: refs/heads/arm/morello/main X-Git-Oldrev: 370076d66fe0af870bc4801a4fe671ae21ce655e X-Git-Newrev: e9ec6c08e294e607fcc782f194c47c60cde06d91 Message-Id: <20221026151012.5887B3851526@sourceware.org> Date: Wed, 26 Oct 2022 15:10:12 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e9ec6c08e294e607fcc782f194c47c60cde06d91 commit e9ec6c08e294e607fcc782f194c47c60cde06d91 Author: Szabolcs Nagy Date: Fri Jul 29 08:00:06 2022 +0100 aarch64: fix extension header write in getcontext and swapcontext The extension header is two 32bit words and in the last header both should be 0. There is plenty space in the __reserved area, but it's better not to write more than we mean to. Diff: --- sysdeps/unix/sysv/linux/aarch64/getcontext.S | 4 ++-- sysdeps/unix/sysv/linux/aarch64/swapcontext.S | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sysdeps/unix/sysv/linux/aarch64/getcontext.S b/sysdeps/unix/sysv/linux/aarch64/getcontext.S index 15fbd2d1a0..3109cbd99a 100644 --- a/sysdeps/unix/sysv/linux/aarch64/getcontext.S +++ b/sysdeps/unix/sysv/linux/aarch64/getcontext.S @@ -86,8 +86,8 @@ ENTRY(__getcontext) /* Write the termination context extension header. */ add x2, x2, #FPSIMD_CONTEXT_SIZE - str xzr, [x2, #oHEAD + oMAGIC] - str xzr, [x2, #oHEAD + oSIZE] + str wzr, [x2, #oHEAD + oMAGIC] + str wzr, [x2, #oHEAD + oSIZE] /* Grab the signal mask */ /* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */ diff --git a/sysdeps/unix/sysv/linux/aarch64/swapcontext.S b/sysdeps/unix/sysv/linux/aarch64/swapcontext.S index 1ee2e40272..e3ec9da35d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/swapcontext.S +++ b/sysdeps/unix/sysv/linux/aarch64/swapcontext.S @@ -75,8 +75,8 @@ ENTRY(__swapcontext) /* Write the termination context extension header. */ add x2, x2, #FPSIMD_CONTEXT_SIZE - str xzr, [x2, #oHEAD + oMAGIC] - str xzr, [x2, #oHEAD + oSIZE] + str wzr, [x2, #oHEAD + oMAGIC] + str wzr, [x2, #oHEAD + oSIZE] /* Preserve ucp. */ mov x21, x1