From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20436 invoked by alias); 21 Jun 2007 17:33:48 -0000 Received: (qmail 20428 invoked by uid 22791); 21 Jun 2007 17:33:47 -0000 X-Spam-Check-By: sourceware.org Received: from SAGW-PRIMARY.ARC.COM (HELO elsdt-razorfish.arc.com) (62.189.186.51) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 21 Jun 2007 17:33:45 +0000 Received: from elsdt-razorfish.arc.com (localhost.localdomain [127.0.0.1]) by elsdt-razorfish.arc.com (8.12.11.20060308/8.12.11) with ESMTP id l5LHXgl5017426 for ; Thu, 21 Jun 2007 18:33:42 +0100 Received: (from joernr@localhost) by elsdt-razorfish.arc.com (8.12.11.20060308/8.12.11/Submit) id l5LHXgBG017424 for gdb@sourceware.org; Thu, 21 Jun 2007 18:33:42 +0100 Date: Thu, 21 Jun 2007 17:33:00 -0000 From: Joern Rennecke To: gdb@sourceware.org Subject: Re: How do I replace DEPRECATED_TM_FILE? Message-ID: <20070621173342.GE8169@elsdt-razorfish.arc.com> References: <20070621161305.GD8169@elsdt-razorfish.arc.com> <20070621162152.GA18158@caradoc.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070621162152.GA18158@caradoc.them.org> User-Agent: Mutt/1.4.1i Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-06/txt/msg00175.txt.bz2 > Why are the register numbers different (and which register numbers)? It's because of the different dwarf mapping. These are the registers that are different in linux that for the plain embedded target: enum arc700_linux_regnums { /* Regnums 0..26 are R0..R26 */ ARC_BTA_REGNUM = 27, ARC_LP_START_REGNUM = 28, ARC_LP_END_REGNUM = 29, ARC_LP_COUNT_REGNUM = 30, ARC_STATUS32_REGNUM = 31, ARC_BLINK_REGNUM = 32, ARC_FP_REGNUM = 33, ARC_SP_REGNUM = 34, ARC_EFA_REGNUM = 35, ARC_RET_REGNUM = 36, ARC_ORIG_R8_REGNUM = 37, ARC_STOP_PC_REGNUM = 38 }; #define ARC_NR_REGS 39 /* Pseudo-regs. */ #define ARC_ILINK1_REGNUM (NUM_REGS) #define ARC_ILINK2_REGNUM (NUM_REGS+1) #define ARC_ERET_REGNUM (NUM_REGS+2) #define ARC_STATUS32_L1_REGNUM (NUM_REGS+3) #define ARC_STATUS32_L2_REGNUM (NUM_REGS+4) #define ARC_ERSTATUS_REGNUM (NUM_REGS+5) except for ARC_RET_REGNUM and ARC_ORIG_R8_REGNUM, these registers exist also for the embedded target, but with different numbers; the embedded target allos access to numerous extra auxilary registers. > That determines the answer to your question. If it's the dwarf2 > mapping, for instance, you'd put overrides in an OS/ABI sniffer in the > Linux tdep file. > > I've done a lot of work lately to isolate GDB's internal register > numbering from various external numberings. You can probably use the > same internal registers in most places now. Another difference is the osabi setting. arc_gdbarch_init also calls different functions for the different subtargtes to set a number of other settings.