binutils-gdb/gdb/testsuite/gdb.mi
Simon Marchi a0be7a3671 Fix gdb.mi/mi-stack.exp when gcc generates a stack protector
I see some failures in the gdb.mi/mi-stack.exp test.  The test runs to
the callee4 function:

  int callee4 (void)
  {
    int A=1;
    int B=2;
    int C;
    int D[3] = {0, 1, 2};

    C = A + B;
    return 0;
  }

and expects to be stopped at the A=1 line.  However, when gcc generates
some stack protection code, it will stop at the { instead, as shown by
this disassembly (after I did "break callee4" and "run"):

  (gdb) disassemble /s
  Dump of assembler code for function callee4:
  /home/simark/src/binutils-gdb/gdb/testsuite/gdb.mi/mi-stack.c:
  26	{
     0x00005555555546ca <+0>:	push   %rbp
     0x00005555555546cb <+1>:	mov    %rsp,%rbp
     0x00005555555546ce <+4>:	sub    $0x20,%rsp
  => 0x00005555555546d2 <+8>:	mov    %fs:0x28,%rax
     0x00005555555546db <+17>:	mov    %rax,-0x8(%rbp)
     0x00005555555546df <+21>:	xor    %eax,%eax

  27	  int A=1; /* callee4 begin */
     0x00005555555546e1 <+23>:	movl   $0x1,-0x20(%rbp)

  28	  int B=2;
     0x00005555555546e8 <+30>:	movl   $0x2,-0x1c(%rbp)

The rest of the test relies on execution stopping on the A=1, so many things
fail after that.  This patch uses mi_continue_to_line instead, to stop at the
A=1 line precisely.

gdb/testsuite/ChangeLog:

	* gdb.mi/mi-stack.exp (test_stack_frame_listing): Use
	mi_continue_to_line.
	* gdb.mi/mi-stack.c (callee4): Add comment.
2018-04-07 14:09:14 -04:00
..
ChangeLog-1999-2003
array.f Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
basics.c gdb: PR mi/20395: Fix -var-update for registers in frames 1 and up 2018-01-21 15:46:51 +00:00
dw2-ref-missing-frame-func.c [GDB/testsuite] Use %progbits in watch-loc.c 2018-03-02 11:52:54 +00:00
dw2-ref-missing-frame-main.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
dw2-ref-missing-frame.S Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
dw2-ref-missing-frame.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
gdb669.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
gdb680.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
gdb701.c
gdb701.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
gdb792.cc
gdb792.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
gdb2549.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
list-thread-groups-available.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
list-thread-groups-available.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-async-run.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-async-run.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-async.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-basics.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-break.exp wrong line number in breakpoint location 2018-01-21 23:14:50 -05:00
mi-breakpoint-changed.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-catch-load-so.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-catch-load.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-catch-load.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-cli.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-cmd-error.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-cmd-param-changed.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-condbreak-call-thr-state-mt.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-condbreak-call-thr-state-st.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-condbreak-call-thr-state.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-condbreak-call-thr-state.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-console.c
mi-console.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-detach.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-disassemble.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-dprintf-pending.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-dprintf-pending.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-dprintf-pendshr.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-dprintf.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-dprintf.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-editing.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-eval.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-exec-run.exp Testsuite: fully migrate to use_gdb_stub convenience func 2018-03-23 10:38:23 +01:00
mi-exit-code.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-exit-code.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-file-transfer.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-file.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-fill-memory.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-frame-regs.exp gdb: PR mi/20395: Fix -var-update for registers in frames 1 and up 2018-01-21 15:46:51 +00:00
mi-fullname-deleted.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-hack-cli.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-i-cmd.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-info-os.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-inheritance-syntax-error.cc
mi-inheritance-syntax-error.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-language.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-linespec-err-cp.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-linespec-err-cp.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-logging.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-memory-changed.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-nonstop-exit.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-nonstop.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-ns-stale-regcache.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-nsintrall.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-nsmoribund.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-nsthrexec.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-pending.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-pending.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-pendshr.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-pendshr2.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-pthreads.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-read-memory.c
mi-read-memory.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-record-changed.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-reg-undefined.S Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-reg-undefined.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-reg-undefined.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-regs.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-return.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-reverse.exp wrong line number in breakpoint location 2018-01-21 23:14:50 -05:00
mi-simplerun.exp wrong line number in breakpoint location 2018-01-21 23:14:50 -05:00
mi-solib.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-stack.c Fix gdb.mi/mi-stack.exp when gcc generates a stack protector 2018-04-07 14:09:14 -04:00
mi-stack.exp Fix gdb.mi/mi-stack.exp when gcc generates a stack protector 2018-04-07 14:09:14 -04:00
mi-start.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-start.exp Testsuite: fully migrate to use_gdb_stub convenience func 2018-03-23 10:38:23 +01:00
mi-stepi.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-stepn.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-stepn.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-syn-frame.c
mi-syn-frame.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-threads-interrupt.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-threads-interrupt.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-undefined-cmd.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-until.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-block.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-child-f.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-child.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-child.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-cmd.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-cp.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-cp.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-create-rtti.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-create-rtti.exp gdb: Don't store a thread-id for floating varobj 2018-01-21 15:47:28 +00:00
mi-var-display.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-invalidate.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-list-children-invalid-grandchild.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-list-children-invalid-grandchild.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-rtti.cc Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-var-rtti.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-vla-c99.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-vla-fortran.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-watch-nonstop.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi-watch.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi2-amd64-entry-value.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi2-amd64-entry-value.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi2-amd64-entry-value.s Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi2-prompt.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
mi2-var-child.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
new-ui-mi-sync.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
new-ui-mi-sync.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
non-stop-exit.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
non-stop.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
ns-stale-regcache.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
nsintrall.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
nsmoribund.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
nsthrexec.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
pending.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
pendshr1.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
pendshr2.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
pr11022.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
pr11022.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
pthreads.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
solib-lib.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
solib-main.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
testcmds
until.c
user-selected-context-sync.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
user-selected-context-sync.exp Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
var-cmd.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
vla.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
vla.f90 Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
watch-nonstop.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00