This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: 7.3 is broken on FreeBSD
> Here is the debugging session log, debugging gdb-7.3 running debug
> thunderbird with gdb-7.2:
[...]
> (gdb) r
> Starting program: /usr/local/lib/thunderbird/thunderbird-bin
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 8018041c0 (LWP 101940)]
Can you look at gdb/config.in in the build directory, and tell
me if the following macro is defined?
HAVE_PT_GETDBREGS
It looks like there definitely is a weakness that leaves the
i386_dr_low structure unset if that macro is not defined. But
as far as I can tell, it's working just great for me.
The code in question is _initialize_i386fbsd_nat:
#ifdef HAVE_PT_GETDBREGS
i386_use_watchpoints (t);
i386_dr_low.set_control = i386bsd_dr_set_control;
i386_dr_low.set_addr = i386bsd_dr_set_addr;
i386_dr_low.reset_addr = i386bsd_dr_reset_addr;
i386_dr_low.get_status = i386bsd_dr_get_status;
i386_set_debug_register_length (4);
#endif /* HAVE_PT_GETDBREGS */
I don't have FreeBSD 8.2 lying around, can you see if
PT_GETDBREGS is defined in /usr/include/sys/ptrace.h?
As fra as I can tell, it's still available in FreeBSD 8.1.
In the meantime, I think we'll process with the first pre-release,
with a question mark on FreeBSD 8.2. We might release with 8.2
being known to be broken, we'll see when we're ready to make
the release whether to wait for a fix or not (just to be clear,
I am not planning on working on this, I won't even have time).
--
Joel