This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Debugging 32bit apps with 64bit target gdb
> From: Paul Smith <psmith@gnu.org>
> Date: Sun, 22 May 2011 18:55:01 -0400
>
> On Mon, 2011-05-23 at 00:40 +0200, Mark Kettenis wrote:
> > > From: Paul Smith <psmith@gnu.org>
> > > Date: Sun, 22 May 2011 18:25:10 -0400
> > >
> > > A short summary, I'm trying to see if I can build one GDB executable
> > > with all these properties:
> > >
> > > * Is a 32bit application so it can run on both 32bit and 64bit
> > > systems
> > > * Can debug 32bit applications
> > > * Can debug 64bit applications (when run on a 64bit system
> > > obviously)
> > > * If I can get it to debug a 64bit core file when running on a
> > > 32bit system (with --sysroot pointing to a 64bit sysroot of
> > > course) that would be awesome.
> > >
> > > I'm only concerned with x86 architectures (for now?)
> > >
> > > Is such a thing possible?
> >
> > I believe this is possible on Solaris. It is possible on powerpc
> > Linux. It is *not* possible on Linux. Not GDB's fault. The x86
> > Linux kernel simply doesn't provide the necessary support.
>
> Yes, I'm using Linux. Sorry to forget that detail.
>
> Interesting. I could have sworn I've seen this work before but maybe
> there was simply magic going on behind the scenes (gdb was a shell
> script that invoked a correct version based on the target architecture,
> or something).
>
> So, I need to build a 32bit GDB to debug 32bit apps and a 64bit GDB to
> debug 64bit apps?
A 64-bit x86 Linux GDB will debug both 32-bit and 64-bit code. A
32-bit x86 Linux GDB will only debug 32-bit code.
Cheers,
Mark