- Jan 09, 2022
-
-
Tom Tromey authored
Lancelot pointed out that target_announce_attach was missing an explicit check against nullptr. This patch adds it.
-
- Jan 08, 2022
-
-
Hannes Domani authored
This patch adds information about _sigsys structure from newer kernels, so that $_siginfo decoding can show information about _sigsys, making it easier for developers to debug seccomp failures. Requested in PR gdb/24283. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=24283
-
Tiezhu Yang authored
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>
-
H.J. Lu authored
DT_RELR encodes consecutive R_*_RELATIVE relocations in GOT (the global offset table) and data sections in a compact format: https://groups.google.com/g/generic-abi/c/bX460iggiKg On some targets, R_*_RELATIVE relocations are counted and the GOT offsets are allocated when setting the dynamic section sizes after seeing all relocations. R_*_RELATIVE relocations are generated while relocating sections after section layout has been finalized. To prepare for DT_RELR implementation on these targets, extract _bfd_elf_link_iterate_on_relocs from _bfd_elf_link_check_relocs so that a backend can scan relocations in elf_backend_always_size_sections For x86 targets, the old check_relocs is renamed to scan_relocs and a new check_relocs is added to chek input sections and create dynamic relocation sections so that they will be mapped to output sections. scan_relocs is now called from elf_backend_always_size_sections. Since relocations are scanned after __start, __stop, .startof. and .sizeof. symbols have been finalized on x86, __[start|stop]_SECNAME for --gc-sections -z start-stop-gc are now zero when all SECNAME sections been garbage collected. This is no need for elf_x86_start_stop_gc_p. bfd/ * elf-bfd.h (_bfd_elf_link_iterate_on_relocs): New. * elf32-i386.c (elf_i386_convert_load_reloc): Don't call elf_x86_start_stop_gc_p. (elf_i386_check_relocs): Renamed to ... (elf_i386_scan_relocs): This. Don't call _bfd_elf_make_dynamic_reloc_section. (elf_i386_always_size_sections): New. (elf_backend_check_relocs): Removed. (elf_backend_always_size_sections): New. * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't call elf_x86_start_stop_gc_p. (elf_x86_64_check_relocs): Renamed to ... (elf_x86_64_scan_relocs): This. Don't call _bfd_elf_make_dynamic_reloc_section. (elf_x86_64_always_size_sections): New. (elf_backend_check_relocs): Removed. (elf_backend_always_size_sections): New. * elflink.c (elf_link_check_or_scan_relocs): New. Extracted from _bfd_elf_link_check_relocs. (_bfd_elf_link_check_relocs): Call elf_link_check_or_scan_relocs. * elfxx-x86.c (_bfd_x86_elf_check_relocs): New. * elfxx-x86.h (X86_64_NEED_DYNAMIC_RELOC_TYPE_P): New. (I386_NEED_DYNAMIC_RELOC_TYPE_P): Likewise. (X86_NEED_DYNAMIC_RELOC_TYPE_P): Likewise. (_bfd_x86_elf_check_relocs): Likewise. (elf_backend_check_relocs): Likewise. (elf_backend_always_size_sections): Removed. (elf_x86_start_stop_gc_p): Likewise. ld/ * testsuite/ld-i386/pr27491-1a.d: Updated. * testsuite/ld-x86-64/pr27491-1a.d: Likewise.
-
GDB Administrator authored
-
Lancelot SIX authored
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 -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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>
-
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Pedro Alves authored
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 -
Lancelot SIX authored
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. -
Lancelot SIX authored
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>
-
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Lancelot SIX authored
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. -
Philipp Tomsich authored
After commit d8af286f ("RISC-V: Drop the privileged spec v1.9 support.") has removed support for privileged spec v1.9, this removes it from the documentation. References: d8af286f ("RISC-V: Drop the privileged spec v1.9 support.") gas/ChangeLog: * configure: Regenerate. * configure.ac: Remove reference to priv spec 1.9. * po/fr.po: Same. * po/ru.po: Same. * po/uk.po: Same.
-