]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/ChangeLog
gdb: Check for nullptr when computing srcpath
[thirdparty/binutils-gdb.git] / gdb / ChangeLog
index 4ab0309dc2a08451235ac820789e120d1c8fa181..ff2172c28766013c8232629694e105c050824c2a 100644 (file)
@@ -1,3 +1,410 @@
+2020-02-27  Aaron Merey  <amerey@redhat.com>
+
+       * source.c (open_source_file): Check for nullptr when computing
+       srcpath.
+
+2020-02-27  Tom Tromey  <tromey@adacore.com>
+
+       * dwarf2/read.c (struct field_info) <nfields>: Now a method, not a
+       member.
+       (dwarf2_add_field): Don't update nfields.
+       (dwarf2_attach_fields_to_type, process_structure_scope): Update.
+
+2020-02-27  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * gdbtypes.c (create_array_type_with_stride): Use std::abs not
+       abs.
+
+2020-02-26  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/read.c (struct dwarf2_include_psymtab): New.
+       (dwarf2_create_include_psymtab): Use dwarf2_include_psymtab.
+       (dwarf2_psymtab::expand_psymtab, dwarf2_psymtab::readin_p)
+       (dwarf2_psymtab::get_compunit_symtab): Remove null checks for
+       per_cu_data.
+
+2020-02-26  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/index-write.c (psym_index_map): Change type.
+       (add_address_entry_worker, write_one_signatured_type)
+       (recursively_count_psymbols, recursively_write_psymbols)
+       (class debug_names, psyms_seen_size, write_gdbindex)
+       (write_debug_names): Use partial_symtab, not dwarf2_psymtab.
+
+2020-02-26  Aaron Merey  <amerey@redhat.com>
+
+       * Makefile.in: Handle optional debuginfod support.
+       * NEWS: Update.
+       * README: Add --with-debuginfod summary.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Handle optional debuginfod support.
+       * debuginfod-support.c: debuginfod helper functions.
+       * debuginfod-support.h: Ditto.
+       * doc/gdb.texinfo: Add --with-debuginfod to configure options
+       summary.
+       * dwarf2/read.c (dwarf2_get_dwz_file): Query debuginfod servers
+       when a dwz file cannot be found.
+       * elfread.c (elf_symfile_read): Query debuginfod servers when a
+       debuginfo file cannot be found.
+       * source.c (open_source_file): Query debuginfod servers when a
+       source file cannot be found.
+       * top.c (print_gdb_configuration): Include
+       --{with,without}-debuginfod in the output.
+
+2020-02-26  Jérémie Galarneau  <jeremie.galarneau@efficios.com>
+
+       * thread.c (thr_try_catch_cmd): Print thread name.
+
+2020-02-26  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/loc.h (dwarf2_fetch_die_loc_sect_off,
+       dwarf2_fetch_die_loc_cu_off, dwarf2_fetch_constant_bytes,
+       dwarf2_fetch_die_type_sect_off): Move to...
+       * dwarf2/read.h (dwarf2_fetch_die_loc_sect_off,
+       dwarf2_fetch_die_loc_cu_off, dwarf2_fetch_constant_bytes,
+       dwarf2_fetch_die_type_sect_off): ... here.
+       * dwarf2/read.c (dwarf2_fetch_die_loc_sect_off,
+       dwarf2_fetch_die_loc_cu_off, dwarf2_fetch_constant_bytes,
+       dwarf2_fetch_die_type_sect_off): Move doc to header file.
+
+2020-02-26  Tom de Vries  <tdevries@suse.de>
+
+       PR gdb/25603
+       * symfile.c (set_initial_language): Exit-early if
+       language_mode == language_mode_manual.
+
+2020-02-25  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * dwarf2/loc.h (dwarf2_read_addr_index): Move...
+       * dwarf2/read.h (dwarf2_read_addr_index): ... here.
+       * dwarf2/read.c (dwarf2_read_addr_index): Move doc to header.
+
+2020-02-25  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * gdbtypes.c (create_array_type_with_stride): Handle negative
+       array strides.
+       * valarith.c (value_subscripted_rvalue): Likewise.
+
+2020-02-25  Luis Machado  <luis.machado@linaro.org>
+
+       * aarch64-tdep.c (aarch64_vnv_type): Fix comment typo.
+
+2020-02-25  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * loc.h (dwarf2_get_die_type): Move to...
+       * read.h (dwarf2_get_die_type): ... here.
+       * read.c (dwarf2_get_die_type): Move doc to header.
+
+2020-02-25  Joel Brobecker  <brobecker@adacore.com>
+
+       * copypright.py (EXCLUDE_LIST): Add 'gnulib/config.in' and
+       'gnulib/Makefile.in' to the list.
+
+2020-02-24  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/read.h (struct type_unit_unshareable) <num_symtabs>:
+       Remove.
+       * dwarf2/read.c (dwarf2_cu::setup_type_unit_groups): Use
+       XOBNEWVEC.
+
+2020-02-24  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/read.h (struct dwarf2_per_cu_data) <type_unit_group_p>:
+       New method.
+       * dwarf2/read.c (IS_TYPE_UNIT_GROUP): Remove.
+       (dw2_do_instantiate_symtab, dw2_get_file_names)
+       (build_type_psymtab_dependencies, load_full_type_unit): Update.
+
+2020-02-24  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2read.c (dwarf2_build_psymtabs_hard): Use
+       make_scoped_restore.
+       (dwarf2_psymtab::read_symtab): Don't clear
+       reading_partial_symbols.
+
+2020-02-24  Tom de Vries  <tdevries@suse.de>
+
+       PR gdb/25592
+       * stack.c (iterate_over_block_locals): Handle LOC_CONST.
+
+2020-02-24  Tom de Vries  <tdevries@suse.de>
+
+       * tui/tui-layout.c (_initialize_tui_layout): Fix help messages for
+       commands layout next/prev/regs.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/loc.h (dwarf2_compile_expr_to_ax): Don't declare.
+       * dwarf2/loc.c (dwarf2_compile_expr_to_ax): Now static.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-data.h (TUI_DISASM_WIN): Cast to tui_disasm_window.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-win.c (_initialize_tui_win): Add usage text.
+       * tui/tui-stack.c (_initialize_tui_stack): Add usage text.
+       * tui/tui-regs.c (_initialize_tui_regs): Add usage text.
+       * tui/tui.c (_initialize_tui): Add usage text.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-win.c (tui_set_focus_command)
+       (tui_set_win_height_command): Use error_no_arg.
+       (_initialize_tui_win): Update help text.
+       (FOCUS_USAGE, WIN_HEIGHT_USAGE): Don't define.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-layout.c (extract_display_start_addr): Rewrite.
+       * tui/tui-disasm.h (struct tui_disasm_window)
+       <display_start_addr>: Declare.
+       * tui/tui-source.h (struct tui_source_window)
+       <display_start_addr>: Declare.
+       * tui/tui-winsource.h (struct tui_source_window_base)
+       <show_source_line, display_start_addr>: New methods.
+       <m_horizontal_offset, m_start_line_or_addr, m_gdbarch, m_content>:
+       Rename and move to protected section.
+       * tui/tui-winsource.c (tui_source_window_base::update_source_window)
+       (tui_source_window_base::do_erase_source_content): Update.
+       (tui_source_window_base::show_source_line): Now a method.
+       (tui_source_window_base::show_source_content)
+       (tui_source_window_base::tui_source_window_base)
+       (tui_source_window_base::rerender)
+       (tui_source_window_base::refill)
+       (tui_source_window_base::do_scroll_horizontal)
+       (tui_source_window_base::set_is_exec_point_at)
+       (tui_source_window_base::update_breakpoint_info)
+       (tui_source_window_base::update_exec_info): Update.
+       * tui/tui-source.c (tui_source_window::set_contents)
+       (tui_source_window::showing_source_p)
+       (tui_source_window::do_scroll_vertical)
+       (tui_source_window::location_matches_p)
+       (tui_source_window::line_is_displayed): Update.
+       (tui_source_window::display_start_addr): New method.
+       * tui/tui-disasm.c (tui_disasm_window::set_contents)
+       (tui_disasm_window::do_scroll_vertical)
+       (tui_disasm_window::location_matches_p): Update.
+       (tui_disasm_window::display_start_addr): New method.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * NEWS: Add entry for gdb.register_window_type.
+       * tui/tui-layout.h (window_factory): New typedef.
+       (tui_register_window): Declare.
+       * tui/tui-layout.c (saved_tui_windows): New global.
+       (tui_apply_current_layout): Use it.
+       (tui_register_window): New function.
+       * python/python.c (do_start_initialization): Call
+       gdbpy_initialize_tui.
+       (python_GdbMethods): Add "register_window_type" function.
+       * python/python-internal.h (gdbpy_register_tui_window)
+       (gdbpy_initialize_tui): Declare.
+       * python/py-tui.c: New file.
+       * Makefile.in (SUBDIR_PYTHON_SRCS): Add py-tui.c.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-io.c (do_tui_putc): Don't omit annotations.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-win.c (tui_set_win_focus_to): Move to tui-data.c.
+       * tui/tui-data.h (tui_set_win_with_focus): Don't declare.
+       * tui/tui-data.c (tui_set_win_with_focus): Remove.
+       (tui_set_win_focus_to): Move from tui-win.c.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-layout.c (make_standard_window, get_locator_window): New
+       functions.
+       (known_window_types): New global.
+       (tui_get_window_by_name): Reimplement.
+       (initialize_known_windows): New function.
+       (validate_window_name): Rewrite.
+       (_initialize_tui_layout): Call initialize_known_windows.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui.h (enum tui_win_type) <LOCATOR_WIN, DATA_ITEM_WIN>:
+       Remove constants.
+       * tui/tui-winsource.h (struct tui_source_window_base)
+       <tui_source_window_base>: Remove parameter.
+       * tui/tui-winsource.c
+       (tui_source_window_base::tui_source_window_base): Remove
+       parameter.
+       (tui_source_window_base::refill): Update.
+       * tui/tui-stack.h (struct tui_locator_window)
+       <tui_locator_window>: Update.
+       * tui/tui-source.h (struct tui_source_window) <tui_source_window>:
+       Default the constructor.
+       * tui/tui-regs.h (struct tui_data_item_window)
+       <tui_data_item_window>: Default the constructor.
+       (struct tui_data_window) <tui_data_window>: Likewise.
+       * tui/tui-disasm.h (struct tui_disasm_window) <tui_disasm_window>:
+       Default the constructor.
+       * tui/tui-data.h (struct tui_gen_win_info) <tui_gen_win_info>:
+       Default the constructor.
+       <type>: Remove.
+       (struct tui_win_info) <tui_win_info>: Default the constructor.
+       * tui/tui-data.c (tui_win_info::tui_win_info): Remove.
+       * tui/tui-command.h (struct tui_cmd_window) <tui_cmd_window>:
+       Default the constructor.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-wingeneral.h (tui_make_all_invisible): Don't declare.
+       * tui/tui-wingeneral.c (tui_make_all_invisible): Remove.
+       * tui/tui-win.c (tui_resize_all): Don't call
+       tui_delete_invisible_windows.
+       * tui/tui-layout.c (tui_apply_current_layout): Delete windows when
+       done.
+       (tui_set_layout): Update.
+       (tui_add_win_to_layout): Don't call tui_delete_invisible_windows.
+       * tui/tui-data.h (tui_delete_invisible_windows): Don't declare.
+       * tui/tui-data.c (tui_delete_invisible_windows): Remove.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-win.c (tui_partial_win_by_name): Handle ambiguity
+       correctly.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-data.c (tui_next_win, tui_prev_win): Reimplement.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-winsource.h (struct tui_source_window_iterator)
+       <inner_iterator>: New etytypedef.
+       <tui_source_window_iterator>: Take "end" parameter.
+       <tui_source_window_iterator>: Take iterator.
+       <operator*, advance>: Update.
+       <m_iter>: Change type.
+       <m_end>: New field.
+       (struct tui_source_windows) <begin, end>: Update.
+       * tui/tui-layout.c (tui_windows): New global.
+       (tui_apply_current_layout): Clear tui_windows.
+       (tui_layout_window::apply): Update tui_windows.
+       * tui/tui-data.h (tui_windows): Declare.
+       (all_tui_windows): Now inline function.
+       (class tui_window_iterator, struct all_tui_windows): Remove.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       PR tui/17850:
+       * tui/tui-win.c (tui_gen_win_info::max_width): New method.
+       * tui/tui-layout.h (class tui_layout_base) <get_sizes>: Add
+       "height" argument.
+       (class tui_layout_window) <get_sizes>: Likewise.
+       (class tui_layout_split) <tui_layout_split>: Add "vertical"
+       argument.
+       <get_sizes>: Add "height" argument.
+       <m_vertical>: New field.
+       * tui/tui-layout.c (tui_layout_split::clone): Update.
+       (tui_layout_split::get_sizes): Add "height" argument.
+       (tui_layout_split::adjust_size, tui_layout_split::apply): Update.
+       (tui_new_layout_command): Parse "-horizontal".
+       (_initialize_tui_layout): Update help string.
+       (tui_layout_split::specification): Add "-horizontal" when needed.
+       * tui/tui-layout.c (tui_layout_window::get_sizes): Add "height"
+       argument.
+       * tui/tui-data.h (struct tui_gen_win_info) <max_width, min_width>:
+       New methods.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-layout.h (enum tui_adjust_result): New.
+       (class tui_layout_base) <adjust_size>: Return tui_adjust_result.
+       (class tui_layout_window) <adjust_size>: Return
+       tui_adjust_result.  Rewrite.
+       (class tui_layout_split) <adjust_size>: Return tui_adjust_result.
+       * tui/tui-layout.c (tui_layout_split::adjust_size): Update.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-layout.h (class tui_layout_split) <add_split>: Change
+       parameter and return types.
+       (class tui_layout_base) <specification>: Add "depth".
+       (class tui_layout_window) <specification>: Add "depth".
+       (class tui_layout_split) <specification>: Add "depth".
+       * tui/tui-layout.c (tui_layout_split::add_split): Change parameter
+       and return types.
+       (tui_new_layout_command): Parse sub-layouts.
+       (_initialize_tui_layout): Update help string.
+       (tui_layout_window::specification): Add "depth".
+       (add_layout_command): Update.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * NEWS: Add "tui new-layout" item.
+       * tui/tui-layout.c (add_layout_command): Return cmd_list_element.
+       Add new-layout command to help text.
+       (validate_window_name): New function.
+       (tui_new_layout_command): New function.
+       (_initialize_tui_layout): Register "new-layout".
+       (tui_layout_window::specification): New method.
+       (tui_layout_window::specification): New method.
+       * tui/tui-layout.h (class tui_layout_base) <specification>: New
+       method.
+       (class tui_layout_window) <specification>: New method.
+       (class tui_layout_split) <specification>: New method.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui.c (tui_enable): Call tui_set_initial_layout.
+       * tui/tui-win.c (window_name_completer): Update comment.
+       * tui/tui-layout.h (class tui_layout_base) <replace_window>:
+       Declare method.
+       (class tui_layout_window) <replace_window>: Likewise.
+       (class tui_layout_split) <replace_window>: Likewise.
+       (tui_set_layout): Don't declare.
+       (tui_set_initial_layout): Declare function.
+       * tui/tui-layout.c (layouts, applied_skeleton, src_regs_layout)
+       (asm_regs_layout): New globals.
+       (tui_current_layout, show_layout): Remove.
+       (tui_set_layout, tui_add_win_to_layout): Rewrite.
+       (find_layout, tui_apply_layout): New function.
+       (layout_completer): Remove.
+       (tui_next_layout): Reimplement.
+       (tui_next_layout_command): New function.
+       (tui_set_initial_layout, tui_prev_layout_command): New functions.
+       (tui_regs_layout): Reimplement.
+       (tui_regs_layout_command): New function.
+       (extract_display_start_addr): Rewrite.
+       (next_layout, prev_layout): Remove.
+       (tui_layout_window::replace_window): New method.
+       (tui_layout_split::replace_window): New method.
+       (destroy_layout): New function.
+       (layout_list): New global.
+       (add_layout_command): New function.
+       (initialize_layouts): Update.
+       (tui_layout_command): New function.
+       (_initialize_tui_layout): Install "layout" commands.
+       * tui/tui-data.h (enum tui_layout_type): Remove.
+       (tui_current_layout): Don't declare.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-regs.c (tui_reg_layout): Remove.
+       (tui_reg_command): Use tui_regs_layout.
+       * tui/tui-layout.h (tui_reg_command): Declare.
+       * tui/tui-layout.c (tui_reg_command): New function.
+
+2020-02-22  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui.c (tui_rl_delete_other_windows): Call
+       tui_remove_some_windows.
+       * tui/tui-layout.h (class tui_layout_base) <remove_windows>:
+       Declare method.
+       (class tui_layout_window) <remove_windows>: New method.
+       (class tui_layout_split) <remove_windows>: Declare.
+       (tui_remove_some_windows): Declare.
+       * tui/tui-layout.c (tui_remove_some_windows): New function.
+       (tui_layout_split::remove_windows): New method.
+
 2020-02-22  Tom Tromey  <tom@tromey.com>
 
        * tui/tui.c (tui_rl_change_windows): Call tui_next_layout.