diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-05-07 11:49:05 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-05-07 11:49:05 +0000 |
commit | b18be20d0aadff1e7c5b4d161177481aa61b9fc4 (patch) | |
tree | b3807e7e3e98d6155edff77c65a25c93542aee32 /gdb/cp-abi.c | |
parent | dda9b909e68c77cae3ad23e67b8acd5809652997 (diff) | |
download | gdb-b18be20d0aadff1e7c5b4d161177481aa61b9fc4.zip gdb-b18be20d0aadff1e7c5b4d161177481aa61b9fc4.tar.gz gdb-b18be20d0aadff1e7c5b4d161177481aa61b9fc4.tar.bz2 |
* 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 23b5f9a..7bc1552 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) { |