1. Dec 22, 2020
    • Anton Kolesov's avatar
      arc: Add support for signal handlers · b4e3cd04
      Anton Kolesov authored
      This patch adds the necessary infrastructure to handle signal frames for
      ARC architecture.  It is fairly similar to what any other architecture
      would have.  Linux specific parts will be in a separate patch.
      
      v2 [1]:
      - Make the logic of "arc_sigtramp_frame_sniffer ()" simpler.
      
      [1] Tom's remark for the first version
      https://sourceware.org/pipermail/gdb-patches/2020-November/173221.html
      
      gdb/ChangeLog:
      
      	* arc-tdep.c (arc_make_sigtramp_frame_cache): New function.
      	(arc_sigtramp_frame_this_id): Likewise.
      	(arc_sigtramp_frame_prev_register): Likewise.
      	(arc_sigtramp_frame_sniffer): Likewise.
      	(arc_siftramp_frame_unwind): New global variable.
      	(arc_gdbarch_init): Use sigtramp capabilities.
      	(arc_dump_tdep): Print sigtramp fields.
      	* arc-tdep.h (gdbarch_tdep): Add sigtramp fields.
      b4e3cd04
    • GDB Administrator's avatar
      Automatic date update in version.in · 6bf6909b
      GDB Administrator authored
      6bf6909b
    • Tom Tromey's avatar
      Move enum noside earlier in expression.h · 6c078f0b
      Tom Tromey authored
      For the expression rewrite series, I needed to move enum noside
      earlier in expression.h.  Because this is a pure move, and because it
      seems harmless and uncontroversial to move an enum definition earlier
      in a file, I'm pushing it in early, to reduce the size of that series.
      
      Tested by rebuilding.
      
      gdb/ChangeLog
      2020-12-21  Tom Tromey  <tom@tromey.com>
      
      	* expression.h (enum noside): Move earlier.
      6c078f0b
  2. Dec 21, 2020
    • Peter Waller's avatar
      Preserve gdb_std{out, err, log, targ, targerr} across interpreter_exec_cmd · e1ff6226
      Peter Waller authored
      
      
      Calls through interpreter_exec_cmd can cause the output state to be modified in
      a way which doesn't get back after the execution.
      
      It looks like the intent is that interp::resume should put things back how they
      should be, however, mi_interp::resume modifies gdb_stdout and nothing currently
      restores it to the previous state.
      
      To see the broken behaviour:
      
        gdb -ex starti -ex bt -ex 'interpreter-exec mi echo' -ex bt -ex q echo <<<''
      
      Prior to this patch, on a terminal environment, the first backtrace is
      coloured, and the second backtrace is not. The reason is that
      stdio_file::can_emit_style_escape becomes false, because the gdb_stdout gets
      overwritten in mi_interp::resume and not replaced.
      
      gdb/ChangeLog:
      
      	* interps.c (interpreter_exec_cmd): Restore streams pointers.
      
      gdb/testsuite/ChangeLog:
      
      	* gdb.base/style-interp-exec-mi.exp: New.
      	* gdb.base/style-interp-exec-mi.c: New.
      
      Signed-off-by: default avatarPeter Waller <p@pwaller.net>
      Change-Id: Id87423b262d058857ea9dca5866ca6471741e512
      e1ff6226
    • Simon Marchi's avatar
      gdb/testsuite: use gdb_test in gdb.base/list.exp · ca01f1bf
      Simon Marchi authored
      Use gdb_test instead of send_gdb + gdb_expect.  Use proc_with_prefix to
      help with name uniqueness.
      
      gdb/testsuite/ChangeLog:
      
      	* gdb.base/list.exp: Replace send_gdb + gdb_expect with
      	  gdb_test.  Use proc_with_prefix.
      
      Change-Id: Ieee8fb2c80f596f60397fab7633773a7f8c8c879
      ca01f1bf
    • Markus Metzger's avatar
      testsuite, gdb.btrace: fix 32-bit PIE false positives · 0fe69a94
      Markus Metzger authored
      For 32-bit position independent executables, GCC generates an extra call to
      
          __x86.get_pc_thunk.<reg>
      
      which appears in the function call history.  It is correct to appear there
      but this confuses the tests, which check for an expected sequence of
      functions.
      
      Build with nopie to avoid this complication.
      
      gdb/testsuite/ChangeLog:
      2020-12-04  Markus Metzger  <markus.t.metzger@intel.com>
      
      	* gdb.btrace/exception.exp: Build with nopie.
      	* gdb.btrace/function_call_history.exp: Likewise.
      	* gdb.btrace/unknown_functions.exp: Likewise.
      0fe69a94
    • Markus Metzger's avatar
      testsuite, gdb.btrace: skip multi-inferior.exp on gdbserver targets · 806e7575
      Markus Metzger authored
      The gdb.btrace/multi-inferior.exp test creates multiple inferiors to check
      that recording is per-inferior.
      
      When run with the native-gdbserver board, this test hangs when trying to
      add the second inferior over the remote connection.  Skip the test.
      
      Note that the test runs fine with the native-extended-gdbserver board file
      and we want to keep testing that configuration.
      
      gdb/testsuite/ChangeLog:
      2020-12-11  Markus Metzger  <markus.t.metzger@intel.com>
      
      	* gdb.btrace/multi-inferior.exp: Skip if use_gdb_stub.
      806e7575
    • Markus Metzger's avatar
      testsuite, gdb.python: make py-record-*.exp test names unique · 493d2172
      Markus Metzger authored
      gdb/testsuite/ChangeLog:
      2020-12-14  Markus Metzger  <markus.t.metzger@intel.com>
      
      	* gdb.python/py-record-btrace.exp: Make test names unique.
      	* gdb.python/py-record-full.exp: Likewise.
      493d2172
    • Markus Metzger's avatar
      testsuite, gdb.btrace: make test names unique · 1a1c0afc
      Markus Metzger authored
      gdb/testsuite/ChangeLog:
      2020-12-04  Markus Metzger  <markus.t.metzger@intel.com>
      
      	* gdb.btrace/data.exp: Make test names unique.
      	* gdb.btrace/delta.exp: Likewise.
      	* gdb.btrace/enable.exp: Likewise.
      	* gdb.btrace/function_call_history.exp: Likewise.
      	* gdb.btrace/nohist.exp: Likewise.
      	* gdb.btrace/non-stop.exp: Likewise.
      	* gdb.btrace/rn-dl-bind.exp: Likewise.
      	* gdb.btrace/step.exp: Likewise.
      	* gdb.btrace/stepi.exp: Likewise.
      	* gdb.btrace/tailcall.exp: Likewise.
      1a1c0afc
    • Markus Metzger's avatar
      gdb, record: rephrase the 'not recording' error message · 98d837f0
      Markus Metzger authored
      When trying to use one of the record commands without having enabled
      recording first, GDB gives the error message:
      
          (gdb) record function-call-history
          No record target is currently active.
          Use one of the "target record-<TAB><TAB>" commands first.
      
      In the record help, however, we say:
      
          (gdb) help record
          record, rec
          Start recording.
      
          List of record subcommands:
      
          record btrace, record b -- Start branch trace recording.
          record delete, record del, record d -- Delete the rest of execution log and start recording it anew.
          record full -- Start full execution recording.
          record function-call-history -- Prints the execution history at function granularity.
          record goto -- Restore the program to its state at instruction number N.
          record instruction-history -- Print disassembled instructions stored in the execution log.
          record save -- Save the execution log to a file.
          record stop, record s -- Stop the record/replay target.
      
      Change the above error message to
      
          (gdb) record function-call-history
          No recording is currently active.
          Use the "record full" or "record btrace" command first.
      
      to align with the help text.
      
      gdb/ChangeLog:
      2020-12-03  Markus Metzger  <markus.t.metzger@intel.com>
      
      	* record.c (require_record_target): Rephrase error message.
      	(info_record_command): Likewise.
      
      gdb/testsuite/ChangeLog:
      2020-12-03  Markus Metzger  <markus.t.metzger@intel.com>
      
      	* gdb.btrace/enable.exp: Update error message.
      	* gdb.btrace/multi-inferior.exp: Likewise.
      	* gdb.btrace/reconnect.exp: Likewise.
      	* gdb.python/py-record-btrace.exp: Likewise.
      	* gdb.python/py-record-full.exp: Likewise.
      98d837f0
    • Joel Brobecker's avatar
      gdb.texinfo: Document GMP as mandatory requirement to build GDB · 904cb749
      Joel Brobecker authored
      gdb/doc/ChangeLog
      
              * gdb.texinfo (Requirements): Add GMP to list of requirements.
      904cb749
    • GDB Administrator's avatar
      Automatic date update in version.in · 03353381
      GDB Administrator authored
      03353381
  3. Dec 20, 2020
    • Tom de Vries's avatar
      [gdb/testsuite] Add save_target_board_info · c541fa7c
      Tom de Vries authored
      Add a proc save_target_board_info, similar to save_vars, such that we can do:
      ...
      save_target_board_info { multilib_flags } {
          global board
          set board [target_info name]
          unset_board_info multilib_flags
          set_board_info multilib_flags "$override_multilib_flags"
          ...
      }
      ...
      and use it in gdb_compile_shlib.
      
      Tested on x86_64-linux.
      
      gdb/testsuite/ChangeLog:
      
      2020-12-20  Tom de Vries  <tdevries@suse.de>
      
      	* lib/gdb.exp (save_target_board_info): New proc.
      	(gdb_compile_shlib): Use save_target_board_info.
      c541fa7c
    • GDB Administrator's avatar
      Automatic date update in version.in · 3dc9a557
      GDB Administrator authored
      3dc9a557
    • H.J. Lu's avatar
      gold: Move sym declaration just before use · 97aac4ec
      H.J. Lu authored
      Move sym declaration just before use to avoid -Wmaybe-uninitialized
      warning from GCC 11.
      
      	PR gold/27097
      	* incremental.cc (Sized_relobj_incr::do_add_symbols): Move sym
      	declaration just before use.
      	(Sized_incr_dynobj::do_add_symbols): Likewise.
      	* plugin.cc (Sized_pluginobj::do_add_symbols): Likewise.
      97aac4ec
  4. Dec 19, 2020
    • Tom de Vries's avatar
      [gdb/testsuite] Introduce supports_scalar_storage_order_attribute · 60108e47
      Tom de Vries authored
      Introduce support test procs:
      - supports_scalar_storage_order_attribute, and
      - supports_gnuc
      and use them in test-case gdb.base/endianity.exp.
      
      Tested on x86_64-linux with gcc-7.5.0, gcc-4.8.5, and clang 10.0.1.
      
      gdb/testsuite/ChangeLog:
      
      2020-12-19  Tom de Vries  <tdevries@suse.de>
      
      	* lib/gdb.exp (supports_scalar_storage_order_attribute)
      	(supports_gnuc): New proc.
      	* gdb.base/endianity.exp: Define TEST_SSO.  Eliminate
      	test_compiler_info calls.  Add unsupported message.
      	* gdb.base/endianity.c: Use TEST_SSO.
      60108e47
    • Hannes Domani's avatar
      Don't compare types of enum fields · fa639f55
      Hannes Domani authored
      Comparing types of enum fields results in a crash, because they don't
      have a type.
      
      It can be reproduced by comparing the types of 2 instances of the same
      enum type in different objects:
      
      enum.h:
      
          enum e
          {
            zero,
            one,
          };
      
      enum-1.c:
      
          #include <enum.h>
          int func();
          enum e e1;
          int main()
          {
            return e1 + func();
          }
      
      enum-2.c:
      
          #include <enum.h>
          enum e e2;
          int func()
          {
            return e2;
          }
      
      $ gcc -g -oenum enum-1.c enum-2.c
      $ gdb -q enum.exe
      Reading symbols from enum.exe...
      (gdb) py print(gdb.parse_and_eval("e1").type==gdb.parse_and_eval("e2").type)
      
      Thread 1 received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 6184.0x1cc4]
      check_typedef (type=0x0) at C:/src/repos/binutils-gdb.git/gdb/gdbtypes.c:2745
      2745      while (type->code () == TYPE_CODE_TYPEDEF)
      
      gdb/ChangeLog:
      
      2020-12-19  Hannes Domani  <ssbssa@yahoo.de>
      
      	PR exp/27070
      	* gdbtypes.c (check_types_equal): Don't compare types of enum fields.
      
      gdb/testsuite/ChangeLog:
      
      2020-12-19  Hannes Domani  <ssbssa@yahoo.de>
      
      	PR exp/27070
      	* gdb.python/compare-enum-type-a.c: New test.
      	* gdb.python/compare-enum-type-b.c: New test.
      	* gdb.python/compare-enum-type.exp: New file.
      	* gdb.python/compare-enum-type.h: New test.
      fa639f55
    • Bernd Edlinger's avatar
      Warn about static libs vs. source-highlight only when necessary · 0455b7d3
      Bernd Edlinger authored
      Avoid the error message when source-highlight is actually available.
      
      2020-12-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
      	* configure.ac: Move the static libs vs. source-highlight
      	error message to a better place.
      	* configure: Regenerate.
      0455b7d3
    • GDB Administrator's avatar
      Automatic date update in version.in · a24e0498
      GDB Administrator authored
      a24e0498
    • Hannes Domani's avatar
      Fix name of main_type field type in pretty printer · e51765f9
      Hannes Domani authored
      It was renamed from type to m_type.
      
      gdb/ChangeLog:
      
      2020-12-18  Hannes Domani  <ssbssa@yahoo.de>
      
      	* gdb-gdb.py.in: Fix main_type field name.
      e51765f9
    • Hannes Domani's avatar
      Remove erroneous 'a' in gdb.register_window_type documentation · e8460459
      Hannes Domani authored
      gdb/doc/ChangeLog:
      
      2020-12-18  Hannes Domani  <ssbssa@yahoo.de>
      
      	* python.texi (TUI Windows In Python): Remove erroneous 'a'.
      e8460459
    • Hannes Domani's avatar
      Add address keyword to Value.format_string · 4aea001f
      Hannes Domani authored
      This makes it possible to disable the address in the result string:
      
      const char *str = "alpha";
      
      (gdb) py print(gdb.parse_and_eval("str").format_string())
      0x404000 "alpha"
      (gdb) py print(gdb.parse_and_eval("str").format_string(address=False))
      "alpha"
      
      gdb/ChangeLog:
      
      2020-12-18  Hannes Domani  <ssbssa@yahoo.de>
      
      	* python/py-value.c (valpy_format_string): Implement address keyword.
      
      gdb/doc/ChangeLog:
      
      2020-12-18  Hannes Domani  <ssbssa@yahoo.de>
      
      	* python.texi (Values From Inferior): Document the address keyword.
      
      gdb/testsuite/ChangeLog:
      
      2020-12-18  Hannes Domani  <ssbssa@yahoo.de>
      
      	* gdb.python/py-format-string.exp: Add tests for address keyword.
      4aea001f
    • Hannes Domani's avatar
      Fix accessing a method's fields from Python · b3f9469b
      Hannes Domani authored
      Considering this example:
      
      struct C
      {
        int func() { return 1; }
      } c;
      int main()
      {
        return c.func();
      }
      
      Accessing the fields of C::func, when requesting the function by its
      type, works:
      
      (gdb) py print(gdb.parse_and_eval('C::func').type.fields()[0].type)
      C * const
      
      But when trying to do the same via a class instance, it fails:
      
      (gdb) py print(gdb.parse_and_eval('c')['func'].type.fields()[0].type)
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
      TypeError: Type is not a structure, union, enum, or function type.
      Error while executing Python code.
      
      The difference is that in the former the function type is TYPE_CODE_FUNC:
      
      (gdb) py print(gdb.parse_and_eval('C::func').type.code == gdb.TYPE_CODE_FUNC)
      True
      
      And in the latter the function type is TYPE_CODE_METHOD:
      
      (gdb) py print(gdb.parse_and_eval('c')['func'].type.code == gdb.TYPE_CODE_METHOD)
      True
      
      So this adds the functionality for TYPE_CODE_METHOD as well.
      
      gdb/ChangeLog:
      
      2020-12-18  Hannes Domani  <ssbssa@yahoo.de>
      
      	* python/py-type.c (typy_get_composite): Add TYPE_CODE_METHOD.
      
      gdb/testsuite/ChangeLog:
      
      2020-12-18  Hannes Domani  <ssbssa@yahoo.de>
      
      	* gdb.python/py-type.exp: Add tests for TYPE_CODE_METHOD.
      b3f9469b
    • Jameson Nash's avatar
      gdb: define COFF file offsets with file_ptr · a9e48095
      Jameson Nash authored
      The arguments to these functions are file_ptr, so these declarations
      were accidentally implicitly down-casting them to signed int. This
      allows for reading files between 2 and 4 GB in size in my testing (I
      don't have a larger dll currently to test). These may not be natively
      supported by Windows, but can appear when using split-dwarf information.
      
      This solves a "can't get string table" error resulting from attempting
      to pass a negative offset to bfd_seek. I encountered this occuring while
      trying to use a debug file for libLLVM.dll, but searching online reveals
      at least one other person may have run into a similar problem with
      Firefox?
      
          https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/CA+cU71k2bU0azQxjy4-77ynQj1O+TKmgtaTKe59n7Bjub1y7Tg@mail.gmail.com/
      
      With this patch, the debug file appears to load successfully and I can
      see debug information in gdb for the library.
      
      gdb/ChangeLog:
      
      	* coffread.c (linetab_offset): Change type to file_ptr.
      	(linetab_size): Likewise.
      	(enter_linenos): Change parameter type to file_ptr.
      	(init_lineno): Likewise.
      	(init_stringtab): Likewise.
      	(coff_symtab_read): Likewise.
      	(coff_symfile_read): Change variable types to file_ptr.
      
      Change-Id: I6ae3bf31efc51c826734ade6731ea6b1c32129f3
      a9e48095
    • Tom Tromey's avatar
      Run fixed_points.exp with -fgnat-encodings=minimal · 86ef42bd
      Tom Tromey authored
      This changes the test case gdb.ada/fixed_points.exp to also be run
      with -fgnat-encodings=minimal.  This change pointed out that the test
      case had a few incorrect expected outputs; these are fixed as well.
      
      Note that the Overprecise_Object test only uses the non-legacy output
      with GCC trunk.
      
      gdb/testsuite/ChangeLog
      2020-12-18  Tom Tromey  <tromey@adacore.com>
      
      	* gdb.ada/fixed_points.exp: Also run with
      	-fgnat-encodings=minimal.  Update expected output.
      86ef42bd
  5. Dec 18, 2020
    • H.J. Lu's avatar
      ld: Build and install only unversioned libdep · eba7b68c
      H.J. Lu authored
      Build only unversioned libdep and remove the installed libdep.la since
      only a single libdep.so is needed.
      
      	PR ld/27082
      	* Makefile.am
      	(libdep_la_LDFLAGS): Add -module -avoid-version.
      	(libdep_la_LINK): New.
      	(install-data-local): Depend on $(install-bfdpluginLTLIBRARIES)
      	and remove libdep.la.
      eba7b68c
    • H.J. Lu's avatar
      elf: Copy elf_gnu_osabi_retain only for relocatable link · 04f89674
      H.J. Lu authored
      Copy elf_gnu_osabi_retain from input only for relocatable link since
      SHF_GNU_RETAIN has no impact on non-relocatable outputs.
      
      bfd/
      
      	PR ld/27091
      	* elflink.c (elf_link_input_bfd): Copy elf_gnu_osabi_retain
      	from input only for relocatable link.
      
      ld/
      
      	PR ld/27091
      	* testsuite/ld-elf/retain7.s: New file.
      	* testsuite/ld-elf/retain7a.d: Likewise.
      	* testsuite/ld-elf/retain7b.d: Likewise.
      04f89674
    • Alan Modra's avatar
      Assorted tidies · 3fafa2e2
      Alan Modra authored
      bfd/
      	* elf32-microblaze.c (dbg): Delete unused variable.
      	* elf32-nds32.c (relax_group_section_id_list): Make static.
      	* som.c (reloc_queue): Make static.
      	* xtensa-isa.c (xtisa_errno, xtisa_error_msg): Make static.
      include/
      	* xtensa-isa-internal.h (xtisa_errno, xtisa_error_msg): Delete.
      3fafa2e2
    • Alan Modra's avatar
      Remove some static buffers · 7fbd5f4e
      Alan Modra authored
      Fixes possible overflow of a static buffer for powerpc with translated
      messages, and on v850 when symbol names are large.
      
      	* archive.c (_bfd_ar_spacepad, _bfd_ar_sizepad): Use auto buf.
      	* coff-mcore.c (coff_mcore_relocate_section): Likewise.
      	* elf32-ppc.c (ppc_elf_unhandled_reloc): Use asprintf in place
      	of fixed size and possibly too small buf for translated message.
      	* elf64-ppc.c (ppc64_elf_unhandled_reloc): Likewise.
      	* elf32-v850.c (v850_elf_check_relocs): Likewise.
      	* ecoff.c (ecoff_type_to_string): Pass in return string buff rather
      	than using static buffer2.  Delete dead code.  Remove unnecessary
      	parentheses.
      	(_bfd_ecoff_print_symbol): Pass auto buff to ecoff_type_to_string.
      	* elf32-rx.c (describe_flags): Pass in return string buf rather
      	than using static buf.
      	(rx_elf_merge_private_bfd_data): Pass buf to describe_flags.
      	(rx_elf_print_private_bfd_data): Likewise.
      	* mach-o.c (cpusubtype): Pass in return string buffer rather than
      	using static buffer.
      	(bfd_mach_o_bfd_print_private_bfd_data): Pass buff to cpusubtype.
      	* opncls.c (separate_debug_file_exists): Make buffer an auto var.
      	(bfd_fill_in_gnu_debuglink_section): Likewise.
      	* peXXigen.c (rsrc_resource_name): Pass in return string buffer
      	rather than using static buffer.
      	(rsrc_sort_entries): Pass buff to rsrc_resource_name.
      	* vms-alpha.c (_bfd_vms_write_emh): Pass tbuf to get_vms_time_string.
      	* vms-misc.c (get_vms_time_string): Pass in return string tbuf
      	rather than using static tbuf.
      	* vms.h (get_vms_time_string): Update prototype.
      7fbd5f4e
    • Alan Modra's avatar
      Constify more arrays · bd38246a
      Alan Modra authored
      bfd/
      	* coff-z80.c (bfd_howto_type): Make typedef const.
      	* elf32-z80.c (bfd_howto_type): Likewise.
      	* elf32-m32c.c (EncodingTable): Likewise.
      	* elf32-csky.c (csky_arch_for_merge): Likewise.
      	(csky_archs): Use typedef.
      	* elf32-m68hc11.c (m68hc11_direct_relax_table): Make const.
      	(find_relaxable_insn, m68hc11_elf_relax_section): Adjust to suit.
      	* elf32-ppc.c (ppc_alt_plt): Make const.
      	* elf32-rl78.c (relax_addr16): Likewise.
      	* targets.c (_bfd_associated_vector): Likewise.
      	(bfd_target_vector, bfd_associated_vector): Likewise.
      	* libbfd-in.h (bfd_target_vector, bfd_associated_vector): Likewise.
      	* libbfd.h: Regenerate.
      include/
      	* opcode/arc-attrs.h (CONFLICT_LIST): Make const.
      bd38246a
    • Alan Modra's avatar
      Statically initialise target common sections · 7f3a18cf
      Alan Modra authored
      This tidies initialisation of target common sections, doing so using a
      static initialiser rather than via code and deleting unnecessary
      symbol_ptr_ptr variables (the one in asection is used instead).
      
      The patch also initialises ecoff.c:bfd_debug_section using
      BFD_FAKE_SECTION.  That does change bfd_debug_section slightly,
      output_section was NULL now bfd_debug_section, and symbol_ptr_ptr
      was NULL now &bfd_debug_section.symbol, but I believe those changes
      are safe.
      
      bfd/
      	* ecoff.c (bfd_debug_section): Init using BFD_FAKE_SECTION.
      	(ecoff_scom_section, ecoff_scom_symbol): Statically init using
      	BFD_FAKE_SECTION and GLOBAL_SYM_INIT.  Delete initialisation code.
      	(ecoff_scom_symbol_ptr): Delete.
      	* elf32-m32r.c (m32r_elf_scom_section, m32r_elf_scom_symbol),
      	(m32r_elf_scom_symbol_ptr),
      	* elf32-score.c (score_elf_scom_section, score_elf_scom_symbol),
      	(score_elf_scom_symbol_ptr),
      	* elf32-score7.c (score_elf_scom_section, score_elf_scom_symbol),
      	(score_elf_scom_symbol_ptr),
      	* elf32-tic6x.c (tic6x_elf_scom_section, tic6x_elf_scom_symbol),
      	(tic6x_elf_scom_symbol_ptr),
      	* elf32-v850.c (v850_elf_scom_section, v850_elf_scom_symbol),
      	(v850_elf_scom_symbol_ptr),
      	(v850_elf_tcom_section, v850_elf_tcom_symbol),
      	(v850_elf_tcom_symbol_ptr),
      	(v850_elf_zcom_section, v850_elf_zcom_symbol),
      	(v850_elf_zcom_symbol_ptr),
      	* elf64-mmix.c (mmix_elf_reg_section, mmix_elf_reg_section_symbol),
      	(mmix_elf_reg_section_symbol_ptr),
      	* elfxx-mips.c (mips_elf_scom_section, mips_elf_scom_symbol),
      	(mips_elf_scom_symbol_ptr): Likewise.
      gas/
      	* ecoff.c (ecoff_frob_symbol): Rename scom_section to
      	ecoff_scom_section and statically initialise.
      7f3a18cf
    • GDB Administrator's avatar
      Automatic date update in version.in · 3ece0b95
      GDB Administrator authored
      3ece0b95
    • Tom Tromey's avatar
      Remove a use of n_spaces · 844a6538
      Tom Tromey authored
      While removing printfi_filtered, I found a spot that used n_spaces
      where the now-ordinary "%*s" approach would do.  This patch makes this
      change.
      
      Tested on x86-64 Fedora 32.
      
      gdb/ChangeLog
      2020-12-17  Tom Tromey  <tromey@adacore.com>
      
      	* printcmd.c (print_variable_and_value): Don't use n_spaces.
      844a6538
    • Tom Tromey's avatar
      Remove printfi_filtered and fprintfi_filtered · 32f47895
      Tom Tromey authored
      After seeing Simon's patch, I thought maybe it was finally time to
      remove printfi_filtered and fprintfi_filtered, in favor of using the
      "%*s" approach to indenting.
      
      In this patch I took the straightforward approach of always adding a
      leading "%*s", even when the format already started with "%s", to
      avoid the trickier form of:
      
          printf ("%*s", -indent, string)
      
      Regression tested on x86-64 Fedora 32.
      Let me know what you think.
      
      gdb/ChangeLog
      2020-12-17  Tom Tromey  <tromey@adacore.com>
      
      	* gdbtypes.c (print_args, dump_fn_fieldlists, print_cplus_stuff)
      	(print_gnat_stuff, print_fixed_point_type_info)
      	(recursive_dump_type): Update.
      	* go32-nat.c (go32_sysinfo, display_descriptor): Update.
      	* c-typeprint.c (c_type_print_base_struct_union)
      	(c_type_print_base_1): Update.
      	* rust-lang.c (rust_internal_print_type): Update.
      	* f-typeprint.c (f_language::f_type_print_base): Update.
      	* utils.h (fprintfi_filtered, printfi_filtered): Remove.
      	* m2-typeprint.c (m2_record_fields): Update.
      	* p-typeprint.c (pascal_type_print_base): Update.
      	* compile/compile-loc2c.c (push, pushf, unary, binary)
      	(do_compile_dwarf_expr_to_c): Update.
      	* utils.c (fprintfi_filtered, printfi_filtered): Remove.
      32f47895
  6. Dec 17, 2020
    • Simon Marchi's avatar
      gdb/doc: fix "show check range" command name · 85be4f5a
      Simon Marchi authored
      gdb/doc/ChangeLog:
      
      	PR gdb/27088
      	* gdb.texinfo (Range Checking): Fix "show check range" command
      	name.
      
      Change-Id: I0248ef76d205ac49ed71b813aafe3e630c2ffc2e
      85be4f5a
    • Tom Tromey's avatar
      Change parameters to language_defn::post_parser · c5c41205
      Tom Tromey authored
      In the expression rewrite, Ada type resolution will be done at parse
      time rather than in a post-parse pass.  At this point,
      language_defn::post_parser will be removed.  However, for this to
      work, the information available to post_parser must be made available
      during the actual parse.
      
      This patch refactors this code slightly to make this possible.  In
      particular, "void_context_p" is passed to the parser_state
      constructor, and the parser state is then passed to the post_parser
      method.
      
      gdb/ChangeLog
      2020-12-16  Tom Tromey  <tom@tromey.com>
      
      	* rust-exp.y (rust_lex_tests): Update.
      	* parser-defs.h (parser_state): Add void_p parameter.
      	<void_context_p>: New member.
      	* parse.c (parse_exp_in_context): Update.
      	* language.h (language_defn::post_parser): Remove void_context_p,
      	completing, tracker parameters.  Add parser state.
      	* ada-lang.c (ada_language::post_parser): Update.
      c5c41205
    • GDB Administrator's avatar
      Automatic date update in version.in · f81baa08
      GDB Administrator authored
      f81baa08
    • Tom Tromey's avatar
      Change void_context_p to bool · 35c1ab60
      Tom Tromey authored
      This patch changes void_context_p to bool, as a prerequisite to the
      change to post_parser that I submitted here:
      
      https://sourceware.org/pipermail/gdb-patches/2020-December/174080.html
      
      Tested by rebuilding.
      
      Note that nothing in-tree passes true here.  I don't know why this is,
      but there is a use of this internally in AdaCore's tree.  I will try
      to submit that patch, if it is needed.  (And if not, I will come back
      around and remove this.)
      
      gdb/ChangeLog
      2020-12-16  Tom Tromey  <tom@tromey.com>
      
      	* parse.c (parse_exp_1, parse_expression_for_completion): Update.
      	(parse_exp_in_context): Change void_context_p to bool.
      	* language.h (struct language_defn) <post_parser>: Change
      	void_context_p to bool.
      	* ada-lang.c (class ada_language) <post_parser>: Update.
      35c1ab60
    • Simon Marchi's avatar
      gdb/testsuite: make some tests in gdb.base enable non-stop using GDBFLAGS · 93df4a1d
      Simon Marchi authored
      For the same reason as explained in commit 7cb2893d ("gdb/testsuite:
      gdb.mi/mi-nonstop-exit.exp: enable non-stop using GDBFLAGS").
      
      Note that the use of
      
          set GDBFLAGS "$GDBFLAGS ..."
      
      instead of
      
          append GDBFLAGS "..."
      
      is intentional.  "append" is silent when appending to a non-existent
      variable.  So if this code if moved to a proc (as is the case already
      for step-sw-breakpoint-adjust-pc.exp) and we forget to add "global
      GDBFLAGS", the flag won't be added to the global GDBFLAGS, and we won't
      actually enable non-stop, and it might go unnoticed.  Using the "set"
      version will turn into an error if we forget the "global".
      
      This makes these test work correctly with native-extended-gdbserver.
      Some of them were silently failing because we runto_main is silent when
      it fails.
      
      gdb/testsuite/ChangeLog:
      
      	* gdb.base/async-shell.exp: Enable non-stop through GDBFLAGS.
      	* gdb.base/continue-all-already-running.exp: Likewise.
      	* gdb.base/moribund-step.exp: Likewise.
      	* gdb.base/step-sw-breakpoint-adjust-pc.exp: Likewise.
      
      Change-Id: I19ef05d07a0ec4a9c9476af2ba6e1ea1159ee437
      93df4a1d
    • H.J. Lu's avatar
      ld: Skip libdep plugin if not all plugin hooks are available · bcac599f
      H.J. Lu authored
      Skip plugin if not all required plugin hooks are available.
      
      2020-12-16  Howard Chu <hyc@symas.com>
      	    H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR ld/27081
      	* libdep_plugin.c (onload): Skip if not all required plugin hooks
      	are available.
      	* testsuite/config/default.exp (dep_plug_opt): New.
      	* testsuite/ld-elf/elf.exp: Pass $dep_plug_opt to nm.
      	* testsuite/ld-elf/pr26391.fd: New file.
      bcac599f