From patchwork Tue Apr 8 14:30:30 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Langlois X-Patchwork-Id: 431 Return-Path: X-Original-To: siddhesh@wilcox.dreamhost.com Delivered-To: siddhesh@wilcox.dreamhost.com Received: from homiemail-mx21.g.dreamhost.com (peon2454.g.dreamhost.com [208.113.200.127]) by wilcox.dreamhost.com (Postfix) with ESMTP id 5B7AA360075 for ; Tue, 8 Apr 2014 07:30:52 -0700 (PDT) Received: by homiemail-mx21.g.dreamhost.com (Postfix, from userid 14314964) id D2770ED140B; Tue, 8 Apr 2014 07:30:51 -0700 (PDT) X-Original-To: gdb@patchwork.siddhesh.in Delivered-To: x14314964@homiemail-mx21.g.dreamhost.com Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by homiemail-mx21.g.dreamhost.com (Postfix) with ESMTPS id 362171083914 for ; Tue, 8 Apr 2014 07:30:51 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :content-type:content-transfer-encoding; q=dns; s=default; b=Z+m P+5MIwNciHulYfunnT3XpqUV3HhckCXps91QPAZ9Phhd3sB1iQTUZrNU/hc2yWyi 5DDqgjTbm4T/YkRG6E8HtB/XBvzC89cCf/DcX6JBhAk9LQlZ/cLaKYXpjzPv5nU7 r66HZYAIVeHXDR+aOMh6CX6GOOV7hYEtQwM+FaIs= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :content-type:content-transfer-encoding; s=default; bh=GfFsrYH0N H6VB6l2h0k18Sl1TvY=; b=nVe69b6CpdoMg1YHmcHrZztcstjhaN7F7Smn8x8sp UoFugzDw0Yd5QWy0yKrbdBNSCMwvFKImEJ1sRgPTGcfXJG4QRfM6ipr5mbjZ6D+C wG3XgUvJVY34PpK7ciUgSJ7s1qRuiNzCiZ4zZ7toyuf789Vg5gLLfTqvsyQ8xhnv HU= Received: (qmail 4338 invoked by alias); 8 Apr 2014 14:30:49 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 4324 invoked by uid 89); 8 Apr 2014 14:30:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: mail-we0-f171.google.com Received: from mail-we0-f171.google.com (HELO mail-we0-f171.google.com) (74.125.82.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 08 Apr 2014 14:30:40 +0000 Received: by mail-we0-f171.google.com with SMTP id t61so1027449wes.2 for ; Tue, 08 Apr 2014 07:30:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:content-type:content-transfer-encoding; bh=LtO8ONcjD9z+gr3b1LFvAOJeTBDI4tpDBIjvhpSl0Ic=; b=e+BKBFSE0Dr2EAlTHAs6ABLfag04WEPxE1RZYKHvKMvqAmOK0GPkpiz31P/HG104Mg oGHJ2ll5e8oYU41EaNNTU9PO996uuoAa6EOYN6kzwvbML8HZNEpy1YeL+VH7Um//rO/a oDfmyIX1Y0TNdthlWs46sCyNoInzPUPYE890bJJ2ijB9pTUIDwN4q/4YJpPGx7bxOyH2 dZd0BvUkBgXAne9EU/EVYf9I2mRrjKC5QROIs4dmKl/EF7ZWtodgKN3hrWuiaNytATZV ji7HtjaGMserfycGCIvj3aDiU9z0/RHPdEEQzUSrn7PNkwnvS1FjxxKjkBHF7PdO8X4g 4yUA== X-Gm-Message-State: ALoCoQnc7oSWF8P2Xq2/qCb9Kq8Azh2DF8PQNumyYXKfTac7HiQO8+UGhrbGuQWRjEBXSv9TrBFC X-Received: by 10.194.58.79 with SMTP id o15mr3043587wjq.62.1396967436837; Tue, 08 Apr 2014 07:30:36 -0700 (PDT) Received: from [192.168.0.10] (92.40.249.1.threembb.co.uk. [92.40.249.1]) by mx.google.com with ESMTPSA id l10sm3371084wiz.18.2014.04.08.07.30.34 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 08 Apr 2014 07:30:35 -0700 (PDT) Message-ID: <53440806.4000302@embecosm.com> Date: Tue, 08 Apr 2014 15:30:30 +0100 From: Pierre Langlois User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: gdb-patches@sourceware.org Subject: [PATCH] Fix erroneous backtrace on avrxmega architectures. X-IsSubscribed: yes X-DH-Original-To: gdb@patchwork.siddhesh.in Hi all, This patch adds avrxmega architectures to GDB, as given by bfd_architecture, when setting call_length. This is the length of an address pushed on the stack by a call instruction. It was incorrect on avrxmega devices with more than 128k of memory (tested on the atxmega256a3bu), which would break stack-unwinding. Best, Pierre 2014-04-08 Pierre Langlois * avr-tdep.c (struct gdbarch_tdep): Mention avrxmega in the comment. (avr_gdbarch_init): Add xmega architectures given by bfd_architecture when setting the size of call_length. --- gdb/avr-tdep.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 7fb16d1..9b0bfaf 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -180,7 +180,7 @@ struct avr_unwind_cache struct gdbarch_tdep { /* Number of bytes stored to the stack by call instructions. - 2 bytes for avr1-5, 3 bytes for avr6. */ + 2 bytes for avr1-5 and avrxmega1-5, 3 bytes for avr6 and avrxmega6-7. */ int call_length; /* Type for void. */ @@ -1356,14 +1356,21 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) switch (info.bfd_arch_info->mach) { case bfd_mach_avr1: + case bfd_mach_avrxmega1: case bfd_mach_avr2: + case bfd_mach_avrxmega2: case bfd_mach_avr3: + case bfd_mach_avrxmega3: case bfd_mach_avr4: + case bfd_mach_avrxmega4: case bfd_mach_avr5: + case bfd_mach_avrxmega5: default: call_length = 2; break; case bfd_mach_avr6: + case bfd_mach_avrxmega6: + case bfd_mach_avrxmega7: call_length = 3; break; }