aboutsummaryrefslogtreecommitdiff
path: root/gdb/jit.c
AgeCommit message (Collapse)AuthorFilesLines
2012-02-01 PR gdb/13431:Tom Tromey1-94/+121
* jit.c (struct jit_inferior_data): Rewrite. (struct jit_objfile_data): New. (get_jit_objfile_data): New function. (add_objfile_entry): Update. (jit_read_descriptor): Return int. Replace descriptor_addr argument with inf_data. Update. Don't call error. (jit_breakpoint_re_set_internal): Reorder logic. Update. Look up descriptor here. (jit_inferior_init): Don't look up descriptor. Don't call error. (jit_reset_inferior_data_and_breakpoints) (jit_inferior_created_observer): Remove. (jit_inferior_exit_hook): Update. (jit_executable_changed_observer): Remove. (jit_event_handler): Update. (free_objfile_data): Reset inferior data if needed. (_initialize_jit): Update. gdb/testsuite * gdb.base/jit-simple.exp: New file. * gdb.base/jit-simple.c: New file.
2012-02-01 * jit.c (bfd_open_from_target_memory): Move higher in file.Tom Tromey1-18/+18
2012-01-04Copyright year update in most files of the GDB Project.Joel Brobecker1-1/+1
gdb/ChangeLog: Copyright year update in most files of the GDB Project.
2011-12-21 * hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence): UseTom Tromey1-3/+1
ALL_OBJFILE_MSYMBOLS. (hppa_hpux_find_dummy_bpaddr): Likewise. * jit.c (jit_object_close_impl): Use terminate_minimal_symbol_table.
2011-11-29gdb/Sanjoy Das1-4/+5
* jit.c (add_objfile_entry, jit_reader_try_read_symtab) (jit_bfd_try_read_symtab): Fix comments.
2011-11-27gdb/Sanjoy Das1-7/+12
Fix regression in jit.exp. * jit.c (jit_reader_try_read_symtab, jit_bfd_try_read_symtab) (jit_register_code): Set the jit_objfile_data field to the correct value.
2011-11-20gdb/Sanjoy Das1-0/+259
* jit.c: Include regcache.h. (jit_gdbarch_data, jit_frame_unwind): New static variables. (jit_unwind_reg_set_impl, free_reg_value_impl) (jit_unwind_reg_get_impl, jit_frame_sniffer) (jit_frame_unwind_stop_reason, jit_frame_this_id) (jit_frame_prev_register, jit_dealloc_cache) (jit_prepend_unwinder, jit_gdbarch_data_init): New functions. (jit_inferior_init): Prepend (new) pseudo unwinder by calling jit_prepend_unwinder. (_initialize_jit): Register new gdbarch data jit_gdbarch_data.
2011-11-20gdb/Sanjoy Das1-13/+468
* jit.c: Include block.h, dictionary.h and frame-unwind.h. (add_objfile_entry, jit_target_read_impl, jit_object_open_impl) (jit_symtab_open_impl, compare_block, jit_block_open_impl) (jit_symtab_line_mapping_add_impl, jit_symtab_close_impl) (finalize_symtab, jit_object_close_impl) (jit_reader_try_read_symtab, jit_bfd_try_read_symtab) (free_objfile_data): New functions. (_initialize_jit): Register jit_objfile_data with a proper cleanup function.
2011-11-20gdb/Sanjoy Das1-0/+100
* jit.c: Include gdb-dlfcn.h. (loaded_jit_reader, reader_init_fn_sym): New static variables. (jit_reader_load, jit_reader_load_command) (jit_reader_unload_command): New functions. (_initialize_jit): Add commands "jit-reader-load" and "jit-reader-unload".
2011-11-20gdb/Sanjoy Das1-0/+4
* config.in: Add new #defines: JIT_READER_DIR and JIT_READER_DIR_RELOCATABLE. * configure.ac: New GDB directory entry for jit-reader-dir. * configure: Re-generated by autoconf. * jit.c: New static variable: const char *jit_reader_dir. (_initialize_jit): Relocate jit_reader_dir.
2011-11-20gdb/Sanjoy Das1-0/+1
* Makefile.in: Add jit-reader.h as a header. Have it installed in $(includedir)/gdb. * configure.ac: Generate a correct value for TARGET_PTR for jit-reader.h. Tell configure to generate jit-reader.h from jit-reader.in. * configure: Re-generated by autoconf. * jit-reader.in: New file. * jit.c: Include jit-reader.h.
2011-10-28gdb/Jan Kratochvil1-6/+10
PR symtab/13208 * jit.c (jit_register_code): Remove unused variable my_cleanups. Check for NULL from bfd_open_from_target_memory. Fix ownership of NBFD and SAI.
2011-10-11Fix jit.exp on most 32-bit targets.David S. Miller1-2/+8
* gdbarch.sh: New field 'long_long_align_bit'. * gdbarch.c, gdbarch.h: Regenerate. * i386-tdep.c (i386_gdbarch_init): Set long_long_align_bit to 32. * jit.c (jit_read_code_entry): Use it to determine correct size offset.
2011-07-07Minor forward declaration reformatting (jit.c)Joel Brobecker1-2/+1
gdb/ChangeLog: * jit.c (jit_inferior_init): Reformat forward declaration.
2011-07-06Fix JIT clang-lli regression (unable to read JIT descriptor from memory)Joel Brobecker1-0/+8
2011-07-06 Paul Pluzhnikov <ppluzhnikov@google.com> * jit.c (jit_inferior_init): Forward declare. (jit_breakpoint_re_set_internal): Call jit_inferior_init. testsuite/ChangeLog: 2011-07-06 Paul Pluzhnikov <ppluzhnikov@google.com> * gdb.base/jit-so.exp: New test. * gdb.base/jit-dlmain.c: New file. * gdb.base/jit-main.c: Allow "main" to be elsewhere.
2011-04-17bfd/Jan Kratochvil1-1/+1
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for SEC_LOAD. gdb/ Fix convert_code_addr_to_desc_addr for ppc64 files after eu-strip. * elfread.c (elf_symfile_read): New variable synth_abfd, pass it to bfd_get_synthetic_symtab. * jit.c (jit_register_code): Pass NULL to the new parameter parent. * machoread.c (macho_add_oso_symfile): Pass main_objfile to the new parameter parent, remove the call to add_separate_debug_objfile. * solib.c (solib_read_symbols): Pass NULL to the new parameter parent. * symfile-mem.c (symbol_file_add_from_memory): Likewise. * symfile.c (symbol_file_add_with_addrs_or_offsets): New parameter parent, new comment for it, call add_separate_debug_objfile for it. (symbol_file_add_separate): Pass objfile as the parameter parent, remove the call to add_separate_debug_objfile. (symbol_file_add_from_bfd): New parameter parent, pass it. (symbol_file_add): Pass NULL to the new parameter parent. * symfile.h (symbol_file_add_from_bfd): New parameter parent. gdb/testsuite/ * gdb.base/eu-strip-infcall.c: New file. * gdb.base/eu-strip-infcall.exp: New file.
2011-01-312011-01-31 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov1-73/+126
* breakpoint.h (remove_jit_event_breakpoints): New prototype. * breakpoint.c (remove_jit_event_breakpoints): New function. * jit.c (jit_descriptor_addr): Delete. (registering_code): Delete. (clear_int): Delete. (jit_inferior_data): New variable. (struct jit_inferior_data): New type. (get_jit_inferior_data): New function. (jit_inferior_data_cleanup): New function. (jit_read_descriptor): Adjust. (jit_register_code): Adjust. (jit_breakpoint_re_set_internal): New function; move code here ... (jit_inferior_init): ... from here. (jit_breakpoint_re_set): Adjust. (jit_reset_inferior_data_and_breakpoints): New function. (jit_inferior_created_observer): Adjust. (jit_inferior_exit_hook): Adjust. (jit_executable_changed_observer): New function. (jit_event_handler): Adjust. (_initialize_jit): Adjust.
2011-01-092011-01-08 Michael Snyder <msnyder@vmware.com>Michael Snyder1-15/+18
* h8300-tdep.c: Comment cleanup, mostly periods and spaces. * hppa-hpux-tdep.c: Ditto. * hppa-linux-nat.c: Ditto. * hppa-linux-tdep.c: Ditto. * hppanbsd-tdep.c: Ditto. * hppa-tdep.c: Ditto. * hppa-tdep.h: Ditto. * hpux-thread.c: Ditto. * i386-cygwin-tdep.c: Ditto. * i386-darwin-nat.c: Ditto. * i386gnu-nat.c: Ditto. * i386-linux-nat.c: Ditto. * i386-linux-tdep.c: Ditto. * i386-nat.c: Ditto. * i386-nat.h: Ditto. * i386nbsd-tdep.c: Ditto. * i386-sol2-nat.c: Ditto. * i386-stub.c: Ditto. * i386-tdep.c: Ditto. * i386-tdep.h: Ditto. * i387-tdep.c: Ditto. * ia64-linux-nat.c: Ditto. * ia64-linux-tdep.c: Ditto. * ia64-tdep.c: Ditto. * infcall.c: Ditto. * infcall.h: Ditto. * infcmd.c: Ditto. * inferior.c: Ditto. * inferior.h: Ditto. * infloop.c: Ditto. * inflow.c: Ditto. * infrun.c: Ditto. * interps.c: Ditto. * interps.h: Ditto. * iq2000-tdep.c: Ditto. * irix5-nat.c: Ditto. * jit.c: Ditto. * jit.h: Ditto. * jv-exp.y: Ditto. * jv-lang.c: Ditto. * jv-lang.h: Ditto. * jv-typeprint.c: Ditto. * jv-valprint.c: Ditto. * language.c: Ditto. * language.h: Ditto. * linespec.c: Ditto. * linux-fork.c: Ditto. * linux-nat.c: Ditto. * linux-thread-db.c: Ditto. * lm32-tdep.c: Ditto.
2011-01-06ChangeLog:Paul Pluzhnikov1-2/+44
2010-01-06 Paul Pluzhnikov <ppluzhnikov@google.com> * jit.h (struct jit_code_entry): use ULONGEST for symfile_size. * jit.c (jit_debug): New variable. (show_jit_debug): New function. (struct target_buffer): Use ULONGEST. (bfd_open_from_target_memory): Likewise. (jit_register_code, jit_inferior_init): Add debug output. (_initialize_jit): Register "debug jit" command. doc/ChangeLog: 2010-01-06 Paul Pluzhnikov <ppluzhnikov@google.com> * gdb.texinfo (Debugging Output): Document "set debug jit".
2011-01-01run copyright.sh for 2011.Joel Brobecker1-1/+1
2010-05-072010-05-06 Michael Snyder <msnyder@vmware.com>Michael Snyder1-1/+0
* xml-support.c (xinclude_start_include): Delete unused variable. (xml_process_xincludes): Delete unused variable. * xml-syscall.c (syscall_parse_xml): Delete unused variable. * target-descriptions.c (tdesc_gdb_type): Delete unused variable. (tdesc_find_arch_register): Delete unused variable. (tdesc_use_registers): Delete unused variable. * xml-tdesc.c (tdesc_start_target): Delete unused variable. * inferior.c (print_inferior): Delete unused variable. * record.c (record_open_1): Delete unused variable. (record_restore): Delete unused variable. (cmd_record_save): Delete unused variable. * gcore.c (derive_heap_segment): Delete unused variable. (objfile_find_memory_regions): Use unused variable. * jit.c (jit_inferior_init): Delete unused variable. * progspace.c (clone_program_space): Delete unused variable. (pspace_empty_p): Delete unused variable.
2010-02-24 Multiexec MIVladimir Prus1-1/+1
* breakpoint.c (clear_syscall_counts): Take struct inferior*. * inferior.c (add_inferior_silent): Notify inferior_added observer. (delete_inferior_1): Notify inferior_removed observer. (exit_inferior_1): Pass inferior, not pid, to observer. (inferior_appeared): Likewise. (add_inferior_with_spaces): New. (add_inferior_command): Use the above. * inferior.h (delete_inferior_1, add_inferior_with_spaces): Declare. * inflow.c (inflow_inferior_exit): Likewise. * jit.c (jit_inferior_exit_hook): Likewise. * mi/mi-cmds.c (mi_cmds): Register add-inferior and remove-inferior. * mi/mi-cmds.h (mi_cmd_add_inferior, mi_cmd_remove_inferior): New. * mi/mi-interp.c (mi_inferior_added, mi_inferior_removed): New. (report_initial_inferior): New. (mi_inferior_removed): Register the above. Make sure inferior_added observer is called on the first inferior. (mi_new_thread, mi_thread_exit): Thread group is now identified by inferior number, not pid. (mi_solib_loaded, mi_solib_unloaded): Report which inferiors are affected. * mi/mi-main.c (current_context): New. (proceed_thread_callback): Use typed closure. Proceed everything if pid is 0. Most implementation split into (proceed_thread): ... this. (run_one_inferior): New. (mi_cmd_exec_continue, mi_cmd_exec_interrupt, mi_cmd_exec_run): Adjust for multiexec behaviour. (mi_cmd_add_inferior, mi_cmd_remove_inferior): New. (mi_cmd_execute): Handle the 'thread-group' option here. Do some extra checks. * mi-parse.c (mi_parse): Handle the --all and --thread-group options. * mi-parse.h (struct mi_parse): New fields all and thread_group.
2010-01-01Update copyright year in most headers.Joel Brobecker1-2/+1
Automatic update by copyright.sh.
2009-11-16 * xcoffread.c (scan_xcoff_symtab): Update.Tom Tromey1-1/+1
* symfile.h (add_psymbol_to_list): Update prototype. * symfile.c (add_psymbol_to_bcache): Add copy_name argument. (add_psymbol_to_list): Likewise. * stabsread.c (define_symbol): Update. * mdebugread.c (parse_partial_symbols): Update. (handle_psymbol_enumerators): Update. (new_symbol): Update. * dbxread.c (read_dbx_symtab): Update. * coffread.c (process_coff_symbol): Update. * symtab.h (prim_record_minimal_symbol_full): Declare. (SYMBOL_SET_NAMES): Add copy_name argument. * symtab.c (struct demangled_name_entry): New struct. (hash_demangled_name_entry): New function. (eq_demangled_name_entry): Likewise. (create_demangled_names_hash): Use new functions. (symbol_set_names): Use struct demangled_name_entry. Add copy_name argument. * minsyms.c (prim_record_minimal_symbol_full): New function. (prim_record_minimal_symbol_and_info): Use it. * elfread.c (record_minimal_symbol): Add name_len and copy_name arguments. Call prim_record_minimal_symbol_full. (elf_symtab_read): Add copy_names argument. (elf_symfile_read): Update calls to elf_symtab_read. * dwarf2read.c (add_partial_symbol): Don't copy symbol names. (load_partial_dies): Likewise. (new_symbol): Likewise. * cp-namespace.c (check_one_possible_namespace_symbol): Don't save name on the obstack. Update call to SYMBOL_SET_NAMES.
2009-08-21 * jit.c (jit_event_handler): Use paddress to print target addresses.Doug Evans1-2/+2
Wrap printf string in _().
2009-08-21 * jit.c (jit_read_descriptor): New arg gdbarch, all callers updated.Doug Evans1-22/+45
(jit_read_code_entry, jit_register_code): Ditto. (jit_event_handler): Ditto. (jit_inferior_init): Renamed from previous jit_inferior_created_hook. (jit_inferior_created_hook, jit_breakpoint_re_set): New functions. (jit_inferior_created_observer): Renamed from jit_inferior_created_hook1, all callers updated. * jit.h (jit_breakpoint_re_set): Declare. (jit_event_handler): Update prototype. * breakpoint.c (breakpoint_re_set): Call jit_breakpoint_re_set instead of jit_inferior_created_hook.
2009-08-20 Add interface for JIT code generation.Doug Evans1-0/+438
* 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.