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/language.h | |
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/language.h')
-rw-r--r-- | gdb/language.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/language.h b/gdb/language.h index b786959..4b9f8ce 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -203,6 +203,12 @@ struct language_defn int (*la_value_print) (struct value *, struct ui_file *, int, enum val_prettyprint); + /* PC is possibly an unknown languages trampoline. + If that PC falls in a trampoline belonging to this language, + return the address of the first pc in the real function, or 0 + if it isn't a language tramp for this language. */ + CORE_ADDR (*skip_trampoline) (CORE_ADDR pc); + /* Base 2 (binary) formats. */ struct language_format_info la_binary_format; @@ -465,4 +471,8 @@ extern void add_language (const struct language_defn *); extern enum language get_frame_language (void); /* In stack.c */ +/* Check for a language-specific trampoline. */ + +extern CORE_ADDR skip_language_trampoline (CORE_ADDR pc); + #endif /* defined (LANGUAGE_H) */ |