This is the mail archive of the gdb-patches@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: [PATCH] gdb.ada/catch_ex.exp, gdb.ada/mi_catch_ex.exp and unsupported catchpoints


On Friday 09 December 2011 17:43:40, Tom Tromey wrote:
> >>>>> "Pedro" == Pedro Alves <pedro@codesourcery.com> writes:
> 
> Joel> The problem is that we need to get to the argument of function we are
> Joel> breaking on in order to determine which exception has been raised.
> Joel> That's where we really need the debug info. I think I even added
> Joel> a comment about that in the code...
> 
> Pedro> GDB knows the target's function call ABI (for infcalls), and supposedly
> Pedro> this function's prototype is cast in stone as part of the ABI too.
> Pedro> GDB could just know where to get the arguments from?
> 
> Yeah, it could be done.  Right now though the knowledge in GDB is in a
> form that is specific to making infcalls, not decoding them.  So, adding
> this functionality would be a significant amount of work, and also
> non-trivial to test.  I count 51 calls to set_gdbarch_push_dummy_call in
> the tree...
> 

But _only_ 45 unique callbacks.

$ grep set_gdbarch_push_dummy_call *-tdep.c | sed 's/.*arch, //g; s/);//g' | sort | uniq | wc -l
45

:-D

Kidding aside, obviously we wouldn't need to convert
everything at once.  We could even get away with only handling
the simpler prototypes we care about at first.

-- 
Pedro Alves


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