From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11113 invoked by alias); 20 Nov 2001 19:17:21 -0000 Mailing-List: contact gdb-patches-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 11071 invoked from network); 20 Nov 2001 19:17:14 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sourceware.cygnus.com with SMTP; 20 Nov 2001 19:17:14 -0000 Received: from redhat.com (rtl.cygnus.com [205.180.230.21]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id LAA05478; Tue, 20 Nov 2001 11:17:03 -0800 (PST) Message-ID: <3BFAABFB.177C88EA@redhat.com> Date: Thu, 08 Nov 2001 10:06:00 -0000 From: Fernando Nasser Organization: Red Hat Canada X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.4.3-12 i686) X-Accept-Language: en MIME-Version: 1.0 To: Ben Harris CC: gdb-patches@sources.redhat.com Subject: Re: [RFA] Fix stack backtraces on 26-bit ARM References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2001-11/txt/msg00157.txt.bz2 Ben Harris wrote: > > I've got an assignment signed, and commit access, so can someone approve > this now? > > I'm trying to make GDB 5.0 work on NetBSD/arm26. One problem I've run > into is that even with "set apcs32 0", stack backtraces include flags in > the program counter for all frames apart from the top one. I think this > patch fixes the problem by using arm_addr_bits_remove() to clean up the > PC fetched from a stack frame. I'm not in a position to check this still > works on arm32 and thumb. > Ben, I will have to test that before comitting this. Please give me some time. Regards, Fernando > ChangeLog entry: > 2001-11-20 Ben Harris > > * arm-tdep.c (arm_frame_saved_pc): Use arm_addr_bits_remove to > clean the PC. Necessary for backtraces in 26-bit modes. > > Patch: > *** arm-tdep.c 2000/07/26 00:32:33 1.1.1.1 > --- arm-tdep.c 2001/10/20 16:40:16 > *************** arm_frame_saved_pc (struct frame_info *f > *** 1019,1025 **** > #endif > { > CORE_ADDR pc = arm_find_callers_reg (fi, LR_REGNUM); > ! return IS_THUMB_ADDR (pc) ? UNMAKE_THUMB_ADDR (pc) : pc; > } > } > > --- 1021,1027 ---- > #endif > { > CORE_ADDR pc = arm_find_callers_reg (fi, LR_REGNUM); > ! return arm_addr_bits_remove(pc); > } > } > > -- > Ben Harris > Portmaster, NetBSD/arm26 -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9