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



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?

It sux less than some of the other existing alternatives - in particular the way certain /proc or ptrace specific functions just happen to be linked in. Makes a real mess of the idea of having both /proc and ptrace support in a single executable.


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.

Have "proc" and "ptrace" export functions for creating fairly generic target ops and then have *-nat "inherit" from it (or push on-top of it)?


Andrew



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