From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 306 invoked by alias); 21 Feb 2004 02:25:14 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 32761 invoked from network); 21 Feb 2004 02:25:13 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 21 Feb 2004 02:25:13 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1AuMpN-0006Mk-49 for ; Fri, 20 Feb 2004 21:25:13 -0500 Date: Sat, 21 Feb 2004 02:25:00 -0000 From: Daniel Jacobowitz To: gdb@sources.redhat.com Subject: Re: 32-bit gcore on amd64 Message-ID: <20040221022513.GC19335@nevyn.them.org> Mail-Followup-To: gdb@sources.redhat.com References: <403542D6.2070603@gnu.org> <20040219232407.GA472@nevyn.them.org> <403551FF.70401@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <403551FF.70401@gnu.org> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-02/txt/msg00305.txt.bz2 On Thu, Feb 19, 2004 at 07:17:03PM -0500, Andrew Cagney wrote: > >On Thu, Feb 19, 2004 at 06:12:22PM -0500, Andrew Cagney wrote: > > > >>>This is more questions than answers. I'm trying to figure out how GDB > >>>should generate 32-bit core files on amd64 (i.e., get gmake check > >>>'RUNTESTFLAGS=--target_board=unix/-m32 gcore.exp' to pass). The problem > >>>is, everything I look at feels wrong. > >>> > >>>Here's the first backtrace: > >>> > >>>#0 amd64_collect_native_gregset (regcache=0x808410, gregs=0x7fbfffead0, > >>> regnum=-1) at /home/cygnus/cagney/GDB/src/gdb/amd64-nat.c:124 > >>>#1 0x0000000000450e16 in fill_gregset (gregsetp=0x808410, > >>>regnum=-1073747248) > >>> at /home/cygnus/cagney/GDB/src/gdb/x86-64-linux-nat.c:126 > >>>#2 0x000000000045803d in linux_do_thread_registers (obfd=0x87fc90, ptid= > >>> {pid = 10494, lwp = 10494, tid = 0}, note_data=0x8b0960 "\005", > >>> note_size=0x7fbfffed8c) at > >>>/home/cygnus/cagney/GDB/src/gdb/linux-proc.c:180 > >>> > >>>This function is asking fill_gregset to populate an amd64 gregset_t. I > >>>think it should be asking for the 32-bit gregset_t to be filled in. > > > > > >Does the same thing apply to mips64-linux/-mabi=32? Normally we make a > >point of only dealing with the registers' "real" size. > > "Possibly", can you clarify this a little? > > GDB debugging a 32-bit i386 program should always "gcore" a 32-bit i386 > core file. I was just referring to the same thing Mark mentioned: what the kernel actually dumps. I'm pretty sure a MIPS64 Linux kernel dumps 64-bit core files for all programs. On the other hand, it looks like the latest 2.6 kernels don't do that any more; how fast I am outdated... -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer