1. Jul 02, 2020
    • Tom Tromey's avatar
      Remove tui_expand_tabs · 7a02bab7
      Tom Tromey authored
      tui_expand_tabs only has a single caller.  This patch removes this
      function, in favor of a tab-expanding variant of string_file.  This
      simplifies the code somewhat.
      
      gdb/ChangeLog
      2020-07-01  Tom Tromey  <tom@tromey.com>
      
      	* tui/tui-regs.h (struct tui_data_item_window) <content>: Now a
      	std::string.
      	* tui/tui-regs.c (class tab_expansion_file): New.
      	(tab_expansion_file::write): New method.
      	(tui_register_format): Change return type.  Use
      	tab_expansion_file.
      	(tui_get_register, tui_data_window::display_registers_from)
      	(tui_data_item_window::rerender): Update.
      	* tui/tui-io.h (tui_expand_tabs): Don't declare.
      	* tui/tui-io.c (tui_expand_tabs): Remove.
      7a02bab7
    • Tom Tromey's avatar
      Use complete_on_enum in tui_reggroup_completer · ea68593b
      Tom Tromey authored
      tui_reggroup_completer has an "XXXX" comment suggesting the use of
      complete_on_enum.  This patch implements this suggestion.
      
      gdb/ChangeLog
      2020-07-01  Tom Tromey  <tom@tromey.com>
      
      	* tui/tui-regs.c (tui_reggroup_completer): Use complete_on_enum.
      ea68593b
    • GDB Administrator's avatar
      Automatic date update in version.in · 0ac05360
      GDB Administrator authored
      0ac05360
    • Fangrui Song's avatar
      Recognize -1 as a tombstone value in .debug_line · a8caed5d
      Fangrui Song authored
      LLD from 11 onwards (https://reviews.llvm.org/D81784) uses -1 to
      represent a relocation in .debug_line referencing a discarded symbol.
      Recognize -1 to fix gdb.base/break-on-linker-gcd-function.exp when the
      linker is a newer LLD.
      
      gdb/ChangeLog:
      
      	* dwarf2/read.c (lnp_state_machine::check_line_address): Test -1.
      a8caed5d
  2. Jul 01, 2020
  3. Jun 30, 2020
    • H.J. Lu's avatar
      Remove x86 NaCl target support · bbd19b19
      H.J. Lu authored
      NaCl has been deprecated:
      
      https://developer.chrome.com/native-client/migration
      
      and NaCl will completely disappear in 2021:
      
      https://lists.llvm.org/pipermail/llvm-dev/2020-April/141107.html
      
      Remove x86 NaCl target support from bfd, binutils, gas and ld.
      
      bfd/
      
      	* archures.c (bfd_mach_i386_nacl): Removed.
      	(bfd_mach_i386_i386_nacl): Likewise.
      	(bfd_mach_x86_64_nacl): Likewise.
      	(bfd_mach_x64_32_nacl): Likewise.
      	* config.bfd: Remove *-*-nacl* targets.
      	* configure.ac: Remove x86 NaCl target vectors.
      	* cpu-i386.c (bfd_arch_i386_onebyte_nop_fill): Removed.
      	(bfd_x64_32_nacl_arch): Likewise.
      	(bfd_x86_64_nacl_arch): Likewise.
      	(bfd_i386_nacl_arch): Likewise.
      	(bfd_x64_32_arch_intel_syntax): Updated.
      	* elf32-i386.c: Don't include "elf-nacl.h".
      	(elf_i386_nacl_plt): Removed.
      	(elf_i386_nacl_plt0_entry): Likewise.
      	(elf_i386_nacl_plt_entry): Likewise.
      	(elf_i386_nacl_pic_plt0_entry): Likewise.
      	(elf_i386_nacl_pic_plt_entry): Likewise.
      	(elf_i386_nacl_eh_frame_plt): Likewise.
      	(elf_i386_nacl_plt): Likewise.
      	(elf32_i386_nacl_elf_object_p): Likewise.
      	(elf_i386_get_synthetic_symtab): Updated.
      	(elf_i386_link_setup_gnu_properties): Likewise.
      	* elf64-x86-64.c: Don't include "elf-nacl.h".
      	(elf_x86_64_nacl_plt): Removed.
      	(elf64_x86_64_nacl_elf_object_p): Likewise.
      	(elf_x86_64_nacl_plt0_entry): Likewise.
      	(elf_x86_64_nacl_plt_entry): Likewise.
      	(elf_x86_64_nacl_eh_frame_plt): Likewise.
      	(elf_x86_64_nacl_plt): Likewise.
      	(elf32_x86_64_nacl_elf_object_p): Likewise.
      	(elf_x86_64_get_synthetic_symtab): Updated.
      	(elf_x86_64_link_setup_gnu_properties): Likewise.
      	* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
      	* targets.c: Remove x86 NaCl target vectors.
      	* bfd-in2.h: Regenerated.
      	* configure: Likewise.
      
      binutils/
      
      	* NEWS: Mention x86 NaCl target support removal.
      	* dwarf.c (init_dwarf_regnames_by_bfd_arch_and_mach): Remove
      	x86 NaCl target support.
      	* testsuite/binutils-all/elfedit-1.d: Likewise.
      	* testsuite/binutils-all/i386/i386.exp: Likewise.
      	* testsuite/binutils-all/x86-64/objects.exp: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494b-x32.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494b.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
      	* testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
      	* testsuite/binutils-all/x86-64/x86-64.exp: Likewise.
      
      gas/
      
      	* NEWS: Mention x86 NaCl target support removal.
      	* config/tc-i386.c: Remove x86 NaCl target support.
      	* config/tc-i386.h: Likewise.
      	* configure.tgt: Likewise.
      	* testsuite/gas/i386/i386.exp: Likewise.
      	* testsuite/gas/i386/iamcu-1.d: Likewise.
      	* testsuite/gas/i386/iamcu-2.d: Likewise.
      	* testsuite/gas/i386/iamcu-3.d: Likewise.
      	* testsuite/gas/i386/iamcu-4.d: Likewise.
      	* testsuite/gas/i386/iamcu-5.d: Likewise.
      	* testsuite/gas/i386/k1om.d: Likewise.
      	* testsuite/gas/i386/l1om.d: Likewise.
      
      ld/
      
      	* Makefile.am (ALL_EMULATION_SOURCES): Remove eelf_i386_nacl.c,
      	eelf32_x86_64_nacl.c, eelf_x86_64_nacl.c.
      	Remove x86 NaCl dep files.
      	* NEWS: Mention x86 NaCl target support removal.
      	* configure.tgt: Remove x86 NaCl target support.
      	* testsuite/ld-elf/binutils.exp: Likewise.
      	* testsuite/ld-elf/elf.exp: Likewise.
      	* testsuite/ld-elfvers/vers.exp: Likewise.
      	* testsuite/ld-i386/align-branch-1.d: Likewise.
      	* testsuite/ld-i386/export-class.exp: Likewise.
      	* testsuite/ld-i386/i386.exp: Likewise.
      	* testsuite/ld-i386/load1.d: Likewise.
      	* testsuite/ld-i386/pie1.d: Likewise.
      	* testsuite/ld-i386/pr12570a.d: Likewise.
      	* testsuite/ld-i386/pr12570b.d: Likewise.
      	* testsuite/ld-i386/pr19636-1d.d: Likewise.
      	* testsuite/ld-i386/pr19636-1l.d: Likewise.
      	* testsuite/ld-i386/pr19636-2c.d: Likewise.
      	* testsuite/ld-i386/pr19636-2d.d: Likewise.
      	* testsuite/ld-i386/pr19636-2e.d: Likewise.
      	* testsuite/ld-i386/pr20244-1a.d: Likewise.
      	* testsuite/ld-i386/pr20244-1b.d: Likewise.
      	* testsuite/ld-i386/pr20244-2a.d: Likewise.
      	* testsuite/ld-i386/pr20244-2b.d: Likewise.
      	* testsuite/ld-i386/pr20244-2c.d: Likewise.
      	* testsuite/ld-i386/pr20244-4a.d: Likewise.
      	* testsuite/ld-i386/pr20244-4b.d: Likewise.
      	* testsuite/ld-i386/pr21884.d: Likewise.
      	* testsuite/ld-ifunc/binutils.exp: Likewise.
      	* testsuite/ld-ifunc/ifunc-10-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-10-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-11-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-11-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-12-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-12-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-13-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-13-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14a-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14a-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14b-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14b-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14c-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14c-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14d-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14d-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14e-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14e-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14f-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-14f-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-15-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-15-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-16-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-16-x86-64-now.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-16-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-17a-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-17a-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-17b-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-17b-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-18a-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-18a-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-18b-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-18b-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-19a-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-19a-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-19b-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-19b-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-2-i386-now.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-2-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-2-local-i386-now.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-2-local-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-2-local-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-2-x86-64-now.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-2-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-20-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-20-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-21-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-21-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-22-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-22-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5a-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5a-local-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5a-local-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5a-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5b-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5b-local-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5b-local-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5b-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5r-local-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-5r-local-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-6a-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-6a-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-6b-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-6b-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-7a-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-7a-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-7b-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-7b-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-8-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-8-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-9-i386.d: Likewise.
      	* testsuite/ld-ifunc/ifunc-9-x86-64.d: Likewise.
      	* testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
      	* testsuite/ld-ifunc/pr17154-i386.d: Likewise.
      	* testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
      	* testsuite/ld-ifunc/pr17154-x86-64.d: Likewise.
      	* testsuite/ld-plugin/lto.exp: Likewise.
      	* testsuite/ld-x86-64/align-branch-1.d: Likewise.
      	* testsuite/ld-x86-64/dwarfreloc.exp: Likewise.
      	* testsuite/ld-x86-64/line.exp: Likewise.
      	* testsuite/ld-x86-64/load1a.d: Likewise.
      	* testsuite/ld-x86-64/load1b.d: Likewise.
      	* testsuite/ld-x86-64/load1c.d: Likewise.
      	* testsuite/ld-x86-64/load1d.d: Likewise.
      	* testsuite/ld-x86-64/pie3.d: Likewise.
      	* testsuite/ld-x86-64/pr18160.d: Likewise.
      	* testsuite/ld-x86-64/pr19013-x32.d: Likewise.
      	* testsuite/ld-x86-64/pr19013.d: Likewise.
      	* testsuite/ld-x86-64/pr19636-2d.d: Likewise.
      	* testsuite/ld-x86-64/pr19636-2l.d: Likewise.
      	* testsuite/ld-x86-64/pr20253-1b.d: Likewise.
      	* testsuite/ld-x86-64/pr20253-1d.d: Likewise.
      	* testsuite/ld-x86-64/pr20253-1f.d: Likewise.
      	* testsuite/ld-x86-64/pr20253-1h.d: Likewise.
      	* testsuite/ld-x86-64/pr20253-1j.d: Likewise.
      	* testsuite/ld-x86-64/pr20253-1l.d: Likewise.
      	* testsuite/ld-x86-64/pr21884.d: Likewise.
      	* testsuite/ld-x86-64/pr22393-3a.rd: Likewise.
      	* testsuite/ld-x86-64/pr22393-3b.rd: Likewise.
      	* testsuite/ld-x86-64/tlsgd10.dd: Likewise.
      	* testsuite/ld-x86-64/tlsgd5.dd: Likewise.
      	* testsuite/ld-x86-64/tlsgd8.dd: Likewise.
      	* testsuite/ld-x86-64/x86-64.exp: Likewise.
      	* emulparams/elf32_x86_64_nacl.sh: Removed.
      	* emulparams/elf_i386_nacl.sh: Likewise.
      	* emulparams/elf_x86_64_nacl.sh: Likewise.
      	* testsuite/ld-i386/emit-relocs-nacl.rd: Likewise.
      	* testsuite/ld-i386/load1-nacl.d: Likewise.
      	* testsuite/ld-i386/pie1-nacl.d: Likewise.
      	* testsuite/ld-i386/plt-nacl.pd: Likewise.
      	* testsuite/ld-i386/plt-pic-nacl.pd: Likewise.
      	* testsuite/ld-i386/pr17709-nacl.rd: Likewise.
      	* testsuite/ld-i386/pr19636-1d-nacl.d: Likewise.
      	* testsuite/ld-i386/pr19636-2c-nacl.d: Likewise.
      	* testsuite/ld-i386/pr19636-2d-nacl.d: Likewise.
      	* testsuite/ld-i386/pr19636-2e-nacl.d: Likewise.
      	* testsuite/ld-i386/pr19827-nacl.rd: Likewise.
      	* testsuite/ld-i386/pr21884-nacl.d: Likewise.
      	* testsuite/ld-i386/pr21884-nacl.t: Likewise.
      	* testsuite/ld-i386/tlsbin-nacl.rd: Likewise.
      	* testsuite/ld-i386/tlsbin2-nacl.rd: Likewise.
      	* testsuite/ld-i386/tlsbindesc-nacl.rd: Likewise.
      	* testsuite/ld-i386/tlsdesc-nacl.rd: Likewise.
      	* testsuite/ld-i386/tlsgdesc-nacl.rd: Likewise.
      	* testsuite/ld-i386/tlsnopic-nacl.rd: Likewise.
      	* testsuite/ld-i386/tlspic-nacl.rd: Likewise.
      	* testsuite/ld-i386/tlspic2-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/ilp32-4-nacl.d: Likewise.
      	* testsuite/ld-x86-64/load1a-nacl.d: Likewise.
      	* testsuite/ld-x86-64/load1b-nacl.d: Likewise.
      	* testsuite/ld-x86-64/load1c-nacl.d: Likewise.
      	* testsuite/ld-x86-64/load1d-nacl.d: Likewise.
      	* testsuite/ld-x86-64/pie3-nacl.d: Likewise.
      	* testsuite/ld-x86-64/plt-nacl.pd: Likewise.
      	* testsuite/ld-x86-64/pr17709-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/pr19013-nacl.d: Likewise.
      	* testsuite/ld-x86-64/pr19636-2d-nacl.d: Likewise.
      	* testsuite/ld-x86-64/pr19827-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/pr21884-nacl.d: Likewise.
      	* testsuite/ld-x86-64/pr21884-nacl.t: Likewise.
      	* testsuite/ld-x86-64/split-by-file-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/tlsbin2-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/tlsdesc-nacl.pd: Likewise.
      	* testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
      	* testsuite/ld-x86-64/tlspic2-nacl.rd: Likewise.
      	* Makefile.in: Regenerated.
      	* po/BLD-POTFILES.in: Likewise.
      bbd19b19
    • Tom Tromey's avatar
      Fix bug in quirk_rust_enum · a1520ad8
      Tom Tromey authored
      Tom de Vries pointed out that some Rust tests were failing after the
      variant part rewrite.  He sent an executable, which helped track down
      this bug.
      
      quirk_rust_enum was passing 1 to alloc_rust_variant in one case.
      However, a comment earlier says:
      
            /* We don't need a range entry for the discriminant, but we do
      	 need one for every other field, as there is no default
      	 variant.  */
      
      In this case, we must pass -1 for this parameter.  That is what this
      patch implements.
      
      gdb/ChangeLog
      2020-06-30  Tom Tromey  <tromey@adacore.com>
      
      	* dwarf2/read.c (quirk_rust_enum): Correctly call
      	alloc_rust_variant for default-less enum.
      a1520ad8
    • Tom Tromey's avatar
      Do not define basic_string_view::to_string · 5ac58899
      Tom Tromey authored
      gdb's copy of basic_string_view includes a to_string method.  However,
      according to cppreference, this is not a method on the real
      std::basic_string_view:
      
      https://en.cppreference.com/w/cpp/string/basic_string_view
      
      This difference matters because gdb_string_view.h will use the
      standard implementation when built with a C++17 or later.  This caused
      PR build/26183.
      
      This patch fixes the problem by changing the method to be a standalone
      helper function, and then rewriting the uses.  Tested by rebuilding
      with a version of GCC that defaults to C++17.
      
      (Note that the build still is not clean; and also I noticed that the
      libstdc++ string_view forbids the use of nullptr ... I wonder if gdb
      violates that.)
      
      gdb/ChangeLog
      2020-06-30  Tom Tromey  <tromey@adacore.com>
      
      	PR build/26183:
      	* ada-lang.c (ada_lookup_name_info::ada_lookup_name_info): Use
      	gdb::to_string.
      
      gdbsupport/ChangeLog
      2020-06-30  Tom Tromey  <tromey@adacore.com>
      
      	PR build/26183:
      	* gdb_string_view.h (basic_string_view::to_string): Remove.
      	(gdb::to_string): New function.
      5ac58899
    • Nick Clifton's avatar
      Add support for attributes using DW_FORM_GNU_strp_alt · 5568cc9e
      Nick Clifton authored
      	* dwarf.c (read_and_display_attr_value): Support
      	DW_FORM_GNU_strp_alt when used with DW_AT_dwo_name and
      	DW_AT_comp_dir.
      5568cc9e
    • Tom de Vries's avatar
      [gdb/testsuite] Handle early_flags in gdb_default_target_compile · b011fe1a
      Tom de Vries authored
      In gdb_default_target_compile, we use dejagnu's default_target_compile, unless
      we need support for languages that are not yet support in the used dejagnu
      version, in which case we use a local default_target_compile:
      gdb_default_target_compile_1.
      
      However, there's another reason to use the local default_target_compile: when
      early_flags is used, because there's no dejagnu release available yet
      supporting this.
      
      Fix this by detecting and handling early_flags in gdb_default_target_compile.
      
      Tested on x86_64-linux.
      
      gdb/testsuite/ChangeLog:
      
      2020-06-30  Tom de Vries  <tdevries@suse.de>
      
      	PR testsuite/26175
      	* lib/future.exp (gdb_default_target_compile): Detect and handle
      	early_flags.
      b011fe1a
    • Alan Modra's avatar
      solaris XPASS ld-elf/group1 · fb4a044b
      Alan Modra authored
      	* testsuite/ld-elf/group1.d: Don't xfail all solaris targets, just
      	ix86 and x86_64.
      fb4a044b
    • Alan Modra's avatar
      Don't xfail nds32 for ld-elf/reloc-discard test · b9b9b0ef
      Alan Modra authored
      	* testsuite/ld-elf/reloc-discard.d: Don't xfail nds32.
      b9b9b0ef
    • Alan Modra's avatar
      Fix nds32*-elf XPASS readelf -wiaoRlL dw5 · d74b88ed
      Alan Modra authored
      The underlying fail was probably fixed with git commit fbaf61ad.
      
      	* testsuite/binutils-all/readelf.exp (readelf_dump_test): Remove
      	xfail for nds32.
      d74b88ed
    • Alan Modra's avatar
      microblaze-linux XPASS ld-elf/var1 · 39d050ee
      Alan Modra authored
      microblaze-linux uses the standard ELF script, microblaze-elf its own
      script lacking an input section pattern needed to make this test pass.
      Add the missing pattern for .data, in line with most other sections
      that do have .* patterns.
      
      	* scripttempl/elfmicroblaze.sc (.data): Add .data.* entry.
      	* testsuite/ld-elf/var1.d: Don't xfail microblaze.
      39d050ee
    • Nelson Chu's avatar
      RISC-V: Support debug and float CSR as the unprivileged ones. · 08ccfccf
      Nelson Chu authored
      The unprivileged CSR should be controlled by other specific specs rather
      than the privileged spec.  For example, the debug CSR should be controlled
      by the debug spec, and the float CSR should be controlled by the float
      spec.  User may use assembler options to choose what the debug and other
      specs they want, or may encode the versions of specs into the architecture
      string directly.  Since we haven't decided which one is better, we set the
      defined and aborted versions of unprivileged CSR to PRIV_SPEC_CLASS_NONE
      in the include/opcode/riscv-opc.h, to tell assembler don't check priv spec
      versions for them.  However, these PRIV_SPEC_CLASS_NONE will be changed
      to FLOAT_SPEC_CLASS_* and DEBUG_SPEC_CLASS_* in the future.
      
      	gas/
      	* config/tc-riscv.c (riscv_csr_class_check): Removed.  Move the
      	checking into riscv_csr_address.
      	(riscv_csr_version_check): Likewise.
      	(riscv_csr_address): New function.  Return the suitable CSR address
      	after checking the ISA dependency and versions.  Issue warnings	if
      	we find any conflict and -mcsr-check is set.  CSR_CLASS_F and
      	CSR_CLASS_DEBUG are unprivileged CSR for now, so don't check the
      	priv spec versions for them.
      	(reg_csr_lookup_internal): Call riscv_csr_address to find the
      	suitable CSR address.
      
      	* testsuite/gas/riscv/priv-reg-fail-fext.d: Remove -mpriv-spec=1.11.
      	* testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
      	* testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
      	* testsuite/gas/riscv/priv-reg-fail-fext.l:  We don't care the
      	priv spec warnings here.  These warnings are added by accident.
      	Remove them and only focus on the ISA dependency warnings.
      	* testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
      	* testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
      	* testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Updated since
      	dscratch0 and dscratch1 are regarded as the unprivileged CSR rather
      	than the privileged ones.
      	* testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise.
      	* testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
      	* testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
      	* testsuite/gas/riscv/priv-reg.s: Likewise.  Add missing debug CSR.
      	* testsuite/gas/riscv/priv-reg-version-1p9.d: Likewise.
      	* testsuite/gas/riscv/priv-reg-version-1p9p1.d: Likewise.
      	* testsuite/gas/riscv/priv-reg-version-1p10.d: Likewise.
      	* testsuite/gas/riscv/priv-reg-version-1p11.d: Likewise.
      	* testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
      	* testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
      
      	include/
      	* opcode/riscv-opc.h: Support the unprivileged CSR.  The versions
      	of the unprivileged CSR should be PRIV_SPEC_CLASS_NONE for now.
      	* opcode/riscv.h (enum riscv_csr_class): Add CSR_CLASS_DEBUG.
      
      	opcodes/
      	* riscv-dis.c (print_insn_args, case 'E'): Updated.  Let the
      	unprivileged CSR can also be initialized.
      08ccfccf
    • Nelson Chu's avatar
      RISC-V: Cleanup the include/opcode/riscv-opc.h. · 83d7d99e
      Nelson Chu authored
      The include/opcode/riscv-opc.h file is no longer automatically generated,
      so we remove the misleading comments and add new ones.  Besides, the CAUSE_*
      macros and DECLARE_CAUSE are unused for binutils and gdb.  Therefore, remove
      them, too.
      
      	include/
      	* opcode/riscv-opc.h: Cleanup and remove the unused macros.
      83d7d99e
    • GDB Administrator's avatar
      Automatic date update in version.in · 5e7d7e36
      GDB Administrator authored
      5e7d7e36
  4. Jun 29, 2020
    • Simon Marchi's avatar
      gdb: fix documentation of gdbarch_displaced_step_copy_insn · 19b187a9
      Simon Marchi authored
      I spotted something that looks wrong in the doc of
      gdbarch_displaced_step_copy_insn.
      
      It says that if the function returns NULL, it means that it has emulated
      the behavior of the instruction and written the result to REGS.
      However, it says below that the function may return NULL to indicate
      that the instruction can't be single-stepped out-of-line, in which case
      the core steps the instruction in-line.  The two are contradictory.
      
      The right one is the latter, if the function returns NULL, the core
      falls back to in-line stepping. I checked all the implementations of
      this function and they all agree with this.
      
      gdb/ChangeLog:
      
      	* gdbarch.sh (displaced_step_copy_insn): Update doc.
      	* gdbarch.h: Re-generate.
      
      Change-Id: I98163cdd38970cde4c77680e249b10f5d2d5bf9b
      19b187a9
    • Simon Marchi's avatar
      gdb/testsuite: better handle failures in simavr board, reap simavr process · df5b8876
      Simon Marchi authored
      This patch makes a few adjustments to the simavr.exp to handle tests
      that error out more gracefully.  I put all the changes in the same patch
      because right now it's in a very bad shape, so it's very painful to do
      small incremental adjustements.  I found that with these changes, it
      becomes reasonably stable.
      
      For example, the gdb.base/step-over-syscall.exp test is a bit buggy
      (stuff for another patch...), in that it calls gdb_load (through
      clean_restart) with a file that doesn't exist.  The gdb_load
      implementation in simavr.exp gets called with a file that doesn't exist,
      and simavr (expectedly) fails to start.
      
      When this happens, we currently leave the $simavr_spawn_id variable set.
      However, because the simavr process has terminated, its spawn id is
      closed.  When the next test tries to close the previous connection to
      simavr, it fails to, and this error is thrown:
      
          ERROR: close: spawn id exp86 not open
              while executing
          "close -i $simavr_spawn_id"
              (procedure "gdb_load" line 18)
              invoked from within
      
      In other words, any test ran after step-over-syscall.exp will have
      simavr.exp's gdb_load fail on it.
      
      This patch tries to make sure that simavr.exp's gdb_load only leaves
      simavr_spawn_id set if everything went fine.  If we couldn't start
      simavr, don't see the expected output, or fail to connect to it, we
      close the spawn id (if needed) and unset simavr_spawn_id.
      
      As an additional precaution, I added a catch around the "close the
      previous connection" code.  Ideally, this shouldn't be necessary, but I
      bet there are other similar scenarios where we might try to close an
      already close spawn id.  So I think displaying a warning is better than
      messing up all following tests.
      
      Also, the board never wait'ed for the simavr process, resulting in tons
      of zombie simavr processes hanging around.  This patch adds some calls
      to "wait" whenever we close the connection (or realize it is already
      closed), which seems to fix the problem.
      
      Finally I switched a `gdb_expect` to bare `expect`, where we wait for
      the "listening" message from simavr.  I found it necessary because
      gdb_expect (through remote_expect) adds a `-i <gdb spawn id> -timeout
      10`.  So if for some reason the GDB process has crashed in the mean
      time, this expect will unexpectedly error out with a `spawn id <gdb
      spawn id> not open`.  Therefore, change `gdb_expect` to `expect` so that
      we only deal with simavr's spawn id here.
      
      Here are the results on TESTS="gdb.base/*.exp" before:
      
          # of expected passes		4816
          # of unexpected failures	4433
          # of known failures		2
          # of unresolved testcases	300
          # of untested testcases		143
          # of unsupported tests		7
          # of paths in test names	2
          # of duplicate test names	10
      
      and after:
      
          # of expected passes		21957
          # of unexpected failures	1564
          # of expected failures		8
          # of unknown successes		1
          # of known failures		31
          # of unresolved testcases	532
          # of untested testcases		153
          # of unsupported tests		28
          # of paths in test names	2
          # of duplicate test names	32
      
      I tested using simavr's current master (7c254e2081b5).
      
      gdb/testsuite/ChangeLog:
      
      	* boards/simavr.exp (gdb_load): Catch errors when closing
      	previous connection.  Close connection, wait for process and
      	unset simavr_spawn_id on failure.
      
      Change-Id: I695fc765e1c22e1d1dc0b08e0f5141244986b868
      df5b8876
    • H.J. Lu's avatar
      x86: Support VEX base opcode length > 1 · 8c190ce0
      H.J. Lu authored
      Intel AMX instructions with 8-bit immediate opcode extension without
      operands:
      
      tilerelease, 0, 0x49c0, None, 2, CpuAMX_TILE|Cpu64, Vex|VexOpcode=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
      
      Update build_vex_prefix to support VEX base opcode length > 1.
      
      	* tc-i386.c (build_vex_prefix): Support VEX base opcode length > 1.
      	(md_assemble): Don't process ImmExt without operands.
      8c190ce0
    • H.J. Lu's avatar
      tic6x: Call _bfd_elf_add_dynamic_tags · a57f74bb
      H.J. Lu authored
      Update tic6x linker tests to expect C6000_DSBT_BASE, C6000_DSBT_SIZE and
      C6000_DSBT_INDEX dynamic tags immediately before NULL dynamic tag.
      
      bfd/
      
      	* elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Call
      	_bfd_elf_add_dynamic_tags.
      
      ld/
      
      	* testsuite/ld-tic6x/shlib-1.rd: Move C6000_DSBT_BASE,
      	C6000_DSBT_SIZE and C6000_DSBT_INDEX dynamic tags to the last.
      	* testsuite/ld-tic6x/shlib-1b.rd: Likewise.
      	* testsuite/ld-tic6x/shlib-1r.rd: Likewise.
      	* testsuite/ld-tic6x/shlib-1rb.rd: Likewise.
      	* testsuite/ld-tic6x/shlib-app-1.rd: Likewise.
      	* testsuite/ld-tic6x/shlib-app-1b.rd: Likewise.
      	* testsuite/ld-tic6x/shlib-app-1r.rd: Likewise.
      	* testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise.
      	* testsuite/ld-tic6x/shlib-noindex.rd: Likewise.
      	* testsuite/ld-tic6x/static-app-1.rd: Likewise.
      	* testsuite/ld-tic6x/static-app-1b.rd: Likewise.
      	* testsuite/ld-tic6x/static-app-1r.rd: Likewise.
      	* testsuite/ld-tic6x/static-app-1rb.rd: Likewise.
      a57f74bb
    • Tom de Vries's avatar
      [gdb/testsuite] Emit unresolved for unknown proc · a3ca48cd
      Tom de Vries authored
      Since commit 26783bce "[gdb/testsuite] Don't abort testrun for invalid
      command in test-case" we don't abort the testrun when encountering an invalid
      command.  However, since we don't report errors in the summary, there's a
      chance that the error goes unnoticed.
      
      Make the invalid command error more visible by marking the test-case
      unresolved, such that we have f.i.:
      ...
      PASS: gdb.python/py-breakpoint.exp: test_bkpt_internal: Test watchpoint write
      UNRESOLVED: gdb.python/py-breakpoint.exp: test_bkpt_eval_funcs: \
        testcase aborted due to invalid command name: gdb_py_test_multiple
      ERROR: tcl error sourcing py-breakpoint.exp.
      ERROR: invalid command name "gdb_py_test_multiple"
          while executing
        ...
                      === gdb Summary ===
      
      nr of expected passes            56
      nr of unresolved testcases       1
      ...
      
      Tested on x86_64-linux.
      
      gdb/testsuite/ChangeLog:
      
      2020-06-29  Tom de Vries  <tdevries@suse.de>
      
      	* lib/gdb.exp (unknown): Make test-case unresolved.
      a3ca48cd
    • Tom de Vries's avatar
      [gdbserver] Add missing include of gdbsupport/agent.h · f638ed73
      Tom de Vries authored
      The file gdbserver/ax.h contains:
      ...
       #ifdef IN_PROCESS_AGENT
       #define debug_threads debug_agent
       #endif
      ...
      but does not declare debug_agent.
      
      Fix this by adding an include of gdbsupport/agent.h.
      
      [ If this fix would have been in place before commit 8118159c "[gdbserver] Fix
      Wlto-type-mismatch for debug_agent", we would have simply run into this build
      breaker with a regular, non-lto build:
      ...
      src/gdbserver/ax.cc:28:5: error: conflicting declaration 'int debug_agent'
       int debug_agent = 0;
           ^~~~~~~~~~~
      In file included from src/gdbserver/ax.h:25:0,
                       from src/gdbserver/ax.cc:20:
      src/gdbsupport/agent.h:47:13: note: previous declaration as 'bool debug_agent'
       extern bool debug_agent;
                   ^~~~~~~~~~~
      ... ]
      
      Tested on x86_64-linux.
      
      gdbserver/ChangeLog:
      
      2020-06-29  Tom de Vries  <tdevries@suse.de>
      
      	* ax.h: Include gdbsupport/debug_agent.h.
      f638ed73
    • Tom de Vries's avatar
      [gdb/testsuite] Expect conformation question in gdb.server/solib-list.exp · b0237c0e
      Tom de Vries authored
      Before commit a8654e7d 'Fixes PR 25475: ensure exec-file-mismatch "ask"
      always asks in case of mismatch', there was a difference in behaviour in
      test-case gdb.server/solib-list.exp.
      
      If the executable did not contain debug info (as is usually the case), gdb
      would detect a mismatch but not ask for confirmation:
      ...
      (gdb) target remote localhost:2346^M
      Remote debugging using localhost:2346^M
      warning: Mismatch between current exec-file solib-list^M
      and automatically determined exec-file /lib64/ld-2.26.so^M
      exec-file-mismatch handling is currently "ask"^M
      Reading symbols from /lib64/ld-2.26.so...^M
      Reading symbols from /usr/lib/debug/lib64/ld-2.26.so.debug...^M
      0x00007ffff7dd7ea0 in _start () at rtld.c:745^M
      745     }^M
      (gdb) PASS: gdb.server/solib-list.exp: non-stop 0: target remote
      ...
      
      If the executable did contain debug info (as happens to be the case for
      openSUSE), gdb would detect a mismatch and ask for confirmation:
      ...
      (gdb) PASS: gdb.server/solib-list.exp: non-stop 0: file binfile
      target remote localhost:2346^M
      Remote debugging using localhost:2346^M
      warning: Mismatch between current exec-file solib-list^M
      and automatically determined exec-file /lib64/ld-2.26.so^M
      exec-file-mismatch handling is currently "ask"^M
      Load new symbol table from "/lib64/ld-2.26.so"? (y or n) y^M
      Reading symbols from /lib64/ld-2.26.so...^M
      Reading symbols from /usr/lib/debug/lib64/ld-2.26.so.debug...^M
      0x00007ffff7dd7ea0 in _start () at rtld.c:745^M
      745     }^M
      (gdb) PASS: gdb.server/solib-list.exp: non-stop 0: target remote
      ...
      
      After commit a8654e7d, the confirmation is now also asked in case there's
      no debug info.
      
      Tighten the test-case by verifying that the confirmation question is asked, as
      suggested in the log message of commit a8654e7d:
      ...
      we can remove the bypass introduced by Tom in 6b9374f1, in order to always
      answer to the 'load' question.
      ...
      
      gdb/testsuite/ChangeLog:
      
      2020-06-29  Tom de Vries  <tdevries@suse.de>
      
      	PR gdb/25475
      	* gdb.server/solib-list.exp: Verify that the symbol reload
      	confirmation question is asked.
      b0237c0e
    • Hans-Peter Nilsson's avatar
      gas/testsuite: test-case for PR25331 (mmix reloc fixup bug) · 4e394b28
      Hans-Peter Nilsson authored
      The bug manifested "only" for a 64-bit host:
      
      pr25331.c: Assembler messages:
      pr25331.c:430: Error: internal error: fixup not contained within frag
      failed with: <pr25331.c: Assembler messages:
      pr25331.c:430: Error: internal error: fixup not contained within frag>, no expected output
      FAIL: gas/mmix/pr25331
      
      gas:
      	PR gas/25331
      	* testsuite/gas/mmix/pr25331.d, testsuite/gas/mmix/pr25331.s: New test.
      4e394b28
    • Hans-Peter Nilsson's avatar
      gas: Fix mmix fixups and TC_FX_SIZE_SLACK, PR25331 · b20e7614
      Hans-Peter Nilsson authored
      Finally; sorry for the delay.  There were a few false starts, where I
      misinterpreted the error-messages and the comment that Alan added:
      it's not the fix size that's too large (and the frag too small), it's
      stating the wrong size of what will be "fixed up" - that of the actual
      target value, not the size of the field that needs to be adjusted.
      Comments added for clarity.
      
      Test-suite committed separately.
      
      gas:
      	PR gas/25331
      	* config/tc-mmix.c (md_assemble) <fixup for
      	BFD_RELOC_MMIX_BASE_PLUS_OFFSET>: This fixup affects 1 byte, not 8.
      	Also, set its fx_no_overflow.
      	(md_convert_frag) <case ENCODE_RELAX (STATE_PUSHJSTUB, STATE_ZERO)>:
      	Similarly this fixup affects 4 bytes, not 8 and needs its
      	fx_no_overflow set.
      	* config/tc-mmix.h (TC_FX_SIZE_SLACK): Don't define.
      b20e7614
    • Hans-Peter Nilsson's avatar
      binutils/dwarf.c: Correct an `index' global shadowing error for pre-4.8 GCC · 9f27c364
      Hans-Peter Nilsson authored
      In older gcc, shadowing a function name with a local variable name is
      flagged as an error, certainly a bug but which is usually worked
      around in binutils:
      
      gcc -DHAVE_CONFIG_H -I. -I$SRC/binutils  -I. -I$SRC/binutils -I../bfd -I$SRC/binutils/../bfd -I$SRC/binutils/../include -DLOCALEDIR="\"/usr/local/share/locale\"" -Dbin_dummy_emulation=bin_vanilla_emulation  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I$SRC/binutils/../zlib -g -O2 -MT dwarf.o -MD -MP -MF $depbase.Tpo -c -o dwarf.o $SRC/binutils/dwarf.c &&\
      	mv -f $depbase.Tpo $depbase.Po
      cc1: warnings being treated as errors
      $SRC/binutils/dwarf.c: In function 'display_debug_str_offsets':
      $SRC/binutils/dwarf.c:6913: error: declaration of 'index' shadows a global declaration
      /usr/include/string.h:309: error: shadowed declaration is here
      make[4]: *** [dwarf.o] Error 1
      
      See also GCC PR c/53066.  This is just another one that crept in since
      I and others last had to use an old version.  The name "idx" was used
      in the preceding function, display_debug_addr.  Also, it was declared
      c99 style (after a statement in the block).  Committed as obvious.
      
      binutils:
      	* dwarf.c (display_debug_str_offsets): Rename local variable
      	index to idx.  Move to top of function.
      9f27c364
    • Alan Modra's avatar
      asan: _bfd_pei_slurp_codeview_record use of uninit value · 07d22f64
      Alan Modra authored
      Fixes some seriously careless code.  bfd_bread return value is
      (bfd_size_type)-1 on error.  "if (bfd_bread (...) < 4)" does not check
      for an error since bfd_size_type is unsigned.  In any case, I think we
      should be reading and checking the requested length.
      
      	* peXXigen.c (_bfd_XXi_slurp_codeview_record): Properly check
      	return value of bfd_bread.  Don't read more than requested length.
      	Sanity check length.  Properly terminate file name.
      07d22f64
    • Alan Modra's avatar
      C++ comments · 279edac5
      Alan Modra authored
      binutils isn't c99 (yet).  This replaces or removes some C++ style
      comments.
      
      bfd/
      	* arc-got.h: Use C style comments.
      	* coff-z80.c: Likewise.
      	* elf32-csky.c: Likewise.
      	* peXXigen.c: Likewise.
      	* elf32-m32c.c (m32c_elf_relax_delete_bytes): Remove commented out
      	code.
      binutils/
      	* dwarf.c: Use C style comments.
      	* resrc.c: Likewise.
      gas/
      	* config/tc-s12z.c: Use C style comments.
      	* config/tc-z80.c: Likewise.
      	* config/tc-xtensa.c (emit_ld_r_n): Remove commented out code.
      include/
      	* coff/internal.h: Use C style comments.
      	* coff/pe.h: Likewise.
      	* elf/ppc64.h: Likewise.
      opcodes/
      	* arm-dis.c: Use C style comments.
      	* cr16-opc.c: Likewise.
      	* ft32-dis.c: Likewise.
      	* moxie-opc.c: Likewise.
      	* tic54x-dis.c: Likewise.
      	* s12z-opc.c: Remove useless comment.
      	* xgate-dis.c: Likewise.
      279edac5