From patchwork Sun Feb 28 16:41:35 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nix X-Patchwork-Id: 11125 Received: (qmail 83444 invoked by alias); 28 Feb 2016 16:41:45 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 83377 invoked by uid 89); 28 Feb 2016 16:41:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.4 required=5.0 tests=AWL, BAYES_50, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=UD:7.0.198.g6dd47b6, UD:2.7.0.198.g6dd47b6, sk:2.7.0.1, sk:2701 X-HELO: mail.esperi.org.uk From: Nix To: libc-alpha@sourceware.org Subject: [PATCH 16/16] sparc: do not stack-protect the sigreturn handler. Date: Sun, 28 Feb 2016 16:41:35 +0000 Message-Id: <1456677695-29778-17-git-send-email-nix@esperi.org.uk> In-Reply-To: <1456677695-29778-1-git-send-email-nix@esperi.org.uk> References: <1456677695-29778-1-git-send-email-nix@esperi.org.uk> X-DCC-URT-Metrics: spindle 1060; Body=1 Fuz1=1 From: Nick Alcock This is called from the kernel and must not have a canary. v2: New. v3: Use $(no-stack-protector). v4: Use inhibit_stack_protector. --- sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c | 8 ++++++-- sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c index 5aa3c35..b75142f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c @@ -65,7 +65,9 @@ libc_hidden_def (__libc_sigaction) #include -static void +static +inhibit_stack_protector +void __rt_sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t" @@ -74,7 +76,9 @@ __rt_sigreturn_stub (void) : "i" (__NR_rt_sigreturn)); } -static void +static +inhibit_stack_protector +void __sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t" diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c index 50c444c..058c011 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c @@ -66,7 +66,9 @@ libc_hidden_def (__libc_sigaction) #include -static void +static +inhibit_stack_protector +void __rt_sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t"