This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]