1. 26 Jan, 2019 1 commit
  2. 25 Jan, 2019 6 commits
    • Tamar Christina's avatar
      d6a865ea
    • Sudi Das's avatar
      AArch64: Update encodings for stg, st2g, stzg and st2zg. · aaebbe87
      Sudi Das authored
      This patch is part of a series of patches to introduce a few changes to the
      Armv8.5-A Memory Tagging Extension. This patch updates the st*g instructions
      to use a previously reserved field for a new register operand. Thus the
      new versions of the instructions are as follows:
      
      - STG Xt, [<Xn|SP>, #<simm>]
      - STG Xt, [<Xn|SP>, #<simm>]!
      - STG Xt, [<Xn|SP>], #<simm>
      - STZG Xt, [<Xn|SP>, #<simm>]
      - STZG Xt, [<Xn|SP>, #<simm>]!
      - STZG Xt, [<Xn|SP>], #<simm>
      - ST2G Xt, [<Xn|SP>, #<simm>]
      - ST2G Xt, [<Xn|SP>, #<simm>]!
      - ST2G Xt, [<Xn|SP>], #<simm>
      - STZ2G Xt, [<Xn|SP>, #<simm>]
      - STZ2G Xt, [<Xn|SP>, #<simm>]!
      - STZ2G Xt, [<Xn|SP>], #<simm>
      
      Committed on behalf of Sudakshina Das.
      
      *** gas/ChangeLog ***
      
      	* config/tc-aarch64.c (warn_unpredictable_ldst): Exempt
      	stg, st2g, stzg and stz2g from Xt == Xn with writeback warning.
      	* testsuite/gas/aarch64/armv8_5-a-memtag.d: Change tests for
      	stg, stzg, st2g and stz2g.
      	* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
      	* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
      	* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
      
      *** opcodes/ChangeLog ***
      
      	* aarch64-tbl.h (QL_LDST_AT): Update macro.
      	(aarch64_opcode): Change encoding for stg, stzg
      	st2g and st2zg.
      	* aarch64-asm-2.c: Regenerated.
      	* aarch64-dis-2.c: Regenerated.
      	* aarch64-opc-2.c: Regenerated.
      
      (cherry picked from commit 69105ce4)
      aaebbe87
    • Sudi Das's avatar
      AArch64: Add new STZGM instruction for Armv8.5-A Memory Tagging Extension. · 824d332f
      Sudi Das authored
      This patch is part of a series of patches to introduce a few changes to the
      Armv8.5-A Memory Tagging Extension. This patch adds the new STZGM instruction.
      
      STGZM Xt, [<Xn|SP>]
      
      Committed on behalf of Sudakshina Das.
      
      *** gas/ChangeLog ***
      
      	* testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm.
      	* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
      	* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
      	* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
      
      *** opcodes/ChangeLog ***
      
      	* aarch64-asm-2.c: Regenerated.
      	* aarch64-dis-2.c: Likewise.
      	* aarch64-opc-2.c: Likewise.
      	* aarch64-tbl.h (aarch64_opcode): Add new stzgm.
      
      (cherry picked from commit 20a4ca55)
      824d332f
    • Sudi Das's avatar
      AArch64: Remove ldgv and stgv instructions from Armv8.5-A Memory Tagging Extension. · 64485cb2
      Sudi Das authored
      This patch is part of a series of patches to introduce a few changes to the
      Armv8.5-A Memory Tagging Extension. This patch removes the LDGV and STGV
      instructions. These instructions needed special infrastructure to support
      [base]! style for addressing mode. That is also removed now.
      
      Committed on behalf of Sudakshina Das.
      
      *** gas/ChangeLog ***
      
      	* config/tc-aarch64.c (parse_address_main): Remove support for
      	[base]! address expression.
      	(parse_operands): Remove support for AARCH64_OPND_ADDR_SIMPLE_2.
      	(warn_unpredictable_ldst): Remove support for ldstgv_indexed.
      	* testsuite/gas/aarch64/armv8_5-a-memtag.d: Remove tests for ldgv
      	and stgv.
      	* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
      	* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
      	* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
      
      *** include/ChangeLog ***
      
      	* opcode/aarch64.h (enum aarch64_opnd): Remove
      	AARCH64_OPND_ADDR_SIMPLE_2.
      	(enum aarch64_insn_class): Remove ldstgv_indexed.
      
      *** opcodes/ChangeLog ***
      
      	* aarch64-asm.c (aarch64_ins_addr_simple_2): Remove.
      	* aarch64-asm.h (ins_addr_simple_2): Likeiwse.
      	* aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise.
      	* aarch64-dis.h (ext_addr_simple_2): Likewise.
      	* aarch64-opc.c (operand_general_constraint_met_p): Remove
      	case for ldstgv_indexed.
      	(aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2.
      	* aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv.
      	(AARCH64_OPERANDS): Remove ADDR_SIMPLE_2.
      	* aarch64-asm-2.c: Regenerated.
      	* aarch64-dis-2.c: Regenerated.
      	* aarch64-opc-2.c: Regenerated.
      
      (cherry picked from commit 550fd7bf)
      64485cb2
    • Nick Clifton's avatar
    • GDB Administrator's avatar
      Automatic date update in version.in · b5824aad
      GDB Administrator authored
      b5824aad
  3. 24 Jan, 2019 1 commit
  4. 23 Jan, 2019 3 commits
  5. 22 Jan, 2019 1 commit
  6. 21 Jan, 2019 2 commits
  7. 19 Jan, 2019 3 commits
  8. 18 Jan, 2019 1 commit
  9. 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
  10. 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