1. Oct 05, 2020
    • Kamil Rytarowski's avatar
      Add NetBSD AArch64 GAS support. · cc8b27f8
      Kamil Rytarowski authored
      gas	* configure.tgt (aarch64*-*-netbsd*): Add target.
      cc8b27f8
    • Samanta Navarro's avatar
      Fix spelling mistakes · 0cc79db2
      Samanta Navarro authored
      0cc79db2
    • Simon Marchi's avatar
      gdb: avoid unnecessary string copy in auto_load_objfile_script_1 · 7d144117
      Simon Marchi authored
      Assigning the result of STRIP_DRIVE_SPEC to an std::string creates an
      unnecessary copy of the string.  STRIP_DRIVE_SPEC is defined as:
      
        #define STRIP_DRIVE_SPEC(f) ((f) + 2)
      
      So if it is passed a "const char *", it returns a "const char *".  We
      could use a "const char *" intermediary variable instead of an
      std::string, or (as implemented in this patch) just use it directly in
      the concatenation right after.
      
      gdb/ChangeLog:
      
      	* auto-load.c (auto_load_objfile_script_1): Don't use
      	debugfile_holder as temporary variable when stripping drive
      	letter.
      
      Change-Id: If2ccc7a156b22100754d9cdf6778ac7eeb93da4c
      7d144117
    • T.K. Chia's avatar
      i386: Allow non-absolute segment values for lcall/ljmp · 6d96a594
      T.K. Chia authored
      Allow an unresolved or non-absolute symbol as the segment operand of an
      immediate far jump (`ljmp SEG, OFF') or far call (`lcall SEG, OFF').
      
      gas/
      
      2020-10-05  T.K. Chia  <u1049321969@caramail.com>
      
      	PR gas/26694
      	* NEWS: Updated for i386 lcall and ljmp change.
      	* config/tc-i386.c (output_interseg_jump): Allow non-absolute
      	segment operand for immediate lcall and ljmp.
      	* testsuite/gas/i386/jump.d,
      	* testsuite/gas/i386/jump.s,
      	* testsuite/gas/i386/jump16.d,
      	* testsuite/gas/i386/jump16.e,
      	* testsuite/gas/i386/jump16.s: Add tests for non-absolute
      	segment operand for immediate ljmp.
      
      ld/
      
      2020-10-05  T.K. Chia  <u1049321969@caramail.com>
      
      	PR gas/26694
      	* testsuite/ld-i386/ljmp.s,
      	* testsuite/ld-i386/ljmp1.d,
      	* testsuite/ld-i386/ljmp1.s,
      	* testsuite/ld-i386/ljmp2.d,
      	* testsuite/ld-i386/ljmp2.s,
      	* testsuite/ld-x86-64/ljmp1.d,
      	* testsuite/ld-x86-64/ljmp2.d: New testcases.
      	* testsuite/ld-i386/i386.exp,
      	* testsuite/ld-x86-64/x86-64.exp: Run them.
      6d96a594
    • Nick Clifton's avatar
      Update the BFD linker so that it deprecates grouped short options. · 983d925d
      Nick Clifton authored
      	* lexsup.c (parse_args): Generate an error or warning message when
      	multiple short options are used together.
      983d925d
    • Hannes Domani's avatar
      Fix function argument and return value locations · cd096ec8
      Hannes Domani authored
      Fixes these testsuite fails on Windows:
      FAIL: gdb.base/callfuncs.exp: p t_float_complex_values(fc1, fc2)
      FAIL: gdb.base/callfuncs.exp: p t_float_complex_many_args(fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)
      FAIL: gdb.base/callfuncs.exp: noproto: p t_float_complex_values(fc1, fc2)
      FAIL: gdb.base/callfuncs.exp: noproto: p t_float_complex_many_args(fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)
      FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tld
      FAIL: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tld
      FAIL: gdb.base/call-sc.exp: zed L for return; return call-sc-tld
      FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tld
      FAIL: gdb.base/call-sc.exp: return foo; synchronize pc to main() for 'call-sc-tld'
      FAIL: gdb.base/call-sc.exp: return foo; synchronize pc to main() for 'call-sc-tld'
      FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tld
      FAIL: gdb.base/call-sc.exp: zed L for finish; return call-sc-tld
      FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tld (the program is no longer running)
      FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tld
      
      For function arguments (callfuncs.exp), only TYPE_CODE_COMPLEX was
      missing in the types passed via integer registers.
      
      For return values, there were a lot more issues:
      - TYPE_CODE_DECFLOAT is NOT returned via XMM0.
      - long double is NOT returned via XMM0.
      - but __int128 IS returned via XMM0.
      - the comments for TYPE_CODE_FLT state that __m128, __m128i and __m128d are
        returned by XMM0, and this is correct, but it doesn't actually check for
        them, because they are TYPE_CODE_ARRAY with TYPE_VECTOR
      
      So I had to add TYPE_CODE_DECFLOAT to the arguments passed via XMM register,
      but I had to remove it from the values returned via XMM0 register.
      
      gdb/ChangeLog:
      
      2020-10-05  Hannes Domani  <ssbssa@yahoo.de>
      
      	* amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
      	Add TYPE_CODE_COMPLEX.
      	(amd64_windows_return_value): Fix types returned via XMM0.
      
      gdb/testsuite/ChangeLog:
      
      2020-10-05  Hannes Domani  <ssbssa@yahoo.de>
      
      	* gdb.base/call-sc.c: Fix return struct on stack test case.
      	* gdb.base/call-sc.exp: Likewise.
      cd096ec8
    • H.J. Lu's avatar
      x86-64: Always display suffix for %LQ in 64bit · 5b316d90
      H.J. Lu authored
      In 64bit, assembler generates a warning for "sysret":
      
      $ echo sysret | as --64 -o x.o -
      {standard input}: Assembler messages:
      {standard input}:1: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
      
      Always display suffix for %LQ in 64bit to display "sysretl".
      
      gas/
      
      	PR binutils/26704
      	* testsuite/gas/i386/noreg64-data16.d: Expect sysretl instead of
      	sysret.
      	* testsuite/gas/i386/noreg64.d: Likewise.
      	* testsuite/gas/i386/x86-64-intel64.d: Likewise.
      	* testsuite/gas/i386/x86-64-opcode.d: Likewise.
      
      opcodes/
      
      	PR binutils/26704
      	* i386-dis.c (putop): Always display suffix for %LQ in 64bit.
      5b316d90
    • H.J. Lu's avatar
      x86: Clear modrm if not needed · 0e9f3bf1
      H.J. Lu authored
      The MODRM byte can be checked to display the instruction name only if the
      MODRM byte needed.  Clear modrm if the MODRM byte isn't needed so that
      modrm field checks in putop like, modrm.mod == N with N != 0, can be done
      without checking need_modrm.
      
      gas/
      
      	PR binutils/26705
      	* testsuite/gas/i386/x86-64-suffix.s: Add "mov %rsp,%rbp" before
      	sysretq.
      	* testsuite/gas/i386/x86-64-suffix-intel.d: Updated.
      	* testsuite/gas/i386/x86-64-suffix.d: Likewise.
      
      opcodes/
      
      	PR binutils/26705
      	* i386-dis.c (print_insn): Clear modrm if not needed.
      	(putop): Check need_modrm for modrm.mod != 3.  Don't check
      	need_modrm for modrm.mod == 3.
      0e9f3bf1
    • Alan Hayward's avatar
      Add Luis Machado to AArch64/ARM GDB maintainers · b58e7f72
      Alan Hayward authored
      gdb/ChangeLog:
      
      	* MAINTAINERS (Responsible Maintainers): Add Luis Machado to
      	  AArch64/ARM maintainers.
      b58e7f72
    • Nick Clifton's avatar
      GAS: Update the .section directive so that a numeric section index can be... · b71702f1
      Nick Clifton authored
      GAS: Update the .section directive so that a numeric section index can be provided when the "o" flag is used.
      
      	PR 26253
      gas	* config/obj-elf.c (obj_elf_section): Accept a numeric value for
      	the "o" section flag.  Interpret it as a section index.  Allow an
      	index of zero.
      	* doc/as.texi: Document the new behaviour.
      	* NEWS: Mention the new feature.  Tidy entries.
      	* testsuite/gas/elf/sh-link-zero.s: New test.
      	* testsuite/gas/elf/sh-link-zero.d: New test driver.
      	* testsuite/gas/elf/elf.exp: Run the new test.
      	* testsuite/gas/elf/section21.l: Updated expected assembler
      	output.
      
      bfd	* elf.c (_bfd_elf_setup_sections): Do not complain about an
      	sh_link value of zero when the SLF_LINK_ORDER flag is set.
      	(assign_section_numbers): Likewise.
      b71702f1
    • GDB Administrator's avatar
      Automatic date update in version.in · 1ba06555
      GDB Administrator authored
      1ba06555
    • Simon Marchi's avatar
      gdb: add doc for "set/show debug event-loop" · 8d378f27
      Simon Marchi authored
      I forgot that "set/show debug" commands are listed in the doc and in
      NEWS, so here they are.
      
      gdb/doc/ChangeLog:
      
      	* gdb.texinfo (Debugging Output): Add set/show debug event-loop.
      
      gdb/ChangeLog:
      
      	* NEWS: Mention set/show debug event-loop.
      
      Change-Id: If30b80177049006578280a06912ee2b97bd03a75
      8d378f27
    • Simon Marchi's avatar
      gdb/doc: space out list entries, fix one type · 7b085b1c
      Simon Marchi authored
      I want to add an item to this list, but it's so packed I have trouble
      finding where one item ends and the next starts.  Add a few empty lines
      to make it a bit more readable.
      
      Doing this, I also noticed that an "aix-thread" should in fact be
      "aix-solib".
      
      gdb/doc/ChangeLog:
      
      	* gdb.texinfo (Debugging Output): Add empty lines, fix typo.
      
      Change-Id: I7ef211f9e3988cfbc6ec94124d23a5f2412f3c82
      7b085b1c
  2. Oct 04, 2020
  3. Oct 03, 2020
    • H.J. Lu's avatar
      x86: Update register operand check for AddrPrefixOpReg · b3a3496f
      H.J. Lu authored
      When the address size prefix applies to both the memory and the register
      operand, we need to extract the address size prefix from the register
      operand if the memory operand has no real registers, like symbol, DISP
      or symbol(%rip).
      
      NB: GCC always generates symbol(%rip) for RIP-relative addressing for
      both x32 and x86-64.
      
      Move the .code16 tests in movdir.s to movdir-16bit to show the correct
      output from objdump.
      
      	PR gas/26685
      	* config/tc-i386.c (process_suffix): Also check the register
      	operand for the address size prefix if the memory operand has
      	no real registers.
      	* testsuite/gas/i386/enqcmd-16bit.d: New file.
      	* testsuite/gas/i386/enqcmd-16bit.s: Likewise.
      	* testsuite/gas/i386/movdir-16bit.d: Likewise.
      	* testsuite/gas/i386/movdir-16bit.s: Likewise.
      	* testsuite/gas/i386/enqcmd.s: Add tests with symbol and DISP.
      	* testsuite/gas/i386/x86-64-enqcmd.s: Likewise.
      	* testsuite/gas/i386/x86-64-movdir.s: Likewise.
      	* testsuite/gas/i386/movdir.s: Add tests with symbol and DISP.
      	Remove the .code16 test.
      	* testsuite/gas/i386/i386.exp: Run movdir-16bit and enqcmd-16bit.
      	* testsuite/gas/i386/x86-64-enqcmd-intel.d: Updated.
      	* testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
      	* testsuite/gas/i386/x86-64-movdir-intel.d: Likewise.
      	* testsuite/gas/i386/x86-64-movdir.d: Likewise.
      	* testsuite/gas/i386/enqcmd-intel.d: Likewise.
      	* testsuite/gas/i386/enqcmd.d: Likewise.
      	* testsuite/gas/i386/movdir-intel.d: Likewise.
      	* testsuite/gas/i386/movdir.d: Likewise.
      	* testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise.
      	* testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
      	* testsuite/gas/i386/x86-64-movdir-intel.d: Likewise.
      	* testsuite/gas/i386/x86-64-movdir.d: Likewise.
      b3a3496f
    • GDB Administrator's avatar
      Automatic date update in version.in · 1fa1262d
      GDB Administrator authored
      1fa1262d
    • Tom Tromey's avatar
      Unconditionally use REG_EXTENDED · d5519913
      Tom Tromey authored
      skip.c checks whether REG_EXTENDED is defined -- but this should
      always be available, and is used unconditionally in other parts of
      gdb.  This patch removes this check, then further simplifies this
      code, removing a declaration and a repeated assertion.
      
      2020-10-02  Tom Tromey  <tromey@adacore.com>
      
      	* skip.c (skiplist_entry::skiplist_entry): Unconditionally use
      	REG_EXTENDED.
      d5519913
    • Przemyslaw Wirkus's avatar
      arm: add support for Cortex-A78 and Cortex-A78AE · 42c36b73
      Przemyslaw Wirkus authored
      bfd/ChangeLog:
      
      2020-09-30  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
      
      	* cpu-arm.c: Add cortex-a78 and cortex-a78ae.
      
      gas/ChangeLog:
      
      2020-09-30  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
      
      	* config/tc-arm.c: Add cortex-a78 and cortex-a78ae cores.
      	* doc/c-arm.texi: Update docs.
      	* NEWS: Update news.
      	* testsuite/gas/arm/cpu-cortex-a78.d: New test.
      	* testsuite/gas/arm/cpu-cortex-a78ae.d: New test.
      42c36b73
    • Simon Marchi's avatar
      gdb: fix some inferior_created observer signatures · 18b67edc
      Simon Marchi authored
      I just noticed that in a7aba266 ("gdb: remove arguments from
      inferior_created observable"), I forgot to update
      aix_thread_inferior_created and procfs_inferior_created, which are in
      files I can't compile.
      
      Remove the parameters from aix_thread_inferior_created.  And simply
      remove procfs_inferior_created, since it's empty anyway.
      
      gdb/ChangeLog:
      
      	* aix-thread.c (aix_thread_inferior_created): Remove parameters.
      	* procfs.c (procfs_inferior_created): Remove.
      	(_initialize_procfs): Don't register procfs_inferior_created.
      
      Change-Id: Ifc7def7c096332033b5d466d32cb873d1df18c2c
      18b67edc
    • Simon Marchi's avatar
      gdb: add debug prints in event loop · 6b01403b
      Simon Marchi authored
      Add debug printouts about event loop-related events:
      
       - When a file descriptor handler gets invoked
       - When an async event/signal handler gets invoked
      
      gdb/ChangeLog:
      
      	* async-event.c (invoke_async_signal_handlers): Add debug
      	print.
      	(check_async_event_handlers): Likewise.
      	* event-top.c (show_debug_event_loop): New function.
      	(_initialize_event_top): Register "set debug event-loop"
      	setting.
      
      gdbserver/ChangeLog:
      
      	* server.cc (handle_monitor_command): Handle "set
      	debug-event-loop".
      	(captured_main): Handle "--debug-event-loop".
      	(monitor_show_help): Mention new setting.
      	(gdbserver_usage): Mention new flag.
      
      gdbsupport/ChangeLog:
      
      	* event-loop.h (debug_event_loop): New variable declaration.
      	(event_loop_debug_printf_1): New function declaration.
      	(event_loop_debug_printf): New macro.
      	* event-loop.cc (debug_event_loop): New variable.
      	(handle_file_event): Add debug print.
      	(event_loop_debug_printf_1): New function.
      
      Change-Id: If78ed3a69179881368e7895b42940ce13b6a1a05
      6b01403b
    • Simon Marchi's avatar
      gdb: move debug_prefixed_vprintf here · ba988419
      Simon Marchi authored
      The following patch needs to output debug prints from gdbsupport code.
      Move debug_prefixed_vprintf so that it is possible to use it from
      gdbsupport.
      
      gdb/ChangeLog:
      
      	* debug.c (debug_prefixed_vprintf): Move to gdbsupport.
      	* debug.h: Remove.
      	* infrun.c: Include gdbsupport/common-debug.h.
      	* linux-nat.c: Likewise.
      
      gdbsupport/ChangeLog:
      
      	* common-debug.cc (debug_prefixed_vprintf): Move here.
      	* common-debug.h (debug_prefixed_vprintf): Move here.
      
      Change-Id: I5170065fc10a7a49c0f1bba67c691decb2cf3bcb
      ba988419
    • Simon Marchi's avatar
      gdb: give names to async event/signal handlers · db20ebdf
      Simon Marchi authored
      Assign names to async event/signal handlers.  They will be used in debug
      messages when file handlers are invoked.
      
      Unlike in the previous patch, the names are not copied in the structure,
      since we don't need to (all names are string literals for the moment).
      
      gdb/ChangeLog:
      
      	* async-event.h (create_async_signal_handler): Add name
      	parameter.
      	(create_async_event_handler): Likewise.
      	* async-event.c (struct async_signal_handler) <name>: New field.
      	(struct async_event_handler) <name>: New field.
      	(create_async_signal_handler): Assign name.
      	(create_async_event_handler): Assign name.
      	* event-top.c (async_init_signals): Pass name when creating
      	handler.
      	* infrun.c (_initialize_infrun): Likewise.
      	* record-btrace.c (record_btrace_push_target): Likewise.
      	* record-full.c (record_full_open): Likewise.
      	* remote-notif.c (remote_notif_state_allocate): Likewise.
      	* remote.c (remote_target::open_1): Likewise.
      	* tui/tui-win.c (tui_initialize_win): Likewise.
      
      Change-Id: Icd9d9f775542ae5fc2cd148c12f481e7885936d5
      db20ebdf
    • Simon Marchi's avatar
      gdb: give names to event loop file handlers · 2554f6f5
      Simon Marchi authored
      Assign names to event loop file handlers.  They will be used in debug
      messages when file handlers are invoked.
      
      In GDB, each UI used to get its own unique number, until commit
      cbe25684 ("Remove ui::num").  Re-introduce this field, and use it to
      make a unique name for the handler.
      
      I'm not too sure what goes on in ser-base.c, all I know is that it's
      what is used when debugging remotely.  I've just named the main handler
      "serial".  It would be good to have unique names there too.  For instance
      when debugging with two different remote connections, we'd ideally want
      the handlers to have unique names.  I didn't do it in this patch though.
      
      gdb/ChangeLog:
      
      	* async-event.c (initialize_async_signal_handlers): Pass name to
      	add_file_handler
      	* event-top.c (ui_register_input_event_handler): Likewise.
      	* linux-nat.c (linux_nat_target::async): Likewise.
      	* run-on-main-thread.c (_initialize_run_on_main_thread):
      	Likewise
      	* ser-base.c (reschedule): Likewise.
      	(ser_base_async): Likewise.
      	* tui/tui-io.c: Likewise.
      	* top.h (struct ui) <num>: New field.
      	* top.c (highest_ui_num): New variable.
      	(ui::ui): Initialize num.
      
      gdbserver/ChangeLog:
      
      	* linux-low.cc (linux_process_target::async): Pass name to
      	add_file_handler.
      	* remote-utils.cc (handle_accept_event): Likewise.
      	(remote_open): Likewise.
      
      gdbsupport/ChangeLog:
      
      	* event-loop.h (add_file_handler): Add "name" parameter.
      	* event-loop.cc (struct file_handler) <name>: New field.
      	(create_file_handler): Add "name" parameter, assign it to file
      	handler.
      	(add_file_handler): Add "name" parameter.
      
      Change-Id: I9f1545f73888ebb6778eb653a618ca44d105f92c
      2554f6f5
  4. Oct 02, 2020
    • Simon Marchi's avatar
      gdb: remove arguments from inferior_created observable · a7aba266
      Simon Marchi authored
      I noticed that non of the listeners of the inferior_created observable
      used either of the arguments.  Remove them.  This in turn allows
      removing the target parameter of post_create_inferior.
      
      Tested only by rebuilding.
      
      gdb/ChangeLog:
      
      	* observable.h <inferior_created>: Remove parameters.  Update all
      	listeners.
      	* inferior.h (post_create_inferior): Remove target parameter.
      	Update all callers.
      
      Change-Id: I8944cefdc4447ed5347dc927b75abf1e7a0e27e6
      a7aba266
    • Gary Benson's avatar
      Fix spelling mistake in gdb/testsuite/README. · 3ee6f75d
      Gary Benson authored
      This commit corrects the spelling mistake detailed below.
      
      gdb/testsuite/ChangeLog:
      
      	* README: Fix "paralell".
      3ee6f75d
    • Nick Clifton's avatar
      Fix the mve-vcvtne-it assembler test for the arm-*-pe targets. · 7bd766cc
      Nick Clifton authored
      	* testsuite/gas/arm/mve-vcvtne-it.d: Allow for padding inserted by
      	PE based targets.
      7bd766cc
    • H.J. Lu's avatar
      Allow note sections to be discarded when they are linked to another discarded secction. · 7026832e
      H.J. Lu authored
      	PR 26681
      bfd	* elflink.c (bfd_elf_gc_sections): Do not arbitrarily keep note
      	sections which are linked to another section.
      
      ld	* testsuite/ld-elf/pr26681.s: New test.
      	* testsuite/ld-elf/pr26681.d: New test driver.
      	* testsuite/ld-elf/pr26681.l: New test output.
      7026832e
    • nitachra's avatar
      DWARFv5: Handle DW_MACRO_define_strx and DW_MACRO_undef_strx macro entries. · 048fde1e
      nitachra authored
      GDB complaints "During symbol reading: unrecognized DW_MACFINO
      opcode 0xb" with the testcase given below. Clang is emitting
      DW_MACRO_define_strx and DW_MACRO_undef_strx entries in .debug_macro
      section which are not supported in GDB. This patch handles them.
      
      DW_MACRO_define_strx and DW_MACRO_undef_strx are added in DWARFv5.
      They have two operands. The first operand encodes the line number of
      the #define or #undef macro directive. The second operand identifies
      a string; it is represented using an unsigned LEB128 encoded value,
      which is interpreted as a zero-based index into an array of offsets
      in the .debug_str_offsets section. This is as per the section 6.3.2.1
      of Dwarf Debugging Information Format Version 5.
      
      Test case used:
       #define MAX_SIZE 10
      int main(void)
      {
         int size = 0;
         size = size + MAX_SIZE;
      
         printf("\n The value of size is [%d]\n",size);
      
         return 0;
      }
      
      clang -gdwarf-5 -fdebug-macro  macro.c -o macro.out
      
      Before the patch:
      
      gdb/new_gdb/binutils-gdb/build/bin/gdb -q macro.out -ex "set complaints 1" -ex "start"
      Reading symbols from macro.out...
      During symbol reading: unrecognized DW_MACFINO opcode 0xb
      Temporary breakpoint 1 at 0x4004df: file macro.c, line 7.
      Starting program: /home/nitika/workspace/macro.out
      
      Temporary breakpoint 1, main () at macro.c:7
      7          int size = 0;
      (gdb)
      
      Tested by running the testsuite before and after the patch with
       -gdwarf-5 and there is no increase in the number of test cases
      that fails. Used clang 11.0.0.
      
      gdb/ChangeLog:
      
      	* dwarf2/macro.c (dwarf_decode_macro_bytes): Handle DW_MACRO_define_strx
      	and DW_MACRO_undef_strx.
      	(dwarf_decode_macros): Likewise
      	* dwarf2/read.c (dwarf_decode_macros): Pass str_offsets_base in the parameters
      	which is the value of DW_AT_str_offsets_base.
      	* dwarf2/macro.h (dwarf_decode_macros): Modify the definition to include
      	str_offsets_base.
      048fde1e
    • GDB Administrator's avatar
      Automatic date update in version.in · 71a74ee7
      GDB Administrator authored
      71a74ee7
    • Kamil Rytarowski's avatar
      Fix the i386 build · 064280be
      Kamil Rytarowski authored
      Remove old, no longer needed and no longer valid extern.
      
      ../../gdb/i386-nbsd-tdep.c:58:12: error: 'i386nbsd_sc_reg_offset' was declared 'extern' and later 'static' [-fpermissive]
         58 | static int i386nbsd_sc_reg_offset[] =
            |            ^~~~~~~~~~~~~~~~~~~~~~
      In file included from ../../gdb/i386-nbsd-tdep.c:31:
      ../../gdb/i386-tdep.h:480:12: note: previous declaration of 'i386nbsd_sc_reg_offset'
        480 | extern int i386nbsd_sc_reg_offset[];
            |            ^~~~~~~~~~~~~~~~~~~~~~
      
      gdb/ChangeLog:
      
      	* i386-tdep.h (i386nbsd_sc_reg_offset): Remove.
      064280be
    • Kamil Rytarowski's avatar
      Remove the old sanity check of sigcontext offsets for NetBSD/i386 · 6ff33035
      Kamil Rytarowski authored
      NetBSD switched to ucontext, back in 2003 and the sigcontext code
      is no longer available for users, except for legacy compat layers.
      
      This code was not available anyway as the pre-processor check
      was probably never operational and buildable on NetBSD. The code
      inside it does not compile.
      
      Meanwhile, move the offset variable into the ifdef goards and avoid
      the error about unused variable.
      
      ../../gdb/i386-bsd-nat.c: In function 'void _initialize_i386bsd_nat()':
      ../../gdb/i386-bsd-nat.c:347:7: error: unused variable 'offset' [-Werror=unused-variable]
        347 |   int offset;
            |       ^~~~~~
      cc1plus: all warnings being treated as errors
      
      gdb/ChangeLog:
      
      	* i386-bsd-nat.c (_initialize_i386bsd_nat): Update.
      	* i386-nbsd-tdep.c (i386nbsd_sc_reg_offset): Now static.
      6ff33035
    • Kamil Rytarowski's avatar
      Add NetBSD/i386 gdbserver support · 8b667fae
      Kamil Rytarowski authored
      The support is on part with NetBSD/amd64, thus GPR works,
      single step and software breakpoint are operational, and the
      SVR4 r_debug integration is functional.
      
      gdbserver/ChangeLog:
      
      	* netbsd-i386-low.cc: Add.
      	* Makefile.in (SFILES): Register "netbsd-i386-low.c".
      	* configure.srv: Add i[34567]86-*-netbsd*.
      8b667fae
    • Kamil Rytarowski's avatar
      Refactor the NetBSD amd64 gdbserver support · 15397b0e
      Kamil Rytarowski authored
      Replace the pre-C++ construct of netbsd_target_ops, netbsd_regset_info
      and netbsd_tdesc with C++ inheritance approach found in the Linux
      gdbserver code. Add netbsd_amd64_target, that inherits from the
      netbsd_process_target class and add proper singleton object for
      the_netbsd_target, initialized from netbsd_amd64_target.
      
      Call low_arch_setup () on post process creation, which sets machine
      specific properties of the traced process.
      
      Remove global singleton the_netbsd_target object from the generic
      gdbserver code.
      
      This refactoring introduces no functional change from the end-user
      point of view.
      
      gdbserver/ChangeLog:
      
      	* netbsd-amd64-low.cc (netbsd_x86_64_arch_setup): Remove.
      	(netbsd_target_regsets): Now const.
      	(the_low_target): Remove.
      	(class netbsd_amd64_target, the_netbsd_amd64_target)
      	(the_netbsd_target): Add.
      	* netbsd-low.cc (netbsd_process_target::post_create_inferior): Call
      	low_arch_setup ().
      	(netbsd_process_target::fetch_registers)
      	(netbsd_process_target::store_registers, initialize_low): Update.
      	(the_netbsd_target): Remove.
      	* netbsd-low.h (netbsd_target_regsets, netbsd_target_ops)
      	(the_low_target, netbsd_tdesc): Remove.
      	(netbsd_process_target::get_regs_info)
      	(netbsd_process_target::low_arch_setup): Add.
      15397b0e
    • Kamil Rytarowski's avatar
      Preinitialize the sockaddr_un variable to zero · e2a2a24a
      Kamil Rytarowski authored
      Don't pass random sun_len for the BSD's,
      zero the whole structure as recommended for portability.
      
      Reported by Coverity.
      
      gdbsupport/ChangeLog:
      
      	* agent.cc (gdb_connect_sync_socket): Preinitialize addr with zeros.
      e2a2a24a
    • Kamil Rytarowski's avatar
      Include the x86-bsd-nat.h header and fix the NetBSD/i386 build · 1eb6eb79
      Kamil Rytarowski authored
      In file included from ../../gdb/i386-nbsd-nat.c:26:
      ../../gdb/i386-bsd-nat.h:34:53: error: expected template-name before '<' token
         34 | class i386_bsd_nat_target : public x86bsd_nat_target<BaseTarget>
            |                                                     ^
      ../../gdb/i386-bsd-nat.h:34:53: error: expected '{' before '<' token
      ../../gdb/i386-nbsd-nat.c:74:45: error: aggregate 'i386_bsd_nat_target<nbsd_nat_target> the_i386_nbsd_nat_target' has incomplete type and cannot be defined
         74 | static i386_bsd_nat_target<nbsd_nat_target> the_i386_nbsd_nat_target;
            |                                             ^~~~~~~~~~~~~~~~~~~~~~~~
      
      gdb/ChangeLog:
      
      	* i386-bsd-nat.c: Include "x86-bsd-nat.h".
      1eb6eb79
  5. Oct 01, 2020
    • Nick Clifton's avatar
      Add new directive to GAS: .attach_to_group. · 642f545a
      Nick Clifton authored
      	* config/obj-elf (elf_pseudo_table): Add attach_to_group.
              (obj_elf_attach_to_group): New function.
              * doc/as.texi: Document the new directive.
      	* NEWS: Mention the new feature.
              * testsuite/gas/elf/attach-1.s: New test.
              * testsuite/gas/elf/attach-1.d: New test driver.
              * testsuite/gas/elf/attach-2.s: New test.
              * testsuite/gas/elf/attach-2.d: New test driver.
              * testsuite/gas/elf/attach-err.s: New test.
              * testsuite/gas/elf/attach-err.d: New test driver.
              * testsuite/gas/elf/attach-err.err: New test error output.
              * testsuite/gas/elf/elf.exp: Run the new tests.
      642f545a
    • GDB Administrator's avatar
      Automatic date update in version.in · 1f22ee1f
      GDB Administrator authored
      1f22ee1f
    • H.J. Lu's avatar
      x86: Check register operand for AddrPrefixOpReg · 27f13469
      H.J. Lu authored
      If the address prefix changes the register operand, we need to check the
      register operand when the memory operand is RIP-relative.
      
      	PR gas/26685
      	* config/tc-i386.c (process_suffix): Check the register operand
      	for the address size prefix if the memory operand is symbol(%rip).
      	* testsuite/gas/i386/x86-64-enqcmd.s: Add tests with RIP-relative
      	addressing.
      	* testsuite/gas/i386/x86-64-movdir.s: Likewise.
      	* testsuite/gas/i386/x86-64-enqcmd-intel.d: Updated.
      	* testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
      	* testsuite/gas/i386/x86-64-movdir-intel.d: Likewise.
      	* testsuite/gas/i386/x86-64-movdir.d: Likewise.
      27f13469
    • Tom de Vries's avatar
      [gdb] Fix regression in dwarf2_name · 95eb9e54
      Tom de Vries authored
      Since commit 2c830f54 "Change some uses of DW_STRING to string method" we
      have these regressions:
      ...
      FAIL: gdb.base/info-types-c++.exp: info types
      FAIL: gdb.cp/anon-struct.exp: print type of t::t
      FAIL: gdb.cp/anon-struct.exp: print type of X::t2
      FAIL: gdb.cp/anon-struct.exp: print type of X::t2::t2
      FAIL: gdb.cp/anon-struct.exp: print type of t3::~t3
      ...
      
      Fix these in dwarf2_name by updating attr_name each time attr is updated.
      
      Tested on x86_64-linux.
      
      gdb/ChangeLog:
      
      2020-09-30  Tom de Vries  <tdevries@suse.de>
      
      	PR symtab/26683
      	* dwarf2/read.c (dwarf2_name): Update attr_name after attr is updated.
      95eb9e54
  6. Sep 30, 2020
    • Tom Tromey's avatar
      Fix regression in variant part handling · cae21f8e
      Tom Tromey authored
      My series to change DWARF attribute handling to be type-safe
      introduced a regression in gdb.ada/variant.exp.  handle_variant was
      using as_unsigned on an attribute with DW_FORM_sdata.  This patch
      changes it to use constant_value instead.
      
      2020-09-30  Tom Tromey  <tromey@adacore.com>
      
      	* dwarf2/read.c (handle_variant): Use constant_value.
      cae21f8e