* 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:
parent
05e6bb2fc9
commit
f636b87d5a
13 changed files with 106 additions and 3 deletions
|
@ -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) */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue