aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2022-01-08gdb: testsuite: show print array-indexes after set in arrayidx.expTiezhu Yang1-0/+8
Add "show print array-indexes" testcases after set print array-indexes to off or on. Without this patch: PASS: gdb.base/arrayidx.exp: set print array-indexes to off PASS: gdb.base/arrayidx.exp: print array with array-indexes off PASS: gdb.base/arrayidx.exp: set print array-indexes to on PASS: gdb.base/arrayidx.exp: print array with array-indexes on With this patch: PASS: gdb.base/arrayidx.exp: set print array-indexes to off PASS: gdb.base/arrayidx.exp: show print array-indexes is off PASS: gdb.base/arrayidx.exp: print array with array-indexes off PASS: gdb.base/arrayidx.exp: set print array-indexes to on PASS: gdb.base/arrayidx.exp: show print array-indexes is on PASS: gdb.base/arrayidx.exp: print array with array-indexes on Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
2022-01-07gdb/testsuite: Remove duplicates from gdb.mi/mi-catch-load.expLancelot SIX1-36/+41
When I run the testsuite, I have: Running .../gdb/testsuite/gdb.mi/mi-catch-load.exp ... DUPLICATE: gdb.mi/mi-catch-load.exp: breakpoint at main DUPLICATE: gdb.mi/mi-catch-load.exp: mi runto main Fix by grouping the various phases in with_test_prefix blocks. Since the tests now have a prefix, remove the manually written prefixes in testnames. Also change some messages with the pattern "(timeout) $testname" into "$estname (timeout)" since tools will handle this as $testname[1] (which is what we want in this particular scenario). Tested on x86_64-linux. [1] https://sourceware.org/gdb/wiki/GDBTestcaseCookbook#Do_not_use_.22tail_parentheses.22_on_test_messages
2022-01-07gdb/testsuite: Remove duplicates from gdb.threads/staticthreads.exLancelot SIX1-1/+1
When running the testsuite, I have: Running .../gdb/testsuite/gdb.threads/staticthreads.exp ... DUPLICATE: gdb.threads/staticthreads.exp: couldn't compile staticthreads.c: unrecognized error Fix by using foreach_with_prefix instead of foreach when preparing the test case. Testeed on x86_64-linux both in a setup where the test fails to prepare and in a setup where the test fails to setup.
2022-01-07gdb/testsuite: Remove duplicates from gdb.mi/mi-language.expLancelot SIX1-4/+2
When running the testsuite, I have: Running .../gdb/testsuite/gdb.mi/mi-language.exp ... DUPLICATE: gdb.mi/mi-language.exp: set lang ada This is due to an erroneous explicit test name. This explicit test name also happens to be useless (at least it would have been if it was correct) since it only repeats the command, so just remove the explicit test name and let the command be used as default test name. Also remove explicit test name at another location in the file since it also just repeat the command. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.mi/mi-nonstop-exit.expLancelot SIX1-16/+7
When running the testsuite, I have: Running .../gdb/testsuite/gdb.mi/mi-nonstop-exit.exp ... DUPLICATE: gdb.mi/mi-nonstop-exit.exp: breakpoint at main DUPLICATE: gdb.mi/mi-nonstop-exit.exp: mi runto main This test runs the same sequence of operations twice. Refactor the code by running both of those sequences within a foreach_with_prefix block to ensure that the commands have unique test names. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.mi/mi-nonstop.expLancelot SIX1-2/+2
When running the testsuite, I have: Running .../gdb/testsuite/gdb.mi/mi-nonstop.exp ... DUPLICATE: gdb.mi/mi-nonstop.exp: check varobj, w1, 1 DUPLICATE: gdb.mi/mi-nonstop.exp: stacktrace of stopped thread Fix by adjusting the problematic test names. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.mi/mi-nsthrexec.expLancelot SIX1-1/+1
When running the testsuite, I have: Running .../gdb/testsuite/gdb.mi/mi-nsthrexec.exp ... DUPLICATE: gdb.mi/mi-nsthrexec.exp: breakpoint at main Fix by adjusting the duplicated test name. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/watchpoints.expLancelot SIX1-2/+2
When running the testsuite, I have: Running ../gdb/testsuite/gdb.base/watchpoints.exp ... DUPLICATE: gdb.base/watchpoints.exp: watchpoint hit, first time Fix by adjusting the test names where appropriate. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/nested-subp2.expLancelot SIX1-13/+15
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/nested-subp2.exp ... DUPLICATE: gdb.base/nested-subp2.exp: continue to the STOP marker DUPLICATE: gdb.base/nested-subp2.exp: print c DUPLICATE: gdb.base/nested-subp2.exp: print count Fix by using with_test_prefix to differentiate the test that are performed at different points during the execution of the debuggee. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/call-signal-resume.expLancelot SIX1-4/+3
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/call-signal-resume.exp ... DUPLICATE: gdb.base/call-signal-resume.exp: dummy stack frame number DUPLICATE: gdb.base/call-signal-resume.exp: set confirm off DUPLICATE: gdb.base/call-signal-resume.exp: return This is due to the fact that a pattern was probably copy/pasted to re-use the logic while not adjusting the test names to avoid the duplication. Fix by removing the redundant tests ('set confirm off' only needs to be used once) and adjusting the test names where appropriate. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/pointers.expLancelot SIX1-10/+12
When I run the testsuite, I have : Running .../gdb/testsuite/gdb.base/pointers.exp ... DUPLICATE: gdb.base/pointers.exp: pointer assignment Fix by placing the sections with duplication in with_test_prefix blocks. This removes the duplication and gives a better organization the file. Tested on x86_64-linux. Co-Authored-By: Pedro Alves <pedro@palves.net>
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/unload.expLancelot SIX1-1/+1
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/unload.exp ... DUPLICATE: gdb.base/unload.exp: continuing to unloaded libfile Fix by adjusting the test name. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/define-prefix.expLancelot SIX1-1/+1
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/define-prefix.exp ... DUPLICATE: gdb.base/define-prefix.exp: define user command: ghi-prefix-cmd Fix by adjusting test names. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/funcargs.expLancelot SIX1-15/+15
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/funcargs.exp ... DUPLICATE: gdb.base/funcargs.exp: run to call2a Fix by using proc_with_prefix instead on plain proc to create logical function blocks. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/shlib-call.expLancelot SIX1-18/+7
When I run the testsuite, I have: Running .../gdb/testsuite/gdb.base/shlib-call.exp ... DUPLICATE: gdb.base/shlib-call.exp: print g DUPLICATE: gdb.base/shlib-call.exp: set print sevenbit-strings DUPLICATE: gdb.base/shlib-call.exp: set print address off DUPLICATE: gdb.base/shlib-call.exp: set width 0 DUPLICATE: gdb.base/shlib-call.exp: continue until exit Fix by adjusting the test names when required, and by removing un-necessary commands. While at it, do some cleanup: - Replace an explicit GDB restart sequence with a call to clean_restart. - Remove trailing whitespaces. - Use $gdb_test_name in gdb_test_multiple. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/set-cfd.expLancelot SIX1-11/+11
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/set-cwd.exp ... DUPLICATE: gdb.base/set-cwd.exp: test_cwd_reset: continue to breakpoint: break-here Fix by moving the tests after the 'runto_main' within the same with_test_prefix scope. While at it, I fix some indentation issues. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/exprs.expLancelot SIX1-4/+6
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/exprs.exp ... DUPLICATE: gdb.base/exprs.exp: \$[0-9]* = red (setup) Fix by using with_test_prefix where appropriate. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/readline.expLancelot SIX1-1/+1
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/readline.exp ... DUPLICATE: gdb.base/readline.exp: Simple operate-and-get-next - final prompt Fix by adjusting the prefix given to the second 'simple' call to operate_and_get_next. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/pretty-array.expLancelot SIX1-2/+4
When I run the testsuite, I have: Running .../gdb/testsuite/gdb.base/pretty-array.exp ... DUPLICATE: gdb.base/pretty-array.exp: print nums DUPLICATE: gdb.base/pretty-array.exp: print nums Fix by giving a name to the test cases. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/ui-redirect.expLancelot SIX1-1/+1
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/ui-redirect.exp ... DUPLICATE: gdb.base/ui-redirect.exp: redirect while already logging: set logging redirect off Fix by moving the first 'set logging redirect off' to the end of the previous [with_test_prefix] test block. The statement's purpose is to clean the on flag set in this previous block, so moving it there makes sense and does not change the sequence of commands in the test file. Tested on x86_64-linux.
2022-01-07gdb: completion-support.exp: improve leading whitespace supportLancelot SIX1-5/+3
There is a expect support library in the source tree designed to help developers test the auto-completion capabilities of GDB. One of the functions is test_gdb_complete_unique_re. It is used (usually indirectly via test_gdb_complete_unique) to test that a given input line is completed as a given output line. The test checks for two ways to do the completion: using tab-completion, or using the 'complete' command. To do this, calls to two dedicated functions are performed. If we omit few details, we can consider that a call to test_gdb_complete_unique $input $expected is equivalent to the two following calls: test_gdb_complete_tab_unique $input $expected test_gdb_complete_cmd_unique $input $expected When using the tab-completion, everything works as expected, but some care must be taken when using the 'complete' command if the given input has leading whitespaces. In such situation, the output of the 'complete' command will drop the leading whitespaces. The current approach is that in such situation, the input and expected outputs are right trimmed (i.e. all leading whitespaces are removed) when performing the command completion check. This means that the following call: test_gdb_complete_unique " $input" " $expected" is almost equivalent to (again, omitting few details and arguments): test_gdb_complete_tab_unique " $input" " $expected" test_gdb_complete_cmd_unique "$input" "$expected" This approach comes with a problem that we encounter when running the tests in complete-empty.exp. When doing so, we have: Running .../gdb/testsuite/gdb.base/complete-empty.exp ... DUPLICATE: gdb.base/complete-empty.exp: empty-input-line: cmd complete "" This is because the test file does something like: test_gdb_complete_unique "" "!" " " 1 test_gdb_complete_unique " " " !" " " 1¬ which, if we do the substitution introduced above is equivalent to: test_gdb_complete_tab_unique "" "!" test_gdb_complete_cmd_unique "" "!" test_gdb_complete_tab_unique " " " !" test_gdb_complete_cmd_unique "" "!" We see that the lines 2 and 4 are now the same, and for this reason the testing framework complains about DUPLICATE test names. To fix that, this commit proposes that instead of left trimming both input and expected outputs, only the expected output is trimmed. Care must be taken in the case the completion gives more possibilities than allowed by the max-completions setting. In this case, the input will be repeated in the output in its left trimmed version. This commit also ensures that this is taken care of. With this commit, the gdb.base/complete-empty.exp still passes all its tests but does not report the DUPLICATE anymore. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/subst.expLancelot SIX1-1/+1
When I run the testsuite, I have: Running .../gdb/testsuite/gdb.base/subst.ex ... DUPLICATE: gdb.base/subst.exp: unset substitute-path from, no rule entered yet Fix by adjusting the problematic test name. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/dfp-exprs.expPedro Alves1-37/+57
When I run the testsuite, I have: Running ../gdb/testsuite/gdb.base/dfp-exprs.exp ... DUPLICATE: gdb.base/dfp-exprs.exp: p 1.2dl < 1.3df Replace hand-written tests checking various comparison operators between various decimal floating point types with a loop to programmatically generate all the combinations. This removes the need to eyeball for all suffixes, which lead to the original duplication. Also add a lot more combinations, testing all comparison operators comprehensively. The result is 262 unique tests vs 104 before this patch. Tested on x86_86-linux. Change-Id: Id215a3d610aa8e032bf06ee160b5e3aed4a92d1e
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/ptype.expLancelot SIX1-3/+3
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/ptype.exp ... DUPLICATE: gdb.base/ptype.exp: ptype the_highest DUPLICATE: gdb.base/ptype.exp: list intfoo DUPLICATE: gdb.base/ptype.exp: list charfoo Fix by adjusting the offending test names. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/dfp-test.expLancelot SIX1-3/+3
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/dfp-test.exp ... DUPLICATE: gdb.base/dfp-test.exp: 1.23E is an invalid number DUPLICATE: gdb.base/dfp-test.exp: 1.23E45A is an invalid number DUPLICATE: gdb.base/dfp-test.exp: 1.23E is an invalid number DUPLICATE: gdb.base/dfp-test.exp: 1.23E45A is an invalid number Fix by using proc_with_prefix where appropriate. Tested on x86_64-linux. Co-Authored-By: Andrew Burgess <aburgess@redhat.com>
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/del.expLancelot SIX1-11/+11
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/del.exp ... DUPLICATE: gdb.base/del.exp: info break after removing break on main Refactor slightly this test to run the various configurations under foreach_with_prefix so each variant is automatically prefixed, ensuring that the forgotten custom test name cannot happen. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/solib-display.expLancelot SIX1-4/+2
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/solib-display.exp ... DUPLICATE: gdb.base/solib-display.exp: NO: break 25 DUPLICATE: gdb.base/solib-display.exp: NO: continue DUPLICATE: gdb.base/solib-display.exp: IN: break 25 DUPLICATE: gdb.base/solib-display.exp: IN: continue DUPLICATE: gdb.base/solib-display.exp: SEP: break 25 DUPLICATE: gdb.base/solib-display.exp: SEP: continue The 'break 25' appears because the test inserts two breakpoints at the same location. Fix this by only inserting the breakpoint once. Fix the 'continue' DUPLICATE by giving a phony name to the second continue: 'continue two'. While at it, this commit also removes a trailing space. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/decl-before-def.expLancelot SIX1-2/+2
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/decl-before-def.exp ... DUPLICATE: gdb.base/decl-before-def.exp: p a Fix by giving explicit names to the two tests that use the same command. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/pending.expLancelot SIX1-2/+2
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/pending.exp ... DUPLICATE: gdb.base/pending.exp: disable other breakpoints Fix by adjusting the test names. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/checkpoint.expLancelot SIX1-11/+11
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/checkpoint.exp ... DUPLICATE: gdb.base/checkpoint.exp: verify lines 5 two DUPLICATE: gdb.base/checkpoint.exp: restart 0 one This patch fixes the various erroneous incorrect test names. While at it, this patch also remove some trailing white spaces across the file. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/pie-fork.expLancelot SIX1-2/+4
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/pie-fork.exp ... DUPLICATE: gdb.base/pie-fork.exp: test_no_detach_on_fork: continue Fix by giving explicit names to the 'continue' commands that cause the duplicate message. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/realname-expand.expLancelot SIX1-5/+7
When running the testsuite, I have: Running .../gdb/testsuite/gdb.base/realname-expand.exp ... DUPLICATE: gdb.base/realname-expand.exp: set basenames-may-differ on This is due to the fact that the test restarts GDB twice and each time sets the basenames-may-differ setting. This patch proposes to fix this by not restarting GDB so the setting is maintained. It just clears the breakpoints between the two tests and updates the breakpoints number as required. This patch also perform some minor refactorings to improve visibility. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/interp.expLancelot SIX1-16/+11
When running the testsuite I have: Running .../gdb/testsuite/gdb.base/interp.exp ... DUPLICATE: gdb.base/interp.exp: interpreter-exec mi "-var-update *" This is due to the fact that multiple successive instances of gdb_test_multiple use 'pass $cmd', but one of them forgets to reset $cmd to a new test name. Fix by using 'pass $gdb_test_name', given that the gdb_test_name is set by gdb_test_multiple. While fixing this, this patch refactors all occurrences of the following pattern: set cmd foo gdb_test_multiple $cmd $cmd { -re ... { pass $cmd } } into gdb_test_multiple foo "" { -re ... { pass $gdb_test_name } } This makes this test file coherent in its use of $gdb_test_name. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/miscexprs.expLancelot SIX1-45/+28
When running the testsuite I see: Running .../gdb/testsuite/gdb.base/miscexprs.exp ... DUPLICATE: gdb.base/miscexprs.exp: print value of !ibig.i[100] DUPLICATE: gdb.base/miscexprs.exp: print value of !ibig.i[100] This is due to an explicit test name repeated across multiple tests. The actual test explicit names do not add much over the command from wich default test names are derived. Fix by removing the explicit test names across the file where they do not add value. While at doing some cleaning, also use $gdb_test_name in the various uses of gdb_test_multiple. Tested on x86_64-linux.
2022-01-07gdb/testsuite: Remove duplicates from gdb.base/stack-checking.expLancelot SIX1-2/+4
When running the testsuite I have: Running .../gdb/testsuite/gdb.base/stack-checking.exp ... DUPLICATE: gdb.base/stack-checking.exp: bt DUPLICATE: gdb.base/stack-checking.exp: bt Fix by using with_test_prefix. Tested on x86_64-linux.
2022-01-07gdb/doc: shorten some source lines, and prevent some line breaksAndrew Burgess1-13/+17
Building on the previous commit, this makes use of a trailing @ to split long @deffn lines in the guile.texi source file. This splitting doesn't change how the document is laid out by texinfo. I have also wrapped keyword and argument name pairs in @w{...} to prevent line breaks appearing between the two. I've currently only done this for the longer @deffn lines, where a line break is possible. This makes the @deffn lines much nicer to read in the generated pdf.
2022-01-07gdb/doc: Remove (...) around guile procedure names in @deffn linesAndrew Burgess1-4/+11
Most guile procedures in the guile.texi file are defined like: @deffn {Scheme Procedure} name arg1 arg2 arg3 But there are two places where we do this: @deffn {Scheme Procedure} (name arg1 arg2 arg3) Notice the added (...). Though this does represent how a procedure call is written in scheme, it's not the normal style throughout the manual. I also checked the 'info guile' info page to see how they wrote there declarations, and they use the first style too. The second style also has the drawback that index entries are added as '(name', and so they are grouped in the '(' section of the index, which is not very user friendly. In this commit I've changed the definitions of make-command and make-parameter to use the first style. The procedure declaration lines can get pretty long with all of the arguments, and this was true for both of the procedures I am changing in this commit. I have made use of a trailing '@' to split the deffn lines, and keep them under 80 characters in the texi source. This makes no difference to how the final document looks. Finally, our current style for keyword arguments, appears to be: [#:keyword-name argument-name] I don't really understand the reason for this, 'info guile' just seems to use: [#:keyword-name] which seems just as good to me. But I don't propose to change that just now. What I do notice though, is that sometimes, texinfo will place a line break between the keyword-name and the argument-name, for example, the pdf of make-command is: make-command name [#:invoke invoke] [#:command-class command-class] [#:completer-class completer] [#:prefix? prefix] [#:doc doc-string] Notice the line break after '#:command-class' and after '#:doc', neither of which are ideal. And so, for the two commands I am changing in this commit, I have made use of @w{...} to prevent line breaks between the keyword-name and the argument-name. Now the pdf looks like this: make-command name [#:invoke invoke] [#:command-class command-class] [#:completer-class completer] [#:prefix? prefix] [#:doc doc-string] Which seems much better. I'll probably update the other deffn lines at some point.
2022-01-06Use target_announce_detach in more targetsTom Tromey4-37/+11
target_announce_detach was added in commit 0f48b757 ("Factor out "Detaching from program" message printing"). There, Pedro wrote: (For now, I left the couple targets that print this a bit differently alone. Maybe this could be further pulled out into infcmd.c. If we did that, and those targets want to continue printing differently, this new function could be converted to a target method.) It seems to me that the differences aren't very big, and in some cases other targets handled the output a bit more nicely. In particular, some targets will print a different message when exec_file==NULL, rather than printing the same output with an empty string as exec_file. This patch incorporates the nicer output into target_announce_detach, then changes the remaining ports to use this function.
2022-01-06Introduce target_announce_attachTom Tromey9-77/+30
This introduces target_announce_attach, by analog with target_announce_detach. Then it converts existing targets to use this, rather than emitting their own output by hand.
2022-01-06gdb: make use add_setshow_prefix_cmd in gnu-nat.cAndrew Burgess1-46/+13
In gnu-nat.c we currently implement some set/show prefix commands "manually", that is, we call add_prefix_cmd, and assign a set and show function to each prefix command. These set/show functions print an error indicating that the user didn't type a complete command. If we instead switch to using add_setshow_prefix_cmd then we can delete the set/show functions, GDB provides some default functions, which give a nice help style summary that lists all of the available sub-commands, along with a one line summary of what each does. Though this clearly changes the existing behaviour, I think this change is acceptable as the new behaviour is more inline with other set/show prefix commands, and the new behaviour is more informative. This change will conflict with Tom's change here: https://sourceware.org/pipermail/gdb-patches/2022-January/184724.html Where Tom changes the set/show functions that I delete. My suggestion is that the set/show functions still be deleted even after Tom's patch (or instead of Tom's patch). For testing I've build GDB on GNU/Hurd, and manually tested these functions. I did a grep over the testsuite, and don't believe the existing error messages are being checked for in any tests.
2022-01-06Use warning in windows-nat error messagesTom Tromey1-5/+2
A warning in windows-nat.c can be converted to use the warning function. As a side effect, this arranges for the output to be sent to gdb_stderr.
2022-01-06Clean up some dead code in windows-tdep.cTom Tromey1-24/+20
windows-tdep.c checks the result of xmalloc, which isn't necessary. I initially removed this dead check, but then went a bit further and modified the code so that some "goto"s and explicit memory management could be removed. Then, I added a couple of missing bounds checks. I believe this also fixes a possible bug with a missing 0-termination of a string. I am not certain, but that is why I think the existing code allocates a buffer that is 1 byte too long -- but then it fails to set this byte to 0.
2022-01-06Avoid crash in language_infoTom Tromey2-1/+10
language_info calls: show_language_command (NULL, 1, NULL, NULL); ... "knowing" that show_language_command does not use its ui_file parameter. However, this was changed in commit 7514a661 ("Consistently Use ui_file parameter to show callbacks"). This patch changes language_info to pass a ui_file. It took a while to write the test -- this function is only called when 'verbose' is on and when switching the "expected" language in auto mode.
2022-01-06Fix some failures in langs.expTom Tromey1-3/+3
langs.exp currently has some fails for me because the stack trace includes full paths to the source files. FAIL: gdb.base/langs.exp: up to foo in langs.exp FAIL: gdb.base/langs.exp: up to cppsub_ in langs.exp FAIL: gdb.base/langs.exp: up to fsub in langs.exp This fixes the failures by making the filename regexps a bit more lax.
2022-01-06gdb: Fix copyright year in gdb/testsuite/gdb.base/inferior-clone.expLancelot SIX1-1/+1
I just realized that I forgot to update the year before pushing the patch that created this file. Since it landed after the global copyright year update have been done, this file’s copyright year is updated. This patch fixes that. Change-Id: I280f7d86e02d38425f7afdcf19a1c3500d51c23f
2022-01-05Change riscv_return_value to use RETURN_VALUE_ABI_PRESERVES_ADDRESSTom Tromey1-1/+1
Internally, AdaCore has a test that is equivalent to (really a direct translation of) gdb.base/gnu_vector.exp. On 32-bit RISC-V, the "return" part of this test fails. Joel tracked this down to riscv_return_value returning RETURN_VALUE_ABI_RETURNS_ADDRESS. Using RETURN_VALUE_ABI_PRESERVES_ADDRESS is more correct here, and fixes the bug. I tested this for both 32- and 64-bit RISC-V using the AdaCore internal test suite, and Andrew Burgess tested it using gnu_vector.exp.
2022-01-05Filtered output cleanup in expression dumpingTom Tromey1-13/+13
Most of the expression-dumping code uses filtered output, but a few functions did not. This patch cleans up these instance. Note that this won't cause any behavior change, because the only calls to dump_prefix_expression pass in gdb_stdlog. However, in the long run it's easier to audit the code if the number of uses of _unfiltered is reduced.
2022-01-05Use filtered output in terminal_info implementationsTom Tromey2-8/+8
This changes one terminal_info implementation, and default_terminal_info, to use filtered output. Other implementations of this method already use filtered output. I can't compile go32-nat.c, so this is a 'best effort' patch.
2022-01-05Use filtered output in gnu-nat.c commandsTom Tromey1-49/+53
gnu-nat.c has a number of ordinary commands that should use filtered output. In a few cases, I changed the output to use gdb_stderr as well. I can't compile this file, so this patch is split out as a "best effort".
2022-01-05Use filtered output in *-tdep commandsTom Tromey5-23/+23
Various targets introduce their own commands, which then use unfiltered output. It's better to use filtered output by default, so this patch fixes the instances I found.