binutils-gdb/gdb/testsuite/gdb.base/list.exp

553 lines
18 KiB
Plaintext
Raw Normal View History

# Copyright 1992-2013 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This file was written by Fred Fish. (fnf@cygnus.com)
set testfile "list"
set binfile ${objdir}/${subdir}/${testfile}
# Need to download the header to the host.
remote_download host ${srcdir}/${subdir}/list0.h list0.h
if { [gdb_compile "${srcdir}/${subdir}/list0.c" "${binfile}0.o" object {debug}] != "" } {
* gdb.arch/altivec-abi.exp: Replace gdb_suppress_entire_file with untested followed by return combination. * gdb.arch/altivec-regs.exp: Likewise. * gdb.arch/e500-abi.exp: Likewise. * gdb.arch/e500-regs.exp: Likewise. * gdb.arch/gdb1291.exp: Likewise. * gdb.arch/gdb1431.exp: Likewise. * gdb.arch/gdb1558.exp: Likewise. * gdb.arch/i386-prologue.exp: Likewise. * gdb.arch/i386-unwind.exp: Likewise. * gdb.asm/asm-source.exp: Likewise. * gdb.base/a2-run.exp: Likewise. * gdb.base/advance.exp: Likewise. * gdb.base/all-bin.exp: Likewise. * gdb.base/annota1.exp: Likewise. * gdb.base/annota3.exp: Likewise. * gdb.base/args.exp: Likewise. * gdb.base/arithmet.exp: Likewise. * gdb.base/assign.exp: Likewise. * gdb.base/async.exp: Likewise. * gdb.base/attach.exp: Likewise. * gdb.base/bang.exp: Likewise. * gdb.base/bigcore.exp: Likewise. * gdb.base/bitfields.exp: Likewise. * gdb.base/bitfields2.exp: Likewise. * gdb.base/break.exp: Likewise. * gdb.base/call-sc.exp: Likewise. * gdb.base/call-strs.exp: Likewise. * gdb.base/callfuncs.exp: Likewise. * gdb.base/checkpoint.exp: Likewise. * gdb.base/chng-syms.exp: Likewise. * gdb.base/code-expr.exp: Likewise. * gdb.base/commands.exp: Likewise. * gdb.base/completion.exp: Likewise. * gdb.base/cond-expr.exp: Likewise. * gdb.base/condbreak.exp: Likewise. * gdb.base/consecutive.exp: Likewise. * gdb.base/constvars.exp: Likewise. * gdb.base/corefile.exp: Likewise. * gdb.base/cvexpr.exp: Likewise. * gdb.base/dbx.exp: Likewise. * gdb.base/define.exp: Likewise. * gdb.base/detach.exp: Likewise. * gdb.base/display.exp: Likewise. * gdb.base/dump.exp: Likewise. * gdb.base/ena-dis-br.exp: Likewise. * gdb.base/ending-run.exp: Likewise. * gdb.base/environ.exp: Likewise. * gdb.base/eval-skip.exp: Likewise. * gdb.base/exprs.exp: Likewise. * gdb.base/fileio.exp: Likewise. * gdb.base/finish.exp: Likewise. * gdb.base/float.exp: Likewise. * gdb.base/foll-exec.exp: Likewise. * gdb.base/foll-fork.exp: Likewise. * gdb.base/foll-vfork.exp: Likewise. * gdb.base/freebpcmd.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/gcore.exp: Likewise. * gdb.base/gdb1090.exp: Likewise. * gdb.base/gdb1250.exp: Likewise. * gdb.base/huge.exp: Likewise. * gdb.base/info-proc.exp: Likewise. * gdb.base/interrupt.exp: Likewise. * gdb.base/jump.exp: Likewise. * gdb.base/langs.exp: Likewise. * gdb.base/lineinc.exp: Likewise. * gdb.base/list.exp: Likewise. * gdb.base/logical.exp: Likewise. * gdb.base/long_long.exp: Likewise. * gdb.base/macscp.exp: Likewise. * gdb.base/maint.exp: Likewise. * gdb.base/mips_pro.exp: Likewise. * gdb.base/miscexprs.exp: Likewise. * gdb.base/multi-forks.exp: Likewise. * gdb.base/opaque.exp: Likewise. * gdb.base/overlays.exp: Likewise. * gdb.base/pc-fp.exp: Likewise. * gdb.base/pointers.exp: Likewise. * gdb.base/printcmds.exp: Likewise. * gdb.base/psymtab.exp: Likewise. * gdb.base/ptype.exp: Likewise. * gdb.base/recurse.exp: Likewise. * gdb.base/relational.exp: Likewise. * gdb.base/relocate.exp: Likewise. * gdb.base/remote.exp: Likewise. * gdb.base/reread.exp: Likewise. * gdb.base/restore.exp: Likewise. * gdb.base/return.exp: Likewise. * gdb.base/return2.exp: Likewise. * gdb.base/scope.exp: Likewise. * gdb.base/sect-cmd.exp: Likewise. * gdb.base/sep.exp: Likewise. * gdb.base/sepdebug.exp: Likewise. * gdb.base/setshow.exp: Likewise. * gdb.base/setvar.exp: Likewise. * gdb.base/sigall.exp: Likewise. * gdb.base/sigbpt.exp: Likewise. * gdb.base/signals.exp: Likewise. * gdb.base/signull.exp: Likewise. * gdb.base/sizeof.exp: Likewise. * gdb.base/solib.exp: Likewise. * gdb.base/step-line.exp: Likewise. * gdb.base/step-test.exp: Likewise. * gdb.base/structs.exp: Likewise. * gdb.base/structs2.exp: Likewise. * gdb.base/term.exp: Likewise. * gdb.base/twice.exp: Likewise. * gdb.base/until.exp: Likewise. * gdb.base/varargs.exp: Likewise. * gdb.base/volatile.exp: Likewise. * gdb.base/watchpoint.exp: Likewise. * gdb.base/whatis-exp.exp: Likewise. * gdb.base/whatis.exp: Likewise. * gdb.cp/ambiguous.exp: Likewise. * gdb.cp/annota2.exp: Likewise. * gdb.cp/annota3.exp: Likewise. * gdb.cp/bool.exp: Likewise. * gdb.cp/breakpoint.exp: Likewise. * gdb.cp/casts.exp: Likewise. * gdb.cp/class2.exp: Likewise. * gdb.cp/classes.exp: Likewise. * gdb.cp/cplusfuncs.exp: Likewise. * gdb.cp/ctti.exp: Likewise. * gdb.cp/derivation.exp: Likewise. * gdb.cp/exception.exp: Likewise. * gdb.cp/gdb1355.exp: Likewise. * gdb.cp/hang.exp: Likewise. * gdb.cp/inherit.exp: Likewise. * gdb.cp/local.exp: Likewise. * gdb.cp/m-data.exp: Likewise. * gdb.cp/m-static.exp: Likewise. * gdb.cp/member-ptr.exp: Likewise. * gdb.cp/method.exp: Likewise. * gdb.cp/misc.exp: Likewise. * gdb.cp/namespace.exp: Likewise. * gdb.cp/overload.exp: Likewise. * gdb.cp/ovldbreak.exp: Likewise. * gdb.cp/pr-1023.exp: Likewise. * gdb.cp/pr-1210.exp: Likewise. * gdb.cp/pr-574.exp: Likewise. * gdb.cp/printmethod.exp: Likewise. * gdb.cp/psmang.exp: Likewise. * gdb.cp/ref-params.exp: Likewise. * gdb.cp/ref-types.exp: Likewise. * gdb.cp/rtti.exp: Likewise. * gdb.cp/templates.exp: Likewise. * gdb.cp/try_catch.exp: Likewise. * gdb.cp/userdef.exp: Likewise. * gdb.cp/virtfunc.exp: Likewise. * gdb.disasm/am33.exp: Likewise. * gdb.disasm/h8300s.exp: Likewise. * gdb.disasm/mn10300.exp: Likewise. * gdb.disasm/sh3.exp: Likewise. * gdb.disasm/t01_mov.exp: Likewise. * gdb.disasm/t02_mova.exp: Likewise. * gdb.disasm/t03_add.exp: Likewise. * gdb.disasm/t04_sub.exp: Likewise. * gdb.disasm/t05_cmp.exp: Likewise. * gdb.disasm/t06_ari2.exp: Likewise. * gdb.disasm/t07_ari3.exp: Likewise. * gdb.disasm/t08_or.exp: Likewise. * gdb.disasm/t09_xor.exp: Likewise. * gdb.disasm/t10_and.exp: Likewise. * gdb.disasm/t11_logs.exp: Likewise. * gdb.disasm/t12_bit.exp: Likewise. * gdb.disasm/t13_otr.exp: Likewise. * gdb.hp/gdb.aCC/optimize.exp: Likewise. * gdb.hp/gdb.aCC/watch-cmd.exp: Likewise. * gdb.hp/gdb.base-hp/callfwmall.exp: Likewise. * gdb.hp/gdb.base-hp/dollar.exp: Likewise. * gdb.hp/gdb.base-hp/hwwatchbus.exp: Likewise. * gdb.hp/gdb.base-hp/pxdb.exp: Likewise. * gdb.hp/gdb.base-hp/reg-pa64.exp: Likewise. * gdb.hp/gdb.base-hp/reg.exp: Likewise. * gdb.hp/gdb.base-hp/sized-enum.exp: Likewise. * gdb.hp/gdb.compat/xdb1.exp: Likewise. * gdb.hp/gdb.compat/xdb3.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg01.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg02.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg03.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg04.exp: Likewise. * gdb.mi/gdb701.exp: Likewise. * gdb.mi/gdb792.exp: Likewise. * gdb.mi/mi-basics.exp: Likewise. * gdb.mi/mi-break.exp: Likewise. * gdb.mi/mi-cli.exp: Likewise. * gdb.mi/mi-console.exp: Likewise. * gdb.mi/mi-disassemble.exp: Likewise. * gdb.mi/mi-eval.exp: Likewise. * gdb.mi/mi-file.exp: Likewise. * gdb.mi/mi-read-memory.exp: Likewise. * gdb.mi/mi-regs.exp: Likewise. * gdb.mi/mi-return.exp: Likewise. * gdb.mi/mi-simplerun.exp: Likewise. * gdb.mi/mi-stack.exp: Likewise. * gdb.mi/mi-stepi.exp: Likewise. * gdb.mi/mi-syn-frame.exp: Likewise. * gdb.mi/mi-until.exp: Likewise. * gdb.mi/mi-var-block.exp: Likewise. * gdb.mi/mi-var-child.exp: Likewise. * gdb.mi/mi-var-cmd.exp: Likewise. * gdb.mi/mi-var-display.exp: Likewise. * gdb.mi/mi-watch.exp: Likewise. * gdb.mi/mi2-basics.exp: Likewise. * gdb.mi/mi2-break.exp: Likewise. * gdb.mi/mi2-cli.exp: Likewise. * gdb.mi/mi2-console.exp: Likewise. * gdb.mi/mi2-disassemble.exp: Likewise. * gdb.mi/mi2-eval.exp: Likewise. * gdb.mi/mi2-file.exp: Likewise. * gdb.mi/mi2-read-memory.exp: Likewise. * gdb.mi/mi2-regs.exp: Likewise. * gdb.mi/mi2-return.exp: Likewise. * gdb.mi/mi2-simplerun.exp: Likewise. * gdb.mi/mi2-stack.exp: Likewise. * gdb.mi/mi2-stepi.exp: Likewise. * gdb.mi/mi2-syn-frame.exp: Likewise. * gdb.mi/mi2-until.exp: Likewise. * gdb.mi/mi2-var-block.exp: Likewise. * gdb.mi/mi2-var-child.exp: Likewise. * gdb.mi/mi2-var-cmd.exp: Likewise. * gdb.mi/mi2-var-display.exp: Likewise. * gdb.mi/mi2-watch.exp: Likewise. * gdb.stabs/exclfwd.exp: Likewise. * gdb.stabs/weird.exp: Likewise. * gdb.threads/gcore-thread.exp: Likewise. * gdb.trace/actions.exp: Likewise. * gdb.trace/backtrace.exp: Likewise. * gdb.trace/circ.exp: Likewise. * gdb.trace/collection.exp: Likewise. * gdb.trace/deltrace.exp: Likewise. * gdb.trace/infotrace.exp: Likewise. * gdb.trace/limits.exp: Likewise. * gdb.trace/packetlen.exp: Likewise. * gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/passcount.exp: Likewise. * gdb.trace/report.exp: Likewise. * gdb.trace/save-trace.exp: Likewise. * gdb.trace/tfind.exp: Likewise. * gdb.trace/tracecmd.exp: Likewise. * gdb.trace/while-dyn.exp: Likewise. * gdb.trace/while-stepping.exp: Likewise.
2006-08-10 07:27:22 +02:00
untested list.exp
return -1
}
if { [gdb_compile "${srcdir}/${subdir}/list1.c" "${binfile}1.o" object {debug}] != "" } {
* gdb.arch/altivec-abi.exp: Replace gdb_suppress_entire_file with untested followed by return combination. * gdb.arch/altivec-regs.exp: Likewise. * gdb.arch/e500-abi.exp: Likewise. * gdb.arch/e500-regs.exp: Likewise. * gdb.arch/gdb1291.exp: Likewise. * gdb.arch/gdb1431.exp: Likewise. * gdb.arch/gdb1558.exp: Likewise. * gdb.arch/i386-prologue.exp: Likewise. * gdb.arch/i386-unwind.exp: Likewise. * gdb.asm/asm-source.exp: Likewise. * gdb.base/a2-run.exp: Likewise. * gdb.base/advance.exp: Likewise. * gdb.base/all-bin.exp: Likewise. * gdb.base/annota1.exp: Likewise. * gdb.base/annota3.exp: Likewise. * gdb.base/args.exp: Likewise. * gdb.base/arithmet.exp: Likewise. * gdb.base/assign.exp: Likewise. * gdb.base/async.exp: Likewise. * gdb.base/attach.exp: Likewise. * gdb.base/bang.exp: Likewise. * gdb.base/bigcore.exp: Likewise. * gdb.base/bitfields.exp: Likewise. * gdb.base/bitfields2.exp: Likewise. * gdb.base/break.exp: Likewise. * gdb.base/call-sc.exp: Likewise. * gdb.base/call-strs.exp: Likewise. * gdb.base/callfuncs.exp: Likewise. * gdb.base/checkpoint.exp: Likewise. * gdb.base/chng-syms.exp: Likewise. * gdb.base/code-expr.exp: Likewise. * gdb.base/commands.exp: Likewise. * gdb.base/completion.exp: Likewise. * gdb.base/cond-expr.exp: Likewise. * gdb.base/condbreak.exp: Likewise. * gdb.base/consecutive.exp: Likewise. * gdb.base/constvars.exp: Likewise. * gdb.base/corefile.exp: Likewise. * gdb.base/cvexpr.exp: Likewise. * gdb.base/dbx.exp: Likewise. * gdb.base/define.exp: Likewise. * gdb.base/detach.exp: Likewise. * gdb.base/display.exp: Likewise. * gdb.base/dump.exp: Likewise. * gdb.base/ena-dis-br.exp: Likewise. * gdb.base/ending-run.exp: Likewise. * gdb.base/environ.exp: Likewise. * gdb.base/eval-skip.exp: Likewise. * gdb.base/exprs.exp: Likewise. * gdb.base/fileio.exp: Likewise. * gdb.base/finish.exp: Likewise. * gdb.base/float.exp: Likewise. * gdb.base/foll-exec.exp: Likewise. * gdb.base/foll-fork.exp: Likewise. * gdb.base/foll-vfork.exp: Likewise. * gdb.base/freebpcmd.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/gcore.exp: Likewise. * gdb.base/gdb1090.exp: Likewise. * gdb.base/gdb1250.exp: Likewise. * gdb.base/huge.exp: Likewise. * gdb.base/info-proc.exp: Likewise. * gdb.base/interrupt.exp: Likewise. * gdb.base/jump.exp: Likewise. * gdb.base/langs.exp: Likewise. * gdb.base/lineinc.exp: Likewise. * gdb.base/list.exp: Likewise. * gdb.base/logical.exp: Likewise. * gdb.base/long_long.exp: Likewise. * gdb.base/macscp.exp: Likewise. * gdb.base/maint.exp: Likewise. * gdb.base/mips_pro.exp: Likewise. * gdb.base/miscexprs.exp: Likewise. * gdb.base/multi-forks.exp: Likewise. * gdb.base/opaque.exp: Likewise. * gdb.base/overlays.exp: Likewise. * gdb.base/pc-fp.exp: Likewise. * gdb.base/pointers.exp: Likewise. * gdb.base/printcmds.exp: Likewise. * gdb.base/psymtab.exp: Likewise. * gdb.base/ptype.exp: Likewise. * gdb.base/recurse.exp: Likewise. * gdb.base/relational.exp: Likewise. * gdb.base/relocate.exp: Likewise. * gdb.base/remote.exp: Likewise. * gdb.base/reread.exp: Likewise. * gdb.base/restore.exp: Likewise. * gdb.base/return.exp: Likewise. * gdb.base/return2.exp: Likewise. * gdb.base/scope.exp: Likewise. * gdb.base/sect-cmd.exp: Likewise. * gdb.base/sep.exp: Likewise. * gdb.base/sepdebug.exp: Likewise. * gdb.base/setshow.exp: Likewise. * gdb.base/setvar.exp: Likewise. * gdb.base/sigall.exp: Likewise. * gdb.base/sigbpt.exp: Likewise. * gdb.base/signals.exp: Likewise. * gdb.base/signull.exp: Likewise. * gdb.base/sizeof.exp: Likewise. * gdb.base/solib.exp: Likewise. * gdb.base/step-line.exp: Likewise. * gdb.base/step-test.exp: Likewise. * gdb.base/structs.exp: Likewise. * gdb.base/structs2.exp: Likewise. * gdb.base/term.exp: Likewise. * gdb.base/twice.exp: Likewise. * gdb.base/until.exp: Likewise. * gdb.base/varargs.exp: Likewise. * gdb.base/volatile.exp: Likewise. * gdb.base/watchpoint.exp: Likewise. * gdb.base/whatis-exp.exp: Likewise. * gdb.base/whatis.exp: Likewise. * gdb.cp/ambiguous.exp: Likewise. * gdb.cp/annota2.exp: Likewise. * gdb.cp/annota3.exp: Likewise. * gdb.cp/bool.exp: Likewise. * gdb.cp/breakpoint.exp: Likewise. * gdb.cp/casts.exp: Likewise. * gdb.cp/class2.exp: Likewise. * gdb.cp/classes.exp: Likewise. * gdb.cp/cplusfuncs.exp: Likewise. * gdb.cp/ctti.exp: Likewise. * gdb.cp/derivation.exp: Likewise. * gdb.cp/exception.exp: Likewise. * gdb.cp/gdb1355.exp: Likewise. * gdb.cp/hang.exp: Likewise. * gdb.cp/inherit.exp: Likewise. * gdb.cp/local.exp: Likewise. * gdb.cp/m-data.exp: Likewise. * gdb.cp/m-static.exp: Likewise. * gdb.cp/member-ptr.exp: Likewise. * gdb.cp/method.exp: Likewise. * gdb.cp/misc.exp: Likewise. * gdb.cp/namespace.exp: Likewise. * gdb.cp/overload.exp: Likewise. * gdb.cp/ovldbreak.exp: Likewise. * gdb.cp/pr-1023.exp: Likewise. * gdb.cp/pr-1210.exp: Likewise. * gdb.cp/pr-574.exp: Likewise. * gdb.cp/printmethod.exp: Likewise. * gdb.cp/psmang.exp: Likewise. * gdb.cp/ref-params.exp: Likewise. * gdb.cp/ref-types.exp: Likewise. * gdb.cp/rtti.exp: Likewise. * gdb.cp/templates.exp: Likewise. * gdb.cp/try_catch.exp: Likewise. * gdb.cp/userdef.exp: Likewise. * gdb.cp/virtfunc.exp: Likewise. * gdb.disasm/am33.exp: Likewise. * gdb.disasm/h8300s.exp: Likewise. * gdb.disasm/mn10300.exp: Likewise. * gdb.disasm/sh3.exp: Likewise. * gdb.disasm/t01_mov.exp: Likewise. * gdb.disasm/t02_mova.exp: Likewise. * gdb.disasm/t03_add.exp: Likewise. * gdb.disasm/t04_sub.exp: Likewise. * gdb.disasm/t05_cmp.exp: Likewise. * gdb.disasm/t06_ari2.exp: Likewise. * gdb.disasm/t07_ari3.exp: Likewise. * gdb.disasm/t08_or.exp: Likewise. * gdb.disasm/t09_xor.exp: Likewise. * gdb.disasm/t10_and.exp: Likewise. * gdb.disasm/t11_logs.exp: Likewise. * gdb.disasm/t12_bit.exp: Likewise. * gdb.disasm/t13_otr.exp: Likewise. * gdb.hp/gdb.aCC/optimize.exp: Likewise. * gdb.hp/gdb.aCC/watch-cmd.exp: Likewise. * gdb.hp/gdb.base-hp/callfwmall.exp: Likewise. * gdb.hp/gdb.base-hp/dollar.exp: Likewise. * gdb.hp/gdb.base-hp/hwwatchbus.exp: Likewise. * gdb.hp/gdb.base-hp/pxdb.exp: Likewise. * gdb.hp/gdb.base-hp/reg-pa64.exp: Likewise. * gdb.hp/gdb.base-hp/reg.exp: Likewise. * gdb.hp/gdb.base-hp/sized-enum.exp: Likewise. * gdb.hp/gdb.compat/xdb1.exp: Likewise. * gdb.hp/gdb.compat/xdb3.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg01.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg02.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg03.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg04.exp: Likewise. * gdb.mi/gdb701.exp: Likewise. * gdb.mi/gdb792.exp: Likewise. * gdb.mi/mi-basics.exp: Likewise. * gdb.mi/mi-break.exp: Likewise. * gdb.mi/mi-cli.exp: Likewise. * gdb.mi/mi-console.exp: Likewise. * gdb.mi/mi-disassemble.exp: Likewise. * gdb.mi/mi-eval.exp: Likewise. * gdb.mi/mi-file.exp: Likewise. * gdb.mi/mi-read-memory.exp: Likewise. * gdb.mi/mi-regs.exp: Likewise. * gdb.mi/mi-return.exp: Likewise. * gdb.mi/mi-simplerun.exp: Likewise. * gdb.mi/mi-stack.exp: Likewise. * gdb.mi/mi-stepi.exp: Likewise. * gdb.mi/mi-syn-frame.exp: Likewise. * gdb.mi/mi-until.exp: Likewise. * gdb.mi/mi-var-block.exp: Likewise. * gdb.mi/mi-var-child.exp: Likewise. * gdb.mi/mi-var-cmd.exp: Likewise. * gdb.mi/mi-var-display.exp: Likewise. * gdb.mi/mi-watch.exp: Likewise. * gdb.mi/mi2-basics.exp: Likewise. * gdb.mi/mi2-break.exp: Likewise. * gdb.mi/mi2-cli.exp: Likewise. * gdb.mi/mi2-console.exp: Likewise. * gdb.mi/mi2-disassemble.exp: Likewise. * gdb.mi/mi2-eval.exp: Likewise. * gdb.mi/mi2-file.exp: Likewise. * gdb.mi/mi2-read-memory.exp: Likewise. * gdb.mi/mi2-regs.exp: Likewise. * gdb.mi/mi2-return.exp: Likewise. * gdb.mi/mi2-simplerun.exp: Likewise. * gdb.mi/mi2-stack.exp: Likewise. * gdb.mi/mi2-stepi.exp: Likewise. * gdb.mi/mi2-syn-frame.exp: Likewise. * gdb.mi/mi2-until.exp: Likewise. * gdb.mi/mi2-var-block.exp: Likewise. * gdb.mi/mi2-var-child.exp: Likewise. * gdb.mi/mi2-var-cmd.exp: Likewise. * gdb.mi/mi2-var-display.exp: Likewise. * gdb.mi/mi2-watch.exp: Likewise. * gdb.stabs/exclfwd.exp: Likewise. * gdb.stabs/weird.exp: Likewise. * gdb.threads/gcore-thread.exp: Likewise. * gdb.trace/actions.exp: Likewise. * gdb.trace/backtrace.exp: Likewise. * gdb.trace/circ.exp: Likewise. * gdb.trace/collection.exp: Likewise. * gdb.trace/deltrace.exp: Likewise. * gdb.trace/infotrace.exp: Likewise. * gdb.trace/limits.exp: Likewise. * gdb.trace/packetlen.exp: Likewise. * gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/passcount.exp: Likewise. * gdb.trace/report.exp: Likewise. * gdb.trace/save-trace.exp: Likewise. * gdb.trace/tfind.exp: Likewise. * gdb.trace/tracecmd.exp: Likewise. * gdb.trace/while-dyn.exp: Likewise. * gdb.trace/while-stepping.exp: Likewise.
2006-08-10 07:27:22 +02:00
untested list.exp
return -1
}
if { [gdb_compile "${binfile}0.o ${binfile}1.o" ${binfile} executable {debug}] != "" } {
* gdb.arch/altivec-abi.exp: Replace gdb_suppress_entire_file with untested followed by return combination. * gdb.arch/altivec-regs.exp: Likewise. * gdb.arch/e500-abi.exp: Likewise. * gdb.arch/e500-regs.exp: Likewise. * gdb.arch/gdb1291.exp: Likewise. * gdb.arch/gdb1431.exp: Likewise. * gdb.arch/gdb1558.exp: Likewise. * gdb.arch/i386-prologue.exp: Likewise. * gdb.arch/i386-unwind.exp: Likewise. * gdb.asm/asm-source.exp: Likewise. * gdb.base/a2-run.exp: Likewise. * gdb.base/advance.exp: Likewise. * gdb.base/all-bin.exp: Likewise. * gdb.base/annota1.exp: Likewise. * gdb.base/annota3.exp: Likewise. * gdb.base/args.exp: Likewise. * gdb.base/arithmet.exp: Likewise. * gdb.base/assign.exp: Likewise. * gdb.base/async.exp: Likewise. * gdb.base/attach.exp: Likewise. * gdb.base/bang.exp: Likewise. * gdb.base/bigcore.exp: Likewise. * gdb.base/bitfields.exp: Likewise. * gdb.base/bitfields2.exp: Likewise. * gdb.base/break.exp: Likewise. * gdb.base/call-sc.exp: Likewise. * gdb.base/call-strs.exp: Likewise. * gdb.base/callfuncs.exp: Likewise. * gdb.base/checkpoint.exp: Likewise. * gdb.base/chng-syms.exp: Likewise. * gdb.base/code-expr.exp: Likewise. * gdb.base/commands.exp: Likewise. * gdb.base/completion.exp: Likewise. * gdb.base/cond-expr.exp: Likewise. * gdb.base/condbreak.exp: Likewise. * gdb.base/consecutive.exp: Likewise. * gdb.base/constvars.exp: Likewise. * gdb.base/corefile.exp: Likewise. * gdb.base/cvexpr.exp: Likewise. * gdb.base/dbx.exp: Likewise. * gdb.base/define.exp: Likewise. * gdb.base/detach.exp: Likewise. * gdb.base/display.exp: Likewise. * gdb.base/dump.exp: Likewise. * gdb.base/ena-dis-br.exp: Likewise. * gdb.base/ending-run.exp: Likewise. * gdb.base/environ.exp: Likewise. * gdb.base/eval-skip.exp: Likewise. * gdb.base/exprs.exp: Likewise. * gdb.base/fileio.exp: Likewise. * gdb.base/finish.exp: Likewise. * gdb.base/float.exp: Likewise. * gdb.base/foll-exec.exp: Likewise. * gdb.base/foll-fork.exp: Likewise. * gdb.base/foll-vfork.exp: Likewise. * gdb.base/freebpcmd.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/gcore.exp: Likewise. * gdb.base/gdb1090.exp: Likewise. * gdb.base/gdb1250.exp: Likewise. * gdb.base/huge.exp: Likewise. * gdb.base/info-proc.exp: Likewise. * gdb.base/interrupt.exp: Likewise. * gdb.base/jump.exp: Likewise. * gdb.base/langs.exp: Likewise. * gdb.base/lineinc.exp: Likewise. * gdb.base/list.exp: Likewise. * gdb.base/logical.exp: Likewise. * gdb.base/long_long.exp: Likewise. * gdb.base/macscp.exp: Likewise. * gdb.base/maint.exp: Likewise. * gdb.base/mips_pro.exp: Likewise. * gdb.base/miscexprs.exp: Likewise. * gdb.base/multi-forks.exp: Likewise. * gdb.base/opaque.exp: Likewise. * gdb.base/overlays.exp: Likewise. * gdb.base/pc-fp.exp: Likewise. * gdb.base/pointers.exp: Likewise. * gdb.base/printcmds.exp: Likewise. * gdb.base/psymtab.exp: Likewise. * gdb.base/ptype.exp: Likewise. * gdb.base/recurse.exp: Likewise. * gdb.base/relational.exp: Likewise. * gdb.base/relocate.exp: Likewise. * gdb.base/remote.exp: Likewise. * gdb.base/reread.exp: Likewise. * gdb.base/restore.exp: Likewise. * gdb.base/return.exp: Likewise. * gdb.base/return2.exp: Likewise. * gdb.base/scope.exp: Likewise. * gdb.base/sect-cmd.exp: Likewise. * gdb.base/sep.exp: Likewise. * gdb.base/sepdebug.exp: Likewise. * gdb.base/setshow.exp: Likewise. * gdb.base/setvar.exp: Likewise. * gdb.base/sigall.exp: Likewise. * gdb.base/sigbpt.exp: Likewise. * gdb.base/signals.exp: Likewise. * gdb.base/signull.exp: Likewise. * gdb.base/sizeof.exp: Likewise. * gdb.base/solib.exp: Likewise. * gdb.base/step-line.exp: Likewise. * gdb.base/step-test.exp: Likewise. * gdb.base/structs.exp: Likewise. * gdb.base/structs2.exp: Likewise. * gdb.base/term.exp: Likewise. * gdb.base/twice.exp: Likewise. * gdb.base/until.exp: Likewise. * gdb.base/varargs.exp: Likewise. * gdb.base/volatile.exp: Likewise. * gdb.base/watchpoint.exp: Likewise. * gdb.base/whatis-exp.exp: Likewise. * gdb.base/whatis.exp: Likewise. * gdb.cp/ambiguous.exp: Likewise. * gdb.cp/annota2.exp: Likewise. * gdb.cp/annota3.exp: Likewise. * gdb.cp/bool.exp: Likewise. * gdb.cp/breakpoint.exp: Likewise. * gdb.cp/casts.exp: Likewise. * gdb.cp/class2.exp: Likewise. * gdb.cp/classes.exp: Likewise. * gdb.cp/cplusfuncs.exp: Likewise. * gdb.cp/ctti.exp: Likewise. * gdb.cp/derivation.exp: Likewise. * gdb.cp/exception.exp: Likewise. * gdb.cp/gdb1355.exp: Likewise. * gdb.cp/hang.exp: Likewise. * gdb.cp/inherit.exp: Likewise. * gdb.cp/local.exp: Likewise. * gdb.cp/m-data.exp: Likewise. * gdb.cp/m-static.exp: Likewise. * gdb.cp/member-ptr.exp: Likewise. * gdb.cp/method.exp: Likewise. * gdb.cp/misc.exp: Likewise. * gdb.cp/namespace.exp: Likewise. * gdb.cp/overload.exp: Likewise. * gdb.cp/ovldbreak.exp: Likewise. * gdb.cp/pr-1023.exp: Likewise. * gdb.cp/pr-1210.exp: Likewise. * gdb.cp/pr-574.exp: Likewise. * gdb.cp/printmethod.exp: Likewise. * gdb.cp/psmang.exp: Likewise. * gdb.cp/ref-params.exp: Likewise. * gdb.cp/ref-types.exp: Likewise. * gdb.cp/rtti.exp: Likewise. * gdb.cp/templates.exp: Likewise. * gdb.cp/try_catch.exp: Likewise. * gdb.cp/userdef.exp: Likewise. * gdb.cp/virtfunc.exp: Likewise. * gdb.disasm/am33.exp: Likewise. * gdb.disasm/h8300s.exp: Likewise. * gdb.disasm/mn10300.exp: Likewise. * gdb.disasm/sh3.exp: Likewise. * gdb.disasm/t01_mov.exp: Likewise. * gdb.disasm/t02_mova.exp: Likewise. * gdb.disasm/t03_add.exp: Likewise. * gdb.disasm/t04_sub.exp: Likewise. * gdb.disasm/t05_cmp.exp: Likewise. * gdb.disasm/t06_ari2.exp: Likewise. * gdb.disasm/t07_ari3.exp: Likewise. * gdb.disasm/t08_or.exp: Likewise. * gdb.disasm/t09_xor.exp: Likewise. * gdb.disasm/t10_and.exp: Likewise. * gdb.disasm/t11_logs.exp: Likewise. * gdb.disasm/t12_bit.exp: Likewise. * gdb.disasm/t13_otr.exp: Likewise. * gdb.hp/gdb.aCC/optimize.exp: Likewise. * gdb.hp/gdb.aCC/watch-cmd.exp: Likewise. * gdb.hp/gdb.base-hp/callfwmall.exp: Likewise. * gdb.hp/gdb.base-hp/dollar.exp: Likewise. * gdb.hp/gdb.base-hp/hwwatchbus.exp: Likewise. * gdb.hp/gdb.base-hp/pxdb.exp: Likewise. * gdb.hp/gdb.base-hp/reg-pa64.exp: Likewise. * gdb.hp/gdb.base-hp/reg.exp: Likewise. * gdb.hp/gdb.base-hp/sized-enum.exp: Likewise. * gdb.hp/gdb.compat/xdb1.exp: Likewise. * gdb.hp/gdb.compat/xdb3.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg01.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg02.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg03.exp: Likewise. * gdb.hp/gdb.objdbg/objdbg04.exp: Likewise. * gdb.mi/gdb701.exp: Likewise. * gdb.mi/gdb792.exp: Likewise. * gdb.mi/mi-basics.exp: Likewise. * gdb.mi/mi-break.exp: Likewise. * gdb.mi/mi-cli.exp: Likewise. * gdb.mi/mi-console.exp: Likewise. * gdb.mi/mi-disassemble.exp: Likewise. * gdb.mi/mi-eval.exp: Likewise. * gdb.mi/mi-file.exp: Likewise. * gdb.mi/mi-read-memory.exp: Likewise. * gdb.mi/mi-regs.exp: Likewise. * gdb.mi/mi-return.exp: Likewise. * gdb.mi/mi-simplerun.exp: Likewise. * gdb.mi/mi-stack.exp: Likewise. * gdb.mi/mi-stepi.exp: Likewise. * gdb.mi/mi-syn-frame.exp: Likewise. * gdb.mi/mi-until.exp: Likewise. * gdb.mi/mi-var-block.exp: Likewise. * gdb.mi/mi-var-child.exp: Likewise. * gdb.mi/mi-var-cmd.exp: Likewise. * gdb.mi/mi-var-display.exp: Likewise. * gdb.mi/mi-watch.exp: Likewise. * gdb.mi/mi2-basics.exp: Likewise. * gdb.mi/mi2-break.exp: Likewise. * gdb.mi/mi2-cli.exp: Likewise. * gdb.mi/mi2-console.exp: Likewise. * gdb.mi/mi2-disassemble.exp: Likewise. * gdb.mi/mi2-eval.exp: Likewise. * gdb.mi/mi2-file.exp: Likewise. * gdb.mi/mi2-read-memory.exp: Likewise. * gdb.mi/mi2-regs.exp: Likewise. * gdb.mi/mi2-return.exp: Likewise. * gdb.mi/mi2-simplerun.exp: Likewise. * gdb.mi/mi2-stack.exp: Likewise. * gdb.mi/mi2-stepi.exp: Likewise. * gdb.mi/mi2-syn-frame.exp: Likewise. * gdb.mi/mi2-until.exp: Likewise. * gdb.mi/mi2-var-block.exp: Likewise. * gdb.mi/mi2-var-child.exp: Likewise. * gdb.mi/mi2-var-cmd.exp: Likewise. * gdb.mi/mi2-var-display.exp: Likewise. * gdb.mi/mi2-watch.exp: Likewise. * gdb.stabs/exclfwd.exp: Likewise. * gdb.stabs/weird.exp: Likewise. * gdb.threads/gcore-thread.exp: Likewise. * gdb.trace/actions.exp: Likewise. * gdb.trace/backtrace.exp: Likewise. * gdb.trace/circ.exp: Likewise. * gdb.trace/collection.exp: Likewise. * gdb.trace/deltrace.exp: Likewise. * gdb.trace/infotrace.exp: Likewise. * gdb.trace/limits.exp: Likewise. * gdb.trace/packetlen.exp: Likewise. * gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/passcount.exp: Likewise. * gdb.trace/report.exp: Likewise. * gdb.trace/save-trace.exp: Likewise. * gdb.trace/tfind.exp: Likewise. * gdb.trace/tracecmd.exp: Likewise. * gdb.trace/while-dyn.exp: Likewise. * gdb.trace/while-stepping.exp: Likewise.
2006-08-10 07:27:22 +02:00
untested list.exp
return -1
}
# Create and source the file that provides information about the compiler
# used to compile the test case.
* lib/gdb.exp (skip_altivec_tests, skip_vsx_tests) (build_executable): Update. (get_compiler_info): Remove 'binfile' argument. * gdb.ada/arrayidx.exp: Update. * gdb.ada/null_array.exp: Update. * gdb.arch/altivec-abi.exp: Update. * gdb.arch/altivec-regs.exp: Update. * gdb.arch/amd64-byte.exp: Update. * gdb.arch/amd64-dword.exp: Update. * gdb.arch/amd64-word.exp: Update. * gdb.arch/i386-avx.exp: Update. * gdb.arch/i386-byte.exp: Update. * gdb.arch/i386-sse.exp: Update. * gdb.arch/i386-word.exp: Update. * gdb.arch/ppc-dfp.exp: Update. * gdb.arch/ppc-fp.exp: Update. * gdb.arch/vsx-regs.exp: Update. * gdb.base/all-bin.exp: Update. * gdb.base/annota1.exp: Update. * gdb.base/async.exp: Update. * gdb.base/attach.exp: Update. * gdb.base/break-interp.exp: Update. * gdb.base/call-ar-st.exp: Update. * gdb.base/call-rt-st.exp: Update. * gdb.base/call-sc.exp: Update. * gdb.base/callfuncs.exp: Update. * gdb.base/catch-load.exp: Update. * gdb.base/completion.exp: Update. * gdb.base/complex.exp: Update. * gdb.base/condbreak.exp: Update. * gdb.base/consecutive.exp: Update. * gdb.base/constvars.exp: Update. * gdb.base/corefile.exp: Update. * gdb.base/eval-skip.exp: Update. * gdb.base/expand-psymtabs.exp: Update. * gdb.base/exprs.exp: Update. * gdb.base/fileio.exp: Update. * gdb.base/fixsection.exp: Update. * gdb.base/funcargs.exp: Update. * gdb.base/gdb11530.exp: Update. * gdb.base/gdb1555.exp: Update. * gdb.base/gnu-ifunc.exp: Update. * gdb.base/gnu_vector.exp: Update. * gdb.base/info-macros.exp: Update. * gdb.base/jit-simple.exp: Update. * gdb.base/jit-so.exp: Update. * gdb.base/jit.exp: Update. * gdb.base/langs.exp: Update. * gdb.base/list.exp: Update. * gdb.base/logical.exp: Update. * gdb.base/long_long.exp: Update. * gdb.base/longjmp.exp: Update. * gdb.base/macscp.exp: Update. * gdb.base/mips_pro.exp: Update. * gdb.base/miscexprs.exp: Update. * gdb.base/morestack.exp: Update. * gdb.base/nodebug.exp: Update. * gdb.base/opaque.exp: Update. * gdb.base/pc-fp.exp: Update. * gdb.base/pending.exp: Update. * gdb.base/permissions.exp: Update. * gdb.base/pointers.exp: Update. * gdb.base/prelink.exp: Update. * gdb.base/printcmds.exp: Update. * gdb.base/psymtab.exp: Update. * gdb.base/ptype.exp: Update. * gdb.base/relational.exp: Update. * gdb.base/scope.exp: Update. * gdb.base/setvar.exp: Update. * gdb.base/shlib-call.exp: Update. * gdb.base/shreloc.exp: Update. * gdb.base/signals.exp: Update. * gdb.base/sizeof.exp: Update. * gdb.base/so-impl-ld.exp: Update. * gdb.base/so-indr-cl.exp: Update. * gdb.base/solib-disc.exp: Update. * gdb.base/solib-display.exp: Update. * gdb.base/solib-nodir.exp: Update. * gdb.base/solib-overlap.exp: Update. * gdb.base/solib-symbol.exp: Update. * gdb.base/solib-weak.exp: Update. * gdb.base/solib.exp: Update. * gdb.base/store.exp: Update. * gdb.base/structs.exp: Update. * gdb.base/structs2.exp: Update. * gdb.base/type-opaque.exp: Update. * gdb.base/unload.exp: Update. * gdb.base/varargs.exp: Update. * gdb.base/volatile.exp: Update. * gdb.base/watch_thread_num.exp: Update. * gdb.base/watchpoint-solib.exp: Update. * gdb.base/watchpoint.exp: Update. * gdb.base/watchpoints.exp: Update. * gdb.base/whatis.exp: Update. * gdb.cell/arch.exp: Update. * gdb.cell/break.exp: Update. * gdb.cell/bt.exp: Update. * gdb.cell/core.exp: Update. * gdb.cell/data.exp: Update. * gdb.cell/ea-cache.exp: Update. * gdb.cell/f-regs.exp: Update. * gdb.cell/fork.exp: Update. * gdb.cell/gcore.exp: Update. * gdb.cell/mem-access.exp: Update. * gdb.cell/ptype.exp: Update. * gdb.cell/registers.exp: Update. * gdb.cell/sizeof.exp: Update. * gdb.cell/solib-symbol.exp: Update. * gdb.cell/solib.exp: Update. * gdb.cp/ambiguous.exp: Update. * gdb.cp/breakpoint.exp: Update. * gdb.cp/bs15503.exp: Update. * gdb.cp/casts.exp: Update. * gdb.cp/class2.exp: Update. * gdb.cp/cpexprs.exp: Update. * gdb.cp/cplusfuncs.exp: Update. * gdb.cp/ctti.exp: Update. * gdb.cp/dispcxx.exp: Update. * gdb.cp/gdb1355.exp: Update. * gdb.cp/gdb2384.exp: Update. * gdb.cp/gdb2495.exp: Update. * gdb.cp/infcall-dlopen.exp: Update. * gdb.cp/local.exp: Update. * gdb.cp/m-data.exp: Update. * gdb.cp/m-static.exp: Update. * gdb.cp/mb-ctor.exp: Update. * gdb.cp/mb-inline.exp: Update. * gdb.cp/mb-templates.exp: Update. * gdb.cp/member-ptr.exp: Update. * gdb.cp/method.exp: Update. * gdb.cp/namespace.exp: Update. * gdb.cp/nextoverthrow.exp: Update. * gdb.cp/nsdecl.exp: Update. * gdb.cp/nsrecurs.exp: Update. * gdb.cp/nsstress.exp: Update. * gdb.cp/nsusing.exp: Update. * gdb.cp/pr-1023.exp: Update. * gdb.cp/pr-1210.exp: Update. * gdb.cp/pr-574.exp: Update. * gdb.cp/pr9631.exp: Update. * gdb.cp/printmethod.exp: Update. * gdb.cp/psmang.exp: Update. * gdb.cp/re-set-overloaded.exp: Update. * gdb.cp/rtti.exp: Update. * gdb.cp/shadow.exp: Update. * gdb.cp/templates.exp: Update. * gdb.cp/try_catch.exp: Update. * gdb.dwarf2/dw2-ranges.exp: Update. * gdb.dwarf2/pr10770.exp: Update. * gdb.fortran/library-module.exp: Update. * gdb.hp/gdb.aCC/optimize.exp: Update. * gdb.hp/gdb.aCC/watch-cmd.exp: Update. * gdb.hp/gdb.base-hp/callfwmall.exp: Update. * gdb.hp/gdb.base-hp/hwwatchbus.exp: Update. * gdb.hp/gdb.base-hp/pxdb.exp: Update. * gdb.hp/gdb.base-hp/sized-enum.exp: Update. * gdb.hp/gdb.base-hp/so-thresh.exp: Update. * gdb.hp/gdb.compat/xdb1.exp: Update. * gdb.hp/gdb.compat/xdb2.exp: Update. * gdb.hp/gdb.compat/xdb3.exp: Update. * gdb.hp/gdb.defects/bs14602.exp: Update. * gdb.hp/gdb.defects/solib-d.exp: Update. * gdb.hp/gdb.objdbg/objdbg01.exp: Update. * gdb.hp/gdb.objdbg/objdbg02.exp: Update. * gdb.hp/gdb.objdbg/objdbg03.exp: Update. * gdb.hp/gdb.objdbg/objdbg04.exp: Update. * gdb.mi/gdb792.exp: Update. * gdb.mi/mi-pending.exp: Update. * gdb.mi/mi-solib.exp: Update. * gdb.mi/mi-var-cp.exp: Update. * gdb.opt/clobbered-registers-O2.exp: Update. * gdb.opt/inline-bt.exp: Update. * gdb.opt/inline-cmds.exp: Update. * gdb.opt/inline-locals.exp: Update. * gdb.python/py-events.exp: Update. * gdb.python/py-finish-breakpoint.exp: Update. * gdb.python/py-type.exp: Update. * gdb.reverse/solib-precsave.exp: Update. * gdb.reverse/solib-reverse.exp: Update. * gdb.server/solib-list.exp: Update. * gdb.stabs/weird.exp: Update. * gdb.threads/attach-into-signal.exp: Update. * gdb.threads/attach-stopped.exp: Update. * gdb.threads/tls-shared.exp: Update. * gdb.trace/change-loc.exp: Update. * gdb.trace/strace.exp: Update.
2012-06-21 22:46:25 +02:00
if [get_compiler_info] {
gdb/testsuite/ * config/monitor.exp (gdb_target_cmd): Remove semicolon after 'return'. (gdb_target_monitor, gdb_load): Likewise. * config/sid.exp (gdb_load): Likewise. * config/slite.exp (gdb_load): Likewise. * config/vx.exp (gdb_start, spawn_vxgdb): Likewise. * gdb.ada/arrayidx.exp, gdb.ada/null_array.exp: Likewise. * gdb.arch/mips-octeon-bbit.exp (single_step): Likewise. (single_step_until): Likewise. * gdb.arch/powerpc-d128-regs.exp: Likewise. * gdb.arch/system-gcore.exp: Likewise. * gdb.base/bigcore.exp (extract_heap): Likewise. * gdb.base/break-on-linker-gcd-function.exp: Likewise. * gdb.base/call-ar-st.exp: Likewise. * gdb.base/call-rt-st.exp: Likewise. * gdb.base/call-sc.exp, gdb.base/call-strs.exp: Likewise. * gdb.base/callfuncs.exp, gdb.base/completion.exp: Likewise. * gdb.base/condbreak.exp, gdb.base/constvars.exp: Likewise. * gdb.base/corefile.exp: Likewise. * gdb.base/dbx.exp (gdb_file_cmd): Likewise. * gdb.base/exprs.exp, gdb.base/fileio.exp: Likewise. * gdb.base/fixsection.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/gcore-buffer-overflow.exp: Likewise. * gdb.base/gcore-relro.exp: Likewise. * gdb.base/gcore.exp, gdb.base/gdb11530.exp: Likewise. * gdb.base/gdb11531.exp, gdb.base/gnu-ifunc.exp: Likewise. * gdb.base/info-os.exp, gdb.base/info-proc.exp: Likewise. * gdb.base/interp.exp, gdb.base/langs.exp:: Likewise. * gdb.base/list.exp: Likewise. (set_listsize): Likewise. * gdb.base/logical.exp, gdb.base/mips_pro.exp: Likewise. * gdb.base/miscexprs.exp, gdb.base/nodebug.exp: Likewise. * gdb.base/opaque.exp, gdb.base/pointers.exp: Likewise. * gdb.base/psymtab.exp, gdb.base/ptype.exp: Likewise. * gdb.base/relational.exp, gdb.base/scope.exp: Likewise. * gdb.base/setvar.exp: Likewise. (test_set): Likewise. * gdb.base/signals.exp, gdb.base/sizeof.exp: Likewise. * gdb.base/solib-overlap.exp: Likewise. * gdb.base/store.exp, gdb.base/structs.exp: Likewise. * gdb.base/structs2.exp, gdb.base/volatile.exp: Likewise. * gdb.base/watchpoint.exp (initialize): Likewise. (test_simple_watchpoint): Likewise. (test_disabling_watchpoints): Likewise. (test_watchpoint_triggered_in_syscall): Likewise. * gdb.base/whatis.exp, gdb.cp/ambiguous.exp: Likewise. * gdb.cp/casts.exp, gdb.cp/ctti.exp: Likewise. * gdb.cp/namespace.exp, gdb.cp/nsdecl.exp: Likewise. * gdb.cp/psmang.exp, gdb.dwarf2/dw2-ranges.exp: Likewise. * gdb.hp/gdb.aCC/optimize.exp: Likewise. * gdb.hp/gdb.aCC/watch-cmd.exp: Likewise. * gdb.hp/gdb.base-hp/callfwmall.exp: Likewise. * gdb.hp/gdb.base-hp/pxdb.exp: Likewise. * gdb.hp/gdb.compat/xdb1.exp: Likewise. * gdb.hp/gdb.compat/xdb2.exp: Likewise. * gdb.hp/gdb.compat/xdb3.exp: Likewise. * gdb.hp/gdb.defects/bs14602.exp: Likewise. * gdb.hp/gdb.defects/solib-d.exp: Likewise. * gdb.mi/gdb792.exp: Likewise. * gdb.mi/mi-inheritance-syntax-error.exp: Likewise. * gdb.mi/mi-logging.exp, gdb.mi/mi-var-cp.exp : Likewise. * gdb.mi/mi-var-rtti.exp, gdb.python/py-type.exp: Likewise. * gdb.threads/gcore-thread.exp: Likewise. (load_core): Likewise. * gdb.threads/pthreads.exp (all_threads_running): Likewise. (test_startup, check_control_c): Likewise. * gdb.threads/sigstep-threads.exp: Likewise. * gdb.threads/thread_check.exp: Likewise. * gdb.trace/backtrace.exp, gdb.trace/change-loc.exp: Likewise. * gdb.trace/circ.exp (run_trace_experiment): Likewise. (set_a_tracepoint, trace_buffer_normal): Likewise. (gdb_trace_circular_tests): Likewise. * gdb.trace/collection.exp: Likewise. * gdb.trace/disconnected-tracing.exp: Likewise. * gdb.trace/infotrace.exp: Likewise. * gdb.trace/mi-traceframe-changed.exp: Likewise. * gdb.trace/mi-tracepoint-changed.exp: Likewise. * gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv): Likewise. * gdb.trace/packetlen.exp, gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/pending.exp, gdb.trace/report.exp: Likewise. * gdb.trace/stap-trace.exp: Likewise. * gdb.trace/status-stop.exp,gdb.trace/strace.exp: Likewise. * gdb.trace/tfind.exp, gdb.trace/trace-break.exp: Likewise. * gdb.trace/trace-buffer-size.exp: Likewise. * gdb.trace/tspeed.exp, gdb.trace/tsv.exp: Likewise. * gdb.trace/unavailable.exp: Likewise. * gdb.trace/while-dyn.exp: Likewise. * lib/fortran.exp (set_lang_fortran): Likewise. * lib/gdb.exp (default_gdb_version, gdb_start_cmd): Likewise. (gdb_breakpoint, gdb_reinitialize_dir): Likewise. (default_gdb_start, get_compiler_info): Likewise. (gdb_compile, gdb_compile_objc, gdb_reload, gdb_init): Likewise. (get_debug_format, setup_xfail_format): Likewise. (rerun_to_main, gdb_skip_float_test): Likewise. (build_id_debug_filename_get, get_remotetimeout): Likewise. * lib/java.exp (set_lang_java): Likewise. * lib/mi-support.exp (default_mi_gdb_start): Likewise. (mi_gdb_reinitialize_dir, mi_gdb_target_cmd): Likewise. (mi_gdb_file_cmd, mi_gdb_test): Likewise. (mi_run_cmd_full, mi_expect_interrupt): Likewise. * lib/objc.exp (set_lang_objc): Likewise. * lib/pascal.exp (set_lang_pascal): Likewise. * lib/prompt.exp (default_prompt_gdb_start): Likewise. * lib/trace-support.exp (gdb_trace_setactions, gdb_tfind_test): Likewise. (gdb_readexpr, gdb_gettpnum, gdb_find_recursion_test_baseline): Likewise.
2013-03-14 14:34:06 +01:00
return -1
}
# The last line in the file.
set last_line [gdb_get_line_number "last line" "list0.c"]
# Regex matching the last line in the file.
set last_line_re "${last_line}\[ \t\]+} /\\* last line \\*/"
#
# Local utility proc just to set and verify listsize
# Return 1 if success, 0 if fail.
#
set set_listsize_count 0;
proc set_listsize { arg } {
global gdb_prompt
global set_listsize_count;
incr set_listsize_count;
2013-03-28 12:55:40 +01:00
if [gdb_test_no_output "set listsize $arg" "setting listsize to $arg #$set_listsize_count"] {
gdb/testsuite/ * config/monitor.exp (gdb_target_cmd): Remove semicolon after 'return'. (gdb_target_monitor, gdb_load): Likewise. * config/sid.exp (gdb_load): Likewise. * config/slite.exp (gdb_load): Likewise. * config/vx.exp (gdb_start, spawn_vxgdb): Likewise. * gdb.ada/arrayidx.exp, gdb.ada/null_array.exp: Likewise. * gdb.arch/mips-octeon-bbit.exp (single_step): Likewise. (single_step_until): Likewise. * gdb.arch/powerpc-d128-regs.exp: Likewise. * gdb.arch/system-gcore.exp: Likewise. * gdb.base/bigcore.exp (extract_heap): Likewise. * gdb.base/break-on-linker-gcd-function.exp: Likewise. * gdb.base/call-ar-st.exp: Likewise. * gdb.base/call-rt-st.exp: Likewise. * gdb.base/call-sc.exp, gdb.base/call-strs.exp: Likewise. * gdb.base/callfuncs.exp, gdb.base/completion.exp: Likewise. * gdb.base/condbreak.exp, gdb.base/constvars.exp: Likewise. * gdb.base/corefile.exp: Likewise. * gdb.base/dbx.exp (gdb_file_cmd): Likewise. * gdb.base/exprs.exp, gdb.base/fileio.exp: Likewise. * gdb.base/fixsection.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/gcore-buffer-overflow.exp: Likewise. * gdb.base/gcore-relro.exp: Likewise. * gdb.base/gcore.exp, gdb.base/gdb11530.exp: Likewise. * gdb.base/gdb11531.exp, gdb.base/gnu-ifunc.exp: Likewise. * gdb.base/info-os.exp, gdb.base/info-proc.exp: Likewise. * gdb.base/interp.exp, gdb.base/langs.exp:: Likewise. * gdb.base/list.exp: Likewise. (set_listsize): Likewise. * gdb.base/logical.exp, gdb.base/mips_pro.exp: Likewise. * gdb.base/miscexprs.exp, gdb.base/nodebug.exp: Likewise. * gdb.base/opaque.exp, gdb.base/pointers.exp: Likewise. * gdb.base/psymtab.exp, gdb.base/ptype.exp: Likewise. * gdb.base/relational.exp, gdb.base/scope.exp: Likewise. * gdb.base/setvar.exp: Likewise. (test_set): Likewise. * gdb.base/signals.exp, gdb.base/sizeof.exp: Likewise. * gdb.base/solib-overlap.exp: Likewise. * gdb.base/store.exp, gdb.base/structs.exp: Likewise. * gdb.base/structs2.exp, gdb.base/volatile.exp: Likewise. * gdb.base/watchpoint.exp (initialize): Likewise. (test_simple_watchpoint): Likewise. (test_disabling_watchpoints): Likewise. (test_watchpoint_triggered_in_syscall): Likewise. * gdb.base/whatis.exp, gdb.cp/ambiguous.exp: Likewise. * gdb.cp/casts.exp, gdb.cp/ctti.exp: Likewise. * gdb.cp/namespace.exp, gdb.cp/nsdecl.exp: Likewise. * gdb.cp/psmang.exp, gdb.dwarf2/dw2-ranges.exp: Likewise. * gdb.hp/gdb.aCC/optimize.exp: Likewise. * gdb.hp/gdb.aCC/watch-cmd.exp: Likewise. * gdb.hp/gdb.base-hp/callfwmall.exp: Likewise. * gdb.hp/gdb.base-hp/pxdb.exp: Likewise. * gdb.hp/gdb.compat/xdb1.exp: Likewise. * gdb.hp/gdb.compat/xdb2.exp: Likewise. * gdb.hp/gdb.compat/xdb3.exp: Likewise. * gdb.hp/gdb.defects/bs14602.exp: Likewise. * gdb.hp/gdb.defects/solib-d.exp: Likewise. * gdb.mi/gdb792.exp: Likewise. * gdb.mi/mi-inheritance-syntax-error.exp: Likewise. * gdb.mi/mi-logging.exp, gdb.mi/mi-var-cp.exp : Likewise. * gdb.mi/mi-var-rtti.exp, gdb.python/py-type.exp: Likewise. * gdb.threads/gcore-thread.exp: Likewise. (load_core): Likewise. * gdb.threads/pthreads.exp (all_threads_running): Likewise. (test_startup, check_control_c): Likewise. * gdb.threads/sigstep-threads.exp: Likewise. * gdb.threads/thread_check.exp: Likewise. * gdb.trace/backtrace.exp, gdb.trace/change-loc.exp: Likewise. * gdb.trace/circ.exp (run_trace_experiment): Likewise. (set_a_tracepoint, trace_buffer_normal): Likewise. (gdb_trace_circular_tests): Likewise. * gdb.trace/collection.exp: Likewise. * gdb.trace/disconnected-tracing.exp: Likewise. * gdb.trace/infotrace.exp: Likewise. * gdb.trace/mi-traceframe-changed.exp: Likewise. * gdb.trace/mi-tracepoint-changed.exp: Likewise. * gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv): Likewise. * gdb.trace/packetlen.exp, gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/pending.exp, gdb.trace/report.exp: Likewise. * gdb.trace/stap-trace.exp: Likewise. * gdb.trace/status-stop.exp,gdb.trace/strace.exp: Likewise. * gdb.trace/tfind.exp, gdb.trace/trace-break.exp: Likewise. * gdb.trace/trace-buffer-size.exp: Likewise. * gdb.trace/tspeed.exp, gdb.trace/tsv.exp: Likewise. * gdb.trace/unavailable.exp: Likewise. * gdb.trace/while-dyn.exp: Likewise. * lib/fortran.exp (set_lang_fortran): Likewise. * lib/gdb.exp (default_gdb_version, gdb_start_cmd): Likewise. (gdb_breakpoint, gdb_reinitialize_dir): Likewise. (default_gdb_start, get_compiler_info): Likewise. (gdb_compile, gdb_compile_objc, gdb_reload, gdb_init): Likewise. (get_debug_format, setup_xfail_format): Likewise. (rerun_to_main, gdb_skip_float_test): Likewise. (build_id_debug_filename_get, get_remotetimeout): Likewise. * lib/java.exp (set_lang_java): Likewise. * lib/mi-support.exp (default_mi_gdb_start): Likewise. (mi_gdb_reinitialize_dir, mi_gdb_target_cmd): Likewise. (mi_gdb_file_cmd, mi_gdb_test): Likewise. (mi_run_cmd_full, mi_expect_interrupt): Likewise. * lib/objc.exp (set_lang_objc): Likewise. * lib/pascal.exp (set_lang_pascal): Likewise. * lib/prompt.exp (default_prompt_gdb_start): Likewise. * lib/trace-support.exp (gdb_trace_setactions, gdb_tfind_test): Likewise. (gdb_readexpr, gdb_gettpnum, gdb_find_recursion_test_baseline): Likewise.
2013-03-14 14:34:06 +01:00
return 0
}
if { $arg < 0 } {
set arg "unlimited";
}
if [gdb_test "show listsize" "Number of source lines.* is ${arg}.*" "show listsize $arg #$set_listsize_count"] {
gdb/testsuite/ * config/monitor.exp (gdb_target_cmd): Remove semicolon after 'return'. (gdb_target_monitor, gdb_load): Likewise. * config/sid.exp (gdb_load): Likewise. * config/slite.exp (gdb_load): Likewise. * config/vx.exp (gdb_start, spawn_vxgdb): Likewise. * gdb.ada/arrayidx.exp, gdb.ada/null_array.exp: Likewise. * gdb.arch/mips-octeon-bbit.exp (single_step): Likewise. (single_step_until): Likewise. * gdb.arch/powerpc-d128-regs.exp: Likewise. * gdb.arch/system-gcore.exp: Likewise. * gdb.base/bigcore.exp (extract_heap): Likewise. * gdb.base/break-on-linker-gcd-function.exp: Likewise. * gdb.base/call-ar-st.exp: Likewise. * gdb.base/call-rt-st.exp: Likewise. * gdb.base/call-sc.exp, gdb.base/call-strs.exp: Likewise. * gdb.base/callfuncs.exp, gdb.base/completion.exp: Likewise. * gdb.base/condbreak.exp, gdb.base/constvars.exp: Likewise. * gdb.base/corefile.exp: Likewise. * gdb.base/dbx.exp (gdb_file_cmd): Likewise. * gdb.base/exprs.exp, gdb.base/fileio.exp: Likewise. * gdb.base/fixsection.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/gcore-buffer-overflow.exp: Likewise. * gdb.base/gcore-relro.exp: Likewise. * gdb.base/gcore.exp, gdb.base/gdb11530.exp: Likewise. * gdb.base/gdb11531.exp, gdb.base/gnu-ifunc.exp: Likewise. * gdb.base/info-os.exp, gdb.base/info-proc.exp: Likewise. * gdb.base/interp.exp, gdb.base/langs.exp:: Likewise. * gdb.base/list.exp: Likewise. (set_listsize): Likewise. * gdb.base/logical.exp, gdb.base/mips_pro.exp: Likewise. * gdb.base/miscexprs.exp, gdb.base/nodebug.exp: Likewise. * gdb.base/opaque.exp, gdb.base/pointers.exp: Likewise. * gdb.base/psymtab.exp, gdb.base/ptype.exp: Likewise. * gdb.base/relational.exp, gdb.base/scope.exp: Likewise. * gdb.base/setvar.exp: Likewise. (test_set): Likewise. * gdb.base/signals.exp, gdb.base/sizeof.exp: Likewise. * gdb.base/solib-overlap.exp: Likewise. * gdb.base/store.exp, gdb.base/structs.exp: Likewise. * gdb.base/structs2.exp, gdb.base/volatile.exp: Likewise. * gdb.base/watchpoint.exp (initialize): Likewise. (test_simple_watchpoint): Likewise. (test_disabling_watchpoints): Likewise. (test_watchpoint_triggered_in_syscall): Likewise. * gdb.base/whatis.exp, gdb.cp/ambiguous.exp: Likewise. * gdb.cp/casts.exp, gdb.cp/ctti.exp: Likewise. * gdb.cp/namespace.exp, gdb.cp/nsdecl.exp: Likewise. * gdb.cp/psmang.exp, gdb.dwarf2/dw2-ranges.exp: Likewise. * gdb.hp/gdb.aCC/optimize.exp: Likewise. * gdb.hp/gdb.aCC/watch-cmd.exp: Likewise. * gdb.hp/gdb.base-hp/callfwmall.exp: Likewise. * gdb.hp/gdb.base-hp/pxdb.exp: Likewise. * gdb.hp/gdb.compat/xdb1.exp: Likewise. * gdb.hp/gdb.compat/xdb2.exp: Likewise. * gdb.hp/gdb.compat/xdb3.exp: Likewise. * gdb.hp/gdb.defects/bs14602.exp: Likewise. * gdb.hp/gdb.defects/solib-d.exp: Likewise. * gdb.mi/gdb792.exp: Likewise. * gdb.mi/mi-inheritance-syntax-error.exp: Likewise. * gdb.mi/mi-logging.exp, gdb.mi/mi-var-cp.exp : Likewise. * gdb.mi/mi-var-rtti.exp, gdb.python/py-type.exp: Likewise. * gdb.threads/gcore-thread.exp: Likewise. (load_core): Likewise. * gdb.threads/pthreads.exp (all_threads_running): Likewise. (test_startup, check_control_c): Likewise. * gdb.threads/sigstep-threads.exp: Likewise. * gdb.threads/thread_check.exp: Likewise. * gdb.trace/backtrace.exp, gdb.trace/change-loc.exp: Likewise. * gdb.trace/circ.exp (run_trace_experiment): Likewise. (set_a_tracepoint, trace_buffer_normal): Likewise. (gdb_trace_circular_tests): Likewise. * gdb.trace/collection.exp: Likewise. * gdb.trace/disconnected-tracing.exp: Likewise. * gdb.trace/infotrace.exp: Likewise. * gdb.trace/mi-traceframe-changed.exp: Likewise. * gdb.trace/mi-tracepoint-changed.exp: Likewise. * gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv): Likewise. * gdb.trace/packetlen.exp, gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/pending.exp, gdb.trace/report.exp: Likewise. * gdb.trace/stap-trace.exp: Likewise. * gdb.trace/status-stop.exp,gdb.trace/strace.exp: Likewise. * gdb.trace/tfind.exp, gdb.trace/trace-break.exp: Likewise. * gdb.trace/trace-buffer-size.exp: Likewise. * gdb.trace/tspeed.exp, gdb.trace/tsv.exp: Likewise. * gdb.trace/unavailable.exp: Likewise. * gdb.trace/while-dyn.exp: Likewise. * lib/fortran.exp (set_lang_fortran): Likewise. * lib/gdb.exp (default_gdb_version, gdb_start_cmd): Likewise. (gdb_breakpoint, gdb_reinitialize_dir): Likewise. (default_gdb_start, get_compiler_info): Likewise. (gdb_compile, gdb_compile_objc, gdb_reload, gdb_init): Likewise. (get_debug_format, setup_xfail_format): Likewise. (rerun_to_main, gdb_skip_float_test): Likewise. (build_id_debug_filename_get, get_remotetimeout): Likewise. * lib/java.exp (set_lang_java): Likewise. * lib/mi-support.exp (default_mi_gdb_start): Likewise. (mi_gdb_reinitialize_dir, mi_gdb_target_cmd): Likewise. (mi_gdb_file_cmd, mi_gdb_test): Likewise. (mi_run_cmd_full, mi_expect_interrupt): Likewise. * lib/objc.exp (set_lang_objc): Likewise. * lib/pascal.exp (set_lang_pascal): Likewise. * lib/prompt.exp (default_prompt_gdb_start): Likewise. * lib/trace-support.exp (gdb_trace_setactions, gdb_tfind_test): Likewise. (gdb_readexpr, gdb_gettpnum, gdb_find_recursion_test_baseline): Likewise.
2013-03-14 14:34:06 +01:00
return 0
}
return 1
}
#
# Test display of listsize lines around a given line number.
#
proc test_listsize {} {
global gdb_prompt
1999-06-28 18:06:02 +02:00
global hp_cc_compiler
global hp_aCC_compiler
global last_line_re
# Show default size
gdb_test "show listsize" "Number of source lines gdb will list by default is 10.*" "show default list size"
# Show the default lines
gdb_test "list" "(1\[ \t\]+#include \"list0.h\".*7\[ \t\]+x = 0;\r\n.*10\[ \t\]+foo .x\[+)\]+;)" "list default lines around main"
# Ensure we can limit printouts to one line
1999-06-28 18:06:02 +02:00
if [set_listsize 1] {
gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"" "list line 1 with listsize 1"
gdb_test "list 2" "2\[ \t\]+" "list line 2 with listsize 1"
}
# Try just two lines
if [ set_listsize 2 ] {
1999-09-09 02:02:17 +02:00
gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"\r\n2\[ \t\]+" "list line 1 with listsize 2"
gdb_test "list 2" "1\[ \t\]+#include \"list0.h\"\r\n2\[ \t\]+" "list line 2 with listsize 2"
1999-06-28 18:06:02 +02:00
gdb_test "list 3" "2\[ \t\]+\r\n3\[ \t\]+int main \[)(\]+" "list line 3 with listsize 2"
}
# Try small listsize > 1 that is an odd number
if [ set_listsize 3 ] {
1999-09-09 02:02:17 +02:00
gdb_test "list 1" "1\[ \t\]+#include \"list0.h\".*3\[ \t\]+int main \[)(\]+" "list line 1 with listsize 3"
1999-06-28 18:06:02 +02:00
gdb_test "list 2" "1\[ \t\]+#include \"list0.h\".*3\[ \t\]+int main \[)(\]+" "list line 2 with listsize 3"
gdb_test "list 3" "2\[ \t\]+\r\n3\[ \t\]+int main \[(\]+\[)\]+\r\n4\[ \t\]+\{" "list line 3 with listsize 3"
}
# Try small listsize > 2 that is an even number.
if [ set_listsize 4 ] then {
1999-09-09 02:02:17 +02:00
gdb_test "list 1" "1\[ \t\]+#include \"list0.h\".*4\[ \t\]+\{" "list line 1 with listsize 4"
gdb_test "list 2" "1\[ \t\]+#include \"list0.h\".*4\[ \t\]+\{" "list line 2 with listsize 4"
gdb_test "list 3" "1\[ \t\]+#include \"list0.h\".*4\[ \t\]+\{" "list line 3 with listsize 4"
gdb_test "list 4" "2\[ \t\]+\r\n.*5\[ \t\]+int x;.*" "list line 4 with listsize 4"
}
# Try a size larger than the entire file.
if [ set_listsize 100 ] then {
gdb_test "list 1" "1\[ \t\]+#include \"list0.h\".*\r\n${last_line_re}" "list line 1 with listsize 100"
gdb_test "list 10" "1\[ \t\]+#include \"list0.h\".*\r\n${last_line_re}" "list line 10 with listsize 100"
}
# Try listsize of 0 which suppresses printing.
set_listsize 0
gdb_test "list 1" "" "listsize of 0 suppresses output"
# Try listsize of -1 which is special, and means unlimited.
set_listsize -1
setup_xfail "*-*-*"
gdb_test "list 1" "1\[ \t\]+#include .*\r\n${last_line_re}" "list line 1 with unlimited listsize"
}
#
# Test "list filename:number" for C include file
#
proc test_list_include_file {} {
global gdb_prompt
setup_xfail_format "COFF"
1999-09-09 02:02:17 +02:00
gdb_test "list list0.h:1" "1\[ \t\]+/\[*\]+ An include file .*10\[ \t\]+bar \\(x\\+\\+\\);" "list line 1 in include file"
setup_xfail_format "COFF"
1999-06-28 18:06:02 +02:00
gdb_test "list list0.h:100" "Line number 95 out of range; .*list0.h has 3\[67\] lines." "list message for lines past EOF"
}
#
# Test "list filename:number" for C source file
#
proc test_list_filename_and_number {} {
global gdb_prompt
set testcnt 0
send_gdb "list list0.c:1\n"
gdb_expect {
gdb/doc/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Implementing a Remote Stub): Explain that you should transfer control to the stub in the startup code instead of in main. Mention the need to get past the initial breakpoint. gdb/testsuite/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> Doug Evans <dje@google.com> * lib/gdb.exp (gdb_run_cmd, runto_main, gdb_compile) (clean_restart): Remove references to the gdb_stub target board variable. (gdb_step_for_stub): Delete. * gdb.base/annota1.exp: Remove all references to [target_info exists gdb_stub], gdb_step_for_stub and usestubs. * gdb.base/annota3.exp: Ditto. * gdb.base/async.exp: Ditto. * gdb.base/break.exp: Ditto. * gdb.base/code-expr.exp: Ditto. * gdb.base/commands.exp: Ditto. * gdb.base/completion.exp: Ditto. * gdb.base/condbreak.exp: Ditto. * gdb.base/consecutive.exp: Ditto. * gdb.base/cvexpr.exp: Ditto. * gdb.base/define.exp: Ditto. * gdb.base/display.exp: Ditto. * gdb.base/ena-dis-br.exp: Ditto. * gdb.base/environ.exp: Ditto. * gdb.base/gnu-ifunc.exp: Ditto. * gdb.base/maint.exp: Ditto. * gdb.base/pending.exp: Ditto. * gdb.base/sect-cmd.exp: Ditto. * gdb.base/sepdebug.exp: Ditto. * gdb.base/unload.exp: Ditto. * gdb.base/watchpoint-solib.exp: Ditto. * gdb.cp/annota2.exp: Ditto. * gdb.cp/annota3.exp: Ditto. * gdb.dwarf2/dw2-inline-param.exp: Ditto. * gdb.hp/gdb.compat/xdb1.exp: Ditto. * gdb.mi/mi-pending.exp: Ditto. * gdb.trace/circ.exp: Ditto. * gdb.cp/ovldbreak.exp: Ditto. Adjust expected line numbers. * gdb.base/list.exp: Ditto. * gdb.base/all-types.c: Remove all calls to set_debug_traps and breakpoint function and all references to the usestubs macro. * gdb.base/exprs.c: Ditto. * gdb.base/freebpcmd.c: Ditto. * gdb.base/bitfields.c: Ditto. * gdb.base/bitfields2.c: Ditto. * gdb.base/break.c: Ditto. * gdb.base/call-sc.c: Ditto. * gdb.base/call-signals.c: Ditto. * gdb.base/callfuncs.c: Ditto. * gdb.base/charset.c: Ditto. * gdb.base/consecutive.c: Ditto. * gdb.base/constvars.c: Ditto. * gdb.base/funcargs.c: Ditto. * gdb.base/int-type.c: Ditto. * gdb.base/interrupt.c: Ditto. * gdb.base/langs0.c: Ditto. * gdb.base/list0.c: Ditto. * gdb.base/mips_pro.c: Ditto. * gdb.base/miscexprs.c: Ditto. * gdb.base/nodebug.c: Ditto. * gdb.base/opaque0.c: Ditto. * gdb.base/pointers.c: Ditto. * gdb.base/printcmds.c: Ditto. * gdb.base/ptype.c: Ditto. * gdb.base/recurse.c: Ditto. * gdb.base/reread1.c: Ditto. * gdb.base/reread2.c: Ditto. * gdb.base/restore.c: Ditto. * gdb.base/return.c: Ditto. * gdb.base/run.c: Ditto. * gdb.base/scope0.c: Ditto. * gdb.base/sepdebug.c: Ditto. * gdb.base/setshow.c: Ditto. * gdb.base/setvar.c: Ditto. * gdb.base/sigall.c: Ditto. * gdb.base/signals.c: Ditto. * gdb.base/structs.c: Ditto. * gdb.base/structs2.c: Ditto. * gdb.base/testenv.c: Ditto. * gdb.base/twice.c: Ditto. * gdb.base/unwindonsignal.c: Ditto. * gdb.base/watchpoint.c: Ditto. * gdb.base/watchpoints.c: Ditto. * gdb.base/whatis.c: Ditto. * gdb.cp/classes.cc: Ditto. * gdb.cp/cplusfuncs.cc: Ditto. * gdb.cp/derivation.cc: Ditto. * gdb.cp/formatted-ref.cc: Ditto. * gdb.cp/misc.cc: Ditto. * gdb.cp/overload.cc: Ditto. * gdb.cp/ovldbreak.cc: Ditto. * gdb.cp/ref-params.cc: Ditto. * gdb.cp/ref-types.cc: Ditto. * gdb.cp/templates.cc: Ditto. * gdb.cp/virtfunc.cc: Ditto. * gdb.hp/gdb.aCC/run.c: Ditto. * gdb.hp/gdb.base-hp/callfwmall.c: Ditto. * gdb.hp/gdb.compat/xdb0.c: Ditto. * gdb.reverse/consecutive-reverse.c: Ditto. * gdb.reverse/sigall-reverse.c: Ditto. * gdb.reverse/until-reverse.c: Ditto. * gdb.reverse/watch-reverse.c: Ditto. * gdb.trace/actions.c: Ditto. * gdb.trace/circ.c: Ditto. * gdb.trace/collection.c: Ditto.
2011-12-13 18:22:11 +01:00
-re "1\[ \t\]+#include \"list0.h\".*10\[ \t\]+foo .x\[+)\]+;\r\n$gdb_prompt $" {
incr testcnt
}
-re ".*$gdb_prompt $" { fail "list list0.c:1" ; gdb_suppress_tests }
timeout { fail "list list0.c:1 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list list0.c:10\n"
gdb_expect {
-re "5\[ \t\]+int x;.*14\[ \t\]+foo .x\[+)\]+;\r\n$gdb_prompt $" {
incr testcnt
}
-re ".*$gdb_prompt $" { fail "list list.c:10" ; gdb_suppress_tests }
timeout { fail "list list.c:10 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list list1.c:1\n"
gdb_expect {
1999-06-28 18:06:02 +02:00
-re "1\[ \t\]+\#include.*4\[ \t\]+.*int oof\[ \t\]*\(.*\);\r\n.*$gdb_prompt $" {
incr testcnt
}
-re ".*$gdb_prompt $" { fail "list list1.c:1" ; gdb_suppress_tests }
timeout { fail "list list1.c:1 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list list1.c:12\n"
gdb_expect {
1999-06-28 18:06:02 +02:00
-re "12\[ \t\]+long_line \[(\]+.*\[)\]+;.*13\[ \t\]+\}\r\n.*$gdb_prompt $" {
incr testcnt
}
-re ".*$gdb_prompt $" { fail "list list1.c:12" ; gdb_suppress_tests }
timeout { fail "list list1.c:12 (timeout)" ; gdb_suppress_tests }
}
pass "list filename:number ($testcnt tests)"
gdb_stop_suppressing_tests;
}
#
# Test "list function" for C source file
#
proc test_list_function {} {
global gdb_prompt
# gcc appears to generate incorrect debugging information for code
# in include files, which breaks this test.
# SunPRO cc is the second case below, it's also correct.
gdb/doc/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Implementing a Remote Stub): Explain that you should transfer control to the stub in the startup code instead of in main. Mention the need to get past the initial breakpoint. gdb/testsuite/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> Doug Evans <dje@google.com> * lib/gdb.exp (gdb_run_cmd, runto_main, gdb_compile) (clean_restart): Remove references to the gdb_stub target board variable. (gdb_step_for_stub): Delete. * gdb.base/annota1.exp: Remove all references to [target_info exists gdb_stub], gdb_step_for_stub and usestubs. * gdb.base/annota3.exp: Ditto. * gdb.base/async.exp: Ditto. * gdb.base/break.exp: Ditto. * gdb.base/code-expr.exp: Ditto. * gdb.base/commands.exp: Ditto. * gdb.base/completion.exp: Ditto. * gdb.base/condbreak.exp: Ditto. * gdb.base/consecutive.exp: Ditto. * gdb.base/cvexpr.exp: Ditto. * gdb.base/define.exp: Ditto. * gdb.base/display.exp: Ditto. * gdb.base/ena-dis-br.exp: Ditto. * gdb.base/environ.exp: Ditto. * gdb.base/gnu-ifunc.exp: Ditto. * gdb.base/maint.exp: Ditto. * gdb.base/pending.exp: Ditto. * gdb.base/sect-cmd.exp: Ditto. * gdb.base/sepdebug.exp: Ditto. * gdb.base/unload.exp: Ditto. * gdb.base/watchpoint-solib.exp: Ditto. * gdb.cp/annota2.exp: Ditto. * gdb.cp/annota3.exp: Ditto. * gdb.dwarf2/dw2-inline-param.exp: Ditto. * gdb.hp/gdb.compat/xdb1.exp: Ditto. * gdb.mi/mi-pending.exp: Ditto. * gdb.trace/circ.exp: Ditto. * gdb.cp/ovldbreak.exp: Ditto. Adjust expected line numbers. * gdb.base/list.exp: Ditto. * gdb.base/all-types.c: Remove all calls to set_debug_traps and breakpoint function and all references to the usestubs macro. * gdb.base/exprs.c: Ditto. * gdb.base/freebpcmd.c: Ditto. * gdb.base/bitfields.c: Ditto. * gdb.base/bitfields2.c: Ditto. * gdb.base/break.c: Ditto. * gdb.base/call-sc.c: Ditto. * gdb.base/call-signals.c: Ditto. * gdb.base/callfuncs.c: Ditto. * gdb.base/charset.c: Ditto. * gdb.base/consecutive.c: Ditto. * gdb.base/constvars.c: Ditto. * gdb.base/funcargs.c: Ditto. * gdb.base/int-type.c: Ditto. * gdb.base/interrupt.c: Ditto. * gdb.base/langs0.c: Ditto. * gdb.base/list0.c: Ditto. * gdb.base/mips_pro.c: Ditto. * gdb.base/miscexprs.c: Ditto. * gdb.base/nodebug.c: Ditto. * gdb.base/opaque0.c: Ditto. * gdb.base/pointers.c: Ditto. * gdb.base/printcmds.c: Ditto. * gdb.base/ptype.c: Ditto. * gdb.base/recurse.c: Ditto. * gdb.base/reread1.c: Ditto. * gdb.base/reread2.c: Ditto. * gdb.base/restore.c: Ditto. * gdb.base/return.c: Ditto. * gdb.base/run.c: Ditto. * gdb.base/scope0.c: Ditto. * gdb.base/sepdebug.c: Ditto. * gdb.base/setshow.c: Ditto. * gdb.base/setvar.c: Ditto. * gdb.base/sigall.c: Ditto. * gdb.base/signals.c: Ditto. * gdb.base/structs.c: Ditto. * gdb.base/structs2.c: Ditto. * gdb.base/testenv.c: Ditto. * gdb.base/twice.c: Ditto. * gdb.base/unwindonsignal.c: Ditto. * gdb.base/watchpoint.c: Ditto. * gdb.base/watchpoints.c: Ditto. * gdb.base/whatis.c: Ditto. * gdb.cp/classes.cc: Ditto. * gdb.cp/cplusfuncs.cc: Ditto. * gdb.cp/derivation.cc: Ditto. * gdb.cp/formatted-ref.cc: Ditto. * gdb.cp/misc.cc: Ditto. * gdb.cp/overload.cc: Ditto. * gdb.cp/ovldbreak.cc: Ditto. * gdb.cp/ref-params.cc: Ditto. * gdb.cp/ref-types.cc: Ditto. * gdb.cp/templates.cc: Ditto. * gdb.cp/virtfunc.cc: Ditto. * gdb.hp/gdb.aCC/run.c: Ditto. * gdb.hp/gdb.base-hp/callfwmall.c: Ditto. * gdb.hp/gdb.compat/xdb0.c: Ditto. * gdb.reverse/consecutive-reverse.c: Ditto. * gdb.reverse/sigall-reverse.c: Ditto. * gdb.reverse/until-reverse.c: Ditto. * gdb.reverse/watch-reverse.c: Ditto. * gdb.trace/actions.c: Ditto. * gdb.trace/circ.c: Ditto. * gdb.trace/collection.c: Ditto.
2011-12-13 18:22:11 +01:00
gdb_test "list main" "(5\[ \t\]+int x;.*8\[ \t\]+foo \[(\]+.*\[)\]+;|1\[ \t\]+#include .*7\[ \t\]+x = 0;)" "list function in source file 1"
# Ultrix gdb takes the second case below; it's also correct.
# SunPRO cc is the third case.
1999-06-28 18:06:02 +02:00
gdb_test "list bar" "(4\[ \t\]+void.*\[ \t\]*long_line.*;.*bar.*9\[ \t\]*.*|1\[ \t\]+void.*8\[ \t\]+\}|1\[ \t\]+void.*7\[ \t\]*long_line ..;|7\[ \t\]+void.*14\[ \t\]+\})" "list function in source file 2"
# Test "list function" for C include file
# Ultrix gdb is the second case, still correct.
# SunPRO cc is the third case.
gdb_test "list foo" "(3\[ \t\]+.*12\[ \t\]+bar \[(\]+.*\[)\]+;|2\[ \t\]+including file.*11\[ \t\]+bar \[(\]+.*\[)\]+;|1\[ \t\]+/. An include file.*10\[ \t\]+bar \[(\]+.*\[)\]+;)" "list function in include file"
}
proc test_list_forward {} {
global gdb_prompt
global last_line_re
set testcnt 0
send_gdb "list list0.c:10\n"
gdb_expect {
-re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list list0.c:10" ; gdb_suppress_tests }
timeout { fail "list list0.c:10 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list\n"
gdb_expect {
-re "15\[ \t\]+foo \[(\]+.*\[)\]+;.*24\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 15-24" ; gdb_suppress_tests }
timeout { fail "list 15-24 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list\n"
gdb_expect {
-re "25\[ \t\]+foo \[(\]+.*\[)\]+;.*34\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 25-34" ; gdb_suppress_tests }
timeout { fail "list 25-34 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list\n"
gdb_expect {
-re "35\[ \t\]+foo \\(.*\\);.*${last_line_re}\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 35-42" ; gdb_suppress_tests }
timeout { fail "list 35-42 (timeout)" ; gdb_suppress_tests }
}
pass "successive list commands to page forward ($testcnt tests)"
gdb_stop_suppressing_tests;
}
1999-08-03 01:48:37 +02:00
# Test that repeating the list linenum command doesn't print the same
# lines over again. Note that this test makes sure that the argument
# linenum is dropped, when we repeat the previous command. 'x/5i $pc'
# works the same way.
proc test_repeat_list_command {} {
global gdb_prompt
global last_line_re
1999-08-03 01:48:37 +02:00
set testcnt 0
send_gdb "list list0.c:10\n"
gdb_expect {
-re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list list0.c:10" ; gdb_suppress_tests }
timeout { fail "list list0.c:10 (timeout)" ; gdb_suppress_tests }
}
send_gdb "\n"
gdb_expect {
-re "15\[ \t\]+foo \[(\]+.*\[)\]+;.*24\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 15-24" ; gdb_suppress_tests }
timeout { fail "list 15-24 (timeout)" ; gdb_suppress_tests }
}
send_gdb "\n"
gdb_expect {
-re "25\[ \t\]+foo \[(\]+.*\[)\]+;.*34\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 25-34" ; gdb_suppress_tests }
timeout { fail "list 25-34 (timeout)" ; gdb_suppress_tests }
}
send_gdb "\n"
gdb_expect {
-re "35\[ \t\]+foo \\(.*\\);.*${last_line_re}\r\n$gdb_prompt $" { incr testcnt }
1999-08-03 01:48:37 +02:00
-re ".*$gdb_prompt $" { fail "list 35-42" ; gdb_suppress_tests }
timeout { fail "list 35-42 (timeout)" ; gdb_suppress_tests }
}
pass "repeat list commands to page forward using 'return' ($testcnt tests)"
gdb_stop_suppressing_tests;
}
proc test_list_backwards {} {
global gdb_prompt
set testcnt 0
send_gdb "list list0.c:33\n"
gdb_expect {
1999-06-28 18:06:02 +02:00
-re "28\[ \t\]+foo \\(.*\\);.*37\[ \t\]+\}\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list list0.c:33" ; gdb_suppress_tests }
timeout { fail "list list0.c:33 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list -\n"
gdb_expect {
-re "18\[ \t\]+foo \[(\]+.*\[)\]+;.*27\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 18-27" ; gdb_suppress_tests }
timeout { fail "list 18-27 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list -\n"
gdb_expect {
gdb/doc/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Implementing a Remote Stub): Explain that you should transfer control to the stub in the startup code instead of in main. Mention the need to get past the initial breakpoint. gdb/testsuite/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> Doug Evans <dje@google.com> * lib/gdb.exp (gdb_run_cmd, runto_main, gdb_compile) (clean_restart): Remove references to the gdb_stub target board variable. (gdb_step_for_stub): Delete. * gdb.base/annota1.exp: Remove all references to [target_info exists gdb_stub], gdb_step_for_stub and usestubs. * gdb.base/annota3.exp: Ditto. * gdb.base/async.exp: Ditto. * gdb.base/break.exp: Ditto. * gdb.base/code-expr.exp: Ditto. * gdb.base/commands.exp: Ditto. * gdb.base/completion.exp: Ditto. * gdb.base/condbreak.exp: Ditto. * gdb.base/consecutive.exp: Ditto. * gdb.base/cvexpr.exp: Ditto. * gdb.base/define.exp: Ditto. * gdb.base/display.exp: Ditto. * gdb.base/ena-dis-br.exp: Ditto. * gdb.base/environ.exp: Ditto. * gdb.base/gnu-ifunc.exp: Ditto. * gdb.base/maint.exp: Ditto. * gdb.base/pending.exp: Ditto. * gdb.base/sect-cmd.exp: Ditto. * gdb.base/sepdebug.exp: Ditto. * gdb.base/unload.exp: Ditto. * gdb.base/watchpoint-solib.exp: Ditto. * gdb.cp/annota2.exp: Ditto. * gdb.cp/annota3.exp: Ditto. * gdb.dwarf2/dw2-inline-param.exp: Ditto. * gdb.hp/gdb.compat/xdb1.exp: Ditto. * gdb.mi/mi-pending.exp: Ditto. * gdb.trace/circ.exp: Ditto. * gdb.cp/ovldbreak.exp: Ditto. Adjust expected line numbers. * gdb.base/list.exp: Ditto. * gdb.base/all-types.c: Remove all calls to set_debug_traps and breakpoint function and all references to the usestubs macro. * gdb.base/exprs.c: Ditto. * gdb.base/freebpcmd.c: Ditto. * gdb.base/bitfields.c: Ditto. * gdb.base/bitfields2.c: Ditto. * gdb.base/break.c: Ditto. * gdb.base/call-sc.c: Ditto. * gdb.base/call-signals.c: Ditto. * gdb.base/callfuncs.c: Ditto. * gdb.base/charset.c: Ditto. * gdb.base/consecutive.c: Ditto. * gdb.base/constvars.c: Ditto. * gdb.base/funcargs.c: Ditto. * gdb.base/int-type.c: Ditto. * gdb.base/interrupt.c: Ditto. * gdb.base/langs0.c: Ditto. * gdb.base/list0.c: Ditto. * gdb.base/mips_pro.c: Ditto. * gdb.base/miscexprs.c: Ditto. * gdb.base/nodebug.c: Ditto. * gdb.base/opaque0.c: Ditto. * gdb.base/pointers.c: Ditto. * gdb.base/printcmds.c: Ditto. * gdb.base/ptype.c: Ditto. * gdb.base/recurse.c: Ditto. * gdb.base/reread1.c: Ditto. * gdb.base/reread2.c: Ditto. * gdb.base/restore.c: Ditto. * gdb.base/return.c: Ditto. * gdb.base/run.c: Ditto. * gdb.base/scope0.c: Ditto. * gdb.base/sepdebug.c: Ditto. * gdb.base/setshow.c: Ditto. * gdb.base/setvar.c: Ditto. * gdb.base/sigall.c: Ditto. * gdb.base/signals.c: Ditto. * gdb.base/structs.c: Ditto. * gdb.base/structs2.c: Ditto. * gdb.base/testenv.c: Ditto. * gdb.base/twice.c: Ditto. * gdb.base/unwindonsignal.c: Ditto. * gdb.base/watchpoint.c: Ditto. * gdb.base/watchpoints.c: Ditto. * gdb.base/whatis.c: Ditto. * gdb.cp/classes.cc: Ditto. * gdb.cp/cplusfuncs.cc: Ditto. * gdb.cp/derivation.cc: Ditto. * gdb.cp/formatted-ref.cc: Ditto. * gdb.cp/misc.cc: Ditto. * gdb.cp/overload.cc: Ditto. * gdb.cp/ovldbreak.cc: Ditto. * gdb.cp/ref-params.cc: Ditto. * gdb.cp/ref-types.cc: Ditto. * gdb.cp/templates.cc: Ditto. * gdb.cp/virtfunc.cc: Ditto. * gdb.hp/gdb.aCC/run.c: Ditto. * gdb.hp/gdb.base-hp/callfwmall.c: Ditto. * gdb.hp/gdb.compat/xdb0.c: Ditto. * gdb.reverse/consecutive-reverse.c: Ditto. * gdb.reverse/sigall-reverse.c: Ditto. * gdb.reverse/until-reverse.c: Ditto. * gdb.reverse/watch-reverse.c: Ditto. * gdb.trace/actions.c: Ditto. * gdb.trace/circ.c: Ditto. * gdb.trace/collection.c: Ditto.
2011-12-13 18:22:11 +01:00
-re "8\[ \t\]+foo \[(\]+.*\[)\]+;.*17\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 8-17" ; gdb_suppress_tests }
timeout { fail "list 8-17 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list -\n"
gdb_expect {
gdb/doc/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Implementing a Remote Stub): Explain that you should transfer control to the stub in the startup code instead of in main. Mention the need to get past the initial breakpoint. gdb/testsuite/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> Doug Evans <dje@google.com> * lib/gdb.exp (gdb_run_cmd, runto_main, gdb_compile) (clean_restart): Remove references to the gdb_stub target board variable. (gdb_step_for_stub): Delete. * gdb.base/annota1.exp: Remove all references to [target_info exists gdb_stub], gdb_step_for_stub and usestubs. * gdb.base/annota3.exp: Ditto. * gdb.base/async.exp: Ditto. * gdb.base/break.exp: Ditto. * gdb.base/code-expr.exp: Ditto. * gdb.base/commands.exp: Ditto. * gdb.base/completion.exp: Ditto. * gdb.base/condbreak.exp: Ditto. * gdb.base/consecutive.exp: Ditto. * gdb.base/cvexpr.exp: Ditto. * gdb.base/define.exp: Ditto. * gdb.base/display.exp: Ditto. * gdb.base/ena-dis-br.exp: Ditto. * gdb.base/environ.exp: Ditto. * gdb.base/gnu-ifunc.exp: Ditto. * gdb.base/maint.exp: Ditto. * gdb.base/pending.exp: Ditto. * gdb.base/sect-cmd.exp: Ditto. * gdb.base/sepdebug.exp: Ditto. * gdb.base/unload.exp: Ditto. * gdb.base/watchpoint-solib.exp: Ditto. * gdb.cp/annota2.exp: Ditto. * gdb.cp/annota3.exp: Ditto. * gdb.dwarf2/dw2-inline-param.exp: Ditto. * gdb.hp/gdb.compat/xdb1.exp: Ditto. * gdb.mi/mi-pending.exp: Ditto. * gdb.trace/circ.exp: Ditto. * gdb.cp/ovldbreak.exp: Ditto. Adjust expected line numbers. * gdb.base/list.exp: Ditto. * gdb.base/all-types.c: Remove all calls to set_debug_traps and breakpoint function and all references to the usestubs macro. * gdb.base/exprs.c: Ditto. * gdb.base/freebpcmd.c: Ditto. * gdb.base/bitfields.c: Ditto. * gdb.base/bitfields2.c: Ditto. * gdb.base/break.c: Ditto. * gdb.base/call-sc.c: Ditto. * gdb.base/call-signals.c: Ditto. * gdb.base/callfuncs.c: Ditto. * gdb.base/charset.c: Ditto. * gdb.base/consecutive.c: Ditto. * gdb.base/constvars.c: Ditto. * gdb.base/funcargs.c: Ditto. * gdb.base/int-type.c: Ditto. * gdb.base/interrupt.c: Ditto. * gdb.base/langs0.c: Ditto. * gdb.base/list0.c: Ditto. * gdb.base/mips_pro.c: Ditto. * gdb.base/miscexprs.c: Ditto. * gdb.base/nodebug.c: Ditto. * gdb.base/opaque0.c: Ditto. * gdb.base/pointers.c: Ditto. * gdb.base/printcmds.c: Ditto. * gdb.base/ptype.c: Ditto. * gdb.base/recurse.c: Ditto. * gdb.base/reread1.c: Ditto. * gdb.base/reread2.c: Ditto. * gdb.base/restore.c: Ditto. * gdb.base/return.c: Ditto. * gdb.base/run.c: Ditto. * gdb.base/scope0.c: Ditto. * gdb.base/sepdebug.c: Ditto. * gdb.base/setshow.c: Ditto. * gdb.base/setvar.c: Ditto. * gdb.base/sigall.c: Ditto. * gdb.base/signals.c: Ditto. * gdb.base/structs.c: Ditto. * gdb.base/structs2.c: Ditto. * gdb.base/testenv.c: Ditto. * gdb.base/twice.c: Ditto. * gdb.base/unwindonsignal.c: Ditto. * gdb.base/watchpoint.c: Ditto. * gdb.base/watchpoints.c: Ditto. * gdb.base/whatis.c: Ditto. * gdb.cp/classes.cc: Ditto. * gdb.cp/cplusfuncs.cc: Ditto. * gdb.cp/derivation.cc: Ditto. * gdb.cp/formatted-ref.cc: Ditto. * gdb.cp/misc.cc: Ditto. * gdb.cp/overload.cc: Ditto. * gdb.cp/ovldbreak.cc: Ditto. * gdb.cp/ref-params.cc: Ditto. * gdb.cp/ref-types.cc: Ditto. * gdb.cp/templates.cc: Ditto. * gdb.cp/virtfunc.cc: Ditto. * gdb.hp/gdb.aCC/run.c: Ditto. * gdb.hp/gdb.base-hp/callfwmall.c: Ditto. * gdb.hp/gdb.compat/xdb0.c: Ditto. * gdb.reverse/consecutive-reverse.c: Ditto. * gdb.reverse/sigall-reverse.c: Ditto. * gdb.reverse/until-reverse.c: Ditto. * gdb.reverse/watch-reverse.c: Ditto. * gdb.trace/actions.c: Ditto. * gdb.trace/circ.c: Ditto. * gdb.trace/collection.c: Ditto.
2011-12-13 18:22:11 +01:00
-re "1\[ \t\]+#include .*7\[ \t\]+x = 0;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 1-7" ; gdb_suppress_tests }
timeout { fail "list 1-7 (timeout)" ; gdb_suppress_tests }
}
pass "$testcnt successive \"list -\" commands to page backwards"
gdb_stop_suppressing_tests;
}
#
# Test "list first,last"
#
proc test_list_range {} {
global gdb_prompt
global last_line_re
global last_line
1999-06-28 18:06:02 +02:00
gdb_test "list list0.c:2,list0.c:5" "2\[ \t\]+\r\n3\[ \t\]+int main \[)(\]+.*5\[ \t\]+int x;" "list range; filename:line1,filename:line2"
1999-06-28 18:06:02 +02:00
gdb_test "list 2,5" "2\[ \t\]+\r\n3\[ \t\]+int main \[)(\]+.*5\[ \t\]+int x;" "list range; line1,line2"
# gdb_test "list -1,6" "Line number 0 out of range; .*list0.c has 39 lines." "list range; lower bound negative"
# gdb_test "list -100,-40" "Line number -60 out of range; .*list0.c has 39 lines." "list range; both bounds negative"
set past_end [expr ${last_line} + 10]
set much_past_end [expr ${past_end} + 10]
gdb_test "list 30,${past_end}" "30\[ \t\]+foo \(.*\);.*${last_line_re}" "list range; upper bound past EOF"
gdb_test "list ${past_end},${much_past_end}" "Line number ${past_end} out of range; .*list0.c has ${last_line} lines." "list range; both bounds past EOF"
gdb_test "list list0.c:2,list1.c:17" "Specified start and end are in different files." "list range, must be same files"
}
#
# Test "list filename:function"
#
proc test_list_filename_and_function {} {
global gdb_prompt
global last_line_re
set testcnt 0
# gcc appears to generate incorrect debugging information for code
# in include files, which breaks this test.
# SunPRO cc is the second case below, it's also correct.
send_gdb "list list0.c:main\n"
gdb_expect {
gdb/doc/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Implementing a Remote Stub): Explain that you should transfer control to the stub in the startup code instead of in main. Mention the need to get past the initial breakpoint. gdb/testsuite/ 2011-12-13 Pedro Alves <pedro@codesourcery.com> Doug Evans <dje@google.com> * lib/gdb.exp (gdb_run_cmd, runto_main, gdb_compile) (clean_restart): Remove references to the gdb_stub target board variable. (gdb_step_for_stub): Delete. * gdb.base/annota1.exp: Remove all references to [target_info exists gdb_stub], gdb_step_for_stub and usestubs. * gdb.base/annota3.exp: Ditto. * gdb.base/async.exp: Ditto. * gdb.base/break.exp: Ditto. * gdb.base/code-expr.exp: Ditto. * gdb.base/commands.exp: Ditto. * gdb.base/completion.exp: Ditto. * gdb.base/condbreak.exp: Ditto. * gdb.base/consecutive.exp: Ditto. * gdb.base/cvexpr.exp: Ditto. * gdb.base/define.exp: Ditto. * gdb.base/display.exp: Ditto. * gdb.base/ena-dis-br.exp: Ditto. * gdb.base/environ.exp: Ditto. * gdb.base/gnu-ifunc.exp: Ditto. * gdb.base/maint.exp: Ditto. * gdb.base/pending.exp: Ditto. * gdb.base/sect-cmd.exp: Ditto. * gdb.base/sepdebug.exp: Ditto. * gdb.base/unload.exp: Ditto. * gdb.base/watchpoint-solib.exp: Ditto. * gdb.cp/annota2.exp: Ditto. * gdb.cp/annota3.exp: Ditto. * gdb.dwarf2/dw2-inline-param.exp: Ditto. * gdb.hp/gdb.compat/xdb1.exp: Ditto. * gdb.mi/mi-pending.exp: Ditto. * gdb.trace/circ.exp: Ditto. * gdb.cp/ovldbreak.exp: Ditto. Adjust expected line numbers. * gdb.base/list.exp: Ditto. * gdb.base/all-types.c: Remove all calls to set_debug_traps and breakpoint function and all references to the usestubs macro. * gdb.base/exprs.c: Ditto. * gdb.base/freebpcmd.c: Ditto. * gdb.base/bitfields.c: Ditto. * gdb.base/bitfields2.c: Ditto. * gdb.base/break.c: Ditto. * gdb.base/call-sc.c: Ditto. * gdb.base/call-signals.c: Ditto. * gdb.base/callfuncs.c: Ditto. * gdb.base/charset.c: Ditto. * gdb.base/consecutive.c: Ditto. * gdb.base/constvars.c: Ditto. * gdb.base/funcargs.c: Ditto. * gdb.base/int-type.c: Ditto. * gdb.base/interrupt.c: Ditto. * gdb.base/langs0.c: Ditto. * gdb.base/list0.c: Ditto. * gdb.base/mips_pro.c: Ditto. * gdb.base/miscexprs.c: Ditto. * gdb.base/nodebug.c: Ditto. * gdb.base/opaque0.c: Ditto. * gdb.base/pointers.c: Ditto. * gdb.base/printcmds.c: Ditto. * gdb.base/ptype.c: Ditto. * gdb.base/recurse.c: Ditto. * gdb.base/reread1.c: Ditto. * gdb.base/reread2.c: Ditto. * gdb.base/restore.c: Ditto. * gdb.base/return.c: Ditto. * gdb.base/run.c: Ditto. * gdb.base/scope0.c: Ditto. * gdb.base/sepdebug.c: Ditto. * gdb.base/setshow.c: Ditto. * gdb.base/setvar.c: Ditto. * gdb.base/sigall.c: Ditto. * gdb.base/signals.c: Ditto. * gdb.base/structs.c: Ditto. * gdb.base/structs2.c: Ditto. * gdb.base/testenv.c: Ditto. * gdb.base/twice.c: Ditto. * gdb.base/unwindonsignal.c: Ditto. * gdb.base/watchpoint.c: Ditto. * gdb.base/watchpoints.c: Ditto. * gdb.base/whatis.c: Ditto. * gdb.cp/classes.cc: Ditto. * gdb.cp/cplusfuncs.cc: Ditto. * gdb.cp/derivation.cc: Ditto. * gdb.cp/formatted-ref.cc: Ditto. * gdb.cp/misc.cc: Ditto. * gdb.cp/overload.cc: Ditto. * gdb.cp/ovldbreak.cc: Ditto. * gdb.cp/ref-params.cc: Ditto. * gdb.cp/ref-types.cc: Ditto. * gdb.cp/templates.cc: Ditto. * gdb.cp/virtfunc.cc: Ditto. * gdb.hp/gdb.aCC/run.c: Ditto. * gdb.hp/gdb.base-hp/callfwmall.c: Ditto. * gdb.hp/gdb.compat/xdb0.c: Ditto. * gdb.reverse/consecutive-reverse.c: Ditto. * gdb.reverse/sigall-reverse.c: Ditto. * gdb.reverse/until-reverse.c: Ditto. * gdb.reverse/watch-reverse.c: Ditto. * gdb.trace/actions.c: Ditto. * gdb.trace/circ.c: Ditto. * gdb.trace/collection.c: Ditto.
2011-12-13 18:22:11 +01:00
-re "1\[ \t\]+#include .*10\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" {
incr testcnt
}
-re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" {
pass "list function in source file 1"
}
-re ".*$gdb_prompt $" { fail "list list0.c:main" }
timeout { fail "list list0.c:main (timeout)" }
}
# Not sure what the point of having this function be unused is.
# AIX is legitimately removing it.
setup_xfail "rs6000-*-aix*"
send_gdb "list list0.c:unused\n"
gdb_expect {
-re "40\[ \t\]+unused.*${last_line_re}\r\n$gdb_prompt $" {
incr testcnt
}
-re "37.*42\[ \t\]+\}\r\n$gdb_prompt $" {
incr testcnt
}
-re ".*$gdb_prompt $" { fail "list list0.c:unused" }
timeout { fail "list list0.c:unused (timeout)" }
}
clear_xfail "rs6000-*-aix*"
# gcc appears to generate incorrect debugging information for code
# in include files, which breaks this test.
# Ultrix gdb is the second case, one line different but still correct.
# SunPRO cc is the third case.
setup_xfail "rs6000-*-*" 1804
setup_xfail_format "COFF"
send_gdb "list list0.h:foo\n"
gdb_expect {
-re "2\[ \t\]+including file. This.*11\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" {
incr testcnt
}
-re "1\[ \t\]+/. An include file.*10\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" {
incr testcnt
}
-re "3\[ \t\]+.*12\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" {
incr testcnt
}
-re "No source file named list0.h.\r\n$gdb_prompt $" {
fail "list list0.h:foo"
}
-re ".*$gdb_prompt $" { fail "list list0.h:foo" }
timeout { fail "list list0.h:foo (timeout)" }
}
# Ultrix gdb is the second case.
send_gdb "list list1.c:bar\n"
gdb_expect {
1999-06-28 18:06:02 +02:00
-re "4\[ \t\]+void.*13\[ \t\]+\}\r\n$gdb_prompt $" {
incr testcnt
}
1999-06-28 18:06:02 +02:00
-re "4\[ \t\]+void.*12\[ \t\]*long_line ..;\r\n$gdb_prompt $" {
incr testcnt
}
1999-06-28 18:06:02 +02:00
-re "4\[ \t\]+void.*11\[ \t\]*\r\n$gdb_prompt $" {
incr testcnt
}
-re ".*$gdb_prompt $" { fail "list list1.c:bar" }
timeout { fail "list list1.c:bar (timeout)" }
}
# Not sure what the point of having this function be unused is.
# AIX is legitimately removing it.
setup_xfail "rs6000-*-aix*"
send_gdb "list list1.c:unused\n"
gdb_expect {
1999-06-28 18:06:02 +02:00
-re "12\[ \t\]+long_line \[(\]\[)\];.*13\[ \t\]+\}\r\n.*$gdb_prompt $" {
incr testcnt
}
1999-06-28 18:06:02 +02:00
-re "14.*19\[ \t\]+\}\r\n.*$gdb_prompt $" {
incr testcnt
}
-re ".*$gdb_prompt $" { fail "list list1.c:unused" }
timeout { fail "list list1.c:unused (timeout)" }
}
clear_xfail "rs6000-*-aix*"
pass "list filename:function ($testcnt tests)"
# Test with quoting.
gdb_test "list 'list0.c:main'" "int main.*"
# Test some invalid specs
# The following test takes the FIXME result on most systems using
# DWARF. It fails to notice that main() is not in the file requested.
setup_xfail "*-*-*"
# Does this actually work ANYWHERE? I believe not, as this is an `aspect' of
# lookup_symbol(), where, when it is given a specific symtab which does not
# contain the requested symbol, it will subsequently search all of the symtabs
# for the requested symbol.
gdb_test "list list0.c:foo" "Function \"foo\" not defined in .*list0.c" "list filename:function; wrong filename rejected"
1999-06-28 18:06:02 +02:00
gdb_test "list foobar.c:main" "No source file named foobar.c.|Location not found" "list filename:function; nonexistant file"
the "ambiguous linespec" series gdb 2011-12-06 Joel Brobecker <brobecker@acacore.com> * language.h (struct language_defn): Add new component la_symbol_name_compare. * symfile.h (struct quick_symbol_functions): Update the profile of parameter "name_matcher" for the expand_symtabs_matching method. Update the documentation accordingly. * ada-lang.h (ada_name_for_lookup): Add declaration. * ada-lang.c (ada_name_for_lookup): New function, extracted out from ada_iterate_over_symbols. (ada_iterate_over_symbols): Do not encode symbol name anymore. (ada_expand_partial_symbol_name): Adjust profile. (ada_language_defn): Add value for la_symbol_name_compare field. * linespec.c: #include "ada-lang.h". (iterate_name_matcher): Add language parameter. Replace call to strcmp_iw by call to language->la_symbol_name_compare. (decode_variable): Encode COPY if current language is Ada. * dwarf2read.c (dw2_expand_symtabs_matching): Adjust profile of name_matcher parameter. Adjust call to name_matcher. * psymtab.c (expand_symtabs_matching_via_partial): Likewise. (expand_partial_symbol_names): Update profile of parameter "fun". * psymtab.h (expand_partial_symbol_names): Update profile of parameter "fun". * symtab.c (demangle_for_lookup): Update function documentation. (search_symbols_name_matches): Add language parameter. (expand_partial_symbol_name): Likewise. * c-lang.c (c_language_defn, cplus_language_defn) (asm_language_defn, minimal_language_defn): Add value for la_symbol_name_compare field. * d-lang.c (d_language_defn): Likewise. * f-lang.c (f_language_defn): Ditto. * jv-lang.c (java_language_defn): Ditto. * m2-lang.c (m2_language_defn): Ditto. * objc-lang.c (objc_language_defn): Ditto. * opencl-lang.c (opencl_language_defn): Ditto. * p-lang.c (pascal_language_defn): Ditto. * language.c (unknown_language_defn, auto_language_defn) (local_language_defn): Ditto. 2011-12-06 Tom Tromey <tromey@redhat.com> * linespec.c (iterate_over_all_matching_symtabs): Use LA_ITERATE_OVER_SYMBOLS. (lookup_prefix_sym, add_matching_symbols_to_info): Likewise. (find_function_symbols, decode_variable): Remove Ada special case. * language.h (struct language_defn) <la_iterate_over_symbols>: New field. (LA_ITERATE_OVER_SYMBOLS): New macro. * language.c (unknown_language_defn, auto_language_defn) (local_language_defn): Update. * c-lang.c (c_language_defn, cplus_language_defn) (asm_language_defn, minimal_language_defn): Update. * d-lang.c (d_language_defn): Update. * f-lang.c (f_language_defn): Update. * jv-lang.c (java_language_defn): Update. * m2-lang.c (m2_language_defn): Update. * objc-lang.c (objc_language_defn): Update. * opencl-lang.c (opencl_language_defn): Update. * p-lang.c (pascal_language_defn): Update. * ada-lang.c (ada_iterate_over_symbols): New function. (ada_language_defn): Update. 2011-12-06 Tom Tromey <tromey@redhat.com> Joel Brobecker <brobecker@acacore.com> PR breakpoints/13105, PR objc/8341, PR objc/8343, PR objc/8366, PR objc/8535, PR breakpoints/11657, PR breakpoints/11970, PR breakpoints/12023, PR breakpoints/12334, PR breakpoints/12856, PR shlibs/8929, PR shlibs/7393: * python/py-type.c (compare_maybe_null_strings): Rename from compare_strings. (check_types_equal): Update. * utils.c (compare_strings): New function. * tui/tui-winsource.c (tui_update_breakpoint_info): Update for location changes. * tracepoint.c (scope_info): Update. (trace_find_line_command): Use DECODE_LINE_FUNFIRSTLINE. * symtab.h (iterate_over_minimal_symbols) (iterate_over_some_symtabs, iterate_over_symtabs) (find_pcs_for_symtab_line, iterate_over_symbols) (demangle_for_lookup): Declare. (expand_line_sal): Remove. * symtab.c (iterate_over_some_symtabs, iterate_over_symtabs) (lookup_symtab_callback): New functions. (lookup_symtab): Rewrite. (demangle_for_lookup): New function, extract from lookup_symbol_in_language. (lookup_symbol_in_language): Use it. (iterate_over_symbols): New function. (find_line_symtab): Update. (find_pcs_for_symtab_line): New functions. (find_line_common): Add 'start' argument. (decode_line_spec): Update. Change argument to 'flags', change interpretation. (append_expanded_sal): Remove. (append_exact_match_to_sals): Remove. (expand_line_sal): Remove. * symfile.h (struct quick_symbol_functions) <lookup_symtab>: Remove. <map_symtabs_matching_filename>: New field. * stack.c (func_command): Only look in the current program space. Use DECODE_LINE_FUNFIRSTLINE. * source.c (line_info): Set pspace on sal. Check program space in the loop. Use DECODE_LINE_LIST_MODE. (select_source_symtab): Use DECODE_LINE_FUNFIRSTLINE. * solib-target.c: Remove DEF_VEC_I(CORE_ADDR). * python/python.c (gdbpy_decode_line): Update. * psymtab.c (partial_map_expand_apply): New function. (partial_map_symtabs_matching_filename): Rename from lookup_partial_symbol. Update arguments. (lookup_symtab_via_partial_symtab): Remove. (psym_functions): Update. * objc-lang.h (parse_selector, parse_method): Don't declare. (find_imps): Update. * objc-lang.c (parse_selector, parse_method): Now static. (find_methods): Change arguments. Fill in a vector of symbol names. (uniquify_strings): New function. (find_imps): Change arguments. * minsyms.c (iterate_over_minimal_symbols): New function. * linespec.h (enum decode_line_flags): New. (struct linespec_sals): New. (struct linespec_result) <canonical>: Remove. <pre_expanded, addr_string, sals>: New fields. (destroy_linespec_result, make_cleanup_destroy_linespec_result) (decode_line_full): Declare. (decode_line_1): Update. * linespec.c (struct address_entry, struct linespec_state, struct collect_info): New types. (add_sal_to_sals_basic, add_sal_to_sals, hash_address_entry) (eq_address_entry, maybe_add_address): New functions. (total_number_of_methods): Remove. (iterate_name_matcher, iterate_over_all_matching_symtabs): New functions. (find_methods): Change arguments. Don't canonicalize input. Simplify logic. (add_matching_methods, add_constructors) (build_canonical_line_spec): Remove. (filter_results, convert_results_to_lsals): New functions. (decode_line_2): Change arguments. Rewrite for new data structures. (decode_line_internal): Rename from decode_line_1. Change arguments. Add cleanups. Update for new data structures. (linespec_state_constructor, linespec_state_destructor) (decode_line_full, decode_line_1): New functions. (decode_indirect): Change arguments. Update. (locate_first_half): Use skip_spaces. (decode_objc): Change arguments. Update for new data structures. Simplify logic. (decode_compound): Change arguments. Add cleanups. Remove fallback code, replace with error. (struct decode_compound_collector): New type. (collect_one_symbol): New function. (lookup_prefix_sym): Change arguments. Update. (compare_symbol_name, add_all_symbol_names_from_pspace) (find_superclass_methods ): New functions. (find_method): Rewrite. (struct symtab_collector): New type. (add_symtabs_to_list, collect_symtabs_from_filename): New functions. (symtabs_from_filename): Change API. Rename from symtab_from_filename. (collect_function_symbols): New function. (find_function_symbols): Change API. Rename from find_function_symbol. Rewrite. (decode_all_digits): Change arguments. Rewrite. (decode_dollar): Change arguments. Use decode_variable. (decode_label): Change arguments. Rewrite. (collect_symbols): New function. (minsym_found): Change arguments. Rewrite. (check_minsym, search_minsyms_for_name) (add_matching_symbols_to_info): New function. (decode_variable): Change arguments. Iterate over all symbols. (symbol_found): Remove. (symbol_to_sal): New function. (init_linespec_result, destroy_linespec_result) (cleanup_linespec_result, make_cleanup_destroy_linespec_result): New functions. (decode_digits_list_mode, decode_digits_ordinary): New functions. * dwarf2read.c (dw2_map_expand_apply): New function. (dw2_map_symtabs_matching_filename): Rename from dw2_lookup_symtab. Change arguments. (dwarf2_gdb_index_functions): Update. * dwarf2loc.c: Remove DEF_VEC_I(CORE_ADDR). * defs.h (compare_strings): Declare. * cli/cli-cmds.c (compare_strings): Move to utils.c. (edit_command, list_command): Use DECODE_LINE_LIST_MODE. Call filter_sals. (compare_symtabs, filter_sals): New functions. * breakpoint.h (struct bp_location) <line_number, source_file>: New fields. (struct breakpoint) <line_number, source_file>: Remove. <filter>: New field. * breakpoint.c (print_breakpoint_location, init_raw_breakpoint) (momentary_breakpoint_from_master, add_location_to_breakpoint): Update for changes to locations. (init_breakpoint_sal): Add 'filter' argument. Set 'filter' on breakpoint. (create_breakpoint_sal): Add 'filter' argument. (remove_sal, expand_line_sal_maybe): Remove. (create_breakpoints_sal): Remove 'sals' argument. Handle pre-expanded sals and the filter. (parse_breakpoint_sals): Use decode_line_full. (check_fast_tracepoint_sals): Use get_sal_arch. (create_breakpoint): Create a linespec_sals. Update. (break_range_command): Use decode_line_full. Update. (until_break_command): Update. (clear_command): Update match conditions for linespec.c changes. Use DECODE_LINE_LIST_MODE. (say_where): Update for changes to locations. (bp_location_dtor): Free 'source_file'. (base_breakpoint_dtor): Free 'filter'. Don't free 'source_file'. (update_static_tracepoint): Update for changes to locations. (update_breakpoint_locations): Disable ranged breakpoint if too many locations match. Update. (addr_string_to_sals): Use decode_line_full. Resolve all sal PCs. (breakpoint_re_set_default): Don't call expand_line_sal_maybe. (decode_line_spec_1): Update. Change argument name to 'flags', change interpretation. * block.h (block_containing_function): Declare. * block.c (block_containing_function): New function. * skip.c (skip_function_command): Update. (skip_re_set): Update. * infcmd.c (jump_command): Use DECODE_LINE_FUNFIRSTLINE. * mi/mi-main.c (mi_cmd_trace_find): Use DECODE_LINE_FUNFIRSTLINE. * NEWS: Add entry. 2011-12-06 Tom Tromey <tromey@redhat.com> * elfread.c (elf_gnu_ifunc_resolver_return_stop): Allow breakpoint's pspace to be NULL. * breakpoint.h (struct breakpoint) <pspace>: Update comment. * breakpoint.c (init_raw_breakpoint): Conditionally set breakpoint's pspace. (init_breakpoint_sal): Don't set breakpoint's pspace. (prepare_re_set_context): Conditionally switch program space. (addr_string_to_sals): Check executing_startup on location's program space. 2011-12-06 Tom Tromey <tromey@redhat.com> * breakpoint.h (enum enable_state) <bp_startup_disabled>: Remove. * breakpoint.c (should_be_inserted): Explicitly check if program space is executing startup. (describe_other_breakpoints): Update. (disable_breakpoints_before_startup): Change executing_startup earlier. Remove loop. (enable_breakpoints_after_startup): Likewise. (init_breakpoint_sal): Don't use bp_startup_disabled. (create_breakpoint): Don't use bp_startup_disabled. (update_global_location_list): Use should_be_inserted. (bkpt_re_set): Update. gdb/testsuite 2011-12-06 Joel Brobecker <brobecker@acacore.com> * gdb.ada/fullname_bp.exp: Add tests for other valid linespecs involving a fully qualified function name. 2011-12-06 Tom Tromey <tromey@redhat.com> * gdb.ada/homonym.exp: Add three breakpoint tests. 2011-12-06 Tom Tromey <tromey@redhat.com> * gdb.base/solib-weak.exp (do_test): Remove kfail. * gdb.trace/tracecmd.exp: Disable pending breakpoints earlier. * gdb.objc/objcdecode.exp: Update for output changes. * gdb.linespec/linespec.exp: New file. * gdb.linespec/lspec.cc: New file. * gdb.linespec/lspec.h: New file. * gdb.linespec/body.h: New file. * gdb.linespec/base/two/thefile.cc: New file. * gdb.linespec/base/one/thefile.cc: New file. * gdb.linespec/Makefile.in: New file. * gdb.cp/templates.exp (test_template_breakpoints): Update for output changes. * gdb.cp/re-set-overloaded.exp: Remove kfail. * gdb.cp/ovldbreak.exp: Update for output changes. "all" test now makes one breakpoint. * gdb.cp/method2.exp (test_break): Update for output changes. * gdb.cp/mb-templates.exp: Update for output changes. * gdb.cp/mb-inline.exp: Update for output changes. * gdb.cp/mb-ctor.exp: Update for output changes. * gdb.cp/ovsrch.exp: Use fully-qualified names. * gdb.base/solib-symbol.exp: Run to main later. Breakpoint now has multiple matches. * gdb.base/sepdebug.exp: Disable pending breakpoints. Update for error message change. * gdb.base/list.exp (test_list_filename_and_number): Update for error message change. * gdb.base/break.exp: Disable pending breakpoints. Update for output changes. * configure.ac: Add gdb.linespec. * configure: Rebuild. * Makefile.in (ALL_SUBDIRS): Add gdb.linespec. gdb/doc 2011-12-06 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Set Breaks): Update for new behavior.
2011-12-06 19:54:43 +01:00
gdb_test "list list0.h:foobar" "Function \"foobar\" not defined in \"list0.h\"." "list filename:function; nonexistant function"
}
proc test_forward_search {} {
global timeout
2010-06-01 Michael Snyder <msnyder@vmware.com> * gdb.base/arithmet.exp: Use gdb_test_no_output. * gdb.base/arrayidx.exp: Ditto. * gdb.base/attach.exp: Ditto. * gdb.base/auxv.exp: Ditto. * gdb.base/bigcre.exp: Ditto. * gdb.base/break-always.exp: Ditto. * gdb.base/break-interp.exp: Ditto. * gdb.base/break.exp: Ditto. * gdb.base/breakpoint-shadow.exp: Ditto. * gdb.base/call-ar-st.exp: Ditto. * gdb.base/call-sc.exp: Ditto. * gdb.base/call-signal-resume.exp: Ditto. * gdb.base/callfuncs.exp: Ditto. * gdb.base/catch-syscall.exp: Ditto. * gdb.base/charset.exp: Ditto. * gdb.base/code-expr.exp: Ditto. * gdb.base/commands.exp: Ditto. * gdb.base/cond-expr.exp: Ditto. * gdb.base/condbreak.exp: Ditto. * gdb.base/cursal.exp: Ditto. * gdb.base/cvexpr.exp: Ditto. * gdb.base/default.exp: Ditto. * gdb.base/del.exp: Ditto. * gdb.base/detach.exp: Ditto. * gdb.base/display.exp: Ditto. * gdb.base/ena-dis-br.exp: Ditto. * gdb.base/eval-skip.exp: Ditto. * gdb.base/foll-fork.exp: Ditto. * gdb.base/foll-vfork.exp: Ditto. * gdb.base/frame-args.exp: Ditto. * gdb.base/funcargs.exp: Ditto. * gdb.base/gcore-buffer-overflow.exp: Ditto. * gdb.base/gdbvars.exp: Ditto. * gdb.base/help.exp: Ditto. * gdb.base/ifelse.exp: Ditto. * gdb.base/included.exp: Ditto. * gdb.base/list.exp: Ditto. * gdb.base/macscp.exp: Ditto. * gdb.base/maint.exp: Ditto. * gdb.base/multi-fork.exp: Ditto. * gdb.base/overlays.exp: Ditto. * gdb.base/page.exp: Ditto. * gdb.base/pending.exp: Ditto. * gdb.base/pointers.exp: Ditto. * gdb.base/pr11022.exp: Ditto. * gdb.base/prelink.exp: Ditto. * gdb.base/printcmds.exp: Ditto. * gdb.base/psymtab.exp: Ditto. * gdb.base/randomize.exp: Ditto. * gdb.base/relational.exp: Ditto. * gdb.base/relocate.exp: Ditto. * gdb.base/remote.exp: Ditto. * gdb.base/sepdebug.exp: Ditto. * gdb.base/set-lang-auto.exp: Ditto. * gdb.base/setshow.exp: Ditto. * gdb.base/setvar.exp: Ditto. * gdb.base/signals.exp: Ditto. * gdb.base/signull.exp: Ditto. * gdb.base/sigstep.exp: Ditto. * gdb.base/sizeof.exp: Ditto. * gdb.base/solib-disc.exp: Ditto. * gdb.base/store.exp: Ditto. * gdb.base/structs.exp: Ditto. * gdb.base/structs2.exp: Ditto. * gdb.base/subst.exp: Ditto. * gdb.base/term.exp: Ditto. * gdb.base/trace-commands.exp: Ditto. * gdb.base/unwindonsignal.exp: Ditto. * gdb.base/valgrind-db-attach.exp: Ditto. * gdb.base/varargs.exp: Ditto. * gdb.base/watch-cond.exp: Ditto. * gdb.base/watch_thread_num.exp: Ditto. * gdb.base/watchpoint-cond-gone.exp: Ditto. * gdb.base/watchpoint.exp: Ditto. * gdb.base/whatis-exp.exp: Ditto.
2010-06-01 23:29:21 +02:00
gdb_test_no_output "set listsize 4"
# On SunOS4, this gives us lines 19-22. On AIX, it gives us
# lines 20-23. This depends on whether the line number of a function
# is considered to be the openbrace or the first statement--either one
# is acceptable.
1999-06-28 18:06:02 +02:00
gdb_test "list long_line" "24\[ \t\]+long_line .*"
gdb_test "search 4321" " not found"
1999-06-28 18:06:02 +02:00
gdb_test "search 6789" "28\[ \t\]+oof .6789.;"
# Test that GDB won't crash if the line being searched is extremely long.
set oldtimeout $timeout
set timeout [expr "$timeout + 300"]
verbose "Timeout is now $timeout seconds" 2
gdb_test "search 1234" ".*1234.*" "search extremely long line (> 5000 chars)"
set timeout $oldtimeout
verbose "Timeout is now $timeout seconds" 2
}
proc test_only_end {} {
gdb_test_no_output "set listsize 2"
gdb_test "list 1" "list 1\r\n1\[ \t\]\[^\r\n\]*\r\n2\[ \t\]\[^\r\n\]*"
gdb_test "list ,5" "list ,5\r\n4\[ \t\]\[^\r\n\]*\r\n5\[ \t\]\[^\r\n\]*"
}
# Start with a fresh gdb.
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_file_cmd ${binfile}
2010-06-01 Michael Snyder <msnyder@vmware.com> * gdb.base/arithmet.exp: Use gdb_test_no_output. * gdb.base/arrayidx.exp: Ditto. * gdb.base/attach.exp: Ditto. * gdb.base/auxv.exp: Ditto. * gdb.base/bigcre.exp: Ditto. * gdb.base/break-always.exp: Ditto. * gdb.base/break-interp.exp: Ditto. * gdb.base/break.exp: Ditto. * gdb.base/breakpoint-shadow.exp: Ditto. * gdb.base/call-ar-st.exp: Ditto. * gdb.base/call-sc.exp: Ditto. * gdb.base/call-signal-resume.exp: Ditto. * gdb.base/callfuncs.exp: Ditto. * gdb.base/catch-syscall.exp: Ditto. * gdb.base/charset.exp: Ditto. * gdb.base/code-expr.exp: Ditto. * gdb.base/commands.exp: Ditto. * gdb.base/cond-expr.exp: Ditto. * gdb.base/condbreak.exp: Ditto. * gdb.base/cursal.exp: Ditto. * gdb.base/cvexpr.exp: Ditto. * gdb.base/default.exp: Ditto. * gdb.base/del.exp: Ditto. * gdb.base/detach.exp: Ditto. * gdb.base/display.exp: Ditto. * gdb.base/ena-dis-br.exp: Ditto. * gdb.base/eval-skip.exp: Ditto. * gdb.base/foll-fork.exp: Ditto. * gdb.base/foll-vfork.exp: Ditto. * gdb.base/frame-args.exp: Ditto. * gdb.base/funcargs.exp: Ditto. * gdb.base/gcore-buffer-overflow.exp: Ditto. * gdb.base/gdbvars.exp: Ditto. * gdb.base/help.exp: Ditto. * gdb.base/ifelse.exp: Ditto. * gdb.base/included.exp: Ditto. * gdb.base/list.exp: Ditto. * gdb.base/macscp.exp: Ditto. * gdb.base/maint.exp: Ditto. * gdb.base/multi-fork.exp: Ditto. * gdb.base/overlays.exp: Ditto. * gdb.base/page.exp: Ditto. * gdb.base/pending.exp: Ditto. * gdb.base/pointers.exp: Ditto. * gdb.base/pr11022.exp: Ditto. * gdb.base/prelink.exp: Ditto. * gdb.base/printcmds.exp: Ditto. * gdb.base/psymtab.exp: Ditto. * gdb.base/randomize.exp: Ditto. * gdb.base/relational.exp: Ditto. * gdb.base/relocate.exp: Ditto. * gdb.base/remote.exp: Ditto. * gdb.base/sepdebug.exp: Ditto. * gdb.base/set-lang-auto.exp: Ditto. * gdb.base/setshow.exp: Ditto. * gdb.base/setvar.exp: Ditto. * gdb.base/signals.exp: Ditto. * gdb.base/signull.exp: Ditto. * gdb.base/sigstep.exp: Ditto. * gdb.base/sizeof.exp: Ditto. * gdb.base/solib-disc.exp: Ditto. * gdb.base/store.exp: Ditto. * gdb.base/structs.exp: Ditto. * gdb.base/structs2.exp: Ditto. * gdb.base/subst.exp: Ditto. * gdb.base/term.exp: Ditto. * gdb.base/trace-commands.exp: Ditto. * gdb.base/unwindonsignal.exp: Ditto. * gdb.base/valgrind-db-attach.exp: Ditto. * gdb.base/varargs.exp: Ditto. * gdb.base/watch-cond.exp: Ditto. * gdb.base/watch_thread_num.exp: Ditto. * gdb.base/watchpoint-cond-gone.exp: Ditto. * gdb.base/watchpoint.exp: Ditto. * gdb.base/whatis-exp.exp: Ditto.
2010-06-01 23:29:21 +02:00
gdb_test_no_output "set width 0"
test_listsize
get_debug_format
if [ set_listsize 10 ] then {
test_list_include_file
test_list_filename_and_number
test_list_function
test_list_forward
test_list_backwards
1999-08-03 01:48:37 +02:00
test_repeat_list_command
test_list_range
test_list_filename_and_function
test_forward_search
test_only_end
}
1999-06-28 18:06:02 +02:00
remote_exec build "rm -f list0.h"