This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: gdb/1971: doing a 'next' from start of __libc_main causes segfault
- From: Daniel Jacobowitz <drow at false dot org>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 16 Jul 2005 14:48:00 -0000
- Subject: Re: gdb/1971: doing a 'next' from start of __libc_main causes segfault
- Reply-to: Daniel Jacobowitz <drow at false dot org>
The following reply was made to PR gdb/1971; it has been noted by GNATS.
From: Daniel Jacobowitz <drow@false.org>
To: gnu@greglaw.net
Cc: gdb-gnats@sources.redhat.com
Subject: Re: gdb/1971: doing a 'next' from start of __libc_main causes segfault
Date: Sat, 16 Jul 2005 10:43:22 -0400
On Sat, Jul 16, 2005 at 12:17:13PM -0000, gnu@greglaw.net wrote:
> Load any C program into the debugger. Set a breakpoint at
> __libc_start_main. Start the pogram. When the breakpoint is hit,
> type 'next'. This results in a segfault.
Ohoh, that's interesting. I can reproduce. The problem is with the
mechanism used to stop backtraces at main. Once we've stepped into
main, we can't backtrace out of it by default, but the next() code
assumes that get_prev_frame succeeded.
What probably _ought_ to happen is the program ought to run to
completion; after stepping into main we should put a breakpoint on the
return address of main. I'd settle for stopping in main in this case.
--
Daniel Jacobowitz
CodeSourcery, LLC