1. 18 Mar, 2019 14 commits
    • Pedro Alves's avatar
      Fix first time you type UP or DOWN in TUI's command window · 5371b850
      Pedro Alves authored
      The first time you type UP or DOWN arrow in the command window, GDB
      should scroll the source window, but instead it displays the line
      number and the file name in the command window(?).
      
      What happens there is that the first time we call
      tui_ui_out::do_field_int, it doesn't initialize m_line, because
      m_start_of_line is -1, as set by the constructor; and then the
      following call to tui_ui_out::do_field_string falls back to
      cli_ui_out::do_field_string because m_line is zero.
      
      The problem is caused by a typo in the C++ification of tui_ui_out,
      commit 112e8700, where m_line and m_start_of_line's initial values
      were swapped from what they used to be:
      
       -struct ui_out *
       -tui_out_new (struct ui_file *stream)
       +tui_ui_out::tui_ui_out (ui_file *stream)
       +: cli_ui_out (stream, 0),
       +  m_line (0),
       +  m_start_of_line (-1)
        {
       -
       -  /* Initialize our fields.  */
       -  data->line = -1;
       -  data->start_of_line = 0;
      
      This commit fixes it.
      
      gdb/ChangeLog:
      2019-03-18  Pedro Alves  <palves@redhat.com>
      	    Eli Zaretskii <eliz@gnu.org>
      
      	* tui/tui-out.c (tui_ui_out::tui_ui_out): Fix initialization of
      	m_line and m_start_of_line.
      5371b850
    • Eli Zaretskii's avatar
      Fix gdb/TUI behavior in response to [Enter] keypress · b17c4cd0
      Eli Zaretskii authored
      gdb/ChangeLog:
      2019-03-18  Eli Zaretskii  <eliz@gnu.org>
      
      	* tui/tui-io.c (gdb_wgetch): Don't echo CR.
      	(tui_getc): When gdb_wgetch returns a CR, behave the same as when
      	it returns a newline.  This fixes a regression in TUI mode, whereby
      	the next line is output on the same screen line as the user input.
      b17c4cd0
    • Tom Tromey's avatar
      Fix regression caused by minimal symbol changes · 4bd56d18
      Tom Tromey authored
      The earlier patch to change minimal symbol allocations to use xmalloc
      erroneously left a call to obstack_blank in
      minimal_symbol_reader::install.  Because obstack_blank does not finish
      the object allocation on an obstack, this in turn could cause invalid
      memory reads in some situations.
      
      This patch fixes the problem by removing the call.  Tested on x86-64
      Fedora 29; also verified with valgrind.
      
      gdb/ChangeLog
      2019-03-18  Tom Tromey  <tromey@adacore.com>
      
      	* minsyms.c (minimal_symbol_reader::install): Remove call to
      	obstack_blank.
      4bd56d18
    • Pedro Alves's avatar
      Improve/fix the TUI's current source line highlight · 55c10aca
      Pedro Alves authored
      With styling enabled, I think the way we display the TUI's
      highlighted/current line is very ugly and distracting.  The problem in
      my view is that we reverse foreground/background in colored text as
      well, leading to rainbow of background colors.
      
      This patch changes that to something that I find much more sensible --
      only reverse the default foreground/background colors, leave styled
      text colors alone.  If the foreground color is not the default
      (because the text was styled), leave the foreground color as is.  If
      e.g., the terminal is fg=BLACK, and bg=WHITE, and the style wants to
      print text in RED, reverse the background color (print in BLACK), but
      still print the text in RED.
      
      Note: The new ui_file_style::set_fg method isn't called set_foreground
      instead, because set_foreground is a macro in /usr/lib/term.h (ncurses).
      
      gdb/ChangeLog:
      2019-03-18  Pedro Alves  <palves@redhat.com>
      
      	* tui/tui-io.c (reverse_mode_p, reverse_save_bg, reverse_save_fg):
      	New globals.
      	(apply_style): New, factored out from ...
      	(apply_ansi_escape): ... this.  Handle reverse video mode.
      	(tui_set_reverse_mode): New function.
      	* tui/tui-io.h (tui_set_reverse_mode): New declaration.
      	* tui/tui-winsource.c (tui_show_source_line): Use
      	tui_set_reverse_mode instead of setting A_STANDOUT.
      	* ui-style.h (struct ui_file_style) <set_reverse, set_fg, set_bg>:
      	New setter methods.
      55c10aca
    • Hannes Domani's avatar
      Fix scrolling right in the TUI · 647bb750
      Hannes Domani authored
      This commit fixes two issues in scrolling right in the TUI:
      
      #1 - Scrolling right with the arrow keys, the first keypress doesn't
      do anything.  The problem is that copy_source_line() checks if
      (column < first_col), and because of the ++column directly before, it
      basically starts with 1 instead of 0.
      
      #2 - Scrolling right handles TABS and escaped characters as single
      characters, which just looks weird.  The problem is that there's a
      spot that misses handling TABS.
      
      gdb/ChangeLog:
      2019-03-18  Hannes Domani  <ssbssa@yahoo.de>
      
      	* tui/tui-source.c (copy_source_line): Fix handling of 'column'.
      	Handle tabs.
      647bb750
    • Tom Tromey's avatar
      Fix Ada "ptype" bug with array types · bff8c71f
      Tom Tromey authored
      Using ptype on an array type in Ada can sometimes show an incorrect
      high bound.  This happens because ada_evaluate_subexp will create an
      array with an incorrect upper bound in the EVAL_AVOID_SIDE_EFFECTS
      case.
      
      This patch fixes the problem by arranging to always create such an
      array with valid bounds.
      
      Tested on x86-64 Fedora 29.
      
      gdb/ChangeLog
      2019-03-18  Tom Tromey  <tromey@adacore.com>
      
      	* ada-lang.c (empty_array): Add "high" parameter.
      	(ada_evaluate_subexp): Update.
      
      gdb/testsuite/ChangeLog
      2019-03-18  Joel Brobecker  <brobecker@adacore.com>
      	    Tom Tromey  <tromey@adacore.com>
      
      	* gdb.ada/ptype_array/pck.adb: New file.
      	* gdb.ada/ptype_array/pck.ads: New file.
      	* gdb.ada/ptype_array/foo.adb: New file.
      	* gdb.ada/ptype_array.exp: New file.
      bff8c71f
    • Alan Modra's avatar
      Use temp_ilp and restore_ilp in more places · af60449c
      Alan Modra authored
      	* as.c (macro_expr): Use temp_ilp and restore_ilp.
      	* macro.c (buffer_and_nest): Likewise.
      	* read.c (temp_ilp): Remove FIXME.
      af60449c
    • Alan Modra's avatar
      Fix MRI mode testsuite failures · c6cdff46
      Alan Modra authored
      These fails were introduced by git commit 2469b3c5 with the
      inroduction of "input_from_string":
      m68k-linux  FAIL: MRI structured for
      m68k-linux  FAIL: MRI structured if
      m68k-linux  FAIL: MRI structured repeat
      m68k-linux  FAIL: MRI structured while
      
      Since the m68k parser called expression() without setting
      input_from_string, get_symbol_name rejected FAKE_LABEL_CHAR in names.
      
      	* config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp.
      c6cdff46
    • Alan Modra's avatar
      PR24355, segmentation fault in function called from ppc_finish_symbols · 8cd1fe1b
      Alan Modra authored
      This one looks to be a bug going back to 2009, git commit e054468f
      "STT_GNU_IFUNC support for PowerPC".  That bug was carried over with
      git commit 49c09209 "Rearrange PLT reloc output on powerpc".
      
      If the refcount for an ifunc local sym plt entry was zero,
      ppc_elf_size_dynamic_sections would correctly set plt.offset to -1 but
      leave glink_offset uninitialized.  That leads to occasional segfaults
      (which can be made solid with MALLOC_PERTURB_=1 when using glibc).
      So, guard the write_glink_stub call with plt.offset != -1.  Also,
      remove the totally ineffective attempt at writing multiple-use glink
      stubs only once.
      
      	PR 24355
      	* elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
      	for local iplt syms with ent->plt.offset == -1.  Remove ineffective
      	attempt at writing glink stubs only once.
      8cd1fe1b
    • Alan Modra's avatar
      csky ld testsuite fixes · 28a66f07
      Alan Modra authored
      	* testsuite/ld-elf/merge.d: Remove csky from xfails, add moxie.
      	* testsuite/ld-elf/pr21884.d: Remove csky from xfails.
      	* testsuite/ld-elf/shared.exp: Add csky to list not xfailing pr22374.
      	* testsuite/ld-unique/pr21529.d: Remove csky from xfails
      28a66f07
    • Sergei Trofimovich's avatar
      gdb: unconditionally define _initialize_string_view_selftests · 58785d98
      Sergei Trofimovich authored
      The build failure was noticed by Helmut Jarausch in
      https://bugs.gentoo.org/680232:
          $ ./configure CXXFLAGS='-std=c++17 -Os'
          ...
            CXXLD  gdb
          ld: init.o: in function `initialize_all_files()':
          init.c:(.text+0x113): undefined reference to `_initialize_string_view_selftests()'
      
      It happens because '_initialize_string_view_selftests()' is
      conditionally defined based on C++ default.
      
      The change defines '_initialize_string_view_selftests()'
      unconditionally and leaves implementation a no-op on c++17
      compilers.
      
      gdb/ChangeLog:
      2019-03-17  Sergei Trofimovich <siarheit@google.com>
      
      	* unittests/string_view-selftests.c: Define
      	_initialize_string_view_selftests unconditionally.
      58785d98
    • H.J. Lu's avatar
      x86: Pass -O0 to assembler for some tests · a716e60c
      H.J. Lu authored
      	* testsuite/gas/i386/att-regs.d: Pass -O0 to assembler.
      	* testsuite/gas/i386/avx512bw-intel.d: Likewise.
      	* testsuite/gas/i386/avx512bw.d: Likewise.
      	* testsuite/gas/i386/avx512f-intel.d: Likewise.
      	* testsuite/gas/i386/avx512f.d: Likewise.
      	* testsuite/gas/i386/disp32.d: Likewise.
      	* testsuite/gas/i386/intel-regs.d: Likewise.
      	* testsuite/gas/i386/pseudos.d: Likewise.
      	* testsuite/gas/i386/x86-64-disp32.d: Likewise.
      	* testsuite/gas/i386/x86-64-pseudos.d: Likewise.
      a716e60c
    • H.J. Lu's avatar
      x86: Optimize EVEX vector load/store instructions · 97ed31ae
      H.J. Lu authored
      When there is no write mask, we can encode lower 16 128-bit/256-bit
      EVEX vector register load and store instructions as VEX vector register
      load and store instructions with -O1.
      
      gas/
      
      	PR gas/24348
      	* config/tc-i386.c (optimize_encoding): Encode 128-bit and
      	256-bit EVEX vector register load/store instructions as VEX
      	vector register load/store instructions for -O1.
      	* doc/c-i386.texi: Update -O1 documentation.
      	* testsuite/gas/i386/i386.exp: Run PR gas/24348 tests.
      	* testsuite/gas/i386/optimize-1.s: Add tests for EVEX vector
      	load/store instructions.
      	* testsuite/gas/i386/optimize-2.s: Likewise.
      	* testsuite/gas/i386/optimize-3.s: Likewise.
      	* testsuite/gas/i386/optimize-5.s: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-4.s: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-5.s: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-6.s: Likewise.
      	* testsuite/gas/i386/optimize-1.d: Updated.
      	* testsuite/gas/i386/optimize-2.d: Likewise.
      	* testsuite/gas/i386/optimize-3.d: Likewise.
      	* testsuite/gas/i386/optimize-4.d: Likewise.
      	* testsuite/gas/i386/optimize-5.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-4.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-5.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-6.d: Likewise.
      	* testsuite/gas/i386/optimize-7.d: New file.
      	* testsuite/gas/i386/optimize-7.s: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-8.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-8.s: Likewise.
      
      opcodes/
      
      	PR gas/24348
      	* i386-opc.tbl: Add Optimize to vmovdqa32, vmovdqa64, vmovdqu8,
      	vmovdqu16, vmovdqu32 and vmovdqu64.
      	* i386-tbl.h: Regenerated.
      97ed31ae
    • GDB Administrator's avatar
      Automatic date update in version.in · 7bc0961c
      GDB Administrator authored
      7bc0961c
  2. 17 Mar, 2019 5 commits
    • H.J. Lu's avatar
      x86: Encode 256-bit/512-bit VEX/EVEX insns with 128-bit VEX · 99112332
      H.J. Lu authored
      Since all AVX512 processors support AVX, we can encode 256-bit/512-bit
      VEX/EVEX vector register clearing instructions with 128-bit VEX vector
      register clearing instructions at -O1.
      
      	* config/tc-i386.c (optimize_encoding): Encode 256-bit/512-bit
      	VEX/EVEX vector register clearing instructions with 128-bit VEX
      	vector register clearing instructions at -O1.
      	* doc/c-i386.texi: Update -O1 and -O2 documentation.
      	* testsuite/gas/i386/i386.exp: Run optimize-1a and
      	x86-64-optimize-2a.
      	* testsuite/gas/i386/optimize-1a.d: New file.
      	* testsuite/gas/i386/x86-64-optimize-2a.d: Likewise.
      99112332
    • Владимир Мартьянов's avatar
      Remove unused variable from windows_make_so · d4cbef22
      Владимир Мартьянов authored
      There is unused variable text_vma in function windows_make_so. This
      leads to build error on Windows using Cygwin.
      
      gdb/ChangeLog:
      2019-03-17  Vladimir Martyanov  <vilgeforce@gmail.com>
      
          PR gdb/24350
          * windows-nat.c (windows_make_so): Remove unused text_vma variable.
      d4cbef22
    • Владимир Мартьянов's avatar
      Fix wrong format specification in display_selector() · fce4c071
      Владимир Мартьянов authored
      There are a wrong format strings in function display_selector() in
      file windows-nat.c. This leads to build error using Cygwin on Windows.
      LDT_ENTRY.HighWord is a DWORD, which is unsigned long int, so the
      format specification should be for long int, not simply int.
      
      gdb/ChangeLog:
      2019-03-17  Vladimir Martyanov  <vilgeforce@gmail.com>
      
          PR gdb/24351
          * windows-nat.c (display_selector): Format specifications fixed
      fce4c071
    • Eli Zaretskii's avatar
      Fix redisplay of the current line in GDB TUI mode · f7f0a123
      Eli Zaretskii authored
      Without this change, when the current line is longer than the source
      window width, redisplaying that line overwrites the window frame and
      also portions of the next line.
      
      gdb/ChangeLog:
      2019-03-17  Eli Zaretskii  <eliz@gnu.org>
      
      	* tui/tui-winsource.c (tui_set_is_exec_point_at): Call
      	tui_refill_source_window instead of tui_refresh_win, to update the
      	current execution line.  This fixes redisplay of the current line
      	when stepping through very long lines with "next" or "step".
      f7f0a123
    • GDB Administrator's avatar
      Automatic date update in version.in · d6dcc55d
      GDB Administrator authored
      d6dcc55d
  3. 16 Mar, 2019 7 commits
    • H.J. Lu's avatar
      x86: Set optimize to INT_MAX for -Os · 41fd2579
      H.J. Lu authored
      Set optimize to INT_MAX, instead of -1, for -Os so that -Os will include
      -O2 optimization.
      
      	PR gas/24353
      	* config/tc-i386.c (md_parse_option): Set optimize to INT_MAX
      	for -Os.
      	* testsuite/gas/i386/optimize-2.s: Add a test.
      	* testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
      	* testsuite/gas/i386/optimize-2.d: Updated.
      	* testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
      41fd2579
    • H.J. Lu's avatar
      x86: Correctly optimize EVEX to 128-bit VEX/EVEX · dd22218c
      H.J. Lu authored
      We can optimize 512-bit EVEX to 128-bit EVEX encoding for upper 16
      vector registers only when AVX512VL is enabled.  We can't optimize
      EVEX to 128-bit VEX encoding when AVX isn't enabled.
      
      	PR gas/24352
      	* config/tc-i386.c (optimize_encoding): Encode 512-bit EVEX
      	with 128-bit VEX encoding only when AVX is enabled and with
      	128-bit EVEX encoding only when AVX512VL is enabled.
      	* testsuite/gas/i386/i386.exp: Run PR gas/24352 tests.
      	* testsuite/gas/i386/optimize-6.s: New file.
      	* testsuite/gas/i386/optimize-6a.d: Likewise.
      	* testsuite/gas/i386/optimize-6b.d: Likewise.
      	* testsuite/gas/i386/optimize-6c.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-7.s: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-7a.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-7b.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-7c.d: Likewise.
      	* testsuite/gas/i386/x86-64-optimize-2.d: Updated.
      dd22218c
    • Eli Zaretskii's avatar
      Fix vertical scrolling of TUI source window · ab42892f
      Eli Zaretskii authored
      gdb/ChangeLog:
      2019-03-16  Eli Zaretskii  <eliz@gnu.org>
      
      	* source-cache.c (source_cache::get_source_lines): Call
      	find_source_lines to initialize s->nlines.  This fixes vertical
      	scrolling of TUI source window when the DOWN arrow is pressed.
      ab42892f
    • Philippe Waroquiers's avatar
    • Eli Zaretskii's avatar
      Revert "Use wclrtoeol in tui_show_source_line" · 798e1c30
      Eli Zaretskii authored
      gdb/ChangeLog:
      2019-03-16  Eli Zaretskii  <eliz@gnu.org>
      
      	* tui/tui-winsource.c (tui_show_source_line): Revert "Use
      	wclrtoeol in tui_show_source_line".  This reverts changes made in
      	commit 4a304592.
      798e1c30
    • Alan Modra's avatar
      PR24337, segfault in _bfd_elf_rela_local_sym, again · 6835821b
      Alan Modra authored
      Reverts commit 1ff31e13, fixing the problem more generally.  There
      are likely other place that will segfault on a NULL section.
      
      	PR 24337
      	* elf.c (_bfd_elf_rela_local_sym): Revert last change.
      	(_bfd_elf_rel_local_sym): Likewise.
      	* elflink.c (elf_link_input_bfd): Use bfd_und_section for
      	section of symbols with unrecognized shndx.
      6835821b
    • GDB Administrator's avatar
      Automatic date update in version.in · fdc01131
      GDB Administrator authored
      fdc01131
  4. 15 Mar, 2019 14 commits
    • Tom Tromey's avatar
      Change minimal_symbol inheritance · eefba3da
      Tom Tromey authored
      This changes struct minimal_symbol to inherit from general_symbol_info
      and updates various macros to cope.
      
      Because MSYMBOL_SET_LANGUAGE and MSYMBOL_SET_NAMES were only used from
      a single spot, this patch removes them in favor of simply inlining
      their definitions.  I consider this to be somewhat cleaner, not least
      because the "phony polymorphism" provided by such macros is not useful
      in practice.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* symtab.h (struct minimal_symbol): Derive from
      	general_symbol_info.
      	(MSYMBOL_VALUE, MSYMBOL_VALUE_RAW_ADDRESS)
      	(MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES)
      	(MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE)
      	(MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME)
      	(MSYMBOL_LINKAGE_NAME, MSYMBOL_DEMANGLED_NAME)
      	(MSYMBOL_SEARCH_NAME): Update.
      	(MSYMBOL_SET_LANGUAGE, MSYMBOL_SET_NAMES): Remove.
      	* solib.c (gdb_bfd_lookup_symbol_from_symtab): Don't use memset.
      	* minsyms.c (minimal_symbol_reader::record_full): Update.
      eefba3da
    • Tom Tromey's avatar
      Use memcpy in minimal_symbol_reader::install · 0de2420c
      Tom Tromey authored
      minimal_symbol_reader::install copies minsyms from the msym_bunch
      objects into the allocated memory.  It seemed better to me to do this
      via memcpy, as that is frequently optimized in libc.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* minsyms.c (minimal_symbol_reader::install): Use memcpy.
      0de2420c
    • Tom Tromey's avatar
      Allocate minimal symbols with malloc · 042d75e4
      Tom Tromey authored
      Currently, minimal symbols are allocated on the per-BFD obstack.
      However, it is also possible for multiple symbol readers to create
      minimal symbols for a given objfile.  In this case, the minimal
      symbols will be reallocated on the obstack, leading to some waste of
      storage.
      
      This is a memory leak, but I think it won't be caught by tools like
      valgrind, because valgrind doesn't know about obstacks.
      
      This patch fixes the problem by using malloc to allocate the storage
      for minimal symbols.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.h (struct objfile_per_bfd_storage) <msymbols>: Now a
      	unique_xmalloc_ptr.
      	(objfile::msymbols_range::begin, objfile::msymbols_range::end):
      	Update.
      	* minsyms.c (lookup_minimal_symbol_by_pc_section)
      	(build_minimal_symbol_hash_tables)
      	(minimal_symbol_reader::install): Update.
      042d75e4
    • Tom Tromey's avatar
      Use htab_up for demangled hash · db92718b
      Tom Tromey authored
      This changes objfile_per_bfd_storage::demangled_names_hash to be an
      htab_up.  This lets us remove some manual management code from the
      objfile_per_bfd_storage destructor.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* symtab.c (create_demangled_names_hash): Update.
      	(symbol_set_names): Update.
      	* objfiles.h (struct objfile_per_bfd_storage)
      	<demangled_names_hash>: Now an htab_up.
      	* objfiles.c (objfile_per_bfd_storage): Simplify.
      db92718b
    • Tom Tromey's avatar
      Simplify per-BFD storage management · d6797f46
      Tom Tromey authored
      There's no reason that the objfile_per_bfd_storage must be allocated
      via bfd_alloc.  This patch changes objfile_per_bfd_storage to be
      managed more simply, via ordinary new and delete; and moves some code
      into its (new) destructor.
      
      While doing this I also noticed an extra initialization of
      language_of_main, and removed it.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.h (struct objfile_per_bfd_storage): Declare
      	destructor.
      	* objfiles.c (objfile_per_bfd_storage::~objfile_per_bfd_storage):
      	New.
      	(get_objfile_bfd_data): Use new.  Don't initialize
      	language_of_main.
      	(free_objfile_per_bfd_storage): Remove.
      	(objfile_bfd_data_free, objfile::~objfile): Use delete.
      d6797f46
    • Tom Tromey's avatar
      Remove minsym termination · 741d7538
      Tom Tromey authored
      I was curious what used the terminating "null" minimal symbol; and
      after looking I could not find anything.  This patch removes
      terminate_minimal_symbol_table and the extra minimal symbol that is
      allocated for it.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* symfile.c (reread_symbols): Update.
      	* objfiles.c (objfile::objfile): Update.
      	* minsyms.h (terminate_minimal_symbol_table): Don't declare.
      	* minsyms.c (lookup_minimal_symbol_by_pc_section): Update
      	comment.
      	(minimal_symbol_reader::install): Update.
      	(terminate_minimal_symbol_table): Remove.
      	* jit.c (jit_object_close_impl): Update.
      741d7538
    • Tom Tromey's avatar
      Remove some unneeded initializations in minimal_symbol_reader · 788c80d1
      Tom Tromey authored
      minimal_symbol_reader::record_full does not need to initialize any
      minsym fields to 0, because that was already done implicitly via the
      use of XCNEW when allocating the msym_bunch.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* minsyms.c (minimal_symbol_reader::record_full): Remove some
      	initializations.
      788c80d1
    • Tom Tromey's avatar
      Use bitset for demangled_hash_languages · 1b7a07cb
      Tom Tromey authored
      I noticed that objfile_per_bfd_storage::demangled_hash_languages is a
      std::vector, which seemed quite large for something that,
      fundamentally, can be represented as a bitset.  This patch
      reimplements it as a std::bitset.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.h (struct objfile_per_bfd_storage)
      	<demangled_hash_languages>: Now a bitset.
      	* minsyms.c (add_minsym_to_demangled_hash_table): Update.
      	(lookup_minimal_symbol): Update.
      1b7a07cb
    • Tom Tromey's avatar
      Slightly simplify minsym creation · 3db066bc
      Tom Tromey authored
      Only one caller of minimal_symbol_reader::record_with_info was using
      the return value, so this patch simplifies this code by having it
      return void and changing that caller to use record_full instead.
      
      gdb/ChangeLog
      2019-03-15  Tom Tromey  <tom@tromey.com>
      
      	* minsyms.h (class minimal_symbol_reader) <record_with_info>:
      	Don't return the symbol.
      	* coffread.c (record_minimal_symbol): Use record_full.
      3db066bc
    • H.J. Lu's avatar
      COFF: Check for symbols defined in discarded section · 2219ae0b
      H.J. Lu authored
      For LTO, a symbol may defined in discarded section.  We should mark it
      as undefined so that LTO plugin will make IR definition available.
      
      	PR ld/24267
      	* coffgen.c (_bfd_coff_section_already_linked): Skip discarded
      	section.
      	* cofflink.c (coff_link_add_symbols): Check for symbols defined
      	in discarded section.
      2219ae0b
    • Nick Clifton's avatar
      Update the documentation describing where the linker will attempt to locate plugins. · 1c82ed74
      Nick Clifton authored
      	PR 24262
      	* ld.texi (-plugin): Correct the path used to locate linker
      	plugins.
      1c82ed74
    • Li Hao's avatar
      Fix a potential illegal memory access whilt parsing an x86 insn. · 1c529385
      Li Hao authored
      	PR 24308
      	* config/tc-i386.c (parse_insn): Check mnemp before using it to
      	determine if a suffix can be trimmed.
      1c529385
    • Alan Modra's avatar
      PR24339, segfault on NULL symbol section · fe3fef62
      Alan Modra authored
      	PR 24339
      	* elflink.c (elf_link_add_object_symbols): Bail out on a local
      	symbol after globals if elf_bad_symtab is not set.
      fe3fef62
    • Alan Modra's avatar
      PR24337, segfault in _bfd_elf_rela_local_sym · 1ff31e13
      Alan Modra authored
      	PR 24337
      	* elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
      	(_bfd_elf_rel_local_sym): Likewise.
      1ff31e13