From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26122 invoked by alias); 10 Apr 2014 16:30:46 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 26111 invoked by uid 89); 10 Apr 2014 16:30:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: mail-wg0-f42.google.com Received: from mail-wg0-f42.google.com (HELO mail-wg0-f42.google.com) (74.125.82.42) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 10 Apr 2014 16:30:42 +0000 Received: by mail-wg0-f42.google.com with SMTP id y10so4143718wgg.25 for ; Thu, 10 Apr 2014 09:30:39 -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=3tkqWsjA680Qq6hFuwIyL0bWrwJAUqFvA079s4xx/yc=; b=e1p5l6tVzxWm+KYhcGfSLgwsJ+OLph6Fx0oRNcxa3GNMevW+RQrzp/eKcH0UBiC0S6 nam6Iw32VC77skLswQgDOzUbGHi03HHS+4ifDvhnc8/+ACdT0JabXXrx7jCW9K/xFYCQ 2iZn4FaiP2vxYNVaZZqtO36YgRkVQw9bz17IAYPAWEaf/2tfK3kyXMCCPgoSVLkfjCeN bFAtBNTWak3VGjOsU9j/sZv8673aKdFeIbkrJwMjvG32l7ibTd47A6At34RmsjwdJDSW 5xWAETfg8lxlQck55uz4HFQLG95rN0m8LA/skXgKiC0P9BXZYhQ3gm9IWuHl0Viw8kwe JKiQ== X-Gm-Message-State: ALoCoQmC//ucZLhg61Bv01fNRslr4n5w0uXzFcxaBeqUcn4Ts6rGBZ2O0zem1Y4JumEWPQQEw1/m X-Received: by 10.194.92.228 with SMTP id cp4mr1932106wjb.81.1397147439102; Thu, 10 Apr 2014 09:30:39 -0700 (PDT) Received: from [192.168.0.134] (cust64-dsl91-135-5.idnet.net. [91.135.5.64]) by mx.google.com with ESMTPSA id d6sm11983717wiz.4.2014.04.10.09.30.37 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 10 Apr 2014 09:30:38 -0700 (PDT) Message-ID: <5346C72D.70601@embecosm.com> Date: Thu, 10 Apr 2014 16:30:00 -0000 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] Backport AVR fixes Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-04/txt/msg00184.txt.bz2 Hi all, Would it be OK to backport these two commits to gdb-7.7-branch for the next 7.7.1 release? https://sourceware.org/ml/gdb-patches/2014-04/msg00097.html https://sourceware.org/ml/gdb-patches/2014-03/msg00425.html I am not yet familiar with the process of backporting patches in GDB, let me know if I am doing this correctly. For instance, should I break this into several commits? 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. (avr_scan_prologue): Accept push r1 instruction for small stack allocation. * MAINTAINERS (Write After Approval): Add "Pierre Langlois". --- gdb/MAINTAINERS | 1 + gdb/avr-tdep.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS index ffd310b..c0297c1 100644 --- a/gdb/MAINTAINERS +++ b/gdb/MAINTAINERS @@ -546,6 +546,7 @@ Jim Kingdon kingdon@panix.com Paul Koning paul_koning@dell.com Jan Kratochvil jan.kratochvil@redhat.com Maxim Kuvyrkov maxim@kugelworks.com +Pierre Langlois pierre.langlois@embecosm.com Jonathan Larmour jifl@ecoscentric.com Jeff Law law@redhat.com Justin Lebar justin.lebar@gmail.com diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index cb330ea..1be9e7d 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -179,7 +179,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. */ @@ -719,7 +719,7 @@ avr_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR pc_beg, CORE_ADDR pc_end, info->size += gdbarch_tdep (gdbarch)->call_length; vpc += 2; } - else if (insn == 0x920f) /* push r0 */ + else if (insn == 0x920f || insn == 0x921f) /* push r0 or push r1 */ { info->size += 1; vpc += 2; @@ -1355,14 +1355,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; } -- 1.8.3.1