This is the mail archive of the 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 <> 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


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]