aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-10-07gdb: Correct the ChageLog entryShahab Vahedi1-1/+1
Becausae of a copy/paste, I've put myself as the author of the following patch which was not true: 6d2d7c5668f gdbserver: Add GNU/Linux support for ARC This change will place the correct date and author in the ChangeLog.
2020-10-07arc: Add support for Linux coredump filesAnton Kolesov5-4/+270
With the implemenations in this patch, ARC gdb can handle coredump related matters. The binutils counter part of this patch has already been pushed [1]. v2 [2]: - arc_linux_collect_gregset: Use "reg <= ARC_LAST_REGNUM" instead of "reg < ARC_LAST_REGNUM" for the condition check of the for-loop. - arc-linux-tdep.c: Use "ARC_LAST_REGNUM < ARRAY_SIZE (...)" instead of "ARC_LAST_REGNUM <= ARRAY_SIZE (...)" for the "asserts". - Use "buf + arc_linux_core_reg_offsets[ARC_ERET_REGNUM]" instead of "buf + REG_OFF (6)". - Fix a few typos/indentation. v3 [3]: - Use gdb_assert_not_reached(text) instead of gdb_assert (!text). - Remove unnecessary braces in the for loop. [1] arc: Add support for ARC HS extra registers in core files https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=2745674244d6aecddcf636475034bdb9c0a6b4a0 [2] First remarks https://sourceware.org/pipermail/gdb-patches/2020-September/171912.html [3] Second remarks https://sourceware.org/pipermail/gdb-patches/2020-October/172302.html gdb/ChangeLog: * arc-linux-tdep.h: New file. * arc-linux-tdep.c (arc_linux_core_reg_offsets, arc_linux_supply_gregset, arc_linux_supply_v2_regset, arc_linux_collect_gregset, arc_linux_collect_v2_regset, arc_linux_gregset, arc_linux_v2_regset, arc_linux_iterate_over_regset_sections, arc_linux_core_read_description): Implement. (arc_linux_init_osabi): Set iterate_over_regset_sections. * arc-tdep.h (ARC_OFFSET_NO_REGISTER): Declare. (arc_gdbarch_features_create): Add. * arc-tdep.c (arc_gdbarch_features_create): Not static anymore.
2020-10-07gdbserver: Add GNU/Linux support for ARCAnton Kolesov4-0/+437
This gdbserver implementation supports ARC ABI v3 and v4 (older ARC ABI versions are not supported by other modern GNU tools or Linux itself). Gdbserver supports inspection of ARC HS registers R30, R58 and R59 - feature that has been added to Linux 4.12. Whether gdbserver build will actually support this feature depends on the version of Linux headers used to build the server. v2 [1]: - Use "this->read_memory ()" instead of "the_target->read_memory ()". - Remove the unnecessary "arch-arc.o:" target from the "Makefile.in". - Got rid of "ntohs()" function and added lots of comments about endianness. - Clarify why "pc" value is read from and saved to different fields in user regs struct. - In function "is_reg_name_available_p()", use a range-based iterator to loop over the registers. - Removed mentioning of issue number that was not related to sourceware. - A few typo's fixed. [1] Remarks https://sourceware.org/pipermail/gdb-patches/2020-September/171911.html https://sourceware.org/pipermail/gdb-patches/2020-September/171919.html gdbserver/ChangeLog: * configure.srv: Support ARC architecture. * Makefile.in: Add linux-arc-low.cc and arch/arc.o. * linux-arc-low.cc: New file.
2020-10-07arc: Rename "arc_gdbarch_features" structShahab Vahedi4-19/+26
"arc_gdbarch_features" is a data structure containing information about the ARC architecture: ISA version, register size, etc. This name is misleading, because although it carries the phrase "gdbarch", it has nothing to do with the type/interface in GDB. Traditionaly, "gdbarch" structures are only used for that purpose. To rectify this, this patch changes the name to "arc_arch_features". gdb/ChangeLog: * arch/arc.h: Rename "arc_gdbarch_features" to "arc_arch_features". * arc-tdep.h: Likewise. * arc-tdep.c: Likewise.
2020-10-07Stop passing netbsd_process_target to local functionsKamil Rytarowski2-22/+29
Switch from target->read_memory to netbsd_nat::read_memory and cleanup the code. No functional change. gdbserver/ChangeLog: * netbsd-low.cc (get_dynamic, get_r_debug, read_one_ptr) (netbsd_qxfer_libraries_svr4): Remove "target" argument and update. (netbsd_process_target::qxfer_libraries_svr4): Update.
2020-10-07gdb/infcmd: remove redundant clear_proceed_status callTankut Baris Aktemur2-1/+5
In `attach_command`, there is a call to `init_wait_for_inferior` followed by a call to `clear_proceed_status`. However, `init_wait_for_inferior` already calls `clear_proceed_status`. Remove the redundant call. Regression-tested on X86_64 Linux. gdb/ChangeLog: 2020-10-07 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> * infcmd.c (attach_command): Remove the redundant call to `clear_proceed_status`.
2020-10-07Correct logical error in NetBSD's read_memory and write_memoryKamil Rytarowski2-2/+6
In case of repeated ptrace PT_IO call and returning the value of transferred bytes equal to 0, do not return without setting xfered_len. gdb/ChangeLog: * nat/netbsd-nat.c (write_memory, read_memory): Update.
2020-10-07Fix whitespace formattingKamil Rytarowski3-7/+12
gdbserver/ChangeLog: * netbsd-low.cc: Fix whitespace formatting. * netbsd-amd64-low.cc: Likewise.
2020-10-07Add common write_memory and read_memory NetBSD routinesKamil Rytarowski6-59/+138
Instead of sharing the native-only code with all BSDs with slightly different semantics of the kernels, share the NetBSD-only behavior beteen the NetBSD native and gdbserver setup. NetBSD does not differentiate the address space I and D in the operations (contrary to OpenBSD). NetBSD handles EACCES that integrates with NetBSD specific PaX MPROTECT error handling. Add a verbose message in the native client that an operation could be cancelled due to PaX MPROTECT setup. gdb/ChangeLog: * nat/netbsd-nat.c (write_memory, read_memory): Add. * nat/netbsd-nat.h (write_memory, read_memory): Likewise. * nbsd-nat.c (nbsd_nat_target::xfer_partial): Update. gdbserver/ChangeLog: * netbsd-low.cc (netbsd_process_target::read_memory) (netbsd_process_target::write_memory): Update.
2020-10-07Add ChangeLog for "Add NetBSD/aarch64 gdbserver support"Kamil Rytarowski1-0/+6
The support is on par with NetBSD/amd64, thus GPR works, single step and software breakpoint are operational, and the SVR4 r_debug integration is functional. gdbserver/ChangeLog: * netbsd-aarch64-low.cc: Add. * Makefile.in (SFILES): Register "netbsd-aarch64-low.c". * configure.srv: Add aarch64*-*-netbsd*.
2020-10-07Add NetBSD/aarch64 gdbserver supportKamil Rytarowski2-0/+119
The support is on par with NetBSD/amd64, thus GPR works, single step and software breakpoint are operational, and the SVR4 r_debug integration is functional. gdbserver/ChangeLog: * netbsd-aarch64-low.cc: Add. * Makefile.in (SFILES): Register "netbsd-aarch64-low.c". * configure.srv: Add aarch64*-*-netbsd*.
2020-10-07gdb: make signal_catch_counts a static arraySimon Marchi2-3/+6
I noticed that signal_catch_counts is a dynamically-allocated array of constant size, allocated at startup an never freed. This might as well be a statically-allocated array. gdb/ChangeLog: * break-catch-sig.c (signal_catch_counts): Make a static arrray. (_initialize_break_catch_sig): Don't allocate array. Change-Id: I220321df5ad6c1d2664ec9d483eea2dc1c979afe
2020-10-06gdb: Fix installation of gcore.1 on some platformsMichael Forney2-0/+6
gcore is installed on NetBSD, FreeBSD, Solaris (HAVE_NATIVE_GCORE_HOST=1) and Linux (HAVE_NATIVE_GCORE_TARGET=1). However, even though gcore.1 is installed conditional on those variables, HAVE_NATIVE_GCORE_HOST was missing from gdb/doc/Makefile.in, so manual installation was skipped on NetBSD, FreeBSD, and Solaris. gdb/doc/ChangeLog: 2020-10-06 Michael Forney <mforney@mforney.org> * Makefile.in (HAVE_NATIVE_GCORE_HOST): Add for gcore.1 install condition. Change-Id: I17c3ce2ecdfb806ece17f05ba78356b25ffa865e
2020-10-07Automatic date update in version.inGDB Administrator1-1/+1
2020-10-06x86: Properly merge -z ibt and -z shstkH.J. Lu15-12/+173
Merge -z ibt and -z shstk only with GNU_PROPERTY_X86_FEATURE_1_AND, not any GNU_PROPERTY_X86_UINT32_AND_XXX properties. bfd/ PR ld/26711 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Merge -z ibt and -z shstk only with GNU_PROPERTY_X86_FEATURE_1_AND. ld/ PR ld/26711 * testsuite/ld-i386/i386.exp: Run ld/26711 tests. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-i386/pr26711-1.d: Likewise. * testsuite/ld-i386/pr26711-2.d: Likewise. * testsuite/ld-i386/pr26711-3.d: Likewise. * testsuite/ld-x86-64/pr26711-1-x32.d: Likewise. * testsuite/ld-x86-64/pr26711-1.d: Likewise. * testsuite/ld-x86-64/pr26711-2-x32.d: Likewise. * testsuite/ld-x86-64/pr26711-2.d: Likewise. * testsuite/ld-x86-64/pr26711-3-x32.d: Likewise. * testsuite/ld-x86-64/pr26711-3.d: Likewise. * testsuite/ld-x86-64/pr26711.s: Likewise.
2020-10-06gdbserver: Remove unused argument in register_data()Shahab Vahedi2-7/+11
The register_data() function in gdbserver/regcache.cc has an input argument called "fetch". This argument is not used by this static function at all. Therefore, it is time to get rid of it. gdbserver/ChangeLog: * regcache.cc (register_data): Remove unused "fetch" argument.
2020-10-06aarch64: Fix bogus type punning in parse_barrier() [PR26699]Alex Coplan4-7/+11
This patch fixes a bogus use of type punning in parse_barrier() which was causing an assembly failure on big endian LP64 hosts when attempting to assemble "isb sy" for AArch64. The type of the entries in aarch64_barrier_opt_hsh is aarch64_name_value_pair. We were incorrectly casting this to the locally-defined asm_barrier_opt which has a wider type (on LP64) for the second member. This happened to work on little-endian hosts but fails on LP64 big endian. The fix is to use the correct type in parse_barrier(). This makes the locally-defined asm_barrier_opt redundant, so remove it. gas/ChangeLog: * config/tc-aarch64.c (asm_barrier_opt): Delete. (parse_barrier): Fix bogus type punning. * testsuite/gas/aarch64/system.d: Update disassembly. * testsuite/gas/aarch64/system.s: Add isb sy test.
2020-10-06Fix a bug in objcopy/strip's ability to merge notes in multiple same-named ↵Nick Clifton2-4/+7
sections. * objcopy.c (copy_object): Compare input and output sections by pointer rather than name.
2020-10-06Fix gdb.base/list.exp with ClangGary Benson3-2/+7
Two subtests of gdb.base/list.exp failed when built with Clang because the unused function "unused" was optimized out. This commit adds __attribute__ ((used)) to both definitions. gdb/testsuite/ChangeLog: * gdb.base/list0.c (unused): Add __attribute__ ((used)). * gdb.base/list1.c (unused): Likewise.
2020-10-06Fix gdb.base/list-ambiguous.exp with ClangGary Benson3-2/+8
The ambiguous variable parts of gdb.base/list-ambiguous.exp failed when built with Clang because the variable in question was unused and was optimized out. This commit adds __attribute__ ((used)) to both definitions. gdb/testsuite/ChangeLog: * gdb.base/list-ambiguous0.c (ambiguous_var): Add __attribute__ ((used)). * gdb.base/list-ambiguous1.c (ambiguous_var): Likewise.
2020-10-06A small set of code improvements for the Z80 assembler.Sergey Belyashav2-7/+33
PR 26692 * config/tc-z80.c (md_begin): Ensure that xpressions are empty before using them. (unify_indexed): Likewise. (z80_start_line_hook): Improve hash sign handling when SDCC compatibility mode enabled. (md_parse_exp_not_indexed): Improve indirect addressing detection. (md_pseudo_table): Accept hd64 as an alias of z810.
2020-10-06sim: Fix autoreconf errors in sim/ directoryAndrew Burgess15-15/+40
Run autoreconf in sim/ directory and you'll see some errors. The problem is that autoreconf (a perl script) does not evaluate the value passed as an argument to AC_CONFIG_AUX_DIR, so something like: AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..) does not do the right thing inside autoreconf, my understanding is that changing to something like this is fine: AC_CONFIG_AUX_DIR(../..) the generated configure seems to check the value passed, and the value passed relative to the source directory, so I think we get basically the same behaviour as before. sim/testsuite/ChangeLog: * configure: Regnerate. * configure.ac (AC_CONFIG_AUX_DIR): Update. sim/testsuite/d10v-elf/ChangeLog: * configure: Regnerate. * configure.ac (AC_CONFIG_AUX_DIR): Update. sim/testsuite/frv-elf/ChangeLog: * configure: Regnerate. * configure.ac (AC_CONFIG_AUX_DIR): Update. sim/testsuite/m32r-elf/ChangeLog: * configure: Regnerate. * configure.ac (AC_CONFIG_AUX_DIR): Update. sim/testsuite/mips64el-elf/ChangeLog: * configure: Regnerate. * configure.ac (AC_CONFIG_AUX_DIR): Update.
2020-10-06gdb: handle unmapped overlays in find_pc_lineAndrew Burgess2-3/+17
I configured and built an m32r-elf toolchain, and ran the gdb.base/overlays.exp test. I saw a couple of errors where GDB would place a breakpoint in the wrong place when placing a breakpoint using a function name, for example in this function: /* 1 */ int foo (int x) /* 2 */ { /* 3 */ if (x) /* 4 */ return some_global_variable; /* 5 */ else /* 6 */ return 0; /* 7 */ } GDB would place the breakpoint on line 2 instead of line 3. The issue is that GDB was failing to skip the prologue correctly. The reason for this is that in m32r-tdep.c:m32r_skip_prologue, we first use find_pc_partial_function to find the functions start and end addresses, then we use find_pc_line to find the start and end of the first line of the function. Currently, if the pc value passed to find_pc_partial_function is in an unmapped overlay then the function start and end addresses that are returned are also the unmapped addresses. However, this is not the case for find_pc_line, here, if the address passed in is in an unmapped overlay then we still get back a symtab_and_line describing the mapped location. What this means is that if a function's mapped location is 0x100 -> 0x120, and its unmapped locations is 0x400 -> 0x420 then we think that the start/end is 0x400 and 0x420 respectively, but the first line might run from 0x100 to 0x108. GDB will then try to scan the prologue starting from 0x400 and ending at 0x108, this immediately gives up as it thinks we have gone past the end of the prologue and the breakpoint is placed at 0x400. In this commit I propose that we change find_pc_line to return addresses in the unmapped range if the address passed in is already in the unmapped range. Now the first line will appear to run from 0x400 to 0x408 and the prologue scanner will correctly find the end of the prologue. With this commit gdb.base/overlays.exp now completely passes with an m32r-elf toolchain. gdb/ChangeLog: * symtab.c (find_pc_line): Return unmapped addresses when the requested address is also unmapped.
2020-10-06gdb/testsuite: allow gdb.base/overlays.exp to compile for m32rAndrew Burgess4-38/+58
The gdb.base/overlays.exp test is only currently supported on m32r baremetal targets, however, when I configure a toolchain for m32r-elf the test does not compile. This commit updates the linker script, fixes some TCL errors in the exp file, and adds some missing includes to the source file so that the test does compile. With this test, when run against an m32r-elf toolchain the test mostly passes, but there are a couple of failures, these are GDB issues and will be addressed in a later commit. gdb/testsuite/ChangeLog: * gdb.base/m32r.ld: Remove SEARCH_DIR line. Add MEMORY regions, make use of regions throughout. * gdb.base/overlays.exp: Enclose string with variableds in "..", not {...}. * gdb.base/ovlymgr.c: Add 'string.h' and 'stdlib.h' includes.
2020-10-06Fix gas sh-link-zero test for hppa64-hpuxAlan Modra2-7/+11
* testsuite/gas/elf/sh-link-zero.s: Don't start directives in first column. Don't use numeric labels.
2020-10-06PR26667, Add powerpc64le-*-freebsd* supportBrandon Bergren12-0/+46
PR 26667 bfd/ * config.bfd: Add powerpc64le-*-freebsd*. * configure.ac: Add powerpc_elf64_fbsd_le_vec. * elf64-ppc.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define for freebsd. * targets.c (powerpc_elf64_fbsd_le_vec): Declare. (_bfd_target_vector): Add it. * configure: Regenerate. ld/ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64lppc_fbsd.c. Include $(DEPDIR)/eelf64lppc_fbsd.Pc. * configure.tgt: Add powerpc64le-*-freebsd*. * emulparams/elf64lppc_fbsd.sh: New file. * Makefile.in: Regenerate. * po/BLD-POTFILES.in: Regenerate.
2020-10-06Automatic date update in version.inGDB Administrator1-1/+1
2020-10-05gdb: sync tui header files in HFILES_NO_SRCDIRSimon Marchi2-1/+6
I noticed that tui/tui-windata.h didn't exist anymore, and that tui/tui-out.h wasn't listed. Fix that. gdb/ChangeLog: * Makefile.in (HFILES_NO_SRCDIR): Remove tui/tui-windata.h, add tui/tui-out.h. Change-Id: Ic75cc68432b90ba5be857a2852ad52dea326fe36
2020-10-05gdb: TYPE_VECTOR -> type::is_vector in amd64-windows-tdep.cSimon Marchi2-1/+6
I get this build failure: CXX amd64-windows-tdep.o cc1plus: warning: command-line option '-Wmissing-prototypes' is valid for C/ObjC but not for C++ /home/smarchi/src/binutils-gdb/gdb/amd64-windows-tdep.c: In function 'return_value_convention amd64_windows_return_value(gdbarch*, value*, type*, regcache*, gdb_byte*, const gdb_byte*)': /home/smarchi/src/binutils-gdb/gdb/amd64-windows-tdep.c:374:6: error: 'TYPE_VECTOR' was not declared in this scope 374 | if (TYPE_VECTOR (type) && len == 16) | ^~~~~~~~~~~ TYPE_VECTOR was removed in favor of the type::is_vector method. gdb/ChangeLog: * amd64-windows-tdep.c (amd64_windows_return_value): Use type::is_vector instead of TYPE_VECTOR. Change-Id: I0ce26c3f7a33625761a8dba351c3158464f21b01
2020-10-05Fix compile time error building windmc, detected by gcc 11.Nick Clifton2-1/+7
PR 26698 * windmc.c (mc_unify_path): Fix typo checking character at end of pathname.
2020-10-05[PATCH][GAS][AArch64] Update Cortex-X1 feature flagsPrzemyslaw Wirkus1-2/+6
This is feature flags update for Cortex-X1 CPU. For more information about this processor, see [0]. [0] : https://www.arm.com/products/cortex-x gas/ChangeLog: 2020-10-05 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * config/tc-aarch64.c: Update Cortex-X1 feature flags.
2020-10-05[PATCH][GAS][arm] Update Cortex-X1 feature flagsPrzemyslaw Wirkus1-1/+1
This is feature flags update for Cortex-X1 CPU. For more information about this processor, see [0]. [0] : https://www.arm.com/products/cortex-x gas/ChangeLog: 2020-10-05 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * config/tc-arm.c: Update Cortex-X1 feature flags.
2020-10-05Add NetBSD AArch64 Little Endian and Big Endian BFD support.Nick Clifton2-2/+6
bfd * config.bfd (aarch64-*-netbsd*, aarch64_be-*-netbsd*): Add target.
2020-10-05Add NetBSD AArch64 GAS support.Kamil Rytarowski2-0/+5
gas * configure.tgt (aarch64*-*-netbsd*): Add target.
2020-10-05Fix spelling mistakesSamanta Navarro11-16/+35
2020-10-05gdb: avoid unnecessary string copy in auto_load_objfile_script_1Simon Marchi2-4/+8
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
2020-10-05i386: Allow non-absolute segment values for lcall/ljmpT.K. Chia18-6/+160
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.
2020-10-05Update the BFD linker so that it deprecates grouped short options.Nick Clifton2-0/+19
* lexsup.c (parse_args): Generate an error or warning message when multiple short options are used together.
2020-10-05Fix function argument and return value locationsHannes Domani5-5/+46
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.
2020-10-05x86-64: Always display suffix for %LQ in 64bitH.J. Lu7-5/+19
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.
2020-10-05x86: Clear modrm if not neededH.J. Lu6-4/+29
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.
2020-10-05Add Luis Machado to AArch64/ARM GDB maintainersAlan Hayward2-0/+7
gdb/ChangeLog: * MAINTAINERS (Responsible Maintainers): Add Luis Machado to AArch64/ARM maintainers.
2020-10-05GAS: Update the .section directive so that a numeric section index can be ↵Nick Clifton11-55/+103
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.
2020-10-05Automatic date update in version.inGDB Administrator1-1/+1
2020-10-04gdb: add doc for "set/show debug event-loop"Simon Marchi4-0/+24
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
2020-10-04gdb/doc: space out list entries, fix one typeSimon Marchi2-1/+39
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
2020-10-04Automatic date update in version.inGDB Administrator1-1/+1
2020-10-03x86: Update register operand check for AddrPrefixOpRegH.J. Lu19-60/+196
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.
2020-10-03Automatic date update in version.inGDB Administrator1-1/+1
2020-10-02Unconditionally use REG_EXTENDEDTom Tromey2-8/+7
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.