diff options
author | Daniel Jacobowitz <dan@debian.org> | 2007-05-07 11:49:05 +0000 |
---|---|---|
committer | Daniel Jacobowitz <dan@debian.org> | 2007-05-07 11:49:05 +0000 |
commit | 47e2ac0d3a70a7426118678fdf3d12a3377ce9e1 (patch) | |
tree | 15d158e00db4ac2d1ce6cbdf702338383eb4e470 /gdb/cp-abi.c | |
parent | fc743d79f8859b1d4810d132329fccaad6371a10 (diff) | |
download | gdb-47e2ac0d3a70a7426118678fdf3d12a3377ce9e1.tar.gz |
* Makefile.in (c-lang.o, gnu-v3-abi.o): Update.
* NEWS: Mention improved C++ thunk support.
* c-lang.c (cplus_language_defn): Mention cplus_skip_trampoline.
* cp-abi.c (cplus_skip_trampoline): New.
* cp-abi.h (cplus_skip_trampoline): New prototype.
(struct cp_abi_ops): Add skip_trampoline member.
* gnu-v3-abi.c (gnuv3_skip_trampoline): New.
(init_gnuv3_ops): Set skip_trampoline.
* gdb.cp/virtfunc.exp (proc do_tests): Test stepping through a thunk.
Diffstat (limited to 'gdb/cp-abi.c')
-rw-r--r-- | gdb/cp-abi.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/cp-abi.c b/gdb/cp-abi.c index 23b5f9a20e1..7bc15525977 100644 --- a/gdb/cp-abi.c +++ b/gdb/cp-abi.c @@ -121,6 +121,14 @@ cplus_make_method_ptr (gdb_byte *contents, CORE_ADDR value, int is_virtual) (*current_cp_abi.make_method_ptr) (contents, value, is_virtual); } +CORE_ADDR +cplus_skip_trampoline (CORE_ADDR stop_pc) +{ + if (current_cp_abi.skip_trampoline == NULL) + return 0; + return (*current_cp_abi.skip_trampoline) (stop_pc); +} + struct value * cplus_method_ptr_to_value (struct value **this_p, struct value *method_ptr) { |