* 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.
This commit is contained in:
Adam Fedor 2003-03-26 03:39:44 +00:00
parent 05e6bb2fc9
commit f636b87d5a
13 changed files with 106 additions and 3 deletions

View file

@ -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) */