aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.reverse
AgeCommit message (Collapse)AuthorFilesLines
2022-05-16gdb/testsuite: fix "continue outside of loop" TCL errorsBruno Larsen2-2/+2
Many test cases had a few lines in the beginning that look like: if { condition } { continue } Where conditions varied, but were mostly in the form of ![runto_main] or [skip_*_tests], making it quite clear that this code block was supposed to finish the test if it entered the code block. This generates TCL errors, as most of these tests are not inside loops. All cases on which this was an obvious mistake are changed in this patch.
2022-04-26GDB PowerPC record test cases for ISA 2.06 and ISA 3.1Carl Love4-0/+580
This patch adds PowerPC specific tests to verify recording of various instructions. The first test case checks the ISA 2.06 lxvd2x instruction. The second test case tests several of the ISA 3.01 instructions. Specifically, it checks the word and prefixed instructions and some of the Matrix Multiply Assist (MMA) instructions. The patch has been run on both Power 10 and Power 9 to verify the ISA 2.06 test case runs on both platforms without errors. The ISA 3.1 test runs without errors on Power 10 and is skipped as expected on Power 9.
2022-01-01Automatic Copyright Year update after running gdb/copyright.pyJoel Brobecker74-74/+74
This commit brings all the changes made by running gdb/copyright.py as per GDB's Start of New Year Procedure. For the avoidance of doubt, all changes in this commits were performed by the script.
2021-11-02[gdb/testsuite] Fix stepi test-cases with unix/-m32/-fPIE/-pieTom de Vries3-2/+24
When running test-case gdb.base/step-indirect-call-thunk.exp with target board unix/-m32/-fPIE/-pie, I run into: ... (gdb) stepi^M 0x5655552e 22 { /* inc.1 */^M (gdb) stepi^M 0x56555530 22 { /* inc.1 */^M (gdb) stepi^M 0x565555f7 in __x86.get_pc_thunk.ax ()^M (gdb) FAIL: gdb.base/step-indirect-call-thunk.exp: stepi into return thunk ... In contrast, with unix/-m32 we have instead: ... (gdb) stepi^M 0x08048407 22 { /* inc.1 */^M (gdb) stepi^M 23 return x + 1; /* inc.2 */^M (gdb) stepi^M 0x0804840c 23 return x + 1; /* inc.2 */^M (gdb) stepi^M 24 } /* inc.3 */^M (gdb) stepi^M 0x08048410 24 } /* inc.3 */^M (gdb) stepi^M 0x0804848f in __x86_return_thunk ()^M (gdb) PASS: gdb.base/step-indirect-call-thunk.exp: stepi into return thunk ... The test-case doesn't expect to run into __x86.get_pc_thunk.ax, which is a PIC helper function for x86_64-linux. Fix this by insn-stepping through it. Likewise in a few other test-cases. Tested on x86_64-linux.
2021-10-13[gdb/testsuite] Require use_gdb_stub == 0 where appropriateTom de Vries1-0/+3
When running with target board native-gdbserver, we run into a number of FAILs due to use of the start command (and similar), which is not supported when use_gdb_stub == 1. Fix this by: - requiring use_gdb_stub == 0 for the entire test-case, or - guarding some tests in the test-case with use_gdb_stub == 0. Tested on x86_64-linux.
2021-09-30gdb/testsuite: make runto_main not pass no-message to runtoSimon Marchi4-4/+0
As follow-up to this discussion: https://sourceware.org/pipermail/gdb-patches/2020-August/171385.html ... make runto_main not pass no-message to runto. This means that if we fail to run to main, for some reason, we'll emit a FAIL. This is the behavior we want the majority of (if not all) the time. Without this, we rely on tests logging a failure if runto_main fails, otherwise. They do so in a very inconsisteny mannet, sometimes using "fail", "unsupported" or "untested". The messages also vary widly. This patch removes all these messages as well. Also, remove a few "fail" where we call runto (and not runto_main). by default (without an explicit no-message argument), runto prints a failure already. In two places, gdb.multi/multi-re-run.exp and gdb.python/py-pp-registration.exp, remove "message" passed to runto. This removes a few PASSes that we don't care about (but FAILs will still be printed if we fail to run to where we want to). This aligns their behavior with the rest of the testsuite. Change-Id: Ib763c98c5f4fb6898886b635210d7c34bd4b9023
2021-01-01Update copyright year range in all GDB filesJoel Brobecker74-74/+74
This commits the result of running gdb/copyright.py as per our Start of New Year procedure... gdb/ChangeLog Update copyright year range in copyright header of all GDB files.
2020-12-04[gdb/testsuite] Fix control-flow in gdb.reverse/insn-reverse.expTom de Vries1-11/+15
In gdb.reverse/insn-reverse.exp, we have loop containing a call to gdb_test_multiple, which itself contains a break: ... for {} {$count < 500} {incr count} { ... gdb_test_multiple "x/i \$pc" "" { ... break } ... On SLE-11 with: ... $ runtest --version Expect version is 5.44.1.11 Tcl version is 8.5 Framework version is 1.4.4 ... the break doesn't seem to have the effect of breaking out of the loop. The break does have the effect of terminating evaluation of the expect clause, which means we don't set insn_array, after which we run into: ... ERROR: tcl error sourcing src/gdb/testsuite/gdb.reverse/insn-reverse.exp. ERROR: can't read "insn_array(5)": no such element in array ... gdb/testsuite/ChangeLog: 2020-12-04 Tom de Vries <tdevries@suse.de> * gdb.reverse/insn-reverse.exp: Don't break inside gdb_test_multiple clause.
2020-12-04[gdb/testsuite] Fix count usage in gdb.reverse/insn-reverse.expTom de Vries1-2/+1
Consider the test-case gdb.reverse/insn-reverse.exp. After the loop setting count, the valid entries in various arrays range from 0 to $count - 1 inclusive. Then $count is decremented: ... incr count -1 ... after which the valid entries range from 0 to $count inclusive. The first subsequent loop handles that properly: ... for {set i $count} {$i >= 0} {incr i -1} { ... but the following loop does not, because it treats $count as exclusive bound: ... for {set i 0} {$i < $count} {incr i} { ... Fix this by removing the incr, and using $count - 1 as starting value in the first loop. gdb/testsuite/ChangeLog: 2020-12-04 Tom de Vries <tdevries@suse.de> * gdb.reverse/insn-reverse.exp: Fix count handling.
2020-12-04[gdb/testsuite] Fix gdb.reverse/insn-reverse-x86.c for -m32Tom de Vries1-0/+8
When running test-case gdb.reverse/insn-reverse.exp with target board unix/-m32, we get: ... spawn -ignore SIGHUP gcc -fno-stack-protector -fdiagnostics-color=never \ -c -g -m32 -o insn-reverse0.o insn-reverse.c^M insn-reverse-x86.c: Assembler messages:^M insn-reverse-x86.c:88: Error: bad register name `%r8w'^M .... Fix this by guarding x86_64 assembly in insn-reverse-x86.c with #ifdef __x86_64__. Tested on x86_64-linux, with native and unix/-m32. gdb/testsuite/ChangeLog: 2020-12-04 Tom de Vries <tdevries@suse.de> * gdb.reverse/insn-reverse-x86.c: Guard x86_64 assembly with #ifdef __x86_64__.
2020-12-04[gdb/testsuite] Handle SIGILL in gdb.reverse/insn-reverse.expTom de Vries2-6/+52
Consider test-case gdb.reverse/insn-reverse.exp. It runs a number of subtests, dependent on the architecture, f.i. for x86_64 it runs subtests rdrand and rdseed. For each subtest, it checks whether the subtest is supported and otherwise bails out of that subtest. However, there may be a problem with the support test or the information it relies on, and if it states that a subtest is supported while it is actually not, we may run into a SIGILL, as f.i. described in PR21166, which results in tcl errors like this: ... ERROR: tcl error sourcing src/gdb/testsuite/gdb.reverse/insn-reverse.exp. ERROR: can't read "insn_array(5)": no such element in array ... We can emulate this by inserting a sigfpe in function rdrand in insn-reverse-x86.c, like this: ... volatile int a = 0; volatile int b = 1; volatile int c = b / a; ... The problem is that the loop in the test-case attempts to stepi over of all insn in rdrand, but because of the signal it will never get to the last insn. Handle this by detecting that the stepi made no progress, and bailing out of the loop. Furthermore, make running of the subtests independent, such that a SIGILL in subtest rdrand does not affect running of subtest rdseed. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-12-04 Tom de Vries <tdevries@suse.de> * gdb.reverse/insn-reverse.c (test_nr): New var. (usage, parse_args): New function. (main): Call parse_args. Only run test for test_nr. * gdb.reverse/insn-reverse.exp: Detect lack of progress in stepi loop and bail out. Run subtests individually, using an inferior arg specifying the subtest.
2020-10-13'runto main' -> 'runto_main' throughoutPedro Alves31-31/+31
This commit does 's/runto main/runto_main/g' throughout. gdb/testsuite/ChangeLog: * gdb.ada/fun_in_declare.exp: Use "runto_main" instead of "runto main". * gdb.ada/small_reg_param.exp: Likewise. * gdb.arch/powerpc-d128-regs.exp: Likewise. * gdb.base/annota1.exp: Likewise. * gdb.base/anon.exp: Likewise. * gdb.base/breakpoint-in-ro-region.exp: Likewise. * gdb.base/dprintf-non-stop.exp: Likewise. * gdb.base/dprintf.exp: Likewise. * gdb.base/gdb11530.exp: Likewise. * gdb.base/gdb11531.exp: Likewise. * gdb.base/gnu_vector.exp: Likewise. * gdb.base/interrupt-noterm.exp: Likewise. * gdb.base/memattr.exp: Likewise. * gdb.base/step-over-syscall.exp: Likewise. * gdb.base/watch-cond-infcall.exp: Likewise. * gdb.base/watch-read.exp: Likewise. * gdb.base/watch-vfork.exp: Likewise. * gdb.base/watch_thread_num.exp: Likewise. * gdb.base/watchpoint-stops-at-right-insn.exp: Likewise. * gdb.guile/scm-frame-inline.exp: Likewise. * gdb.linespec/explicit.exp: Likewise. * gdb.opt/inline-break.exp: Likewise. * gdb.python/py-frame-inline.exp: Likewise. * gdb.reverse/break-precsave.exp: Likewise. * gdb.reverse/break-reverse.exp: Likewise. * gdb.reverse/consecutive-precsave.exp: Likewise. * gdb.reverse/consecutive-reverse.exp: Likewise. * gdb.reverse/finish-precsave.exp: Likewise. * gdb.reverse/finish-reverse.exp: Likewise. * gdb.reverse/fstatat-reverse.exp: Likewise. * gdb.reverse/getresuid-reverse.exp: Likewise. * gdb.reverse/i386-precsave.exp: Likewise. * gdb.reverse/i386-reverse.exp: Likewise. * gdb.reverse/i386-sse-reverse.exp: Likewise. * gdb.reverse/i387-env-reverse.exp: Likewise. * gdb.reverse/i387-stack-reverse.exp: Likewise. * gdb.reverse/insn-reverse.exp: Likewise. * gdb.reverse/machinestate-precsave.exp: Likewise. * gdb.reverse/machinestate.exp: Likewise. * gdb.reverse/pipe-reverse.exp: Likewise. * gdb.reverse/readv-reverse.exp: Likewise. * gdb.reverse/recvmsg-reverse.exp: Likewise. * gdb.reverse/rerun-prec.exp: Likewise. * gdb.reverse/s390-mvcle.exp: Likewise. * gdb.reverse/solib-precsave.exp: Likewise. * gdb.reverse/solib-reverse.exp: Likewise. * gdb.reverse/step-precsave.exp: Likewise. * gdb.reverse/step-reverse.exp: Likewise. * gdb.reverse/time-reverse.exp: Likewise. * gdb.reverse/until-precsave.exp: Likewise. * gdb.reverse/until-reverse.exp: Likewise. * gdb.reverse/waitpid-reverse.exp: Likewise. * gdb.reverse/watch-precsave.exp: Likewise. * gdb.reverse/watch-reverse.exp: Likewise. * gdb.threads/kill.exp: Likewise. * gdb.threads/tid-reuse.exp: Likewise. Change-Id: I70f457253836019880b4d7fb981936afa56724c2
2020-07-21[gdb/testsuite] Fix gdb.reverse/solib-{precsave,reverse}.exp with gcc-8Tom de Vries2-6/+54
With gcc-8, we have the following FAILs, which are not there for gcc-7: ... FAIL: gdb.reverse/solib-precsave.exp: reverse-step into solib function one FAIL: gdb.reverse/solib-precsave.exp: reverse-step within solib function one FAIL: gdb.reverse/solib-precsave.exp: reverse-step back to main one FAIL: gdb.reverse/solib-precsave.exp: reverse-step into solib function two FAIL: gdb.reverse/solib-precsave.exp: reverse-step within solib function two FAIL: gdb.reverse/solib-precsave.exp: reverse-step back to main two FAIL: gdb.reverse/solib-precsave.exp: run until end part two FAIL: gdb.reverse/solib-precsave.exp: reverse-next over solib function one FAIL: gdb.reverse/solib-reverse.exp: reverse-step into solib function one FAIL: gdb.reverse/solib-reverse.exp: reverse-step within solib function one FAIL: gdb.reverse/solib-reverse.exp: reverse-step back to main one FAIL: gdb.reverse/solib-reverse.exp: reverse-step into solib function two FAIL: gdb.reverse/solib-reverse.exp: reverse-step within solib function two FAIL: gdb.reverse/solib-reverse.exp: reverse-step back to main two FAIL: gdb.reverse/solib-reverse.exp: run until end part two FAIL: gdb.reverse/solib-reverse.exp: reverse-next over solib function one ... Looking at the first FAIL for gdb.reverse/solib-precsave.exp, we have: ... (gdb) PASS: reverse-next first shr1 reverse-next^M 40 b[0] = 6; b[1] = 9; /* generic statement, end part two */^M (gdb) PASS: reverse-next generic reverse-step^M -shr2 (x=17) at gdb.reverse/shr2.c:23^M -23 }^M -(gdb) PASS: reverse-step into solib function one +38 b[1] = shr2(17); /* middle part two */^M +(gdb) FAIL: reverse-step into solib function one ... There's a difference in line number info for line 38, where for gcc-7 we have: ... Line number Starting address View Stmt 38 0x4005c6 x ... and for gcc-8: ... 38 0x4005c1 x 38 0x4005cb x ... which explains why we don't step directly into "solib function one". Fix this by recognizing the extra "recommended breakpoint location" and issuing an additional reverse-next/step. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-07-21 Tom de Vries <tdevries@suse.de> * gdb.reverse/solib-precsave.exp: Handle additional "recommended breakpoint locations". * gdb.reverse/solib-reverse.exp: Same.
2020-07-21[gdb/testsuite] Fix step-reverse.c with gcc-10Tom de Vries1-1/+1
The file gdb.reverse/step-reverse.c is used in test-cases: - gdb.reverse/step-reverse.exp - gdb.reverse/next-reverse-bkpt-over-sr.exp - gdb.reverse/step-precsave.exp With gcc-7, there are only PASSes (apart from one KFAIL), but with gcc-10, we have the following FAILs: ... FAIL: gdb.reverse/step-reverse.exp: reverse stepi from a function call \ (start statement) FAIL: gdb.reverse/step-reverse.exp: simple reverse stepi FAIL: gdb.reverse/step-reverse.exp: reverse step out of called fn FAIL: gdb.reverse/step-reverse.exp: reverse next over call FAIL: gdb.reverse/step-reverse.exp: reverse step test 1 FAIL: gdb.reverse/step-reverse.exp: reverse next test 1 FAIL: gdb.reverse/step-reverse.exp: reverse step test 2 FAIL: gdb.reverse/step-reverse.exp: reverse next test 2 FAIL: gdb.reverse/step-precsave.exp: reverse stepi from a function call \ (start statement) FAIL: gdb.reverse/step-precsave.exp: simple reverse stepi FAIL: gdb.reverse/step-precsave.exp: reverse step out of called fn FAIL: gdb.reverse/step-precsave.exp: reverse next over call FAIL: gdb.reverse/step-precsave.exp: reverse step test 1 FAIL: gdb.reverse/step-precsave.exp: reverse next test 1 FAIL: gdb.reverse/step-precsave.exp: reverse step test 2 FAIL: gdb.reverse/step-precsave.exp: reverse next test 2 ... Looking at the first step-precsave.exp FAIL, we have: ... (gdb) stepi^M 26 myglob++; return 0; /* ARRIVED IN CALLEE */^M (gdb) PASS: gdb.reverse/step-precsave.exp: reverse stepi thru function return stepi^M 0x000000000040055f 26 myglob++; return 0; /* ARRIVED IN CALLEE */^M (gdb) FAIL: gdb.reverse/step-precsave.exp: reverse stepi from a function call \ (start statement) ... There's a difference in line info for callee: ... 25 int callee() { /* ENTER CALLEE */ 26 myglob++; return 0; /* ARRIVED IN CALLEE */ 27 } /* RETURN FROM CALLEE */ ... between gcc-7: ... Line number Starting address View Stmt 25 0x400557 x 26 0x40055b x 27 0x40056f x ... and gcc-10: ... 25 0x400552 x 26 0x400556 x 26 0x400565 x 27 0x40056a x ... The two "recommend breakpoint location" entries at line 26 are for the two statements ("myglob++" and "return 0"), but the test-case expects to hit line 26 only once. Fix this by rewriting the two statements into a single statement: ... - myglob++; return 0; /* ARRIVED IN CALLEE */ + return myglob++; /* ARRIVED IN CALLEE */ ... Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-07-21 Tom de Vries <tdevries@suse.de> * gdb.reverse/step-reverse.c (callee): Merge statements.
2020-05-06[gdb/testsuite] Fix gdb.reverse/consecutive-{precsave,reverse}.exp with gcc-8Tom de Vries2-2/+28
When running test-cases gdb.reverse/consecutive-precsave.exp and gdb.reverse/consecutive-reverse.exp with gcc-8, we get: ... FAIL: gdb.reverse/consecutive-precsave.exp: stopped at bp, 2nd instr FAIL: gdb.reverse/consecutive-reverse.exp: stopped at bp, 2nd instr ... These FAILs are duplicates of the FAILs fixed in commit 7c99e7e2b08 "[gdb/testsuite] Fix gdb.base/consecutive.exp with gcc-8". Fix these in the same manner. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-05-06 Tom de Vries <tdevries@suse.de> * gdb.reverse/consecutive-precsave.exp: Handle if instruction after breakpoint is at a "recommended breakpoint location". * gdb.reverse/consecutive-reverse.exp: Same.
2020-05-01[gdb/testsuite] Fix Wunused-result warning in until-reverse.cTom de Vries1-1/+2
When running test-case gdb.reverse/until-reverse.exp or gdb.reverse/until-precsave.exp with gcc-10, we run into a Wunused-result warning: ... gdb compile failed, gdb.reverse/until-reverse.c: In function 'main': gdb.reverse/until-reverse.c:40:14: warning: ignoring return value of \ 'malloc' declared with attribute 'warn_unused_result' [-Wunused-result] 40 | (void) malloc (1); | ^~~~~~~~~~ ... Fix this by using the result of malloc as argument to a free call. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-05-01 Tom de Vries <tdevries@suse.de> * gdb.reverse/until-reverse.c (main): Fix Wunused-result warning.
2020-01-01Update copyright year range in all GDB files.Joel Brobecker74-74/+74
gdb/ChangeLog: Update copyright year range in all GDB files.
2019-10-26[gdb] Fix more typos in comments (2)Tom de Vries1-1/+1
Fix typos in comments. NFC. Tested on x86_64-linux. gdb/ChangeLog: 2019-10-26 Tom de Vries <tdevries@suse.de> * aarch64-linux-tdep.c: Fix typos in comments. * aarch64-tdep.c: Same. * ada-lang.c: Same. * amd64-nat.c: Same. * arc-tdep.c: Same. * arch/aarch64-insn.c: Same. * block.c: Same. * breakpoint.h: Same. * btrace.h: Same. * c-varobj.c: Same. * cli/cli-decode.c: Same. * cli/cli-script.c: Same. * cli/cli-utils.h: Same. * coff-pe-read.c: Same. * coffread.c: Same. * compile/compile-cplus-symbols.c: Same. * compile/compile-object-run.c: Same. * completer.c: Same. * corelow.c: Same. * cp-support.c: Same. * demangle.c: Same. * dwarf-index-write.c: Same. * dwarf2-frame.c: Same. * dwarf2-frame.h: Same. * eval.c: Same. * frame-base.h: Same. * frame.h: Same. * gdbcmd.h: Same. * gdbtypes.h: Same. * gnu-nat.c: Same. * guile/scm-objfile.c: Same. * i386-tdep.c: Same. * i386-tdep.h: Same. * infcall.c: Same. * infcall.h: Same. * linux-nat.c: Same. * m68k-tdep.c: Same. * macroexp.c: Same. * memattr.c: Same. * mi/mi-cmd-disas.c: Same. * mi/mi-getopt.h: Same. * mi/mi-main.c: Same. * minsyms.c: Same. * nat/aarch64-sve-linux-sigcontext.h: Same. * objfiles.h: Same. * ppc-linux-nat.c: Same. * ppc-linux-tdep.c: Same. * ppc-tdep.h: Same. * progspace.h: Same. * prologue-value.h: Same. * python/py-evtregistry.c: Same. * python/py-instruction.h: Same. * record-btrace.c: Same. * record-full.c: Same. * remote.c: Same. * rs6000-tdep.c: Same. * ser-tcp.c: Same. * sol-thread.c: Same. * sparc-sol2-tdep.c: Same. * sparc64-tdep.c: Same. * stabsread.c: Same. * symfile.c: Same. * symtab.h: Same. * target.c: Same. * tracepoint.c: Same. * tui/tui-data.h: Same. * tui/tui-io.c: Same. * tui/tui-win.c: Same. * tui/tui.c: Same. * unittests/rsp-low-selftests.c: Same. * user-regs.h: Same. * utils.c: Same. * utils.h: Same. * valarith.c: Same. * valops.c: Same. * valprint.c: Same. * valprint.h: Same. * value.c: Same. * value.h: Same. * varobj.c: Same. * x86-nat.h: Same. * xtensa-tdep.c: Same. gdb/gdbserver/ChangeLog: 2019-10-26 Tom de Vries <tdevries@suse.de> * linux-aarch64-low.c: Fix typos in comments. * linux-arm-low.c: Same. * linux-low.c: Same. * linux-ppc-low.c: Same. * proc-service.c: Same. * regcache.h: Same. * server.c: Same. * tracepoint.c: Same. * win32-low.c: Same. gdb/stubs/ChangeLog: 2019-10-26 Tom de Vries <tdevries@suse.de> * ia64vms-stub.c: Fix typos in comments. * m32r-stub.c: Same. * m68k-stub.c: Same. * sh-stub.c: Same. gdb/testsuite/ChangeLog: 2019-10-26 Tom de Vries <tdevries@suse.de> * gdb.base/bigcore.c: Fix typos in comments. * gdb.base/ctf-ptype.c: Same. * gdb.base/long_long.c: Same. * gdb.dwarf2/dw2-op-out-param.S: Same. * gdb.python/py-evthreads.c: Same. * gdb.reverse/i387-stack-reverse.c: Same. * gdb.trace/tfile.c: Same. * lib/compiler.c: Same. * lib/compiler.cc: Same. Change-Id: I8573d84a577894270179ae30f46c48d806fc1beb
2019-10-25[gdb/testsuite] Use -wrap and $gdb_test_name in gdb_test_multiple calls (2)Tom de Vries6-51/+37
Make gdb_test_multiple calls shorter by using new gdb_test_multiple variable $gdb_test_name and new gdb_test_multiple pattern flag -wrap. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-10-25 Tom de Vries <tdevries@suse.de> * gdb.reverse/sigall-precsave.exp: Use -wrap and $gdb_test_name in gdb_test_multiple calls. * gdb.reverse/sigall-reverse.exp: Same. * gdb.reverse/solib-precsave.exp: Same. * gdb.reverse/solib-reverse.exp: Same. * gdb.reverse/until-precsave.exp: Same. * gdb.reverse/until-reverse.exp: Same. Change-Id: I67bb327d069dbc439410996bcfe6c7f905b2ca52
2019-10-24[gdb/testsuite] Add -wrap pattern flag to gdb_test_multipleTom de Vries1-11/+7
Currently, in order to rewrite: ... gdb_test <command> <pattern> <message> ... using gdb_test_multiple, we get: ... gdb_test_multiple <command> <message> { -re "\[\r\n\]*(?:<pattern>)\[\r\n\]+$gdb_prompt $" { pass $gdb_test_name } } ... Add a '-wrap pattern flag to gdb_test_multiple, that wraps the regexp pattern as gdb_test wraps its message argument. This allows us to rewrite into the more compact: ... gdb_test_multiple <command> <message> { -re -wrap <pattern> { pass $gdb_test_name } } ... Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-10-24 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (gdb_test_multiple): Add -wrap pattern flag. * gdb.reverse/step-precsave.exp: Rewrite gdb_test_multiple containing kfail using -wrap pattern flag and convenience variable gdb_test_name. Change-Id: Ie42c97d5ab7acf6db351299ccd23a83540fe6e1a
2019-10-13[gdb/testsuite] Add KFAIL for missing support of reverse-debugging xsaveTom de Vries7-8/+71
Normally the gdb.reverse/*.exp test-cases pass on my system (apart from the record/23188 KFAIL for gdb.reverse/step-precsave.exp). But when specifying GLIBC_TUNABLES=glibc.tune.hwcaps=-XSAVEC_Usable to force glibc to use _dl_runtime_resolve_xsave instead of _dl_runtime_resolve_xsavec, we run into 1054 FAILs like this: ... (gdb) PASS: gdb.reverse/sigall-reverse.exp: b gen_HUP continue^M Continuing.^M Process record does not support instruction 0xfae64 at address \ 0x7ffff7ded958.^M Process record: failed to record execution log.^M ^M Program stopped.^M 0x00007ffff7ded958 in _dl_runtime_resolve_xsave () from \ /lib64/ld-linux-x86-64.so.2^M (gdb) FAIL: gdb.reverse/sigall-reverse.exp: get signal ABRT ... The problem is that the xsave instruction is not supported in reverse-debugging (PR record/25038). Add KFAILs for this PR. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-10-13 Tom de Vries <tdevries@suse.de> PR record/25038 * gdb.reverse/sigall-precsave.exp: Add PR record/25038 KFAIL. * gdb.reverse/sigall-reverse.exp: Same. * gdb.reverse/solib-precsave.exp: Same. * gdb.reverse/solib-reverse.exp: Same. * gdb.reverse/step-precsave.exp: Same. * gdb.reverse/until-precsave.exp: Same. * gdb.reverse/until-reverse.exp: Same. * lib/gdb.exp (gdb_continue_to_breakpoint): Same.
2019-10-03gdb/testsuite: Make test names unique in gdb.reverse testsAndrew Burgess13-47/+86
Make test names unique in the gdb.reverse tests. On my local machine this removed 825 duplicate test names. It is possible that different setups might still encounter some duplicates. gdb/testsuite/ChangeLog: * gdb.reverse/break-precsave.exp: Make test names unique. * gdb.reverse/break-reverse.exp: Likewise. * gdb.reverse/finish-precsave.exp: Likewise. * gdb.reverse/finish-reverse.exp: Likewise. * gdb.reverse/machinestate-precsave.exp: Likewise. * gdb.reverse/machinestate.exp: Likewise. * gdb.reverse/readv-reverse.exp: Likewise. * gdb.reverse/recvmsg-reverse.exp: Likewise. * gdb.reverse/sigall-precsave.exp: Likewise. * gdb.reverse/sigall-reverse.exp: Likewise. * gdb.reverse/step-indirect-call-thunk.exp: Likewise. * gdb.reverse/watch-precsave.exp: Likewise. * gdb.reverse/watch-reverse.exp: Likewise.
2019-09-27[gdb/testsuite] Fix incomplete regexps in step-precsave.expTom de Vries1-2/+4
The commit 68f7d34dd50 "[gdb/testsuite] Add KFAIL for missing support of reverse-debugging of vmovd" rewrites a gdb_test into a gdb_test_multiple but forgets to add the $gdb_prompt part in the regexp. Add the missing parts of the regexps. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-09-27 Tom de Vries <tdevries@suse.de> * gdb.reverse/step-precsave.exp: Add missing $gdb_prompt in regexps.
2019-09-27[gdb/testsuite] Add KFAIL for missing support of reverse-debugging of vmovdTom de Vries1-1/+9
On my openSUSE Leap 15.1 system I run into: ... (gdb) PASS: gdb.reverse/step-precsave.exp: turn on process record break 76^M Breakpoint 2 at 0x400654: file step-reverse.c, line 76.^M (gdb) PASS: gdb.reverse/step-precsave.exp: breakpoint at end of main continue^M Continuing.^M Process record does not support instruction 0xc5 at address 0x7ffff783fc70.^M Process record: failed to record execution log.^M ^M Program stopped.^M 0x00007ffff783fc70 in __memset_avx2_unaligned_erms () from /lib64/libc.so.6^M (gdb) FAIL: gdb.reverse/step-precsave.exp: run to end of main ... The problem is that the vmovd instruction is not supported in reverse-debugging (PR record/23188). Add a KFAIL for this PR. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-09-27 Tom de Vries <tdevries@suse.de> PR record/23188 * gdb.reverse/step-precsave.exp: Add kfail for PR record/23188.
2019-01-01Update copyright year range in all GDB files.Joel Brobecker74-74/+74
This commit applies all changes made after running the gdb/copyright.py script. Note that one file was flagged by the script, due to an invalid copyright header (gdb/unittests/basic_string_view/element_access/char/empty.cc). As the file was copied from GCC's libstdc++-v3 testsuite, this commit leaves this file untouched for the time being; a patch to fix the header was sent to gcc-patches first. gdb/ChangeLog: Update copyright year range in all GDB files.
2018-04-13infrun: step through indirect branch thunksMarkus Metzger2-0/+136
With version 7.3 GCC supports new options -mindirect-branch=<choice> -mfunction-return=<choice> The choices are: keep behaves as before thunk jumps through a thunk thunk-external jumps through an external thunk thunk-inline jumps through an inlined thunk For thunk and thunk-external, GDB would, on a call to the thunk, step into the thunk and then resume to its caller assuming that this is an undebuggable function. On a return thunk, GDB would stop inside the thunk. Make GDB step through such thunks instead. Before: Temporary breakpoint 1, main () at gdb.base/step-indirect-call-thunk.c:37 37 x = apply (inc, 41); (gdb) s apply (op=0x80483e6 <inc>, x=41) at gdb.base/step-indirect-call-thunk.c:29 29 return op (x); (gdb) 30 } After: Temporary breakpoint 1, main () at gdb.base/step-indirect-call-thunk.c:37 37 x = apply (inc, 41); (gdb) s apply (op=0x80483e6 <inc>, x=41) at gdb.base/step-indirect-call-thunk.c:29 29 return op (x); (gdb) inc (x=41) at gdb.base/step-indirect-call-thunk.c:23 23 return x + 1; This is independent of the step-mode. In order to step into the thunk, you would need to use stepi. When stepping over an indirect call thunk, GDB would first step through the thunk, then recognize that it stepped into a sub-routine and resume to the caller (of the thunk). Not sure whether this is worth optimizing. Thunk detection is implemented via gdbarch. I implemented the methods for IA. Other architectures may run into unexpected fails. The tests assume a fixed number of instruction steps to reach a thunk. This depends on the compiler as well as the architecture. They may need adjustments when we add support for more architectures. Or we can simply drop those tests that cover being able to step into thunks using instruction stepping. When using an older GCC, the tests will fail to build and will be reported as untested: Running .../gdb.base/step-indirect-call-thunk.exp ... gdb compile failed, \ gcc: error: unrecognized command line option '-mindirect-branch=thunk' gcc: error: unrecognized command line option '-mfunction-return=thunk' === gdb Summary === # of untested testcases 1 gdb/ * infrun.c (process_event_stop_test): Call gdbarch_in_indirect_branch_thunk. * gdbarch.sh (in_indirect_branch_thunk): New. * gdbarch.c: Regenerated. * gdbarch.h: Regenerated. * x86-tdep.h: New. * x86-tdep.c: New. * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o. (HFILES_NO_SRCDIR): Add x86-tdep.h. (ALLDEPFILES): Add x86-tdep.c. * arch-utils.h (default_in_indirect_branch_thunk): New. * arch-utils.c (default_in_indirect_branch_thunk): New. * i386-tdep: Include x86-tdep.h. (i386_in_indirect_branch_thunk): New. (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch function. * amd64-tdep: Include x86-tdep.h. (amd64_in_indirect_branch_thunk): New. (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function. testsuite/ * gdb.base/step-indirect-call-thunk.exp: New. * gdb.base/step-indirect-call-thunk.c: New. * gdb.reverse/step-indirect-call-thunk.exp: New. * gdb.reverse/step-indirect-call-thunk.c: New.
2018-01-19Make tests expect [ \t]+ pattern instead of \t for "info reg" commandRuslan Kabatsayev4-190/+190
This will allow to format output of "info reg" command as we wish, without breaking the tests. In particular, it'll let us correctly align raw and natural values of the registers using spaces instead of current badly-working approach with tabs. This change is forwards- and backwards-compatible, so that the amended tests will work in the same way before and after reformatting patches (unless the tests check formatting, of course, but I've not come across any such tests). Some tests already used this expected pattern, so they didn't even have to be modified. Others are changed by this patch. I've checked this on a i386 system, with no noticeable differences in test results, so at least on i386 nothing seems to be broken by this. gdb/testsuite/ChangeLog: * gdb.arch/powerpc-d128-regs.exp: Replace expected "\[\t\]*" from "info reg" with "\[ \t\]*". * gdb.arch/altivec-regs.exp: Replace expected "\t" from "info reg" with "\[ \t\]+". * gdb.arch/s390-multiarch.exp: Ditto. * gdb.base/pc-fp.exp: Ditto. * gdb.reverse/i386-precsave.exp: Ditto. * gdb.reverse/i386-reverse.exp: Ditto. * gdb.reverse/i387-env-reverse.exp: Ditto. * gdb.reverse/i387-stack-reverse.exp: Ditto.
2018-01-02Update copyright year range in all GDB filesJoel Brobecker72-72/+72
gdb/ChangeLog: Update copyright year range in all GDB files
2017-06-12Don't always zero pad in print_*_charsTom Tromey1-47/+47
This changes print_octal_chars and print_decimal_chars to never zero pad, and changes print_binary_chars and print_hex_chars to only optionally zero-pad, based on a flag. ChangeLog 2017-06-12 Tom Tromey <tom@tromey.com> PR exp/16225: * valprint.h (print_binary_chars, print_hex_chars): Update. * valprint.c (val_print_type_code_int): Update. (print_binary_chars): Add "zero_pad" argument. (emit_octal_digit): New function. (print_octal_chars): Don't zero-pad. (print_decimal_chars): Likewise. (print_hex_chars): Add "zero_pad" argument. * sh64-tdep.c (sh64_do_fp_register): Update. * regcache.c (regcache::dump): Update. * printcmd.c (print_scalar_formatted): Update. * infcmd.c (default_print_one_register_info): Update. 2017-06-12 Tom Tromey <tom@tromey.com> PR exp/16225: * gdb.reverse/i386-sse-reverse.exp: Update tests. * gdb.arch/vsx-regs.exp: Update tests. * gdb.arch/s390-vregs.exp (hex128): New proc. Update test. * gdb.arch/altivec-regs.exp: Update tests.
2017-02-23PR21166: Validate rdrand/rdseed support separately in ↵Luis Machado1-9/+27
gdb.reverse/insn-reverse-x86.c As reported in PR21166, there are Intel processors out there that support rdrand but not rdseed. The fix is to verify both features separately and only run rdrand/rdseed tests if supported. gdb/testsuite/ChangeLog: 2017-02-23 Luis Machado <lgustavo@codesourcery.com> * gdb.reverse/insn-reverse.x86.c (check_rdrand_support): Renamed to ... (check_supported_features): ... this. Changed return type to void. (supports_rdseed): New static global. (rdseed): Check supports_rdseed. (initialize): Call check_supported_features.
2017-02-06[BZ 21005] Add support for Intel 64 rdrand and rdseed record/replayLuis Machado2-0/+263
This patch addresses BZ 21005, which is gdb failing to recognize an rdrand instruction. It enables support for both rdrand and rdseed and handles extended register addressing (R8~R15) for 16-bit, 32-bit and 64-bit. gdb/ChangeLog 2017-02-06 Luis Machado <lgustavo@codesourcery.com> * NEWS: Mention support for record/replay of Intel 64 rdrand and rdseed instructions. i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed. gdb/testsuite/ChangeLog: 2017-02-06 Luis Machado <lgustavo@codesourcery.com> * gdb.reverse/insn-reverse.c: Include insn-reverse-x86.c. * gdb.reverse/insn-reverse-x86.c: New file.
2017-01-26Missing ChangeLog and files for commit 8b00c176168dc7b0d78d0dc1f7d42f915375dc4aLuis Machado2-0/+175
This adds the missing testsuite files and Changelog entry.
2017-01-26Refactor gdb.reverse/insn-reverse.cLuis Machado1-125/+19
Changes in v2: - Renamed arch-specific files to insn-reverse-<arch>.c. - Adjusted according to reviews. This patch prepares things for an upcoming testcase for record/replay support on x86. As is, gdb.reverse/insn-reverse.c is divided into sections guarded by a few #if blocks, and right now it only handles arm/aarch64. If we move forward with requiring more tests for record/replay on different architectures, i think this has the potential to become cluttered with a lot of differing arch-specific code in the same file. I've broken up the main file into other files with arch-specific bits (insn-reverse-<arch>.c). The main file will hold the generic pieces that will take care of calling the tests. The arch-specific c files are then included at the top of the generic c file. I've also added a generic initialize function since we need to run pre-test checks on x86 to make sure the rdrand/rdseed instructions are supported, otherwise we will run into a SIGILL. The arch-specific files will implement their own initialize function with whatever makes sense. Right now the aarch64 and arm files have an empty initialization function. Does this look reasonable? gdb/testsuite/ChangeLog: 2017-01-26 Luis Machado <lgustavo@codesourcery.com> * gdb.reverse/insn-reverse.c: Move arm and aarch64 code to their own files. (initialize): New function conditionally defined. (testcases): Move within conditional block. (main): Call initialize. * gdb.reverse/insn-reverse-aarch64.c: New file, based on aarch64 bits of gdb.reverse/insn-reverse.c. * gdb.reverse/insn-reverse-arm.c: New file, based on arm bits of gdb.reverse/insn-reverse.c.
2017-01-01update copyright year range in GDB filesJoel Brobecker69-69/+69
This applies the second part of GDB's End of Year Procedure, which updates the copyright year range in all of GDB's files. gdb/ChangeLog: Update copyright year range in all GDB files.
2016-12-23Fix more cases of improper test namesLuis Machado32-33/+32
I noticed more occurrences of improper test names. The rather mechanical, tedious and large patch below addresses, hopefully, most of the leftover cases. As usual, another pair of eyes is welcome to check if missed something or did an invalid substitution. This patch also fixes the prepare_for_testing calls to pass proper test names. gdb/testsuite/ChangeLog: 2016-12-23 Luis Machado <lgustavo@codesourcery.com> Fix test names for the following files: * gdb.ada/exec_changed.exp * gdb.ada/info_types.exp * gdb.arch/aarch64-atomic-inst.exp * gdb.arch/aarch64-fp.exp * gdb.arch/altivec-abi.exp * gdb.arch/altivec-regs.exp * gdb.arch/amd64-byte.exp * gdb.arch/amd64-disp-step.exp * gdb.arch/amd64-dword.exp * gdb.arch/amd64-entry-value-inline.exp * gdb.arch/amd64-entry-value-param.exp * gdb.arch/amd64-entry-value-paramref.exp * gdb.arch/amd64-entry-value.exp * gdb.arch/amd64-i386-address.exp * gdb.arch/amd64-invalid-stack-middle.exp * gdb.arch/amd64-invalid-stack-top.exp * gdb.arch/amd64-optimout-repeat.exp * gdb.arch/amd64-prologue-skip.exp * gdb.arch/amd64-prologue-xmm.exp * gdb.arch/amd64-stap-special-operands.exp * gdb.arch/amd64-stap-wrong-subexp.exp * gdb.arch/amd64-tailcall-cxx.exp * gdb.arch/amd64-tailcall-noret.exp * gdb.arch/amd64-tailcall-ret.exp * gdb.arch/amd64-tailcall-self.exp * gdb.arch/amd64-word.exp * gdb.arch/arm-bl-branch-dest.exp * gdb.arch/arm-disp-step.exp * gdb.arch/arm-neon.exp * gdb.arch/arm-single-step-kernel-helper.exp * gdb.arch/avr-flash-qualifier.exp * gdb.arch/disp-step-insn-reloc.exp * gdb.arch/e500-abi.exp * gdb.arch/e500-regs.exp * gdb.arch/ftrace-insn-reloc.exp * gdb.arch/i386-avx512.exp * gdb.arch/i386-bp_permanent.exp * gdb.arch/i386-byte.exp * gdb.arch/i386-cfi-notcurrent.exp * gdb.arch/i386-disp-step.exp * gdb.arch/i386-dr3-watch.exp * gdb.arch/i386-float.exp * gdb.arch/i386-gnu-cfi.exp * gdb.arch/i386-mpx-map.exp * gdb.arch/i386-mpx-sigsegv.exp * gdb.arch/i386-mpx-simple_segv.exp * gdb.arch/i386-mpx.exp * gdb.arch/i386-permbkpt.exp * gdb.arch/i386-prologue.exp * gdb.arch/i386-signal.exp * gdb.arch/i386-size-overlap.exp * gdb.arch/i386-unwind.exp * gdb.arch/i386-word.exp * gdb.arch/mips-fcr.exp * gdb.arch/powerpc-d128-regs.exp * gdb.arch/powerpc-stackless.exp * gdb.arch/ppc64-atomic-inst.exp * gdb.arch/s390-stackless.exp * gdb.arch/s390-tdbregs.exp * gdb.arch/s390-vregs.exp * gdb.arch/sparc-sysstep.exp * gdb.arch/thumb-bx-pc.exp * gdb.arch/thumb-singlestep.exp * gdb.arch/thumb2-it.exp * gdb.arch/vsx-regs.exp * gdb.asm/asm-source.exp * gdb.base/a2-run.exp * gdb.base/advance.exp * gdb.base/all-bin.exp * gdb.base/anon.exp * gdb.base/args.exp * gdb.base/arithmet.exp * gdb.base/async-shell.exp * gdb.base/async.exp * gdb.base/attach-pie-noexec.exp * gdb.base/attach-twice.exp * gdb.base/auto-load.exp * gdb.base/bang.exp * gdb.base/bitfields.exp * gdb.base/break-always.exp * gdb.base/break-caller-line.exp * gdb.base/break-entry.exp * gdb.base/break-inline.exp * gdb.base/break-on-linker-gcd-function.exp * gdb.base/break-probes.exp * gdb.base/break.exp * gdb.base/breakpoint-shadow.exp * gdb.base/call-ar-st.exp * gdb.base/call-sc.exp * gdb.base/call-signal-resume.exp * gdb.base/call-strs.exp * gdb.base/callfuncs.exp * gdb.base/catch-fork-static.exp * gdb.base/catch-gdb-caused-signals.exp * gdb.base/catch-load.exp * gdb.base/catch-signal-fork.exp * gdb.base/catch-signal.exp * gdb.base/catch-syscall.exp * gdb.base/charset.exp * gdb.base/checkpoint.exp * gdb.base/chng-syms.exp * gdb.base/code-expr.exp * gdb.base/code_elim.exp * gdb.base/commands.exp * gdb.base/completion.exp * gdb.base/complex.exp * gdb.base/cond-expr.exp * gdb.base/condbreak.exp * gdb.base/consecutive.exp * gdb.base/continue-all-already-running.exp * gdb.base/coredump-filter.exp * gdb.base/corefile.exp * gdb.base/dbx.exp * gdb.base/debug-expr.exp * gdb.base/define.exp * gdb.base/del.exp * gdb.base/disabled-location.exp * gdb.base/disasm-end-cu.exp * gdb.base/disasm-optim.exp * gdb.base/display.exp * gdb.base/duplicate-bp.exp * gdb.base/ena-dis-br.exp * gdb.base/ending-run.exp * gdb.base/enumval.exp * gdb.base/environ.exp * gdb.base/eu-strip-infcall.exp * gdb.base/eval-avoid-side-effects.exp * gdb.base/eval-skip.exp * gdb.base/exitsignal.exp * gdb.base/expand-psymtabs.exp * gdb.base/filesym.exp * gdb.base/find-unmapped.exp * gdb.base/finish.exp * gdb.base/float.exp * gdb.base/foll-exec-mode.exp * gdb.base/foll-exec.exp * gdb.base/foll-fork.exp * gdb.base/fortran-sym-case.exp * gdb.base/freebpcmd.exp * gdb.base/func-ptr.exp * gdb.base/func-ptrs.exp * gdb.base/funcargs.exp * gdb.base/gcore-buffer-overflow.exp * gdb.base/gcore-relro-pie.exp * gdb.base/gcore-relro.exp * gdb.base/gcore.exp * gdb.base/gdb1090.exp * gdb.base/gdb11530.exp * gdb.base/gdb11531.exp * gdb.base/gdb1821.exp * gdb.base/gdbindex-stabs.exp * gdb.base/gdbvars.exp * gdb.base/hbreak.exp * gdb.base/hbreak2.exp * gdb.base/included.exp * gdb.base/infcall-input.exp * gdb.base/inferior-died.exp * gdb.base/infnan.exp * gdb.base/info-macros.exp * gdb.base/info-os.exp * gdb.base/info-proc.exp * gdb.base/info-shared.exp * gdb.base/info-target.exp * gdb.base/infoline.exp * gdb.base/interp.exp * gdb.base/interrupt.exp * gdb.base/jit-reader.exp * gdb.base/jit-simple.exp * gdb.base/kill-after-signal.exp * gdb.base/kill-detach-inferiors-cmd.exp * gdb.base/label.exp * gdb.base/langs.exp * gdb.base/ldbl_e308.exp * gdb.base/line-symtabs.exp * gdb.base/linespecs.exp * gdb.base/list.exp * gdb.base/long_long.exp * gdb.base/longest-types.exp * gdb.base/maint.exp * gdb.base/max-value-size.exp * gdb.base/memattr.exp * gdb.base/mips_pro.exp * gdb.base/morestack.exp * gdb.base/moribund-step.exp * gdb.base/multi-forks.exp * gdb.base/nested-addr.exp * gdb.base/nextoverexit.exp * gdb.base/noreturn-finish.exp * gdb.base/noreturn-return.exp * gdb.base/nostdlib.exp * gdb.base/offsets.exp * gdb.base/opaque.exp * gdb.base/pc-fp.exp * gdb.base/permissions.exp * gdb.base/print-symbol-loading.exp * gdb.base/prologue-include.exp * gdb.base/psymtab.exp * gdb.base/ptype.exp * gdb.base/random-signal.exp * gdb.base/randomize.exp * gdb.base/range-stepping.exp * gdb.base/readline-ask.exp * gdb.base/recpar.exp * gdb.base/recurse.exp * gdb.base/relational.exp * gdb.base/restore.exp * gdb.base/return-nodebug.exp * gdb.base/return.exp * gdb.base/run-after-attach.exp * gdb.base/save-bp.exp * gdb.base/scope.exp * gdb.base/sect-cmd.exp * gdb.base/set-lang-auto.exp * gdb.base/set-noassign.exp * gdb.base/setvar.exp * gdb.base/sigall.exp * gdb.base/sigbpt.exp * gdb.base/siginfo-addr.exp * gdb.base/siginfo-infcall.exp * gdb.base/siginfo-obj.exp * gdb.base/siginfo.exp * gdb.base/signals-state-child.exp * gdb.base/signest.exp * gdb.base/sigstep.exp * gdb.base/sizeof.exp * gdb.base/skip.exp * gdb.base/solib-corrupted.exp * gdb.base/solib-nodir.exp * gdb.base/solib-search.exp * gdb.base/stack-checking.exp * gdb.base/stale-infcall.exp * gdb.base/stap-probe.exp * gdb.base/start.exp * gdb.base/step-break.exp * gdb.base/step-bt.exp * gdb.base/step-line.exp * gdb.base/step-over-exit.exp * gdb.base/step-over-syscall.exp * gdb.base/step-resume-infcall.exp * gdb.base/step-test.exp * gdb.base/store.exp * gdb.base/structs3.exp * gdb.base/sym-file.exp * gdb.base/symbol-without-target_section.exp * gdb.base/term.exp * gdb.base/testenv.exp * gdb.base/ui-redirect.exp * gdb.base/until.exp * gdb.base/unwindonsignal.exp * gdb.base/value-double-free.exp * gdb.base/vla-datatypes.exp * gdb.base/vla-ptr.exp * gdb.base/vla-sideeffect.exp * gdb.base/volatile.exp * gdb.base/watch-cond-infcall.exp * gdb.base/watch-cond.exp * gdb.base/watch-non-mem.exp * gdb.base/watch-read.exp * gdb.base/watch-vfork.exp * gdb.base/watchpoint-cond-gone.exp * gdb.base/watchpoint-delete.exp * gdb.base/watchpoint-hw-hit-once.exp * gdb.base/watchpoint-hw.exp * gdb.base/watchpoint-stops-at-right-insn.exp * gdb.base/watchpoints.exp * gdb.base/wchar.exp * gdb.base/whatis-exp.exp * gdb.btrace/buffer-size.exp * gdb.btrace/data.exp * gdb.btrace/delta.exp * gdb.btrace/dlopen.exp * gdb.btrace/enable.exp * gdb.btrace/exception.exp * gdb.btrace/function_call_history.exp * gdb.btrace/gcore.exp * gdb.btrace/instruction_history.exp * gdb.btrace/nohist.exp * gdb.btrace/reconnect.exp * gdb.btrace/record_goto-step.exp * gdb.btrace/record_goto.exp * gdb.btrace/rn-dl-bind.exp * gdb.btrace/segv.exp * gdb.btrace/step.exp * gdb.btrace/stepi.exp * gdb.btrace/tailcall-only.exp * gdb.btrace/tailcall.exp * gdb.btrace/tsx.exp * gdb.btrace/unknown_functions.exp * gdb.btrace/vdso.exp * gdb.compile/compile-ifunc.exp * gdb.compile/compile-ops.exp * gdb.compile/compile-print.exp * gdb.compile/compile-setjmp.exp * gdb.cp/abstract-origin.exp * gdb.cp/ambiguous.exp * gdb.cp/annota2.exp * gdb.cp/annota3.exp * gdb.cp/anon-ns.exp * gdb.cp/anon-struct.exp * gdb.cp/anon-union.exp * gdb.cp/arg-reference.exp * gdb.cp/baseenum.exp * gdb.cp/bool.exp * gdb.cp/breakpoint.exp * gdb.cp/bs15503.exp * gdb.cp/call-c.exp * gdb.cp/casts.exp * gdb.cp/chained-calls.exp * gdb.cp/class2.exp * gdb.cp/classes.exp * gdb.cp/cmpd-minsyms.exp * gdb.cp/converts.exp * gdb.cp/cp-relocate.exp * gdb.cp/cpcompletion.exp * gdb.cp/cpexprs.exp * gdb.cp/cplabel.exp * gdb.cp/cplusfuncs.exp * gdb.cp/cpsizeof.exp * gdb.cp/ctti.exp * gdb.cp/derivation.exp * gdb.cp/destrprint.exp * gdb.cp/dispcxx.exp * gdb.cp/enum-class.exp * gdb.cp/exception.exp * gdb.cp/exceptprint.exp * gdb.cp/expand-psymtabs-cxx.exp * gdb.cp/expand-sals.exp * gdb.cp/extern-c.exp * gdb.cp/filename.exp * gdb.cp/formatted-ref.exp * gdb.cp/fpointer.exp * gdb.cp/gdb1355.exp * gdb.cp/gdb2495.exp * gdb.cp/hang.exp * gdb.cp/impl-this.exp * gdb.cp/infcall-dlopen.exp * gdb.cp/inherit.exp * gdb.cp/iostream.exp * gdb.cp/koenig.exp * gdb.cp/local.exp * gdb.cp/m-data.exp * gdb.cp/m-static.exp * gdb.cp/mb-ctor.exp * gdb.cp/mb-inline.exp * gdb.cp/mb-templates.exp * gdb.cp/member-name.exp * gdb.cp/member-ptr.exp * gdb.cp/meth-typedefs.exp * gdb.cp/method.exp * gdb.cp/method2.exp * gdb.cp/minsym-fallback.exp * gdb.cp/misc.exp * gdb.cp/namelessclass.exp * gdb.cp/namespace-enum.exp * gdb.cp/namespace-nested-import.exp * gdb.cp/namespace.exp * gdb.cp/nextoverthrow.exp * gdb.cp/no-dmgl-verbose.exp * gdb.cp/non-trivial-retval.exp * gdb.cp/noparam.exp * gdb.cp/nsdecl.exp * gdb.cp/nsimport.exp * gdb.cp/nsnested.exp * gdb.cp/nsnoimports.exp * gdb.cp/nsrecurs.exp * gdb.cp/nsstress.exp * gdb.cp/nsusing.exp * gdb.cp/operator.exp * gdb.cp/oranking.exp * gdb.cp/overload-const.exp * gdb.cp/overload.exp * gdb.cp/ovldbreak.exp * gdb.cp/ovsrch.exp * gdb.cp/paren-type.exp * gdb.cp/parse-lang.exp * gdb.cp/pass-by-ref.exp * gdb.cp/pr-1023.exp * gdb.cp/pr-1210.exp * gdb.cp/pr-574.exp * gdb.cp/pr10687.exp * gdb.cp/pr12028.exp * gdb.cp/pr17132.exp * gdb.cp/pr17494.exp * gdb.cp/pr9067.exp * gdb.cp/pr9167.exp * gdb.cp/pr9631.exp * gdb.cp/printmethod.exp * gdb.cp/psmang.exp * gdb.cp/psymtab-parameter.exp * gdb.cp/ptype-cv-cp.exp * gdb.cp/ptype-flags.exp * gdb.cp/re-set-overloaded.exp * gdb.cp/ref-types.exp * gdb.cp/rtti.exp * gdb.cp/scope-err.exp * gdb.cp/shadow.exp * gdb.cp/smartp.exp * gdb.cp/static-method.exp * gdb.cp/static-print-quit.exp * gdb.cp/temargs.exp * gdb.cp/templates.exp * gdb.cp/try_catch.exp * gdb.cp/typedef-operator.exp * gdb.cp/typeid.exp * gdb.cp/userdef.exp * gdb.cp/using-crash.exp * gdb.cp/var-tag.exp * gdb.cp/virtbase.exp * gdb.cp/virtfunc.exp * gdb.cp/virtfunc2.exp * gdb.cp/vla-cxx.exp * gdb.disasm/t01_mov.exp * gdb.disasm/t02_mova.exp * gdb.disasm/t03_add.exp * gdb.disasm/t04_sub.exp * gdb.disasm/t05_cmp.exp * gdb.disasm/t06_ari2.exp * gdb.disasm/t07_ari3.exp * gdb.disasm/t08_or.exp * gdb.disasm/t09_xor.exp * gdb.disasm/t10_and.exp * gdb.disasm/t11_logs.exp * gdb.disasm/t12_bit.exp * gdb.disasm/t13_otr.exp * gdb.dlang/circular.exp * gdb.dwarf2/arr-stride.exp * gdb.dwarf2/arr-subrange.exp * gdb.dwarf2/atomic-type.exp * gdb.dwarf2/bad-regnum.exp * gdb.dwarf2/bitfield-parent-optimized-out.exp * gdb.dwarf2/callframecfa.exp * gdb.dwarf2/clztest.exp * gdb.dwarf2/corrupt.exp * gdb.dwarf2/data-loc.exp * gdb.dwarf2/dup-psym.exp * gdb.dwarf2/dw2-anon-mptr.exp * gdb.dwarf2/dw2-anonymous-func.exp * gdb.dwarf2/dw2-bad-mips-linkage-name.exp * gdb.dwarf2/dw2-bad-unresolved.exp * gdb.dwarf2/dw2-basic.exp * gdb.dwarf2/dw2-canonicalize-type.exp * gdb.dwarf2/dw2-case-insensitive.exp * gdb.dwarf2/dw2-common-block.exp * gdb.dwarf2/dw2-compdir-oldgcc.exp * gdb.dwarf2/dw2-compressed.exp * gdb.dwarf2/dw2-const.exp * gdb.dwarf2/dw2-cp-infcall-ref-static.exp * gdb.dwarf2/dw2-cu-size.exp * gdb.dwarf2/dw2-dup-frame.exp * gdb.dwarf2/dw2-entry-value.exp * gdb.dwarf2/dw2-icycle.exp * gdb.dwarf2/dw2-ifort-parameter.exp * gdb.dwarf2/dw2-inline-break.exp * gdb.dwarf2/dw2-inline-param.exp * gdb.dwarf2/dw2-intercu.exp * gdb.dwarf2/dw2-intermix.exp * gdb.dwarf2/dw2-lexical-block-bare.exp * gdb.dwarf2/dw2-linkage-name-trust.exp * gdb.dwarf2/dw2-minsym-in-cu.exp * gdb.dwarf2/dw2-noloc.exp * gdb.dwarf2/dw2-op-call.exp * gdb.dwarf2/dw2-op-out-param.exp * gdb.dwarf2/dw2-opt-structptr.exp * gdb.dwarf2/dw2-param-error.exp * gdb.dwarf2/dw2-producer.exp * gdb.dwarf2/dw2-ranges-base.exp * gdb.dwarf2/dw2-ref-missing-frame.exp * gdb.dwarf2/dw2-reg-undefined.exp * gdb.dwarf2/dw2-regno-invalid.exp * gdb.dwarf2/dw2-restore.exp * gdb.dwarf2/dw2-restrict.exp * gdb.dwarf2/dw2-single-line-discriminators.exp * gdb.dwarf2/dw2-strp.exp * gdb.dwarf2/dw2-undefined-ret-addr.exp * gdb.dwarf2/dw2-unresolved.exp * gdb.dwarf2/dw2-var-zero-addr.exp * gdb.dwarf2/dw4-sig-types.exp * gdb.dwarf2/dwz.exp * gdb.dwarf2/dynarr-ptr.exp * gdb.dwarf2/enum-type.exp * gdb.dwarf2/gdb-index.exp * gdb.dwarf2/implptr-64bit.exp * gdb.dwarf2/implptr-optimized-out.exp * gdb.dwarf2/implptr.exp * gdb.dwarf2/implref-array.exp * gdb.dwarf2/implref-const.exp * gdb.dwarf2/implref-global.exp * gdb.dwarf2/implref-struct.exp * gdb.dwarf2/mac-fileno.exp * gdb.dwarf2/main-subprogram.exp * gdb.dwarf2/member-ptr-forwardref.exp * gdb.dwarf2/method-ptr.exp * gdb.dwarf2/missing-sig-type.exp * gdb.dwarf2/nonvar-access.exp * gdb.dwarf2/opaque-type-lookup.exp * gdb.dwarf2/pieces-optimized-out.exp * gdb.dwarf2/pieces.exp * gdb.dwarf2/pr10770.exp * gdb.dwarf2/pr13961.exp * gdb.dwarf2/staticvirtual.exp * gdb.dwarf2/subrange.exp * gdb.dwarf2/symtab-producer.exp * gdb.dwarf2/trace-crash.exp * gdb.dwarf2/typeddwarf.exp * gdb.dwarf2/valop.exp * gdb.dwarf2/watch-notconst.exp * gdb.fortran/array-element.exp * gdb.fortran/charset.exp * gdb.fortran/common-block.exp * gdb.fortran/complex.exp * gdb.fortran/derived-type-function.exp * gdb.fortran/derived-type.exp * gdb.fortran/logical.exp * gdb.fortran/module.exp * gdb.fortran/multi-dim.exp * gdb.fortran/nested-funcs.exp * gdb.fortran/print-formatted.exp * gdb.fortran/subarray.exp * gdb.fortran/vla-alloc-assoc.exp * gdb.fortran/vla-datatypes.exp * gdb.fortran/vla-history.exp * gdb.fortran/vla-ptr-info.exp * gdb.fortran/vla-ptype-sub.exp * gdb.fortran/vla-ptype.exp * gdb.fortran/vla-sizeof.exp * gdb.fortran/vla-type.exp * gdb.fortran/vla-value-sub-arbitrary.exp * gdb.fortran/vla-value-sub-finish.exp * gdb.fortran/vla-value-sub.exp * gdb.fortran/vla-value.exp * gdb.fortran/whatis_type.exp * gdb.go/chan.exp * gdb.go/handcall.exp * gdb.go/hello.exp * gdb.go/integers.exp * gdb.go/methods.exp * gdb.go/package.exp * gdb.go/strings.exp * gdb.go/types.exp * gdb.go/unsafe.exp * gdb.guile/scm-arch.exp * gdb.guile/scm-block.exp * gdb.guile/scm-breakpoint.exp * gdb.guile/scm-cmd.exp * gdb.guile/scm-disasm.exp * gdb.guile/scm-equal.exp * gdb.guile/scm-frame-args.exp * gdb.guile/scm-frame-inline.exp * gdb.guile/scm-frame.exp * gdb.guile/scm-iterator.exp * gdb.guile/scm-math.exp * gdb.guile/scm-objfile.exp * gdb.guile/scm-ports.exp * gdb.guile/scm-symbol.exp * gdb.guile/scm-symtab.exp * gdb.guile/scm-value-cc.exp * gdb.guile/types-module.exp * gdb.linespec/break-ask.exp * gdb.linespec/cpexplicit.exp * gdb.linespec/explicit.exp * gdb.linespec/keywords.exp * gdb.linespec/linespec.exp * gdb.linespec/ls-dollar.exp * gdb.linespec/ls-errs.exp * gdb.linespec/skip-two.exp * gdb.linespec/thread.exp * gdb.mi/mi-async.exp * gdb.mi/mi-basics.exp * gdb.mi/mi-break.exp * gdb.mi/mi-catch-load.exp * gdb.mi/mi-cli.exp * gdb.mi/mi-cmd-param-changed.exp * gdb.mi/mi-console.exp * gdb.mi/mi-detach.exp * gdb.mi/mi-disassemble.exp * gdb.mi/mi-eval.exp * gdb.mi/mi-file-transfer.exp * gdb.mi/mi-file.exp * gdb.mi/mi-fill-memory.exp * gdb.mi/mi-inheritance-syntax-error.exp * gdb.mi/mi-linespec-err-cp.exp * gdb.mi/mi-logging.exp * gdb.mi/mi-memory-changed.exp * gdb.mi/mi-read-memory.exp * gdb.mi/mi-record-changed.exp * gdb.mi/mi-reg-undefined.exp * gdb.mi/mi-regs.exp * gdb.mi/mi-return.exp * gdb.mi/mi-reverse.exp * gdb.mi/mi-simplerun.exp * gdb.mi/mi-solib.exp * gdb.mi/mi-stack.exp * gdb.mi/mi-stepi.exp * gdb.mi/mi-syn-frame.exp * gdb.mi/mi-until.exp * gdb.mi/mi-var-block.exp * gdb.mi/mi-var-child.exp * gdb.mi/mi-var-cmd.exp * gdb.mi/mi-var-cp.exp * gdb.mi/mi-var-display.exp * gdb.mi/mi-var-invalidate.exp * gdb.mi/mi-var-list-children-invalid-grandchild.exp * gdb.mi/mi-vla-fortran.exp * gdb.mi/mi-watch.exp * gdb.mi/mi2-var-child.exp * gdb.mi/user-selected-context-sync.exp * gdb.modula2/unbounded-array.exp * gdb.multi/dummy-frame-restore.exp * gdb.multi/multi-arch-exec.exp * gdb.multi/multi-arch.exp * gdb.multi/tids.exp * gdb.multi/watchpoint-multi.exp * gdb.opencl/callfuncs.exp * gdb.opencl/convs_casts.exp * gdb.opencl/datatypes.exp * gdb.opencl/operators.exp * gdb.opencl/vec_comps.exp * gdb.opt/clobbered-registers-O2.exp * gdb.opt/inline-break.exp * gdb.opt/inline-bt.exp * gdb.opt/inline-cmds.exp * gdb.opt/inline-locals.exp * gdb.pascal/case-insensitive-symbols.exp * gdb.pascal/floats.exp * gdb.pascal/gdb11492.exp * gdb.python/lib-types.exp * gdb.python/py-arch.exp * gdb.python/py-as-string.exp * gdb.python/py-bad-printers.exp * gdb.python/py-block.exp * gdb.python/py-breakpoint-create-fail.exp * gdb.python/py-breakpoint.exp * gdb.python/py-caller-is.exp * gdb.python/py-cmd.exp * gdb.python/py-explore-cc.exp * gdb.python/py-explore.exp * gdb.python/py-finish-breakpoint.exp * gdb.python/py-finish-breakpoint2.exp * gdb.python/py-frame-args.exp * gdb.python/py-frame-inline.exp * gdb.python/py-frame.exp * gdb.python/py-framefilter-mi.exp * gdb.python/py-infthread.exp * gdb.python/py-lazy-string.exp * gdb.python/py-linetable.exp * gdb.python/py-mi-events.exp * gdb.python/py-mi-objfile.exp * gdb.python/py-mi.exp * gdb.python/py-objfile.exp * gdb.python/py-pp-integral.exp * gdb.python/py-pp-maint.exp * gdb.python/py-pp-re-notag.exp * gdb.python/py-pp-registration.exp * gdb.python/py-recurse-unwind.exp * gdb.python/py-strfns.exp * gdb.python/py-symbol.exp * gdb.python/py-symtab.exp * gdb.python/py-sync-interp.exp * gdb.python/py-typeprint.exp * gdb.python/py-unwind-maint.exp * gdb.python/py-unwind.exp * gdb.python/py-value-cc.exp * gdb.python/py-xmethods.exp * gdb.reverse/amd64-tailcall-reverse.exp * gdb.reverse/break-precsave.exp * gdb.reverse/break-reverse.exp * gdb.reverse/consecutive-precsave.exp * gdb.reverse/consecutive-reverse.exp * gdb.reverse/finish-precsave.exp * gdb.reverse/finish-reverse-bkpt.exp * gdb.reverse/finish-reverse.exp * gdb.reverse/fstatat-reverse.exp * gdb.reverse/getresuid-reverse.exp * gdb.reverse/i386-precsave.exp * gdb.reverse/i386-reverse.exp * gdb.reverse/i386-sse-reverse.exp * gdb.reverse/i387-env-reverse.exp * gdb.reverse/i387-stack-reverse.exp * gdb.reverse/insn-reverse.exp * gdb.reverse/machinestate-precsave.exp * gdb.reverse/machinestate.exp * gdb.reverse/next-reverse-bkpt-over-sr.exp * gdb.reverse/pipe-reverse.exp * gdb.reverse/readv-reverse.exp * gdb.reverse/recvmsg-reverse.exp * gdb.reverse/rerun-prec.exp * gdb.reverse/s390-mvcle.exp * gdb.reverse/step-precsave.exp * gdb.reverse/step-reverse.exp * gdb.reverse/time-reverse.exp * gdb.reverse/until-precsave.exp * gdb.reverse/until-reverse.exp * gdb.reverse/waitpid-reverse.exp * gdb.reverse/watch-precsave.exp * gdb.reverse/watch-reverse.exp * gdb.rust/generics.exp * gdb.rust/methods.exp * gdb.rust/modules.exp * gdb.rust/simple.exp * gdb.server/connect-with-no-symbol-file.exp * gdb.server/ext-attach.exp * gdb.server/ext-restart.exp * gdb.server/ext-wrapper.exp * gdb.server/file-transfer.exp * gdb.server/server-exec-info.exp * gdb.server/server-kill.exp * gdb.server/server-mon.exp * gdb.server/wrapper.exp * gdb.stabs/exclfwd.exp * gdb.stabs/gdb11479.exp * gdb.threads/clone-new-thread-event.exp * gdb.threads/corethreads.exp * gdb.threads/current-lwp-dead.exp * gdb.threads/dlopen-libpthread.exp * gdb.threads/gcore-thread.exp * gdb.threads/sigstep-threads.exp * gdb.threads/watchpoint-fork.exp * gdb.trace/actions-changed.exp * gdb.trace/backtrace.exp * gdb.trace/change-loc.exp * gdb.trace/circ.exp * gdb.trace/collection.exp * gdb.trace/disconnected-tracing.exp * gdb.trace/ftrace.exp * gdb.trace/mi-trace-frame-collected.exp * gdb.trace/mi-trace-unavailable.exp * gdb.trace/mi-traceframe-changed.exp * gdb.trace/mi-tsv-changed.exp * gdb.trace/no-attach-trace.exp * gdb.trace/passc-dyn.exp * gdb.trace/qtro.exp * gdb.trace/range-stepping.exp * gdb.trace/read-memory.exp * gdb.trace/save-trace.exp * gdb.trace/signal.exp * gdb.trace/status-stop.exp * gdb.trace/tfile.exp * gdb.trace/trace-break.exp * gdb.trace/trace-buffer-size.exp * gdb.trace/trace-condition.exp * gdb.trace/tracefile-pseudo-reg.exp * gdb.trace/tstatus.exp * gdb.trace/unavailable.exp * gdb.trace/while-dyn.exp * gdb.trace/while-stepping.exp
2016-12-01Fixup testcases outputting own name as a test name and standardize failed ↵Luis Machado2-6/+6
compilation messages Changes in v3: - Adjusted some testcases where the message "failed to compile" was not unique. Changes in v2: - Addressed comments from reviewers. - Fixed spurious whitespaces. - Changed compilation failure messages that included source/binary paths to ones that are short and deterministic. --- Another bit of cleanup to the testsuite. We have a number of tests that are not honoring the rule of not outputting their own name as a test name. I fixed up all the offenders i could find with the following regular expression: "(xfail|kfail|kpass|fail|pass|unsupported|untested) ([A-Za-z0-9]+|\\\$(.)*testfile(.)*)\.exp$" gdb/testsuite/ChangeLog: 2016-12-01 Luis Machado <lgustavo@codesourcery.com> Fix test names and standardize compilation error messages throughout the following files: * gdb.ada/start.exp * gdb.arch/alpha-step.exp * gdb.arch/e500-prologue.exp * gdb.arch/ftrace-insn-reloc.exp * gdb.arch/gdb1291.exp * gdb.arch/gdb1431.exp * gdb.arch/gdb1558.exp * gdb.arch/i386-dr3-watch.exp * gdb.arch/i386-sse-stack-align.exp * gdb.arch/ia64-breakpoint-shadow.exp * gdb.arch/pa-nullify.exp * gdb.arch/powerpc-aix-prologue.exp * gdb.arch/thumb-bx-pc.exp * gdb.base/annota1.exp * gdb.base/annota3.exp * gdb.base/arrayidx.exp * gdb.base/assign.exp * gdb.base/attach.exp * gdb.base/auxv.exp * gdb.base/bang.exp * gdb.base/bfp-test.exp * gdb.base/bigcore.exp * gdb.base/bitfields2.exp * gdb.base/break-fun-addr.exp * gdb.base/break-probes.exp * gdb.base/call-rt-st.exp * gdb.base/callexit.exp * gdb.base/catch-fork-kill.exp * gdb.base/charset.exp * gdb.base/checkpoint.exp * gdb.base/comprdebug.exp * gdb.base/constvars.exp * gdb.base/coredump-filter.exp * gdb.base/cursal.exp * gdb.base/cvexpr.exp * gdb.base/detach.exp * gdb.base/display.exp * gdb.base/dmsym.exp * gdb.base/dprintf-pending.exp * gdb.base/dso2dso.exp * gdb.base/dtrace-probe.exp * gdb.base/dump.exp * gdb.base/enum_cond.exp * gdb.base/exe-lock.exp * gdb.base/exec-invalid-sysroot.exp * gdb.base/execl-update-breakpoints.exp * gdb.base/exprs.exp * gdb.base/fileio.exp * gdb.base/find.exp * gdb.base/finish.exp * gdb.base/fixsection.exp * gdb.base/foll-vfork.exp * gdb.base/frame-args.exp * gdb.base/gcore.exp * gdb.base/gdb1250.exp * gdb.base/global-var-nested-by-dso.exp * gdb.base/gnu-ifunc.exp * gdb.base/hashline1.exp * gdb.base/hashline2.exp * gdb.base/hashline3.exp * gdb.base/hbreak-in-shr-unsupported.exp * gdb.base/huge.exp * gdb.base/infcall-input.exp * gdb.base/info-fun.exp * gdb.base/info-shared.exp * gdb.base/jit-simple.exp * gdb.base/jit-so.exp * gdb.base/jit.exp * gdb.base/jump.exp * gdb.base/label.exp * gdb.base/lineinc.exp * gdb.base/logical.exp * gdb.base/longjmp.exp * gdb.base/macscp.exp * gdb.base/miscexprs.exp * gdb.base/new-ui-echo.exp * gdb.base/new-ui-pending-input.exp * gdb.base/new-ui.exp * gdb.base/nodebug.exp * gdb.base/nofield.exp * gdb.base/offsets.exp * gdb.base/overlays.exp * gdb.base/pending.exp * gdb.base/pointers.exp * gdb.base/pr11022.exp * gdb.base/printcmds.exp * gdb.base/prologue.exp * gdb.base/ptr-typedef.exp * gdb.base/realname-expand.exp * gdb.base/relativedebug.exp * gdb.base/relocate.exp * gdb.base/remote.exp * gdb.base/reread.exp * gdb.base/return2.exp * gdb.base/savedregs.exp * gdb.base/sep.exp * gdb.base/sepdebug.exp * gdb.base/sepsymtab.exp * gdb.base/set-inferior-tty.exp * gdb.base/setshow.exp * gdb.base/shlib-call.exp * gdb.base/sigaltstack.exp * gdb.base/siginfo-addr.exp * gdb.base/signals.exp * gdb.base/signull.exp * gdb.base/sigrepeat.exp * gdb.base/so-impl-ld.exp * gdb.base/solib-display.exp * gdb.base/solib-overlap.exp * gdb.base/solib-search.exp * gdb.base/solib-symbol.exp * gdb.base/structs.exp * gdb.base/structs2.exp * gdb.base/symtab-search-order.exp * gdb.base/twice.exp * gdb.base/unload.exp * gdb.base/varargs.exp * gdb.base/watchpoint-solib.exp * gdb.base/watchpoint.exp * gdb.base/whatis.exp * gdb.base/wrong_frame_bt_full.exp * gdb.btrace/dlopen.exp * gdb.cell/ea-standalone.exp * gdb.cell/ea-test.exp * gdb.cp/dispcxx.exp * gdb.cp/gdb2384.exp * gdb.cp/method2.exp * gdb.cp/nextoverthrow.exp * gdb.cp/pr10728.exp * gdb.disasm/am33.exp * gdb.disasm/h8300s.exp * gdb.disasm/mn10300.exp * gdb.disasm/sh3.exp * gdb.dwarf2/dw2-dir-file-name.exp * gdb.fortran/complex.exp * gdb.fortran/library-module.exp * gdb.guile/scm-pretty-print.exp * gdb.guile/scm-symbol.exp * gdb.guile/scm-type.exp * gdb.guile/scm-value.exp * gdb.linespec/linespec.exp * gdb.mi/gdb701.exp * gdb.mi/gdb792.exp * gdb.mi/mi-breakpoint-changed.exp * gdb.mi/mi-dprintf-pending.exp * gdb.mi/mi-dprintf.exp * gdb.mi/mi-exit-code.exp * gdb.mi/mi-pending.exp * gdb.mi/mi-solib.exp * gdb.mi/new-ui-mi-sync.exp * gdb.mi/pr11022.exp * gdb.mi/user-selected-context-sync.exp * gdb.opt/solib-intra-step.exp * gdb.python/py-events.exp * gdb.python/py-finish-breakpoint.exp * gdb.python/py-mi.exp * gdb.python/py-prettyprint.exp * gdb.python/py-shared.exp * gdb.python/py-symbol.exp * gdb.python/py-template.exp * gdb.python/py-type.exp * gdb.python/py-value.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/solib-reverse.exp * gdb.server/solib-list.exp * gdb.stabs/weird.exp * gdb.threads/reconnect-signal.exp * gdb.threads/stepi-random-signal.exp * gdb.trace/actions.exp * gdb.trace/ax.exp * gdb.trace/backtrace.exp * gdb.trace/change-loc.exp * gdb.trace/deltrace.exp * gdb.trace/ftrace-lock.exp * gdb.trace/ftrace.exp * gdb.trace/infotrace.exp * gdb.trace/mi-tracepoint-changed.exp * gdb.trace/packetlen.exp * gdb.trace/passcount.exp * gdb.trace/pending.exp * gdb.trace/range-stepping.exp * gdb.trace/report.exp * gdb.trace/stap-trace.exp * gdb.trace/tfind.exp * gdb.trace/trace-break.exp * gdb.trace/trace-condition.exp * gdb.trace/trace-enable-disable.exp * gdb.trace/trace-mt.exp * gdb.trace/tracecmd.exp * gdb.trace/tspeed.exp * gdb.trace/tsv.exp * lib/perftest.exp
2016-12-01Fix test names starting with uppercase using multi-line gdb_test/mi_gdb_testLuis Machado9-9/+9
This fixes offender testcases that have test names starting with uppercase when using gdb_test/mi_gdb_test in a multi-line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado <lgustavo@codesourcery.com> Fix test names starting with uppercase throughout the files. * gdb.ada/array_return.exp * gdb.ada/expr_delims.exp * gdb.ada/mi_dyn_arr.exp * gdb.ada/mi_interface.exp * gdb.ada/mi_var_array.exp * gdb.ada/watch_arg.exp * gdb.arch/alpha-step.exp * gdb.arch/altivec-regs.exp * gdb.arch/e500-regs.exp * gdb.arch/powerpc-d128-regs.exp * gdb.base/arrayidx.exp * gdb.base/break.exp * gdb.base/checkpoint.exp * gdb.base/debug-expr.exp * gdb.base/dmsym.exp * gdb.base/radix.exp * gdb.base/sepdebug.exp * gdb.base/testenv.exp * gdb.base/watch_thread_num.exp * gdb.base/watchpoint-cond-gone.exp * gdb.cell/break.exp * gdb.cell/ea-cache.exp * gdb.compile/compile.exp * gdb.cp/gdb2495.exp * gdb.gdb/selftest.exp * gdb.gdb/xfullpath.exp * gdb.go/hello.exp * gdb.go/integers.exp * gdb.objc/basicclass.exp * gdb.pascal/hello.exp * gdb.pascal/integers.exp * gdb.python/py-breakpoint.exp * gdb.python/py-cmd.exp * gdb.python/py-linetable.exp * gdb.python/py-xmethods.exp * gdb.python/python.exp * gdb.reverse/consecutive-precsave.exp * gdb.reverse/finish-precsave.exp * gdb.reverse/i386-precsave.exp * gdb.reverse/machinestate-precsave.exp * gdb.reverse/sigall-precsave.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/step-precsave.exp * gdb.reverse/until-precsave.exp * gdb.reverse/watch-precsave.exp * gdb.threads/leader-exit.exp * gdb.threads/pthreads.exp * gdb.threads/wp-replication.exp * gdb.trace/actions.exp * gdb.trace/mi-tsv-changed.exp * gdb.trace/tsv.exp
2016-12-01Fix test names starting with uppercase using gdb_test_no_outputLuis Machado34-34/+34
This fixes offender testcases that have test names starting with uppercase when using gdb_test_no_output in a single-line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado <lgustavo@codesourcery.com> Fix test names starting with uppercase throughout the files. * gdb.base/charset.exp * gdb.base/eval.exp * gdb.base/multi-forks.exp * gdb.guile/scm-progspace.exp * gdb.opencl/datatypes.exp * gdb.python/py-block.exp * gdb.python/py-function.exp * gdb.python/py-symbol.exp * gdb.python/py-symtab.exp * gdb.python/py-xmethods.exp * gdb.reverse/break-precsave.exp * gdb.reverse/break-reverse.exp * gdb.reverse/consecutive-precsave.exp * gdb.reverse/consecutive-reverse.exp * gdb.reverse/finish-precsave.exp * gdb.reverse/finish-reverse-bkpt.exp * gdb.reverse/finish-reverse.exp * gdb.reverse/fstatat-reverse.exp * gdb.reverse/getresuid-reverse.exp * gdb.reverse/i386-precsave.exp * gdb.reverse/i386-reverse.exp * gdb.reverse/i386-sse-reverse.exp * gdb.reverse/i387-stack-reverse.exp * gdb.reverse/insn-reverse.exp * gdb.reverse/machinestate-precsave.exp * gdb.reverse/machinestate.exp * gdb.reverse/next-reverse-bkpt-over-sr.exp * gdb.reverse/pipe-reverse.exp * gdb.reverse/readv-reverse.exp * gdb.reverse/recvmsg-reverse.exp * gdb.reverse/rerun-prec.exp * gdb.reverse/s390-mvcle.exp * gdb.reverse/sigall-precsave.exp * gdb.reverse/sigall-reverse.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/solib-reverse.exp * gdb.reverse/step-precsave.exp * gdb.reverse/step-reverse.exp * gdb.reverse/time-reverse.exp * gdb.reverse/until-precsave.exp * gdb.reverse/until-reverse.exp * gdb.reverse/waitpid-reverse.exp * gdb.reverse/watch-precsave.exp * gdb.reverse/watch-reverse.exp
2016-12-01Fix test names starting with uppercase using gdb_test on a single line.Luis Machado10-10/+10
Changes in v3: Fixed incorrect substitutions. This fixes offender testcases that have test names starting with uppercase when using gdb_test in a single line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado <lgustavo@codesourcery.com> Fix test names starting with uppercase throughout the files. * gdb.arch/i386-mpx-simple_segv.exp * gdb.arch/i386-mpx.exp * gdb.arch/i386-permbkpt.exp * gdb.arch/pa-nullify.exp * gdb.arch/powerpc-d128-regs.exp * gdb.arch/vsx-regs.exp * gdb.base/bfp-test.exp * gdb.base/break.exp * gdb.base/breakpoint-shadow.exp * gdb.base/callfuncs.exp * gdb.base/charset.exp * gdb.base/commands.exp * gdb.base/completion.exp * gdb.base/dfp-test.exp * gdb.base/echo.exp * gdb.base/ending-run.exp * gdb.base/eval.exp * gdb.base/expand-psymtabs.exp * gdb.base/float128.exp * gdb.base/floatn.exp * gdb.base/foll-exec-mode.exp * gdb.base/gdb1056.exp * gdb.base/gdb11531.exp * gdb.base/kill-after-signal.exp * gdb.base/multi-forks.exp * gdb.base/overlays.exp * gdb.base/pending.exp * gdb.base/sepdebug.exp * gdb.base/testenv.exp * gdb.base/valgrind-db-attach.exp * gdb.base/watch_thread_num.exp * gdb.base/watchpoint-cond-gone.exp * gdb.base/watchpoint.exp * gdb.base/watchpoints.exp * gdb.cp/arg-reference.exp * gdb.cp/baseenum.exp * gdb.cp/operator.exp * gdb.cp/shadow.exp * gdb.dwarf2/dw2-op-out-param.exp * gdb.dwarf2/dw2-reg-undefined.exp * gdb.go/chan.exp * gdb.go/hello.exp * gdb.go/integers.exp * gdb.go/methods.exp * gdb.go/package.exp * gdb.guile/scm-parameter.exp * gdb.guile/scm-progspace.exp * gdb.guile/scm-value.exp * gdb.mi/mi-pending.exp * gdb.mi/user-selected-context-sync.exp * gdb.multi/multi-attach.exp * gdb.multi/tids.exp * gdb.opt/clobbered-registers-O2.exp * gdb.pascal/floats.exp * gdb.pascal/integers.exp * gdb.python/py-block.exp * gdb.python/py-events.exp * gdb.python/py-parameter.exp * gdb.python/py-symbol.exp * gdb.python/py-symtab.exp * gdb.python/py-type.exp * gdb.python/py-value.exp * gdb.python/py-xmethods.exp * gdb.python/python.exp * gdb.reverse/break-precsave.exp * gdb.reverse/consecutive-precsave.exp * gdb.reverse/finish-precsave.exp * gdb.reverse/i386-precsave.exp * gdb.reverse/machinestate-precsave.exp * gdb.reverse/sigall-precsave.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/step-precsave.exp * gdb.reverse/until-precsave.exp * gdb.reverse/watch-precsave.exp * gdb.server/ext-attach.exp * gdb.server/ext-restart.exp * gdb.server/ext-run.exp * gdb.server/ext-wrapper.exp * gdb.stabs/gdb11479.exp * gdb.stabs/weird.exp * gdb.threads/attach-many-short-lived-threads.exp * gdb.threads/kill.exp * gdb.threads/watchpoint-fork.exp
2016-12-01Fix test names starting with uppercase output by basic functionsLuis Machado5-9/+9
The following patch is based on the previous patch i sent and handles cases of test names that start with an uppercase letter. Test names should start with lowercase unless it starts with the name of a technology, architecture, ISA etc. This first patch addresses cases of test names output explicitly via xfail, kfail, kpass, fail, pass, unsupported, untested and also names set with the pattern "set test" and "set testname". gdb/testsuite/ChangeLog: 2016-12-01 Luis Machado <lgustavo@codesourcery.com> Fix test names starting with uppercase throughout all the files below. * gdb.ada/array_return.exp * gdb.ada/catch_ex.exp * gdb.ada/info_exc.exp * gdb.ada/mi_catch_ex.exp * gdb.ada/mi_dyn_arr.exp * gdb.ada/mi_ex_cond.exp * gdb.ada/mi_exc_info.exp * gdb.ada/mi_interface.exp * gdb.ada/mi_task_arg.exp * gdb.ada/mi_task_info.exp * gdb.ada/mi_var_array.exp * gdb.arch/alpha-step.exp * gdb.arch/amd64-disp-step.exp * gdb.arch/arm-disp-step.exp * gdb.arch/disp-step-insn-reloc.exp * gdb.arch/e500-prologue.exp * gdb.arch/ftrace-insn-reloc.exp * gdb.arch/gdb1558.exp * gdb.arch/i386-bp_permanent.exp * gdb.arch/i386-disp-step.exp * gdb.arch/i386-float.exp * gdb.arch/i386-gnu-cfi.exp * gdb.arch/ia64-breakpoint-shadow.exp * gdb.arch/mips16-thunks.exp * gdb.arch/pa-nullify.exp * gdb.arch/powerpc-aix-prologue.exp * gdb.arch/powerpc-power.exp * gdb.arch/ppc-dfp.exp * gdb.arch/s390-tdbregs.exp * gdb.arch/spu-info.exp * gdb.arch/spu-ls.exp * gdb.arch/thumb-bx-pc.exp * gdb.base/advance.exp * gdb.base/annota-input-while-running.exp * gdb.base/arrayidx.exp * gdb.base/asmlabel.exp * gdb.base/async.exp * gdb.base/attach-wait-input.exp * gdb.base/auto-connect-native-target.exp * gdb.base/batch-preserve-term-settings.exp * gdb.base/bfp-test.exp * gdb.base/bigcore.exp * gdb.base/bp-permanent.exp * gdb.base/break-always.exp * gdb.base/break-fun-addr.exp * gdb.base/break-idempotent.exp * gdb.base/break-main-file-remove-fail.exp * gdb.base/break-probes.exp * gdb.base/break-unload-file.exp * gdb.base/break.exp * gdb.base/call-ar-st.exp * gdb.base/call-rt-st.exp * gdb.base/call-sc.exp * gdb.base/call-signal-resume.exp * gdb.base/call-strs.exp * gdb.base/callexit.exp * gdb.base/callfuncs.exp * gdb.base/catch-gdb-caused-signals.exp * gdb.base/catch-signal-siginfo-cond.exp * gdb.base/catch-syscall.exp * gdb.base/compare-sections.exp * gdb.base/cond-eval-mode.exp * gdb.base/condbreak-call-false.exp * gdb.base/consecutive-step-over.exp * gdb.base/cursal.exp * gdb.base/disabled-location.exp * gdb.base/disasm-end-cu.exp * gdb.base/display.exp * gdb.base/double-prompt-target-event-error.exp * gdb.base/dprintf-bp-same-addr.exp * gdb.base/dprintf-detach.exp * gdb.base/dprintf-next.exp * gdb.base/dprintf-non-stop.exp * gdb.base/dprintf-pending.exp * gdb.base/dso2dso.exp * gdb.base/ending-run.exp * gdb.base/enum_cond.exp * gdb.base/examine-backward.exp * gdb.base/exe-lock.exp * gdb.base/exec-invalid-sysroot.exp * gdb.base/execl-update-breakpoints.exp * gdb.base/execution-termios.exp * gdb.base/fileio.exp * gdb.base/fixsection.exp * gdb.base/foll-exec-mode.exp * gdb.base/foll-exec.exp * gdb.base/fork-running-state.exp * gdb.base/frame-args.exp * gdb.base/fullpath-expand.exp * gdb.base/func-ptr.exp * gdb.base/gcore-relro-pie.exp * gdb.base/gdb1090.exp * gdb.base/gdb1555.exp * gdb.base/global-var-nested-by-dso.exp * gdb.base/gnu-ifunc.exp * gdb.base/hbreak-in-shr-unsupported.exp * gdb.base/hbreak-unmapped.exp * gdb.base/hook-stop.exp * gdb.base/infcall-input.exp * gdb.base/info-fun.exp * gdb.base/info-shared.exp * gdb.base/interrupt-noterm.exp * gdb.base/jit-so.exp * gdb.base/jit.exp * gdb.base/line-symtabs.exp * gdb.base/list.exp * gdb.base/longjmp.exp * gdb.base/macscp.exp * gdb.base/max-value-size.exp * gdb.base/nodebug.exp * gdb.base/nofield.exp * gdb.base/overlays.exp * gdb.base/paginate-after-ctrl-c-running.exp * gdb.base/paginate-bg-execution.exp * gdb.base/paginate-inferior-exit.exp * gdb.base/pending.exp * gdb.base/pr11022.exp * gdb.base/printcmds.exp * gdb.base/ptr-typedef.exp * gdb.base/ptype.exp * gdb.base/randomize.exp * gdb.base/range-stepping.exp * gdb.base/realname-expand.exp * gdb.base/relativedebug.exp * gdb.base/remote.exp * gdb.base/savedregs.exp * gdb.base/sepdebug.exp * gdb.base/set-noassign.exp * gdb.base/shlib-call.exp * gdb.base/shreloc.exp * gdb.base/sigaltstack.exp * gdb.base/sigbpt.exp * gdb.base/siginfo-addr.exp * gdb.base/siginfo-obj.exp * gdb.base/siginfo-thread.exp * gdb.base/signest.exp * gdb.base/signull.exp * gdb.base/sigrepeat.exp * gdb.base/skip.exp * gdb.base/so-impl-ld.exp * gdb.base/solib-corrupted.exp * gdb.base/solib-disc.exp * gdb.base/solib-display.exp * gdb.base/solib-overlap.exp * gdb.base/solib-search.exp * gdb.base/solib-symbol.exp * gdb.base/source-execution.exp * gdb.base/sss-bp-on-user-bp-2.exp * gdb.base/sss-bp-on-user-bp.exp * gdb.base/stack-checking.exp * gdb.base/stale-infcall.exp * gdb.base/step-break.exp * gdb.base/step-line.exp * gdb.base/step-over-exit.exp * gdb.base/step-test.exp * gdb.base/structs.exp * gdb.base/sym-file.exp * gdb.base/symtab-search-order.exp * gdb.base/term.exp * gdb.base/type-opaque.exp * gdb.base/unload.exp * gdb.base/until-nodebug.exp * gdb.base/until.exp * gdb.base/unwindonsignal.exp * gdb.base/watch-cond.exp * gdb.base/watch-non-mem.exp * gdb.base/watch_thread_num.exp * gdb.base/watchpoint-reuse-slot.exp * gdb.base/watchpoint-solib.exp * gdb.base/watchpoint.exp * gdb.btrace/dlopen.exp * gdb.cell/arch.exp * gdb.cell/break.exp * gdb.cell/bt.exp * gdb.cell/core.exp * gdb.cell/data.exp * gdb.cell/dwarfaddr.exp * gdb.cell/ea-cache.exp * gdb.cell/ea-standalone.exp * gdb.cell/ea-test.exp * gdb.cell/f-regs.exp * gdb.cell/fork.exp * gdb.cell/gcore.exp * gdb.cell/mem-access.exp * gdb.cell/ptype.exp * gdb.cell/registers.exp * gdb.cell/sizeof.exp * gdb.cell/solib-symbol.exp * gdb.cell/solib.exp * gdb.compile/compile-tls.exp * gdb.cp/exception.exp * gdb.cp/gdb2495.exp * gdb.cp/local.exp * gdb.cp/mb-inline.exp * gdb.cp/mb-templates.exp * gdb.cp/pr10687.exp * gdb.cp/pr9167.exp * gdb.cp/scope-err.exp * gdb.cp/templates.exp * gdb.cp/virtfunc.exp * gdb.dwarf2/dw2-dir-file-name.exp * gdb.dwarf2/dw2-single-line-discriminators.exp * gdb.fortran/complex.exp * gdb.fortran/library-module.exp * gdb.guile/guile.exp * gdb.guile/scm-cmd.exp * gdb.guile/scm-frame-inline.exp * gdb.guile/scm-objfile.exp * gdb.guile/scm-pretty-print.exp * gdb.guile/scm-symbol.exp * gdb.guile/scm-type.exp * gdb.guile/scm-value.exp * gdb.linespec/keywords.exp * gdb.linespec/ls-errs.exp * gdb.linespec/macro-relative.exp * gdb.linespec/thread.exp * gdb.mi/mi-breakpoint-changed.exp * gdb.mi/mi-dprintf-pending.exp * gdb.mi/mi-fullname-deleted.exp * gdb.mi/mi-logging.exp * gdb.mi/mi-pending.exp * gdb.mi/mi-solib.exp * gdb.mi/new-ui-mi-sync.exp * gdb.mi/user-selected-context-sync.exp * gdb.multi/dummy-frame-restore.exp * gdb.multi/multi-arch-exec.exp * gdb.multi/remove-inferiors.exp * gdb.multi/watchpoint-multi-exit.exp * gdb.opt/solib-intra-step.exp * gdb.perf/backtrace.exp * gdb.perf/single-step.exp * gdb.perf/skip-command.exp * gdb.perf/skip-prologue.exp * gdb.perf/solib.exp * gdb.python/lib-types.exp * gdb.python/py-as-string.exp * gdb.python/py-bad-printers.exp * gdb.python/py-block.exp * gdb.python/py-breakpoint.exp * gdb.python/py-cmd.exp * gdb.python/py-events.exp * gdb.python/py-evthreads.exp * gdb.python/py-finish-breakpoint.exp * gdb.python/py-finish-breakpoint2.exp * gdb.python/py-frame-inline.exp * gdb.python/py-frame.exp * gdb.python/py-inferior.exp * gdb.python/py-infthread.exp * gdb.python/py-mi.exp * gdb.python/py-objfile.exp * gdb.python/py-pp-maint.exp * gdb.python/py-pp-registration.exp * gdb.python/py-prettyprint.exp * gdb.python/py-recurse-unwind.exp * gdb.python/py-shared.exp * gdb.python/py-symbol.exp * gdb.python/py-symtab.exp * gdb.python/py-template.exp * gdb.python/py-type.exp * gdb.python/py-unwind-maint.exp * gdb.python/py-unwind.exp * gdb.python/py-value.exp * gdb.python/python.exp * gdb.reverse/finish-reverse-bkpt.exp * gdb.reverse/insn-reverse.exp * gdb.reverse/next-reverse-bkpt-over-sr.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/solib-reverse.exp * gdb.stabs/gdb11479.exp * gdb.stabs/weird.exp * gdb.threads/fork-child-threads.exp * gdb.threads/fork-plus-threads.exp * gdb.threads/fork-thread-pending.exp * gdb.threads/forking-threads-plus-breakpoint.exp * gdb.threads/hand-call-in-threads.exp * gdb.threads/interrupted-hand-call.exp * gdb.threads/linux-dp.exp * gdb.threads/local-watch-wrong-thread.exp * gdb.threads/next-while-other-thread-longjmps.exp * gdb.threads/non-ldr-exit.exp * gdb.threads/pending-step.exp * gdb.threads/print-threads.exp * gdb.threads/process-dies-while-detaching.exp * gdb.threads/process-dies-while-handling-bp.exp * gdb.threads/pthreads.exp * gdb.threads/queue-signal.exp * gdb.threads/reconnect-signal.exp * gdb.threads/signal-command-handle-nopass.exp * gdb.threads/signal-command-multiple-signals-pending.exp * gdb.threads/signal-delivered-right-thread.exp * gdb.threads/signal-sigtrap.exp * gdb.threads/sigthread.exp * gdb.threads/staticthreads.exp * gdb.threads/stepi-random-signal.exp * gdb.threads/thread-unwindonsignal.exp * gdb.threads/thread_check.exp * gdb.threads/thread_events.exp * gdb.threads/tid-reuse.exp * gdb.threads/tls-nodebug.exp * gdb.threads/tls-shared.exp * gdb.threads/tls-so_extern.exp * gdb.threads/tls.exp * gdb.threads/wp-replication.exp * gdb.trace/actions-changed.exp * gdb.trace/actions.exp * gdb.trace/backtrace.exp * gdb.trace/change-loc.exp * gdb.trace/collection.exp * gdb.trace/deltrace.exp * gdb.trace/disconnected-tracing.exp * gdb.trace/entry-values.exp * gdb.trace/ftrace-lock.exp * gdb.trace/ftrace.exp * gdb.trace/infotrace.exp * gdb.trace/mi-trace-frame-collected.exp * gdb.trace/mi-trace-unavailable.exp * gdb.trace/mi-traceframe-changed.exp * gdb.trace/mi-tracepoint-changed.exp * gdb.trace/mi-tsv-changed.exp * gdb.trace/no-attach-trace.exp * gdb.trace/packetlen.exp * gdb.trace/passc-dyn.exp * gdb.trace/passcount.exp * gdb.trace/pending.exp * gdb.trace/pr16508.exp * gdb.trace/qtro.exp * gdb.trace/range-stepping.exp * gdb.trace/read-memory.exp * gdb.trace/report.exp * gdb.trace/save-trace.exp * gdb.trace/signal.exp * gdb.trace/stap-trace.exp * gdb.trace/status-stop.exp * gdb.trace/strace.exp * gdb.trace/tfile.exp * gdb.trace/tfind.exp * gdb.trace/trace-break.exp * gdb.trace/trace-condition.exp * gdb.trace/trace-enable-disable.exp * gdb.trace/trace-mt.exp * gdb.trace/tracecmd.exp * gdb.trace/tracefile-pseudo-reg.exp * gdb.trace/tspeed.exp * gdb.trace/tstatus.exp * gdb.trace/tsv.exp * gdb.trace/unavailable.exp * gdb.trace/while-dyn.exp * gdb.trace/while-stepping.exp * lib/gdb-guile.exp * lib/gdb.exp * lib/mi-support.exp * lib/pascal.exp * lib/perftest.exp * lib/prelink-support.exp * lib/selftest-support.exp
2016-08-10Fix PR gdb/19187 (process record over a fork causes internal error)Pedro Alves1-2/+2
Right after a fork is detected, we detach breakpoints from the child (detach_breakpoints), which calls into target_remove_breakpoint with inferior_ptid pointing at the child process, but leaves the breakpoint marked inserted (in the parent). The problem is that record-full.c always deletes all knowledge of the breakpoint. Then when we later really delete the breakpoint from the parent, we fail the assertion, since the breakpoint is unexpectedly not found in the record-full.c breakpoint table. The fix is simply to not forget about the breakpoint if we're detaching it from a fork child. gdb/ChangeLog: 2016-08-10 Pedro Alves <palves@redhat.com> PR gdb/19187 * record-full.c (record_full_remove_breakpoint): Don't remove the breakpoint from the record_full_breakpoints VEC if we're detaching the breakpoint from a fork child. gdb/testsuite/ChangeLog: 2016-08-10 Pedro Alves <palves@redhat.com> PR gdb/19187 * gdb.reverse/waitpid-reverse.exp: Add comment and remove setup_kfails.
2016-04-27Rename gdb_load_shlibs to gdb_load_shlibSimon Marchi2-4/+4
Rename gdb_load_shlibs to gdb_load_shlib to reflect that it can only load a single shlib at the time. gdb/testsuite/ChangeLog: * lib/gdb.exp (gdb_load_shlibs): Rename to... (gdb_load_shlib): ... this. * gdb.arch/ftrace-insn-reloc.exp: Adjust gdb_load_shlibs -> gdb_load_shlib. * gdb.base/catch-load.exp (one_catch_load_test): Likewise. * gdb.base/ctxobj.exp: Likewise. * gdb.base/dprintf-pending.exp: Likewise. * gdb.base/dso2dso.exp: Likewise. * gdb.base/fixsection.exp: Likewise. * gdb.base/gcore-relro.exp: Likewise. * gdb.base/gdb1555.exp: Likewise. * gdb.base/global-var-nested-by-dso.exp: Likewise. * gdb.base/gnu-ifunc.exp: Likewise. * gdb.base/hbreak-in-shr-unsupported.exp: Likewise. * gdb.base/jit-so.exp (one_jit_test): Likewise. * gdb.base/pending.exp: Likewise. * gdb.base/print-file-var.exp: Likewise. * gdb.base/print-symbol-loading.exp: Likewise. * gdb.base/shlib-call.exp: Likewise. * gdb.base/shreloc.exp: Likewise. * gdb.base/so-impl-ld.exp: Likewise. * gdb.base/solib-disc.exp: Likewise. * gdb.base/solib-nodir.exp: Likewise. * gdb.base/solib-overlap.exp: Likewise. * gdb.base/solib-symbol.exp: Likewise. * gdb.base/solib-weak.exp (do_test): Likewise. * gdb.base/sym-file.exp: Likewise. * gdb.base/symtab-search-order.exp: Likewise. * gdb.base/type-opaque.exp: Likewise. * gdb.base/unload.exp: Likewise. * gdb.base/watchpoint-solib.exp: Likewise. * gdb.compile/compile.exp: Likewise. * gdb.cp/gdb2384.exp: Likewise. * gdb.cp/infcall-dlopen.exp: Likewise. * gdb.cp/re-set-overloaded.exp: Likewise. * gdb.fortran/library-module.exp: Likewise. * gdb.opt/solib-intra-step.exp: Likewise. * gdb.python/py-finish-breakpoint.exp: Likewise. * gdb.python/py-shared.exp: Likewise. * gdb.reverse/solib-precsave.exp: Likewise. * gdb.reverse/solib-reverse.exp: Likewise. * gdb.server/solib-list.exp: Likewise. * gdb.threads/dlopen-libpthread.exp: Likewise. * gdb.threads/tls-shared.exp: Likewise. * gdb.threads/tls-so_extern.exp: Likewise. * gdb.trace/change-loc.exp: Likewise. * gdb.trace/ftrace-lock.exp: Likewise. * gdb.trace/ftrace.exp: Likewise. * gdb.trace/mi-tracepoint-changed.exp (test_reconnect): Likewise. * gdb.trace/pending.exp: Likewise. * gdb.trace/range-stepping.exp: Likewise. * gdb.trace/strace.exp (strace_remove_socket): Likewise. (strace_info_marker): Likewise. (strace_probe_marker): Likewise. (strace_trace_on_same_addr): Likewise. (strace_trace_on_diff_addr): Likewise. * gdb.trace/trace-break.exp: Likewise. * gdb.trace/trace-condition.exp: Likewise. * gdb.trace/trace-mt.exp: Likewise.
2016-04-22Tweak gdb.reverse/step-precsave.exp and gdb.reverse/step-reverse.expYao Qi2-16/+26
I see the following test fail in arm-linux with -marm and -fomit-frame-pointer, step callee () at /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/step-reverse.c:27 27 } /* RETURN FROM CALLEE */ (gdb) step main () at /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/step-reverse.c:58 58 callee(); /* STEP INTO THIS CALL */ (gdb) FAIL: gdb.reverse/step-precsave.exp: reverse step into fn call As we can see, the "step" has already stepped into the function callee, but in the last line. The second "step" attempts to step to function body, but it goes out of callee, which isn't expected. The program is compiled with -marm and -fomit-frame-pointer, the function callee is prologue-less, because nothing needs to be saved on stack, (gdb) disassemble callee Dump of assembler code for function callee: 0x00010680 <+0>: movw r3, #2364 ; 0x93c 0x00010684 <+4>: movt r3, #2 0x00010688 <+8>: ldr r3, [r3] 0x0001068c <+12>: add r2, r3, #1 0x00010690 <+16>: movw r3, #2364 ; 0x93c 0x00010694 <+20>: movt r3, #2 0x00010698 <+24>: str r2, [r3] 0x0001069c <+28>: mov r3, #0 0x000106a0 <+32>: mov r0, r3 0x000106a4 <+36>: bx lr program stops at the 0x106a0 (passed the epilogue) after the first "step". When second "step" is executed, the stepping range is [0x10680-0x106a0], which starts from the first instruction of function callee (because it doesn't have prologue). infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=0, current thread [LWP 2461] at 0x1069c^M infrun: prepare_to_wait^M infrun: target_wait (-1.0.0, status) =^M infrun: 2461.2461.0 [LWP 2461],^M infrun: status->kind = stopped, signal = GDB_SIGNAL_TRAP^M infrun: TARGET_WAITKIND_STOPPED^M infrun: stop_pc = 0x10698^M infrun: stepping inside range [0x10680-0x106a0] When program goes out of the range, it stops at the caller of callee, and test fails. IOW, if function callee has prologue, the stepping range won't start from the first instruction of the function, and program stops at the prologue and test passes. IMO, GDB does nothing wrong, but test shouldn't expect the program stops in callee after the second "step". I decide to fix test rather than GDB. In this patch, I change to test to do one "step", and check the program is still in callee, then, do multiple "step" until program goes out of the callee. gdb/testsuite: 2016-04-22 Yao Qi <yao.qi@linaro.org> * gdb.reverse/step-precsave.exp: Do one step and test program stops in "callee" and do multiple steps until program goes out of "callee". * gdb.reverse/step-reverse.exp: Likewise.
2016-04-07Fix gdb.reverse/finish-reverse-bkpt.expYao Qi1-2/+7
I see the following fail on aarch64-linux break void_func Breakpoint 2 at 0x4007a0: file gdb/testsuite/gdb.reverse/finish-reverse.c, line 44. (gdb) PASS: gdb.reverse/finish-reverse-bkpt.exp: set breakpoint on void_func continue Continuing. Breakpoint 2, void_func () at gdb/testsuite/gdb.reverse/finish-reverse.c:44^M 44 void_test = 1; /* VOID FUNC */^M (gdb) PASS: gdb.reverse/finish-reverse-bkpt.exp: continue to breakpoint: void_func break *void_func^M Note: breakpoint 2 also set at pc 0x4007a0.^M Breakpoint 3 at 0x4007a0: file gdb/testsuite/gdb.reverse/finish-reverse.c, line 44. (gdb) PASS: gdb.reverse/finish-reverse-bkpt.exp: set breakpoint at void_func's entry reverse-finish^M Run back to call of #0 void_func () at gdb/testsuite/gdb.reverse/finish-reverse.c:44 main (argc=1, argv=0x7ffffffb78) at gdb/testsuite/gdb.reverse/finish-reverse.c:98 98 void_func (); /* call to void_func */^M (gdb) FAIL: gdb.reverse/finish-reverse-bkpt.exp: reverse-finish from void_func trips breakpoint at entry The test assumes that brekapoints on "void_func" and "*void_func" are set on different places because of function prologue. However, on aarch64-linux, there is no prologue in void_func, so two breakpoints are set at the same place (0x4007a0). (gdb) disassemble void_func Dump of assembler code for function void_func: 0x00000000004007a0 <+0>: adrp x0, 0x410000 0x00000000004007a4 <+4>: add x0, x0, #0xc14 0x00000000004007a8 <+8>: mov w1, #0x1 0x00000000004007ac <+12>: str w1, [x0] 0x00000000004007b0 <+16>: ret The fix to this problem is to single step forward before setting breakpoint on *void_func. gdb/testsuite: 2016-04-07 Yao Qi <yao.qi@linaro.org> * gdb.reverse/finish-reverse-bkpt.exp: Use temporary breakpoint. Execute "si" command.
2016-04-07Fix gdb.reverse/next-reverse-bkpt-over-sr.expYao Qi1-1/+2
I see the fail on aarch64-linux, (gdb) reverse-next Breakpoint 2, callee () at /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/step-reverse.c:26^M 26 myglob++; return 0; /* ARRIVED IN CALLEE */ (gdb) FAIL: gdb.reverse/next-reverse-bkpt-over-sr.exp: reverse-next over call trips user breakpoint at function entry The test expects program stops at line 25, but program stops at line 26. (gdb) maintenance info line-table objfile: /scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/testsuite/outputs/gdb.reverse/next-reverse-bkpt-over-sr/next-reverse-bkpt-over-sr ((struct objfile *) 0x613000002880) compunit_symtab: ((struct compunit_symtab *) 0x621000121760) symtab: /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/step-reverse.c ((struct symtab *) 0x6210001217e0) linetable: ((struct linetable *) 0x6210001520d0): INDEX LINE ADDRESS 0 25 0x0000000000400890 1 26 0x0000000000400890 2 27 0x00000000004008b0 (gdb) disassemble callee Dump of assembler code for function callee: 0x0000000000400890 <+0>: adrp x0, 0x410000 0x0000000000400894 <+4>: add x0, x0, #0xcac the line-table show that the first instruction of function callee is mapped line 25 and 26. I am not sure the line-table is correct, but it is not the point of this test. The goal of this test is to test program hits the breakpoint on the first instruction of function after 'reverse-next', so I change this test to expect the breakpoint number the program hits. gdb/testsuite: 2016-04-07 Yao Qi <yao.qi@linaro.org> * gdb.reverse/next-reverse-bkpt-over-sr.exp: Match the breakpoint number instead of the comments on some line.
2016-03-30Simplify gdb.reverse/until-reverse.cYao Qi3-9/+10
Nowadays, functions fprintf, printf and malloc are executed in gdb.reverse/until-reverse.c, so that it takes much time to record instructions inside them. This may cause timeout, and we had several fixes to bump the timeout, https://sourceware.org/ml/gdb-patches/2012-02/msg00038.html https://sourceware.org/ml/gdb-patches/2015-08/msg00186.html also I still see this on arm-linux, continue Continuing. Do you want to auto delete previous execution log entries when record/replay buffer becomes full (record full stop-at-limit)?([y] or n) n Process record: stopped by user. Program stopped. 0xf77021e6 in __linkin_atfork (newp=0xf7751748 <atfork_mem>) at ../nptl/sysdeps/unix/sysv/linux/register-atfork.c:117 117 ../nptl/sysdeps/unix/sysv/linux/register-atfork.c: No such file or directory. (gdb) FAIL: gdb.reverse/until-precsave.exp: run to end of main (got interactive prompt) however, I can't figure out how these functions (fprintf, printf and malloc) are related to the test itself. marker1 is a function from shared library too so we don't need these complicated libc functions at all. IMO, recording the instructions in these libc functions has nothing to do with the test itself except slow down the test. This patch is to remove the usage of fprintf and printf, and also move malloc to a dead code path. gdb/testsuite: 2016-03-30 Yao Qi <yao.qi@linaro.org> * gdb.reverse/until-precsave.exp: Match function name only. * gdb.reverse/until-reverse.c (main): Don't call fprintf nor printf. Move malloc to a condition block. * gdb.reverse/until-reverse.exp: Match function name only.
2016-03-24Add quotation mark in test messageYao Qi1-1/+1
I happen to see a quotation mark is missing the following test, gdb_test "break $end_location" \ "Breakpoint $decimal at .* line $end_location\." \ set breakpoint at end of main" so the test result is PASS: gdb.reverse/break-reverse.exp: set This patch is to add the missing quotation mark back, and the test result becomes PASS: gdb.reverse/break-reverse.exp: set breakpoint at end of main gdb/testsuite: 2016-03-24 Yao Qi <yao.qi@linaro.org> * gdb.reverse/break-reverse.exp: Add quotation mark in the test message.
2016-02-26Fix various bugs in arm_record_exreg_ld_st_insnYao Qi1-0/+43
This patch fixes various bugs in arm_record_exreg_ld_st_insn, and use gdb.reverse/insn-reverse.c to test more arm instructions. - Set flag SINGLE_REG correctly. In the arch reference manual, SING_REG is true when the bit 8 of instruction is zero. - Record the right D registers for instructions changing S registers. - Fix the order of length and address in record_buf_mem array. - Shift the offset by 2 instead of by 24. This patch also fixes one internal error, (gdb) PASS: gdb.reverse/finish-precsave.exp: BP at end of main continue^M Continuing.^M ../../binutils-gdb/gdb/utils.c:1072: internal-error: virtual memory exhausted.^M A problem internal to GDB has been detected,FAIL: gdb.reverse/finish-precsave.exp: run to end of main (GDB internal error) gdb: 2016-02-26 Yao Qi <yao.qi@linaro.org> * arm-tdep.c (arm_record_exreg_ld_st_insn): Set 'single_reg' per bit 8. Check bit 20 instead of bit 4 for VMOV instruction. Record D registers for instructions changing S registers. Change of the order of length and address in record_buf_mem array. gdb/testsuite: 2016-02-26 Yao Qi <yao.qi@linaro.org> * gdb.reverse/insn-reverse.c [__arm__] (ext_reg_load): New. [__arm__] (ext_reg_mov, ext_reg_push_pop): New. (testcases): Update.
2016-02-26Rename gdb.reverse/aarch64.{exp,c} to gdb.reverse/insn-reverse.{exp,c}Yao Qi2-0/+0
gdb/testsuite: 2016-02-26 Yao Qi <yao.qi@linaro.org> * gdb.reverse/aarch64.c: Rename to ... * gdb.reverse/insn-reverse.c: ... it. * gdb.reverse/aarch64.exp: Rename to ... * gdb.reverse/insn-reverse.exp: ... it.
2016-02-26Generalize gdb.reverse/aarch64.expYao Qi2-19/+56
I said we can generialize gdb.reverse/aarch64.exp for other architectures https://sourceware.org/ml/gdb-patches/2015-05/msg00482.html and here is the patch to change aarch64.exp so that it can be used to test for other architectures as well. gdb/testsuite: 2016-02-26 Yao Qi <yao.qi@linaro.org> * gdb.reverse/aarch64.c: [__aarch64__] Include arm_neon.h. (testcase_ftype): New. (testcases): New array. (n_testcases): New. (main): Call each element in testcases. * gdb.reverse/aarch64.exp: Remove is_aarch64_target check. (read_testcase): New. Do the tests in a loop.