+
+ Refactor DIE reading.
+ * dwarf2read.c (dwarf2_per_objfile): Replace members
+ debug_info_type_hash and debug_types_type_hash with die_type_hash.
+ (die_reader_specs): New member "die_section". Temporarily make
+ member "buffer" non-const, pending constifying all info_ptr uses.
+ (die_reader_func_ftype): New typedef.
+ (dw2_get_file_names_reader): New function.
+ (dw2_get_file_names): Rewrite.
+ (read_and_check_type_unit_head): Rename arg type_offset to
+ type_offset_in_tu.
+ (create_all_type_units): Improve debugging message.
+ Improve dummy type unit check.
+ (init_cu_die_reader): New arg "section". All callers updated.
+ (init_and_read_dies_worker): New function.
+ (init_cu_and_read_dies, init_tu_and_read_dies): New functions.
+ (init_cutu_and_read_dies_no_follow): New function.
+ (init_cutu_and_read_dies_simple): New function.
+ (process_psymtab_comp_unit_reader): New function.
+ (process_psymtab_comp_unit): Delete args section,
+ is_debug_types_section. Rewrite. All callers updated.
+ (process_psymtab_type_unit): Renamed from process_type_comp_unit.
+ All callers updated. Rewrite.
+ (load_partial_comp_unit_reader): New function.
+ (load_partial_comp_unit): Rewrite.
+ (skip_children): New arg reader. Delete args buffer, cu.
+ All callers updated.
+ (skip_one_die): New arg reader. Delete args buffer, cu.
+ All callers updated.
+ (locate_pdi_sibling): New arg reader. Delete args buffer, abfd, cu.
+ All callers updated.
+ (load_full_comp_unit_reader): New function.
+ (load_full_comp_unit): Rewrite.
+ (read_comp_unit): Delete.
+ (read_die_and_children_1): Delete, contents moved ...
+ (read_die_and_children): ... here.
+ (dwarf2_read_abbrevs): New arg abbrev_section. All callers updated.
+ (load_partial_dies): New arg reader. Delete args abfd, buffer, cu.
+ All callers updated.
+ (read_partial_die): New arg reader. Delete args abfd, buffer, cu.
+ All callers updated.
+ (find_partial_die): Rewrite load_all_dies support.
+ (read_attribute_value): New arg reader. Delete args abfd, cu.
+ All callers updated.
+ (read_attribute): New arg reader. Delete args abfd, cu.
+ All callers updated.
+ (load_full_type_unit): Add assert.
+ (read_signatured_type_reader): New function.
+ (read_signatured_type): Rewrite.
+ (free_stack_comp_unit): Remove call to age_cached_comp_units.
+ (free_one_cached_comp_unit): Change target_cu arg to target_per_cu.
+ All callers updated. Set per_cu->cu = NULL after freeing it.
+ (dwarf2_per_cu_offset_and_type): Renamed from dwarf2_offset_and_type.
+ (per_cu_offset_and_type_hash): Renamed from offset_and_type_hash.
+ (per_cu_offset_and_type_eq): Renamed from offset_and_type_eq.
+ (set_die_type): Update.
+ (get_die_type_at_offset): Update.
+ (read_file_scope): Call prepare_one_comp_unit.
+ (read_type_unit_scope): Ditto.
+ (prepare_one_comp_unit): Set producer if present.
+
+
+ * probe.c (compile_rx_or_error): Silence ARI warning about missing
+ gettext function on `error'.
+
+
+ * dwarf2read.c (dwarf2_read_index): Don't use index if symbol table
+ is empty.
+
+
+ * breakpoint.c (struct breakpoint_objfile_data)
+ <longjmp_searched>,<longjmp_probes>,<exception_searched>,
+ <exception_probes>: New fields.
+ (free_breakpoint_probes): New function.
+ (create_longjmp_master_breakpoint): Prefer SystemTap probe over
+ `_Unwind_DebugHook'.
+ (create_exception_master_breakpoint): Likewise.
+ (_initialize_breakpoint): Registering cleanup for SystemTap probes.
+ * infrun.c: Including necessary header files for handling SystemTap
+ probes.
+ (handle_inferior_event): Handling longjmp breakpoint and exceptions
+ via SystemTap probes.
+ (check_exception_resume): Remove `func' argument. Handle exception
+ unwinding breakpoint set via a SystemTap probe.
+ (insert_exception_resume_from_probe): New function.
+
+
+ * Makefile.in (SFILES): Add `probe' and `stap-probe'.
+ (COMMON_OBS): Likewise.
+ (HFILES_NO_SRCDIR): Add `probe'.
+ * NEWS: Mention support for static and SystemTap probes.
+ * amd64-tdep.c (amd64_init_abi): Initializing proper fields used by
+ SystemTap probes' arguments parser.
+ * arm-linux-tdep.c: Including headers needed to perform the parsing
+ of SystemTap probes' arguments.
+ (arm_stap_is_single_operand): New function.
+ (arm_stap_parse_special_token): Likewise.
+ (arm_linux_init_abi): Initializing proper fields used by SystemTap
+ probes' arguments parser.
+ * ax-gdb.c (require_rvalue): Removing static declaration.
+ (gen_expr): Likewise.
+ * ax-gdb.h (gen_expr): Declaring function.
+ (require_rvalue): Likewise.
+ * breakpoint.c: Include `gdb_regex.h' and `probe.h'.
+ (bkpt_probe_breakpoint_ops): New variable.
+ (momentary_breakpoint_from_master): Set the `probe' value.
+ (add_location_to_breakpoint): Likewise.
+ (break_command_1): Using proper breakpoint_ops according to the
+ argument passed by the user in the command line.
+ (bkpt_probe_insert_location): New function.
+ (bkpt_probe_remove_location): Likewise.
+ (bkpt_probe_create_sals_from_address): Likewise.
+ (bkpt_probe_decode_linespec): Likewise.
+ (tracepoint_probe_create_sals_from_address): Likewise.
+ (tracepoint_probe_decode_linespec): Likewise.
+ (tracepoint_probe_breakpoint_ops): New variable.
+ (trace_command): Using proper breakpoint_ops according to the
+ argument passed by the user in the command line.
+ (initialize_breakpoint_ops): Initializing breakpoint_ops for
+ static probes on breakpoints and tracepoints.
+ * breakpoint.h (struct bp_location) <probe>: New field.
+ * cli-utils.c (skip_spaces_const): New function.
+ (extract_arg): Likewise.
+ * cli-utils.h (skip_spaces_const): Likewise.
+ (extract_arg): Likewise.
+ * coffread.c (coff_sym_fns): Add `sym_probe_fns' value.
+ * configure.ac: Append `stap-probe.o' to be generated when ELF
+ support is present.
+ * configure: Regenerate.
+ * dbxread.c (aout_sym_fns): Add `sym_probe_fns' value.
+ * elfread.c: Include `probe.h' and `arch-utils.h'.
+ (probe_key): New variable.
+ (elf_get_probes): New function.
+ (elf_get_probe_argument_count): Likewise.
+ (elf_evaluate_probe_argument): Likewise.
+ (elf_compile_to_ax): Likewise.
+ (elf_symfile_relocate_probe): Likewise.
+ (stap_probe_key_free): Likewise.
+ (elf_probe_fns): New variable.
+ (elf_sym_fns): Add `sym_probe_fns' value.
+ (elf_sym_fns_lazy_psyms): Likewise.
+ (elf_sym_fns_gdb_index): Likewise.
+ (_initialize_elfread): Initialize objfile cache for static
+ probes.
+ * gdb_vecs.h (struct probe): New forward declaration.
+ (probe_p): New VEC declaration.
+ * gdbarch.c: Regenerate.
+ * gdbarch.h: Regenerate.
+ * gdbarch.sh (stap_integer_prefix): New variable.
+ (stap_integer_suffix): Likewise.
+ (stap_register_prefix): Likewise.
+ (stap_register_suffix): Likewise.
+ (stap_register_indirection_prefix): Likewise.
+ (stap_register_indirection_suffix): Likewise.
+ (stap_gdb_register_prefix): Likewise.
+ (stap_gdb_register_suffix): Likewise.
+ (stap_is_single_operand): New function.
+ (stap_parse_special_token): Likewise.
+ (struct stap_parse_info): Forward declaration.
+ * i386-tdep.c: Including headers needed to perform the parsing
+ of SystemTap probes' arguments.
+ (i386_stap_is_single_operand): New function.
+ (i386_stap_parse_special_token): Likewise.
+ (i386_elf_init_abi): Initializing proper fields used by SystemTap
+ probes' arguments parser.
+ * i386-tdep.h (i386_stap_is_single_operand): New function.
+ (i386_stap_parse_special_token): Likewise.
+ * machoread.c (macho_sym_fns): Add `sym_probe_fns' value.
+ * mipsread.c (ecoff_sym_fns): Likewise.
+ * objfiles.c (objfile_relocate1): Support relocation for static
+ probes.
+ * parse.c (prefixify_expression): Remove static declaration.
+ (initialize_expout): Likewise.
+ (reallocate_expout): Likewise.
+ * parser-defs.h (initialize_expout): Declare function.
+ (reallocate_expout): Likewise.
+ (prefixify_expression): Likewise.
+ * ppc-linux-tdep.c: Including headers needed to perform the parsing
+ of SystemTap probes' arguments.
+ (ppc_stap_is_single_operand): New function.
+ (ppc_stap_parse_special_token): Likewise.
+ (ppc_linux_init_abi): Initializing proper fields used by SystemTap
+ probes' arguments parser.
+ * probe.c: New file, for generic statically defined probe support.
+ * probe.h: Likewise.
+ * s390-tdep.c: Including headers needed to perform the parsing of
+ SystemTap probes' arguments.
+ (s390_stap_is_single_operand): New function.
+ (s390_gdbarch_init): Initializing proper fields used by SystemTap
+ probes' arguments parser.
+ * somread.c (som_sym_fns): Add `sym_probe_fns' value.
+ * stap-probe.c: New file, for SystemTap probe support.
+ * stap-probe.h: Likewise.
+ * symfile.h: Include `gdb_vecs.h'.
+ (struct sym_probe_fns): New struct.
+ (struct sym_fns) <sym_probe_fns>: New field.
+ * symtab.c (init_sal): Initialize `probe' field.
+ * symtab.h (struct probe): Forward declaration.
+ (struct symtab_and_line) <probe>: New field.
+ * tracepoint.c (start_tracing): Adjust semaphore on breakpoints
+ locations.
+ (stop_tracing): Likewise.
+ * xcoffread.c (xcoff_sym_fns): Add `sym_probe_fns' value.
+
+
+ * ax-gdb.c (gen_expr): Clean up code to handle internal variables
+ and to compile agent expressions.
+ * infrun.c (siginfo_make_value): New argument `ignore'.
+ (siginfo_funcs): New struct.
+ (_initialize_infrun): New argument when calling
+ `create_internalvar_type_lazy'.
+ * thread.c (thread_id_make_value): New argument `ignore'.
+ (thread_funcs): New struct.
+ (_initialize_thread): New argument when calling
+ `create_internalvar_type_lazy'.
+ * tracepoint.c (sdata_make_value): New argument `ignore'.
+ (sdata_funcs): New struct.
+ (_initialize_tracepoint): New argument when calling
+ `create_internalvar_type_lazy'.
+ * value.c (make_value): New struct.
+ (create_internalvar_type_lazy): New argument `data'.
+ (compile_internalvar_to_ax): New function.
+ (value_of_internalvar): Properly handling `make_value' case.
+ (clear_internalvar): Likewise.
+ (show_convenience): Adding `TRY_CATCH' block.
+ * value.h (internalvar_make_value): Delete, replace by...
+ (struct internalvar_funcs): ... this.
+ (create_internalvar_type_lazy) <fun>: Delete argument.
+ (create_internalvar_type_lazy) <funcs>, <data>: New arguments.
+ (compile_internalvar_to_ax): New function.
+ * windows-tdep.c (tlb_make_value): New argument `ignore'.
+ (tlb_funcs): New struct.
+ (_initialize_windows_tdep): New argument when calling
+ `create_internalvar_type_lazy'.
+
+
+ * dwarf2read.c (dwarf2_get_pc_bounds): Check DW_AT_high_pc form to
+ see whether it is an address or a constant offset from DW_AT_low_pc.
+ (dwarf2_record_block_ranges): Likewise.
+ (read_partial_die): Likewise.
+
+
+ * MAINTAINERS (Write After Approval): Add myself to the list.
+
+
+ * proc-utils.h (proc_prettyprint_signalset): New prototype.
+ (proc_prettyprint_signal): Likewise.
+ (proc_prettyprint_faultset): Likewise.
+ (proc_prettyprint_fault): Likewise.
+ (proc_prettyprint_actionset): Likewise.
+ (proc_prettyprint_flags): Move to new proc-flags.c section.
+ (proc_prettyfprint_flags): New prototype.
+ * procfs.c (proc_nsysarg, proc_sysargs): Add prototypes.
+ (proc_syscall, proc_cursig): Likewise.
+ (proc_set_kill_on_last_close): Likewise.
+ (proc_unset_kill_on_last_close): Likewise.
+ (proc_set_watchpoint): Make static.
+ (proc_delete_dead_threads): Likewise.
+ (procfs_set_watchpoint): Likewise.
+ (_initialize_procfs): Add prototype.
+ * proc-events.c: Include proc-utils.h.
+ (init_syscall_table): Make static.
+ * proc-api.c (_initialize_proc_api): Add prototype.
+ * proc-flags.c: Include proc-utils.h.
+
+
+ * configure.ac: Add AC_ARG_PROGRAM.
+ * configure: Regenerate.
+
+
+ Fix DW_AT_lower_bound defaults for DWARF-4+.
+ * dwarf2read.c (read_subrange_type): Remove initialization of low and
+ high. New variable low_default_is_valid. Implement DWARF-4+
+ DW_AT_lower_bound defaults. Print complaint for DW_AT_lower_bound with
+ no default by the DWARF standard.
+
+
+ * infrun.c (handle_inferior_event): Move the check for return
+ trampolines ahead of the check for function trampolines.
+ * mips-tdep.h (MIPS_S2_REGNUM, MIPS_GP_REGNUM): New macros.
+ * mips-tdep.c (mips_str_mips16_call_stub): New variable.
+ (mips_str_mips16_ret_stub): Likewise.
+ (mips_str_call_fp_stub): Likewise.
+ (mips_str_call_stub): Likewise.
+ (mips_str_fn_stub): Likewise.
+ (mips_str_pic): Likewise.
+ (mips_in_frame_stub): New function.
+ (mips_unwind_pc): Return the return address rather than the PC
+ if the PC of an intermediate frame is inside a call thunk.
+ (mips_is_stub_suffix): New function.
+ (mips_is_stub_mode): Likewise.
+ (mips_get_mips16_fn_stub_pc): Likewise.
+ (mips_skip_mips16_trampoline_code): Update to handle all the
+ currently generated stub types. Don't recurse into __fn_stub
+ thunks. Remove heuristics to handle stubs beyond etext/_etext.
+ Use cooked register accesses.
+ (mips_in_return_stub): Reintroduce function.
+ (mips_skip_trampoline_code): Traverse trampolines recursively.
+ (mips_gdbarch_init): Handle MIPS16 return trampolines.
+
+
+ GDB 7.4.1 released.
+
+
+ * arm-tdep.h (VFP_REGISTER_SIZE): Define.
+ * features/arm-with-m-vfp-d16.xml: New file. Describes
+ Cortex-M with VFPv4-sp-d16 FPU register layout.
+ * features/Makefile (WHICH): Add arm-with-m-vfp-d16.
+ * features/arm-with-m-vfp-d16.c: New. Generated from above.
+ * arm-tdep.c: Include arm-with-m-vfp-d16.c.
+ (arm-register_g_packet_guesses): Add vfp-d16 guess.
+ (_initialise_arm_tdep): Initialize arm-with-m-vfp-d16 tdesc.
+
+
+ * cli/cli-decode.c (print_doc_line): Use stream instead of
+ current_uiout.
+
* features/arm-with-iwmmxt.c: Regenerate.