This is the mail archive of the gdb-patches@sources.redhat.com 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: [PATCH] i386bsd-nat.c tweak


On Mon, Aug 09, 2004 at 10:48:25PM +0200, Mark Kettenis wrote:
> diff -u -p -r1.29 i386bsd-nat.c
> --- i386bsd-nat.c 31 May 2004 11:20:41 -0000 1.29
> +++ i386bsd-nat.c 9 Aug 2004 20:31:18 -0000
> @@ -357,10 +357,10 @@ _initialize_i386bsd_nat (void)
>  #define SC_REG_OFFSET i386nbsd_sc_reg_offset
>  #elif defined (OpenBSD)
>  #define SC_REG_OFFSET i386obsd_sc_reg_offset
> -#else
> -#define SC_REG_OFFSET i386bsd_sc_reg_offset
>  #endif

This disables the code below on GNU/kFreeBSD, but it's still enabled in
FreeBSD 4.x or later.

Our sigcontext structure is like FreeBSD's (the code is borrowed from
machine/signal.h).  My impression is that on GNU/kFreeBSD we want to define
SC_REG_OFFSET i386fbsd4_sc_reg_offset.  Please let me know if I'm missing
something.

Build on GNU/kFreeBSD still works, but it might be that keeping SC_REG_OFFSET
undefined results in a weird runtime bug that will be difficult to trace, so
I'd really like to be sure this part is ok.
 
> +#ifdef SC_REG_OFFSET
> +
>    /* We only check the program counter, stack pointer and frame
>       pointer since these members of `struct sigcontext' are essential
>       for providing backtraces.  More checks could be added, but would
> @@ -410,4 +410,6 @@ Please report this to <bug-gdb@gnu.org>.
>      }
>  
>    SC_FP_OFFSET = offset;
> +
> +#endif /* SC_REG_OFFSET */
>  }

-- 
Robert Millan

(Debra and Ian) (Gnu's Not (UNiplexed Information and Computing System))/\
(kernel of *(Berkeley Software Distribution))


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