This is the mail archive of the gdb@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: [RFC] TARGET_OBJECT_WCOOKIE


On Sun, Feb 01, 2004 at 06:02:17PM +0100, Mark Kettenis wrote:
> Actually the purpose of this RFC is twofold.
> 
> First, I'd like to add a TARGET_OBJECT_WCOOKIE method to support the
> StackGhost cookie on OpenBSD/sparc.  This really is something
> target-related rather than OS/ABI related.  GDB will have to deal with
> StackGhost when running non-OpenBSD binaries on an OpenBSD kernel.
> Moreover, older OpenBSD kernels might not have StackGhost.  Anyway,
> are there objections to adding something like the attached patch?

Not from me.

> The second issue I'd like your opinion on is related to the patch.  I
> followed the example set by TARGET_OBJECT_UNWIND_TABLE in having a
> macro (NATIVE_XFER_WCOOKIE) to invoke the native-specific function
> that fetches the cookie.  This macro would be defined in the nm.h
> file, but wasn't it our goal to get rid of the nm.h file sooner rather
> than later?  Shouldn't we add another method for these kinds of hooks?
> The obvious alternatives are:
> 
> a) Use a public function pointer, which is initialized to some
>    do-nothing-and-return-minus-one function by default.  This function
>    pointer would be overridden by some code in the appropraite *-nat.c
>    files.
> 
> b) Use a private function pointer, and provide a function to set that
>    pointer, along the lines of inftarg_set_find_memory_regions().
> 
> Opinions?

Personally, I think the -nat files should have a chance to edit
child_ops, or provide their own version of child_ops.  This would
eliminate 90% of the gunk in nm* files which is checked in the various
inf* files implementing child_ops.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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