diff options
author | Adam Fedor <fedor@gnu.org> | 2003-03-26 03:39:44 +0000 |
---|---|---|
committer | Adam Fedor <fedor@gnu.org> | 2003-03-26 03:39:44 +0000 |
commit | f636b87d5a32b8962b7dce92b2d289b6c314bad8 (patch) | |
tree | 1c43c3f4e734ed132d7896acf57a0ec0240ccbdd /gdb/infrun.c | |
parent | 05e6bb2fc936e70269f11767fd0112518cd4ef96 (diff) | |
download | gdb-f636b87d5a32b8962b7dce92b2d289b6c314bad8.zip gdb-f636b87d5a32b8962b7dce92b2d289b6c314bad8.tar.gz gdb-f636b87d5a32b8962b7dce92b2d289b6c314bad8.tar.bz2 |
* Makefile.in (infrun.o): Add $(language_h)
* infrun.c (handle_inferior_event): Use skip_language_trampoline
for language specific trampolines.
* language.h (struct language_defn): Add skip_trampoline.
(skip_language_trampoline): Declare.
* language.c (unk_lang_trampoline, skip_language_trampoline):
New functions.
(unknown_language_defn, auto_language_defn, local_language_defn):
Add ukn_lang_trampoline.
* ada-lang.c (ada_language_defn): Add NULL for language
specific skip_trampoline.
* c-lang.c, f-lang.c, jv-lang.c, m2-lang.c, p-lang.c,
scm-lang.c: Likewise.
* objc-lang.c (objc_skip_trampoline): New function.
(objc_language_defn): Add objc_skip_trampoline.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index 03a8e57..6da3394 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -43,6 +43,7 @@ #include "regcache.h" #include "value.h" #include "observer.h" +#include "language.h" /* Prototypes for local functions */ @@ -2386,7 +2387,9 @@ process_event_stop_test: function. That's what tells us (a) whether we want to step into it at all, and (b) what prologue we want to run to the end of, if we do step into it. */ - real_stop_pc = SKIP_TRAMPOLINE_CODE (stop_pc); + real_stop_pc = skip_language_trampoline (stop_pc); + if (real_stop_pc == 0) + real_stop_pc = SKIP_TRAMPOLINE_CODE (stop_pc); if (real_stop_pc != 0) ecs->stop_func_start = real_stop_pc; |