aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-04-15sim frv: Add a missing return value for frvbf_check_acc_range.John Baldwin2-1/+5
Claim that the accumulator indices are out of range without raising an exception if the CPU doesn't support media instructions. sim/frv/ChangeLog: * traps.c (frvbf_check_acc_range): Add missing return value.
2021-04-15sim: Add SIM_EXTRA_CFLAGS after CSEARCH.John Baldwin2-4/+9
The bfin sim adds include paths for the SDL libraries. These include paths might include headers for different version of binutils. Move SIM_EXTRA_CFLAGS after CSEARCH to ensure local includes are always preferred to external includes. sim/common/ChangeLog: * Make-common.in (CONFIG_CFLAGS): Remove SIM_EXTRA_CFLAGS. (ALL_CLAGS, COMMON_DEP_CFLAGS): Add SIM_EXTRA_CFLAGS after CSEARCH.
2021-04-15gdb fbsd-nat: Use new-style debug macrosJohn Baldwin2-35/+28
gdb/ChangeLog: * fbsd-nat.c (fbsd_lwp_debug_printf, fbsd_nat_debug_printf): New, use throughout file.
2021-04-15gdb/testsuite: don't include paths in test namesAndrew Burgess2-1/+7
Give a test a proper name in order to avoid including a path in the test name. gdb/testsuite/ChangeLog: * gdb.python/py-parameter.exp: Give a test a proper name to avoid including a path in the test name.
2021-04-15gdb/testsuite: use foreach_with_prefix in gdb.threads/fork-plus-threads.expSimon Marchi2-6/+8
I noticed that using foreach_with_prefix could make things a bit less verbose. No changes in behavior expected. gdb/testsuite/ChangeLog: * gdb.threads/fork-plus-threads.exp: Use foreach_with_prefix. Change-Id: I06aa6e3d10a9cfb6ada11547aefe8c70b636ac81
2021-04-15Avoid crash in Ada value printing with optimized-out arrayTom Tromey4-2/+45
The Ada value-printing code could crash when printing an array which had been optimized out. The crash is difficult to reproduce, but I did manage to write a test that at least shows that the previous behavior was incorrect -- before the patch, the array is printed as if it is valid and every value is 0. gdb/ChangeLog 2021-04-15 Tom Tromey <tromey@adacore.com> * ada-valprint.c (ada_value_print_array): Handle optimized-out arrays. gdb/testsuite/ChangeLog 2021-04-15 Tom Tromey <tromey@adacore.com> * gdb.dwarf2/arr-stride.exp: Add test.
2021-04-15Use common_val_print_checked in print_variable_and_valueTom Tromey2-1/+6
GDB was crashing in "bt full" for a large Ada program. I tracked this down to a combination of bugs. The first bug, fixed here, is that print_variable_and_value calls common_val_print. Normally only the value-printing implementation should call this; from the top level, common_val_print_checked is preferred, because it correctly handles values that are wholly optimized out. I wasn't able to write a test case for this. gdb/ChangeLog 2021-04-15 Tom Tromey <tromey@adacore.com> * printcmd.c (print_variable_and_value): Use common_val_print_checked.
2021-04-15Use block_symbol in var_value_operationTom Tromey15-70/+122
I noticed that var_value_operation takes a block and a symbol, and most callers destructure a block_symbol to pass in. It seems better for this class to simply hold a block_symbol instead. Tested on x86-64 Fedora 32. gdb/ChangeLog 2021-04-15 Tom Tromey <tromey@adacore.com> * rust-exp.y (rust_parser::convert_ast_to_expression): Update. * parse.c (parser_state::push_symbol, parser_state::push_dollar): Update. * p-exp.y (variable): Update. * m2-exp.y (variable): Update. * go-exp.y (variable): Update. * expprint.c (dump_for_expression): New overload. * expop.h (check_objfile): New overload. (check_constant): New overload. (class var_value_operation): Use block_symbol. <get_symbol>: Rewrite. * eval.c (var_value_operation::evaluate) (var_value_operation::evaluate_funcall) (var_value_operation::evaluate_for_address) (var_value_operation::evaluate_for_address) (var_value_operation::evaluate_with_coercion) (var_value_operation::evaluate_for_sizeof) (var_value_operation::evaluate_for_cast): Update. * d-exp.y (PrimaryExpression): Update. * c-exp.y (variable): Update. * ax-gdb.c (var_value_operation::do_generate_ax): Update. * ada-lang.c (ada_var_value_operation::evaluate_for_cast) (ada_var_value_operation::evaluate) (ada_var_value_operation::resolve) (ada_funcall_operation::resolve): Update. * ada-exp.y (write_var_from_sym, write_object_renaming) (write_ambiguous_var, write_var_or_type, write_name_assoc) (maybe_overload): Update. * ada-exp.h (class ada_var_value_operation) <get_block>: Rewrite.
2021-04-16PR27734, get_stat_atime_ns/get_stat_mtime_ns might not use parameterPekka Seppänen2-2/+8
PR 27725 * rename.c (get_stat_atime_ns): Add ATTRIBUTE_UNUSED. (get_stat_mtime_ns): Likewise.
2021-04-15gdb: add "set startup-quietly" commandTom Tromey9-0/+117
This adds a new command to change GDB to behave as though "-quiet" were always given. This new command can be added to the gdbearlyinit file to affect future GDB sessions. gdb/ChangeLog: * NEWS: Add entry. * main.c (captured_main_1): Call check_quiet_mode. * top.c (startup_quiet): New global. (check_quiet_mode): New function. (show_startup_quiet): New function. (init_main): Register new command. * top.h (check_quiet_mode): Declare. gdb/doc/ChangeLog: * gdb.texinfo (Mode Options): Mention "set startup-quietly". gdb/testsuite/ChangeLog: * gdb.base/startup-file.exp: Add more tests.
2021-04-15gdb: process early initialization files and command line optionsAndrew Burgess12-11/+357
Adds the ability to process commands at a new phase during GDB's startup. This phase is earlier than the current initialisation file processing, before GDB has produced any output. The number of commands that can be processed at this early stage will be limited, and it is expected that the only commands that would be processed at this stage will relate to some of the fundamentals of how GDB starts up. Currently the only commands that it makes sense to add to this early initialization file are those like 'set style version ....' as the version string is displayed during startup before the standard initialization files are parsed. As such this commit fully resolved bug cli/25956. This commit adds a mechanism to execute these early initialization files from a users HOME directory, as well as some corresponding command line flags for GDB. The early initialization files that GDB will currently check for are ~/.config/gdb/gdbearlyinit (on Linux like systems) or ~/.gdbearlyinit if the former is not found. The output of 'gdb --help' has been extended to include a list of the early initialization files being processed. gdb/ChangeLog: PR cli/25956 * NEWS: Mention new early init files and command line options. * config.in: Regenerate. * configure: Regenerate. * configure.ac: Define GDBEARLYINIT. * main.c (get_earlyinit_files): New function. (enum cmdarg_kind): Add CMDARG_EARLYINIT_FILE and CMDARG_EARLYINIT_COMMAND. (captured_main_1): Add support for new command line flags, and for processing startup files. (print_gdb_help): Include startup files in the output. gdb/doc/ChangeLog: PR cli/25956 * gdb.texinfo (File Options): Mention new command line options. (Startup): Discuss when early init files are processed. (Initialization Files): Add description of early init files. (Output Styling): Update description of 'version' style. (gdb man): Mention early init files. gdb/testsuite/ChangeLog: PR cli/25956 * gdb.base/early-init-file.c: New file. * gdb.base/early-init-file.exp: New file. * lib/gdb-utils.exp (style): Handle style 'none'.
2021-04-15gdb: refactor the initialization file lookup codeAndrew Burgess2-63/+132
In preparation for the next patch, which adds startup files, this commit refactors the code for looking up the initialization files so that the code can be more easily reused in the next commit. There should be no user visible changes after this commit. gdb/ChangeLog: * main.c (relocate_gdbinit_path_maybe_in_datadir): Rename to... (relocate_file_path_maybe_in_datadir): ...this. (class gdb_initfile_finder): New class. (get_init_files): Now uses gdb_initfile_finder. (print_gdb_help): Print 'None found' when there are no init files.
2021-04-15PR27725, better objcopy -p timesAlan Modra6-49/+347
Nanosecond rather than second resolution. PR 27725 * configure.ac: Check for sys/time.h and utimensat. Use standard checks for mkstemp and mkdtemp. Whitespace. Check for nanosecond members of struct stat. * rename.c: Prefer sys/time.h for utimes over utime.h for utime. (STAT_TIMESPEC, STAT_TIMESPEC_NS): Define (get_stat_atime_ns, get_stat_mtime_ns): New inline functions. (get_stat_atime, get_stat_mtime): Likewise. (set_times): Choose first available of utimensat, utimes, utime. Use above inline functions to set timespec and timeval values. * configure: Regenerate. * config.in: Regenerate. * testsuite/binutils-all/objcopy.exp (objcopy_test): Add test of file timestamp when --preserve-dates is used.
2021-04-15Make objcopy -p work when an output file is specifiedAlan Modra3-13/+22
More fallout from the PR27456 fixes. PR 27456 * rename.c (smart_rename): When TO and FROM are equal, just set file timestamp. * objcopy.c (strip_main, copy_main): Always call smart_rename.
2021-04-15RISC-V: PR27584, surpress local and empty name symbols for nm.Nelson Chu2-0/+18
The local ".L0" symbol are usually generated to mark where the auipc instruction is, and clang also uses ".LBB" to do the same thing. Besides, clang also uses the empty name symbols for label differences. Arm surpress their mapping symbols by regarding them as special symbols, and MIPS surpress all local symbols. Therefore, RISC-V probably need to surpress the local and empty name symbols for nm and related tools. User can use "--special-syms" to show these surpressed symbols. bfd/ PR27584 * elfnn-riscv.c (riscv_elf_is_target_special_symbol): Added to omit local and empty symbols since they usually generated to mark the auipc instructions.
2021-04-15CSKY: Fix special_function in howto tableLifang Xia2-60/+70
The special_function for reloc should be 'bfd_elf_generic_reloc', reloc list: R_CKCORE_PCREL_IMM16BY2, R_CKCORE_PCREL_IMM16BY4, R_CKCORE_PCREL_IMM10BY4, R_CKCORE_PCREL_IMM18BY2, R_CKCORE_PCREL_FLRW_IMM8BY4 bfd/ * elf32-csky.c (csky_elf_howto_table) <R_CKCORE_PCREL_IMM16BY2>: Set special_function to bfd_elf_generic_reloc. <R_CKCORE_PCREL_IMM16BY4>: Likewise. <R_CKCORE_PCREL_IMM10BY4>: Likewise. <R_CKCORE_PCREL_IMM18BY2>: Likewise. <R_CKCORE_PCREL_FLRW_IMM8BY4>: Likewise.
2021-04-15Automatic date update in version.inGDB Administrator1-1/+1
2021-04-14testsuite, dwarf2: use @DW_INL_declared_inlined in a testTankut Baris Aktemur2-1/+6
gdb/testsuite/ChangeLog: 2021-04-14 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> * gdb.dwarf2/dw2-inline-with-lexical-scope.exp: Use @DW_INL_declared_inlined for the inline attribute.
2021-04-14gdb/dwarf2: fix "info locals" for clang-compiled inlined functionsTankut Baris Aktemur7-1/+304
GDB reports duplicate local vars with "<optimized out>" values for inlined functions that are compiled with Clang. Suppose we have __attribute__((always_inline)) static void aFunction() { int a = 42; if(a > 2) { int value = a; value += 10; /* break here */ } } The "info locals" command at the "break here" line gives the following output: ... Breakpoint 1, aFunction () at test.c:6 6 value += 10; /* break here */ (gdb) info locals value = 42 a = 42 value = <optimized out> (gdb) The reason is, inlined functions that are compiled by Clang do not contain DW_AT_abstract_origin attributes in the DW_TAG_lexical_block entries. See https://bugs.llvm.org/show_bug.cgi?id=49953 E.g. the DIE of the inlined function above is 0x00000087: DW_TAG_inlined_subroutine DW_AT_abstract_origin (0x0000002a "aFunction") DW_AT_low_pc (0x00000000004004b2) DW_AT_high_pc (0x00000000004004d2) DW_AT_call_file ("/tmp/test.c") DW_AT_call_line (11) DW_AT_call_column (0x03) 0x0000009b: DW_TAG_variable DW_AT_location (DW_OP_fbreg -4) DW_AT_abstract_origin (0x00000032 "a") 0x000000a3: DW_TAG_lexical_block DW_AT_low_pc (0x00000000004004c3) DW_AT_high_pc (0x00000000004004d2) 0x000000b0: DW_TAG_variable DW_AT_location (DW_OP_fbreg -8) DW_AT_abstract_origin (0x0000003e "value") This causes GDB to fail matching the concrete lexical scope with the corresponding abstract entry. Hence, the local vars of the abstract function that are contained in the lexical scope are read separately (and thus, in addition to) the local vars of the concrete scope. Because the abstract definitions of the vars do not contain location information, we see the extra 'value = <optimized out>' above. This bug is highly related to PR gdb/25695, but the root cause is not exactly the same. In PR gdb/25695, GCC emits an extra DW_TAG_lexical_block without an DW_AT_abstract_origin that wraps the body of the inlined function. That is, the trees of the abstract DIE for the function and its concrete instance are structurally not the same. In the case of using Clang, the trees have the same structure. To tackle the Clang case, when traversing the children of the concrete instance root, keep a reference to the child of the abstract DIE that corresponds to the concrete child, so that we can match the two DIEs heuristically in case of missing DW_AT_abstract_origin attributes. The updated gdb.opt/inline-locals.exp test has been checked with GCC 5-10 and Clang 5-11. gdb/ChangeLog: 2021-04-14 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> * dwarf2/read.c (inherit_abstract_dies): Keep a reference to the corresponding child of the abstract DIE when iterating the children of the concrete DIE. gdb/testsuite/ChangeLog: 2021-04-14 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> * gdb.opt/inline-locals.c (scoped): New function. (main): Call 'scoped'. * gdb.opt/inline-locals.exp: Update with "info locals" tests for scoped variables. * gdb.dwarf2/dw2-inline-with-lexical-scope.c: New file. * gdb.dwarf2/dw2-inline-with-lexical-scope.exp: New file.
2021-04-14gdb/doc: add missing parentheses around prompt in some examplesAndrew Burgess2-5/+12
While reading the manual for -info-os I noticed that the GDB prompt is given as 'gdb' when it should really be '(gdb)'. This is because the prompt is created with: '@value{GDBP}'. The GDBP variable (the GDB program name) is intended for use as the prompt string (though this is not used consistently throughout the manual), however it is normally used like '(@value{GDBP})', but in a couple of places the enclosing parentheses are missing. In this commit I do the following: - Change '@value{GDBP}' to '(@value{GDBP})' wherever the variable represents a prompt string. - Replaces '(gdb)' with '(@value{GDBP})' in one example where we are already using '(@value{GDBP})', this makes that one example consistent. I have NOT: - Changed all instances of '(gdb)' with '(@value{GDBP})', this would be a huge change. gdb/doc/ChangeLog: * gdb.texinfo (GDB/MI Miscellaneous Commands): Add missing parentheses to GDB prompt in example, and replace '(gdb)' with '(@value{GDBP})' in one example where the latter was already in use.
2021-04-14Remove use of _WIN32_WCETom Tromey2-2/+5
This removes the one last use of _WIN32_WCE from gdbserver. gdbserver/ChangeLog 2021-04-14 Tom Tromey <tromey@adacore.com> * win32-low.cc (windows_nat::handle_load_dll): Don't check _WIN32_WCE.
2021-04-14elf: Set p_memsz to p_filesz for loadable PT_NOTE segmentH.J. Lu6-0/+90
Since p_memsz of the loadable PT_NOTE segment should be the same as p_filesz, set p_memsz on the loadable PT_NOTE segment when updating p_filesz. bfd/ PR binutils/27708 * elf.c (assign_file_positions_for_non_load_sections): Set p_memsz to p_filesz for the loadable PT_NOTE segment. binutils/ PR binutils/27708 * testsuite/binutils-all/x86-64/pr27708.dump: New file. * testsuite/binutils-all/x86-64/pr27708.exe.bz2: Likewise. * testsuite/binutils-all/x86-64/x86-64.exp: Run binutils/27708 test.
2021-04-14Ignore trailing bytes at the end of a Windows Resource Version structure.Mark Harmstone2-0/+9
PR 27686 * resbin.c (bin_to_res_version): Ignore any trailing bytes at the end of the structure.
2021-04-14testsuite, gdb: recognize DW_OP_fbreg in lib/dwarf.expTankut Baris Aktemur2-0/+9
gdb/testsuite/ChangeLog: 2021-04-14 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> * lib/dwarf.exp (_location): Recognize DW_OP_fbreg as an op.
2021-04-14Remove unneeded tests for definitions of NT_BSDNETCORE values.Frederic Cambus4-8/+10
binutils* readelf.c (get_netbsd_elfcore_note_type): Remove unneeded #ifdef checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS. bfd * elf.c (elfcore_grok_netbsd_note): Remove unneeded #ifdef checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
2021-04-14PR27631, ubsan: elf32-metag.c:1550:10Alan Modra2-2/+8
PR 27631 * elf32-metag.c (elf_metag_relocate_section): Don't use &hh->elf when hh might be NULL, test for NULL first.
2021-04-14PR27630, ubsan: elf32-arm.c:6587:20Alan Modra2-2/+9
PR 27630 * elf32-arm.c (elf32_arm_size_stubs): Don't use &hash->root when hash might be NULL, cast instead.
2021-04-14PR27716, build failure for msdosdjgpp: PATH_MAX undeclaredAlan Modra11-104/+132
We shouldn't be using arbitrary limits like PATH_MAX in GNU programs. This patch also fixes some memory leaks in readelf when processing separate debug info. PR 27716 binutils/ * objdump.c (show_line): Don't limit paths to PATH_MAX. * readelf.c (struct filedata): Change program_interpreter from a char array to a char pointer. (process_program_headers): Sanity check PT_INTERP p_filesz. Malloc program_interpreter using p_filesz and read directly from file. (process_dynamic_section): Check program_interpreter is non-NULL. (free_filedata): New function, split out from.. (process_object): ..here. (close_debug_file): Call free_filedata. * sysdep.h: Don't include sys/param.h. (PATH_MAX): Don't define. * configure.ac: Don't check for sys/param.h. * configure: Regenerate. gprof/ * gprof.h (PATH_MAX): Don't define. * corefile.c (core_create_line_syms): Don't use PATH_MAX for initial file name size. * source.c (annotate_source): Malloc file name buffer. Always trim off "-ann" when dos 8.3 annotate file matches original. * utils.c (print_name_only): Malloc file name buffer.
2021-04-14Re: PR27723, Internal error in select_cie_for_fdeAlan Modra2-68/+67
Let's make sure what we allow in the CIE initial instructions and what select_cie_for_fde compares for a match is always in sync. Also correct the previous patch that allowed DW_CFA_GNU_window_save to be part of the CIE initial instructions, which was likely a mistake. PR 27723 * dw2gencfi.c (initial_cie_insn): New function, extracted from.. (select_cie_for_fde): ..here. Simplify.
2021-04-14Automatic date update in version.inGDB Administrator1-1/+1
2021-04-14PR27723, Internal error in select_cie_for_fdeAlan Modra2-0/+10
PR 27723 * dw2gencfi.c (select_cie_for_fde): Handle DW_CFA_val_offset, DW_CFA_GNU_window_save and DW_CFA_restore_state.
2021-04-13Remove WinCE code from gdbreplayPedro Alves2-51/+4
gdbserver/ChangeLog: * gdbreplay.c [__MINGW32CE__] (COUNTOF, errno, strerror): Remove.
2021-04-13Remove some unused typedefs from gdbserverTom Tromey2-4/+5
I noticed that gdbserver/win32-low.cc has a few typedefs that are not used. This patch removes them. gdbserver/ChangeLog 2021-04-13 Tom Tromey <tromey@adacore.com> * win32-low.cc (winapi_CreateToolhelp32Snapshot) (winapi_Module32First, winapi_Module32Next): Remove typedefs.
2021-04-13[gdb] Fix regoff_t incompatibilityTom de Vries2-2/+7
I did an experiment with importing the regex module in gnulib, and trying to build gdb. The first problem I ran into was that: - regoff_t was defined as long int, and - the address of a regoff_t variable i in ui_file_style::parse was passed as int * to function extended_color. Fix this by changing the types of some function parameters of functions read_semi_number and extended_color from int * to regoff_t *. Tested on x86_64-linux. gdb/ChangeLog: 2021-04-13 Tom de Vries <tdevries@suse.de> * ui-style.c (read_semi_number, extended_color): Change idx parameter type to regoff_t *.
2021-04-13Fix build failure for 32-bit targets with --enable-targets=allLuis Machado2-2/+9
Replace use of %lx with %s. gdb/ChangeLog: 2021-04-13 Luis Machado <luis.machado@linaro.org> * rs6000-tdep.c (ppc_displaced_step_fixup): Use %s to print hex values.
2021-04-13Document the effect of --as-needed on --rpath on Linux based systems.Nick Clifton2-0/+21
* ld.texi (Options): Add note about the effect of --as-needed on the --rpath and --rpath-link options on Linux based systems.
2021-04-13Remove process_stratum_target::hostio_last_error abstractionPedro Alves10-61/+22
Now that the WinCE port is gone, all ports map host I/O errors from errno, so this abstraction is no longer necessary. Basically undoes: https://sourceware.org/pipermail/gdb-patches/2008-January/055511.html https://sourceware.org/pipermail/gdb-patches/attachments/20080131/f44e7012/attachment.bin gdbserver/ChangeLog: * Makefile.in (SFILES): Remove hostio-errno.cc. * configure: Regenerate. * configure.ac (GDBSERVER_DEPFILES): No longer add $srv_hostio_err_objs. * configure.srv (srv_hostio_err_objs): Delete. * hostio-errno.cc: Delete. * hostio.cc (hostio_error): Inline hostio_last_error_from_errno here. * hostio.h (hostio_last_error_from_errno): Delete. * target.cc (process_stratum_target::hostio_last_error): Delete. * target.h (class process_stratum_target) <hostio_last_error>: Delete.
2021-04-13bfd: avoid infinite loop when static linking XCOFFClément Chigot2-2/+5
git commit b95a0a3177bc changed a "return FALSE" to "continue", and missed updating the while loop iterator. * xcofflink.c (xcoff_link_check_ar_symbols): Update esym earlier.
2021-04-13PR27722, error: array subscript has type charAlan Modra2-3/+9
PR 27722 * libdep_plugin.c (str2vec): Don't pass a potentially signed char to isspace.
2021-04-13Remove now unneeded #ifdef check for NT_NETBSD_PAX.Frederic Cambus2-2/+5
NT_NETBSD_PAX was defined in commit be3b926d8d2dde16a55e9e303fadf95164e13ebf. binutils/ChangeLog: * readelf.c (process_netbsd_elf_note): Remove now unneeded #ifdef check for NT_NETBSD_PAX.
2021-04-13RISC-V: Don't report the mismatched version warning for the implicit extensions.Nelson Chu4-17/+33
bfd/ * elfnn-riscv.c (riscv_version_mismatch): Do not report the warning when the version of input or output is RISCV_UNKNOWN_VERSION, since the extension is added implicitly. * elfxx-riscv.c: Updated the obsolete comments. (RISCV_UNKNOWN_VERSION): Moved to elfxx-riscv.h. * elfxx-riscv.h (RISCV_UNKNOWN_VERSION): Added.
2021-04-13Automatic date update in version.inGDB Administrator1-1/+1
2021-04-12[PATCH,rs6000] Fix vsx-regs.exp testcase failureWill Schmidt2-1/+16
Hi, This test exercise updates to the F* and VS* registers and verifies updates to the same. Note that the registers overlap; the doubleword[1] portion of any VS0-VS31 register contains the F0-F31 register contents, so any updates to one can be measured in the other. Per a brief investigation, we see that dl_main() currently uses some VSX instructions, so the VS* values are not going to be zero when this testcase reaches main, where these tests begin. The test harness does not explicitly initialize the full VS* values, so the first test loop that updates the F* values means our VS* values are uninitalized and will fail the first set of checks. This update explicitly initializes the doubleword[0] portion of the VS* registers, to allow this test to succeed. 2021-04-12 Will Schmidt <will_schmidt@vnet.ibm.com> gdb/testsuite/ChangeLog: * gdb.arch/vsx-regs.exp: Initialize vs* doublewords.
2021-04-12[PATCH] gdb-power10-single-stepWill Schmidt5-9/+236
Hi, This is based on a patch originally written by Alan Modra. Powerpc / Power10 ISA 3.1 adds prefixed instructions, which are 8 bytes in length. This is in contrast to powerpc previously always having 4 byte instruction length. This patch implements changes to allow GDB to better detect prefixed instructions, and handle single stepping across the 8 byte instructions. Added #defines to help test for PNOP and prefix instructions. Update ppc_displaced_step_copy_insn() to handle pnop and prefixed instructions whem R=0 (non-pc-relative). Updated ppc_displaced_step_fixup() to properly handle the offset value matching the current instruction size Updated the for-loop within ppc_deal_with_atomic_sequence() to count instructions properly in case we have a mix of 4-byte and 8-byte instructions within the atomic_sequence_length. Added testcase and harness to exercise pc-relative load/store instructions with R=0. 2021-04-12 Will Schmidt <will_schmidt@vnet.ibm.com> gdb/ChangeLog: * rs6000-tdep.c: Add support for single-stepping of prefixed instructions. gdb/testsuite/ChangeLog: * gdb.arch/powerpc-plxv-nonrel.s: Testcase using non-relative plxv instructions. * gdb.arch/powerpc-plxv-nonrel.exp: Testcase harness.
2021-04-12[PATCH, rs6000, v3][PR gdb/27525] displaced stepping across addpcis/lnia.Will Schmidt7-1/+319
This addresses PR gdb/27525. The lnia and other variations of the addpcis instruction write the value of the NIA into a target register. If we are single-stepping across a breakpoint, the instruction is executed from a displaced location, and thusly the written value of the PC/NIA will be incorrect. The changes here will measure the displacement offset, and adjust the target register value to compensate. YYYY-MM-DD Will Schmidt <will_schmidt@vnet.ibm.com> gdb/ChangeLog: * rs6000-tdep.c (ppc_displaced_step_fixup): Update to handle the addpcis/lnia instruction. gdb/testsuite/ChangeLog: * gdb.arch/powerpc-addpcis.exp: Testcase harness to exercise single-stepping over subpcis,lnia,addpcis instructions with displacement. * gdb.arch/powerpc-addpcis.s: Testcase with stream of addpcis/lnia/subpcis instructions. * gdb.arch/powerpc-lnia.exp: Testcase harness to exercise single-stepping over lnia instructions with displacement. * gdb.arch/powerpc-lnia.s: Testcase with stream of lnia instructions.
2021-04-12[rs6000] Create a powerpc-power10.exp testWill Schmidt3-0/+1330
Inspired by the existing powerpc-power9.exp test, this is a new test to cover the power10 instruction disassembly. gdb/testsuite/ChangeLog: 2021-04-12 Will Schmidt <will_schmidt@vnet.ibm.com> * gdb.arch/powerpc-power10.s: New test for instructions. * gdb.arch/powerpc-power10.exp: Harness to run the test.
2021-04-12Add myself to gdb/MAINTAINERSWill Schmidt2-0/+5
gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add myself.
2021-04-13m68hc11 gas testsuite wartAlan Modra2-13/+15
Writing to a potentially read-only source directory is not good. * testsuite/gas/m68hc11/m68hc11.exp (gas_m68hc11_message): Don't write to $srcdir. Use gas_host_run and read output file rather than gas_start/gas_finish.
2021-04-12RS6000 Add support to print vector register contents as float128Carl Love5-0/+138
This patch adds a floating point 128-bit composite field to the vsx register type. When printing the register with p/f the float128 field will be printed as a 128-bit floating point value. A test case to verify the new vsx register field is visible and correctly prints out the value of a 128-bit floating point value is also added. gdb/ChangeLog: * rs6000-tdep.c (rs6000_builtin_type_vec128): Add t_float128 variable. (rs6000_builtin_type_vec128): Add append_composite_type_field for float128. gdb/testsuite/ChangeLog: * gdb.arch/vsx-vsr-float128.c: New test file. * gdb.arch/vsx-vsr-float128.exp: New expect file.
2021-04-12gdb, gdbserver: remove WinCE support codeSimon Marchi6-191/+15
The support for WinCE was removed with commit 84b300de3666 ("gdbserver: remove support for ARM/WinCE"). There is some leftover code for WinCE support, guarded by the _WIN32_WCE macro, which I didn't know of at the time. I didn't remove the _WIN32_WCE references in the tests, because in theory we still support the WinCE architecture in GDB (when debugging remotely). So someone could run a test with that (although I'd be really surprised). gdb/ChangeLog: * nat/windows-nat.c: Remove all code guarded by _WIN32_WCE. * nat/windows-nat.h: Likewise. gdbserver/ChangeLog: * win32-low.cc: Remove all code guarded by _WIN32_WCE. * win32-low.h: Likewise. Change-Id: I7a871b897e2135dc195b10690bff2a01d9fac05a