aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.h
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2009-08-20 18:02:48 +0000
committerDoug Evans <dje@google.com>2009-08-20 18:02:48 +0000
commit4efc6507960ac76505ebb1be9886f207ceb46c3a (patch)
treeaf68d7cb89746890d09bd44080fe6816ca12bb1c /gdb/breakpoint.h
parentc469dcaa811e4c7d781f6ba9e9dd25fab234604f (diff)
downloadbinutils-4efc6507960ac76505ebb1be9886f207ceb46c3a.zip
binutils-4efc6507960ac76505ebb1be9886f207ceb46c3a.tar.gz
binutils-4efc6507960ac76505ebb1be9886f207ceb46c3a.tar.bz2
Add interface for JIT code generation.
* NEWS: Announce JIT interface. * Makefile.in (SFILES): Add jit.c. (HFILES_NO_SRCDIR): Add jit.h. (COMMON_OBS): Add jit.o. * jit.c: New file. * jit.h: New file. * breakpoint.h (enum bptype): Add bp_jit_event to enum. * breakpoint.c: (update_breakpoints_after_exec): Delete jit breakpoints after exec. (bpstat_what): Update event table for bp_jit_event. (print_it_typical): Added case for bp_jit_event. (print_one_breakpoint_location): Added case for bp_jit_event. (allocate_bp_location): Added case for bp_jit_event. (mention): Added case for bp_jit_event. (delete_command): Added case for bp_jit_event. (breakpoint_re_set_one): Added case for bp_jit_event. (breakpoint_re_set): Added call to jit_inferior_created_hook. (create_jit_event_breakpoint): New. * infrun.c (handle_inferior_event): Add handler for jit event. (follow_exec): Add call to jit_inferior_created_hook. * doc/gdb.texinfo: Add chapter on JIT interface.
Diffstat (limited to 'gdb/breakpoint.h')
-rw-r--r--gdb/breakpoint.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index d93c6b6..70b1398 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -120,6 +120,9 @@ enum bptype
bp_catchpoint,
bp_tracepoint,
+
+ /* Event for JIT compiled code generation or deletion. */
+ bp_jit_event,
};
/* States of enablement of breakpoint. */
@@ -554,6 +557,9 @@ enum bpstat_what_main_action
keep checking. */
BPSTAT_WHAT_CHECK_SHLIBS,
+ /* Check for new JITed code. */
+ BPSTAT_WHAT_CHECK_JIT,
+
/* This is just used to keep track of how many enums there are. */
BPSTAT_WHAT_LAST
};
@@ -865,6 +871,9 @@ extern void mark_breakpoints_out (void);
extern void make_breakpoint_permanent (struct breakpoint *);
+extern struct breakpoint *create_jit_event_breakpoint (struct gdbarch *,
+ CORE_ADDR);
+
extern struct breakpoint *create_solib_event_breakpoint (struct gdbarch *,
CORE_ADDR);