+
+ * i386-linux-nat.c (have_ptrace_getfpxregs): Initialize to -1
+ if HAVE_PTRACE_GETFPXREGS is defined.
+ (i386_linux_read_description): Set have_ptrace_getfpxregs and
+ have_ptrace_getregset to 0 if ptrace PTRACE_GETFPXREGS failed.
+
+ * i386-linux-tdep.c: Include "features/i386/i386-mmx-linux.c"
+ (i386_linux_core_read_description): Return tdesc_i386_mmx_linux
+ if .reg-xfp section doesn't exist.
+ (_initialize_i386_linux_tdep): Call initialize_tdesc_i386_mmx_linux.
+
+ * i386-linux-tdep.h (tdesc_i386_mmx_linux): New.
+
+ * i386-tdep.c: Include "features/i386/i386-mmx.c".
+ (i386_go32_init_abi): Set tdesc to tdesc_i386_mmx.
+ (i386_validate_tdesc_p): Make org.gnu.gdb.i386.sse optional. Set
+ xcr0 to I386_XSTATE_X87_MASK if SSE isn't available.
+ (i386_gdbarch_init): Update comments.
+ (_initialize_i386_tdep): Call initialize_tdesc_i386_mmx.
+
+ * common/i386-xstate.h (I386_XSTATE_X87_MASK): New.
+
+ * config/djgpp/fnchange.lst: Add i386 MMX XML files.
+
+ * features/Makefile (i386/i386-mmx-expedite): New.
+ (i386/i386-mmx-linux-expedite): Likewise.
+ ($(outdir)/i386/i386-mmx.dat): Likewise.
+ ($(outdir)/i386/i386-mmx-linux.dat): Likewise.
+
+ * features/i386/i386-mmx-linux.c: New.
+ * features/i386/i386-mmx-linux.xml: Likewise.
+ * features/i386/i386-mmx.c: Likewise.
+ * features/i386/i386-mmx.xml: Likewise.
+ * regformats/i386/i386-mmx-linux.dat: Likewise.
+ * regformats/i386/i386-mmx.dat: Likewise.
+
+ * features/Makefile (WHICH): Add i386/i386-mmx and
+ i386/i386-mmx-linux.
+
+
+ * source.c (openp): Skip $cdir in PATH.
+
+
+ PR python/11417
+ * python/py-lazy-string.c (stpy_convert_to_value): Check for
+ a NULL address.
+ (gdbpy_create_lazy_string_object): Allow strings with a NULL
+ address and a zero length.
+
+
+ * i386-tdep.c (i386_process_record): Add support for insn
+ rdtsc.
+
+
+ * python/python.c (source_python_script): Use ensure_python_env
+ to prepare environment for script.
+
+
+ * amd64-linux-nat.c: Include "regset.h", "elf/common.h",
+ <sys/uio.h> and "i386-xstate.h".
+ (PTRACE_GETREGSET): New.
+ (PTRACE_SETREGSET): Likewise.
+ (have_ptrace_getregset): Likewise.
+ (amd64_linux_gregset64_reg_offset): Include 16 upper YMM
+ registers.
+ (amd64_linux_gregset32_reg_offset): Include 8 upper YMM
+ registers.
+ (amd64_linux_fetch_inferior_registers): Support PTRACE_GETFPREGS.
+ (amd64_linux_store_inferior_registers): Likewise.
+ (amd64_linux_read_description): Check and enable AVX target
+ descriptions.
+
+ * amd64-linux-tdep.c: Include "regset.h", "i386-linux-tdep.h"
+ and "features/i386/amd64-avx-linux.c".
+ (amd64_linux_regset_sections): New.
+ (amd64_linux_core_read_description): Check and enable AVX
+ target description.
+ (amd64_linux_init_abi): Set xsave_xcr0_offset. Call
+ set_gdbarch_core_regset_sections.
+ (_initialize_amd64_linux_tdep): Call
+ initialize_tdesc_amd64_avx_linux.
+
+ * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Replace
+ AMD64_MXCSR_REGNUM with AMD64_YMM15H_REGNUM.
+ (tdesc_amd64_avx_linux): New.
+ (amd64_linux_update_xstateregset): Likewise.
+
+ * amd64-tdep.c: Include "features/i386/amd64-avx.c".
+ (amd64_ymm_names): New.
+ (amd64_ymmh_names): Likewise.
+ (amd64_register_name): Likewise.
+ (amd64_supply_xstateregset): Likewise.
+ (amd64_collect_xstateregset): Likewise.
+ (amd64_supply_xsave): Likewise.
+ (amd64_collect_xsave): Likewise.
+ (AMD64_NUM_REGS): Removed.
+ (amd64_dwarf_reg_to_regnum): Return %ymmN register number for
+ %xmmN if AVX is available.
+ (amd64_pseudo_register_name): Support pseudo YMM registers.
+ (amd64_regset_from_core_section): Support .reg-xstate section.
+ (amd64_init_abi): Set ymmh_register_names, num_ymm_regs
+ and ymm0h_regnum. Call set_gdbarch_register_name.
+ (amd64_init_abi): Call initialize_tdesc_amd64_avx.
+
+ * amd64-tdep.h (amd64_regnum): Add AMD64_YMM0H_REGNUM and
+ AMD64_YMM15H_REGNUM.
+ (AMD64_NUM_REGS): New.
+ (amd64_supply_xsave): Likewise.
+ (amd64_collect_xsave): Likewise.
+ (amd64_register_name): Removed.
+ (amd64_register_type): Likewise.
+
+
+ * i387-tdep.c: Include "i386-xstate.h".
+ (XSAVE_XSTATE_BV_ADDR): New.
+ (xsave_avxh_offset): Likewise.
+ (XSAVE_AVXH_ADDR): Likewise.
+ (i387_supply_xsave): Likewise.
+ (i387_collect_xsave): Likewise.
+
+ * i387-tdep.h (I387_NUM_YMM_REGS): New.
+ (I387_YMM0H_REGNUM): Likewise.
+ (I387_YMMENDH_REGNUM): Likewise.
+ (i387_supply_xsave): Likewise.
+ (i387_collect_xsave): Likewise.
+
+
+ * i386-linux-nat.c: Include "regset.h", "elf/common.h",
+ <sys/uio.h> and "i386-xstate.h".
+ (PTRACE_GETREGSET): New.
+ (PTRACE_SETREGSET): Likewise.
+ (fetch_xstateregs): Likewise.
+ (store_xstateregs): Likewise.
+ (GETXSTATEREGS_SUPPLIES): Likewise.
+ (regmap): Include 8 upper YMM registers.
+ (i386_linux_fetch_inferior_registers): Support XSAVE extended
+ state.
+ (i386_linux_store_inferior_registers): Likewise.
+ (i386_linux_read_description): Check and enable AVX target
+ descriptions.
+
+ * i386-linux-tdep.c: Include "regset.h", "i387-tdep.h",
+ "i386-xstate.h" and "features/i386/i386-avx-linux.c".
+ (i386_linux_regset_sections): Add ".reg-xstate".
+ (i386_linux_gregset_reg_offset): Include 8 upper YMM registers.
+ (i386_linux_core_read_xcr0): New.
+ (i386_linux_core_read_description): Check and enable AVX target
+ description.
+ (i386_linux_init_abi): Set xsave_xcr0_offset.
+ (_initialize_i386_linux_tdep): Call
+ initialize_tdesc_i386_avx_linux.
+
+ * i386-linux-tdep.h (I386_LINUX_ORIG_EAX_REGNUM): Replace
+ I386_SSE_NUM_REGS with I386_AVX_NUM_REGS.
+ (i386_linux_core_read_xcr0): New.
+ (tdesc_i386_avx_linux): Likewise.
+ (I386_LINUX_XSAVE_XCR0_OFFSET): Likewise.
+
+ * i386-tdep.c: Include "i386-xstate.h" and
+ "features/i386/i386-avx.c".
+ (i386_ymm_names): New.
+ (i386_ymmh_names): Likewise.
+ (i386_ymmh_regnum_p): Likewise.
+ (i386_ymm_regnum_p): Likewise.
+ (i386_xmm_regnum_p): Likewise.
+ (i386_register_name): Likewise.
+ (i386_ymm_type): Likewise.
+ (i386_supply_xstateregset): Likewise.
+ (i386_collect_xstateregset): Likewise.
+ (i386_sse_regnum_p): Removed.
+ (i386_pseudo_register_name): Support pseudo YMM registers.
+ (i386_pseudo_register_type): Likewise.
+ (i386_pseudo_register_read): Likewise.
+ (i386_pseudo_register_write): Likewise.
+ (i386_dbx_reg_to_regnum): Return %ymmN register number for
+ %xmmN if AVX is available.
+ (i386_regset_from_core_section): Support .reg-xstate section.
+ (i386_register_reggroup_p): Supper upper YMM and YMM registers.
+ (i386_process_record): Replace i386_sse_regnum_p with
+ i386_xmm_regnum_p.
+ (i386_validate_tdesc_p): Support org.gnu.gdb.i386.avx feature.
+ Set ymmh_register_names, num_ymm_regs, ymm0h_regnum and xcr0.
+ (i386_gdbarch_init): Set xstateregset. Set xsave_xcr0_offset.
+ Call set_gdbarch_register_name. Replace I386_SSE_NUM_REGS with
+ I386_AVX_NUM_REGS. Set ymmh_register_names, ymm0h_regnum and
+ num_ymm_regs. Add num_ymm_regs to set_gdbarch_num_pseudo_regs.
+ Set ymm0_regnum.
+ (_initialize_i386_tdep): Call initialize_tdesc_i386_avx.
+
+ * i386-tdep.h (gdbarch_tdep): Add xstateregset, ymm0_regnum,
+ xcr0, xsave_xcr0_offset, ymm0h_regnum, ymmh_register_names and
+ i386_ymm_type.
+ (i386_regnum): Add I386_YMM0H_REGNUM, and I386_YMM7H_REGNUM.
+ (I386_AVX_NUM_REGS): New.
+ (i386_xmm_regnum_p): Likewise.
+ (i386_ymm_regnum_p): Likewise.
+ (i386_ymmh_regnum_p): Likewise.
+
+ * common/i386-xstate.h: New.
+
+
+ * config/djgpp/fnchange.lst: Add x86 AVX XML files.
+
+ * features/Makefile (WHICH): Add i386/i386-avx,
+ i386/i386-avx-linux, i386/x86-64-avx and i386/x86-64-avx-linux.
+ (i386/i386-avx-expedite): New.
+ (i386/i386-avx-linux-expedite): Likewise.
+ (i386/x86-64-avx-expedite):Likewise.
+ (i386/x86-64-avx-linux-expedite): Likewise.
+ ($(outdir)/i386/i386-avx.dat): New dependency.
+ ($(outdir)/i386/i386-avx-linux.dat): Likewise.
+ ($(outdir)/i386/x86-avx-64.dat): Likewise.
+ ($(outdir)/i386/x86-64-avx-linux.dat): Likewise.
+
+ * features/i386/32bit-avx.xml: New.
+ * features/i386/64bit-avx.xml: Likewise.
+ * features/i386/i386-avx-linux.c: Likewise.
+ * features/i386/i386-avx-linux.xml: Likewise.
+ * features/i386/i386-avx.c: Likewise.
+ * features/i386/i386-avx.xml: Likewise.
+ * features/i386/x86-64-avx-linux.c: Likewise.
+ * features/i386/x86-64-avx-linux.xml: Likewise.
+ * features/i386/x86-64-avx.c: Likewise.
+ * features/i386/x86-64-avx.xml: Likewise.
+ * regformats/i386/i386-avx-linux.dat: Likewise.
+ * regformats/i386/i386-avx.dat: Likewise.
+ * regformats/i386/x86-64-avx-linux.dat: Likewise.
+ * regformats/i386/x86-64-avx.dat: Likewise.
+
+
+ * top.c (source_file_name): Make const char *.
+ * top.h (source_file_name): Update.
+ * cli/cli-script.c (source_cleanup_lines_args): Make old_file
+ const char *.
+ (script_from_file): Change `file' arg to const char *.
+ * cli/cli-script.h (script_from_file): Update.
+
+
+ * cli/cli-cmds.c (source_command): Run cleanups.
+
+
+ * defs.h (char_ptr): Move typedef here from...
+ * ada-lang.c (char_ptr): Remove.
+ * charset.c (char_ptr): Remove.
+ * tracepoint.h (struct uploaded_string): Remove.
+ (struct uploaded_tp): Use vectors for string arrays.
+ * tracepoint.c (trace_save): Use vectors of actions.
+ (parse_tracepoint_definition): Ditto.
+ (get_uploaded_tp): Clear vectors.
+ * breakpoint.c (create_tracepoint_from_upload): Use vectors.
+ (next_cmd): Change to an int.
+ (read_next_cmd): Use vector of command strings.
+
+
+ * top.h (source_script, cd_command): Delete.
+ * main.c: #include "cli/cli-cmds.h"
+
+
+ * m32c-tdep.c (make_types): When calling `arch_type', pass size of
+ type in bytes, not bits.
+
+
+ * stabsread.c (define_symbol): Add support for char
+ and string constants.
+
+
+ Remove remaining "%ll" uses.
+ * go32-nat.c (go32_pte_for_address): Replace "0x%llx" using
+ hex_string call.
+ * rs6000-nat.c (rs6000_ptrace64): Idem.
+ * solib-pa64.c (pa64_current_sos): Idem.
+ * solib-spu.c (spu_current_sos): Idem.
+ * linux-nat.c (linux_nat_find_memory_regions): Replace "%lld" using
+ plongest call.
+ * nto-procfs.c (procfs_meminfo): Replace "0x%016llx" using
+ phex (VAR, 8) call.
+ * sh64-tdep.c (sh64_show_media_regs): Idem.
+
+
+ * tracepoint.c: Include gdbcore.h.
+ (tfile_xfer_partial): Return partial results, also try reading
+ from executable.
+ (tfile_has_all_memory): New function.
+ (init_tfile_ops): Use it.
+
+
+ PR gdb/10736:
+ * xml-syscall.c (my_gdb_datadir): New variable to keep track of
+ the changes in data-directory.
+ (init_sysinfo): Reload the syscall XML file if the data-directory
+ has changed.
+
+
+ Code cleanup.
+ * breakpoint.c (bpstat_stop_status): Use bpstat_causes_stop.
+
+
+ * breakpoint.c (breakpoint_1): Add filter argument, return number of
+ breakpoints printed.
+ (is_hardware_watchpoint): Make argument const.
+ (is_watchpoint): Ditto.
+ (is_tracepoint): Merge of tracepoint_type and breakpoint_is_tracepoint,
+ use it everywhere.
+ (breakpoints_info): Pass NULL to breakpoint_1.
+ (maintenance_info_breakpoints): Ditto.
+ (watchpoints_info): New function.
+ (tracepoints_info): Use breakpoint_1 filter.
+ (set_ignore_count): Warn that tracepoint ignore count will be ignored.
+ (_initialize_breakpoint): Make "info watchpoints" its own command.
+ * breakpoint.h (is_tracepoint): Rename from breakpoint_is_tracepoint.
+ * mi/mi-cmd-break.c (mi_cmd_break_commands): Use is_tracepoint.
+
+
+ * tracepoint.c (tfile_fetch_registers): Add fallback case.
+
+
+ * infcmd.c (run_command_1): Call proceed with regcache_read_pc address.
+ * config/djgpp/fnchange.lst: Add translation for break-entry.exp.
+
+
+ * breakpoint.c (bpstat_find_step_resume_breakpoint): Remove.
+ * breakpoint.h (bpstat_find_step_resume_breakpoint): Remove.
+
+
+ * dwarf2read.c (read_namespace_type): Use common "return set_die_type"
+ code form.
+
+
+ * i386-tdep.c (OT_DQUAD): New enum.
+ (i386_process_record): Add code for MMX, 3DNow!, SSE, SSE2,
+ SSE3, SSSE3 and SSE4.
+
+
+ * i386-tdep.c (i386_record_lea_modrm_addr): Remove useless
+ "*addr = 0".
+
+
+ * tracepoint.c (trace_dump_actions): New, factored out from
+ trace_dump_command, and adjusted to recurse into while-stepping's
+ action list.
+ (trace_dump_command): Use it.
+
+
+ * breakpoint.h (struct counted_command_line): Moved definition to
+ breakpoint.c, and forward declare.
+ (breakpoint_commands): Declare.
+ * breakpoint.c (struct counted_command_line): Moved here.
+ (breakpoint_commands): New.
+ * tracepoint.c (encode_actions): Use breakpoint_commands.
+ * remote.c (remote_download_tracepoint): Ditto.
+
+
+ * remote.c (remote_parse_stop_reply): Use hex_string instead
+ of phex_nz for error.
+
+
+ * tracepoint.h (enum actionline_type): Remove.
+ (validate_actionline): Change return to void.
+ * tracepoint.c (report_agent_reqs_errors): New function.
+ (validate_actionline): Call it, change return to void, report errors
+ more consistently.
+ (collect_symbol): Call report_agent_reqs_errors.
+ (encode_actions_1): Ditto.
+ (encode_actions): Don't expect a result from validate_actionline.
+
+
+ * tracepoint.c (trace_start_command): Confirm if trace is running.
+ (trace_stop_command): Error if trace not running.
+
+
+ * amd64-tdep.c (amd64_byte_names): Add "ah", "bh", "ch", "dh".
+ (AMD64_NUM_LOWER_BYTE_REGS): New.
+ (amd64_pseudo_register_read): Handle "ah", "bh", "ch", "dh".
+ (amd64_pseudo_register_write): Likewise.
+ (amd64_init_abi): Set num_byte_regs to 20.
+
+
+ * breakpoint.c (multi_start, multi_end, last_was_multi): Delete.
+ (prev_breakpoint_count): New.
+ (set_breakpoint_count): Adjust.
+ (rbreak_start_breakpoint_count): New.
+ (start_rbreak_breakpoints): Adjust.
+ (end_rbreak_breakpoints): Adjust.
+ (struct commands_info) <arg>: New field.
+ (do_map_commands_command): Tweak output to include breakpoint spec
+ range.
+ (commands_command_1): Adjust. Avoid setting an xfree cleanup if
+ ARG was empty on entry. Set INFO's arg.
+ (create_breakpoint): Adjust.
+
+ * NEWS: Clarify `commands' changes.
+
+
+ * tracepoint.c: Include stack.h.
+ (struct add_local_symbols_data): New.
+ (do_collect_symbol): New.
+ (add_local_symbols): Rewrite using iterate_over_block_arg_vars and
+ iterate_over_block_local_vars.
+ * stack.c (print_block_frame_locals): Rewrite as ...
+ (iterate_over_block_locals): ... this. Take a callback function
+ pointer and generic data pointer, and call that instead of
+ print_variable_and_value.
+ (struct print_variable_and_value_data): New.
+ (do_print_variable_and_value): New.
+ (iterate_over_block_local_vars): New, abstracted out from
+ print_frame_local_vars.
+ (print_frame_local_vars): Rewrite using
+ iterate_over_block_local_vars.
+ (iterate_over_block_arg_vars): New, abstracted out from
+ print_frame_arg_vars.
+ (print_frame_arg_vars): Rewrite using iterate_over_block_arg_vars.
+ * stack.h (iterate_over_block_arg_local_vars_cb): New typedef.
+ (iterate_over_block_arg_vars, iterate_over_block_local_vars): Declare.
+
+
+ * arm-tdep.c (thumb_get_next_pc_raw): Correctly detect TBH
+ instructions. Use the PC+4 if the base of the TBB or TBH is the
+ PC register.
+
+
+ Fix crash on reading wrong function declaration DWARF.
+ * dwarf2read.c (read_subroutine_type): New variable void_type.
+ Pre-fill all TYPE_FIELD_TYPEs. Move nparams and iparams initialization
+ more close to their use.
+
+
+ * breakpoint.c (tracepoint_save_command): Include variables,
+ conditionals, tracepoint types, and default-collect.
+ * tracepoint.c (save_trace_state_variables): New function.
+ * tracepoint.h (save_trace_state_variables): Declare it.
+
+
+ * src/gdb/remote.c (end_thread): ARI fix: Use xstrdup instead of
+ strdup.
+
+
+ * c-typeprint.c (c_type_print_args): Don't print "void"
+ for java, regardless of whether it is TYPE_PROTOTYPED.
+ Use the passed-in language instead of current_language.
+ (c_type_print_varspec_suffix): Use current_language instead
+ of assuming language_c.
+ * jv-typeprint.c (java_type_print_base): (bz 9320) Strip off
+ any return type specifier from the physname.
+
+
+ * tui/tui-interp.c (tui_is_toplevel): New.
+ (tui_init): Set it.
+ (tui_allowed_p): New.
+ * tui/tui.c (tui_enable): Check if the TUI is allowed before
+ enabling it.
+ * tui/tui.h (tui_allowed_p): Declare.
+
+
+ * serial.h: Include winsock2.h before windows.h.
+
+
+ * NEWS: Mention xmlRegisters= in qSupported packet.
+
+ * i386-tdep.c: Include "remote.h".
+ (_initialize_i386_tdep): Call register_remote_support_xml.
+
+ * remote.c (remote_support_xml): New.
+ (register_remote_support_xml): Likewise.
+ (remote_query_supported_append): Likewise.
+ (remote_query_supported): Support remote_support_xml.
+
+ * remote.h (register_remote_support_xml): New.
+
+
+ * tracepoint.c (trace_find_line_command): Remove dead code.
+
+ * tracepoint.h (struct uploaded_string): New struct.
+ (struct uploaded_tp): New fields for source strings.
+ * breakpoint.c (this_utp, next_cmd): New globals.
+ (read_uploaded_action): New function.
+ (create_tracepoint_from_upload): Fill in more parts
+ of a tracepoint.
+ * tracepoint.c (encode_source_string): New function.
+ (trace_save): Write out source strings, fix error checks.
+ (parse_tracepoint_definition): Add source string parsing.
+ * remote.c (PACKET_TracepointSource): New packet type.
+ (remote_download_command_source): New function.
+ (remote_download_tracepoint): Download source pieces also.
+ (_initialize_remote): Add packet config command.
+
+ * tracepoint.c (collect_symbol): Send LOC_UNRESOLVED symbols to
+ expression handler.
+
+ * tracepoint.c (start_tracing): Check tracepoints before sending
+ commands to target, don't start if all tracepoints disabled.
+
+
+ * cli/cli-script.c (process_next_line): Handle 'stepping'.
+
+
+ * tracepoint.c (disconnect_or_stop_tracing): Get out of tfind mode.
+
+
+ * breakpoint.c (commands_command_1): Duplicate 'arg'.
+
+
+ * breakpoint.c (expand_line_sal_maybe): Always call skip_prologue_sal.
+ (skip_prologue_sal): Remove local definition.
+ (resolve_sal_pc): Remove now unnecessary code.
+ * linespec.c (minsym_found): Call skip_prologue_sal.
+ * symtab.c (find_function_start_pc): Remove.
+ (find_function_start_sal): Extract prologue skipping into ...
+ (skip_prologue_sal): ... this new function. Handle code both
+ with and without debug info. Respect SAL's explicit_pc and
+ explicit_line flags. Inline old find_function_start_pc.
+ * symtab.h (find_function_start_pc): Remove.
+ (skip_prologue_sal): Add prototype.
+
+
+ * dwarf2read.c (read_func_scope): Also scan specification DIEs
+ for DW_TAG_imported_module children.
+
+
+ * dwarf2read.c (dwarf2_name): Work around GCC bugzilla debug/41828 by
+ ignoring spurious DW_AT_name attributes for unnamed structs or unions.
+ * completer.c (add_struct_fields): Fix inverted logic.
+
+
+ * breakpoint.c (bpstat_clear_actions): Reset bs->commands_left.
+
+
+ * tracepoint.c (current_trace_status): Don't make sure error_desc
+ is non-NULL here.
+ (parse_trace_status): Release a previous error_desc string, and
+ set it to NULL by default. If stop reason is tracepoint_error,
+ make sure error_desc is not left NULL.
+
+
+ * tracepoint.c (trace_save): Remove X from tracepoint error
+ description.
+
+
+ * tracepoint.c (parse_trace_status): Don't allow plain strings in
+ the terror description. Don't expect an X prefix.
+
+
+ * tracepoint.h (trace_stop_reason): Add tracepoint_error.
+ (struct trace_status): New field error_desc.
+ * tracepoint.c (stop_reason_names): Add terror.
+ (current_trace_status): Ensure non-NULL error description.
+ (trace_status_command): Add error report.
+ (trace_status_mi): Ditto.
+ (trace_save): Add special case for error description.
+ (parse_trace_status): Add case for errors.
+
+
+ * dwarf2read.c (read_subroutine_type): If the compilation unit
+ language is Java, mark any formal parameter named "this" as
+ artificial (GCC/43521).
+ (dwarf2_name): Add special handling for Java constructors.
+
+
+ PR gdb/11327, PR gdb/11328, PR breakpoints/11368:
+ * infrun.c (handle_inferior_event): Change initialization of
+ stop_stack_dummy.
+ (handle_inferior_event): Change assignment to stop_stack_dummy.
+ (normal_stop): Update use of stop_stack_dummy.
+ (struct inferior_status) <stop_stack_dummy>: Change type.
+ * inferior.h (stop_stack_dummy): Update.
+ * infcmd.c (stop_stack_dummy): Change type.
+ * infcall.c (cleanup_delete_std_terminate_breakpoint): New
+ function.
+ (call_function_by_hand): Call set_std_terminate_breakpoint.
+ Rewrite std::terminate handling.
+ * breakpoint.h (enum bptype) <bp_std_terminate,
+ bp_std_terminate_master>: New.
+ (enum stop_stack_kind): New.
+ (struct bpstat_what) <call_dummy>: Change type.
+ (set_std_terminate_breakpoint, delete_std_terminate_breakpoint):
+ Declare.
+ * breakpoint.c (create_std_terminate_master_breakpoint): New
+ function.
+ (update_breakpoints_after_exec): Handle bp_std_terminate_master.
+ Call create_std_terminate_master_breakpoint.
+ (print_it_typical): Handle new breakpoint kinds.
+ (bpstat_stop_status): Handle bp_std_terminate_master.
+ (bpstat_what): Correctly set call_dummy field. Handle
+ bp_std_terminate_master and bp_std_terminate.
+ (print_one_breakpoint_location): Update.
+ (allocate_bp_location): Update.
+ (set_std_terminate_breakpoint): New function.
+ (delete_std_terminate_breakpoint): Likewise.
+ (create_thread_event_breakpoint): Update.
+ (delete_command): Update.
+ (breakpoint_re_set_one): Update.
+ (breakpoint_re_set): Call create_std_terminate_master_breakpoint.
+
+
+ * symfile.c (build_section_addr_info_from_bfd): New.
+ (build_section_addr_info_from_objfile): Base it on
+ build_section_addr_info_from_bfd.
+ (addrs_section_compar, addrs_section_sort): New.
+ (addr_info_make_relative): New variables my_cleanup, abfd_addrs,
+ addrs_sorted, abfd_addrs_sorted and addrs_to_abfd_addrs. Build
+ addrs_to_abfd_addrs. Use it for recalculating ADDRS.
+
+
+ * elfread.c (find_separate_debug_file_by_buildid):
+ Remove unused local variable.
+
+
+ PR breakpoints/9352:
+ * NEWS: Mention changes to `commands' and `rbreak'.
+ * symtab.c (do_end_rbreak_breakpoints): New function.
+ (rbreak_command): Call start_rbreak_breakpoints; arrange to call
+ end_rbreak_breakpoints.
+ * breakpoint.c (breakpoint_count, tracepoint_count): Now static.
+ (set_breakpoint_count): Likewise. Clear last_was_multi.
+ (multi_start, multi_end, last_was_multi): New globals.
+ (start_rbreak_breakpoints, end_rbreak_breakpoints): New
+ functions.
+ (struct commands_info): New
+ (do_map_commands_command): New function.
+ (commands_command_1): New function.
+ (commands_command): Use it.
+ (commands_from_control_command): Likewise.
+ (do_delete_breakpoint): New function.
+ (delete_command): Use it.
+ (map_breakpoint_numbers): Add 'data' argument. Pass to callback.
+ (do_map_disable_breakpoint): New function.
+ (disable_command): Use it.
+ (do_map_enable_breakpoint): New function.
+ (enable_command): Use it.
+ (enable_once_breakpoint): Add argument.
+ (enable_once_command): Update.
+ (enable_delete_breakpoint): Add argument.
+ (enable_delete_command): Update.
+ (break_command_really): Set last_was_multi when needed.
+ (check_tracepoint_command): Fix formatting.
+ (validate_commands_for_breakpoint): New function.
+ (breakpoint_set_commands): Use it.
+ (tracepoint_save_command): Update.
+ * breakpoint.h (start_rbreak_breakpoints, end_rbreak_breakpoints):
+ Declare.
+
+
+ * breakpoint.h (struct counted_command_line): New struct.
+ (struct breakpoint) <commands>: Change type.
+ (struct bpstats) <commands>: Change type.
+ <commands_left>: New field.
+ * breakpoint.c (alloc_counted_command_line): New function.
+ (incref_counted_command_line): Likewise.
+ (decref_counted_command_line): Likewise.
+ (do_cleanup_counted_command_line): Likewise.
+ (make_cleanup_decref_counted_command_line): Likewise.
+ (breakpoint_set_commands): Use decref_counted_command_line and
+ alloc_counted_command_line.
+ (commands_command): Don't error if breakpoint commands are
+ executing.
+ (commands_from_control_command): Likewise.
+ (bpstat_free): Update.
+ (bpstat_copy): Likewise.
+ (bpstat_clear_actions): Likewise.
+ (bpstat_do_actions_1): Likewise.
+ (bpstat_stop_status): Likewise.
+ (print_one_breakpoint_location): Likewise.
+ (delete_breakpoint): Likewise.
+ (bpstat_alloc): Initialize new field.
+ (tracepoint_save_command): Update.
+ * tracepoint.c (encode_actions): Update.
+ (trace_dump_command): Update.
+
+
+ * dwarf2-frame.c (dwarf2_frame_find_quirks): Use producer_is_realview.
+ * dwarf2read.c (load_full_comp_unit): Read DW_AT_producer.
+ (read_structure_type): For RealView, set TYPE_STUB on structures with
+ no byte size and no children.
+ (read_subroutine_type): Mark functions as prototyped by default.
+ * symtab.c (producer_is_realview): New function.
+ * symtab.h (expand_line_sal): Fix declaration formatting.
+ (producer_is_realview): Declare.
+
+
+ * arm-tdep.c (skip_prologue_function): New function.
+ (submask, bit, bits, sbits, BranchDest): Move higher in the file.
+ (thumb_analyze_prologue): Document return value. Recognize more
+ Thumb instructions, skippable calls, and some Thumb-2 instructions.
+ Add debug output.
+ (arm_skip_prologue): Remove call dummy check. Check the prologue
+ for non-GNU compilers.
+ (arm_instruction_changes_pc): New function.
+ (arm_analyze_prologue): New function, broken out from
+ arm_scan_prologue. Recognize more ARM instructions and skippable
+ calls. Update comments. Handle NULL cache. Return the address
+ of the first unrecognized instruction. Do not skip past other
+ instructions which change control flow. Add debug output.
+ (arm_scan_prologue): Use arm_analyze_prologue.
+ (ARM_PC_32): Delete.
+ (shifted_reg_val): Simplify ARM_PC_32 check.
+
+
+ * tracepoint.c (tvariables_info_1): Actually compute
+ the number of rows in the result.
+
+
+ * remote.c (crc32): Constify `buf' parameter.
+ (remote_verify_memory): New, abstracted out from...
+ (compare_sections_command): ... this. Remove hardcoded target
+ checks.
+ (init_remote_ops): Install remote_verify_memory.
+ * target.c (target_verify_memory): New.
+ * target.h (struct target_ops) <to_verify_memory>: New field.
+ (target_verify_memory): Declare.
+
+
+ Implement -trace-save.
+
+ * mi-cmds.h (mi_cmds_trace_save): Declare.
+ * mi-cmds.c (mi_cmds): Register -trace-save.
+ * mi/mi-main.c (mi_cmd_trace_save): New.
+ * remote.c (remote_save_trace_data): Take const parameter.
+ * target.h (struct target_ops::to_save_trace_data): Take
+ const parameter.
+ * target.c (update_current_target): Adjust to the above.
+ * tracepoint.c (trave_save): New, extracted from
+ (trace_save_command): ...this.
+ (tfile_trace_find): Remove message that is unnecessary now
+ that 'tfind' reports found frame.
+ * tracepoint.h (trace_save): Declare.
+
+
+ Implement -trace-find.
+
+ * mi/mi-cmds.c (mi_cmds): Register -trace-find.
+ * mi/mi-cmds.h (mi_cmd_trace_find): Declare.
+ * mi/mi-main.c (mi_cmd_trace_find): New.
+ * target.h (struct target_ops): Document to_trace_find.
+ * tracepoint.h (tfind_1): Declare.
+ * tracepoint.c (finish_tfind_command): Rename to...
+ (tfind_1): ...this.
+ * remote.c (remote_trace_find): Return -1 if target say
+ there's no frame. Improve error diagnostics.
+
+
+ -trace-define-variable and -trace-list-variables.
+
+ * tracepoint.c (create_trace_state_variable): Make
+ private copy of name, as opposed to assuming the
+ pointer lives forever.
+ (tvariables_info_1): New.
+ (tvariables_info): Use the above.
+ * tracepoint.h (create_trace_state_variable, tvariables_info_1):
+ Declare.
+ * mi/mi-cmds.c (mi_cmds): Register -trace-define-variable
+ and -trace-list-variables.
+ * mi/mi-cmds.h (mi_cmd_trace_define_variable)
+ (mi_cmd_trace_list_variables): New.
+ * mi/mi-main.c (mi_cmd_trace_define_variable)
+ (mi_cmd_trace_list_variables): New.
+
+
+ Implement -break-passcount.
+
+ * mi/mi-cmd-break.c (mi_cmd_break_passcount): New.
+ * mi/mi-cmds.c (mi_cmds): Register -break-passcount.
+ * mi/mi-cmds.h (mi_cmd_break_passcount): Declare.
+
+
+ -trace-start/-trace-end/-trace-status.
+
+ * mi/mi-cmds.c (mi_cmds): Register -trace-start, -trace-status
+ and -trace-stop.
+ * mi/mi-cmds.h (mi_cmd_trace_start, mi_cmd_trace_status)
+ (mi_cmd_trace_stop): Declare.
+ * mi/mi-main.c (mi_cmd_trace_start, mi_cmd_trace_status)
+ (mi_cmd_trace_stop): New.
+ * tracepoint.c (start_tracing): New, extracted from...
+ (trace_start_command): ...this.
+ (trace_status_mi): New.
+ * tracepoint.h (struct trace_status): Document
+ stopping_tracepoint.
+ (start_tracing, stop_tracing, trace_status_mi): Declare.
+
+
+ Implement creating tracepoints with -break-insert.
+
+ * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a
+ to mean that tracepoint should be created.
+
+
+ * breakpoint.c (check_no_tracepoint_commands): Use
+ current spelling of 'teval'.
+
+
+ Unify actions and commands
+
+ * defs.h (read_command_lines, read_command_lines_1): New
+ parameters validator and closure.
+ * tracepoint.h (struct action_line): Remove.
+ * breakpoint.h (struct breakpoint): Remove the 'actions'
+ field.
+ * defs.h (enum command_control_type): New value
+ while_stepping_control.
+ (struct command_line): Add comments.
+ * breakpoint.c (breakoint_is_tracepoint): New.
+ (breakpoint_set_commands): For tracepoints,
+ verify the commands are permissible.
+ (check_tracepoint_commands): New.
+ (commands_command): Require that each new line is validated using
+ check_tracepoint_command, if we set commands for a tracepoint.
+ (create_tracepoint_from_upload): Likewise.
+ (print_one_breakpoint_location): Remove the code to print
+ actions specifically.
+ (tracepoint_save_command): Relay to print_command_lines.
+ * cli/cli-script.c (process_next_line): New parameters validator
+ and closure. Handle 'while-stepping'. Call validator if not null.
+ (read_command_lines, read_command_lines1): Likewise.
+ (recurse_read_control_structure): New parameters validator and
+ closure. Handle while_stepping_control.
+ (print_command_lines): Handle while-stepping.
+ (get_command_line, define_command, document_command): Adjust.
+ * remote.c (remote_download_tracepoint): Adjust.
+ * tracepoint.c (make_cleanup_free_actions, read_actions)
+ (free_actions, do_free_actions_cleanup): Remove.
+ (trace_actions_command): Use read_command_lines.
+ (validate_actionline): Use error in one place.
+ (encode_actions_1): New, extracted from...
+ (encode_actions): ...this. Also use cleanups for exception
+ safety.
+ (trace_dump_command): Adjust.
+ * mi/mi-cmd-break (mi_cmd_break_commands): Validate commands if
+ it's tracepoint.
+
+
+ * Makefile.in (OPCODES_CFLAGS): Add -I$(OPCODES_SRC)/..
+
+
+ * value.c (value_static_field): Be lazy about the field's value.
+
+
+ PR gdb/11094
+ * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Add
+ bp_jit_event.
+ (disable_breakpoints_in_shlibs): Likewise.
+
+
+ * dwarf2read.c (partial_die_parent_scope): Work around buggy
+ GCC 4.1 debug info generation (GCC PR c++/28460).
+ (determine_prefix): Likewise.
+
+
+ * tui/tui-disasm.c (tui_get_begin_asm_address): Default to
+ get_current_arch.
+ * tui/tui-layout.c (extract_display_start_addr): Likewise.
+
+
+ * ax-gdb.c (gen_fetch): Handle bool.
+ (gen_usual_unary): Ditto.
+ (gen_cast): Ditto.
+ (gen_equal): New function.
+ (gen_less): New function.
+ (gen_expr_binop_rest): Call them, also return integer type from
+ logical operations.
+ (gen_expr): Ditto.
+
+
+ * jv-lang.c (jv_dynamics_objfile_data_key)
+ (jv_type_objfile_data_key): New globals.
+ (class_symtab): Move earlier.
+ (jv_per_objfile_free): New function.
+ (get_dynamics_objfile): Call set_objfile_data. Add 'gdbarch'
+ parameter.
+ Remove ancient #if 1.
+ (add_class_symbol): Remove redundant declaration.
+ (java_lookup_class): Use alloc_type, not alloc_type_arch.
+ (java_link_class_type): Mark as static. Update.
+ (jv_clear_object_type): New function.
+ (set_java_object_type): Likewise.
+ (get_java_object_type): Use set_java_object_type.
+ (is_object_type): Likewise.
+ (_initialize_java_language): Register new objfile keys.
+ (get_java_class_symtab): Add 'gdbarch' parameter.
+ (add_class_symtab_symbol): Update.
+ (type_from_class): Update.
+
+
+ * ax-general.c (ax_const_l): Fix a sizing bug.
+
+
+ GDB 7.1 released.
+
+
+ * target.h (struct target_ops): New method
+ to_set_circular_trace_buffer.
+ (target_set_circular_trace_buffer): New macro.
+ * target.c (update_current_target): Add
+ to_set_circular_trace_buffer, fix to_set_disconnected_tracing
+ default behavior.
+ * remote.c (remote_set_circular_trace_buffer): New function.
+ (init_remote_ops): Add it to vector.
+ * tracepoint.h (struct trace_status): New field traceframes_created,
+ change buffer_size and buffer_free to int.
+ * tracepoint.c (circular_trace_buffer): New global.
+ (start_tracing): Send values of disconnected tracing and circular
+ trace buffer settings.
+ (set_circular_trace_buffer): New function.
+ (parse_trace_state): Handle total space and frames created.
+ (trace_status_command): Display total space and total frames
+ created.
+ (trace_save): Write out new status values.
+ (parse_trace_status): Set traceframe_count, traceframes_created,
+ buffer_free and buffer_size to -1 by default.
+ (_initialize_tracepoint): New setshow for circular-trace-buffer.
+ * NEWS: Mention the circular trace buffer option.
+
+
+ * infcmd.c (finish_command_continuation): Wrap print_return_value
+ in TRY_CATCH.
+
+
+ * dwarf2read.c (add_partial_subprogram): Make sure the subprogram
+ DIE has a name before creating the associated partial symbol.
+ (read_func_scope): Emit a complaint if the subprogram does not
+ have a name or when we can't extract the subprogram PC bounds.
+
+
+ * mi/mi-main.c (mi_cmd_list_thread_groups): Use get_current_arch
+ instead of selected frame architecture.
+
+
+ * infcmd.c (until_command): Use ERROR_NO_INFERIOR. Ensure there's
+ a valid selected thread, and that it is not running.
+ (advance_command): Ditto.
+ (finish_command): Ditto.
+
+
+ * ax-gdb.c (require_rvalue): Disallow non-scalars.
+
+ * infcall.c: Include tracepoint.h.
+ (call_function_by_hand): Disallow calls in tfind mode.
+ * infcmd.c: Include tracepoint.h.
+ (ensure_not_tfind_mode): New function.
+ (continue_1): Call it.
+ (step_1) Ditto.
+ (jump_command): Ditto.
+ (signal_command): Ditto.
+ (advance_command): Ditto.
+ (until_command): Ditto.
+ (finish_command): Ditto.
+ * tracepoint.h (disconnect_or_stop_tracing): Declare.
+
+ * ax-gdb.h (struct axs_value): New field optimized_out.
+ (gen_trace_for_var): Add gdbarch argument.
+ * ax-gdb.c (gen_trace_static_fields): New function.
+ (gen_traced_pop): Call it, add gdbarch argument.
+ (gen_trace_for_expr): Update call to it.
+ (gen_trace_for_var): Ditto, and report optimized-out variables.
+ (gen_struct_ref_recursive): Check for optimized-out value.
+ (gen_struct_elt_for_reference): Ditto.
+ (gen_static_field): Pass gdbarch instead of expression, assume
+ optimization if field not found.
+ (gen_var_ref): Set the optimized_out flag.
+ (gen_expr): Error on optimized-out variable.
+ * tracepoint.c (collect_symbol): Handle struct-valued vars as
+ expressions, skip optimized-out variables with computed locations.
+ * dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of
+ erroring out if location expression missing.
+ (loclist_tracepoint_var_ref): Don't error out here.
+
+
+ * dwarf2read.c (dwarf2_get_section_info): Handle case where no
+ DWARF data is available.
+
+
+ * symfile.c (generic_load): Reset breakpoints after loading.
+
+
+ * linux-nat.c (linux_nat_detach): Check debug_linux_nat.
+
+
+ * spu-tdep.c (spu_catch_start): Replace set_breakpoint call with the
+ create_breakpoint call, adjust the parameters.
+
+
+ * dwarf2read.c (read_subrange_type): Set TYPE_HIGH_BOUND_UNDEFINED.
+ * valarith.c (value_subscripted_rvalue): Suppress error if
+ TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
+
* linux-record.c (record_linux_msghdr): Remove unintended semicolons.
(gnu_v3_print_method_ptr): Use the physname for virtual methods
without a demangled name.
Print out type information for non-virtual methods.
- * linespec.c (decode_line_1): Force ANY string using "::" (or
+ * linespec.c (decode_line_1): Force ANY string using "::" (or
"." for java) to use decode_compound, and clean up any stray quoting.
- If we found a file symtab, re-evaluate whether the remainder is_quoted.
- (decode_compound): Stop consuming at an open parenthesis.
- Keep template parameters.
- Keep any overload information.
- Keep keywords like "const".
- Remove paren_pointer.
- Move is_quoted check from set_flags to here.
- Remove #if 0 code from 2000. Ten years is long enough.
- (find_method): Before comparing symbol names, canonicalize the string
- from the user.
- If a specific overload is requested, find it. Otherwise throw an error.
+ If we found a file symtab, re-evaluate whether the remainder is_quoted.
+ (decode_compound): Stop consuming at an open parenthesis.
+ Keep template parameters.
+ Keep any overload information.
+ Keep keywords like "const".
+ Remove paren_pointer.
+ Move is_quoted check from set_flags to here.
+ Remove #if 0 code from 2000. Ten years is long enough.
+ (find_method): Before comparing symbol names, canonicalize the string
+ from the user.
+ If a specific overload is requested, find it. Otherwise throw an error.
(find_method_overload_end): New function.
(set_flags): Remove.
- (decode_compound): Assume that parentheses are matched.
- It's a lot easier.
+ (decode_compound): Assume that parentheses are matched.
+ It's a lot easier.
* symtab.c (symbol_find_demangled_name): Add DMGL_VERBOSE flag
to cplus_demangle.
* linespec.c (decode_line_1): Keep important keywords like
* remote.c (remote_get_ada_task_ptid): New function.
- (init_remote_ops): Set remote_ops.to_get_ada_task_ptid.
+ (init_remote_ops): Set remote_ops.to_get_ada_task_ptid.
address as UnsignedLongLong, not LongLong.
* remote-mips.c (gdbthread.h): Include.
(remote_mips_ptid): Declare.
GDB's gdbarch_addr_bit as size of values on the DWARF stack.
* python/py-type.c (typy_lookup_typename): Add in block argument.
If provided restrict lookup to specified blocks.
- * windows-nat.c (windows_continue): Use %x to print thread id.
- (get_windows_debug_event): Ditto.
+ * windows-nat.c (windows_continue): Use %x to print thread id.
+ (get_windows_debug_event): Ditto.
- * features/Makefile (WHICH): Add s390-linux32, s390-linux64,
+ * features/Makefile (WHICH): Add s390-linux32, s390-linux64,
and s390x-linux64.
(s390-linux32-expedite): Define.
(s390-linux64-expedite): Define.