From: Sergey Bugaev Date: Mon, 15 May 2023 08:33:20 +0000 (+0300) Subject: hurd: Fix aligning signal stack pointer X-Git-Tag: upstream/2.39~802 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff0f87632a74a369a2b992f4436ae406065a4012;p=platform%2Fupstream%2Fglibc.git hurd: Fix aligning signal stack pointer Fixes 60f9bf974694d50daf58d46347b06a5975ac5ddd "hurd: Port trampoline.c to x86_64" Checked on x86_64-gnu. Reported-by: Bruno Haible Signed-off-by: Sergey Bugaev Message-Id: <20230515083323.1358039-2-bugaevc@gmail.com> --- diff --git a/sysdeps/mach/hurd/x86/trampoline.c b/sysdeps/mach/hurd/x86/trampoline.c index e13c5d8..19bddad 100644 --- a/sysdeps/mach/hurd/x86/trampoline.c +++ b/sysdeps/mach/hurd/x86/trampoline.c @@ -200,7 +200,7 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, const struct sigaction *action /* Align SP at 16 bytes. Coupled with the fact that sigreturn_addr is 16-byte aligned within the stackframe struct, this ensures that it ends up on a 16-byte aligned address, as required by the ABI. */ - sigsp = (void *) ((uintptr_t) sigsp & 16UL); + sigsp = (void *) ((uintptr_t) sigsp & ~15UL); #endif /* Push the arguments to call `trampoline' on the stack. */