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


On 07/06/2011 15:42, Joel Brobecker wrote:
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

I have #undef 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?


#define PT_GETDBREGS 37 /* get debugging registers */


Yuri



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