1. 19 Jan, 2019 3 commits
  2. 18 Jan, 2019 1 commit
  3. 17 Jan, 2019 11 commits
    • Tom Tromey's avatar
      Make minimal symbol range adapter a method on objfile · 7932255d
      Tom Tromey authored
      This removes class objfile_msymbols in favor of a method on the
      objfile.
      
      2019-01-16  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.h (struct minimal_symbol_iterator): Rename.  Move
      	earlier.
      	(struct objfile) <msymbols_range>: Move from top level.
      	<msymbols>: New method.
      	(class objfile_msymbols): Remove.
      	* symtab.c (default_collect_symbol_completion_matches_break_on):
      	Update.
      	* symmisc.c (dump_msymbols): Update.
      	* stabsread.c (scan_file_globals): Update.
      	* objc-lang.c (info_selectors_command, info_classes_command)
      	(find_methods): Update.
      	* minsyms.c (find_solib_trampoline_target): Update.
      	* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Update.
      	* coffread.c (coff_symfile_read): Update.
      	* ada-lang.c (ada_lookup_simple_minsym)
      	(ada_collect_symbol_completion_matches): Update.
      
      7932255d
    • Tom Tromey's avatar
      Simplify minsym iteration · 604b1bfb
      Tom Tromey authored
      This simplifies the minimal symbol iterator, by using
      minimal_symbol_count and just doing a somewhat ordinary array-like
      iteration.  array_view is nearly usable, except that it is more
      convenient for this iterator to return pointers rather than
      references.
      
      gdb/ChangeLog
      2019-01-16  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.h (class objfile_msymbols) <iterator>: Change argument
      	type.  Remove no-argument constructor.
      	<iterator::operator++>: Simplify.
      	<begin>: Update.
      	<end>: Use minimal_symbol_count.
      604b1bfb
    • Tom Tromey's avatar
      Make psymtab range adapter a method on objfile · f252c6d5
      Tom Tromey authored
      This removes the objfile_psymtabs class in favor of a method on
      objfile and on psymtab_storage.
      
      2019-01-16  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.h (struct objfile) <psymtabs>: New method.
      	(class objfile_psymtabs): Remove.
      	* psymtab.h (class psymtab_storage) <partial_symtab_range>: New
      	typedef.
      	<range>: New method.
      	(require_partial_symbols): Change return type.
      	* psymtab.c (require_partial_symbols)
      	(psym_expand_symtabs_matching): Update.
      	* mdebugread.c (parse_partial_symbols): Update.
      	* dbxread.c (dbx_end_psymtab): Update.
      
      f252c6d5
    • Tom Tromey's avatar
      Add compunits range adapter to objfile · b669c953
      Tom Tromey authored
      This removes the objfile_compunits range adapter in favor of using a
      method on objfile.
      
      2019-01-15  Tom Tromey  <tom@tromey.com>
      
      	* symtab.c (lookup_objfile_from_block)
      	(lookup_symbol_in_objfile_symtabs)
      	(basic_lookup_transparent_type_1, find_pc_sect_compunit_symtab)
      	(find_line_symtab, info_sources_command)
      	(default_collect_symbol_completion_matches_break_on)
      	(make_source_files_completion_list): Update.
      	* symmisc.c (print_objfile_statistics, dump_objfile)
      	(maintenance_print_symbols, maintenance_info_symtabs)
      	(maintenance_check_symtabs, maintenance_info_line_tables):
      	Update.
      	* source.c (select_source_symtab)
      	(forget_cached_source_info_for_objfile): Update.
      	* objfiles.h (class objfile_compunits): Remove.
      	(struct objfile) <compunits_range>: New typedef.
      	(compunits): New method.
      	* objfiles.c (objfile_relocate1): Update.
      	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
      	* maint.c (count_symtabs_and_blocks): Update.
      	* linespec.c (iterate_over_all_matching_symtabs): Update.
      	* cp-support.c (add_symbol_overload_list_qualified): Update.
      	* coffread.c (coff_symtab_read): Update.
      	* ada-lang.c (add_nonlocal_symbols)
      	(ada_collect_symbol_completion_matches)
      	(ada_add_global_exceptions): Update.
      
      b669c953
    • Tom Tromey's avatar
      Change all_objfiles_safe adapter to be a method on program_space · 7e955d83
      Tom Tromey authored
      This changes the all_objfiles_safe range adapter to be a method on the
      program space, and fixes up all the users.
      
      gdb/ChangeLog
      2019-01-15  Tom Tromey  <tom@tromey.com>
      
      	* progspace.h (program_space) <objfiles_safe_range>: New
      	typedef.
      	<objfiles_safe>: New method.
      	* objfiles.h (class all_objfiles_safe): Remove.
      	* objfiles.c (free_all_objfiles, objfile_purge_solibs): Update.
      	* jit.c (jit_inferior_exit_hook): Update.
      7e955d83
    • Tom Tromey's avatar
      Change all_objfiles adapter to be a method on program_space · 2030c079
      Tom Tromey authored
      This changes the all_objfiles range adapter to be a method on the
      program space, and fixes up all the users.
      
      gdb/ChangeLog
      2019-01-17  Tom Tromey  <tom@tromey.com>
      
      	* progspace.h (program_space) <objfiles_range>: New typedef.
      	<objfiles>: New method.
      	<objfiles_head>: Rename from objfiles.
      	(object_files): Update.
      	* guile/scm-progspace.c (gdbscm_progspace_objfiles): Update.
      	* guile/scm-pretty-print.c
      	(ppscm_find_pretty_printer_from_objfiles): Update.
      	* guile/scm-objfile.c (gdbscm_objfiles): Update.
      	* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
      	Update.
      	* python/py-progspace.c (pspy_get_objfiles): Update.
      	* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
      	Update.
      	* python/py-objfile.c (objfpy_lookup_objfile_by_name)
      	(objfpy_lookup_objfile_by_build_id): Update.
      	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
      	* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
      	Update.
      	* symtab.c (iterate_over_symtabs, matching_obj_sections)
      	(expand_symtab_containing_pc, lookup_objfile_from_block)
      	(lookup_static_symbol, basic_lookup_transparent_type)
      	(find_pc_sect_compunit_symtab, find_symbol_at_address)
      	(find_line_symtab, info_sources_command)
      	(default_collect_symbol_completion_matches_break_on)
      	(make_source_files_completion_list, find_main_name): Update.
      	* symmisc.c (print_symbol_bcache_statistics)
      	(print_objfile_statistics, maintenance_print_symbols)
      	(maintenance_print_msymbols, maintenance_print_objfiles)
      	(maintenance_info_symtabs, maintenance_check_symtabs)
      	(maintenance_expand_symtabs, maintenance_info_line_tables):
      	Update.
      	* symfile.c (remove_symbol_file_command, overlay_invalidate_all)
      	(find_pc_overlay, find_pc_mapped_section, list_overlays_command)
      	(map_overlay_command, unmap_overlay_command)
      	(simple_overlay_update, expand_symtabs_matching)
      	(map_symbol_filenames): Update.
      	* symfile-debug.c (set_debug_symfile): Update.
      	* spu-tdep.c (spu_overlay_update, spu_objfile_from_frame):
      	Update.
      	* source.c (select_source_symtab, forget_cached_source_info):
      	Update.
      	* solib.c (solib_read_symbols): Update.
      	* solib-spu.c (append_ocl_sos): Update.
      	* psymtab.c (maintenance_print_psymbols)
      	(maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
      	* probe.c (parse_probes_in_pspace, find_probe_by_pc): Update.
      	* printcmd.c (info_symbol_command): Update.
      	* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created):
      	Update.
      	* objfiles.h (class all_objfiles): Remove.
      	* objfiles.c (have_partial_symbols, have_full_symbols)
      	(have_minimal_symbols, qsort_cmp, update_section_map)
      	(shared_objfile_contains_address_p)
      	(default_iterate_over_objfiles_in_search_order): Update.
      	* objc-lang.c (info_selectors_command, info_classes_command)
      	(find_methods): Update.
      	* minsyms.c (find_solib_trampoline_target): Update.
      	* maint.c (maintenance_info_sections)
      	(maintenance_translate_address, count_symtabs_and_blocks):
      	Update.
      	* main.c (captured_main_1): Update.
      	* linux-thread-db.c (try_thread_db_load_from_pdir)
      	(has_libpthread): Update.
      	* linespec.c (iterate_over_all_matching_symtabs)
      	(search_minsyms_for_name): Update.
      	* jit.c (jit_find_objf_with_entry_addr): Update.
      	* hppa-tdep.c (find_unwind_entry)
      	(hppa_lookup_stub_minimal_symbol): Update.
      	* gcore.c (gcore_create_callback, objfile_find_memory_regions):
      	Update.
      	* elfread.c (elf_gnu_ifunc_resolve_by_cache)
      	(elf_gnu_ifunc_resolve_by_got): Update.
      	* dwarf2-frame.c (dwarf2_frame_find_fde): Update.
      	* dwarf-index-write.c (save_gdb_index_command): Update.
      	* cp-support.c (add_symbol_overload_list_qualified): Update.
      	* breakpoint.c (create_overlay_event_breakpoint)
      	(create_longjmp_master_breakpoint)
      	(create_std_terminate_master_breakpoint)
      	(create_exception_master_breakpoint): Update.
      	* blockframe.c (find_pc_partial_function): Update.
      	* ada-lang.c (ada_lookup_simple_minsym, add_nonlocal_symbols)
      	(ada_collect_symbol_completion_matches)
      	(ada_add_global_exceptions): Update.
      2030c079
    • Tom Tromey's avatar
      Remove cleanups from solib-target.c · 776489e0
      Tom Tromey authored
      This removes the remaining cleanups from solib-target.c, plus a VEC,
      by using std::vector and std::unique_ptr.
      
      Tested by the buildbot.
      
      gdb/ChangeLog
      2019-01-17  Tom Tromey  <tom@tromey.com>
      
      	* solib-target.c (lm_info_target_p): Remove typedef.  Don't
      	declare VEC.
      	(solib_target_parse_libraries): Change return type.
      	(library_list_start_segment, library_list_start_section)
      	(library_list_end_library, library_list_start_library); Update.
      	(solib_target_free_library_list): Remove.
      	(solib_target_parse_libraries): Remove cleanup.  Change return
      	type.
      	(solib_target_current_sos): Update.
      776489e0
    • Tom Tromey's avatar
      Replace "the the" with "the" · 6471e7d2
      Tom Tromey authored
      This replaces "the the" with "the" in various comments.
      
      Tested by rebuilding.  This didn't test the solib-dsbt.c change, but
      it looks harmless.
      
      gdb/ChangeLog
      2019-01-17  Tom Tromey  <tromey@bapiya>
      
      	* valprint.c: Replace "the the" with "the".
      	* symtab.c: Replace "the the" with "the".
      	* solib.c: Replace "the the" with "the".
      	* solib-dsbt.c: Replace "the the" with "the".
      	* linespec.c: Replace "the the" with "the".
      	* dwarf2loc.h: Replace "the the" with "the".
      	* amd64-windows-tdep.c: Replace "the the" with "the".
      	* aarch64-tdep.c: Replace "the the" with "the".
      6471e7d2
    • Tamar Christina's avatar
      Arm: Clean up PE GAS testsuite correct THUMB tests. · dee3ee22
      Tamar Christina authored
      The PE targets don't support mapping symbols and so the disassembler is unable
      to correctly output thumb instructions when the input was thumb.
      
      So for testcases that only have thumb output, I have copied them and skipped the
      ones for which auto-detection is supposed to work on PE, and added a new one
      that will force thumb output.  This so that the tests still check the mapping
      symbols.
      
      For the tests that switch between thumb and arm in one file I just skip them
      entirely on PE targets.
      
      This cleans up the PE GAS testsuite.
      
      gas/
      
      	* testsuite/gas/arm/archv6t2-1-pe.d: New test.
      	* testsuite/gas/arm/archv6t2-1.d: Skip pe.
      	* testsuite/gas/arm/csdb.d: Skip pe.
      	* testsuite/gas/arm/sb-thumb1-pe.d: New test.
      	* testsuite/gas/arm/sb-thumb1.d: Skip pe.
      	* testsuite/gas/arm/sb-thumb2-pe.d: New test.
      	* testsuite/gas/arm/sb-thumb2.d: Skip pe.
      	* testsuite/gas/arm/udf.d: Skip pe.
      dee3ee22
    • Nick Clifton's avatar
      Update objdump's --disassemble=<symbol> feature so that if <symbol> is a... · baae986a
      Nick Clifton authored
      Update objdump's --disassemble=<symbol> feature so that if <symbol> is a function, the entire function will be disassembled, regardless of the presence of interveening symbols.
      
      	* objdump.c (disassemble_section): When disassembling from a
      	symbol only stop at the next symbol if the original symbol was not
      	a function symbol.  Otherwise continue disassembling until a new
      	function is reached.
      	* testsuite/binutils-all/objdump.exp: Add tests of extended
      	functionality.
      	* testsuite/binutils-all/disasm.s: New test source file.
      baae986a
    • GDB Administrator's avatar
      Automatic date update in version.in · e89c6941
      GDB Administrator authored
      e89c6941
  4. 16 Jan, 2019 11 commits
    • Simon Marchi's avatar
      Actually remove definitions of DEFINE_NON_INLINE_P and DEFINE_INLINE_P · b84bb29d
      Simon Marchi authored
      I applied the patch "Do not expand macros to 'defined'" by hand because
      I couldn't apply it with git-am, and of course forgot to remove the
      macro definitions.  This patch fixes it, and also makes the ChangeLog
      entry a bit cleaner.
      b84bb29d
    • Jim Wilson's avatar
      Don't emit vendor attribute section if there is no attribute to emit. · a4bf3d07
      Jim Wilson authored
      	2019-01-16  Kito Cheng  <kito@andestech.com>
      	bfd/
      	* elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
      	for OBJ_ATTR_PROC.
      	gas/
      	* testsuite/gas/riscv/attribute-empty.d: New.
      a4bf3d07
    • Jim Wilson's avatar
      RISC-V: Merge ELF attribute for ld. · 7d7a7d7c
      Jim Wilson authored
      	2019-01-16  Kito Cheng  <kito@andestech.com>
      		    Nelson Chu  <nelson@andestech.com>
      
      	bfd/
      	* elfnn-riscv.c (in_subsets): New.
      	(out_subsets): Likewise.
      	(merged_subsets): Likewise.
      	(riscv_std_ext_p): Likewise.
      	(riscv_non_std_ext_p): Likewise.
      	(riscv_std_sv_ext_p): Likewise.
      	(riscv_non_std_sv_ext_p): Likewise.
      	(riscv_version_mismatch): Likewise.
      	(riscv_i_or_e_p): Likewise.
      	(riscv_merge_std_ext): Likewise.
      	(riscv_merge_non_std_and_sv_ext): Likewise.
      	(riscv_merge_arch_attr_info): Likewise.
      	(riscv_merge_attributes): Likewise.
      	(_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
      	ld/
      	* testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new
      	section.
      	* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests.
      	* testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test.
      	* testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise.
      	* testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise.
      7d7a7d7c
    • Jim Wilson's avatar
      RISC-V: Support ELF attribute for gas and readelf. · 2dc8dd17
      Jim Wilson authored
      	2019-01-16  Kito Cheng  <kito@andestech.com>
      		    Nelson Chu  <nelson@andestech.com>
      
      	bfd/
      	* elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
      	(elf_backend_obj_attrs_vendor): Define.
      	(elf_backend_obj_attrs_section_type): Likewise.
      	(elf_backend_obj_attrs_section): Likewise.
      	(elf_backend_obj_attrs_arg_type): Define as
      	riscv_elf_obj_attrs_arg_type.
      	* elfxx-riscv.c (riscv_estimate_digit): New.
      	(riscv_estimate_arch_strlen1): Likewise.
      	(riscv_estimate_arch_strlen): Likewise.
      	(riscv_arch_str1): Likewise.
      	(riscv_arch_str): Likewise.
      	* elfxx-riscv.h (riscv_arch_str): Declare.
      	binutils/
      	* readelf.c (get_riscv_section_type_name): New function.
      	(get_section_type_name): Add handler for RISC-V.
      	(riscv_attr_tag_t): Declare.
      	(riscv_attr_tag): New.
      	(display_riscv_attribute): New function.
      	(process_attributes): Add handler for RISC-V.
      	* testsuite/binutils-all/strip-3.d: Remove .riscv.attribute
      	section.
      	gas/
      	* config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined.
      	(riscv_set_options): Add `arch_attr` field.
      	(riscv_opts): Set default value for arch_attr.
      	(riscv_write_out_arch_attr): New.
      	(riscv_set_public_attributes): Likewise.
      	(riscv_md_end): Likewise.
      	(riscv_convert_symbolic_attribute): Likewise.
      	(s_riscv_attribute): Likewise.
      	(explicit_arch_attr): Likewise.
      	(riscv_pseudo_table): Add .attribute to the table.
      	(options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR
      	enumeration constants.
      	(md_longopts): Add `march-attr' and `mno-arch-attr' options.
      	(md_parse_option): Handle the new options.
      	(md_show_usage): Document the `march-attr' option.
      	* config/tc-riscv.h (md_end): Define as riscv_md_end
      	(riscv_md_end): Declare.
      	(CONVERT_SYMBOLIC_ATTRIBUTE): Define as
      	riscv_convert_symbolic_attribute.
      	(riscv_convert_symbolic_attribute): Declare.
      	(start_assemble): Declare.
      	* testsuite/gas/elf/elf.exp: Adjust test case for section2.e.
      	* testsuite/gas/elf/section2.e-riscv: New.
      	* testsuite/gas/riscv/attribute-01.d: New test
      	* testsuite/gas/riscv/attribute-02.d: Likewise.
      	* testsuite/gas/riscv/attribute-03.d: Likewise.
      	* testsuite/gas/riscv/attribute-04.d: Likewise.
      	* testsuite/gas/riscv/attribute-04.s: Likewise.
      	* testsuite/gas/riscv/attribute-05.d: Likewise.
      	* testsuite/gas/riscv/attribute-05.s: Likewise.
      	* testsuite/gas/riscv/attribute-06.d: Likewise.
      	* testsuite/gas/riscv/attribute-06.s: Likewise.
      	* testsuite/gas/riscv/attribute-07.d: Likewise.
      	* testsuite/gas/riscv/attribute-07.s: Likewise.
      	* testsuite/gas/riscv/attribute-08.d: Likewise.
      	* testsuite/gas/riscv/attribute-08.s: Likewise.
      	* testsuite/gas/riscv/attribute-unknown.d: Likewise.
      	* testsuite/gas/riscv/attribute-unknown.s: Likewise.
      	* testsuite/gas/riscv/empty.l: Likewise.
      	* doc/c-riscv.texi (.attribute): Add documentation.
      	* configure.ac (--enable-default-riscv-attribute): New options.
      	* configure: Re-generate.
      	* config.in: Re-generate.
      	include/
      	* elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define.
      	(Tag_RISCV_arch): Likewise.
      	(Tag_RISCV_priv_spec): Likewise.
      	(Tag_RISCV_priv_spec_minor): Likewise.
      	(Tag_RISCV_priv_spec_revision): Likewise.
      	(Tag_RISCV_unaligned_access): Likewise.
      	(Tag_RISCV_stack_align): Likewise.
      2dc8dd17
    • Pavel I. Kryukov's avatar
      Do not expand macros to 'defined' · 7516c26f
      Pavel I. Kryukov authored
      Expanding a macro which contains 'defined' PP keyword is UB.  It causes
      a compilation failure when -Wexpansion-to-defined is used.
      
      sim/common/Changelog:
      2019-01-16  Pavel I. Kryukov  <kryukov@frtk.ru>
      
      	* sim-arange.c: eliminate DEFINE_NON_INLINE_P
      7516c26f
    • Keith Seitz's avatar
      Introduce dwarf2_cu::get_builder · c24bdb02
      Keith Seitz authored
      This patch is an attempt to deal with a variety of bugs reported where
      GDB segfaults attempting to access a dwarf2_cu's builder.  In certain
      circumstances, this builder can be NULL.  This is especially common
      when inheriting DIEs via inlined subroutines in other CUs.  The test
      case demonstrates one such situation reported by users.  See gdb/23773,
      rhbz1638798, and dups for other concrete examples.
      
      The approach taken here is to save the ancestor CU into the dwarf2_cu of
      all CUs with DIEs that are "imported."  This can happen whenever
      follow_die_offset and friends are called.  This essentially introduces a
      chain of CUs that caused the importation of a DIE from a CU.  Whenever
      a builder is requested of a CU that has none, the ancestors are searched
      for the first one with a builder.
      
      A design side effect of this is that the builder can now only be
      accessed by getter and setter methods because the builder itself
      is private.
      
      The bulk of the patch is relatively mindless text conversion from
      "cu->builder" to "cu->get_builder ()".  I've included one test which
      was derived from one (of the many) bugs reported on the issue in both
      sourceware and Fedora bugzillas.
      
      gdb/ChangeLog:
      
      	PR gdb/23773
      	* dwarf2read.c (dwarf2_cu) <ancestor>: New field.
      	<builder>: Rename to ..
      	<m_builder>: ... this and make private.
      	(dwarf2_cu::get_builder): New method.  Change all users of
      	`builder' to use this method.
      	(dwarf2_start_symtab): Move to ...
      	(dwarf2_cu::start_symtab): ... here.  Update all callers
      	(setup_type_unit_groups): Move to ...
      	(dwarf2_cu::setup_type_unit_groups): ... here.  Update all
      	callers.
      	(dwarf2_cu::reset_builder): New method.
      	(process_full_compunit, process_full_type_unit): Use
      	dwarf2_cu::reset_builder.
      	(follow_die_offset): Record the ancestor CU if it is different
      	from the followed DIE's CU.
      	(follow_die_sig_1): Likewise.
      
      gdb/testsuite/ChangeLog:
      
      	PR gdb/23773
      	* gdb.dwarf2/inlined_subroutine-inheritance.exp: New file.
      c24bdb02
    • Simon Marchi's avatar
      doc: Add table of MI versions · 1fea0d53
      Simon Marchi authored
      This patch adds a table summarizing the history or MI versions:
      
      - The version number
      - Which GDB version introduced it
      - Breaking changes compared to the previous version
      
      The goal of the table is to help writers of front ends know which
      version of MI they can use with a given GDB version.  It will also help
      them update their code to work against a newer MI version.
      
      Right now, we just have 1 and 2, but we expect to add an entry for 3
      soon.  I did a bit of archelogy and reverse engineering of the code to
      come up with the breaking changes for MI 2.
      
      I did some changes to the text around it, some things that I thought
      needed to be clarified, seemed a bit dated or seemed just wrong
      (especially "Apart from mi0, new versions of @value{GDBN} will not
      support old versions of MI").
      
      gdb/doc/ChangeLog:
      
      	* gdb.texinfo (GDB/MI Development and Front Ends): Add table of
      	MI versions.  Update text around it.
      1fea0d53
    • John Darrington's avatar
      S12Z: gas: Fix bug when a symbol name was the single letter 'c'. · e7b47f2e
      John Darrington authored
      The assembler incorrectly recognised "c" as a register name, and
      refused to allow it where it expected a symbol/label.
      
      gas/
      	* config/tc-s12z.c (lex_reg_name): Compare the length of the strings
      	before the contents.
      	* testsuite/gas/s12z/labels.d: New file.
      	* testsuite/gas/s12z/labels.s: New file.
      	* testsuite/gas/s12z/s12z.exp: Add them.
      e7b47f2e
    • John Darrington's avatar
      S12Z: gas: Permit "extend" instructions which don't actually extend. · 77fdb0e0
      John Darrington authored
      Other assemblers permit "extending" a register into a register of a
      smaller size or the same size.  It doesn't make much sense to do this
      but would appear to be a valid instruction.  So change the error to a
      warning.
      
      gas/
      	* config/tc-s12z.c (tfr): Change as_bad to as_warn.
      	Also fix message typo and semantics.
      77fdb0e0
    • John Darrington's avatar
      S12Z: Emit RELOC_S12Z_OPR instead of RELOC_EXT24 where appropriate. · d5dcaf1b
      John Darrington authored
      When assembling instructions which involve OPR references, emit
      RELOC_S12Z_OPR instead of RELOC_EXT24.
      
      bfd/
      	* bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
      	* libbfd.h: regen.
      	* elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
      	source field.  (md_apply_fix): Apply final fix
      	to BFD_RELOC_S12Z_OPR.
      	* reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
      
      gas/
      	* config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of
      	BFD_RELOC_24.
      	* testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead
      	of R_S12Z_EXT24.
      d5dcaf1b
    • GDB Administrator's avatar
      Automatic date update in version.in · 338c923d
      GDB Administrator authored
      338c923d
  5. 15 Jan, 2019 6 commits
    • Simon Marchi's avatar
      sim: Fix definition of SIM_ARANGE_INLINE · dc7e8184
      Simon Marchi authored
      If HAVE_INLINE is false, SIM_ARANGE_INLINE is currently defined as
      
          #define SIM_ARANGE_INLINE EXTERN
      
      However, EXTERN is not defined anywhere, leading to errors such as:
      
          In file included from
          /mipt-mips/simulator/../../sim/common/sim-basics.h:147:0,
                           from /mipt-mips/simulator/export/gdb/sim-main.h:13,
                           from /mipt-mips/simulator/export/gdb/gdb_interface.cpp:7:
          /mipt-mips/simulator/../../sim/common/sim-arange.h:71:27: error: ‘EXTERN’
          does not name a type; did you mean ‘EUSERS’?
           #define SIM_ARANGE_INLINE EXTERN
                                     ^
          /mipt-mips/simulator/../../sim/common/sim-arange.h:76:1: note: in expansion
          of macro ‘SIM_ARANGE_INLINE’
           SIM_ARANGE_INLINE int
           ^~~~~~~~~~~~~~~~~
      
      I (Simon) have reproduced the problem by simply removing the HAVE_INLINE
      definition.  This was originally reported by Pavel I. Kryukov
      <kryukov@frtk.ru>.
      
      sim/common/ChangeLog:
      
      	* sim-arange.h (SIM_ARANGE_INLINE): Change EXTERN to extern.
      dc7e8184
    • Tom Tromey's avatar
      Remove cleanup from remote.c · 8d64371b
      Tom Tromey authored
      This removes the remaining cleanup from remote.c, by changing
      remote_state::buf to be a gdb::char_vector, and then fixing up all the
      fallout.  The resulting patch is somewhat ugly, but on the other hand,
      it eliminates some possibilities for mistakes.
      
      Regression tested using the
      Fedora-x86_64-native-extended-gdbserver-m64 builder on the buildbot.
      
      gdb/ChangeLog
      2019-01-15  Tom Tromey  <tom@tromey.com>
      
      	* remote.c (class remote_state) <buf>: Now a char_vector.
      	<buf_size>: Remove.
      	(remote_target::getpkt): Change type of buf.  Remove sizeof_buf
      	parameter.
      	(remote_target::getpkt_or_notif_sane_1)
      	(remote_target::getpkt_sane)
      	(remote_target::getpkt_or_notif_sane): Likewise.
      	(class remote_target) <putpkt>: New overload.
      	(remote_target::read_frame): Change type of "buf_p".  Remove
      	sizeof_p parameter.
      	(packet_ok): New overload.
      	(packet_check_result): New overload.
      	Update all uses.
      8d64371b
    • Tom Tromey's avatar
      Constify some remote-notif functions · bb277751
      Tom Tromey authored
      This constifies the "buf" arguments to various remote-notif functions
      and updates the users.
      
      gdb/ChangeLog
      2019-01-14  Tom Tromey  <tom@tromey.com>
      
      	* remote-notif.c (handle_notification, remote_notif_ack)
      	(remote_notif_parse): Make "buf" const.
      	* remote-notif.h (struct notif_client) <parse, ack>: Make "buf"
      	const.
      	(remote_notif_parse, remote_notif_ack, handle_notification):
      	Likewise.
      	* remote.c (remote_notif_stop_parse): Make "buf" const.
      	(remote_target::remote_parse_stop_reply): Make "buf" const.
      	(remote_notif_stop_ack): Make "buf" const.
      bb277751
    • Tom Tromey's avatar
      Constify remote_console_output · 05be00a8
      Tom Tromey authored
      This constifies the parameter to remote_console_output.
      
      gdb/ChangeLog
      2019-01-14  Tom Tromey  <tom@tromey.com>
      
      	* remote.c (remote_console_output): Make parameter const.
      05be00a8
    • Tom Tromey's avatar
      Constify target_pass_signals and target_program_signals · 491adeca
      Tom Tromey authored
      This constifies the final parameter to target_pass_signals and
      target_program_signals and updates the rest of gdb.
      
      Note that I have no way to test the nto-procfs.c change.
      
      gdb/ChangeLog
      2019-01-14  Tom Tromey  <tom@tromey.com>
      
      	* target-debug.h (target_debug_print_signals): Constify.
      	* nto-procfs.c (nto_procfs_target::pass_signals): Update.
      	* procfs.c (procfs_target::pass_signals): Update.
      	* linux-nat.c (linux_nat_target::pass_signals): Update.
      	* linux-nat.h (class linux_nat_target) <pass_signals>: Update.
      	* target-delegates.c: Rebuild.
      	* remote.c (remote_target::program_signals): Update.
      	(remote_target::pass_signals): Update.
      	* target.c (target_pass_signals): Constify argument.
      	(target_program_signals): Likewise.
      	* target.h (struct target_ops) <pass_signals, program_signals>:
      	Constify argument.
      	(target_pass_signals, target_program_signals): Constify argument.
      491adeca
    • GDB Administrator's avatar
      Automatic date update in version.in · 183561e0
      GDB Administrator authored
      183561e0
  6. 14 Jan, 2019 8 commits
    • Tom Tromey's avatar
      Fix placement of output in TUI mode · bbd94648
      Tom Tromey authored
      The fix for PR tui/28819 regressed gdb command output a bit.  In
      "nonl" mode, pressing the Enter key will result in a newline not being
      echoed properly, so that gdb output for the command will begin on the
      same line as the input.
      
      This patch changes gdb_wgetch to echo the newline.  I have only tested
      this interactively, as the TUI doesn't have automated tests in
      general.
      
      gdb/ChangeLog
      2019-01-14  Tom Tromey  <tom@tromey.com>
      
      	PR tui/28819:
      	* tui/tui-io.c (gdb_wgetch): Print \r when needed.
      bbd94648
    • Павел Крюков's avatar
      Include <string.h> to dis-asm.h to get strchr declaration · 8f0a2148
      Павел Крюков authored
      Include <string.h> to dis-asm.h to get strchr declaration
      
      include/Changelog:
      2019-01-11  Pavel I. Kryukov  <kryukov@frtk.ru>
      
              * dis-asm.h: include <string.h>
      8f0a2148
    • Pedro Franco de Carvalho's avatar
      [PowerPC] Aliases for vector registers · 6f072a10
      Pedro Franco de Carvalho authored
      This patch defines pseudo-registers "v0" through "v31" as aliases that
      map to the corresponding raw "vr0" through "vr31" vector registers for
      Power.
      
      The motivation behind this is that although GDB defines these
      registers as "vrX", the disassembler prints them as "vX", e.g. as the
      operands in instructions such as "vaddubm v2,v1,v1".  This can be
      confusing to users trying to print out the values of the operands
      while inspecting the disassembled code.
      
      The new aliases are made not to belong to any register group, to avoid
      duplicated values in "info register vector" and "info register all".
      The arch-specific rs6000_pseudo_register_reggroup_p function had
      previously been removed since the other pseudo-registers could have
      their groups inferred by their type.  It restored with this patch to
      handle the aliases.  Membership for the other pseudo-registers is
      still determined using the default function.
      
      A new tests checks that GDB prints the expected values of vector
      registers after they are filled by the inferior, by using both the raw
      names and the aliases.  Two other existing tests are modified to also
      test the aliases.
      
      gdb/ChangeLog:
      2019-01-14  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
      
      	* ppc-tdep.h (struct gdbarch_tdep) <ppc_v0_alias_regnum>: New
      	field.
      	* rs6000-tdep.c: Include reggroups.h.
      	(IS_V_ALIAS_PSEUDOREG): Define.
      	(rs6000_register_name): Return names for the "vX" aliases.
      	(rs6000_pseudo_register_type): Return type for the "vX" aliases.
      	(rs6000_pseudo_register_reggroup_p): Restore.  Handle "vX"
      	aliases.  Call default_register_reggroup_p for all other
      	pseudo-registers.
      	(v_alias_pseudo_register_read, v_alias_pseudo_register_write):
      	New functions.
      	(rs6000_pseudo_register_read, rs6000_pseudo_register_write):
      	Handle "vX" aliases.
      	(v_alias_pseudo_register_collect): New function.
      	(rs6000_ax_pseudo_register_collect): Handle "vX" aliases.
      	(rs6000_gdbarch_init): Initialize "vX" aliases as
      	pseudo-registers.  Restore registration of
      	rs6000_pseudo_register_reggroup_p with
      	set_tdesc_pseudo_register_reggroup_p.
      
      gdb/testsuite/ChangeLog:
      2019-01-14  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
      
      	* gdb.arch/vsx-regs.exp: Add tests that use the vector register
      	aliases.
      	* gdb.arch/altivec-regs.exp: Likewise.  Fix indentation of two
      	tests.
      	* gdb.arch/powerpc-vector-regs.c: New file.
      	* gdb.arch/powerpc-vector-regs.exp: New file.
      
      gdb/doc/ChangeLog:
      2019-01-14  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
      
      	* gdb.texinfo (PowerPC Features): Document the alias
      	pseudo-registers for the org.gnu.gdb.power.altivec feature.
      6f072a10
    • Pedro Franco de Carvalho's avatar
      [PowerPC] Fix "info vector" test in gdb.arch/altivec-regs.exp · a7b8d682
      Pedro Franco de Carvalho authored
      This patch fixes one of the tests in gdb.arch/altivec-regs.exp that
      was passing an incorrect list to gdb_expect_list, which always
      matched.
      
      gdb/testsuite/ChangeLog:
      2019-01-14  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
      
      	* gdb.arch/altivec-regs.exp: Fix the list passed to
      	gdb_expect_list when testing "info vector".
      a7b8d682
    • Nick Clifton's avatar
      Correct PR number in prevvious delta · f466c305
      Nick Clifton authored
      f466c305
    • Maamoun Tarsha's avatar
      Add support to GNU ld to separate got related plt entries from normal ones in... · 5a12586d
      Maamoun Tarsha authored
      Add support to GNU ld to separate got related plt entries from normal ones in order to be able to switch the non-plt got entries to read-only after startup, conforming to revised Linux for zSeries ABI.
      
      	PR 20133
      	* emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define.
      	* emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define.
      	* testsuite/ld-s390/gotreloc_31-1.dd: Update expected output.
      	* testsuite/ld-s390/tlsbin.dd: Likewise.
      	* testsuite/ld-s390/tlsbin.rd: Likewise.
      	* testsuite/ld-s390/tlsbin.sd: Likewise.
      	* testsuite/ld-s390/tlsbin_64.dd: Likewise.
      	* testsuite/ld-s390/tlsbin_64.rd: Likewise.
      	* testsuite/ld-s390/tlsbin_64.sd: Likewise.
      	* testsuite/ld-s390/tlspic.dd: Likewise.
      	* testsuite/ld-s390/tlspic.rd: Likewise.
      	* testsuite/ld-s390/tlspic.sd: Likewise.
      	* testsuite/ld-s390/tlspic_64.dd: Likewise.
      	* testsuite/ld-s390/tlspic_64.rd: Likewise.
      	* testsuite/ld-s390/tlspic_64.sd: Likewise.
      	* testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets.
      5a12586d
    • Rainer Orth's avatar
      Sync config.guess, config.sub from GCC · d63f2be2
      Rainer Orth authored
      	Merge from GCC:
      	PR target/88535
      	* config.guess: Import upstream version 2019-01-03.
      	* config.sub: Import upstream version 2019-01-01.
      d63f2be2
    • Srinath Parvathaneni's avatar
      Implement the assembly instructions yield, wfe, wfi and sev for ARMv6T2 in... · 55e8aae7
      Srinath Parvathaneni authored
      Implement the assembly instructions yield, wfe, wfi and sev for ARMv6T2 in both ARM mode and Thumb mode.
      
      	* config/tc-arm.c (arm_ext_v6k_v6t2): Define.
      	(insns) [ARM_VARIANT]: Modified.
      	(insns) [THUMB_VARIANT]: To implement few ARMv6K instructions
      	in ARMv6T2 as well.
      	* testsuite/gas/arm/archv6t2-1.d: New test.
      	* testsuite/gas/arm/archv6t2-1.s: Likewise.
      	* testsuite/gas/arm/archv6t2-2.d: Likewise.
      55e8aae7