Message ID | 20180904204553.6971-2-adhemerval.zanella@linaro.org |
---|---|
State | Rejected |
Delegated to: | Tulio Magno Quites Machado Filho |
Headers |
Received: (qmail 33636 invoked by alias); 4 Sep 2018 20:46:05 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 33510 invoked by uid 89); 4 Sep 2018 20:46:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-22.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SEM_URI, SEM_URIRED, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-qk1-f176.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references; bh=z6syHtHCWrgj9RiLSJ+/9AtrA9cOzR6jFkjRK2P4H5U=; b=MWmoso7PUO0bIPX78kX0/6U0giCD3c2upKVPzB6+8DzZ21vMgMDWZ/EEEQ+CjrFIG/ L7DaqyCumQipX1uGJzGfgm6PQ/3z20CZP/FEFHCFPb8aiQ9WQ3m807YzPfj/aYSOD5lt 4J890Et2GGGiYsueyKPaGuhXZ0GWUxP6Mpp2E= Return-Path: <adhemerval.zanella@linaro.org> From: Adhemerval Zanella <adhemerval.zanella@linaro.org> To: libc-alpha@sourceware.org Subject: [PATCH 1/7] powerpc: Add CFI information on indirect syscall Date: Tue, 4 Sep 2018 17:45:47 -0300 Message-Id: <20180904204553.6971-2-adhemerval.zanella@linaro.org> In-Reply-To: <20180904204553.6971-1-adhemerval.zanella@linaro.org> References: <20180904204553.6971-1-adhemerval.zanella@linaro.org> |
Commit Message
Adhemerval Zanella Netto
Sept. 4, 2018, 8:45 p.m. UTC
This patch the required CFI information on powerpc indirect syscall so backtrace works correctly on signal handler. Checked on powerpc-linux-gnu and powerpc64le-linux-gnu. * sysdeps/unix/sysv/linux/powerpc/syscall.S (syscall): Add CFI information. --- ChangeLog | 5 +++++ sysdeps/unix/sysv/linux/powerpc/syscall.S | 1 + 2 files changed, 6 insertions(+)
Comments
Adhemerval Zanella <adhemerval.zanella@linaro.org> writes: > This patch the required CFI information on powerpc indirect syscall > so backtrace works correctly on signal handler. > > Checked on powerpc-linux-gnu and powerpc64le-linux-gnu. > > * sysdeps/unix/sysv/linux/powerpc/syscall.S (syscall): Add CFI > information. > --- > ChangeLog | 5 +++++ > sysdeps/unix/sysv/linux/powerpc/syscall.S | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/sysdeps/unix/sysv/linux/powerpc/syscall.S b/sysdeps/unix/sysv/linux/powerpc/syscall.S > index 2da91721be..e30f461a17 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/syscall.S > +++ b/sysdeps/unix/sysv/linux/powerpc/syscall.S > @@ -19,6 +19,7 @@ > > ENTRY (syscall) > ABORT_TRANSACTION > + cfi_def_cfa_offset (0) Why is this necessary in a function that is defined via ENTRY (or ENTRY_TOCLESS) that already has cfi_startproc? Does the error you found mean that parameter simple from cfi_startproc is being set by mistake?
On 06/09/2018 12:18, Tulio Magno Quites Machado Filho wrote: > Adhemerval Zanella <adhemerval.zanella@linaro.org> writes: > >> This patch the required CFI information on powerpc indirect syscall >> so backtrace works correctly on signal handler. >> >> Checked on powerpc-linux-gnu and powerpc64le-linux-gnu. >> >> * sysdeps/unix/sysv/linux/powerpc/syscall.S (syscall): Add CFI >> information. >> --- >> ChangeLog | 5 +++++ >> sysdeps/unix/sysv/linux/powerpc/syscall.S | 1 + >> 2 files changed, 6 insertions(+) >> >> diff --git a/sysdeps/unix/sysv/linux/powerpc/syscall.S b/sysdeps/unix/sysv/linux/powerpc/syscall.S >> index 2da91721be..e30f461a17 100644 >> --- a/sysdeps/unix/sysv/linux/powerpc/syscall.S >> +++ b/sysdeps/unix/sysv/linux/powerpc/syscall.S >> @@ -19,6 +19,7 @@ >> >> ENTRY (syscall) >> ABORT_TRANSACTION >> + cfi_def_cfa_offset (0) > > Why is this necessary in a function that is defined via ENTRY (or > ENTRY_TOCLESS) that already has cfi_startproc? > > Does the error you found mean that parameter simple from cfi_startproc is being > set by mistake? > Re-testing it on powerpc64le it seems that current cfi directives provided by ENTRY indeed are suffice. The cfi_def_cfa_offset came in fact from a previous iteration, which I initially added a frame set/restore. So I withdraw this patch.
diff --git a/sysdeps/unix/sysv/linux/powerpc/syscall.S b/sysdeps/unix/sysv/linux/powerpc/syscall.S index 2da91721be..e30f461a17 100644 --- a/sysdeps/unix/sysv/linux/powerpc/syscall.S +++ b/sysdeps/unix/sysv/linux/powerpc/syscall.S @@ -19,6 +19,7 @@ ENTRY (syscall) ABORT_TRANSACTION + cfi_def_cfa_offset (0) mr r0,r3 mr r3,r4 mr r4,r5