32-bit gcore on amd64

Andrew Cagney cagney@gnu.org
Fri Feb 20 00:17:00 GMT 2004


> 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.

Andrew




More information about the Gdb mailing list