This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [7.5] PATCH: PR backtrace/14646 [x32] backtrace doesn't work
- From: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- To: palves at redhat dot com
- Cc: brobecker at adacore dot com, hjl dot tools at gmail dot com, gdb-patches at sourceware dot org
- Date: Fri, 9 Nov 2012 10:58:47 +0100 (CET)
- Subject: Re: [7.5] PATCH: PR backtrace/14646 [x32] backtrace doesn't work
- References: <20121020234741.GA3626@gmail.com> <20121021015636.GD3050@adacore.com> <509C4B2D.9090809@redhat.com>
> Comment: DKIM? See http://www.dkim.org
> DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed;
> d=sourceware.org; s=default; x=1353024963; h=Comment:
> DomainKey-Signature:Received:Received:Received:Received:Received:
> Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:
> References:In-Reply-To:Content-Type:Content-Transfer-Encoding:
> Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Subscribe:
> List-Archive:List-Post:List-Help:Sender:Delivered-To; bh=fQ2iB/y
> Eg2HuhqTeKRylTb4WTT0=; b=FLPU875R2QT9MXKu6e+WmhcbYPWpsjXJa3WwEjD
> PGW76VcrElXC6LiwtWx3KE9FvDEdwunETMJ/ZSWDL+FZRig8G+girKGiSiCTsBAf
> iP+y5uwHXxm/0u3gUuyNZcfirK73wRuBF9zxAsCdc4MwVwqChYfT1/MPGRTzpFU8
> xcBY=
> Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
> DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
> s=default; d=sourceware.org;
> h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To;
> b=oRSzNMyrz9j0FxY3zCGoPUERnkq2zu7qDxnXUw/MUST8U3iRpnsY6pYiqqIlwx
> ozksGcOAQsWvd6C+3Cap8U5ZbAcVMcmXHPsCzr0ZlAYJlQWwnT0R389gzUJ+zt/o
> RtxSw7TaPcbmLG7+iUWWjtPecvKGCRnbc8xoxlADQL8BA=;
> X-SWARE-Spam-Status: No, hits=-7.8 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD,SPF_HELO_PASS
> X-Spam-Check-By: sourceware.org
> Date: Fri, 09 Nov 2012 00:15:41 +0000
> From: Pedro Alves <palves@redhat.com>
> CC: "H.J. Lu" <hjl.tools@gmail.com>, GDB <gdb-patches@sourceware.org>
> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm
> Sender: gdb-patches-owner@sourceware.org
> X-XS4ALL-DNSBL-Checked: mxdrop108.xs4all.nl checked 209.132.180.131 against DNS blacklists
> X-CNFS-Analysis: v=2.0 cv=L5WqtZv8 c=1 sm=0 a=vbYRN7G9ZuyAWxq09MFwFw==:17
> a=33DZqpkaCd4A:10 a=YN_KAqlbJ3EA:10 a=K_0WnIvp2iAA:10
> a=8nJEP1OIZ-IA:10 a=20KFwNOVAAAA:8 a=_q_Hcc1DeB8A:10
> a=tesWsYECI-Fj5byH-2sA:9 a=wPNLvfGTeEIA:10
> a=vbYRN7G9ZuyAWxq09MFwFw==:117
> X-Virus-Scanned: by XS4ALL Virus Scanner
> X-XS4ALL-Spam-Score: -0.0 () DKIM_SIGNED, SPF_HELO_PASS, SPF_PASS
> X-XS4ALL-Spam: NO
> Envelope-To: m.m.kettenis@xs4all.nl
>
> On 10/21/2012 02:56 AM, Joel Brobecker wrote:
> >> This patch backports the fix from trunk to 7.5 branch. Tested on
> >> Linux/x86-64 and Linux/x32. OK to install?
> > [...]
> >> PR backtrace/14646
> >> PR gdb/14647
> >> * i386-tdep.h (gdbarch_tdep): Remove sp_regnum_from_eax and
> >> pc_regnum_from_eax.
> >> * i386-tdep.c (i386_gdbarch_init): Don't use sp_regnum_from_eax
> >> nor pc_regnum_from_eax.
> >> * amd64-tdep.c (amd64_x32_init_abi): Don't set sp_regnum_from_eax
> >> nor pc_regnum_from_eax.
> >
> > I'm sorry to say that I am not comfortable at all with this going
> > in the 7.5 branch. If Mark is super confident, then OK, but this is
> > touching sp/pc handling for all x86 and x86-64 targets. And I don't
> > think that the issue this patch is fixing is that critical.
>
> I'm not Mark, but it looks safe on all x86 and x86-64 targets to me.
> Note how tdep->sp_regnum_from_eax and tdep->sp_regnum_from_eax are -1
> by default, and only x32 sets it to something else. Then, the only use
> for those fields:
>
> - if (tdep->sp_regnum_from_eax != -1)
> - set_gdbarch_sp_regnum (gdbarch,
> - (tdep->eax_regnum
> - + tdep->sp_regnum_from_eax));
> - if (tdep->pc_regnum_from_eax != -1)
> - set_gdbarch_pc_regnum (gdbarch,
> - (tdep->eax_regnum
> - + tdep->pc_regnum_from_eax));
>
> only had effect on x32.
Yeah, it's pretty safe. Must say that I don't see the urgency as x32
is still in its infancy.