aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.trace
diff options
context:
space:
mode:
authornobody <>2002-09-07 00:00:05 +0000
committernobody <>2002-09-07 00:00:05 +0000
commitc1aa2a27e755c883b5c49b223120dfb712ea4e28 (patch)
treea98633075cd1f2b034b49446e83e522708d11f68 /gdb/testsuite/gdb.trace
parent2e3c0e2427295c9cc09a8a707dfba38d50e2ba30 (diff)
downloadgdb-sid-20020905-branch.zip
gdb-sid-20020905-branch.tar.gz
gdb-sid-20020905-branch.tar.bz2
This commit was manufactured by cvs2svn to create branchsid-20020905-branchpointsid-20020905-branch
'sid-20020905-branch'. Sprout from gdb_5_3-branch 2002-09-03 22:29:15 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'gdb_5_3-branch'.' Cherrypick from master 2002-09-07 00:00:04 UTC Alan Modra <amodra@gmail.com> 'daily update': bfd/ChangeLog bfd/config.bfd bfd/version.h include/ChangeLog include/dis-asm.h libiberty/ChangeLog libiberty/regex.c opcodes/ChangeLog opcodes/disassemble.c opcodes/ppc-dis.c opcodes/ppc-opc.c Delete: djunpack.bat gdb/CONTRIBUTE gdb/COPYING gdb/ChangeLog gdb/ChangeLog-1990 gdb/ChangeLog-1991 gdb/ChangeLog-1992 gdb/ChangeLog-1993 gdb/ChangeLog-1994 gdb/ChangeLog-1995 gdb/ChangeLog-1996 gdb/ChangeLog-1997 gdb/ChangeLog-1998 gdb/ChangeLog-1999 gdb/ChangeLog-2000 gdb/ChangeLog-2001 gdb/ChangeLog-3.x gdb/MAINTAINERS gdb/Makefile.in gdb/NEWS gdb/PROBLEMS gdb/README gdb/TODO gdb/a68v-nat.c gdb/abug-rom.c gdb/acconfig.h gdb/acinclude.m4 gdb/aclocal.m4 gdb/ada-exp.y gdb/ada-lang.c gdb/ada-lang.h gdb/ada-lex.l gdb/ada-tasks.c gdb/ada-typeprint.c gdb/ada-valprint.c gdb/aix-thread.c gdb/alpha-linux-tdep.c gdb/alpha-nat.c gdb/alpha-osf1-tdep.c gdb/alpha-tdep.c gdb/alpha-tdep.h gdb/alphabsd-nat.c gdb/alphabsd-tdep.c gdb/alphabsd-tdep.h gdb/alphafbsd-tdep.c gdb/alphanbsd-tdep.c gdb/annotate.c gdb/annotate.h gdb/arc-tdep.c gdb/arch-utils.c gdb/arch-utils.h gdb/arm-linux-nat.c gdb/arm-linux-tdep.c gdb/arm-tdep.c gdb/arm-tdep.h gdb/armnbsd-nat.c gdb/armnbsd-tdep.c gdb/avr-tdep.c gdb/ax-gdb.c gdb/ax-gdb.h gdb/ax-general.c gdb/ax.h gdb/bcache.c gdb/bcache.h gdb/blockframe.c gdb/breakpoint.c gdb/breakpoint.h gdb/buildsym.c gdb/buildsym.h gdb/builtin-regs.c gdb/builtin-regs.h gdb/c-exp.y gdb/c-lang.c gdb/c-lang.h gdb/c-typeprint.c gdb/c-valprint.c gdb/call-cmds.h gdb/ch-exp.c gdb/ch-lang.c gdb/ch-lang.h gdb/ch-typeprint.c gdb/ch-valprint.c gdb/cli-out.c gdb/cli-out.h gdb/cli/cli-cmds.c gdb/cli/cli-cmds.h gdb/cli/cli-decode.c gdb/cli/cli-decode.h gdb/cli/cli-dump.c gdb/cli/cli-dump.h gdb/cli/cli-script.c gdb/cli/cli-script.h gdb/cli/cli-setshow.c gdb/cli/cli-setshow.h gdb/cli/cli-utils.c gdb/cli/cli-utils.h gdb/coff-solib.c gdb/coff-solib.h gdb/coffread.c gdb/command.h gdb/complaints.c gdb/complaints.h gdb/completer.c gdb/completer.h gdb/config.in gdb/config/alpha/alpha-linux.mh gdb/config/alpha/alpha-linux.mt gdb/config/alpha/alpha-osf1.mh gdb/config/alpha/alpha-osf1.mt gdb/config/alpha/alpha-osf2.mh gdb/config/alpha/alpha-osf3.mh gdb/config/alpha/alpha.mt gdb/config/alpha/fbsd.mh gdb/config/alpha/fbsd.mt gdb/config/alpha/nbsd.mh gdb/config/alpha/nbsd.mt gdb/config/alpha/nm-fbsd.h gdb/config/alpha/nm-linux.h gdb/config/alpha/nm-nbsd.h gdb/config/alpha/nm-osf.h gdb/config/alpha/nm-osf2.h gdb/config/alpha/nm-osf3.h gdb/config/alpha/tm-alpha.h gdb/config/alpha/tm-alphalinux.h gdb/config/alpha/tm-fbsd.h gdb/config/alpha/tm-nbsd.h gdb/config/alpha/xm-alphalinux.h gdb/config/alpha/xm-alphaosf.h gdb/config/arc/arc.mt gdb/config/arc/tm-arc.h gdb/config/arm/embed.mt gdb/config/arm/linux.mh gdb/config/arm/linux.mt gdb/config/arm/nbsd.mt gdb/config/arm/nbsdaout.mh gdb/config/arm/nbsdelf.mh gdb/config/arm/nm-linux.h gdb/config/arm/nm-nbsd.h gdb/config/arm/nm-nbsdaout.h gdb/config/arm/tm-arm.h gdb/config/arm/tm-embed.h gdb/config/arm/tm-linux.h gdb/config/arm/tm-wince.h gdb/config/arm/wince.mt gdb/config/arm/xm-linux.h gdb/config/arm/xm-nbsd.h gdb/config/avr/avr.mt gdb/config/cris/cris.mt gdb/config/cris/tm-cris.h gdb/config/d10v/d10v.mt gdb/config/d30v/d30v.mt gdb/config/d30v/tm-d30v.h gdb/config/djgpp/README gdb/config/djgpp/config.sed gdb/config/djgpp/djcheck.sh gdb/config/djgpp/djconfig.sh gdb/config/djgpp/fnchange.lst gdb/config/fr30/fr30.mt gdb/config/fr30/tm-fr30.h gdb/config/frv/frv.mt gdb/config/frv/tm-frv.h gdb/config/h8300/h8300.mt gdb/config/h8300/tm-h8300.h gdb/config/h8500/h8500.mt gdb/config/h8500/tm-h8500.h gdb/config/i386/cygwin.mh gdb/config/i386/cygwin.mt gdb/config/i386/embed.mt gdb/config/i386/fbsd.mh gdb/config/i386/fbsd.mt gdb/config/i386/gdbserve.mt gdb/config/i386/go32.mh gdb/config/i386/go32.mt gdb/config/i386/i386aix.mh gdb/config/i386/i386aix.mt gdb/config/i386/i386aout.mt gdb/config/i386/i386bsd.mh gdb/config/i386/i386bsd.mt gdb/config/i386/i386dgux.mh gdb/config/i386/i386gnu.mh gdb/config/i386/i386gnu.mt gdb/config/i386/i386lynx.mh gdb/config/i386/i386lynx.mt gdb/config/i386/i386m3.mh gdb/config/i386/i386m3.mt gdb/config/i386/i386mach.mh gdb/config/i386/i386mk.mh gdb/config/i386/i386mk.mt gdb/config/i386/i386nw.mt gdb/config/i386/i386os9k.mt gdb/config/i386/i386sco.mh gdb/config/i386/i386sco4.mh gdb/config/i386/i386sco5.mh gdb/config/i386/i386sco5.mt gdb/config/i386/i386sol2.mh gdb/config/i386/i386sol2.mt gdb/config/i386/i386v.mh gdb/config/i386/i386v.mt gdb/config/i386/i386v32.mh gdb/config/i386/i386v4.mh gdb/config/i386/i386v4.mt gdb/config/i386/i386v42mp.mh gdb/config/i386/i386v42mp.mt gdb/config/i386/linux.mh gdb/config/i386/linux.mt gdb/config/i386/nbsd.mt gdb/config/i386/nbsdaout.mh gdb/config/i386/nbsdelf.mh gdb/config/i386/ncr3000.mh gdb/config/i386/ncr3000.mt gdb/config/i386/nm-cygwin.h gdb/config/i386/nm-fbsd.h gdb/config/i386/nm-go32.h gdb/config/i386/nm-i386.h gdb/config/i386/nm-i386aix.h gdb/config/i386/nm-i386bsd.h gdb/config/i386/nm-i386gnu.h gdb/config/i386/nm-i386lynx.h gdb/config/i386/nm-i386mach.h gdb/config/i386/nm-i386sco.h gdb/config/i386/nm-i386sco4.h gdb/config/i386/nm-i386sco5.h gdb/config/i386/nm-i386sol2.h gdb/config/i386/nm-i386v.h gdb/config/i386/nm-i386v4.h gdb/config/i386/nm-i386v42mp.h gdb/config/i386/nm-linux.h gdb/config/i386/nm-m3.h gdb/config/i386/nm-nbsd.h gdb/config/i386/nm-nbsdaout.h gdb/config/i386/nm-obsd.h gdb/config/i386/nm-ptx4.h gdb/config/i386/nm-symmetry.h gdb/config/i386/nm-x86-64linux.h gdb/config/i386/obsd.mh gdb/config/i386/ptx.mh gdb/config/i386/ptx.mt gdb/config/i386/ptx4.mh gdb/config/i386/ptx4.mt gdb/config/i386/symmetry.mh gdb/config/i386/symmetry.mt gdb/config/i386/tm-cygwin.h gdb/config/i386/tm-fbsd.h gdb/config/i386/tm-go32.h gdb/config/i386/tm-i386.h gdb/config/i386/tm-i386aix.h gdb/config/i386/tm-i386bsd.h gdb/config/i386/tm-i386lynx.h gdb/config/i386/tm-i386m3.h gdb/config/i386/tm-i386mk.h gdb/config/i386/tm-i386os9k.h gdb/config/i386/tm-i386sol2.h gdb/config/i386/tm-i386v4.h gdb/config/i386/tm-i386v42mp.h gdb/config/i386/tm-linux.h gdb/config/i386/tm-nbsd.h gdb/config/i386/tm-ptx.h gdb/config/i386/tm-ptx4.h gdb/config/i386/tm-symmetry.h gdb/config/i386/tm-vxworks.h gdb/config/i386/tm-x86-64linux.h gdb/config/i386/vxworks.mt gdb/config/i386/x86-64linux.mh gdb/config/i386/x86-64linux.mt gdb/config/i386/xm-cygwin.h gdb/config/i386/xm-go32.h gdb/config/i386/xm-i386.h gdb/config/i386/xm-i386aix.h gdb/config/i386/xm-i386bsd.h gdb/config/i386/xm-i386m3.h gdb/config/i386/xm-i386mach.h gdb/config/i386/xm-i386mk.h gdb/config/i386/xm-i386sco.h gdb/config/i386/xm-i386v.h gdb/config/i386/xm-i386v32.h gdb/config/i386/xm-i386v4.h gdb/config/i386/xm-nbsd.h gdb/config/i386/xm-ptx.h gdb/config/i386/xm-ptx4.h gdb/config/i386/xm-symmetry.h gdb/config/i960/mon960.mt gdb/config/i960/nindy960.mt gdb/config/i960/tm-i960.h gdb/config/i960/tm-mon960.h gdb/config/i960/tm-nindy960.h gdb/config/i960/tm-vx960.h gdb/config/i960/vxworks960.mt gdb/config/ia64/aix.mh gdb/config/ia64/aix.mt gdb/config/ia64/ia64.mt gdb/config/ia64/linux.mh gdb/config/ia64/linux.mt gdb/config/ia64/nm-aix.h gdb/config/ia64/nm-linux.h gdb/config/ia64/tm-aix.h gdb/config/ia64/tm-ia64.h gdb/config/ia64/tm-linux.h gdb/config/ia64/xm-aix.h gdb/config/ia64/xm-linux.h gdb/config/m32r/m32r.mt gdb/config/m32r/tm-m32r.h gdb/config/m68hc11/m68hc11.mt gdb/config/m68k/3b1.mh gdb/config/m68k/3b1.mt gdb/config/m68k/apollo68b.mh gdb/config/m68k/apollo68b.mt gdb/config/m68k/apollo68v.mh gdb/config/m68k/cisco.mt gdb/config/m68k/delta68.mh gdb/config/m68k/delta68.mt gdb/config/m68k/dpx2.mh gdb/config/m68k/dpx2.mt gdb/config/m68k/es1800.mt gdb/config/m68k/hp300bsd.mh gdb/config/m68k/hp300bsd.mt gdb/config/m68k/hp300hpux.mh gdb/config/m68k/hp300hpux.mt gdb/config/m68k/linux.mh gdb/config/m68k/linux.mt gdb/config/m68k/m68klynx.mh gdb/config/m68k/m68klynx.mt gdb/config/m68k/m68kv4.mh gdb/config/m68k/m68kv4.mt gdb/config/m68k/monitor.mt gdb/config/m68k/nbsdaout.mh gdb/config/m68k/nbsdaout.mt gdb/config/m68k/nm-apollo68b.h gdb/config/m68k/nm-apollo68v.h gdb/config/m68k/nm-delta68.h gdb/config/m68k/nm-dpx2.h gdb/config/m68k/nm-hp300bsd.h gdb/config/m68k/nm-hp300hpux.h gdb/config/m68k/nm-linux.h gdb/config/m68k/nm-m68klynx.h gdb/config/m68k/nm-nbsd.h gdb/config/m68k/nm-nbsdaout.h gdb/config/m68k/nm-sun2.h gdb/config/m68k/nm-sun3.h gdb/config/m68k/nm-sysv4.h gdb/config/m68k/os68k.mt gdb/config/m68k/st2000.mt gdb/config/m68k/sun2os3.mh gdb/config/m68k/sun2os3.mt gdb/config/m68k/sun2os4.mh gdb/config/m68k/sun2os4.mt gdb/config/m68k/sun3os3.mh gdb/config/m68k/sun3os3.mt gdb/config/m68k/sun3os4.mh gdb/config/m68k/sun3os4.mt gdb/config/m68k/tm-3b1.h gdb/config/m68k/tm-apollo68b.h gdb/config/m68k/tm-cisco.h gdb/config/m68k/tm-delta68.h gdb/config/m68k/tm-dpx2.h gdb/config/m68k/tm-es1800.h gdb/config/m68k/tm-hp300bsd.h gdb/config/m68k/tm-hp300hpux.h gdb/config/m68k/tm-linux.h gdb/config/m68k/tm-m68k.h gdb/config/m68k/tm-m68klynx.h gdb/config/m68k/tm-m68kv4.h gdb/config/m68k/tm-mac.h gdb/config/m68k/tm-monitor.h gdb/config/m68k/tm-nbsd.h gdb/config/m68k/tm-os68k.h gdb/config/m68k/tm-st2000.h gdb/config/m68k/tm-sun2.h gdb/config/m68k/tm-sun2os4.h gdb/config/m68k/tm-sun3.h gdb/config/m68k/tm-sun3os4.h gdb/config/m68k/tm-vx68.h gdb/config/m68k/vxworks68.mt gdb/config/m68k/xm-3b1.h gdb/config/m68k/xm-apollo68b.h gdb/config/m68k/xm-apollo68v.h gdb/config/m68k/xm-delta68.h gdb/config/m68k/xm-dpx2.h gdb/config/m68k/xm-hp300bsd.h gdb/config/m68k/xm-hp300hpux.h gdb/config/m68k/xm-linux.h gdb/config/m68k/xm-m68k.h gdb/config/m68k/xm-m68kv4.h gdb/config/m68k/xm-nbsd.h gdb/config/m68k/xm-sun2.h gdb/config/m68k/xm-sun3.h gdb/config/m68k/xm-sun3os4.h gdb/config/m88k/delta88.mh gdb/config/m88k/delta88.mt gdb/config/m88k/delta88v4.mh gdb/config/m88k/delta88v4.mt gdb/config/m88k/m88k.mh gdb/config/m88k/m88k.mt gdb/config/m88k/nm-delta88v4.h gdb/config/m88k/nm-m88k.h gdb/config/m88k/tm-delta88.h gdb/config/m88k/tm-delta88v4.h gdb/config/m88k/tm-m88k.h gdb/config/m88k/xm-delta88.h gdb/config/m88k/xm-delta88v4.h gdb/config/m88k/xm-dgux.h gdb/config/mcore/mcore.mt gdb/config/mips/bigmips.mt gdb/config/mips/bigmips64.mt gdb/config/mips/decstation.mh gdb/config/mips/decstation.mt gdb/config/mips/embed.mt gdb/config/mips/embed64.mt gdb/config/mips/embedl.mt gdb/config/mips/embedl64.mt gdb/config/mips/irix3.mh gdb/config/mips/irix3.mt gdb/config/mips/irix4.mh gdb/config/mips/irix5.mh gdb/config/mips/irix5.mt gdb/config/mips/irix6.mh gdb/config/mips/irix6.mt gdb/config/mips/linux.mh gdb/config/mips/linux.mt gdb/config/mips/littlemips.mh gdb/config/mips/littlemips.mt gdb/config/mips/mipsm3.mh gdb/config/mips/mipsm3.mt gdb/config/mips/mipsv4.mh gdb/config/mips/mipsv4.mt gdb/config/mips/nbsd.mh gdb/config/mips/nbsd.mt gdb/config/mips/news-mips.mh gdb/config/mips/nm-irix3.h gdb/config/mips/nm-irix4.h gdb/config/mips/nm-irix5.h gdb/config/mips/nm-irix6.h gdb/config/mips/nm-linux.h gdb/config/mips/nm-mips.h gdb/config/mips/nm-nbsd.h gdb/config/mips/nm-news-mips.h gdb/config/mips/nm-riscos.h gdb/config/mips/riscos.mh gdb/config/mips/tm-bigmips.h gdb/config/mips/tm-bigmips64.h gdb/config/mips/tm-embed.h gdb/config/mips/tm-embed64.h gdb/config/mips/tm-embedl.h gdb/config/mips/tm-embedl64.h gdb/config/mips/tm-irix3.h gdb/config/mips/tm-irix5.h gdb/config/mips/tm-irix6.h gdb/config/mips/tm-linux.h gdb/config/mips/tm-mips.h gdb/config/mips/tm-mips64.h gdb/config/mips/tm-mipsm3.h gdb/config/mips/tm-mipsv4.h gdb/config/mips/tm-nbsd.h gdb/config/mips/tm-tx39.h gdb/config/mips/tm-tx39l.h gdb/config/mips/tm-vr4100.h gdb/config/mips/tm-vr4300.h gdb/config/mips/tm-vr4300el.h gdb/config/mips/tm-vr4xxx.h gdb/config/mips/tm-vr4xxxel.h gdb/config/mips/tm-vr5000.h gdb/config/mips/tm-vr5000el.h gdb/config/mips/tm-vxmips.h gdb/config/mips/tm-wince.h gdb/config/mips/tx39.mt gdb/config/mips/tx39l.mt gdb/config/mips/vr4100.mt gdb/config/mips/vr4300.mt gdb/config/mips/vr4300el.mt gdb/config/mips/vr4xxx.mt gdb/config/mips/vr4xxxel.mt gdb/config/mips/vr5000.mt gdb/config/mips/vr5000el.mt gdb/config/mips/vxmips.mt gdb/config/mips/wince.mt gdb/config/mips/xm-irix3.h gdb/config/mips/xm-irix4.h gdb/config/mips/xm-irix5.h gdb/config/mips/xm-irix6.h gdb/config/mips/xm-linux.h gdb/config/mips/xm-mips.h gdb/config/mips/xm-mipsm3.h gdb/config/mips/xm-mipsv4.h gdb/config/mips/xm-riscos.h gdb/config/mn10200/mn10200.mt gdb/config/mn10200/tm-mn10200.h gdb/config/mn10300/mn10300.mt gdb/config/nm-gnu.h gdb/config/nm-linux.h gdb/config/nm-lynx.h gdb/config/nm-m3.h gdb/config/nm-nbsd.h gdb/config/nm-nbsdaout.h gdb/config/nm-sysv4.h gdb/config/none/nm-none.h gdb/config/none/none.mh gdb/config/none/none.mt gdb/config/none/tm-none.h gdb/config/none/xm-none.h gdb/config/ns32k/nbsdaout.mh gdb/config/ns32k/nbsdaout.mt gdb/config/ns32k/nm-nbsd.h gdb/config/ns32k/nm-nbsdaout.h gdb/config/ns32k/tm-nbsd.h gdb/config/ns32k/tm-ns32k.h gdb/config/ns32k/xm-nbsd.h gdb/config/pa/hppa.mt gdb/config/pa/hppa64.mt gdb/config/pa/hppabsd.mh gdb/config/pa/hppabsd.mt gdb/config/pa/hppahpux.mh gdb/config/pa/hppahpux.mt gdb/config/pa/hppaosf.mh gdb/config/pa/hppaosf.mt gdb/config/pa/hppapro.mt gdb/config/pa/hpux1020.mh gdb/config/pa/hpux1020.mt gdb/config/pa/hpux11.mh gdb/config/pa/hpux11.mt gdb/config/pa/hpux11w.mh gdb/config/pa/hpux11w.mt gdb/config/pa/nm-hppab.h gdb/config/pa/nm-hppah.h gdb/config/pa/nm-hppah11.h gdb/config/pa/nm-hppao.h gdb/config/pa/tm-hppa.h gdb/config/pa/tm-hppa64.h gdb/config/pa/tm-hppab.h gdb/config/pa/tm-hppah.h gdb/config/pa/tm-hppao.h gdb/config/pa/tm-pro.h gdb/config/pa/xm-hppab.h gdb/config/pa/xm-hppah.h gdb/config/pa/xm-pa.h gdb/config/powerpc/aix.mh gdb/config/powerpc/aix.mt gdb/config/powerpc/aix432.mh gdb/config/powerpc/gdbserve.mt gdb/config/powerpc/linux.mh gdb/config/powerpc/linux.mt gdb/config/powerpc/nbsd.mh gdb/config/powerpc/nbsd.mt gdb/config/powerpc/nm-aix.h gdb/config/powerpc/nm-linux.h gdb/config/powerpc/nm-nbsd.h gdb/config/powerpc/ppc-eabi.mt gdb/config/powerpc/ppc-sim.mt gdb/config/powerpc/ppcle-eabi.mt gdb/config/powerpc/ppcle-sim.mt gdb/config/powerpc/tm-linux.h gdb/config/powerpc/tm-nbsd.h gdb/config/powerpc/tm-ppc-aix.h gdb/config/powerpc/tm-ppc-eabi.h gdb/config/powerpc/tm-ppc-sim.h gdb/config/powerpc/tm-ppcle-eabi.h gdb/config/powerpc/tm-ppcle-sim.h gdb/config/powerpc/tm-vxworks.h gdb/config/powerpc/vxworks.mt gdb/config/powerpc/xm-aix.h gdb/config/powerpc/xm-linux.h gdb/config/rs6000/aix4.mh gdb/config/rs6000/aix4.mt gdb/config/rs6000/nm-rs6000.h gdb/config/rs6000/nm-rs6000ly.h gdb/config/rs6000/rs6000.mh gdb/config/rs6000/rs6000.mt gdb/config/rs6000/rs6000lynx.mh gdb/config/rs6000/rs6000lynx.mt gdb/config/rs6000/tm-rs6000-aix4.h gdb/config/rs6000/tm-rs6000.h gdb/config/rs6000/tm-rs6000ly.h gdb/config/rs6000/xm-aix4.h gdb/config/rs6000/xm-rs6000.h gdb/config/s390/nm-linux.h gdb/config/s390/s390.mh gdb/config/s390/s390.mt gdb/config/s390/s390x.mt gdb/config/s390/tm-linux.h gdb/config/s390/tm-s390.h gdb/config/s390/xm-linux.h gdb/config/sh/embed.mt gdb/config/sh/linux.mt gdb/config/sh/nbsd.mh gdb/config/sh/nbsd.mt gdb/config/sh/nm-nbsd.h gdb/config/sh/tm-linux.h gdb/config/sh/tm-nbsd.h gdb/config/sh/tm-sh.h gdb/config/sh/tm-wince.h gdb/config/sh/wince.mt gdb/config/sparc/fbsd.mh gdb/config/sparc/fbsd.mt gdb/config/sparc/linux.mh gdb/config/sparc/linux.mt gdb/config/sparc/nbsd.mt gdb/config/sparc/nbsd64.mh gdb/config/sparc/nbsd64.mt gdb/config/sparc/nbsdaout.mh gdb/config/sparc/nbsdelf.mh gdb/config/sparc/nm-fbsd.h gdb/config/sparc/nm-linux.h gdb/config/sparc/nm-nbsd.h gdb/config/sparc/nm-nbsdaout.h gdb/config/sparc/nm-sparclynx.h gdb/config/sparc/nm-sun4os4.h gdb/config/sparc/nm-sun4sol2.h gdb/config/sparc/sp64.mt gdb/config/sparc/sp64linux.mt gdb/config/sparc/sp64sim.mt gdb/config/sparc/sp64sol2.mt gdb/config/sparc/sparc-em.mt gdb/config/sparc/sparclet.mt gdb/config/sparc/sparclite.mt gdb/config/sparc/sparclynx.mh gdb/config/sparc/sparclynx.mt gdb/config/sparc/sun4os4.mh gdb/config/sparc/sun4os4.mt gdb/config/sparc/sun4sol2.mh gdb/config/sparc/sun4sol2.mt gdb/config/sparc/tm-fbsd.h gdb/config/sparc/tm-linux.h gdb/config/sparc/tm-nbsd.h gdb/config/sparc/tm-nbsd64.h gdb/config/sparc/tm-sp64.h gdb/config/sparc/tm-sp64linux.h gdb/config/sparc/tm-sp64sim.h gdb/config/sparc/tm-sparc.h gdb/config/sparc/tm-sparclet.h gdb/config/sparc/tm-sparclite.h gdb/config/sparc/tm-sparclynx.h gdb/config/sparc/tm-spc-em.h gdb/config/sparc/tm-sun4os4.h gdb/config/sparc/tm-sun4sol2.h gdb/config/sparc/tm-vxsparc.h gdb/config/sparc/vxsparc.mt gdb/config/sparc/xm-linux.h gdb/config/sparc/xm-sun4sol2.h gdb/config/tm-linux.h gdb/config/tm-lynx.h gdb/config/tm-sunos.h gdb/config/tm-sysv4.h gdb/config/tm-vxworks.h gdb/config/v850/v850.mt gdb/config/vax/nm-vax.h gdb/config/vax/tm-vax.h gdb/config/vax/tm-vaxbsd.h gdb/config/vax/vax.mt gdb/config/vax/vaxbsd.mh gdb/config/vax/vaxult.mh gdb/config/vax/vaxult2.mh gdb/config/vax/xm-vax.h gdb/config/vax/xm-vaxbsd.h gdb/config/vax/xm-vaxult.h gdb/config/vax/xm-vaxult2.h gdb/config/xm-aix4.h gdb/config/xm-nbsd.h gdb/config/xm-sysv4.h gdb/config/xstormy16/xstormy16.mt gdb/config/z8k/tm-z8k.h gdb/config/z8k/z8k.mt gdb/configure gdb/configure.host gdb/configure.in gdb/configure.tgt gdb/copying.awk gdb/copying.c gdb/core-aout.c gdb/core-regset.c gdb/core-sol2.c gdb/corefile.c gdb/corelow.c gdb/cp-abi.c gdb/cp-abi.h gdb/cp-valprint.c gdb/cpu32bug-rom.c gdb/cris-tdep.c gdb/cxux-nat.c gdb/d10v-tdep.c gdb/d30v-tdep.c gdb/dbug-rom.c gdb/dbxread.c gdb/dcache.c gdb/dcache.h gdb/defs.h gdb/delta68-nat.c gdb/demangle.c gdb/dink32-rom.c gdb/doc/ChangeLog gdb/doc/LRS gdb/doc/Makefile.in gdb/doc/a4rc.sed gdb/doc/agentexpr.texi gdb/doc/all-cfg.texi gdb/doc/annotate.texi gdb/doc/configure gdb/doc/configure.in gdb/doc/fdl.texi gdb/doc/gdb.texinfo gdb/doc/gdbint.texinfo gdb/doc/gpl.texi gdb/doc/lpsrc.sed gdb/doc/psrc.sed gdb/doc/refcard.tex gdb/doc/stabs.texinfo gdb/doublest.c gdb/doublest.h gdb/dpx2-nat.c gdb/dsrec.c gdb/dst.h gdb/dstread.c gdb/dve3900-rom.c gdb/dwarf2cfi.c gdb/dwarf2cfi.h gdb/dwarf2read.c gdb/dwarfread.c gdb/elfread.c gdb/environ.c gdb/environ.h gdb/eval.c gdb/event-loop.c gdb/event-loop.h gdb/event-top.c gdb/event-top.h gdb/exc_request.defs gdb/exec.c gdb/expprint.c gdb/expression.h gdb/f-exp.y gdb/f-lang.c gdb/f-lang.h gdb/f-typeprint.c gdb/f-valprint.c gdb/fbsd-proc.c gdb/findvar.c gdb/fork-child.c gdb/fr30-tdep.c gdb/frame.c gdb/frame.h gdb/frv-tdep.c gdb/gcore.c gdb/gdb-events.c gdb/gdb-events.h gdb/gdb-events.sh gdb/gdb-stabs.h gdb/gdb.1 gdb/gdb.gdb gdb/gdb.h gdb/gdb_assert.h gdb/gdb_dirent.h gdb/gdb_indent.sh gdb/gdb_locale.h gdb/gdb_obstack.h gdb/gdb_proc_service.h gdb/gdb_regex.h gdb/gdb_stat.h gdb/gdb_string.h gdb/gdb_thread_db.h gdb/gdb_vfork.h gdb/gdb_wait.h gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/gdbcmd.h gdb/gdbcore.h gdb/gdbinit.in gdb/gdbserver/ChangeLog gdb/gdbserver/Makefile.in gdb/gdbserver/README gdb/gdbserver/acconfig.h gdb/gdbserver/acinclude.m4 gdb/gdbserver/aclocal.m4 gdb/gdbserver/config.in gdb/gdbserver/configure gdb/gdbserver/configure.in gdb/gdbserver/configure.srv gdb/gdbserver/gdbreplay.c gdb/gdbserver/gdbserver.1 gdb/gdbserver/i387-fp.c gdb/gdbserver/i387-fp.h gdb/gdbserver/inferiors.c gdb/gdbserver/linux-arm-low.c gdb/gdbserver/linux-i386-low.c gdb/gdbserver/linux-ia64-low.c gdb/gdbserver/linux-low.c gdb/gdbserver/linux-low.h gdb/gdbserver/linux-m68k-low.c gdb/gdbserver/linux-mips-low.c gdb/gdbserver/linux-ppc-low.c gdb/gdbserver/linux-s390-low.c gdb/gdbserver/linux-sh-low.c gdb/gdbserver/linux-x86-64-low.c gdb/gdbserver/low-hppabsd.c gdb/gdbserver/low-lynx.c gdb/gdbserver/low-nbsd.c gdb/gdbserver/low-sim.c gdb/gdbserver/low-sparc.c gdb/gdbserver/low-sun3.c gdb/gdbserver/mem-break.c gdb/gdbserver/mem-break.h gdb/gdbserver/proc-service.c gdb/gdbserver/regcache.c gdb/gdbserver/regcache.h gdb/gdbserver/remote-utils.c gdb/gdbserver/server.c gdb/gdbserver/server.h gdb/gdbserver/target.c gdb/gdbserver/target.h gdb/gdbserver/terminal.h gdb/gdbserver/thread-db.c gdb/gdbserver/utils.c gdb/gdbthread.h gdb/gdbtypes.c gdb/gdbtypes.h gdb/gnu-nat.c gdb/gnu-nat.h gdb/gnu-v2-abi.c gdb/gnu-v3-abi.c gdb/go32-nat.c gdb/gregset.h gdb/h8300-tdep.c gdb/h8500-tdep.c gdb/hp300ux-nat.c gdb/hpacc-abi.c gdb/hppa-tdep.c gdb/hppab-nat.c gdb/hppah-nat.c gdb/hppam3-nat.c gdb/hpread.c gdb/hpux-thread.c gdb/i386-linux-nat.c gdb/i386-linux-tdep.c gdb/i386-linux-tdep.h gdb/i386-nat.c gdb/i386-sol2-tdep.c gdb/i386-stub.c gdb/i386-tdep.c gdb/i386-tdep.h gdb/i386aix-nat.c gdb/i386b-nat.c gdb/i386bsd-nat.c gdb/i386bsd-tdep.c gdb/i386fbsd-nat.c gdb/i386gnu-nat.c gdb/i386gnu-tdep.c gdb/i386ly-tdep.c gdb/i386m3-nat.c gdb/i386mach-nat.c gdb/i386nbsd-tdep.c gdb/i386obsd-nat.c gdb/i386v-nat.c gdb/i386v4-nat.c gdb/i387-tdep.c gdb/i387-tdep.h gdb/i960-tdep.c gdb/ia64-aix-nat.c gdb/ia64-aix-tdep.c gdb/ia64-linux-nat.c gdb/ia64-linux-tdep.c gdb/ia64-tdep.c gdb/inf-loop.c gdb/inf-loop.h gdb/infcmd.c gdb/inferior.h gdb/inflow.c gdb/infptrace.c gdb/infrun.c gdb/inftarg.c gdb/infttrace.c gdb/irix4-nat.c gdb/irix5-nat.c gdb/jv-exp.y gdb/jv-lang.c gdb/jv-lang.h gdb/jv-typeprint.c gdb/jv-valprint.c gdb/kod-cisco.c gdb/kod.c gdb/kod.h gdb/language.c gdb/language.h gdb/lin-lwp.c gdb/linespec.c gdb/linespec.h gdb/linux-proc.c gdb/lynx-nat.c gdb/m2-exp.y gdb/m2-lang.c gdb/m2-lang.h gdb/m2-typeprint.c gdb/m2-valprint.c gdb/m3-nat.c gdb/m32r-rom.c gdb/m32r-stub.c gdb/m32r-tdep.c gdb/m68hc11-tdep.c gdb/m68k-stub.c gdb/m68k-tdep.c gdb/m68klinux-nat.c gdb/m68knbsd-nat.c gdb/m68knbsd-tdep.c gdb/m88k-nat.c gdb/m88k-tdep.c gdb/macrocmd.c gdb/macroexp.c gdb/macroexp.h gdb/macroscope.c gdb/macroscope.h gdb/macrotab.c gdb/macrotab.h gdb/main.c gdb/maint.c gdb/mcore-rom.c gdb/mcore-tdep.c gdb/mdebugread.c gdb/mem-break.c gdb/memattr.c gdb/memattr.h gdb/mi/ChangeLog gdb/mi/gdbmi.texinfo gdb/mi/mi-cmd-break.c gdb/mi/mi-cmd-disas.c gdb/mi/mi-cmd-stack.c gdb/mi/mi-cmd-var.c gdb/mi/mi-cmds.c gdb/mi/mi-cmds.h gdb/mi/mi-console.c gdb/mi/mi-console.h gdb/mi/mi-getopt.c gdb/mi/mi-getopt.h gdb/mi/mi-main.c gdb/mi/mi-out.c gdb/mi/mi-out.h gdb/mi/mi-parse.c gdb/mi/mi-parse.h gdb/minimon.h gdb/minsyms.c gdb/mips-irix-tdep.c gdb/mips-linux-nat.c gdb/mips-linux-tdep.c gdb/mips-nat.c gdb/mips-tdep.c gdb/mipsm3-nat.c gdb/mipsnbsd-nat.c gdb/mipsnbsd-tdep.c gdb/mipsnbsd-tdep.h gdb/mipsread.c gdb/mipsv4-nat.c gdb/mn10200-tdep.c gdb/mn10300-tdep.c gdb/mon960-rom.c gdb/monitor.c gdb/monitor.h gdb/msg.defs gdb/msg_reply.defs gdb/nbsd-tdep.c gdb/nbsd-tdep.h gdb/nindy-share/Makefile gdb/nindy-share/Onindy.c gdb/nindy-share/README gdb/nindy-share/VERSION gdb/nindy-share/b.out.h gdb/nindy-share/block_io.h gdb/nindy-share/coff.h gdb/nindy-share/env.h gdb/nindy-share/nindy.c gdb/nindy-share/stop.h gdb/nindy-share/ttyflush.c gdb/nindy-tdep.c gdb/nlm/Makefile.in gdb/nlm/configure gdb/nlm/configure.in gdb/nlm/gdbserve.c gdb/nlm/gdbserve.def gdb/nlm/i386.c gdb/nlm/i386.h gdb/nlm/ppc.c gdb/nlm/ppc.h gdb/nlm/prelude.c gdb/nlmread.c gdb/notify.defs gdb/ns32k-tdep.c gdb/ns32k-tdep.h gdb/ns32knbsd-nat.c gdb/ns32knbsd-tdep.c gdb/objfiles.c gdb/objfiles.h gdb/ocd.c gdb/ocd.h gdb/op50-rom.c gdb/os9kread.c gdb/osabi.c gdb/osabi.h gdb/osf-share/AT386/cma_thread_io.h gdb/osf-share/HP800/cma_thread_io.h gdb/osf-share/README gdb/osf-share/RIOS/cma_thread_io.h gdb/osf-share/cma_attr.h gdb/osf-share/cma_deb_core.h gdb/osf-share/cma_debug_client.h gdb/osf-share/cma_errors.h gdb/osf-share/cma_handle.h gdb/osf-share/cma_init.h gdb/osf-share/cma_list.h gdb/osf-share/cma_mutex.h gdb/osf-share/cma_sched.h gdb/osf-share/cma_semaphore_defs.h gdb/osf-share/cma_sequence.h gdb/osf-share/cma_stack.h gdb/osf-share/cma_stack_int.h gdb/osf-share/cma_tcb_defs.h gdb/osf-share/cma_util.h gdb/osfsolib.c gdb/p-exp.y gdb/p-lang.c gdb/p-lang.h gdb/p-typeprint.c gdb/p-valprint.c gdb/pa64solib.c gdb/pa64solib.h gdb/parse.c gdb/parser-defs.h gdb/ppc-bdm.c gdb/ppc-linux-nat.c gdb/ppc-linux-tdep.c gdb/ppc-sysv-tdep.c gdb/ppc-tdep.h gdb/ppcbug-rom.c gdb/ppcnbsd-nat.c gdb/ppcnbsd-tdep.c gdb/ppcnbsd-tdep.h gdb/printcmd.c gdb/proc-api.c gdb/proc-events.c gdb/proc-flags.c gdb/proc-service.c gdb/proc-utils.h gdb/proc-why.c gdb/process_reply.defs gdb/procfs.c gdb/ptx4-nat.c gdb/rdi-share/Makefile.am gdb/rdi-share/Makefile.in gdb/rdi-share/README.CYGNUS gdb/rdi-share/aclocal.m4 gdb/rdi-share/adp.h gdb/rdi-share/adperr.h gdb/rdi-share/angel.h gdb/rdi-share/angel_bytesex.c gdb/rdi-share/angel_bytesex.h gdb/rdi-share/angel_endian.h gdb/rdi-share/ardi.c gdb/rdi-share/ardi.h gdb/rdi-share/armdbg.h gdb/rdi-share/buffers.h gdb/rdi-share/chandefs.h gdb/rdi-share/channels.h gdb/rdi-share/chanpriv.h gdb/rdi-share/configure gdb/rdi-share/configure.in gdb/rdi-share/crc.c gdb/rdi-share/crc.h gdb/rdi-share/dbg_conf.h gdb/rdi-share/dbg_cp.h gdb/rdi-share/dbg_hif.h gdb/rdi-share/dbg_rdi.h gdb/rdi-share/devclnt.h gdb/rdi-share/devices.h gdb/rdi-share/devsw.c gdb/rdi-share/devsw.h gdb/rdi-share/drivers.c gdb/rdi-share/drivers.h gdb/rdi-share/etherdrv.c gdb/rdi-share/ethernet.h gdb/rdi-share/host.h gdb/rdi-share/hostchan.c gdb/rdi-share/hostchan.h gdb/rdi-share/hsys.c gdb/rdi-share/hsys.h gdb/rdi-share/logging.c gdb/rdi-share/logging.h gdb/rdi-share/msgbuild.c gdb/rdi-share/msgbuild.h gdb/rdi-share/params.c gdb/rdi-share/params.h gdb/rdi-share/rx.c gdb/rdi-share/rxtx.h gdb/rdi-share/serdrv.c gdb/rdi-share/serpardr.c gdb/rdi-share/sys.h gdb/rdi-share/tx.c gdb/rdi-share/unixcomm.c gdb/rdi-share/unixcomm.h gdb/regcache.c gdb/regcache.h gdb/regformats/reg-arm.dat gdb/regformats/reg-i386-linux.dat gdb/regformats/reg-i386.dat gdb/regformats/reg-ia64.dat gdb/regformats/reg-m68k.dat gdb/regformats/reg-mips.dat gdb/regformats/reg-ppc.dat gdb/regformats/reg-s390.dat gdb/regformats/reg-s390x.dat gdb/regformats/reg-sh.dat gdb/regformats/reg-x86-64.dat gdb/regformats/regdat.sh gdb/regformats/regdef.h gdb/remote-array.c gdb/remote-bug.c gdb/remote-e7000.c gdb/remote-es.c gdb/remote-est.c gdb/remote-hms.c gdb/remote-mips.c gdb/remote-nindy.c gdb/remote-nrom.c gdb/remote-os9k.c gdb/remote-rdi.c gdb/remote-rdp.c gdb/remote-sds.c gdb/remote-sim.c gdb/remote-st.c gdb/remote-utils.c gdb/remote-utils.h gdb/remote-vx.c gdb/remote-vx68.c gdb/remote-vx960.c gdb/remote-vxmips.c gdb/remote-vxsparc.c gdb/remote.c gdb/remote.h gdb/reply_mig_hack.awk gdb/rom68k-rom.c gdb/rs6000-nat.c gdb/rs6000-tdep.c gdb/s390-nat.c gdb/s390-tdep.c gdb/saber.suppress gdb/scm-exp.c gdb/scm-lang.c gdb/scm-lang.h gdb/scm-tags.h gdb/scm-valprint.c gdb/ser-e7kpc.c gdb/ser-go32.c gdb/ser-pipe.c gdb/ser-tcp.c gdb/ser-unix.c gdb/ser-unix.h gdb/serial.c gdb/serial.h gdb/sh-stub.c gdb/sh-tdep.c gdb/sh-tdep.h gdb/sh3-rom.c gdb/shnbsd-nat.c gdb/shnbsd-tdep.c gdb/shnbsd-tdep.h gdb/signals/signals.c gdb/sim-regno.h gdb/sol-thread.c gdb/solib-aix5.c gdb/solib-irix.c gdb/solib-legacy.c gdb/solib-osf.c gdb/solib-sunos.c gdb/solib-svr4.c gdb/solib-svr4.h gdb/solib.c gdb/solib.h gdb/solist.h gdb/somread.c gdb/somsolib.c gdb/somsolib.h gdb/source.c gdb/source.h gdb/sparc-linux-nat.c gdb/sparc-nat.c gdb/sparc-stub.c gdb/sparc-tdep.c gdb/sparc64nbsd-nat.c gdb/sparcl-stub.c gdb/sparcl-tdep.c gdb/sparclet-rom.c gdb/sparclet-stub.c gdb/sparcnbsd-nat.c gdb/sparcnbsd-tdep.c gdb/sparcnbsd-tdep.h gdb/srec.h gdb/stabsread.c gdb/stabsread.h gdb/stack.c gdb/standalone.c gdb/std-regs.c gdb/stop-gdb.c gdb/sun3-nat.c gdb/symfile.c gdb/symfile.h gdb/symm-nat.c gdb/symm-tdep.c gdb/symmisc.c gdb/symtab.c gdb/symtab.h gdb/target.c gdb/target.h gdb/terminal.h gdb/testsuite/.gdbinit gdb/testsuite/ChangeLog gdb/testsuite/Makefile.in gdb/testsuite/TODO gdb/testsuite/aclocal.m4 gdb/testsuite/config/abug.exp gdb/testsuite/config/arm-ice.exp gdb/testsuite/config/cfdbug.exp gdb/testsuite/config/cpu32bug.exp gdb/testsuite/config/cygmon.exp gdb/testsuite/config/d10v.exp gdb/testsuite/config/dve.exp gdb/testsuite/config/est.exp gdb/testsuite/config/gdbserver.exp gdb/testsuite/config/h8300.exp gdb/testsuite/config/hmsirom.exp gdb/testsuite/config/hppro.exp gdb/testsuite/config/i386-bozo.exp gdb/testsuite/config/i960.exp gdb/testsuite/config/m32r-stub.exp gdb/testsuite/config/m32r.exp gdb/testsuite/config/m68k-emc.exp gdb/testsuite/config/mips-idt.exp gdb/testsuite/config/mips.exp gdb/testsuite/config/mn10300-eval.exp gdb/testsuite/config/monitor.exp gdb/testsuite/config/netware.exp gdb/testsuite/config/nind.exp gdb/testsuite/config/proelf.exp gdb/testsuite/config/rom68k.exp gdb/testsuite/config/sh.exp gdb/testsuite/config/sid.exp gdb/testsuite/config/sim.exp gdb/testsuite/config/slite.exp gdb/testsuite/config/sparclet.exp gdb/testsuite/config/udi.exp gdb/testsuite/config/unix.exp gdb/testsuite/config/unknown.exp gdb/testsuite/config/vr4300.exp gdb/testsuite/config/vr5000.exp gdb/testsuite/config/vx.exp gdb/testsuite/config/vxworks.exp gdb/testsuite/config/vxworks29k.exp gdb/testsuite/configure gdb/testsuite/configure.in gdb/testsuite/gdb.arch/Makefile.in gdb/testsuite/gdb.arch/altivec-abi.c gdb/testsuite/gdb.arch/altivec-abi.exp gdb/testsuite/gdb.arch/altivec-regs.c gdb/testsuite/gdb.arch/altivec-regs.exp gdb/testsuite/gdb.arch/configure gdb/testsuite/gdb.arch/configure.in gdb/testsuite/gdb.asm/Makefile.in gdb/testsuite/gdb.asm/arm.inc gdb/testsuite/gdb.asm/asm-source.exp gdb/testsuite/gdb.asm/asmsrc1.s gdb/testsuite/gdb.asm/asmsrc2.s gdb/testsuite/gdb.asm/common.inc gdb/testsuite/gdb.asm/configure gdb/testsuite/gdb.asm/configure.in gdb/testsuite/gdb.asm/d10v.inc gdb/testsuite/gdb.asm/i386.inc gdb/testsuite/gdb.asm/m32r.inc gdb/testsuite/gdb.asm/powerpc.inc gdb/testsuite/gdb.asm/s390.inc gdb/testsuite/gdb.asm/sparc.inc gdb/testsuite/gdb.asm/sparc64.inc gdb/testsuite/gdb.asm/v850.inc gdb/testsuite/gdb.asm/x86_64.inc gdb/testsuite/gdb.asm/xstormy16.inc gdb/testsuite/gdb.base/Makefile.in gdb/testsuite/gdb.base/a2-run.exp gdb/testsuite/gdb.base/all-bin.exp gdb/testsuite/gdb.base/all-types.c gdb/testsuite/gdb.base/annota1.c gdb/testsuite/gdb.base/annota1.exp gdb/testsuite/gdb.base/arithmet.exp gdb/testsuite/gdb.base/assign.exp gdb/testsuite/gdb.base/async.c gdb/testsuite/gdb.base/async.exp gdb/testsuite/gdb.base/attach.c gdb/testsuite/gdb.base/attach.exp gdb/testsuite/gdb.base/attach2.c gdb/testsuite/gdb.base/average.c gdb/testsuite/gdb.base/bar.c gdb/testsuite/gdb.base/baz.c gdb/testsuite/gdb.base/bitfields.c gdb/testsuite/gdb.base/bitfields.exp gdb/testsuite/gdb.base/bitops.exp gdb/testsuite/gdb.base/branches.c gdb/testsuite/gdb.base/break.c gdb/testsuite/gdb.base/break.exp gdb/testsuite/gdb.base/call-ar-st.c gdb/testsuite/gdb.base/call-ar-st.exp gdb/testsuite/gdb.base/call-rt-st.c gdb/testsuite/gdb.base/call-rt-st.exp gdb/testsuite/gdb.base/call-strs.c gdb/testsuite/gdb.base/call-strs.exp gdb/testsuite/gdb.base/callfuncs.c gdb/testsuite/gdb.base/callfuncs.exp gdb/testsuite/gdb.base/code-expr.exp gdb/testsuite/gdb.base/commands.exp gdb/testsuite/gdb.base/completion.exp gdb/testsuite/gdb.base/cond-expr.exp gdb/testsuite/gdb.base/condbreak.exp gdb/testsuite/gdb.base/configure gdb/testsuite/gdb.base/configure.in gdb/testsuite/gdb.base/consecutive.c gdb/testsuite/gdb.base/consecutive.exp gdb/testsuite/gdb.base/constvars.c gdb/testsuite/gdb.base/constvars.exp gdb/testsuite/gdb.base/corefile.exp gdb/testsuite/gdb.base/coremaker.c gdb/testsuite/gdb.base/coremaker2.c gdb/testsuite/gdb.base/cvexpr.c gdb/testsuite/gdb.base/cvexpr.exp gdb/testsuite/gdb.base/d10v.ld gdb/testsuite/gdb.base/d10vovly.c gdb/testsuite/gdb.base/dbx.exp gdb/testsuite/gdb.base/default.exp gdb/testsuite/gdb.base/define.exp gdb/testsuite/gdb.base/display.c gdb/testsuite/gdb.base/display.exp gdb/testsuite/gdb.base/dump.c gdb/testsuite/gdb.base/dump.exp gdb/testsuite/gdb.base/echo.exp gdb/testsuite/gdb.base/ena-dis-br.exp gdb/testsuite/gdb.base/ending-run.c gdb/testsuite/gdb.base/ending-run.exp gdb/testsuite/gdb.base/environ.exp gdb/testsuite/gdb.base/eval-skip.exp gdb/testsuite/gdb.base/execd-prog.c gdb/testsuite/gdb.base/exprs.c gdb/testsuite/gdb.base/exprs.exp gdb/testsuite/gdb.base/finish.exp gdb/testsuite/gdb.base/foll-exec.c gdb/testsuite/gdb.base/foll-exec.exp gdb/testsuite/gdb.base/foll-fork.c gdb/testsuite/gdb.base/foll-fork.exp gdb/testsuite/gdb.base/foll-vfork.c gdb/testsuite/gdb.base/foll-vfork.exp gdb/testsuite/gdb.base/foo.c gdb/testsuite/gdb.base/funcargs.c gdb/testsuite/gdb.base/funcargs.exp gdb/testsuite/gdb.base/gcore.c gdb/testsuite/gdb.base/gcore.exp gdb/testsuite/gdb.base/gdbvars.exp gdb/testsuite/gdb.base/grbx.c gdb/testsuite/gdb.base/help.exp gdb/testsuite/gdb.base/huge.c gdb/testsuite/gdb.base/huge.exp gdb/testsuite/gdb.base/info-proc.exp gdb/testsuite/gdb.base/int-type.c gdb/testsuite/gdb.base/interrupt.c gdb/testsuite/gdb.base/interrupt.exp gdb/testsuite/gdb.base/jump.c gdb/testsuite/gdb.base/jump.exp gdb/testsuite/gdb.base/langs.exp gdb/testsuite/gdb.base/langs0.c gdb/testsuite/gdb.base/langs1.c gdb/testsuite/gdb.base/langs1.f gdb/testsuite/gdb.base/langs2.c gdb/testsuite/gdb.base/langs2.cxx gdb/testsuite/gdb.base/list.exp gdb/testsuite/gdb.base/list0.c gdb/testsuite/gdb.base/list0.h gdb/testsuite/gdb.base/list1.c gdb/testsuite/gdb.base/logical.exp gdb/testsuite/gdb.base/long_long.c gdb/testsuite/gdb.base/long_long.exp gdb/testsuite/gdb.base/m32r.ld gdb/testsuite/gdb.base/m32rovly.c gdb/testsuite/gdb.base/macscp.exp gdb/testsuite/gdb.base/macscp1.c gdb/testsuite/gdb.base/macscp2.h gdb/testsuite/gdb.base/macscp3.h gdb/testsuite/gdb.base/macscp4.h gdb/testsuite/gdb.base/maint.exp gdb/testsuite/gdb.base/mips_pro.c gdb/testsuite/gdb.base/mips_pro.exp gdb/testsuite/gdb.base/miscexprs.c gdb/testsuite/gdb.base/miscexprs.exp gdb/testsuite/gdb.base/nodebug.c gdb/testsuite/gdb.base/nodebug.exp gdb/testsuite/gdb.base/opaque.exp gdb/testsuite/gdb.base/opaque0.c gdb/testsuite/gdb.base/opaque1.c gdb/testsuite/gdb.base/overlays.c gdb/testsuite/gdb.base/overlays.exp gdb/testsuite/gdb.base/ovlymgr.c gdb/testsuite/gdb.base/ovlymgr.h gdb/testsuite/gdb.base/page.exp gdb/testsuite/gdb.base/pointers.c gdb/testsuite/gdb.base/pointers.exp gdb/testsuite/gdb.base/printcmds.c gdb/testsuite/gdb.base/printcmds.exp gdb/testsuite/gdb.base/ptype.c gdb/testsuite/gdb.base/ptype.exp gdb/testsuite/gdb.base/radix.exp gdb/testsuite/gdb.base/readline.exp gdb/testsuite/gdb.base/recurse.c gdb/testsuite/gdb.base/recurse.exp gdb/testsuite/gdb.base/regs.exp gdb/testsuite/gdb.base/relational.exp gdb/testsuite/gdb.base/relocate.c gdb/testsuite/gdb.base/relocate.exp gdb/testsuite/gdb.base/remote.c gdb/testsuite/gdb.base/remote.exp gdb/testsuite/gdb.base/reread.exp gdb/testsuite/gdb.base/reread1.c gdb/testsuite/gdb.base/reread2.c gdb/testsuite/gdb.base/restore.c gdb/testsuite/gdb.base/restore.exp gdb/testsuite/gdb.base/return.c gdb/testsuite/gdb.base/return.exp gdb/testsuite/gdb.base/return2.c gdb/testsuite/gdb.base/return2.exp gdb/testsuite/gdb.base/run.c gdb/testsuite/gdb.base/scope.exp gdb/testsuite/gdb.base/scope0.c gdb/testsuite/gdb.base/scope1.c gdb/testsuite/gdb.base/sect-cmd.exp gdb/testsuite/gdb.base/selftest.exp gdb/testsuite/gdb.base/setshow.c gdb/testsuite/gdb.base/setshow.exp gdb/testsuite/gdb.base/setvar.c gdb/testsuite/gdb.base/setvar.exp gdb/testsuite/gdb.base/shlib-call.exp gdb/testsuite/gdb.base/shmain.c gdb/testsuite/gdb.base/shr1.c gdb/testsuite/gdb.base/shr2.c gdb/testsuite/gdb.base/sigall.c gdb/testsuite/gdb.base/sigall.exp gdb/testsuite/gdb.base/signals.c gdb/testsuite/gdb.base/signals.exp gdb/testsuite/gdb.base/sizeof.c gdb/testsuite/gdb.base/sizeof.exp gdb/testsuite/gdb.base/so-impl-ld.c gdb/testsuite/gdb.base/so-impl-ld.exp gdb/testsuite/gdb.base/so-indr-cl.c gdb/testsuite/gdb.base/so-indr-cl.exp gdb/testsuite/gdb.base/solib.c gdb/testsuite/gdb.base/solib.exp gdb/testsuite/gdb.base/solib1.c gdb/testsuite/gdb.base/solib2.c gdb/testsuite/gdb.base/ss.h gdb/testsuite/gdb.base/step-line.c gdb/testsuite/gdb.base/step-line.exp gdb/testsuite/gdb.base/step-line.inp gdb/testsuite/gdb.base/step-test.c gdb/testsuite/gdb.base/step-test.exp gdb/testsuite/gdb.base/structs.c gdb/testsuite/gdb.base/structs.exp gdb/testsuite/gdb.base/structs2.c gdb/testsuite/gdb.base/structs2.exp gdb/testsuite/gdb.base/sum.c gdb/testsuite/gdb.base/term.exp gdb/testsuite/gdb.base/twice.c gdb/testsuite/gdb.base/twice.exp gdb/testsuite/gdb.base/varargs.c gdb/testsuite/gdb.base/varargs.exp gdb/testsuite/gdb.base/vforked-prog.c gdb/testsuite/gdb.base/volatile.exp gdb/testsuite/gdb.base/watchpoint.c gdb/testsuite/gdb.base/watchpoint.exp gdb/testsuite/gdb.base/whatis-exp.exp gdb/testsuite/gdb.base/whatis.c gdb/testsuite/gdb.base/whatis.exp gdb/testsuite/gdb.c++/Makefile.in gdb/testsuite/gdb.c++/ambiguous.cc gdb/testsuite/gdb.c++/ambiguous.exp gdb/testsuite/gdb.c++/annota2.cc gdb/testsuite/gdb.c++/annota2.exp gdb/testsuite/gdb.c++/anon-union.cc gdb/testsuite/gdb.c++/anon-union.exp gdb/testsuite/gdb.c++/classes.exp gdb/testsuite/gdb.c++/configure gdb/testsuite/gdb.c++/configure.in gdb/testsuite/gdb.c++/cplusfuncs.cc gdb/testsuite/gdb.c++/cplusfuncs.exp gdb/testsuite/gdb.c++/ctti.exp gdb/testsuite/gdb.c++/cttiadd.cc gdb/testsuite/gdb.c++/cttiadd1.cc gdb/testsuite/gdb.c++/cttiadd2.cc gdb/testsuite/gdb.c++/cttiadd3.cc gdb/testsuite/gdb.c++/demangle.exp gdb/testsuite/gdb.c++/derivation.cc gdb/testsuite/gdb.c++/derivation.exp gdb/testsuite/gdb.c++/hang.H gdb/testsuite/gdb.c++/hang.exp gdb/testsuite/gdb.c++/hang1.C gdb/testsuite/gdb.c++/hang2.C gdb/testsuite/gdb.c++/hang3.C gdb/testsuite/gdb.c++/inherit.exp gdb/testsuite/gdb.c++/local.cc gdb/testsuite/gdb.c++/local.exp gdb/testsuite/gdb.c++/m-data.cc gdb/testsuite/gdb.c++/m-data.exp gdb/testsuite/gdb.c++/m-static.cc gdb/testsuite/gdb.c++/m-static.exp gdb/testsuite/gdb.c++/member-ptr.cc gdb/testsuite/gdb.c++/member-ptr.exp gdb/testsuite/gdb.c++/method.cc gdb/testsuite/gdb.c++/method.exp gdb/testsuite/gdb.c++/misc.cc gdb/testsuite/gdb.c++/misc.exp gdb/testsuite/gdb.c++/namespace.cc gdb/testsuite/gdb.c++/namespace.exp gdb/testsuite/gdb.c++/overload.cc gdb/testsuite/gdb.c++/overload.exp gdb/testsuite/gdb.c++/ovldbreak.cc gdb/testsuite/gdb.c++/ovldbreak.exp gdb/testsuite/gdb.c++/ref-types.cc gdb/testsuite/gdb.c++/ref-types.exp gdb/testsuite/gdb.c++/templates.cc gdb/testsuite/gdb.c++/templates.exp gdb/testsuite/gdb.c++/try_catch.cc gdb/testsuite/gdb.c++/try_catch.exp gdb/testsuite/gdb.c++/userdef.cc gdb/testsuite/gdb.c++/userdef.exp gdb/testsuite/gdb.c++/virtfunc.cc gdb/testsuite/gdb.c++/virtfunc.exp gdb/testsuite/gdb.chill/ChangeLog gdb/testsuite/gdb.chill/Makefile.in gdb/testsuite/gdb.chill/builtins.ch gdb/testsuite/gdb.chill/builtins.exp gdb/testsuite/gdb.chill/callch.ch gdb/testsuite/gdb.chill/callch.exp gdb/testsuite/gdb.chill/chexp.exp gdb/testsuite/gdb.chill/chillvars.ch gdb/testsuite/gdb.chill/chillvars.exp gdb/testsuite/gdb.chill/configure gdb/testsuite/gdb.chill/configure.in gdb/testsuite/gdb.chill/enum.ch gdb/testsuite/gdb.chill/enum.exp gdb/testsuite/gdb.chill/func1.ch gdb/testsuite/gdb.chill/gch1041.ch gdb/testsuite/gdb.chill/gch1041.exp gdb/testsuite/gdb.chill/gch1272.ch gdb/testsuite/gdb.chill/gch1272.exp gdb/testsuite/gdb.chill/gch1280.ch gdb/testsuite/gdb.chill/gch1280.exp gdb/testsuite/gdb.chill/gch922.ch gdb/testsuite/gdb.chill/gch922.exp gdb/testsuite/gdb.chill/gch981.ch gdb/testsuite/gdb.chill/gch981.exp gdb/testsuite/gdb.chill/misc.ch gdb/testsuite/gdb.chill/misc.exp gdb/testsuite/gdb.chill/powerset.ch gdb/testsuite/gdb.chill/powerset.exp gdb/testsuite/gdb.chill/pr-4975-grt.ch gdb/testsuite/gdb.chill/pr-4975.ch gdb/testsuite/gdb.chill/pr-4975.exp gdb/testsuite/gdb.chill/pr-5016.ch gdb/testsuite/gdb.chill/pr-5016.exp gdb/testsuite/gdb.chill/pr-5020.ch gdb/testsuite/gdb.chill/pr-5020.exp gdb/testsuite/gdb.chill/pr-5022.ch gdb/testsuite/gdb.chill/pr-5022.exp gdb/testsuite/gdb.chill/pr-5646-grt.ch gdb/testsuite/gdb.chill/pr-5646.ch gdb/testsuite/gdb.chill/pr-5646.exp gdb/testsuite/gdb.chill/pr-5984.ch gdb/testsuite/gdb.chill/pr-5984.exp gdb/testsuite/gdb.chill/pr-6292.ch gdb/testsuite/gdb.chill/pr-6292.exp gdb/testsuite/gdb.chill/pr-6632-grt.ch gdb/testsuite/gdb.chill/pr-6632.ch gdb/testsuite/gdb.chill/pr-6632.exp gdb/testsuite/gdb.chill/pr-8134.exp gdb/testsuite/gdb.chill/pr-8136.ch gdb/testsuite/gdb.chill/pr-8136.exp gdb/testsuite/gdb.chill/pr-8405.ch gdb/testsuite/gdb.chill/pr-8405.exp gdb/testsuite/gdb.chill/pr-8742.ch gdb/testsuite/gdb.chill/pr-8742.exp gdb/testsuite/gdb.chill/pr-8894-grt.ch gdb/testsuite/gdb.chill/pr-8894.ch gdb/testsuite/gdb.chill/pr-8894.exp gdb/testsuite/gdb.chill/pr-9095.ch gdb/testsuite/gdb.chill/pr-9095.exp gdb/testsuite/gdb.chill/pr-9946.ch gdb/testsuite/gdb.chill/pr-9946.exp gdb/testsuite/gdb.chill/result.ch gdb/testsuite/gdb.chill/result.exp gdb/testsuite/gdb.chill/string.ch gdb/testsuite/gdb.chill/string.exp gdb/testsuite/gdb.chill/tests1.ch gdb/testsuite/gdb.chill/tests1.exp gdb/testsuite/gdb.chill/tests2.ch gdb/testsuite/gdb.chill/tests2.exp gdb/testsuite/gdb.chill/tuples.ch gdb/testsuite/gdb.chill/tuples.exp gdb/testsuite/gdb.chill/xstruct-grt.ch gdb/testsuite/gdb.chill/xstruct.ch gdb/testsuite/gdb.chill/xstruct.exp gdb/testsuite/gdb.disasm/Makefile.in gdb/testsuite/gdb.disasm/am33.exp gdb/testsuite/gdb.disasm/am33.s gdb/testsuite/gdb.disasm/configure gdb/testsuite/gdb.disasm/configure.in gdb/testsuite/gdb.disasm/h8300s.exp gdb/testsuite/gdb.disasm/h8300s.s gdb/testsuite/gdb.disasm/hppa.exp gdb/testsuite/gdb.disasm/hppa.s gdb/testsuite/gdb.disasm/mn10200.exp gdb/testsuite/gdb.disasm/mn10200.s gdb/testsuite/gdb.disasm/mn10300.exp gdb/testsuite/gdb.disasm/mn10300.s gdb/testsuite/gdb.disasm/sh3.exp gdb/testsuite/gdb.disasm/sh3.s gdb/testsuite/gdb.fortran/exprs.exp gdb/testsuite/gdb.fortran/types.exp gdb/testsuite/gdb.gdb/xfullpath.exp gdb/testsuite/gdb.hp/Makefile.in gdb/testsuite/gdb.hp/configure gdb/testsuite/gdb.hp/configure.in gdb/testsuite/gdb.hp/gdb.aCC/Makefile.in gdb/testsuite/gdb.hp/gdb.aCC/configure gdb/testsuite/gdb.hp/gdb.aCC/configure.in gdb/testsuite/gdb.hp/gdb.aCC/exception.cc gdb/testsuite/gdb.hp/gdb.aCC/exception.exp gdb/testsuite/gdb.hp/gdb.aCC/optimize.c gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp gdb/testsuite/gdb.hp/gdb.aCC/run.c gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp gdb/testsuite/gdb.hp/gdb.base-hp/Makefile.in gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.c gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp gdb/testsuite/gdb.hp/gdb.base-hp/configure gdb/testsuite/gdb.hp/gdb.base-hp/configure.in gdb/testsuite/gdb.hp/gdb.base-hp/dollar.c gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp gdb/testsuite/gdb.hp/gdb.base-hp/genso-thresh.c gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.c gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.c gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.s gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp gdb/testsuite/gdb.hp/gdb.base-hp/reg.s gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.c gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.mk gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.sh gdb/testsuite/gdb.hp/gdb.compat/Makefile.in gdb/testsuite/gdb.hp/gdb.compat/average.c gdb/testsuite/gdb.hp/gdb.compat/configure gdb/testsuite/gdb.hp/gdb.compat/configure.in gdb/testsuite/gdb.hp/gdb.compat/sum.c gdb/testsuite/gdb.hp/gdb.compat/xdb.c gdb/testsuite/gdb.hp/gdb.compat/xdb0.c gdb/testsuite/gdb.hp/gdb.compat/xdb0.h gdb/testsuite/gdb.hp/gdb.compat/xdb1.c gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp gdb/testsuite/gdb.hp/gdb.defects/Makefile.in gdb/testsuite/gdb.hp/gdb.defects/bs14602.c gdb/testsuite/gdb.hp/gdb.defects/bs14602.exp gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp gdb/testsuite/gdb.hp/gdb.defects/configure gdb/testsuite/gdb.hp/gdb.defects/configure.in gdb/testsuite/gdb.hp/gdb.defects/solib-d.c gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp gdb/testsuite/gdb.hp/gdb.defects/solib-d1.c gdb/testsuite/gdb.hp/gdb.defects/solib-d2.c gdb/testsuite/gdb.hp/gdb.objdbg/Makefile.in gdb/testsuite/gdb.hp/gdb.objdbg/configure gdb/testsuite/gdb.hp/gdb.objdbg/configure.in gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01.exp gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x1.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x2.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.h gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02.exp gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x1.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x2.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x3.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03.exp gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x1.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x2.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x3.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04.exp gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x.h gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x1.cc gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x2.cc gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr.pa64 gdb/testsuite/gdb.hp/gdb.objdbg/tools/test-objdbg.cc gdb/testsuite/gdb.hp/tools/odump gdb/testsuite/gdb.java/Makefile.in gdb/testsuite/gdb.java/configure gdb/testsuite/gdb.java/configure.in gdb/testsuite/gdb.java/jmisc.exp gdb/testsuite/gdb.java/jmisc.java gdb/testsuite/gdb.java/jmisc1.exp gdb/testsuite/gdb.java/jmisc2.exp gdb/testsuite/gdb.java/jv-exp.exp gdb/testsuite/gdb.java/jv-print.exp gdb/testsuite/gdb.mi/ChangeLog gdb/testsuite/gdb.mi/Makefile.in gdb/testsuite/gdb.mi/basics.c gdb/testsuite/gdb.mi/configure gdb/testsuite/gdb.mi/configure.in gdb/testsuite/gdb.mi/gdb680.exp gdb/testsuite/gdb.mi/mi-basics.exp gdb/testsuite/gdb.mi/mi-break.exp gdb/testsuite/gdb.mi/mi-console.c gdb/testsuite/gdb.mi/mi-console.exp gdb/testsuite/gdb.mi/mi-disassemble.exp gdb/testsuite/gdb.mi/mi-eval.exp gdb/testsuite/gdb.mi/mi-hack-cli.exp gdb/testsuite/gdb.mi/mi-read-memory.c gdb/testsuite/gdb.mi/mi-read-memory.exp gdb/testsuite/gdb.mi/mi-regs.exp gdb/testsuite/gdb.mi/mi-return.exp gdb/testsuite/gdb.mi/mi-simplerun.exp gdb/testsuite/gdb.mi/mi-stack.exp gdb/testsuite/gdb.mi/mi-stepi.exp gdb/testsuite/gdb.mi/mi-until.exp gdb/testsuite/gdb.mi/mi-var-block.exp gdb/testsuite/gdb.mi/mi-var-child.exp gdb/testsuite/gdb.mi/mi-var-cmd.exp gdb/testsuite/gdb.mi/mi-var-display.exp gdb/testsuite/gdb.mi/mi-watch.exp gdb/testsuite/gdb.mi/mi0-basics.exp gdb/testsuite/gdb.mi/mi0-break.exp gdb/testsuite/gdb.mi/mi0-console.exp gdb/testsuite/gdb.mi/mi0-disassemble.exp gdb/testsuite/gdb.mi/mi0-eval.exp gdb/testsuite/gdb.mi/mi0-hack-cli.exp gdb/testsuite/gdb.mi/mi0-read-memory.exp gdb/testsuite/gdb.mi/mi0-regs.exp gdb/testsuite/gdb.mi/mi0-return.exp gdb/testsuite/gdb.mi/mi0-simplerun.exp gdb/testsuite/gdb.mi/mi0-stack.exp gdb/testsuite/gdb.mi/mi0-stepi.exp gdb/testsuite/gdb.mi/mi0-until.exp gdb/testsuite/gdb.mi/mi0-var-block.exp gdb/testsuite/gdb.mi/mi0-var-child.exp gdb/testsuite/gdb.mi/mi0-var-cmd.exp gdb/testsuite/gdb.mi/mi0-var-display.exp gdb/testsuite/gdb.mi/mi0-watch.exp gdb/testsuite/gdb.mi/testcmds gdb/testsuite/gdb.mi/until.c gdb/testsuite/gdb.mi/var-cmd.c gdb/testsuite/gdb.stabs/Makefile.in gdb/testsuite/gdb.stabs/aout.sed gdb/testsuite/gdb.stabs/configure gdb/testsuite/gdb.stabs/configure.in gdb/testsuite/gdb.stabs/ecoff.sed gdb/testsuite/gdb.stabs/hppa.sed gdb/testsuite/gdb.stabs/weird.def gdb/testsuite/gdb.stabs/weird.exp gdb/testsuite/gdb.stabs/xcoff.sed gdb/testsuite/gdb.threads/Makefile.in gdb/testsuite/gdb.threads/config.in gdb/testsuite/gdb.threads/configure gdb/testsuite/gdb.threads/configure.in gdb/testsuite/gdb.threads/gcore-thread.exp gdb/testsuite/gdb.threads/killed.c gdb/testsuite/gdb.threads/killed.exp gdb/testsuite/gdb.threads/linux-dp.c gdb/testsuite/gdb.threads/linux-dp.exp gdb/testsuite/gdb.threads/print-threads.c gdb/testsuite/gdb.threads/print-threads.exp gdb/testsuite/gdb.threads/pthreads.c gdb/testsuite/gdb.threads/pthreads.exp gdb/testsuite/gdb.threads/schedlock.c gdb/testsuite/gdb.threads/schedlock.exp gdb/testsuite/gdb.threads/step.c gdb/testsuite/gdb.threads/step.exp gdb/testsuite/gdb.threads/step2.exp gdb/testsuite/gdb.trace/Makefile.in gdb/testsuite/gdb.trace/actions.c gdb/testsuite/gdb.trace/actions.exp gdb/testsuite/gdb.trace/backtrace.exp gdb/testsuite/gdb.trace/circ.c gdb/testsuite/gdb.trace/circ.exp gdb/testsuite/gdb.trace/collection.c gdb/testsuite/gdb.trace/collection.exp gdb/testsuite/gdb.trace/configure gdb/testsuite/gdb.trace/configure.in gdb/testsuite/gdb.trace/deltrace.exp gdb/testsuite/gdb.trace/gdb_c_test.c gdb/testsuite/gdb.trace/infotrace.exp gdb/testsuite/gdb.trace/limits.c gdb/testsuite/gdb.trace/limits.exp gdb/testsuite/gdb.trace/packetlen.exp gdb/testsuite/gdb.trace/passc-dyn.exp gdb/testsuite/gdb.trace/passcount.exp gdb/testsuite/gdb.trace/report.exp gdb/testsuite/gdb.trace/save-trace.exp gdb/testsuite/gdb.trace/tfind.exp gdb/testsuite/gdb.trace/tracecmd.exp gdb/testsuite/gdb.trace/while-dyn.exp gdb/testsuite/gdb.trace/while-stepping.exp gdb/testsuite/lib/compiler.c gdb/testsuite/lib/compiler.cc gdb/testsuite/lib/emc-support.exp gdb/testsuite/lib/gdb.exp gdb/testsuite/lib/insight-support.exp gdb/testsuite/lib/java.exp gdb/testsuite/lib/mi-support.exp gdb/testsuite/lib/trace-support.exp gdb/thread-db.c gdb/thread.c gdb/top.c gdb/top.h gdb/tracepoint.c gdb/tracepoint.h gdb/tui/ChangeLog gdb/tui/tui-file.c gdb/tui/tui-file.h gdb/tui/tui-hooks.c gdb/tui/tui-out.c gdb/tui/tui.c gdb/tui/tui.h gdb/tui/tuiCommand.c gdb/tui/tuiCommand.h gdb/tui/tuiData.c gdb/tui/tuiData.h gdb/tui/tuiDataWin.c gdb/tui/tuiDataWin.h gdb/tui/tuiDisassem.c gdb/tui/tuiDisassem.h gdb/tui/tuiGeneralWin.c gdb/tui/tuiGeneralWin.h gdb/tui/tuiIO.c gdb/tui/tuiIO.h gdb/tui/tuiLayout.c gdb/tui/tuiLayout.h gdb/tui/tuiRegs.c gdb/tui/tuiRegs.h gdb/tui/tuiSource.c gdb/tui/tuiSource.h gdb/tui/tuiSourceWin.c gdb/tui/tuiSourceWin.h gdb/tui/tuiStack.c gdb/tui/tuiStack.h gdb/tui/tuiWin.c gdb/tui/tuiWin.h gdb/typeprint.c gdb/typeprint.h gdb/ui-file.c gdb/ui-file.h gdb/ui-out.c gdb/ui-out.h gdb/utils.c gdb/uw-thread.c gdb/v850-tdep.c gdb/v850ice.c gdb/valarith.c gdb/valops.c gdb/valprint.c gdb/valprint.h gdb/value.h gdb/values.c gdb/varobj.c gdb/varobj.h gdb/vax-tdep.c gdb/vax-tdep.h gdb/version.h gdb/version.in gdb/vx-share/README gdb/vx-share/dbgRpcLib.h gdb/vx-share/ptrace.h gdb/vx-share/regPacket.h gdb/vx-share/vxTypes.h gdb/vx-share/vxWorks.h gdb/vx-share/wait.h gdb/vx-share/xdr_ld.c gdb/vx-share/xdr_ld.h gdb/vx-share/xdr_ptrace.c gdb/vx-share/xdr_ptrace.h gdb/vx-share/xdr_rdb.c gdb/vx-share/xdr_rdb.h gdb/w89k-rom.c gdb/win32-nat.c gdb/wince-stub.c gdb/wince-stub.h gdb/wince.c gdb/wrapper.c gdb/wrapper.h gdb/x86-64-linux-nat.c gdb/x86-64-linux-tdep.c gdb/x86-64-tdep.c gdb/x86-64-tdep.h gdb/xcoffread.c gdb/xcoffsolib.c gdb/xcoffsolib.h gdb/xmodem.c gdb/xmodem.h gdb/xstormy16-tdep.c gdb/z8k-tdep.c mmalloc/COPYING.LIB mmalloc/ChangeLog mmalloc/MAINTAINERS mmalloc/Makefile.in mmalloc/TODO mmalloc/acinclude.m4 mmalloc/aclocal.m4 mmalloc/attach.c mmalloc/configure mmalloc/configure.in mmalloc/detach.c mmalloc/keys.c mmalloc/mcalloc.c mmalloc/mfree.c mmalloc/mm.c mmalloc/mmalloc.c mmalloc/mmalloc.h mmalloc/mmalloc.texi mmalloc/mmap-sup.c mmalloc/mmcheck.c mmalloc/mmemalign.c mmalloc/mmprivate.h mmalloc/mmstats.c mmalloc/mmtrace.awk mmalloc/mmtrace.c mmalloc/mrealloc.c mmalloc/mvalloc.c mmalloc/sbrk-sup.c readline/CHANGELOG readline/CHANGES readline/COPYING readline/ChangeLog.gdb readline/INSTALL readline/MANIFEST readline/Makefile.in readline/README readline/USAGE readline/acconfig.h readline/aclocal.m4 readline/ansi_stdlib.h readline/bind.c readline/callback.c readline/chardefs.h readline/complete.c readline/config.h.bot readline/config.h.in readline/configure readline/configure.in readline/cross-build/cygwin.cache readline/display.c readline/doc/ChangeLog.gdb readline/doc/Makefile.in readline/doc/hist.texinfo readline/doc/hstech.texinfo readline/doc/hsuser.texinfo readline/doc/inc-hist.texinfo readline/doc/manvers.texinfo readline/doc/readline.3 readline/doc/rlman.texinfo readline/doc/rltech.texinfo readline/doc/rluser.texinfo readline/doc/rluserman.texinfo readline/doc/texi2dvi readline/doc/texi2html readline/emacs_keymap.c readline/examples/ChangeLog.gdb readline/examples/Inputrc readline/examples/Makefile.in readline/examples/excallback.c readline/examples/fileman.c readline/examples/histexamp.c readline/examples/manexamp.c readline/examples/rl.c readline/examples/rlfe.c readline/examples/rltest.c readline/examples/rlversion.c readline/funmap.c readline/histexpand.c readline/histfile.c readline/histlib.h readline/history.c readline/history.h readline/histsearch.c readline/input.c readline/isearch.c readline/keymaps.c readline/keymaps.h readline/kill.c readline/macro.c readline/nls.c readline/parens.c readline/posixdir.h readline/posixjmp.h readline/posixstat.h readline/readline.c readline/readline.h readline/rlconf.h readline/rldefs.h readline/rlprivate.h readline/rlshell.h readline/rlstdc.h readline/rltty.c readline/rltty.h readline/rlwinsize.h readline/savestring.c readline/search.c readline/shell.c readline/shlib/Makefile.in readline/signals.c readline/support/config.guess readline/support/config.sub readline/support/install.sh readline/support/mkdirs readline/support/mkdist readline/support/shlib-install readline/support/shobj-conf readline/tcap.h readline/terminal.c readline/tilde.c readline/tilde.h readline/undo.c readline/util.c readline/vi_keymap.c readline/vi_mode.c readline/xmalloc.c readline/xmalloc.h sim/ChangeLog sim/MAINTAINERS sim/Makefile.in sim/README-HACKING sim/arm/COPYING sim/arm/ChangeLog sim/arm/Makefile.in sim/arm/README.Cygnus sim/arm/acconfig.h sim/arm/armcopro.c sim/arm/armdefs.h sim/arm/armemu.c sim/arm/armemu.h sim/arm/armfpe.h sim/arm/arminit.c sim/arm/armopts.h sim/arm/armos.c sim/arm/armos.h sim/arm/armrdi.c sim/arm/armsupp.c sim/arm/armvirt.c sim/arm/bag.c sim/arm/bag.h sim/arm/communicate.c sim/arm/communicate.h sim/arm/config.in sim/arm/configure sim/arm/configure.in sim/arm/dbg_conf.h sim/arm/dbg_cp.h sim/arm/dbg_hif.h sim/arm/dbg_rdi.h sim/arm/gdbhost.c sim/arm/gdbhost.h sim/arm/kid.c sim/arm/main.c sim/arm/parent.c sim/arm/tconfig.in sim/arm/thumbemu.c sim/arm/wrapper.c sim/common/ChangeLog sim/common/Make-common.in sim/common/Makefile.in sim/common/acconfig.h sim/common/aclocal.m4 sim/common/callback.c sim/common/cgen-accfp.c sim/common/cgen-cpu.h sim/common/cgen-defs.h sim/common/cgen-engine.h sim/common/cgen-fpu.c sim/common/cgen-fpu.h sim/common/cgen-mem.h sim/common/cgen-ops.h sim/common/cgen-par.c sim/common/cgen-par.h sim/common/cgen-run.c sim/common/cgen-scache.c sim/common/cgen-scache.h sim/common/cgen-sim.h sim/common/cgen-trace.c sim/common/cgen-trace.h sim/common/cgen-types.h sim/common/cgen-utils.c sim/common/cgen.sh sim/common/config.in sim/common/configure sim/common/configure.in sim/common/dv-core.c sim/common/dv-glue.c sim/common/dv-pal.c sim/common/dv-sockser.c sim/common/dv-sockser.h sim/common/gdbinit.in sim/common/genmloop.sh sim/common/gennltvals.sh sim/common/gentmap.c sim/common/gentvals.sh sim/common/hw-alloc.c sim/common/hw-alloc.h sim/common/hw-base.c sim/common/hw-base.h sim/common/hw-device.c sim/common/hw-device.h sim/common/hw-events.c sim/common/hw-events.h sim/common/hw-handles.c sim/common/hw-handles.h sim/common/hw-instances.c sim/common/hw-instances.h sim/common/hw-main.h sim/common/hw-ports.c sim/common/hw-ports.h sim/common/hw-properties.c sim/common/hw-properties.h sim/common/hw-tree.c sim/common/hw-tree.h sim/common/nltvals.def sim/common/nrun.c sim/common/run-sim.h sim/common/run.1 sim/common/run.c sim/common/sim-abort.c sim/common/sim-alu.h sim/common/sim-arange.c sim/common/sim-arange.h sim/common/sim-assert.h sim/common/sim-base.h sim/common/sim-basics.h sim/common/sim-bits.c sim/common/sim-bits.h sim/common/sim-break.c sim/common/sim-break.h sim/common/sim-config.c sim/common/sim-config.h sim/common/sim-core.c sim/common/sim-core.h sim/common/sim-cpu.c sim/common/sim-cpu.h sim/common/sim-endian.c sim/common/sim-endian.h sim/common/sim-engine.c sim/common/sim-engine.h sim/common/sim-events.c sim/common/sim-events.h sim/common/sim-fpu.c sim/common/sim-fpu.h sim/common/sim-hload.c sim/common/sim-hrw.c sim/common/sim-hw.c sim/common/sim-hw.h sim/common/sim-info.c sim/common/sim-inline.c sim/common/sim-inline.h sim/common/sim-io.c sim/common/sim-io.h sim/common/sim-load.c sim/common/sim-memopt.c sim/common/sim-memopt.h sim/common/sim-model.c sim/common/sim-model.h sim/common/sim-module.c sim/common/sim-module.h sim/common/sim-n-bits.h sim/common/sim-n-core.h sim/common/sim-n-endian.h sim/common/sim-options.c sim/common/sim-options.h sim/common/sim-profile.c sim/common/sim-profile.h sim/common/sim-reason.c sim/common/sim-reg.c sim/common/sim-resume.c sim/common/sim-run.c sim/common/sim-signal.c sim/common/sim-signal.h sim/common/sim-stop.c sim/common/sim-trace.c sim/common/sim-trace.h sim/common/sim-types.h sim/common/sim-utils.c sim/common/sim-utils.h sim/common/sim-watch.c sim/common/sim-watch.h sim/common/syscall.c sim/common/tconfig.in sim/configure sim/configure.in sim/d10v/ChangeLog sim/d10v/Makefile.in sim/d10v/acconfig.h sim/d10v/config.in sim/d10v/configure sim/d10v/configure.in sim/d10v/d10v_sim.h sim/d10v/endian.c sim/d10v/gencode.c sim/d10v/interp.c sim/d10v/simops.c sim/d30v/ChangeLog sim/d30v/Makefile.in sim/d30v/acconfig.h sim/d30v/alu.h sim/d30v/config.in sim/d30v/configure sim/d30v/configure.in sim/d30v/cpu.c sim/d30v/cpu.h sim/d30v/d30v-insns sim/d30v/dc-short sim/d30v/engine.c sim/d30v/ic-d30v sim/d30v/sim-calls.c sim/d30v/sim-main.h sim/d30v/tconfig.in sim/erc32/ChangeLog sim/erc32/Makefile.in sim/erc32/NEWS sim/erc32/README.erc32 sim/erc32/README.gdb sim/erc32/README.sis sim/erc32/acconfig.h sim/erc32/config.in sim/erc32/configure sim/erc32/configure.in sim/erc32/end.c sim/erc32/erc32.c sim/erc32/exec.c sim/erc32/float.c sim/erc32/func.c sim/erc32/help.c sim/erc32/interf.c sim/erc32/sis.c sim/erc32/sis.h sim/erc32/startsim sim/fr30/ChangeLog sim/fr30/Makefile.in sim/fr30/README sim/fr30/TODO sim/fr30/arch.c sim/fr30/arch.h sim/fr30/config.in sim/fr30/configure sim/fr30/configure.in sim/fr30/cpu.c sim/fr30/cpu.h sim/fr30/cpuall.h sim/fr30/decode.c sim/fr30/decode.h sim/fr30/devices.c sim/fr30/fr30-sim.h sim/fr30/fr30.c sim/fr30/mloop.in sim/fr30/model.c sim/fr30/sem-switch.c sim/fr30/sem.c sim/fr30/sim-if.c sim/fr30/sim-main.h sim/fr30/tconfig.in sim/fr30/traps.c sim/h8300/ChangeLog sim/h8300/Makefile.in sim/h8300/acconfig.h sim/h8300/compile.c sim/h8300/config.in sim/h8300/configure sim/h8300/configure.in sim/h8300/inst.h sim/h8300/tconfig.in sim/h8300/writecode.c sim/h8500/ChangeLog sim/h8500/Makefile.in sim/h8500/acconfig.h sim/h8500/compile.c sim/h8500/config.in sim/h8500/configure sim/h8500/configure.in sim/h8500/inst.h sim/h8500/tconfig.in sim/i960/ChangeLog sim/i960/Makefile.in sim/i960/README sim/i960/TODO sim/i960/acconfig.h sim/i960/arch.c sim/i960/arch.h sim/i960/config.in sim/i960/configure sim/i960/configure.in sim/i960/cpu.c sim/i960/cpu.h sim/i960/cpuall.h sim/i960/decode.c sim/i960/decode.h sim/i960/devices.c sim/i960/i960-desc.c sim/i960/i960-desc.h sim/i960/i960-opc.h sim/i960/i960-sim.h sim/i960/i960.c sim/i960/mloop.in sim/i960/model.c sim/i960/sem-switch.c sim/i960/sem.c sim/i960/sim-if.c sim/i960/sim-main.h sim/i960/tconfig.in sim/i960/traps.c sim/igen/ChangeLog sim/igen/Makefile.in sim/igen/acconfig.h sim/igen/compare_igen_models sim/igen/config.in sim/igen/configure sim/igen/configure.in sim/igen/filter.c sim/igen/filter.h sim/igen/filter_host.c sim/igen/filter_host.h sim/igen/gen-engine.c sim/igen/gen-engine.h sim/igen/gen-icache.c sim/igen/gen-icache.h sim/igen/gen-idecode.c sim/igen/gen-idecode.h sim/igen/gen-itable.c sim/igen/gen-itable.h sim/igen/gen-model.c sim/igen/gen-model.h sim/igen/gen-semantics.c sim/igen/gen-semantics.h sim/igen/gen-support.c sim/igen/gen-support.h sim/igen/gen.c sim/igen/gen.h sim/igen/igen.c sim/igen/igen.h sim/igen/ld-cache.c sim/igen/ld-cache.h sim/igen/ld-decode.c sim/igen/ld-decode.h sim/igen/ld-insn.c sim/igen/ld-insn.h sim/igen/lf.c sim/igen/lf.h sim/igen/misc.c sim/igen/misc.h sim/igen/table.c sim/igen/table.h sim/m32r/ChangeLog sim/m32r/Makefile.in sim/m32r/README sim/m32r/TODO sim/m32r/acconfig.h sim/m32r/arch.c sim/m32r/arch.h sim/m32r/config.in sim/m32r/configure sim/m32r/configure.in sim/m32r/cpu.c sim/m32r/cpu.h sim/m32r/cpuall.h sim/m32r/cpux.c sim/m32r/cpux.h sim/m32r/decode.c sim/m32r/decode.h sim/m32r/decodex.c sim/m32r/decodex.h sim/m32r/devices.c sim/m32r/m32r-sim.h sim/m32r/m32r.c sim/m32r/m32rx.c sim/m32r/mloop.in sim/m32r/mloopx.in sim/m32r/model.c sim/m32r/modelx.c sim/m32r/sem-switch.c sim/m32r/sem.c sim/m32r/semx-switch.c sim/m32r/sim-if.c sim/m32r/sim-main.h sim/m32r/tconfig.in sim/m32r/traps.c sim/m68hc11/ChangeLog sim/m68hc11/Makefile.in sim/m68hc11/config.in sim/m68hc11/configure sim/m68hc11/configure.in sim/m68hc11/dv-m68hc11.c sim/m68hc11/dv-m68hc11eepr.c sim/m68hc11/dv-m68hc11sio.c sim/m68hc11/dv-m68hc11spi.c sim/m68hc11/dv-m68hc11tim.c sim/m68hc11/dv-nvram.c sim/m68hc11/emulos.c sim/m68hc11/gencode.c sim/m68hc11/interp.c sim/m68hc11/interrupts.c sim/m68hc11/interrupts.h sim/m68hc11/m68hc11_sim.c sim/m68hc11/sim-main.h sim/mcore/ChangeLog sim/mcore/Makefile.in sim/mcore/config.in sim/mcore/configure sim/mcore/configure.in sim/mcore/interp.c sim/mcore/sysdep.h sim/mips/ChangeLog sim/mips/Makefile.in sim/mips/acconfig.h sim/mips/config.in sim/mips/configure sim/mips/configure.in sim/mips/cp1.c sim/mips/cp1.h sim/mips/dv-tx3904cpu.c sim/mips/dv-tx3904irc.c sim/mips/dv-tx3904sio.c sim/mips/dv-tx3904tmr.c sim/mips/interp.c sim/mips/m16.dc sim/mips/m16.igen sim/mips/m16run.c sim/mips/mdmx.c sim/mips/mdmx.igen sim/mips/mips.dc sim/mips/mips.igen sim/mips/mips3d.igen sim/mips/sb1.igen sim/mips/sim-main.c sim/mips/sim-main.h sim/mips/tconfig.in sim/mips/tx.igen sim/mips/vr.igen sim/mn10200/ChangeLog sim/mn10200/Makefile.in sim/mn10200/acconfig.h sim/mn10200/config.in sim/mn10200/configure sim/mn10200/configure.in sim/mn10200/gencode.c sim/mn10200/interp.c sim/mn10200/mn10200_sim.h sim/mn10200/simops.c sim/mn10300/ChangeLog sim/mn10300/Makefile.in sim/mn10300/acconfig.h sim/mn10300/am33.igen sim/mn10300/config.in sim/mn10300/configure sim/mn10300/configure.in sim/mn10300/dv-mn103cpu.c sim/mn10300/dv-mn103int.c sim/mn10300/dv-mn103iop.c sim/mn10300/dv-mn103ser.c sim/mn10300/dv-mn103tim.c sim/mn10300/gencode.c sim/mn10300/interp.c sim/mn10300/mn10300.dc sim/mn10300/mn10300.igen sim/mn10300/mn10300_sim.h sim/mn10300/op_utils.c sim/mn10300/sim-main.c sim/mn10300/sim-main.h sim/mn10300/simops.c sim/mn10300/tconfig.in sim/ppc/.gdbinit sim/ppc/BUGS sim/ppc/COPYING sim/ppc/COPYING.LIB sim/ppc/ChangeLog sim/ppc/ChangeLog.00 sim/ppc/INSTALL sim/ppc/Makefile.in sim/ppc/README sim/ppc/RUN sim/ppc/acconfig.h sim/ppc/aclocal.m4 sim/ppc/basics.h sim/ppc/bits.c sim/ppc/bits.h sim/ppc/cap.c sim/ppc/cap.h sim/ppc/config.in sim/ppc/configure sim/ppc/configure.in sim/ppc/corefile-n.h sim/ppc/corefile.c sim/ppc/corefile.h sim/ppc/cpu.c sim/ppc/cpu.h sim/ppc/dc-complex sim/ppc/dc-simple sim/ppc/dc-stupid sim/ppc/dc-test.01 sim/ppc/dc-test.02 sim/ppc/debug.c sim/ppc/debug.h sim/ppc/device.c sim/ppc/device.h sim/ppc/device_table.c sim/ppc/device_table.h sim/ppc/dgen.c sim/ppc/double.c sim/ppc/dp-bit.c sim/ppc/emul_bugapi.c sim/ppc/emul_bugapi.h sim/ppc/emul_chirp.c sim/ppc/emul_chirp.h sim/ppc/emul_generic.c sim/ppc/emul_generic.h sim/ppc/emul_netbsd.c sim/ppc/emul_netbsd.h sim/ppc/emul_unix.c sim/ppc/emul_unix.h sim/ppc/events.c sim/ppc/events.h sim/ppc/filter.c sim/ppc/filter.h sim/ppc/filter_filename.c sim/ppc/filter_filename.h sim/ppc/gen-icache.c sim/ppc/gen-icache.h sim/ppc/gen-idecode.c sim/ppc/gen-idecode.h sim/ppc/gen-itable.c sim/ppc/gen-itable.h sim/ppc/gen-model.c sim/ppc/gen-model.h sim/ppc/gen-semantics.c sim/ppc/gen-semantics.h sim/ppc/gen-support.c sim/ppc/gen-support.h sim/ppc/hw_com.c sim/ppc/hw_core.c sim/ppc/hw_cpu.c sim/ppc/hw_cpu.h sim/ppc/hw_disk.c sim/ppc/hw_eeprom.c sim/ppc/hw_glue.c sim/ppc/hw_htab.c sim/ppc/hw_ide.c sim/ppc/hw_init.c sim/ppc/hw_iobus.c sim/ppc/hw_memory.c sim/ppc/hw_nvram.c sim/ppc/hw_opic.c sim/ppc/hw_pal.c sim/ppc/hw_phb.c sim/ppc/hw_phb.h sim/ppc/hw_register.c sim/ppc/hw_trace.c sim/ppc/hw_vm.c sim/ppc/idecode_branch.h sim/ppc/idecode_expression.h sim/ppc/idecode_fields.h sim/ppc/igen.c sim/ppc/igen.h sim/ppc/inline.c sim/ppc/inline.h sim/ppc/interrupts.c sim/ppc/interrupts.h sim/ppc/ld-cache.c sim/ppc/ld-cache.h sim/ppc/ld-decode.c sim/ppc/ld-decode.h sim/ppc/ld-insn.c sim/ppc/ld-insn.h sim/ppc/lf.c sim/ppc/lf.h sim/ppc/main.c sim/ppc/misc.c sim/ppc/misc.h sim/ppc/mon.c sim/ppc/mon.h sim/ppc/options.c sim/ppc/options.h sim/ppc/os_emul.c sim/ppc/os_emul.h sim/ppc/pk_disklabel.c sim/ppc/ppc-cache-rules sim/ppc/ppc-instructions sim/ppc/ppc-spr-table sim/ppc/ppc.mt sim/ppc/psim.c sim/ppc/psim.h sim/ppc/psim.texinfo sim/ppc/registers.c sim/ppc/registers.h sim/ppc/sim-endian-n.h sim/ppc/sim-endian.c sim/ppc/sim-endian.h sim/ppc/sim-main.h sim/ppc/sim_callbacks.h sim/ppc/sim_calls.c sim/ppc/std-config.h sim/ppc/table.c sim/ppc/table.h sim/ppc/tree.c sim/ppc/tree.h sim/ppc/vm.c sim/ppc/vm.h sim/ppc/vm_n.h sim/ppc/words.h sim/sh/ChangeLog sim/sh/Makefile.in sim/sh/acconfig.h sim/sh/config.in sim/sh/configure sim/sh/configure.in sim/sh/gencode.c sim/sh/interp.c sim/sh/syscall.h sim/sh/tconfig.in sim/testsuite/ChangeLog sim/testsuite/Makefile.in sim/testsuite/common/Make-common.in sim/testsuite/common/Makefile.in sim/testsuite/common/alu-n-tst.h sim/testsuite/common/alu-tst.c sim/testsuite/common/bits-gen.c sim/testsuite/common/bits-tst.c sim/testsuite/common/fpu-tst.c sim/testsuite/config/default.exp sim/testsuite/configure sim/testsuite/configure.in sim/testsuite/d10v-elf/ChangeLog sim/testsuite/d10v-elf/Makefile.in sim/testsuite/d10v-elf/configure sim/testsuite/d10v-elf/configure.in sim/testsuite/d10v-elf/exit47.s sim/testsuite/d10v-elf/hello.s sim/testsuite/d10v-elf/loop.s sim/testsuite/d10v-elf/t-ae-ld-d.s sim/testsuite/d10v-elf/t-ae-ld-i.s sim/testsuite/d10v-elf/t-ae-ld-id.s sim/testsuite/d10v-elf/t-ae-ld-im.s sim/testsuite/d10v-elf/t-ae-ld-ip.s sim/testsuite/d10v-elf/t-ae-ld2w-d.s sim/testsuite/d10v-elf/t-ae-ld2w-i.s sim/testsuite/d10v-elf/t-ae-ld2w-id.s sim/testsuite/d10v-elf/t-ae-ld2w-im.s sim/testsuite/d10v-elf/t-ae-ld2w-ip.s sim/testsuite/d10v-elf/t-ae-st-d.s sim/testsuite/d10v-elf/t-ae-st-i.s sim/testsuite/d10v-elf/t-ae-st-id.s sim/testsuite/d10v-elf/t-ae-st-im.s sim/testsuite/d10v-elf/t-ae-st-ip.s sim/testsuite/d10v-elf/t-ae-st-is.s sim/testsuite/d10v-elf/t-ae-st2w-d.s sim/testsuite/d10v-elf/t-ae-st2w-i.s sim/testsuite/d10v-elf/t-ae-st2w-id.s sim/testsuite/d10v-elf/t-ae-st2w-im.s sim/testsuite/d10v-elf/t-ae-st2w-ip.s sim/testsuite/d10v-elf/t-ae-st2w-is.s sim/testsuite/d10v-elf/t-dbt.s sim/testsuite/d10v-elf/t-ld-st.s sim/testsuite/d10v-elf/t-mac.s sim/testsuite/d10v-elf/t-macros.i sim/testsuite/d10v-elf/t-mod-ld-pre.s sim/testsuite/d10v-elf/t-msbu.s sim/testsuite/d10v-elf/t-mulxu.s sim/testsuite/d10v-elf/t-mvtac.s sim/testsuite/d10v-elf/t-mvtc.s sim/testsuite/d10v-elf/t-rac.s sim/testsuite/d10v-elf/t-rachi.s sim/testsuite/d10v-elf/t-rdt.s sim/testsuite/d10v-elf/t-rep.s sim/testsuite/d10v-elf/t-rie-xx.s sim/testsuite/d10v-elf/t-rte.s sim/testsuite/d10v-elf/t-sac.s sim/testsuite/d10v-elf/t-sachi.s sim/testsuite/d10v-elf/t-sadd.s sim/testsuite/d10v-elf/t-slae.s sim/testsuite/d10v-elf/t-sp.s sim/testsuite/d10v-elf/t-sub.s sim/testsuite/d10v-elf/t-sub2w.s sim/testsuite/d10v-elf/t-subi.s sim/testsuite/d10v-elf/t-trap.s sim/testsuite/d30v-elf/ChangeLog sim/testsuite/d30v-elf/Makefile.in sim/testsuite/d30v-elf/br-bra.S sim/testsuite/d30v-elf/br-bratnz.S sim/testsuite/d30v-elf/br-bratzr.S sim/testsuite/d30v-elf/br-bsr.S sim/testsuite/d30v-elf/br-dbra.S sim/testsuite/d30v-elf/br-djmp.S sim/testsuite/d30v-elf/br-djsr.S sim/testsuite/d30v-elf/configure sim/testsuite/d30v-elf/configure.in sim/testsuite/d30v-elf/do-2wordops.S sim/testsuite/d30v-elf/do-flags.S sim/testsuite/d30v-elf/do-shifts.S sim/testsuite/d30v-elf/em-e0.S sim/testsuite/d30v-elf/em-e47.S sim/testsuite/d30v-elf/em-pchr.S sim/testsuite/d30v-elf/em-pstr.S sim/testsuite/d30v-elf/exit47.s sim/testsuite/d30v-elf/hello.s sim/testsuite/d30v-elf/loop.s sim/testsuite/d30v-elf/ls-ld2h.S sim/testsuite/d30v-elf/ls-ld2w.S sim/testsuite/d30v-elf/ls-ld4bh.S sim/testsuite/d30v-elf/ls-ld4bhu.S sim/testsuite/d30v-elf/ls-ldb.S sim/testsuite/d30v-elf/ls-ldbu.S sim/testsuite/d30v-elf/ls-ldh.S sim/testsuite/d30v-elf/ls-ldhh.S sim/testsuite/d30v-elf/ls-ldhu.S sim/testsuite/d30v-elf/ls-ldw.S sim/testsuite/d30v-elf/ls-modaddr.S sim/testsuite/d30v-elf/ls-moddec.S sim/testsuite/d30v-elf/ls-modinc.S sim/testsuite/d30v-elf/ls-st2h.S sim/testsuite/d30v-elf/ls-st2w.S sim/testsuite/d30v-elf/ls-st4hb.S sim/testsuite/d30v-elf/ls-stb.S sim/testsuite/d30v-elf/ls-sth.S sim/testsuite/d30v-elf/ls-sthh.S sim/testsuite/d30v-elf/ls-stw.S sim/testsuite/d30v-elf/os-dbt.S sim/testsuite/d30v-elf/tick.s sim/testsuite/d30v-elf/trap.S sim/testsuite/fr30-elf/ChangeLog sim/testsuite/fr30-elf/Makefile.in sim/testsuite/fr30-elf/configure sim/testsuite/fr30-elf/configure.in sim/testsuite/fr30-elf/exit47.s sim/testsuite/fr30-elf/hello.s sim/testsuite/fr30-elf/loop.s sim/testsuite/lib/sim-defs.exp sim/testsuite/m32r-elf/ChangeLog sim/testsuite/m32r-elf/Makefile.in sim/testsuite/m32r-elf/configure sim/testsuite/m32r-elf/configure.in sim/testsuite/m32r-elf/exit47.s sim/testsuite/m32r-elf/hello.s sim/testsuite/m32r-elf/loop.s sim/testsuite/mips64el-elf/ChangeLog sim/testsuite/mips64el-elf/Makefile.in sim/testsuite/mips64el-elf/configure sim/testsuite/mips64el-elf/configure.in sim/testsuite/sim/fr30/add.cgs sim/testsuite/sim/fr30/add.ms sim/testsuite/sim/fr30/add2.cgs sim/testsuite/sim/fr30/addc.cgs sim/testsuite/sim/fr30/addn.cgs sim/testsuite/sim/fr30/addn2.cgs sim/testsuite/sim/fr30/addsp.cgs sim/testsuite/sim/fr30/allinsn.exp sim/testsuite/sim/fr30/and.cgs sim/testsuite/sim/fr30/andb.cgs sim/testsuite/sim/fr30/andccr.cgs sim/testsuite/sim/fr30/andh.cgs sim/testsuite/sim/fr30/asr.cgs sim/testsuite/sim/fr30/asr2.cgs sim/testsuite/sim/fr30/bandh.cgs sim/testsuite/sim/fr30/bandl.cgs sim/testsuite/sim/fr30/bc.cgs sim/testsuite/sim/fr30/beorh.cgs sim/testsuite/sim/fr30/beorl.cgs sim/testsuite/sim/fr30/beq.cgs sim/testsuite/sim/fr30/bge.cgs sim/testsuite/sim/fr30/bgt.cgs sim/testsuite/sim/fr30/bhi.cgs sim/testsuite/sim/fr30/ble.cgs sim/testsuite/sim/fr30/bls.cgs sim/testsuite/sim/fr30/blt.cgs sim/testsuite/sim/fr30/bn.cgs sim/testsuite/sim/fr30/bnc.cgs sim/testsuite/sim/fr30/bne.cgs sim/testsuite/sim/fr30/bno.cgs sim/testsuite/sim/fr30/bnv.cgs sim/testsuite/sim/fr30/borh.cgs sim/testsuite/sim/fr30/borl.cgs sim/testsuite/sim/fr30/bp.cgs sim/testsuite/sim/fr30/bra.cgs sim/testsuite/sim/fr30/btsth.cgs sim/testsuite/sim/fr30/btstl.cgs sim/testsuite/sim/fr30/bv.cgs sim/testsuite/sim/fr30/call.cgs sim/testsuite/sim/fr30/cmp.cgs sim/testsuite/sim/fr30/cmp2.cgs sim/testsuite/sim/fr30/copld.cgs sim/testsuite/sim/fr30/copop.cgs sim/testsuite/sim/fr30/copst.cgs sim/testsuite/sim/fr30/copsv.cgs sim/testsuite/sim/fr30/div.ms sim/testsuite/sim/fr30/div0s.cgs sim/testsuite/sim/fr30/div0u.cgs sim/testsuite/sim/fr30/div1.cgs sim/testsuite/sim/fr30/div2.cgs sim/testsuite/sim/fr30/div3.cgs sim/testsuite/sim/fr30/div4s.cgs sim/testsuite/sim/fr30/dmov.cgs sim/testsuite/sim/fr30/dmovb.cgs sim/testsuite/sim/fr30/dmovh.cgs sim/testsuite/sim/fr30/enter.cgs sim/testsuite/sim/fr30/eor.cgs sim/testsuite/sim/fr30/eorb.cgs sim/testsuite/sim/fr30/eorh.cgs sim/testsuite/sim/fr30/extsb.cgs sim/testsuite/sim/fr30/extsh.cgs sim/testsuite/sim/fr30/extub.cgs sim/testsuite/sim/fr30/extuh.cgs sim/testsuite/sim/fr30/hello.ms sim/testsuite/sim/fr30/int.cgs sim/testsuite/sim/fr30/inte.cgs sim/testsuite/sim/fr30/jmp.cgs sim/testsuite/sim/fr30/ld.cgs sim/testsuite/sim/fr30/ldi20.cgs sim/testsuite/sim/fr30/ldi32.cgs sim/testsuite/sim/fr30/ldi8.cgs sim/testsuite/sim/fr30/ldm0.cgs sim/testsuite/sim/fr30/ldm1.cgs sim/testsuite/sim/fr30/ldres.cgs sim/testsuite/sim/fr30/ldub.cgs sim/testsuite/sim/fr30/lduh.cgs sim/testsuite/sim/fr30/leave.cgs sim/testsuite/sim/fr30/lsl.cgs sim/testsuite/sim/fr30/lsl2.cgs sim/testsuite/sim/fr30/lsr.cgs sim/testsuite/sim/fr30/lsr2.cgs sim/testsuite/sim/fr30/misc.exp sim/testsuite/sim/fr30/mov.cgs sim/testsuite/sim/fr30/mul.cgs sim/testsuite/sim/fr30/mulh.cgs sim/testsuite/sim/fr30/mulu.cgs sim/testsuite/sim/fr30/muluh.cgs sim/testsuite/sim/fr30/nop.cgs sim/testsuite/sim/fr30/or.cgs sim/testsuite/sim/fr30/orb.cgs sim/testsuite/sim/fr30/orccr.cgs sim/testsuite/sim/fr30/orh.cgs sim/testsuite/sim/fr30/ret.cgs sim/testsuite/sim/fr30/reti.cgs sim/testsuite/sim/fr30/st.cgs sim/testsuite/sim/fr30/stb.cgs sim/testsuite/sim/fr30/sth.cgs sim/testsuite/sim/fr30/stilm.cgs sim/testsuite/sim/fr30/stm0.cgs sim/testsuite/sim/fr30/stm1.cgs sim/testsuite/sim/fr30/stres.cgs sim/testsuite/sim/fr30/sub.cgs sim/testsuite/sim/fr30/subc.cgs sim/testsuite/sim/fr30/subn.cgs sim/testsuite/sim/fr30/testutils.inc sim/testsuite/sim/fr30/xchb.cgs sim/testsuite/sim/m32r/add.cgs sim/testsuite/sim/m32r/add3.cgs sim/testsuite/sim/m32r/addi.cgs sim/testsuite/sim/m32r/addv.cgs sim/testsuite/sim/m32r/addv3.cgs sim/testsuite/sim/m32r/addx.cgs sim/testsuite/sim/m32r/allinsn.exp sim/testsuite/sim/m32r/and.cgs sim/testsuite/sim/m32r/and3.cgs sim/testsuite/sim/m32r/bc24.cgs sim/testsuite/sim/m32r/bc8.cgs sim/testsuite/sim/m32r/beq.cgs sim/testsuite/sim/m32r/beqz.cgs sim/testsuite/sim/m32r/bgez.cgs sim/testsuite/sim/m32r/bgtz.cgs sim/testsuite/sim/m32r/bl24.cgs sim/testsuite/sim/m32r/bl8.cgs sim/testsuite/sim/m32r/blez.cgs sim/testsuite/sim/m32r/bltz.cgs sim/testsuite/sim/m32r/bnc24.cgs sim/testsuite/sim/m32r/bnc8.cgs sim/testsuite/sim/m32r/bne.cgs sim/testsuite/sim/m32r/bnez.cgs sim/testsuite/sim/m32r/bra24.cgs sim/testsuite/sim/m32r/bra8.cgs sim/testsuite/sim/m32r/cmp.cgs sim/testsuite/sim/m32r/cmpi.cgs sim/testsuite/sim/m32r/cmpu.cgs sim/testsuite/sim/m32r/cmpui.cgs sim/testsuite/sim/m32r/div.cgs sim/testsuite/sim/m32r/divu.cgs sim/testsuite/sim/m32r/hello.ms sim/testsuite/sim/m32r/hw-trap.ms sim/testsuite/sim/m32r/jl.cgs sim/testsuite/sim/m32r/jmp.cgs sim/testsuite/sim/m32r/ld-d.cgs sim/testsuite/sim/m32r/ld-plus.cgs sim/testsuite/sim/m32r/ld.cgs sim/testsuite/sim/m32r/ld24.cgs sim/testsuite/sim/m32r/ldb-d.cgs sim/testsuite/sim/m32r/ldb.cgs sim/testsuite/sim/m32r/ldh-d.cgs sim/testsuite/sim/m32r/ldh.cgs sim/testsuite/sim/m32r/ldi16.cgs sim/testsuite/sim/m32r/ldi8.cgs sim/testsuite/sim/m32r/ldub-d.cgs sim/testsuite/sim/m32r/ldub.cgs sim/testsuite/sim/m32r/lduh-d.cgs sim/testsuite/sim/m32r/lduh.cgs sim/testsuite/sim/m32r/lock.cgs sim/testsuite/sim/m32r/machi.cgs sim/testsuite/sim/m32r/maclo.cgs sim/testsuite/sim/m32r/macwhi.cgs sim/testsuite/sim/m32r/macwlo.cgs sim/testsuite/sim/m32r/misc.exp sim/testsuite/sim/m32r/mul.cgs sim/testsuite/sim/m32r/mulhi.cgs sim/testsuite/sim/m32r/mullo.cgs sim/testsuite/sim/m32r/mulwhi.cgs sim/testsuite/sim/m32r/mulwlo.cgs sim/testsuite/sim/m32r/mv.cgs sim/testsuite/sim/m32r/mvfachi.cgs sim/testsuite/sim/m32r/mvfaclo.cgs sim/testsuite/sim/m32r/mvfacmi.cgs sim/testsuite/sim/m32r/mvfc.cgs sim/testsuite/sim/m32r/mvtachi.cgs sim/testsuite/sim/m32r/mvtaclo.cgs sim/testsuite/sim/m32r/mvtc.cgs sim/testsuite/sim/m32r/neg.cgs sim/testsuite/sim/m32r/nop.cgs sim/testsuite/sim/m32r/not.cgs sim/testsuite/sim/m32r/or.cgs sim/testsuite/sim/m32r/or3.cgs sim/testsuite/sim/m32r/rac.cgs sim/testsuite/sim/m32r/rach.cgs sim/testsuite/sim/m32r/rem.cgs sim/testsuite/sim/m32r/remu.cgs sim/testsuite/sim/m32r/rte.cgs sim/testsuite/sim/m32r/seth.cgs sim/testsuite/sim/m32r/sll.cgs sim/testsuite/sim/m32r/sll3.cgs sim/testsuite/sim/m32r/slli.cgs sim/testsuite/sim/m32r/sra.cgs sim/testsuite/sim/m32r/sra3.cgs sim/testsuite/sim/m32r/srai.cgs sim/testsuite/sim/m32r/srl.cgs sim/testsuite/sim/m32r/srl3.cgs sim/testsuite/sim/m32r/srli.cgs sim/testsuite/sim/m32r/st-d.cgs sim/testsuite/sim/m32r/st-minus.cgs sim/testsuite/sim/m32r/st-plus.cgs sim/testsuite/sim/m32r/st.cgs sim/testsuite/sim/m32r/stb-d.cgs sim/testsuite/sim/m32r/stb.cgs sim/testsuite/sim/m32r/sth-d.cgs sim/testsuite/sim/m32r/sth.cgs sim/testsuite/sim/m32r/sub.cgs sim/testsuite/sim/m32r/subv.cgs sim/testsuite/sim/m32r/subx.cgs sim/testsuite/sim/m32r/testutils.inc sim/testsuite/sim/m32r/trap.cgs sim/testsuite/sim/m32r/unlock.cgs sim/testsuite/sim/m32r/uread16.ms sim/testsuite/sim/m32r/uread32.ms sim/testsuite/sim/m32r/uwrite16.ms sim/testsuite/sim/m32r/uwrite32.ms sim/testsuite/sim/m32r/xor.cgs sim/testsuite/sim/m32r/xor3.cgs sim/v850/ChangeLog sim/v850/Makefile.in sim/v850/acconfig.h sim/v850/config.in sim/v850/configure sim/v850/configure.in sim/v850/interp.c sim/v850/sim-main.h sim/v850/simops.c sim/v850/simops.h sim/v850/v850-dc sim/v850/v850.igen sim/v850/v850_sim.h sim/z8k/ChangeLog sim/z8k/Makefile.in sim/z8k/acconfig.h sim/z8k/comped1.c sim/z8k/comped2.c sim/z8k/comped3.c sim/z8k/compedb3.c sim/z8k/config.in sim/z8k/configure sim/z8k/configure.in sim/z8k/iface.c sim/z8k/inlines.h sim/z8k/mem.c sim/z8k/mem.h sim/z8k/quick.c sim/z8k/sim.h sim/z8k/support.c sim/z8k/syscall.h sim/z8k/tconfig.in sim/z8k/tm.h sim/z8k/writecode.c texinfo/texinfo.tex
Diffstat (limited to 'gdb/testsuite/gdb.trace')
-rw-r--r--gdb/testsuite/gdb.trace/Makefile.in21
-rw-r--r--gdb/testsuite/gdb.trace/actions.c134
-rw-r--r--gdb/testsuite/gdb.trace/actions.exp207
-rw-r--r--gdb/testsuite/gdb.trace/backtrace.exp376
-rw-r--r--gdb/testsuite/gdb.trace/circ.c90
-rw-r--r--gdb/testsuite/gdb.trace/circ.exp215
-rw-r--r--gdb/testsuite/gdb.trace/collection.c280
-rw-r--r--gdb/testsuite/gdb.trace/collection.exp623
-rwxr-xr-xgdb/testsuite/gdb.trace/configure899
-rw-r--r--gdb/testsuite/gdb.trace/configure.in15
-rw-r--r--gdb/testsuite/gdb.trace/deltrace.exp269
-rw-r--r--gdb/testsuite/gdb.trace/gdb_c_test.c3792
-rw-r--r--gdb/testsuite/gdb.trace/infotrace.exp99
-rw-r--r--gdb/testsuite/gdb.trace/limits.c51
-rw-r--r--gdb/testsuite/gdb.trace/limits.exp316
-rw-r--r--gdb/testsuite/gdb.trace/packetlen.exp100
-rw-r--r--gdb/testsuite/gdb.trace/passc-dyn.exp181
-rw-r--r--gdb/testsuite/gdb.trace/passcount.exp178
-rw-r--r--gdb/testsuite/gdb.trace/report.exp421
-rw-r--r--gdb/testsuite/gdb.trace/save-trace.exp171
-rw-r--r--gdb/testsuite/gdb.trace/tfind.exp405
-rw-r--r--gdb/testsuite/gdb.trace/tracecmd.exp269
-rw-r--r--gdb/testsuite/gdb.trace/while-dyn.exp124
-rw-r--r--gdb/testsuite/gdb.trace/while-stepping.exp116
24 files changed, 0 insertions, 9352 deletions
diff --git a/gdb/testsuite/gdb.trace/Makefile.in b/gdb/testsuite/gdb.trace/Makefile.in
deleted file mode 100644
index 601c9e1..0000000
--- a/gdb/testsuite/gdb.trace/Makefile.in
+++ /dev/null
@@ -1,21 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-VPATH = @srcdir@
-srcdir = @srcdir@
-
-.PHONY: all clean mostlyclean distclean realclean
-
-all:
- @echo "Nothing to be done for all..."
-
-clean mostlyclean:
- -rm -f actions circ collection limits
- -rm -f *.o *.diff *~ *.bad core sh3 hppa mn10200 mn10300
-
-distclean maintainer-clean realclean: clean
- -rm -f Makefile config.status config.log
-
-Makefile: $(srcdir)/Makefile.in $(srcdir)/configure.in
- $(SHELL) ./config.status --recheck
-
-
diff --git a/gdb/testsuite/gdb.trace/actions.c b/gdb/testsuite/gdb.trace/actions.c
deleted file mode 100644
index ae3c1c3..0000000
--- a/gdb/testsuite/gdb.trace/actions.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Test program for trace action commands
- */
-
-static char gdb_char_test;
-static short gdb_short_test;
-static long gdb_long_test;
-static char gdb_arr_test[25];
-static struct GDB_STRUCT_TEST
-{
- char c;
- short s;
- long l;
- int bfield : 11; /* collect bitfield */
- char arr[25];
- struct GDB_STRUCT_TEST *next;
-} gdb_struct1_test, gdb_struct2_test, *gdb_structp_test, **gdb_structpp_test;
-
-static union GDB_UNION_TEST
-{
- char c;
- short s;
- long l;
- int bfield : 11; /* collect bitfield */
- char arr[4];
- union GDB_UNION_TEST *next;
-} gdb_union1_test;
-
-void gdb_recursion_test (int, int, int, int, int, int, int);
-
-void gdb_recursion_test (int depth,
- int q1,
- int q2,
- int q3,
- int q4,
- int q5,
- int q6)
-{ /* gdb_recursion_test line 0 */
- int q = q1; /* gdbtestline 1 */
-
- q1 = q2; /* gdbtestline 2 */
- q2 = q3; /* gdbtestline 3 */
- q3 = q4; /* gdbtestline 4 */
- q4 = q5; /* gdbtestline 5 */
- q5 = q6; /* gdbtestline 6 */
- q6 = q; /* gdbtestline 7 */
- if (depth--) /* gdbtestline 8 */
- gdb_recursion_test (depth, q1, q2, q3, q4, q5, q6); /* gdbtestline 9 */
-}
-
-
-unsigned long gdb_c_test( unsigned long *parm )
-
-{
- char *p = "gdb_c_test";
- char *ridiculously_long_variable_name_with_equally_long_string_assignment;
- register long local_reg = 7;
- static unsigned long local_static, local_static_sizeof;
- long local_long;
- unsigned long *stack_ptr;
- unsigned long end_of_stack;
-
- ridiculously_long_variable_name_with_equally_long_string_assignment =
- "ridiculously long variable name with equally long string assignment";
- local_static = 9;
- local_static_sizeof = sizeof (struct GDB_STRUCT_TEST);
- local_long = local_reg + 1;
- stack_ptr = (unsigned long *) &local_long;
- end_of_stack =
- (unsigned long) &stack_ptr + sizeof(stack_ptr) + sizeof(end_of_stack) - 1;
-
- gdb_char_test = gdb_struct1_test.c = (char) ((long) parm[1] & 0xff);
- gdb_short_test = gdb_struct1_test.s = (short) ((long) parm[2] & 0xffff);
- gdb_long_test = gdb_struct1_test.l = (long) ((long) parm[3] & 0xffffffff);
- gdb_union1_test.l = (long) parm[4];
- gdb_arr_test[0] = gdb_struct1_test.arr[0] = (char) ((long) parm[1] & 0xff);
- gdb_arr_test[1] = gdb_struct1_test.arr[1] = (char) ((long) parm[2] & 0xff);
- gdb_arr_test[2] = gdb_struct1_test.arr[2] = (char) ((long) parm[3] & 0xff);
- gdb_arr_test[3] = gdb_struct1_test.arr[3] = (char) ((long) parm[4] & 0xff);
- gdb_arr_test[4] = gdb_struct1_test.arr[4] = (char) ((long) parm[5] & 0xff);
- gdb_arr_test[5] = gdb_struct1_test.arr[5] = (char) ((long) parm[6] & 0xff);
- gdb_struct1_test.bfield = 144;
- gdb_struct1_test.next = &gdb_struct2_test;
- gdb_structp_test = &gdb_struct1_test;
- gdb_structpp_test = &gdb_structp_test;
-
- gdb_recursion_test (3, (long) parm[1], (long) parm[2], (long) parm[3],
- (long) parm[4], (long) parm[5], (long) parm[6]);
-
- gdb_char_test = gdb_short_test = gdb_long_test = 0;
- gdb_structp_test = (void *) 0;
- gdb_structpp_test = (void *) 0;
- memset ((char *) &gdb_struct1_test, 0, sizeof (gdb_struct1_test));
- memset ((char *) &gdb_struct2_test, 0, sizeof (gdb_struct2_test));
- local_static_sizeof = 0;
- local_static = 0;
- return ( (unsigned long) 0 );
-}
-
-static void gdb_asm_test (void)
-{
-}
-
-static void begin () /* called before anything else */
-{
-}
-
-static void end () /* called after everything else */
-{
-}
-
-int
-main (argc, argv, envp)
- int argc;
- char *argv[], **envp;
-{
- int i;
- unsigned long myparms[10];
-
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
- begin ();
- for (i = 0; i < sizeof (myparms) / sizeof (myparms[0]); i++)
- myparms[i] = i;
-
- gdb_c_test (&myparms[0]);
-
- end ();
- return 0;
-}
-
diff --git a/gdb/testsuite/gdb.trace/actions.exp b/gdb/testsuite/gdb.trace/actions.exp
deleted file mode 100644
index 66d3d87..0000000
--- a/gdb/testsuite/gdb.trace/actions.exp
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- set binfile [board_info target d490_binfile];
- set srcfile gdb_c_test.c
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-gdb_file_cmd $binfile
-
-# define relative source line numbers:
-# all subsequent line numbers are relative to this first one (baseline)
-
-set baseline [gdb_find_recursion_test_baseline $srcfile];
-if { $baseline == -1 } then {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-
-set testline1 [expr $baseline + 7]
-
-#
-# test actions command
-#
-
-gdb_delete_tracepoints
-set trcpt1 [gdb_gettpnum gdb_c_test];
-set trcpt2 [gdb_gettpnum gdb_asm_test];
-set trcpt3 [gdb_gettpnum $testline1];
-if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {
- fail "setting tracepoints"
- return;
-}
-
-# 5.1 actions of specified tracepoint
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "Actions for tracepoint \[0-9\]+:.*$gdb_prompt $" {
- fail "5.1a: testsuite failure (tracepoint already has action)!"
- }
- -re "No tracepoints.*$gdb_prompt $" {
- fail "5.1a: set three tracepoints, no actions (No tracepoints!)"
- }
- -re "$gdb_prompt $" {
- pass "5.1a: set three tracepoints, no actions"
- }
-}
-
-gdb_trace_setactions "5.1b: set actions for first tracepoint" \
- "$trcpt1" \
- "collect gdb_char_test" "^$"
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "Actions for.* $trcpt1:.*collect gdb_char_test.*$gdb_prompt $" {
- pass "5.1c: verify actions set for first tracepoint"
- }
- -re "$gdb_prompt $" {
- fail "5.1c: verify actions set for first tracepoint"
- }
-}
-
-gdb_trace_setactions "5.1d: set actions for second tracepoint" \
- "$trcpt2" \
- "collect gdb_short_test" "^$"
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "Actions for.* $trcpt2:.*collect gdb_short_test.*$gdb_prompt $" {
- pass "5.1e: verify actions set for second tracepoint"
- }
- -re "$gdb_prompt $" {
- fail "5.1e: verify actions set for second tracepoint"
- }
-}
-
-gdb_trace_setactions "5.2a: set actions for last (default) tracepoint" \
- "" \
- "collect gdb_long_test" "^$"
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "Actions for.* $trcpt3:.*collect gdb_long_test.*$gdb_prompt $" {
- pass "5.2b: verify actions set for last (default) tracepoint"
- }
- -re "$gdb_prompt $" {
- fail "5.2b: verify actions set for last (default) tracepoint"
- }
-}
-
-# 5.3 replace actions set earlier
-
-gdb_trace_setactions "5.3a: reset actions for first tracepoint" \
- "$trcpt1" \
- "collect gdb_struct1_test" "^$"
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "Actions for.* $trcpt1:.*collect gdb_struct1_test.*$gdb_prompt $" {
- pass "5.3b: verify actions set for first tracepoint"
- }
- -re "$gdb_prompt $" {
- fail "5.3b: verify actions set for first tracepoint"
- }
-}
-
-#
-# test end command (all by itself)
-#
-
-# 5.4 end outside of context
-
-gdb_test "end" "This command cannot be used at the top level." \
- "5.4: 'end' command out of context"
-
-# 5.5 empty actions (just an end with no other actions)
-
-gdb_trace_setactions "5.5a: set empty actions for first tracepoint" \
- "$trcpt1"
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "No tracepoints.*$gdb_prompt $" {
- fail "5.5c: verify NO actions for first tracepoint"
- }
- -re "Actions for.* $trcpt1:.*$gdb_prompt $" {
- fail "5.5c: verify NO actions for first tracepoint"
- }
- -re "$gdb_prompt $" {
- pass "5.5c: verify NO actions for first tracepoint"
- }
-}
-
-# 5.6 actions for invalid tracepoint number
-
-gdb_test "actions [expr $trcpt2 + $trcpt3]" \
- "No tracepoint number [expr $trcpt2 + $trcpt3]." \
- "5.6: actions for invalid tracepoint number"
-
-# 5.7 invalid action (other than 'collect', 'while-stepping' or 'end')
-# "warning: .print gdb_c_test. is not a supported trace.*> $" \
-
-gdb_trace_setactions "5.7: invalid action" \
- "$trcpt1" \
- "print gdb_c_test" \
- "warning: .print gdb_c_test. is not a supported trace"
-
-# 5.8 help actions (collect, while-stepping, end)
-
-gdb_test "help actions" \
- "Specify the actions to be taken at a tracepoint.*" \
- "5.8a: help actions"
-
-gdb_test "help collect" \
- "Specify one or more data items to be collected at a tracepoint.*" \
- "5.8b: help collect"
-
-gdb_test "help while-stepping" \
- "Specify single-stepping behavior at a tracepoint.*" \
- "5.8c: help while-stepping"
-
-gdb_test "help end" "Ends a list of commands or actions.*" \
- "5.8d: help end"
-
diff --git a/gdb/testsuite/gdb.trace/backtrace.exp b/gdb/testsuite/gdb.trace/backtrace.exp
deleted file mode 100644
index e217f95..0000000
--- a/gdb/testsuite/gdb.trace/backtrace.exp
+++ /dev/null
@@ -1,376 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- load_lib "emc-support.exp";
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
- gdb_test "set remotetimeout 6" "" ""
- set timeout 500
- gdb_target_monitor "$binfile"
- # Give a TSTOP and ignore errors, to make sure any previous trace is off
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- send_gdb "compare-sections CS\n"
- gdb_expect {
- -re "MIS-MATCHED.*$gdb_prompt $" {
- gdb_suppress_entire_file "Symbol file does not match target!
- all tests in this module will fail.";
- }
- -re ".*$gdb_prompt $" { }
- }
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
- gdb_load $binfile
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- runto_main
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# We generously give ourselves one "pass" if we successfully
-# detect that this test cannot be run on this target!
-if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
- return 1;
-
-}
-
-#
-# test backtraces in trace frames
-#
-
-set testline1 0
-set testline2 0
-set testline3 0
-set testline4 0
-set testline5 0
-set testline6 0
-
-set arg1 1
-set arg2 2
-set arg3 3
-set arg4 4
-set arg5 5
-set arg6 6
-
-set baseline [gdb_find_recursion_test_baseline $srcfile];
-if { $baseline == -1 } {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-
-send_gdb "list $baseline, +12\n"
-gdb_expect {
- -re "\[\r\n\](\[0-9\]+).*gdbtestline 1 " {
- set testline1 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+).*gdbtestline 2 " {
- set testline2 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+).*gdbtestline 3 " {
- set testline3 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+).*gdbtestline 4 " {
- set testline4 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+).*gdbtestline 5 " {
- set testline5 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+).*gdbtestline 6 " {
- set testline6 $expect_out(1,string)
- exp_continue
- }
- -re ".*$gdb_prompt $" {
- if { ($testline1 == 0) || ($testline2 == 0) || ($testline3 == 0) || ($testline4 == 0) || ($testline5 == 0) || ($testline6 == 0) } {
- gdb_suppress_entire_file "failed to locate test source lines:
-all tests in this module will fail."
- }
- }
- default {
- gdb_suppress_entire_file "failed to locate test source lines (def):
-all tests in this module will fail."
- }
-}
-
-#
-# Setup backtrace experiment. This will involve:
-# 1) a tracepoint where nothing is collected
-# 2) a tracepoint where only regs are collected
-# 3) a tracepoint where regs, locals and args are collected
-# 4) a tracepoint where regs plus some amount of stack are collected.
-#
-
-gdb_delete_tracepoints
-set tdp2 [gdb_gettpnum $testline2]
-set tdp3 [gdb_gettpnum $testline3]
-set tdp4 [gdb_gettpnum $testline4]
-set tdp5 [gdb_gettpnum $testline5]
-set tdp6 [gdb_gettpnum $testline6]
-if { $tdp2 <= 0 || $tdp3 <= 0 || \
- $tdp4 <= 0 || $tdp5 <= 0 || $tdp6 <= 0 } then {
- fail "setting tracepoints failed"
- return;
-}
-
-#gdb_trace_setactions "setup TP to collect FP" \
-# "$tdp2" \
-# "collect \$fp" ""
-#
-
-gdb_trace_setactions "8.6: setup TP to collect regs" \
- "$tdp3" \
- "collect \$regs" "^$"
-
-gdb_trace_setactions "8.6: setup TP to collect regs, args, and locals" \
- "$tdp4" \
- "collect \$regs, \$args, \$locs" "^$"
-
-gdb_trace_setactions "8.6: setup TP to collect stack mem cast expr" \
- "$tdp6" \
- "collect \$fp, \(\*\(void \*\*\) \(\$sp\)\) @ 64" "^$"
-
-gdb_test "tstart" "" ""
-
-if [istarget "m68k-*-elf"] then {
- gdb_emclaptop_command "85,$arg1,$arg2,$arg3,$arg4,$arg5,$arg6"
- sleep 5
-} else {
- gdb_test "break end" "" ""
- gdb_test "continue" \
- "Continuing.*Breakpoint $decimal, end.*" \
- "run trace experiment"
-}
-
-gdb_test "tstop" "" ""
-
-proc gdb_backtrace_tdp_1 { msg } {
- global gdb_prompt
-
- # We are in a trace frame at which we didn't collect anything
- # except $PC. Therefore we expect to be able to identify stack
- # frame #0, but that's about all. In particular we do not expect
- # to be able to display the function's arguments or locals, and we
- # do not expect to be able to identify the caller of this function.
-
- send_gdb "backtrace\n"
- gdb_expect {
- -re "#0\[\t \]+gdb_recursion_test.*depth=.*$gdb_prompt $" {
- pass "$msg"
- }
- -re ".*$gdb_prompt $" {
- fail "$msg"
- }
- timeout { fail "$msg (timeout)" }
- }
-}
-
-proc gdb_backtrace_tdp_2 { msg } {
- global gdb_prompt
-
- # We are in a trace frame at which we collected only the registers
- # Therefore we expect to be able to identify stack frame #0, but
- # we don't expect to be able to display its args unles they are
- # passed in registers (which isn't the case for m68k), and we
- # don't expect to be able to identify the caller's stack frame.
-
- send_gdb "backtrace\n"
- gdb_expect {
- -re "#0\[\t \]+gdb_recursion_test.*depth=.*$gdb_prompt $" {
- pass "$msg"
- }
- -re ".*$gdb_prompt $" {
- fail "$msg"
- }
- timeout { fail "$msg (timeout)" }
- }
-}
-
-proc gdb_backtrace_tdp_3 { msg } {
- global gdb_prompt
-
- # We are in a trace frame at which we collected all registers, all
- # arguments and all locals. This means that the display of
- # stack frame #0 should be complete (including argument values).
-
- send_gdb "backtrace\n"
- gdb_expect {
- -re "#0\[\t \]+gdb_recursion_test.*depth=\[0-9\]+.*q1=\[0-9\]+.*q2=\[0-9\]+.*q3=\[0-9\]+.*q4=\[0-9\]+.*q5=\[0-9\]+.*q6=\[0-9\]+.*$gdb_prompt $" {
- pass "$msg"
- }
- -re "#0\[\t \]+gdb_recursion_test.*depth=Cannot access.*$gdb_prompt $" {
- fail "$msg (failed to collect arguments)"
- }
- -re ".*$gdb_prompt $" {
- fail "$msg"
- }
- timeout { fail "$msg (timeout)" }
- }
-}
-
-proc gdb_backtrace_tdp_4 { msg depth } {
- global gdb_prompt
-
- # We are in a trace frame at which we collected all registers,
- # plus a sizeable hunk of stack memory. This should enable us to
- # display at least several stack frames worth of backtrace. We'll
- # assume that if we can't display at least "depth" levels (with
- # args), it counts as an error.
-
- send_gdb "backtrace\n"
- gdb_expect {
- -re "#$depth\[\t \].*gdb_recursion_test.*depth=\[0-9\]+.*q1=\[0-9\]+.*q2=\[0-9\]+.*q3=\[0-9\]+.*q4=\[0-9\]+.*q5=\[0-9\]+.*q6=\[0-9\]+.*$gdb_prompt $" {
- pass "$msg"
- }
- -re "#$depth\[\t \].*gdb_recursion_test.*depth=.*$gdb_prompt $" {
- fail "$msg (args missing from #$depth stack frame)"
- }
- -re "#\[0-9\]+\[\t \].*gdb_recursion_test.*depth=.*$gdb_prompt $" {
- fail "$msg (fewer than $depth stack frames found)"
- }
- -re ".*$gdb_prompt $" {
- fail "$msg"
- }
- timeout { fail "$msg (timeout)" }
- }
-}
-
-#
-# begin backtrace test
-#
-
-set timeout 60
-
-gdb_tfind_test "init: make sure not debugging any trace frame" "none" "-1"
-
-gdb_tfind_test "8.6: find start frame" "start" "0"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp2:" ""
-gdb_backtrace_tdp_1 "8.6: Backtrace, depth == 1, collect nothing"
-
-gdb_tfind_test "8.6: find frame 1" "1" "1"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp3:" ""
-gdb_backtrace_tdp_2 "8.6: Backtrace, depth == 1, collect regs"
-
-gdb_tfind_test "8.6: find frame 2" "2" "2"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp4:" ""
-gdb_backtrace_tdp_3 "8.6: Backtrace, depth == 1, collect args and locals"
-
-
-gdb_tfind_test "8.6: find frame 4" "4" "4"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp6:" ""
-gdb_backtrace_tdp_4 "8.6: Backtrace, depth == 1, collect stack mem expr" "0"
-
-gdb_tfind_test "8.6: find frame 5" "5" "5"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp2:" ""
-gdb_backtrace_tdp_1 "8.6: Backtrace, depth == 2, collect nothing"
-
-gdb_tfind_test "8.6: find frame 6" "6" "6"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp3:" ""
-gdb_backtrace_tdp_2 "8.6: Backtrace, depth == 2, collect regs"
-
-gdb_tfind_test "8.6: find frame 7" "7" "7"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp4:" ""
-gdb_backtrace_tdp_3 "8.6: Backtrace, depth == 2, collect args and locals"
-
-
-gdb_tfind_test "8.6: find frame 9" "9" "9"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp6:" ""
-gdb_backtrace_tdp_4 "8.6: Backtrace, depth == 1, collect stack mem expr" "0"
-
-gdb_tfind_test "8.6: find frame 10" "10" "10"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp2:" ""
-gdb_backtrace_tdp_1 "8.6: Backtrace, depth == 3, collect nothing"
-
-gdb_tfind_test "8.6: find frame 11" "11" "11"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp3:" ""
-gdb_backtrace_tdp_2 "8.6: Backtrace, depth == 3, collect regs"
-
-gdb_tfind_test "8.6: find frame 12" "12" "12"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp4:" ""
-gdb_backtrace_tdp_3 "8.6: Backtrace, depth == 3, collect args and locals"
-
-
-gdb_tfind_test "8.6: find frame 14" "14" "14"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp6:" ""
-gdb_backtrace_tdp_4 "8.6: Backtrace, depth == 1, collect stack mem expr" "0"
-
-gdb_tfind_test "8.6: find frame 15" "15" "15"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp2:" ""
-gdb_backtrace_tdp_1 "8.6: Backtrace, depth == 4, collect nothing"
-
-gdb_tfind_test "8.6: find frame 16" "16" "16"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp3:" ""
-gdb_backtrace_tdp_2 "8.6: Backtrace, depth == 4, collect regs"
-
-gdb_tfind_test "8.6: find frame 17" "17" "17"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp4:" ""
-gdb_backtrace_tdp_3 "8.6: Backtrace, depth == 4, collect args and locals"
-
-
-gdb_tfind_test "8.6: find frame 19" "19" "19"
-gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \
- "TDP $tdp6:" ""
-gdb_backtrace_tdp_4 "8.6: Backtrace, depth == 1, collect stack mem expr" "0"
-
-gdb_test "printf \"x \%d x\\n\", depth == 3" \
- "x 0 x" \
- "1.13: trace in recursion: depth not equal to 3"
-
-# Finished!
-gdb_test "tfind none" "" ""
diff --git a/gdb/testsuite/gdb.trace/circ.c b/gdb/testsuite/gdb.trace/circ.c
deleted file mode 100644
index 98a2ce6..0000000
--- a/gdb/testsuite/gdb.trace/circ.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Test program for tracing; circular buffer
- */
-
-int n = 6;
-
-int testload[13];
-
-static void func0(void)
-{
-}
-
-static void func1(void)
-{
-}
-
-static void func2(void)
-{
-}
-
-static void func3(void)
-{
-}
-
-static void func4(void)
-{
-}
-
-static void func5(void)
-{
-}
-
-static void func6(void)
-{
-}
-
-static void func7(void)
-{
-}
-
-static void func8(void)
-{
-}
-
-static void func9(void)
-{
-}
-
-static void begin () /* called before anything else */
-{
-}
-
-static void end () /* called after everything else */
-{
-}
-
-int
-main (argc, argv, envp)
- int argc;
- char *argv[], **envp;
-{
- int i;
-
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
- begin ();
- for (i = 0; i < sizeof(testload) / sizeof(testload[0]); i++)
- testload[i] = i + 1;
-
- func0 ();
- func1 ();
- func2 ();
- func3 ();
- func4 ();
- func5();
- func6 ();
- func7 ();
- func8 ();
- func9 ();
-
- end ();
-
-#ifdef usestubs
- breakpoint ();
-#endif
- return 0;
-}
diff --git a/gdb/testsuite/gdb.trace/circ.exp b/gdb/testsuite/gdb.trace/circ.exp
deleted file mode 100644
index 2bfb7a6..0000000
--- a/gdb/testsuite/gdb.trace/circ.exp
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-if [istarget "m68k-*-elf"] then {
- pass "Test not supported on this target"
- return;
-}
-
-load_lib "trace-support.exp"
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-set testfile "circ"
-set srcfile ${testfile}.c
-set binfile $objdir/$subdir/$testfile
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-}
-
-# Tests:
-# 1) Set up a trace experiment that will collect approximately 10 frames,
-# requiring more than 512 but less than 1024 bytes of cache buffer.
-# (most targets should have at least 1024 bytes of cache buffer!)
-# Run and confirm that it collects all 10 frames.
-# 2) Artificially limit the trace buffer to 512 bytes, and rerun the
-# experiment. Confirm that the first several frames are collected,
-# but that the last several are not.
-# 3) Set trace buffer to circular mode, still with the artificial limit
-# of 512 bytes, and rerun the experiment. Confirm that the last
-# several frames are collected, but the first several are not.
-#
-
-# return 0 for success, 1 for failure
-proc run_trace_experiment { pass } {
- gdb_run_cmd
-
- if [gdb_test "tstart" \
- "\[\r\n\]*" \
- "start trace experiment, pass $pass"] then { return 1; }
- if [gdb_test "continue" \
- "Continuing.*Breakpoint \[0-9\]+, end.*" \
- "run to end, pass $pass"] then { return 1; }
- if [gdb_test "tstop" \
- "\[\r\n\]*" \
- "stop trace experiment, pass $pass"] then { return 1; }
- return 0;
-}
-
-# return 0 for success, 1 for failure
-proc set_a_tracepoint { func } {
- if [gdb_test "trace $func" \
- "Tracepoint \[0-9\]+ at .*" \
- "set tracepoint at $func"] then {
- return 1;
- }
- if [gdb_trace_setactions "set actions for $func" \
- "" \
- "collect testload" "^$"] then {
- return 1;
- }
- return 0;
-}
-
-# return 0 for success, 1 for failure
-proc setup_tracepoints { } {
- gdb_delete_tracepoints
- if [set_a_tracepoint func0] then { return 1; }
- if [set_a_tracepoint func1] then { return 1; }
- if [set_a_tracepoint func2] then { return 1; }
- if [set_a_tracepoint func3] then { return 1; }
- if [set_a_tracepoint func4] then { return 1; }
- if [set_a_tracepoint func5] then { return 1; }
- if [set_a_tracepoint func6] then { return 1; }
- if [set_a_tracepoint func7] then { return 1; }
- if [set_a_tracepoint func8] then { return 1; }
- if [set_a_tracepoint func9] then { return 1; }
- return 0;
-}
-
-# return 0 for success, 1 for failure
-proc trace_buffer_normal { } {
- if [gdb_test "maint packet QTBuffer:size:ffffffff" \
- "received: .OK." ""] then {
- pass "This test cannot be run on this target"
- return 1;
- }
- if [gdb_test "maint packet QTBuffer:circular:0" \
- "received: .OK." ""] then {
- pass "This test cannot be run on this target"
- return 1;
- }
- return 0;
-}
-
-# return 0 for success, 1 for failure
-proc gdb_trace_circular_tests { } {
-
- # We generously give ourselves one "pass" if we successfully
- # detect that this test cannot be run on this target!
- if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
- return 1;
- }
-
- if [trace_buffer_normal] then { return 1; }
-
- gdb_test "break begin" "" ""
- gdb_test "break end" "" ""
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
-
- if [setup_tracepoints] then { return 1; }
-
- # First, run the trace experiment with default attributes:
- # Make sure it behaves as expected.
- if [run_trace_experiment 1] then { return 1; }
- if [gdb_test "tfind start" \
- "#0 func0 .*" \
- "find frame zero, pass 1"] then { return 1; }
-
- if [gdb_test "tfind 9" \
- "#0 func9 .*" \
- "find frame nine, pass 1"] then { return 1; }
-
- if [gdb_test "tfind none" \
- "#0 end .*" \
- "quit trace debugging, pass 1"] then { return 1; }
-
- # Then, shrink the trace buffer so that it will not hold
- # all ten trace frames. Verify that frame zero is still
- # collected, but frame nine is not.
- if [gdb_test "maint packet QTBuffer:size:200" \
- "received: .OK." "shrink the target trace buffer"] then {
- return 1;
- }
- if [run_trace_experiment 2] then { return 1; }
- if [gdb_test "tfind start" \
- "#0 func0 .*" \
- "find frame zero, pass 2"] then { return 1; }
-
- if [gdb_test "tfind 9" \
- ".* failed to find .*" \
- "fail to find frame nine, pass 2"] then { return 1; }
-
- if [gdb_test "tfind none" \
- "#0 end .*" \
- "quit trace debugging, pass 2"] then { return 1; }
-
- # Finally, make the buffer circular. Now when it runs out of
- # space, it should wrap around and overwrite the earliest frames.
- # This means that:
- # 1) frame zero will be overwritten and therefore unavailable
- # 2) the earliest frame in the buffer will be other-than-zero
- # 3) frame nine will be available (unlike on pass 2).
- if [gdb_test "maint packet QTBuffer:circular:1" \
- "received: .OK." "make the target trace buffer circular"] then {
- return 1;
- }
- if [run_trace_experiment 3] then { return 1; }
- if [gdb_test "tfind start" \
- "#0 func\[1-9\] .*" \
- "first frame is NOT frame zero, pass 3"] then { return 1; }
-
- if [gdb_test "tfind 9" \
- "#0 func9 .*" \
- "find frame nine, pass 3"] then { return 1; }
-
- if [gdb_test "tfind none" \
- "#0 end .*" \
- "quit trace debugging, pass 3"] then { return 1; }
-
- return 0;
-}
-
-# Start with a fresh gdb.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load $binfile
-
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-# Body of test encased in a proc so we can return prematurely.
-if { ![gdb_trace_circular_tests] } then {
- # Set trace buffer attributes back to normal
- trace_buffer_normal;
-}
-
-# Finished!
-gdb_test "tfind none" "" ""
diff --git a/gdb/testsuite/gdb.trace/collection.c b/gdb/testsuite/gdb.trace/collection.c
deleted file mode 100644
index 3986332..0000000
--- a/gdb/testsuite/gdb.trace/collection.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Test program for trace collection
- */
-
-/*
- * Typedefs
- */
-
-typedef struct TEST_STRUCT {
- char memberc;
- int memberi;
- float memberf;
- double memberd;
-} test_struct;
-
-typedef int test_array [4];
-
-/*
- * Global variables to be collected
- */
-
-char globalc;
-int globali;
-float globalf;
-double globald;
-test_struct globalstruct;
-test_struct *globalp;
-int globalarr[16];
-
-/*
- * Additional globals used in arithmetic tests
- */
-
-signed char c0, c1, c2, c3, c4, c5, c6, c7,
- c8, c9, c10, c11, c12, c13, c14, c15, cminus;
-signed short s0, s1, s2, s3, s4, s5, s6, s7,
- s8, s9, s10, s11, s12, s13, s14, s15, sminus;
-signed long l0, l1, l2, l3, l4, l5, l6, l7,
- l8, l9, l10, l11, l12, l13, l14, l15, lminus;
-
-
-/*
- * Test functions
- */
-
-static void begin () /* called before anything else */
-{
-}
-
-static void end () /* called after everything else */
-{
-}
-
-/* Test collecting args. */
-int args_test_func (argc, argi, argf, argd, argstruct, argarray)
- char argc;
- int argi;
- float argf;
- double argd;
- test_struct argstruct;
- int argarray[4];
-{
- int i;
-
- i = (int) argc + argi + argf + argd + argstruct.memberi + argarray[1];
-
- return i;
-}
-
-/* Test collecting struct args. */
-int argstruct_test_func (argstruct)
- test_struct argstruct;
-{
- return (int) argstruct.memberc + argstruct.memberi +
- argstruct.memberf + argstruct.memberd;
-}
-
-/* Test collecting array args. */
-int argarray_test_func (argarray)
- int argarray[4];
-{
- return (int) argarray[0] + argarray[1] + argarray[2] + argarray[3];
-}
-
-
-
-int local_test_func () /* test collecting locals */
-{
- char locc = 11;
- int loci = 12;
- float locf = 13.3;
- double locd = 14.4;
- test_struct locst;
- int locar[4];
- int i;
-
- locst.memberc = 15;
- locst.memberi = 16;
- locst.memberf = 17.7;
- locst.memberd = 18.8;
- locar[0] = 121;
- locar[1] = 122;
- locar[2] = 123;
- locar[3] = 124;
-
- i = /* Set_Tracepoint_Here */
- (int) locc + loci + locf + locd + locst.memberi + locar[1];
-
- return i;
-}
-
-int reglocal_test_func () /* test collecting register locals */
-{
- register char locc = 11;
- register int loci = 12;
- register float locf = 13.3;
- register double locd = 14.4;
- register test_struct locst;
- register int locar[4];
- int i;
-
- locst.memberc = 15;
- locst.memberi = 16;
- locst.memberf = 17.7;
- locst.memberd = 18.8;
- locar[0] = 121;
- locar[1] = 122;
- locar[2] = 123;
- locar[3] = 124;
-
- i = /* Set_Tracepoint_Here */
- (int) locc + loci + locf + locd + locst.memberi + locar[1];
-
- return i;
-}
-
-int statlocal_test_func () /* test collecting static locals */
-{
- static char locc;
- static int loci;
- static float locf;
- static double locd;
- static test_struct locst;
- static int locar[4];
- int i;
-
- locc = 11;
- loci = 12;
- locf = 13.3;
- locd = 14.4;
- locst.memberc = 15;
- locst.memberi = 16;
- locst.memberf = 17.7;
- locst.memberd = 18.8;
- locar[0] = 121;
- locar[1] = 122;
- locar[2] = 123;
- locar[3] = 124;
-
- i = /* Set_Tracepoint_Here */
- (int) locc + loci + locf + locd + locst.memberi + locar[1];
-
- /* Set static locals back to zero so collected values are clearly special. */
- locc = 0;
- loci = 0;
- locf = 0;
- locd = 0;
- locst.memberc = 0;
- locst.memberi = 0;
- locst.memberf = 0;
- locst.memberd = 0;
- locar[0] = 0;
- locar[1] = 0;
- locar[2] = 0;
- locar[3] = 0;
-
- return i;
-}
-
-
-int globals_test_func ()
-{
- int i = 0;
-
- i += globalc + globali + globalf + globald;
- i += globalstruct.memberc + globalstruct.memberi;
- i += globalstruct.memberf + globalstruct.memberd;
- i += globalarr[1];
-
- return i; /* Set_Tracepoint_Here */
-}
-
-int
-main (argc, argv, envp)
- int argc;
- char *argv[], **envp;
-{
- int i = 0;
- test_struct mystruct;
- int myarray[4];
-
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
- begin ();
- /* Assign collectable values to global variables. */
- l0 = s0 = c0 = 0; l1 = s1 = c1 = 1;
- l2 = s2 = c2 = 2; l3 = s3 = c3 = 3;
- l4 = s4 = c4 = 4; l5 = s5 = c5 = 5;
- l6 = s6 = c6 = 6; l7 = s7 = c7 = 7;
- l8 = s8 = c8 = 8; l9 = s9 = c9 = 9;
- l10 = s10 = c10 = 10; l11 = s11 = c11 = 11;
- l12 = s12 = c12 = 12; l13 = s13 = c13 = 13;
- l14 = s14 = c14 = 14; l15 = s15 = c15 = 15;
- lminus = sminus = cminus = -2;
- globalc = 71;
- globali = 72;
- globalf = 73.3;
- globald = 74.4;
- globalstruct.memberc = 81;
- globalstruct.memberi = 82;
- globalstruct.memberf = 83.3;
- globalstruct.memberd = 84.4;
- globalp = &globalstruct;
-
- for (i = 0; i < 15; i++)
- globalarr[i] = i;
-
- mystruct.memberc = 101;
- mystruct.memberi = 102;
- mystruct.memberf = 103.3;
- mystruct.memberd = 104.4;
- myarray[0] = 111;
- myarray[1] = 112;
- myarray[2] = 113;
- myarray[3] = 114;
-
- /* Call test functions, so they can be traced and data collected. */
- i = 0;
- i += args_test_func (1, 2, 3.3, 4.4, mystruct, myarray);
- i += argstruct_test_func (mystruct);
- i += argarray_test_func (myarray);
- i += local_test_func ();
- i += reglocal_test_func ();
- i += statlocal_test_func ();
- i += globals_test_func ();
-
- /* Values of globals at end of test should be different from
- values that they had when trace data was captured. */
-
- l0 = s0 = c0 = 0; l1 = s1 = c1 = 0;
- l2 = s2 = c2 = 0; l3 = s3 = c3 = 0;
- l4 = s4 = c4 = 0; l5 = s5 = c5 = 0;
- l6 = s6 = c6 = 0; l7 = s7 = c7 = 0;
- l8 = s8 = c8 = 0; l9 = s9 = c9 = 0;
- l10 = s10 = c10 = 0; l11 = s11 = c11 = 0;
- l12 = s12 = c12 = 0; l13 = s13 = c13 = 0;
- l14 = s14 = c14 = 0; l15 = s15 = c15 = 0;
- lminus = sminus = cminus = 0;
-
- /* Set 'em back to zero, so that the collected values will be
- distinctly different from the "realtime" (end of test) values. */
-
- globalc = 0;
- globali = 0;
- globalf = 0;
- globald = 0;
- globalstruct.memberc = 0;
- globalstruct.memberi = 0;
- globalstruct.memberf = 0;
- globalstruct.memberd = 0;
- globalp = 0;
- for (i = 0; i < 15; i++)
- globalarr[i] = 0;
-
- end ();
- return 0;
-}
diff --git a/gdb/testsuite/gdb.trace/collection.exp b/gdb/testsuite/gdb.trace/collection.exp
deleted file mode 100644
index a6ac5d8..0000000
--- a/gdb/testsuite/gdb.trace/collection.exp
+++ /dev/null
@@ -1,623 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-if [istarget "m68k-*-elf"] then {
- pass "Test not supported on this target"
- return;
-}
-
-load_lib "trace-support.exp"
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-set testfile "collection"
-set srcfile ${testfile}.c
-set binfile $objdir/$subdir/$testfile
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-}
-
-# Tests:
-# 1) $args
-# 2) function args by name
-# 3) $locs
-# 4) function locals by name
-# 5) $regs
-# 6) registers by name ($sp, $fp?)
-# 7) globals by name
-# 8) expressions (lots of different kinds: local and global)
-
-set ws "\[\r\n\t \]+"
-set cr "\[\r\n\]+"
-
-#
-# Utility procs
-#
-
-proc test_register { reg test_id } {
- global cr
- global gdb_prompt
-
- send_gdb "print $reg\n"
- gdb_expect {
- -re "\\$\[0-9\]+ = \[x0\]+$cr$gdb_prompt " {
- fail "collect $test_id: collected $reg (zero)"
- }
- -re "\\$\[0-9\]+ = \[x0-9a-fA-F\]+$cr$gdb_prompt " {
- pass "collect $test_id: collected $reg"
- }
- -re "\[Ee\]rror.*$gdb_prompt " {
- fail "collect $test_id: collected $reg (error)"
- }
- timeout {
- fail "collect $test_id: collected $reg (timeout)"
- }
- }
-}
-
-proc run_trace_experiment { msg test_func } {
- gdb_run_cmd
- gdb_test "tstart" \
- "\[\r\n\]+" \
- "collect $msg: start trace experiment"
- gdb_test "continue" \
- "Continuing.*Breakpoint \[0-9\]+, end.*" \
- "collect $msg: run trace experiment"
- gdb_test "tstop" \
- "\[\r\n\]+" \
- "collect $msg: stop trace experiment"
- gdb_test "tfind start" \
- "#0 $test_func .*" \
- "collect $msg: tfind test frame"
-}
-
-
-#
-# Test procs
-#
-
-proc gdb_collect_args_test { myargs msg } {
- global cr
- global gdb_prompt
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- gdb_test "trace args_test_func" \
- "Tracepoint \[0-9\]+ at .*" \
- "collect $msg: set tracepoint"
- gdb_trace_setactions "collect $msg: define actions" \
- "" \
- "collect $myargs" "^$"
-
- # Begin the test.
- run_trace_experiment $msg args_test_func
-
- gdb_test "print argc" \
- "\\$\[0-9\]+ = 1 '.001'$cr" \
- "collect $msg: collected arg char"
- gdb_test "print argi" \
- "\\$\[0-9\]+ = 2$cr" \
- "collect $msg: collected arg int"
- gdb_test "print argf" \
- "\\$\[0-9\]+ = 3.\[23\]\[0-9\]*$cr" \
- "collect $msg: collected arg float"
- gdb_test "print argd" \
- "\\$\[0-9\]+ = 4.\[34\]\[0-9\]*$cr" \
- "collect $msg: collected arg double"
-
- # struct arg as one of several args (near end of list)
- gdb_test "print argstruct.memberc" \
- "\\$\[0-9\]+ = 101 'e'$cr" \
- "collect $msg: collected arg struct member char"
- gdb_test "print argstruct.memberi" \
- "\\$\[0-9\]+ = 102$cr" \
- "collect $msg: collected arg struct member int"
- gdb_test "print argstruct.memberf" \
- "\\$\[0-9\]+ = 103.\[23\]\[0-9\]*$cr" \
- "collect $msg: collected arg struct member float"
- gdb_test "print argstruct.memberd" \
- "\\$\[0-9\]+ = 104.\[34\]\[0-9\]*$cr" \
- "collect $msg: collected arg struct member double"
-
- # array arg as one of several args (near end of list)
- gdb_test "print argarray\[0\]" \
- "\\$\[0-9\]+ = 111$cr" \
- "collect $msg: collected argarray #0"
- gdb_test "print argarray\[1\]" \
- "\\$\[0-9\]+ = 112$cr" \
- "collect $msg: collected argarray #1"
- gdb_test "print argarray\[2\]" \
- "\\$\[0-9\]+ = 113$cr" \
- "collect $msg: collected argarray #2"
- gdb_test "print argarray\[3\]" \
- "\\$\[0-9\]+ = 114$cr" \
- "collect $msg: collected argarray #3"
-
- gdb_test "tfind none" \
- "#0 end .*" \
- "collect $msg: cease trace debugging"
-}
-
-proc gdb_collect_argstruct_test { myargs msg } {
- global cr
- global gdb_prompt
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- gdb_test "trace argstruct_test_func" \
- "Tracepoint \[0-9\]+ at .*" \
- "collect $msg: set tracepoint"
- gdb_trace_setactions "collect $msg: define actions" \
- "" \
- "collect $myargs" "^$"
-
- # Begin the test.
- run_trace_experiment $msg argstruct_test_func
-
- # struct argument as only argument
- gdb_test "print argstruct.memberc" \
- "\\$\[0-9\]+ = 101 'e'$cr" \
- "collect $msg: collected arg struct member char"
- gdb_test "print argstruct.memberi" \
- "\\$\[0-9\]+ = 102$cr" \
- "collect $msg: collected arg struct member int"
- gdb_test "print argstruct.memberf" \
- "\\$\[0-9\]+ = 103.\[23\]\[0-9\]*$cr" \
- "collect $msg: collected arg struct member float"
- gdb_test "print argstruct.memberd" \
- "\\$\[0-9\]+ = 104.\[34\]\[0-9\]*$cr" \
- "collect $msg: collected arg struct member double"
-
- gdb_test "tfind none" \
- "#0 end .*" \
- "collect $msg: cease trace debugging"
-}
-
-
-proc gdb_collect_argarray_test { myargs msg } {
- global cr
- global gdb_prompt
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- gdb_test "trace argarray_test_func" \
- "Tracepoint \[0-9\]+ at .*" \
- "collect $msg: set tracepoint"
- gdb_trace_setactions "collect $msg: define actions" \
- "" \
- "collect $myargs" "^$"
-
- # Begin the test.
- run_trace_experiment $msg argarray_test_func
-
- # array arg as only argument
- gdb_test "print argarray\[0\]" \
- "\\$\[0-9\]+ = 111$cr" \
- "collect $msg: collected argarray #0"
- gdb_test "print argarray\[1\]" \
- "\\$\[0-9\]+ = 112$cr" \
- "collect $msg: collected argarray #1"
- gdb_test "print argarray\[2\]" \
- "\\$\[0-9\]+ = 113$cr" \
- "collect $msg: collected argarray #2"
- gdb_test "print argarray\[3\]" \
- "\\$\[0-9\]+ = 114$cr" \
- "collect $msg: collected argarray #3"
-
- gdb_test "tfind none" \
- "#0 end .*" \
- "collect $msg: cease trace debugging"
-}
-
-
-proc gdb_collect_locals_test { func mylocs msg } {
- global cr
- global gdb_prompt
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- # Find the comment-identified line for setting this tracepoint.
- set testline 0
- send_gdb "list $func, +30\n"
- gdb_expect {
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+ Set_Tracepoint_Here .*$gdb_prompt" {
- set testline $expect_out(1,string)
- pass "collect $msg: find tracepoint line"
- }
- -re ".*$gdb_prompt " {
- fail "collect $msg: find tracepoint line (skipping locals test)"
- return
- }
- timeout {
- fail "collect $msg: find tracepoint line (skipping locals test)"
- return
- }
- }
-
- gdb_test "trace $testline" \
- "Tracepoint \[0-9\]+ at .*" \
- "collect $msg: set tracepoint"
- gdb_trace_setactions "collect $msg: define actions" \
- "" \
- "collect $mylocs" "^$"
-
- # Begin the test.
- run_trace_experiment $msg $func
-
- gdb_test "print locc" \
- "\\$\[0-9\]+ = 11 '.013'$cr" \
- "collect $msg: collected local char"
- gdb_test "print loci" \
- "\\$\[0-9\]+ = 12$cr" \
- "collect $msg: collected local int"
- gdb_test "print locf" \
- "\\$\[0-9\]+ = 13.\[23\]\[0-9\]*$cr" \
- "collect $msg: collected local float"
- gdb_test "print locd" \
- "\\$\[0-9\]+ = 14.\[34\]\[0-9\]*$cr" \
- "collect $msg: collected local double"
-
- gdb_test "print locst.memberc" \
- "\\$\[0-9\]+ = 15 '.017'$cr" \
- "collect $msg: collected local member char"
- gdb_test "print locst.memberi" \
- "\\$\[0-9\]+ = 16$cr" \
- "collect $msg: collected local member int"
- gdb_test "print locst.memberf" \
- "\\$\[0-9\]+ = 17.\[67\]\[0-9\]*$cr" \
- "collect $msg: collected local member float"
- gdb_test "print locst.memberd" \
- "\\$\[0-9\]+ = 18.\[78\]\[0-9\]*$cr" \
- "collect $msg: collected local member double"
-
- gdb_test "print locar\[0\]" \
- "\\$\[0-9\]+ = 121$cr" \
- "collect $msg: collected locarray #0"
- gdb_test "print locar\[1\]" \
- "\\$\[0-9\]+ = 122$cr" \
- "collect $msg: collected locarray #1"
- gdb_test "print locar\[2\]" \
- "\\$\[0-9\]+ = 123$cr" \
- "collect $msg: collected locarray #2"
- gdb_test "print locar\[3\]" \
- "\\$\[0-9\]+ = 124$cr" \
- "collect $msg: collected locarray #3"
-
-
- gdb_test "tfind none" \
- "#0 end .*" \
- "collect $msg: cease trace debugging"
-}
-
-proc gdb_collect_registers_test { myregs } {
- global cr
- global gdb_prompt
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- # We'll simply re-use the args_test_function for this test
- gdb_test "trace args_test_func" \
- "Tracepoint \[0-9\]+ at .*" \
- "collect $myregs: set tracepoint"
- gdb_trace_setactions "collect $myregs: define actions" \
- "" \
- "collect $myregs" "^$"
-
- # Begin the test.
- run_trace_experiment $myregs args_test_func
-
- test_register "\$fp" $myregs
- test_register "\$sp" $myregs
- test_register "\$pc" $myregs
-
- gdb_test "tfind none" \
- "#0 end .*" \
- "collect $myregs: cease trace debugging"
-}
-
-proc gdb_collect_expression_test { func expr val msg } {
- global cr
- global gdb_prompt
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- # Find the comment-identified line for setting this tracepoint.
- set testline 0
- send_gdb "list $func, +30\n"
- gdb_expect {
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+ Set_Tracepoint_Here .*$gdb_prompt" {
- set testline $expect_out(1,string)
- pass "collect $msg: find tracepoint line"
- }
- -re ".*$gdb_prompt " {
- fail "collect $msg: find tracepoint line (skipping locals test)"
- return
- }
- timeout {
- fail "collect $msg: find tracepoint line (skipping locals test)"
- return
- }
- }
-
- gdb_test "trace $testline" \
- "Tracepoint \[0-9\]+ at .*" \
- "collect $msg: set tracepoint"
- gdb_trace_setactions "collect $msg: define actions" \
- "" \
- "collect $expr" "^$"
-
- # Begin the test.
- run_trace_experiment $msg $func
-
- gdb_test "print $expr" \
- "\\$\[0-9\]+ = $val$cr" \
- "collect $msg: got expected value '$val'"
-
- gdb_test "tfind none" \
- "#0 end .*" \
- "collect $msg: cease trace debugging"
-}
-
-proc gdb_collect_globals_test { } {
- global cr
- global gdb_prompt
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- # Find the comment-identified line for setting this tracepoint.
- set testline 0
- send_gdb "list globals_test_func, +30\n"
- gdb_expect {
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+ Set_Tracepoint_Here .*$gdb_prompt" {
- set testline $expect_out(1,string)
- pass "collect globals: find tracepoint line"
- }
- -re ".*$gdb_prompt " {
- fail "collect globals: find tracepoint line (skipping global test)"
- return
- }
- timeout {
- fail "collect globals: find tracepoint line (skipping global test)"
- return
- }
- }
-
- gdb_test "trace $testline" \
- "Tracepoint \[0-9\]+ at .*" \
- "collect globals: set tracepoint"
- gdb_trace_setactions "collect globals: define actions" \
- "" \
- "collect globalc, globali, globalf, globald" "^$" \
- "collect globalstruct, globalp, globalarr" "^$"
-
- # Begin the test.
- run_trace_experiment "globals" globals_test_func
-
- gdb_test "print globalc" \
- "\\$\[0-9\]+ = 71 'G'$cr" \
- "collect globals: collected global char"
- gdb_test "print globali" \
- "\\$\[0-9\]+ = 72$cr" \
- "collect globals: collected global int"
- gdb_test "print globalf" \
- "\\$\[0-9\]+ = 73.\[23\]\[0-9\]*$cr" \
- "collect globals: collected global float"
- gdb_test "print globald" \
- "\\$\[0-9\]+ = 74.\[34\]\[0-9\]*$cr" \
- "collect globals: collected global double"
-
- gdb_test "print globalstruct.memberc" \
- "\\$\[0-9\]+ = 81 'Q'$cr" \
- "collect globals: collected struct char member"
- gdb_test "print globalstruct.memberi" \
- "\\$\[0-9\]+ = 82$cr" \
- "collect globals: collected struct member int"
- gdb_test "print globalstruct.memberf" \
- "\\$\[0-9\]+ = 83.\[23\]\[0-9\]*$cr" \
- "collect globals: collected struct member float"
- gdb_test "print globalstruct.memberd" \
- "\\$\[0-9\]+ = 84.\[34\]\[0-9\]*$cr" \
- "collect globals: collected struct member double"
-
- gdb_test "print globalp == &globalstruct" \
- "\\$\[0-9\]+ = 1$cr" \
- "collect globals: collected global pointer"
-
- gdb_test "print globalarr\[1\]" \
- "\\$\[0-9\]+ = 1$cr" \
- "collect globals: collected global array element #1"
- gdb_test "print globalarr\[2\]" \
- "\\$\[0-9\]+ = 2$cr" \
- "collect globals: collected global array element #2"
- gdb_test "print globalarr\[3\]" \
- "\\$\[0-9\]+ = 3$cr" \
- "collect globals: collected global array element #3"
-
- gdb_test "tfind none" \
- "#0 end .*" \
- "collect globals: cease trace debugging"
-}
-
-proc gdb_trace_collection_test { } {
- global gdb_prompt;
-
- gdb_test "set width 0" "" ""
- delete_breakpoints
-
- # We generously give ourselves one "pass" if we successfully
- # detect that this test cannot be run on this target!
- if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
- return 1;
- }
-
- gdb_test "break begin" "" ""
- gdb_test "break end" "" ""
- gdb_collect_args_test "\$args" \
- "args collectively"
- gdb_collect_args_test "argc, argi, argf, argd, argstruct, argarray" \
- "args individually"
- gdb_collect_argstruct_test "\$args" \
- "argstruct collectively"
- gdb_collect_argstruct_test "argstruct" \
- "argstruct individually"
- gdb_collect_argarray_test "\$args" \
- "argarray collectively"
- gdb_collect_argarray_test "argarray" \
- "argarray individually"
- gdb_collect_locals_test local_test_func "\$locals" \
- "auto locals collectively"
- gdb_collect_locals_test local_test_func \
- "locc, loci, locf, locd, locst, locar" \
- "auto locals individually"
- gdb_collect_locals_test reglocal_test_func "\$locals" \
- "register locals collectively"
- gdb_collect_locals_test reglocal_test_func \
- "locc, loci, locf, locd, locst, locar" \
- "register locals individually"
- gdb_collect_locals_test statlocal_test_func "\$locals" \
- "static locals collectively"
- gdb_collect_locals_test statlocal_test_func \
- "locc, loci, locf, locd, locst, locar" \
- "static locals individually"
-
- gdb_collect_registers_test "\$regs"
- gdb_collect_registers_test "\$fp, \$sp, \$pc"
- gdb_collect_globals_test
-
- #
- # Expression tests:
- #
- # *x (**x, ...)
- # x.y (x.y.z, ...)
- # x->y (x->y->z, ...)
- # x[2] (x[2][3], ...) (const index)
- # x[y] (x[y][z], ...) (index to be char, short, long, float, double)
- # NOTE:
- # We test the following operators by using them in an array index
- # expression -- because the naked result of an operator is not really
- # collected. To be sure the operator was evaluated correctly on the
- # target, we have to actually use the result eg. in an array offset
- # calculation.
- # x[y + z] (tests addition: y and z various combos of types, sclasses)
- # x[y - z] (tests subtraction) (ditto)
- # x[y * z] (tests multiplication) (ditto)
- # x[y / z] (tests division) (ditto)
- # x[y % z] (tests modulo division) (ditto)
- # x[y == z] (tests equality relation) (ditto) UNSUPPORTED
- # x[y != z] (tests inequality relation) (ditto) UNSUPPORTED
- # x[y > z] (tests greater-than relation) (ditto) UNSUPPORTED
- # x[y < z] (tests less-than relation) (ditto) UNSUPPORTED
- # x[y >= z] (tests greater-than-or-equal relation) (ditto) UNSUPPORTED
- # x[y <= z] (tests less-than-or-equal relation) (ditto) UNSUPPORTED
- # x[y && z] (tests logical and) (ditto) UNSUPPORTED
- # x[y || z] (tests logical or) (ditto) UNSUPPORTED
- # x[y & z] (tests binary and) (ditto) UNSUPPORTED
- # x[y | z] (tests binary or) (ditto) UNSUPPORTED
- # x[y ^ z] (tests binary xor) (ditto) UNSUPPORTED
- # x[y ? z1 : z2] (tests ternary operator) (ditto) UNSUPPORTED
- # x[y << z] (tests shift-left) (ditto) UNSUPPORTED
- # x[y >> z] (tests shift-right) (ditto) UNSUPPORTED
- # x[y = z] (tests assignment operator) (ditto) UNSUPPORTED
- # x[++y] (tests pre-increment operator) (ditto) UNSUPPORTED
- # x[--y] (tests pre-decrement operator) (ditto) UNSUPPORTED
- # x[y++] (tests post-increment operator) (ditto) UNSUPPORTED
- # x[y--] (tests post-decrement operator) (ditto) UNSUPPORTED
- # x[+y] (tests unary plus) (ditto)
- # x[-y] (tests unary minus) (ditto)
- # x[!y] (tests logical not) (ditto) UNSUPPORTED
- # x[~y] (tests binary not) (ditto) UNSUPPORTED
- # x[(y, z)] (tests comma expression) (ditto)
- # cast expr
- # stack data
-
- gdb_collect_expression_test globals_test_func \
- "globalstruct.memberi" "82" "a.b"
- gdb_collect_expression_test globals_test_func \
- "globalp->memberc" "81 'Q'" "a->b"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[2\]" "2" "a\[2\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[l3\]" "3" "a\[b\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[l3 + l2\]" "5" "a\[b + c\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[l3 - l2\]" "1" "a\[b - c\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[l3 * l2\]" "6" "a\[b * c\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[l6 / l3\]" "2" "a\[b / c\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[l7 % l3\]" "1" "a\[b % c\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[+l1\]" "1" "a\[+b\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[-lminus\]" "2" "a\[-b\]"
- gdb_collect_expression_test globals_test_func \
- "globalarr\[\(l6, l7\)\]" "7" "a\[\(b, c\)\]"
-
-}
-
-# Start with a fresh gdb.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load $binfile
-
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
-# Body of test encased in a proc so we can return prematurely.
-gdb_trace_collection_test
-
-# Finished!
-gdb_test "tfind none" "" ""
-
-
-
diff --git a/gdb/testsuite/gdb.trace/configure b/gdb/testsuite/gdb.trace/configure
deleted file mode 100755
index 4176205..0000000
--- a/gdb/testsuite/gdb.trace/configure
+++ /dev/null
@@ -1,899 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12.1
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.12.1"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=collection.c
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-CC=${CC-cc}
-
-ac_aux_dir=
-for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:573: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:594: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:612: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@CC@%$CC%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/gdb/testsuite/gdb.trace/configure.in b/gdb/testsuite/gdb.trace/configure.in
deleted file mode 100644
index 6d0eae2..0000000
--- a/gdb/testsuite/gdb.trace/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-dnl Process this file file with autoconf to produce a configure script.
-dnl This file is a shell script fragment that supplies the information
-dnl necessary to tailor a template configure script into the configure
-dnl script appropriate for this directory. For more information, check
-dnl any existing configure script.
-
-AC_PREREQ(2.5)
-AC_INIT(collection.c)
-
-CC=${CC-cc}
-AC_SUBST(CC)
-AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..)
-AC_CANONICAL_SYSTEM
-
-AC_OUTPUT(Makefile)
diff --git a/gdb/testsuite/gdb.trace/deltrace.exp b/gdb/testsuite/gdb.trace/deltrace.exp
deleted file mode 100644
index 58a69ba..0000000
--- a/gdb/testsuite/gdb.trace/deltrace.exp
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 1998, 1999 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-gdb_file_cmd $binfile
-
-# define relative source line numbers:
-# all subsequent line numbers are relative to this first one (baseline)
-set baseline [gdb_find_recursion_test_baseline $srcfile];
-if { $baseline == -1 } then {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-set testline1 [expr $baseline + 4]
-
-#
-# test "delete tracepoints" command
-#
-
-# 3.1 delete tracepoints (all)
-gdb_delete_tracepoints
-gdb_test "trace gdb_c_test" "Tracepoint \[0-9\]+ at .*" "set tracepoint 1"
-gdb_test "trace gdb_asm_test" "Tracepoint \[0-9\]+ at .*" "set tracepoint 2"
-gdb_test "trace $testline1" "Tracepoint \[0-9\]+ at .*" "set tracepoint 3"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_recursion_test.*" \
- "3.1a: set three tracepoints"
-
-send_gdb "delete tracepoints\n"
-gdb_expect 30 {
- -re "Delete all tracepoints.*y or n.*$" {
- send_gdb "y\n"
- gdb_expect 30 {
- -re "$gdb_prompt $" {
- pass "3.1b: delete all tracepoints"
- }
- timeout { fail "3.1b: delete all tracepoints (timeout)" }
- }
- }
- -re "$gdb_prompt $" { # This should only happen if there are no tracepoints
- fail "3.1b: delete all tracepoints (no tracepoints?)"
- }
- timeout { fail "3.1b: delete all tracepoints (timeout)" }
-}
-
-# 3.2 delete tracepoint <n>
-gdb_delete_tracepoints
-set trcpt1 [gdb_gettpnum gdb_c_test];
-set trcpt2 [gdb_gettpnum gdb_asm_test];
-set trcpt3 [gdb_gettpnum $testline1];
-if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {
- fail "setting tracepoints"
- return;
-}
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in.*gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in.*gdb_recursion_test.*" \
- "3.2a: set three tracepoints"
-
-#gdb_test "delete tracepoint $trcpt1" "" ""
-send_gdb "delete tracepoint $trcpt1\n"
-gdb_expect {
- -re "No tracepoint number.*$gdb_prompt $" {
- fail "3.2b: delete first tracepoint"
- }
- -re ".*\[Ee\]rror.*$gdb_prompt $" {
- fail "3.2b: delete first tracepoint"
- }
- -re "$gdb_prompt $" {
- pass "3.2b: delete first tracepoint"
- }
- timeout {
- fail "3.2b: delete first tracepoint (timeout)"
- }
-}
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "$trcpt1\[\t \]+y\[\t \]+0x.*in.*gdb_c_test.*$gdb_prompt $" {
- fail "3.2c: verify delete first tracepoint (argh)"
- }
- -re "$trcpt2\[\t \]+y.*gdb_asm_test.*\[\r\n\t ]+$trcpt3\[\t \]+y.* in gdb_recursion_test at .*$gdb_prompt $" {
- pass "3.2c: verify delete first tracepoint"
- }
- -re ".*$gdb_prompt $" {
- fail "3.2c: verify delete first tracepoint (mumble)"
- }
- timeout {
- fail "3.2c: verify delete first tracepoint (timeout)"
- }
-}
-
-#gdb_test "delete tracepoint $trcpt2" "" ""
-send_gdb "delete tracepoint $trcpt2\n"
-gdb_expect {
- -re "No tracepoint number.*$gdb_prompt $" {
- fail "3.2d: delete second tracepoint"
- }
- -re ".*\[Ee\]rror.*$gdb_prompt $" {
- fail "3.2d: delete second tracepoint"
- }
- -re "$gdb_prompt $" {
- pass "3.2d: delete second tracepoint"
- }
- timeout {
- fail "3.2d: delete second tracepoint (timeout)"
- }
-}
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "$trcpt1\[\t \]+y\[\t \]+0x.*in.*gdb_c_test.*$gdb_prompt $" {
- fail "3.2e: verify delete second tracepoint"
- }
- -re "$trcpt2\[\t \]+y\[\t \]+0x.*in gdb_asm_test.*$gdb_prompt $" {
- fail "3.2e: verify delete second tracepoint"
- }
- -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" {
- pass "3.2e: verify delete second tracepoint"
- }
- -re "$gdb_prompt $" {
- fail "3.2e: verify delete second tracepoint"
- }
- timeout {
- fail "3.2e: verify delete second tracepoint (timeout)"
- }
-}
-
-#gdb_test "delete tracepoint $trcpt3" "" ""
-send_gdb "delete tracepoint $trcpt3\n"
-gdb_expect {
- -re "No tracepoint number.*$gdb_prompt $" {
- fail "3.2f: delete third tracepoint"
- }
- -re ".*\[Ee\]rror.*$gdb_prompt $" {
- fail "3.2f: delete third tracepoint"
- }
- -re "$gdb_prompt $" {
- pass "3.2f: delete third tracepoint"
- }
- timeout {
- fail "3.2f: delete third tracepoint (timeout)"
- }
-}
-
-# send_gdb "ARF! \\n\n"
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" {
- fail "3.2g: verify delete third tracepoint"
- }
- -re "$gdb_prompt $" {
- pass "3.2g: verify delete third tracepoint"
- }
- timeout {
- fail "3.2g: verify delete third tracepoint (timeout)"
- }
-}
-
-# 3.3 delete three tracepoints at once
-gdb_delete_tracepoints
-set trcpt1 [gdb_gettpnum gdb_c_test];
-set trcpt2 [gdb_gettpnum gdb_asm_test];
-set trcpt3 [gdb_gettpnum $testline1];
-if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {
- fail "setting tracepoints"
- return;
-}
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_recursion_test.*" \
- "3.3a: set three tracepoints"
-
-#gdb_test "delete tracepoint $trcpt1 $trcpt2 $trcpt3" "" ""
-send_gdb "delete tracepoint $trcpt1 $trcpt2 $trcpt3\n"
-gdb_expect {
- -re "No tracepoint number.*$gdb_prompt $" {
- fail "3.3b: delete three tracepoints"
- }
- -re ".*\[Ee\]rror.*$gdb_prompt $" {
- fail "3.3b: delete three tracepoints"
- }
- -re "$gdb_prompt $" {
- pass "3.3b: delete three tracepoints"
- }
- timeout {
- fail "3.3b: delete three tracepoint (timeout)"
- }
-}
-
-send_gdb "info tracepoints\n"
-gdb_expect {
- -re "$trcpt1\[\t \]+y\[\t \]+0x.*in gdb_c_test.*$gdb_prompt $" {
- fail "3.3c: verify delete three tracepoints (first one persists)"
- }
- -re "$trcpt2\[\t \]+y\[\t \]+0x.*in gdb_asm_test.*$gdb_prompt $" {
- fail "3.3c: verify delete three tracepoints (second one persists)"
- }
- -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" {
- fail "3.3c: verify delete three tracepoints (third one persists)"
- }
- -re "$gdb_prompt $" {
- pass "3.3c: verify delete three tracepoints"
- }
- timeout {
- fail "3.3c: verify delete three tracepoints (timeout)"
- }
-}
-
-# 3.4 delete invalid tracepoint number
-gdb_test "delete tracepoint [expr $trcpt2 + $trcpt3]" \
- "No tracepoint number [expr $trcpt2 + $trcpt3]." \
- "3.4: delete invalid tracepoint number"
-
-# 3.5 delete tracepoint number zero
-gdb_test "delete tracepoint 0" "bad tracepoint number at or near '0'" \
- "3.5: delete tracepoint number zero"
-
-# 3.6 help delete tracepoints
-gdb_test "help delete tracepoints" \
- "Delete specified tracepoints.*" \
- "3.6: help delete tracepoints"
diff --git a/gdb/testsuite/gdb.trace/gdb_c_test.c b/gdb/testsuite/gdb.trace/gdb_c_test.c
deleted file mode 100644
index 03382c2..0000000
--- a/gdb/testsuite/gdb.trace/gdb_c_test.c
+++ /dev/null
@@ -1,3792 +0,0 @@
-/*
- ******************************************************************************
- ******************************************************************************
- *
- * COPYRIGHT (C) by EMC Corporation, 1997 All rights reserved.
- * $Id$
- * DESCRIPTION: This module has been provided for the purpose of testing GDB.
- *
- * NOTES:
- *
- ******************************************************************************
- *****************************************************************************/
-
-/*=============================================================================
- * INCLUDE FILES
- *===========================================================================*/
-
-
-#ifdef DO_IT_BY_THE_BOOK
-
-
-#include "symtypes_defs.h"
-#include "printp.h"
-
-#include "adbg_expression.h"
-#include "common_hw_ds.h"
-#include "common_hw_defs.h"
-#include "evnttrac.h"
-#include "sym_scratch_ds.h"
-#include "symglob_ds.h"
-#include "sym_protglob_ds.h"
-
-#include "ether.h"
-
-#include <ctype.h>
-
-
-#else
-
-#include "adbg_dtc.h"
-
-#define YES 1
-#define NO 0
-
-#define TRUE 1
-#define FALSE 0
-
-#define ENABLED 1
-#define DISABLED 0
-
-#define CONTROL_C 3 /* ASCII 'ETX' */
-
-
-/*
- * Faked after ctype.h
- */
-
-#define isxdigit(X) (((X) >= '0' && (X) <= '9') || \
- ((X) >= 'A' && (X) <= 'F') || \
- ((X) >= 'a' && (X) <= 'f'))
-/*
- * Borrowed from string.h
- */
-
-extern unsigned int strlen ( const char * );
-
-/*
- * Extracted from symtypes.h:
- */
-
-typedef char BOOL; /* 8 Bits */
-typedef unsigned char UCHAR; /* 8 Bits */
-typedef unsigned short USHORT; /* 16 Bits */
-typedef unsigned long ULONG; /* 32 Bits */
-
-/*
- * for struct t_expr_tag and
- * decl of build_and_add_expression
- */
-#include "adbg_expression.h"
-#define NULL 0
-
-/*
- * Extracted from printp.h:
- */
-
-extern void printp ( const char * fptr, ... );
-extern void sprintp ( const char * fptr, ... );
-
-/*
- * Extracted from ether.h:
- */
-
-extern long eth_to_gdb ( UCHAR *buf, long length );
-
-
-/*
- * Derived from hwequs.s:
- */
-
-#define CS_CODE_START 0x100000
-#define CS_CODE_SIZE 0x200000
-#define LAST_CS_WORD (CS_CODE_START + CS_CODE_SIZE - 2)
-
-#define sh_genstat1 (*((volatile ULONG *) 0xFFFFFE54))
-
-#define rs232_mode1 0 /* rs-232 mode 1 reg. */
-#define rs232_mode2 rs232_mode1 /* rs-232 mode 2 reg. */
-#define rs232_stat 4 /* rs-232 status reg. */
-#define rs232_clk rs232_stat /* rs-232 clock select reg. */
-#define rs232_cmd 8 /* rs-232 command reg */
-#define rs232_transmit 12 /* rs-232 transmit reg. */
-#define rs232_receive rs232_transmit /* rs-232 transmit reg. */
-#define rs232_aux 16 /* rs-232 aux control reg. */
-#define rs232_isr 20 /* rs-232 interrupt status reg. */
-#define rs232_imr rs232_isr /* rs-232 interrupt mask reg. */
-#define rs232_tc_high 24 /* rs-232 timer/counter high reg. */
-#define rs232_tc_low 28 /* rs-232 timer/counter low reg. */
-
-
-#endif
-
-
-/*============================================================================
- * MODULE DEFINES
- *===========================================================================*/
-
-#define P_RST_LAN_UART_REG ((volatile UCHAR *) 0xFFFFFE45)
-#define M_RST_LAN_UART 0x80 /* Bit 7 */
-
-#define P_LAN0TR_REG P_RST_LAN_UART_REG
-#define M_LAN0TR 0x20 /* Bit 5 */
-
-#define M_SH_GENCON_LAN0TR 0x00200000 /* Bit 21 */
-
-#define MAX_RS232_CHARS 512
-
-#define LAN_Q_MOD(X) ((X) % MAX_RS232_CHARS)
-
-/*---------------------------------------*
- * LAN UART Registers *
- *---------------------------------------*/
-
-#define LAN_UART_BASE ((ULONG) 0xfffffc22)
-
-/* Write-Read */
-
-#define P_LAN_MR1 ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_mode1 )))
-#define P_LAN_MR2 ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_mode2 )))
-
-/* Write-Only */
-
-#define P_LAN_ACR ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_aux )))
-#define P_LAN_CR ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_cmd )))
-#define P_LAN_CSR ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_clk )))
-#define P_LAN_CTLR ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_tc_low )))
-#define P_LAN_CTUR ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_tc_high )))
-#define P_LAN_IMR ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_imr )))
-
-/* Read-Only */
-
-#define P_LAN_SR ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_stat )))
-#define P_LAN_ISR ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_isr )))
-#define P_LAN_XMT ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_transmit)))
-#define P_LAN_RCV ((volatile UCHAR *) (LAN_UART_BASE + ((ULONG) rs232_receive )))
-
-/*
- * Bit Values for Write-Read and Write-Only Registers
- */
-
-#define DEFAULT_LAN_MR1 ((UCHAR) 0x13)
-#define DEFAULT_LAN_MR2 ((UCHAR) 0x07)
-#define DEFAULT_LAN_CSR ((UCHAR) 0xcc)
-#define DEFAULT_LAN_ACR ((UCHAR) 0x38)
-#define DEFAULT_LAN_CTUR ((UCHAR) 0xff)
-#define DEFAULT_LAN_CTLR ((UCHAR) 0xff)
-
-#define LAN_ACR_SELECT_BRG_0 DEFAULT_LAN_ACR
-#define LAN_ACR_SELECT_BRG_1 (DEFAULT_LAN_ACR | 0x80)
-
-#define UART_CR_RESET_MR_PTR ((UCHAR) 0x10) /* Reset MR pointer (points to MR1). */
-#define UART_CR_RESET_RVCR ((UCHAR) 0x20) /* Reset receiver (disabled). */
-#define UART_CR_RESET_XMTR ((UCHAR) 0x30) /* Reset transmitter (disabled). */
-#define UART_CR_RESET_ERROR_STATUS ((UCHAR) 0x40) /* Reset error status. */
-#define UART_CR_RESET_BRK_CHG_INT ((UCHAR) 0x50) /* Reset break change interrupt. */
-#define UART_CR_START_CNTR_TIMER ((UCHAR) 0x80) /* Start counter/timer. */
-#define UART_CR_STOP_CNTR ((UCHAR) 0x90) /* Stop counter. */
-
-#define UART_CR_DISABLE_XMTR ((UCHAR) 0x08) /* Disable transmitter. */
-#define UART_CR_ENABLE_XMTR ((UCHAR) 0x04) /* Enable transmitter. */
-#define UART_CR_DISABLE_RCVR ((UCHAR) 0x02) /* Disable receiver. */
-#define UART_CR_ENABLE_RCVR ((UCHAR) 0x01) /* Enable receiver. */
-
-#define UART_CSR_BR_4800 ((UCHAR) 0x99) /* With either BRG Set selected (via ACR). */
-#define UART_CSR_BR_9600 ((UCHAR) 0xbb) /* With either BRG Set selected (via ACR). */
-#define UART_CSR_BR_19200 ((UCHAR) 0xcc) /* With BRG Set '1' selected (via ACR). */
-#define UART_CSR_BR_38400 ((UCHAR) 0xcc) /* With BRG Set '0' selected (via ACR). */
-
-#define UART_IMR_RxRDY ((UCHAR) 0x04) /* Enable 'RxRDY' interrupt. */
-#define UART_IMR_TxEMT ((UCHAR) 0x02) /* Enable 'TxEMT' interrupt. */
-#define UART_IMR_TxRDY ((UCHAR) 0x01) /* Enable 'TxRDY' interrupt. */
-
-/*
- * Bit Masks for Read-Only Registers
- */
-
-#define M_UART_SR_RCVD_BRK 0x80 /* Bit 7 */
-#define M_UART_SR_FE 0x40 /* Bit 6 */
-#define M_UART_SR_PE 0x20 /* Bit 5 */
-#define M_UART_SR_OE 0x10 /* Bit 4 */
-#define M_UART_SR_TxEMT 0x08 /* Bit 3 */
-#define M_UART_SR_TxRDY 0x04 /* Bit 2 */
-#define M_UART_SR_FFULL 0x02 /* Bit 1 */
-#define M_UART_SR_RxRDY 0x01 /* Bit 0 */
-
-#define M_UART_ISR_RxRDY 0x04 /* Bit 2 */
-#define M_UART_ISR_TxEMT 0x02 /* Bit 1 */
-#define M_UART_ISR_TxRDY 0x01 /* Bit 0 */
-
-/*---------------------------------------*
- * Support for 'Utility 83'. *
- *---------------------------------------*/
-
-#define LAN_UTIL_CODE 0x83
-
-#define LAN_INIT ((ULONG) (('I' << 24) | ('N' << 16) | ('I' << 8) | 'T'))
-#define LAN_BAUD ((ULONG) (('B' << 24) | ('A' << 16) | ('U' << 8) | 'D'))
-#define LAN_INTR ((ULONG) (('I' << 24) | ('N' << 16) | ('T' << 8) | 'R'))
-#define LAN_XMT ((ULONG) (('X' << 16) | ('M' << 8) | 'T'))
-#define LAN_ECHO ((ULONG) (('E' << 24) | ('C' << 16) | ('H' << 8) | 'O'))
-#define LAN_STAT ((ULONG) (('S' << 24) | ('T' << 16) | ('A' << 8) | 'T'))
-#define LAN_IN ((ULONG) (('I' << 8) | 'N'))
-#define LAN_OUT ((ULONG) (('O' << 16) | ('U' << 8) | 'T'))
-
-#define LAN_PUTC ((ULONG) (('P' << 24) | ('U' << 16) | ('T' << 8) | 'C'))
-#define LAN_WPM ((ULONG) (('W' << 16) | ('P' << 8) | 'M'))
-
-#define STATUS(X) ( ( ( X ) == 0 ) ? "disabled" : "enabled" )
-
-#define XMT_VIA_BP_ENABLED() ( *P_LAN0TR_REG & M_LAN0TR ? 1 : 0 )
-
-#define TRAP_1_INST 0x4E41
-
-/*
- * Bit #13 of shared genstat 1 indicates
- * which processor we are as follows.
- *
- * 0 => X (side A)
- * 1 => Y (side B)
- */
-
-#define M_PROC_ID 0x00002000
-
-#define IS_SIDE_A() ( ( (sh_genstat1) & M_PROC_ID ) == 0 )
-#define IS_SIDE_B() ( (sh_genstat1) & M_PROC_ID )
-
-
-#ifdef STANDALONE /* Compile this module stand-alone for debugging */
-#define LAN_PUT_CHAR(X) printf("%c", X)
-#else
-#define LAN_PUT_CHAR(X) while ( lan_put_char( X ) )
-#endif
-
-
-
-
-#define VIA_RS232 0
-#define VIA_ETHERNET 1
-
-#define MAX_IO_BUF_SIZE 400
-
-#define MAX_BYTE_CODES 200 /* maximum length for bytecode string */
-
-
-static ULONG gdb_host_comm;
-
-static ULONG gdb_cat_ack;
-
-static char eth_outbuffer[ MAX_IO_BUF_SIZE + 1 ];
-
-
-#ifdef STANDALONE
-
-#define ACK_PKT() LAN_PUT_CHAR( '+' )
-#define NACK_PKT() LAN_PUT_CHAR( '-' )
-
-#else
-
-#define ACK_PKT() { \
- if ( VIA_ETHERNET == gdb_host_comm ) \
- { \
- gdb_cat_ack = YES; \
- } \
- else \
- { \
- LAN_PUT_CHAR( '+' ); \
- } \
- }
-
-
-
-#define NACK_PKT() { \
- if ( VIA_ETHERNET == gdb_host_comm ) \
- { \
- eth_outbuffer[ 0 ] = '-'; \
- eth_to_gdb( (UCHAR *) eth_outbuffer, 1 ); \
- } \
- else \
- { \
- LAN_PUT_CHAR( '-' ); \
- } \
- }
-
-#endif
-
-
-
-
-/*============================================================================
- * MODULE TYPEDEFS
- *===========================================================================*/
-
-typedef struct rs232_queue {
-
- long head_index;
-
- long tail_index;
-
- ULONG overflows;
-
- long gdb_packet_start;
- long gdb_packet_end;
- long gdb_packet_csum1;
- long gdb_packet_csum2;
-
- UCHAR buf[ MAX_RS232_CHARS ];
-
-} T_RS232_QUEUE;
-
-
-
-
-/*=============================================================================
- * EXTERNAL GLOBAL VARIABLES
- *===========================================================================*/
-
-extern volatile UCHAR sss_trace_flag;
-
-
-/*=============================================================================
- * STATIC MODULE DECLARATIONS
- *===========================================================================*/
-
-static T_RS232_QUEUE lan_input_queue,
- lan_output_queue;
-
-static BOOL test_echo;
-
-#if 0
-/* The stub no longer seems to use this. */
-static BOOL write_access_enabled;
-#endif
-
-static int baud_rate_idx;
-
-static ULONG tx_by_intr,
- tx_by_poll;
-
-static UCHAR lan_shadow_imr;
-
-
-/*=============================================================================
- * EXTERNAL FUNCTION PROTOTYPES
- *===========================================================================*/
-
-extern long write_to_protected_mem( void *address, unsigned short value );
-
-
-/*=============================================================================
- * MODULE GLOBAL FUNCTIONS PROTOTYPES
- *===========================================================================*/
-
-ULONG gdb_c_test( ULONG *parm );
-
-
-void lan_init( void );
-
-void lan_isr( void );
-
-long lan_get_char( void );
-
-long lan_put_char( UCHAR c );
-
-ULONG lan_util( ULONG *parm );
-
-
-/*=============================================================================
- * MODULE LOCAL FUNCTION PROTOTYPES
- *===========================================================================*/
-
-static void lan_reset( void );
-
-static void lan_configure( void );
-
-static void lan_init_queue( T_RS232_QUEUE *p_queue );
-
-static void lan_add_to_queue( long c, T_RS232_QUEUE *p_queue );
-
-static UCHAR lan_next_queue_char( T_RS232_QUEUE *p_queue );
-
-static void lan_util_menu( void );
-
-static long get_gdb_input( long c, T_RS232_QUEUE *p_input_q );
-
-
-/*=============================================================================
- * GDB STUB FUNCTION PROTOTYPES
- *===========================================================================*/
-
-void gdb_trap_1_handler( void );
-void gdb_trace_handler ( void );
-
-void gdb_get_eth_input( unsigned char *buf, long length );
-
-static void getpacket ( void );
-static void putpacket ( char * );
-static void discard_packet ( void );
-
-#ifdef STANDALONE /* Compile this module stand-alone for debugging */
-#include <stdio.h>
-#define printp printf /* easier than declaring a local varargs stub func. */
-#endif /* STANDALONE */
-
-
-/*=============================================================================
- * MODULE BODY
- *===========================================================================*/
-
-/* ------------------- Things that belong in a header file --------------- */
-extern char *memset (char *, int, int);
-
- /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
- * *
- * Global Module Functions *
- * *
- *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
-
-
-static char gdb_char_test;
-static short gdb_short_test;
-static long gdb_long_test;
-static char gdb_arr_test[25];
-static struct GDB_STRUCT_TEST
-{
- char c;
- short s;
- long l;
- int bfield : 11; /* collect bitfield */
- char arr[25];
- struct GDB_STRUCT_TEST *next;
-} gdb_struct1_test, gdb_struct2_test, *gdb_structp_test, **gdb_structpp_test;
-
-static union GDB_UNION_TEST
-{
- char c;
- short s;
- long l;
- int bfield : 11; /* collect bitfield */
- char arr[4];
- union GDB_UNION_TEST *next;
-} gdb_union1_test;
-
-void gdb_recursion_test (int, int, int, int, int, int, int);
-
-void gdb_recursion_test (int depth,
- int q1,
- int q2,
- int q3,
- int q4,
- int q5,
- int q6)
-{ /* gdb_recursion_test line 0 */
- int q = q1; /* gdbtestline 1 */
-
- q1 = q2; /* gdbtestline 2 */
- q2 = q3; /* gdbtestline 3 */
- q3 = q4; /* gdbtestline 4 */
- q4 = q5; /* gdbtestline 5 */
- q5 = q6; /* gdbtestline 6 */
- q6 = q; /* gdbtestline 7 */
- if (depth--) /* gdbtestline 8 */
- gdb_recursion_test (depth, q1, q2, q3, q4, q5, q6); /* gdbtestline 9 */
-}
-
-
-ULONG gdb_c_test( ULONG *parm )
-
-{
- char *p = "gdb_c_test";
- char *ridiculously_long_variable_name_with_equally_long_string_assignment;
- register long local_reg = 7;
- static unsigned long local_static, local_static_sizeof;
- long local_long;
- unsigned long *stack_ptr;
- unsigned long end_of_stack;
-
- ridiculously_long_variable_name_with_equally_long_string_assignment =
- "ridiculously long variable name with equally long string assignment";
- local_static = 9;
- local_static_sizeof = sizeof (struct GDB_STRUCT_TEST);
- local_long = local_reg + 1;
- stack_ptr = (unsigned long *) &local_long;
- end_of_stack =
- (unsigned long) &stack_ptr + sizeof(stack_ptr) + sizeof(end_of_stack) - 1;
-
- printp ("\n$Id$\n");
-
- printp( "%s: arguments = %X, %X, %X, %X, %X, %X\n",
- p, parm[ 1 ], parm[ 2 ], parm[ 3 ], parm[ 4 ], parm[ 5 ], parm[ 6 ] );
-
- gdb_char_test = gdb_struct1_test.c = (char) ((long) parm[1] & 0xff);
- gdb_short_test = gdb_struct1_test.s = (short) ((long) parm[2] & 0xffff);
- gdb_long_test = gdb_struct1_test.l = (long) ((long) parm[3] & 0xffffffff);
- gdb_union1_test.l = (long) parm[4];
- gdb_arr_test[0] = gdb_struct1_test.arr[0] = (char) ((long) parm[1] & 0xff);
- gdb_arr_test[1] = gdb_struct1_test.arr[1] = (char) ((long) parm[2] & 0xff);
- gdb_arr_test[2] = gdb_struct1_test.arr[2] = (char) ((long) parm[3] & 0xff);
- gdb_arr_test[3] = gdb_struct1_test.arr[3] = (char) ((long) parm[4] & 0xff);
- gdb_arr_test[4] = gdb_struct1_test.arr[4] = (char) ((long) parm[5] & 0xff);
- gdb_arr_test[5] = gdb_struct1_test.arr[5] = (char) ((long) parm[6] & 0xff);
- gdb_struct1_test.bfield = 144;
- gdb_struct1_test.next = &gdb_struct2_test;
- gdb_structp_test = &gdb_struct1_test;
- gdb_structpp_test = &gdb_structp_test;
-
- gdb_recursion_test (3, (long) parm[1], (long) parm[2], (long) parm[3],
- (long) parm[4], (long) parm[5], (long) parm[6]);
-
- gdb_char_test = gdb_short_test = gdb_long_test = 0;
- gdb_structp_test = (void *) 0;
- gdb_structpp_test = (void *) 0;
- memset ((char *) &gdb_struct1_test, 0, sizeof (gdb_struct1_test));
- memset ((char *) &gdb_struct2_test, 0, sizeof (gdb_struct2_test));
- local_static_sizeof = 0;
- local_static = 0;
- return ( (ULONG) 0 );
-}
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_init
- *
- *
- * DESCRIPTION:
- *
- *
- * RETURN VALUE:
- *
- *
- * USED GLOBAL VARIABLES:
- *
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- *
- * NOTES:
- *
- *
- *
- *---------------------------------------------------------------------------*/
-
-void lan_init( void )
-
-{
-
- if ( IS_SIDE_A( ) )
- {
-
- lan_reset( );
-
- lan_init_queue( &lan_input_queue );
-
- lan_init_queue( &lan_output_queue );
-
- lan_configure( );
- }
-
- return;
-}
-/* end of 'lan_init'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_isr
- *
- *
- * DESCRIPTION:
- *
- *
- * RETURN VALUE: None.
- *
- *
- * USED GLOBAL VARIABLES:
- *
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- *
- * NOTES:
- *
- *
- *---------------------------------------------------------------------------*/
-
-void lan_isr( void )
-
-{
- UCHAR c;
-
-
- lan_shadow_imr = 0; /* Disable all UART interrupts. */
- *P_LAN_IMR = lan_shadow_imr;
-
-
- if ( *P_LAN_ISR & M_UART_ISR_RxRDY )
- {
-
- gdb_host_comm = VIA_RS232;
-
- c = *P_LAN_RCV;
-
- if ( test_echo )
- {
- /* ????? */
- }
-
- if ( c == CONTROL_C )
- {
- /* can't stop the target, but we can tell gdb to stop waiting... */
- discard_packet( );
- putpacket( "S03" ); /* send back SIGINT to the debugger */
- }
-
- else
- {
- lan_add_to_queue( (long) c, &lan_input_queue );
- get_gdb_input( (long) c, &lan_input_queue );
- }
-
- }
-
- if ( XMT_VIA_BP_ENABLED( ) )
- {
-
- c = 0;
-
- while ( (*P_LAN_ISR & M_UART_ISR_TxRDY) && (c = lan_next_queue_char( &lan_output_queue )) )
- {
- *P_LAN_XMT = c;
- ++tx_by_intr;
- }
-
- if ( c )
- {
- lan_shadow_imr |= UART_IMR_TxRDY; /* (Re-)Enable 'TxRDY' interrupt from UART. */
- }
-
- }
-
-
- lan_shadow_imr |= UART_IMR_RxRDY; /* Re-Enable 'RxRDY' interrupt from UART. */
- *P_LAN_IMR = lan_shadow_imr;
-
-
-
- return;
-}
-/* end of 'lan_isr'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_get_char
- *
- *
- * DESCRIPTION: Fetches a character from the UART.
- *
- *
- * RETURN VALUE: 0 on success, -1 on failure.
- *
- *
- * USED GLOBAL VARIABLES:
- *
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- *
- * NOTES:
- *
- *
- *---------------------------------------------------------------------------*/
-
-long lan_get_char( void )
-
-{
- long status = -2; /* AGD: nothing found in rcv buffer */
-
- if ( *P_LAN_SR & M_UART_SR_RxRDY )
- {
- char c = (char) *P_LAN_RCV;
-
- if ( test_echo )
- {
- LAN_PUT_CHAR ( c );
- }
-
- if ( c == CONTROL_C )
- {
- /* can't stop the target, but we can tell gdb to stop waiting... */
- discard_packet( );
- putpacket( "S03" ); /* send back SIGINT to the debugger */
- status = 0; /* success */
- }
-
- else
- {
- lan_add_to_queue( (long) c, &lan_input_queue );
- status = get_gdb_input( (long) c, &lan_input_queue );
- }
-
- }
-
- return( status );
-}
-/* end of 'lan_get_char'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_put_char
- *
- * DESCRIPTION: Puts a character out via the UART.
- *
- * RETURN VALUE: 0 on success, -1 on failure.
- *
- * USED GLOBAL VARIABLES: none.
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- * NOTES: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- * !! !!
- * !! If 'XMT_VIA_BP_ENABLED()' is FALSE then output is THROWN AWAY. !!
- * !! This prevents anyone infinite-looping on this function. !!
- * !! !!
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- *---------------------------------------------------------------------------*/
-
-long lan_put_char( UCHAR c )
-
-{
- long status = -1;
-
- if ( XMT_VIA_BP_ENABLED( ) )
- {
-
- if ( *P_LAN_SR & M_UART_SR_TxRDY )
- {
- lan_add_to_queue( (long) c, &lan_output_queue );
-
- c = lan_next_queue_char( &lan_output_queue );
-
- *P_LAN_XMT = c;
- ++tx_by_poll;
- status = 0;
- }
-#if 0
- else
- {
- status = 0;
- lan_shadow_imr |= UART_IMR_TxRDY; /* Enable 'TxRDY' interrupt from UART. */
- *P_LAN_IMR = lan_shadow_imr;
- }
-#endif
- }
-
- else
- {
- status = 0; /* You lose: input character goes to the bit bucket. */
- }
-
- return( status );
-}
-/* end of 'lan_put_char'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_util
- *
- * DESCRIPTION:
- *
- * RETURN VALUE:
- *
- * USED GLOBAL VARIABLES:
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- * NOTES:
- *
- *---------------------------------------------------------------------------*/
-
-ULONG lan_util( ULONG *parm )
-
-{
-
-
- static const struct {
-
- ULONG rate_code;
- UCHAR acr_setting;
- UCHAR csr_setting;
-
- } baud_rate_setting [] = {
-
- { 0x38400, LAN_ACR_SELECT_BRG_0, UART_CSR_BR_38400 },
- { 0x19200, LAN_ACR_SELECT_BRG_1, UART_CSR_BR_19200 },
- { 0x9600, LAN_ACR_SELECT_BRG_0, UART_CSR_BR_9600 },
- { 0x4800, LAN_ACR_SELECT_BRG_0, UART_CSR_BR_4800 }
- };
-
-
-#define BOGUS_P1 0xE1
-#define BOGUS_P2 0xE2
-
- ULONG not_done_code;
-
-
- ULONG opcode;
- ULONG parm_1;
- ULONG parm_2;
-
- int i;
- UCHAR c;
-
-
- not_done_code = 0;
-
- opcode = parm[ 1 ];
- parm_1 = parm[ 2 ];
- parm_2 = parm[ 3 ];
-
-
- switch ( opcode )
- {
-
- case LAN_INIT:
- {
-
- lan_init( );
- printp( "\n\n Interface (Re)Initialized ...\n\n" );
-
- break;
- }
-
-
- case LAN_BAUD:
- {
-
- for ( i = 0; i < (int)(sizeof(baud_rate_setting) / sizeof(baud_rate_setting[0])); i ++ )
- {
- if ( baud_rate_setting[i].rate_code == parm_1 )
- {
- baud_rate_idx = i;
- *P_LAN_ACR = baud_rate_setting[i].acr_setting;
- *P_LAN_CSR = baud_rate_setting[i].csr_setting;
- printp ( "Baud rate set to %X!\n", baud_rate_setting[i].rate_code );
- return( not_done_code );
- }
- }
-
- printp( "\n\n *** SYNTAX Error - Invalid baudrate (P2)\n\n" );
- not_done_code = BOGUS_P2;
-
- break;
- }
-
-
- case LAN_INTR:
- {
-
- switch ( parm_1 )
- {
-
- case 0x0D: /* Disable 'RxRDY' Interrupts */
- {
- lan_shadow_imr &= ~UART_IMR_RxRDY;
- *P_LAN_IMR = lan_shadow_imr;
- printp( "\n\n Receive Ready Interrupts DISABLED ...\n\n" );
- break;
- }
-
- case 0x0E: /* Enable 'RxRDY' Interrupts */
- {
- lan_shadow_imr |= UART_IMR_RxRDY;
- *P_LAN_IMR = lan_shadow_imr;
- printp( "\n\n Receive Ready Interrupts ENABLED ...\n\n" );
- break;
- }
-
- default:
- {
- printp( "\n\n *** SYNTAX Error - Invalid P2 (use D or E)\n\n" );
- not_done_code = BOGUS_P2;
- }
- }
-
- break;
- }
-
-
- case LAN_XMT:
- {
-
- switch ( parm_1 )
- {
-
- case 0x0E: /* Enable Transmission-via-Backplane */
- {
- if ( !(*P_LAN0TR_REG & M_LAN0TR) )
- {
- *P_LAN0TR_REG |= M_LAN0TR; /* 0 -> 1 */
- }
-
- printp( "\n\n Transmit-via-Backplane ENABLED ...\n\n" );
- break;
- }
-
- case 0x0D: /* Disable Transmission-via-Backplane */
- {
- if ( *P_LAN0TR_REG & M_LAN0TR )
- {
- *P_LAN0TR_REG &= ~M_LAN0TR; /* 1 -> 0 */
- }
-
- printp( "\n\n Transmit-via-Backplane DISABLED ...\n\n" );
- break;
- }
-
- default:
- {
- printp( "\n\n *** SYNTAX Error - Invalid P2 (use D or E)\n\n" );
- not_done_code = BOGUS_P2;
- lan_util_menu( );
- }
- }
-
- break;
- }
-
-
- case LAN_STAT:
- {
-
- printp( "\n -- Status --\n\n" );
-
- printp( " Baud Rate: %X *\n", baud_rate_setting[ baud_rate_idx ].rate_code );
- printp( " Xmt-via-BP: %s *\n", STATUS( XMT_VIA_BP_ENABLED( ) ) );
- printp( " RxRdy Intr: %s *\n", STATUS( (lan_shadow_imr & M_UART_ISR_RxRDY) ) );
- /*** printp( " TxRdy Intr: %s\n", STATUS( (lan_shadow_imr & M_UART_ISR_TxRDY) ) ); ***/
- printp( " Echo: %s *\n\n", STATUS( test_echo ) );
-
- printp( " IMR: %02X\n", (ULONG) lan_shadow_imr );
- printp( " ISR: %02X\n", (ULONG) *P_LAN_ISR );
- printp( " SR: %02X\n\n", (ULONG) *P_LAN_SR );
-
- printp( " Input Overflows: %d\n\n", lan_input_queue.overflows );
-
- printp( " Tx by Intr: %d\n", tx_by_intr );
- printp( " Tx by Poll: %d\n\n", tx_by_poll );
-
- printp( " * Can be set or toggled via Utility %2X.\n\n", (ULONG) LAN_UTIL_CODE );
-
- break;
- }
-
-
- case LAN_IN:
- {
-
- switch ( parm_1 )
- {
-
- case 0x0C: /* Clear and Reset Queue */
- {
- lan_init_queue( &lan_input_queue );
- printp( "\n\n Queue CLEARED/RESET ...\n\n" );
- break;
- }
-
- case 0x0D: /* Display Queue */
- {
- printp( "\n -- Input Queue --\n" );
- printp( "\n Head Index: %8X Tail Index: %8X\n\n ",
- (ULONG) lan_input_queue.head_index, (ULONG) lan_input_queue.tail_index );
-
- for ( i = 0; i < MAX_RS232_CHARS; ++i )
- {
- printp( " %02X", (ULONG) lan_input_queue.buf[ i ] );
-
- if ( 15 == (i % 16) )
- {
- int j;
-
- printp ( " " );
- for ( j = i - 15; j <= i; j++ )
- {
- if ( lan_input_queue.buf[ j ] >= ' ' &&
- lan_input_queue.buf[ j ] < 127 )
- printp ( "%c", lan_input_queue.buf[ j ] );
- else
- printp ( "." );
- }
- printp( "\n " );
- }
-
- else if ( 7 == (i % 8) )
- {
- printp( " " );
- }
-
- }
-
- printp( "\n" );
-
- break;
- }
-
- case 0x0F: /* Fetch next character in Queue */
- {
- c = lan_next_queue_char( &lan_input_queue );
-
- if ( c )
- {
- printp( "\n\n Next Character: " );
- if ( 0x21 <= c && c <= 0x7F )
- {
- printp( "%c\n\n", (ULONG) c );
- }
-
- else if ( 0x20 == ((UCHAR) c) )
- {
- printp( "<space>\n\n" );
- }
-
- else
- {
- printp( "%02X\n\n", (ULONG) c );
- }
- }
-
- else
- {
- printp( "\n\n Input Queue EMPTY ...\n\n" );
- }
-
- break;
- }
-
- default:
- {
- printp( "\n\n *** SYNTAX Error - Invalid P2 ...\n\n" );
- not_done_code = BOGUS_P2;
- break;
- }
- }
-
- break;
- }
-
-
- case LAN_OUT:
- {
-
- switch ( parm_1 )
- {
-
- case 0x0C: /* Clear and Reset Queue */
- {
- lan_init_queue( &lan_output_queue );
- printp( "\n\n Queue CLEARED/RESET ...\n\n" );
- break;
- }
-
- case 0x0D: /* Display Queue */
- {
- printp( "\n -- Output Queue --\n" );
- printp( "\n Head Index: %8X Tail Index: %8X\n\n ",
- (ULONG) lan_output_queue.head_index, (ULONG) lan_output_queue.tail_index );
-
- for ( i = 0; i < MAX_RS232_CHARS; ++i )
- {
- printp( " %02X", (ULONG) lan_output_queue.buf[ i ] );
-
- if ( 15 == (i % 16) )
- {
- int j;
-
- printp ( " " );
- for ( j = i - 15; j <= i; j++ )
- {
- if ( lan_output_queue.buf[ j ] >= ' ' &&
- lan_output_queue.buf[ j ] < 127 )
- printp ( "%c", lan_output_queue.buf[ j ] );
- else
- printp ( "." );
- }
- printp( "\n " );
- }
-
- else if ( 7 == (i % 8) )
- {
- printp( " " );
- }
-
- }
-
- printp( "\n" );
-
- break;
- }
-
- case 0x0F: /* Fetch next character in Queue */
- {
- c = lan_next_queue_char( &lan_output_queue );
-
- if ( c )
- {
- printp( "\n\n Next Character: " );
- if ( 0x21 <= c && c <= 0x7F )
- {
- printp( "%c\n\n", (ULONG) c );
- }
-
- else if ( 0x20 == c )
- {
- printp( "<space>\n\n" );
- }
-
- else
- {
- printp( "%02X\n\n", (ULONG) c );
- }
- }
-
- else
- {
- printp( "\n\n Input Queue EMPTY ...\n\n" );
- }
-
- break;
- }
-
- default:
- {
- printp( "\n\n *** SYNTAX Error - Invalid P2 ...\n\n" );
- not_done_code = BOGUS_P2;
- break;
- }
- }
-
- break;
- }
-
-
- case LAN_ECHO:
- {
-
- switch ( parm_1 )
- {
-
- case 0x0E:
- {
- test_echo = ENABLED;
- printp( "\n\n Test echo ENABLED ...\n\n" );
- break;
- }
-
- case 0x0D:
- {
- test_echo = DISABLED;
- printp( "\n\n Test echo DISABLED ...\n\n" );
- break;
- }
-
- default:
- {
- printp( "\n\n *** SYNTAX Error - Invalid P2 ...\n\n" );
- not_done_code = BOGUS_P2;
- break;
- }
- }
-
- break;
- }
-
-
- case LAN_PUTC:
- {
-
- if ( 0x20 < parm_1 && parm_1 < 0x7F )
- {
- if ( lan_put_char( (UCHAR) parm_1 ) )
- {
- printp( "\n\n *** 'lan_put_char' Error ...\n" );
- }
-
- else
- {
- printp( "\n\n O.K. ...\n" );
- }
-
- }
-
- else
- {
- printp( "\n\n *** Error - character must be in the 0x21-0x7E range ...\n" );
- not_done_code = BOGUS_P2;
- }
-
- break;
- }
-
-/***
- case LAN_WPM:
- {
-
- if ( write_to_protected_mem( (void *) parm_1, (unsigned short) parm_2 ) )
- {
- printp( "\n Write to protected memory FAILED ...\n" );
- }
-
- break;
- }
-***/
-
- case 0: /* no argument -- print menu */
- {
- lan_util_menu( );
- break;
- }
-
-
- default:
- {
- parm_2 = 0; /* to supress compiler warning with 'LAN_WPM' case disabled */
-
- printp( "\n\n *** SYNTAX Error - Invalid P1 ...\n\n" );
- not_done_code = BOGUS_P1;
- break;
- }
-
-
- } /* End of 'switch ( opcode )'. */
-
-
-return( not_done_code );
-}
-/* end of 'lan_util'
- *===========================================================================*/
-
-
- /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
- * *
- * Local Module Functions *
- * *
- *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_reset
- *
- * DESCRIPTION: Resets the LAN UART by strobing the 'RST_LAN_UART' bit in the
- * Shared Control 1 area.
- *
- * 1 _| ______
- * | | |
- * Bit | | |
- * | | |
- * 0 _|______| |______
- * |---------------------> t
- *
- * RETURN VALUE: None.
- *
- * USED GLOBAL VARIABLES:
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- * NOTES: H/W configuration requires that a byte in the shared
- * control 1 area must be read before being written.
- *
- *---------------------------------------------------------------------------*/
-
-static void lan_reset( void )
-
-{
-
- while ( *P_RST_LAN_UART_REG & M_RST_LAN_UART )
- {
- *P_RST_LAN_UART_REG &= ~M_RST_LAN_UART; /* 0 */
- }
-
- while ( !(*P_RST_LAN_UART_REG & M_RST_LAN_UART) )
- {
- *P_RST_LAN_UART_REG |= M_RST_LAN_UART; /* 1 */
- }
-
- while ( *P_RST_LAN_UART_REG & M_RST_LAN_UART )
- {
- *P_RST_LAN_UART_REG &= ~M_RST_LAN_UART; /* 0 */
- }
-
-}
-/* end of 'lan_reset'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_configure
- *
- *
- * DESCRIPTION:
- *
- *
- * RETURN VALUE:
- *
- *
- * USED GLOBAL VARIABLES:
- *
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- *
- * NOTES:
- *
- *
- *
- *---------------------------------------------------------------------------*/
-
-static void lan_configure( void )
-
-{
-
- *P_LAN_CR = UART_CR_RESET_MR_PTR; /* Points to MR1. */
- *P_LAN_CR = UART_CR_RESET_RVCR; /* Receiver disabled. */
- *P_LAN_CR = UART_CR_RESET_XMTR; /* Transmitter disabled. */
- *P_LAN_CR = UART_CR_RESET_ERROR_STATUS;
- *P_LAN_CR = UART_CR_RESET_BRK_CHG_INT;
-
- *P_LAN_MR1 = DEFAULT_LAN_MR1;
- *P_LAN_MR2 = DEFAULT_LAN_MR2;
-
- *P_LAN_ACR = DEFAULT_LAN_ACR;
-
- *P_LAN_CSR = UART_CSR_BR_9600;
- baud_rate_idx = 2;
-
- *P_LAN_CTUR = DEFAULT_LAN_CTUR;
- *P_LAN_CTLR = DEFAULT_LAN_CTLR;
-
- *P_LAN_CR = (UART_CR_START_CNTR_TIMER | UART_CR_ENABLE_XMTR | UART_CR_ENABLE_RCVR);
-
- lan_shadow_imr = UART_IMR_RxRDY; /* Enable only 'RxRDY' interrupt from UART. */
- *P_LAN_IMR = lan_shadow_imr;
-
- tx_by_intr = 0;
- tx_by_poll = 0;
-
- return;
-}
-/* end of 'lan_configure'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_init_queue
- *
- * DESCRIPTION:
- *
- * RETURN VALUE: None.
- *
- * USED GLOBAL VARIABLES:
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- * NOTES:
- *
- *---------------------------------------------------------------------------*/
-
-static void lan_init_queue( T_RS232_QUEUE *p_queue )
-
-{
- long i;
-
- /*
- * We set "head" equal to "tail" implying the queue is empty,
- * BUT the "head" and "tail" should each point to valid queue
- * positions.
- */
-
- p_queue->head_index = 0;
- p_queue->tail_index = 0;
-
- p_queue->overflows = 0;
-
- p_queue->gdb_packet_start = -1;
- p_queue->gdb_packet_end = -1;
-
- p_queue->gdb_packet_csum1 = -1;
- p_queue->gdb_packet_csum2 = -1;
-
- for ( i = 0; i < MAX_RS232_CHARS; ++i )
- {
- p_queue->buf[ i ] = 0;
- }
-
- return;
-}
-/* end of 'lan_init_queue'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_add_to_queue
- *
- *
- * DESCRIPTION: Adds the specified character to the tail of the
- * specified queue. Observes "oldest thrown on floor"
- * rule (i.e. the queue is allowed to "wrap" and the
- * input character is unconditionally placed at the
- * tail of the queue.
- *
- *
- * RETURN VALUE: None.
- *
- *
- * USED GLOBAL VARIABLES:
- *
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- *
- * NOTES:
- *
- *
- *---------------------------------------------------------------------------*/
-
-static void lan_add_to_queue( long c, T_RS232_QUEUE *p_queue )
-
-{
-
- if ( p_queue ) /* Sanity check. */
- {
-
- if ( c & 0x000000FF ) /* We don't allow NULL characters to be added to a queue. */
- {
- /* Insert the new character at the tail of the queue. */
-
- p_queue->buf[ p_queue->tail_index ] = (UCHAR) (c & 0x000000FF);
-
- /* Increment the tail index. */
-
- if ( MAX_RS232_CHARS <= ++(p_queue->tail_index) )
- {
- p_queue->tail_index = 0;
- }
-
- /* Check for wrapping (i.e. overflow). */
-
- if ( p_queue->head_index == p_queue->tail_index )
- {
- /* If the tail has caught up to the head record the overflow . . . */
-
- ++(p_queue->overflows);
-
- /* . . . then increment the head index. */
-
- if ( MAX_RS232_CHARS <= ++(p_queue->head_index) )
- {
- p_queue->head_index = 0;
- }
-
- }
-
- } /* End of 'if ( c & 0x000000FF )'. */
-
- } /* End of 'if ( p_queue )'. */
-
-
- return;
-}
-/* end of 'lan_add_to_queue'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_next_queue_char
- *
- * DESCRIPTION:
- *
- * RETURN VALUE:
- *
- * USED GLOBAL VARIABLES:
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- * NOTES:
- *
- *---------------------------------------------------------------------------*/
-
-static UCHAR lan_next_queue_char( T_RS232_QUEUE *p_queue )
-
-{
- UCHAR c;
-
-
- c = 0;
-
- if ( p_queue )
- {
-
- if ( p_queue->head_index != p_queue->tail_index )
- {
- /* Return the 'oldest' character in the queue. */
-
- c = p_queue->buf[ p_queue->head_index ];
-
- /* Increment the head index. */
-
- if ( MAX_RS232_CHARS <= ++(p_queue->head_index) )
- {
- p_queue->head_index = 0;
- }
-
- }
-
- } /* End of 'if ( p_queue )'. */
-
-
- return( c );
-}
-
-/* end of 'lan_next_queue_char'
- *===========================================================================*/
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: lan_util_menu
- *
- * DESCRIPTION: Prints out a brief help on the LAN UART control utility.
- *
- * RETURN VALUE: None.
- *
- * USED GLOBAL VARIABLES: None.
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS: None.
- *
- * NOTES: None.
- *
- *---------------------------------------------------------------------------*/
-
-static void lan_util_menu( void )
-
-{
-
- /*
- * Multiply calling printp() below is made due to the limitations
- * of printp(), incapable of handling long formatting constants:
- */
-
- printp( "\n -- Options --\n\n" );
-
- printp( " %2X,'INIT' ............... Reset & (Re)INITIALIZE Interface.\n", (ULONG) LAN_UTIL_CODE );
- printp( " %2X,'BAUD',<rate> ........ Set BAUD Rate.\n", (ULONG) LAN_UTIL_CODE );
- printp( " %2X,'INTR',<mode> ........ Toggle 'RxRDY' Interrupts.\n", (ULONG) LAN_UTIL_CODE );
- printp( " %2X,'XMT',<mode> ......... Toggle TRANSMIT-via-backplane.\n", (ULONG) LAN_UTIL_CODE );
- printp( " %2X,'STAT' ............... Display STATUS.\n", (ULONG) LAN_UTIL_CODE );
- printp( " %2X,'ECHO',<mode> ........ Enable/Disable Test ECHO.\n", (ULONG) LAN_UTIL_CODE );
- printp( " %2X,'IN',<action> ........ Access INPUT Queue.\n", (ULONG) LAN_UTIL_CODE );
- printp( " %2X,'OUT',<action> ....... Access OUTPUT Queue.\n\n", (ULONG) LAN_UTIL_CODE );
-
- printp( " %2X,'PUTC',<char> ........ Output a Character (i.e. <char>).\n\n", (ULONG) LAN_UTIL_CODE );
-
-/***
- printp( " %2X,'WPM',address,word ... Write Protected Memory Test.\n\n", (ULONG) LAN_UTIL_CODE );
-***/
-
- printp( " <rate>: 4800 <mode>: E - enable <action>: C - clear/reset\n" );
- printp( " 9600 D - disable D - display\n" );
- printp( " 19200 F - fetch next char\n" );
- printp( " 38400\n" );
-}
-/* end of 'lan_util_menu'
- *===========================================================================*/
-
-
-/* Thu Feb 5 17:14:41 EST 1998 CYGNUS...CYGNUS...CYGNUS...CYGNUS...CYGNUS...CYGNUS...CYGNUS...CYGNUS */
-
-
-static long get_gdb_input( long c, T_RS232_QUEUE * p_input_q )
-
-{
-
- /* Now to detect when we've got a gdb packet... */
-
- if ( '$' == c ) { /* char marks beginning of a packet */
-
- if ( -1 != p_input_q->gdb_packet_start ||
- -1 != p_input_q->gdb_packet_end ||
- -1 != p_input_q->gdb_packet_csum1 ||
- -1 != p_input_q->gdb_packet_csum2 ) { /* PROTOCOL ERROR */
-
- /* NEW: Actually, this probably means that we muffed a packet,
- and GDB has already resent it. The thing to do now is to
- throw away the one we WERE working on, but immediately start
- accepting the new one. Don't NAK, or GDB will have to try
- and send it yet a third time! */
-
- /*NACK_PKT( );*/ /*<ETHERNET>*/
- discard_packet( ); /* throw away old packet */
- lan_add_to_queue ('$', p_input_q); /* put the new "$" back in */
- return 0;
- } else { /* match new "$" */
- p_input_q->gdb_packet_start = p_input_q->tail_index;
- p_input_q->gdb_packet_end =
- p_input_q->gdb_packet_csum1 =
- p_input_q->gdb_packet_csum2 = -1;
- }
- } else if ( '#' == c ) { /* # marks end of packet (except for checksum) */
-
- if ( -1 == p_input_q->gdb_packet_start ||
- -1 != p_input_q->gdb_packet_end ||
- -1 != p_input_q->gdb_packet_csum1 ||
- -1 != p_input_q->gdb_packet_csum2 ) { /* PROTOCOL ERROR */
-
- /* Garbled packet. Discard, but do not NAK. */
-
- /*NACK_PKT( );*/ /*<ETHERNET>*/
- discard_packet( );
- return -1;
- }
- p_input_q->gdb_packet_end = p_input_q->tail_index;
- p_input_q->gdb_packet_csum1 = p_input_q->gdb_packet_csum2 = -1;
-
- } else if ( -1 != p_input_q->gdb_packet_start &&
- -1 != p_input_q->gdb_packet_end) {
-
- if ( isxdigit( c ) ) { /* char is one of two checksum digits for packet */
-
- if ( -1 == p_input_q->gdb_packet_csum1 &&
- LAN_Q_MOD( p_input_q->gdb_packet_end + 1 ) ==
- p_input_q->tail_index ) {
-
- /* first checksum digit */
-
- p_input_q->gdb_packet_csum1 = p_input_q->tail_index;
- p_input_q->gdb_packet_csum2 = -1;
-
- } else if ( -1 == p_input_q->gdb_packet_csum2 &&
- LAN_Q_MOD( p_input_q->gdb_packet_end + 2 ) ==
- p_input_q->tail_index ) {
-
- /* second checksum digit: packet is complete! */
-
- p_input_q->gdb_packet_csum2 = p_input_q->tail_index;
- getpacket(); /* got a packet -- extract it */
-
- } else { /* probably can't happen (um... three hex digits?) */
-
- /* PROTOCOL ERROR */
- /* Not sure how this can happen, but ...
- discard it, but do not NAK it. */
- /*NACK_PKT( );*/ /*<ETHERNET>*/
- discard_packet( );
- return -1;
- }
-
- } else { /* '#' followed by non-hex char */
-
- /* PROTOCOL ERROR */
- /* Bad packet -- discard but do not NAK */
- /*NACK_PKT( );*/ /*<ETHERNET>*/
- discard_packet( );
- return -1;
- }
- }
-
- return 0;
-}
-
-
-
-
-#ifdef STANDALONE
-
-/* stand-alone stand-alone stand-alone stand-alone stand-alone stand-alone
- stand-alone stand-alone
- stand-alone Enable stand-alone build, for ease of debugging stand-alone
- stand-alone stand-alone
- stand-alone stand-alone stand-alone stand-alone stand-alone stand-alone */
-
-long write_to_protected_mem (addr, word)
- void *addr;
- unsigned short word;
-{
- return 0;
-}
-
-
-char dummy_memory[0x4000];
-
-int main ( void )
-{
- long c;
-
- lan_init_queue( &lan_input_queue );
- printf( "Stand-alone EMC 'stub', pid = %d\n", getpid( ) );
- printf( "Start of simulated 'memory': 0x%08x\n", &dummy_memory);
- while ( (c = getc( stdin ) ) != EOF )
- {
- if ( c == '\\' ) /* escape char */
- break;
-
- lan_add_to_queue( c, &lan_input_queue );
- get_gdb_input (c, &lan_input_queue);
- fflush( stdout );
- }
-
- printf( "Goodbye!\n" );
- exit( 0 );
-}
-
-#define SRAM_START ((void *) (&dummy_memory[0] + 0x00000000))
-#define SRAM_END ((void *) (&dummy_memory[0] + 0x00000400))
-
-#define RO_AREA_START ((void *) (&dummy_memory[0] + 0x00000100))
-#define RO_AREA_END ((void *) (&dummy_memory[0] + 0x00000300))
-
-#define NVD_START ((void *) (&dummy_memory[0] + 0x00003000))
-#define NVD_END ((void *) (&dummy_memory[0] + 0x00003100))
-
-#else /* normal stub (not stand-alone) */
-
-#define SRAM_START ((void *) 0x00000000)
-#define SRAM_END ((void *) 0x00400000)
-
-#define RO_AREA_START ((void *) 0x00100000)
-#define RO_AREA_END ((void *) 0x00300000)
-
-#define NVD_START ((void *) 0x03000000)
-#define NVD_END ((void *) 0x03100000)
-
-#endif /* STANDALONE */
-
-
-
-
-/* gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb
- gdb gdb
- gdb Here begins the gdb stub section. gdb
- gdb The following functions were added by Cygnus, gdb
- gdb to make this thing act like a gdb stub. gdb
- gdb gdb
- gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb gdb */
-
-
-/* ------------------- global defines and data decl's -------------------- */
-
-#define hexchars "0123456789abcdef"
-
-/* there are 180 bytes of registers on a 68020 w/68881 */
-/* many of the fpa registers are 12 byte (96 bit) registers */
-#define NUMREGBYTES 180
-#define NUMREGS 29
-#define REGISTER_BYTE(regno) regno
-
-enum regnames { D0, D1, D2, D3, D4, D5, D6, D7,
- A0, A1, A2, A3, A4, A5, A6, A7,
- PS, PC,
- FP0, FP1,
- FP2, FP3,
- FP4, FP5,
- FP6, FP7,
- FPCONTROL, FPSTATUS, FPIADDR
- };
-
-unsigned long registers[NUMREGBYTES/4];
-
-static long remote_debug;
-
-#define BUFMAX MAX_IO_BUF_SIZE
-static char inbuffer[BUFMAX], outbuffer[BUFMAX];
-static char spare_buffer[BUFMAX];
-
-
-struct stub_trace_frame
-{
- int valid;
- unsigned long frame_id;
- unsigned long tdp_id;
- FRAME_DEF *frame_data;
- COLLECTION_FORMAT_DEF *format;
- unsigned long traceregs[NUMREGBYTES/4];
- unsigned char *stack_data;
- unsigned char *memrange_data;
-} curframe;
-
-/* ------------------- function prototypes -------------------- */
-
-void handle_request ( char * );
-
-/* ------------------- Implementation -------------------- */
-
-static void
-discard_packet( void )
-{
- lan_input_queue.head_index = lan_input_queue.tail_index;
-
- lan_input_queue.gdb_packet_start =
- lan_input_queue.gdb_packet_end =
- lan_input_queue.gdb_packet_csum1 =
- lan_input_queue.gdb_packet_csum2 = -1;
-}
-
-/* Utility function: convert an ASCII isxdigit to a hex nybble */
-
-static long
-hex( char ch )
-{
- if ( (ch >= 'A') && (ch <= 'F') )
- return ch - 'A' + 10;
- if ( (ch >= 'a') && (ch <= 'f') )
- return ch - 'a' + 10;
- if ( (ch >= '0') && (ch <= '9') )
- return ch - '0';
- return -1;
-}
-
-static void
-getpacket( void )
-{
- unsigned char our_checksum, their_checksum;
- char *copy = inbuffer;
- unsigned char c;
-
- our_checksum = 0;
-
- /* first find the '$' */
- while ((c = lan_next_queue_char ( &lan_input_queue )) != '$')
- if (c == 0) /* ??? Protocol error? (paranoia) */
- {
- /* PROTOCOL ERROR (missing '$') */
- /*NACK_PKT( );*/ /*<ETHERNET>*/
- return;
- }
-
- /* Now copy the message (up to the '#') */
- for (c = lan_next_queue_char ( &lan_input_queue ); /* skip the '$' */
- c != 0 && c != '#'; /* stop at the '#' */
- c = lan_next_queue_char ( &lan_input_queue ))
- {
- *copy++ = c;
- our_checksum += c;
- }
- *copy++ = '\0'; /* terminate the copy */
-
- if (c == 0) /* ??? Protocol error? (paranoia) */
- {
- /* PROTOCOL ERROR (missing '#') */
- /*NACK_PKT( );*/ /*<ETHERNET>*/
- return;
- }
- their_checksum = hex( lan_next_queue_char ( &lan_input_queue ) ) << 4;
- their_checksum += hex( lan_next_queue_char ( &lan_input_queue ) );
-
- /* Now reset the queue packet-recognition bits */
- discard_packet( );
-
- if ( remote_debug ||
- our_checksum == their_checksum )
- {
- ACK_PKT( ); /* good packet */
- /* Parse and process the packet */
- handle_request( inbuffer );
- }
- else
- /* PROTOCOL ERROR (bad check sum) */
- NACK_PKT( );
-}
-
-/* EMC will provide a better implementation
- (perhaps just of LAN_PUT_CHAR) that does not block.
- For now, this works. */
-
-
-static void
-putpacket( char *str )
-{
- unsigned char checksum;
-
- /* '$'<packet>'#'<checksum> */
-
- if ( VIA_ETHERNET == gdb_host_comm )
- {
- char *p_out;
- long length;
-
- p_out = eth_outbuffer;
- length = 0;
-
-
- if ( YES == gdb_cat_ack )
- {
- *p_out++ = '+';
- ++length;
- }
-
- gdb_cat_ack = NO;
-
-
- *p_out++ = '$';
- ++length;
-
- checksum = 0;
-
- while ( *str )
- {
- *p_out++ = *str;
- ++length;
- checksum += *str++;
- }
-
- *p_out++ = '#';
- *p_out++ = hexchars[checksum >> 4];
- *p_out = hexchars[checksum % 16];
- length += 3;
-
- eth_to_gdb( (UCHAR *) eth_outbuffer, length );
- }
-
- else
- {
-
- /* via RS-232 */
- do {
- LAN_PUT_CHAR( '$' );
- checksum = 0;
-
- while ( *str )
- {
- LAN_PUT_CHAR( *str );
- checksum += *str++;
- }
-
- LAN_PUT_CHAR( '#' );
- LAN_PUT_CHAR( hexchars[checksum >> 4] );
- LAN_PUT_CHAR( hexchars[checksum % 16] );
- } while ( 0 /* get_debug_char( ) != '+' */ );
- /* XXX FIXME: not waiting for the ack. */
-
- }
-
-}
-
-
-/*-----------------------------------------------------------------------------
- *
- * FUNCTION NAME: gdb_get_eth_input
- *
- *
- * DESCRIPTION:
- *
- *
- * RETURN VALUE: None.
- *
- *
- * USED GLOBAL VARIABLES:
- *
- *
- * AFFECTED GLOBAL VARIABLES/SIDE EFFECTS:
- *
- *
- * NOTES:
- *
- *
- *---------------------------------------------------------------------------*/
-
-void gdb_get_eth_input( unsigned char *buf, long length )
-
-{
-
- gdb_host_comm = VIA_ETHERNET;
-
- for ( ; 0 < length; ++buf, --length)
- {
-
- if ( *buf == CONTROL_C )
- {
- /* can't stop the target, but we can tell gdb to stop waiting... */
- discard_packet( );
- putpacket( "S03" ); /* send back SIGINT to the debugger */
- }
-
- else
- {
- lan_add_to_queue( (long) *buf, &lan_input_queue );
- get_gdb_input( (long) *buf, &lan_input_queue );
- }
-
- }
-
-
- return;
-}
-/* end of 'gdb_get_eth_input'
- *===========================================================================*/
-
-
-
-
-/* STDOUT STDOUT STDOUT STDOUT STDOUT STDOUT STDOUT STDOUT STDOUT STDOUT
- Stuff pertaining to simulating stdout by sending chars to gdb to be echoed.
-
- Dear reader:
- This code is based on the premise that if GDB receives a packet
- from the stub that begins with the character CAPITAL-OH, GDB will
- echo the rest of the packet to GDB's console / stdout. This gives
- the stub a way to send a message directly to the user. In practice,
- (as currently implemented), GDB will only accept such a packet when
- it believes the target to be running (ie. when you say STEP or
- CONTINUE); at other times it does not expect it. This will probably
- change as a side effect of the "asynchronous" behavior.
-
- Functions: gdb_putchar(char ch)
- gdb_write(char *str, int len)
- gdb_puts(char *str)
- gdb_error(char *format, char *parm)
- */
-
-#if 0 /* avoid compiler warning while this is not used */
-
-/* Function: gdb_putchar(int)
- Make gdb write a char to stdout.
- Returns: the char */
-
-static int
-gdb_putchar( long ch )
-{
- char buf[4];
-
- buf[0] = 'O';
- buf[1] = hexchars[ch >> 4];
- buf[2] = hexchars[ch & 0x0F];
- buf[3] = 0;
- putpacket( buf );
- return ch;
-}
-#endif
-
-/* Function: gdb_write(char *, int)
- Make gdb write n bytes to stdout (not assumed to be null-terminated).
- Returns: number of bytes written */
-
-static int
-gdb_write( char *data, long len )
-{
- char *buf, *cpy;
- long i;
-
- buf = outbuffer;
- buf[0] = 'O';
- i = 0;
- while ( i < len )
- {
- for ( cpy = buf+1;
- i < len && cpy < buf + BUFMAX - 3;
- i++ )
- {
- *cpy++ = hexchars[data[i] >> 4];
- *cpy++ = hexchars[data[i] & 0x0F];
- }
- *cpy = 0;
- putpacket( buf );
- }
- return len;
-}
-
-/* Function: gdb_puts(char *)
- Make gdb write a null-terminated string to stdout.
- Returns: the length of the string */
-
-static int
-gdb_puts( char *str )
-{
- return gdb_write( str, strlen( str ) );
-}
-
-/* Function: gdb_error(char *, char *)
- Send an error message to gdb's stdout.
- First string may have 1 (one) optional "%s" in it, which
- will cause the optional second string to be inserted. */
-
-#if 0
-static void
-gdb_error( char *format, char *parm )
-{
- static char buf[400];
- char *cpy;
- long len;
-
- if ( remote_debug )
- {
- if ( format && *format )
- len = strlen( format );
- else
- return; /* empty input */
-
- if ( parm && *parm )
- len += strlen( parm );
-
- for ( cpy = buf; *format; )
- {
- if ( format[0] == '%' && format[1] == 's' ) /* include 2nd string */
- {
- format += 2; /* advance two chars instead of just one */
- while ( parm && *parm )
- *cpy++ = *parm++;
- }
- else
- *cpy++ = *format++;
- }
- *cpy = '\0';
- gdb_puts( buf );
- }
-}
-#endif
-
-static void gdb_note (char *, int);
-static int error_ret (int, char *, int);
-
-static unsigned long
-elinum_to_index (unsigned long elinum)
-{
- if ((elinum & 0xf0) == 0xd0)
- return (elinum & 0x0f);
- else if ((elinum & 0xf0) == 0xa0)
- return (elinum & 0x0f) + 8;
- else
- return -1;
-}
-
-static long
-index_to_elinum (unsigned long index)
-{
- if (index <= 7)
- return index + 0xd0;
- else if (index <= 15)
- return (index - 8) + 0xa0;
- else
- return -1;
-}
-
-
-/*
- READMEM READMEM READMEM READMEM READMEM READMEM READMEM READMEM READMEM
-
- The following code pertains to reading memory from the target.
- Some sort of exception handling should be added to make it safe.
-
- READMEM READMEM READMEM READMEM READMEM READMEM READMEM READMEM READMEM
-
- Safe Memory Access:
-
- All reads and writes into the application's memory will pass thru
- get_uchar() or set_uchar(), which check whether accessing their
- argument is legal before actual access (thus avoiding a bus error).
-
- */
-
-enum { SUCCESS = 0, FAIL = -1 };
-
-#if 0
-static long get_uchar ( const unsigned char * );
-#endif
-static long set_uchar ( unsigned char *, unsigned char );
-static long read_access_violation ( const void * );
-static long write_access_violation ( const void * );
-static long read_access_range(const void *, long);
-static DTC_RESPONSE find_memory(unsigned char *,long,unsigned char **,long *);
-
-static int
-dtc_error_ret (int ret, char *src, DTC_RESPONSE code)
-{
- if (src)
- sprintp (spare_buffer,
- "'%s' returned DTC error '%s'.\n", src, get_err_text (code));
- else
- sprintp (spare_buffer, "DTC error '%s'.\n", get_err_text (code));
-
- gdb_puts (spare_buffer);
- return ret;
-}
-
-
-#if 0
-/* I think this function is unnecessary since the introduction of
- adbg_find_memory_addr_in_frame. */
-
-/* Return the number of expressions in the format associated with a
- given trace frame. */
-static int
-count_frame_exprs (FRAME_DEF *frame)
-{
- CFD *format;
- T_EXPR *expr;
- int num_exprs;
-
- /* Get the format from the frame. */
- get_frame_format_pointer (frame, &format);
-
- /* Walk the linked list of expressions, and count the number of
- expressions we find there. */
- num_exprs = 0;
- for (expr = format->p_cfd_expr; expr; expr = expr->next)
- num_exprs++;
-
- return num_exprs;
-}
-#endif
-
-#if 0
-/* Function: get_frame_addr
- *
- * Description: If the input memory address was collected in the
- * current trace frame, then lookup and return the address
- * from within the trace buffer from which the collected byte
- * may be retrieved. Else return -1. */
-
-unsigned char *
-get_frame_addr ( const unsigned char *addr )
-{
- unsigned char *base, *regs, *stack, *mem;
- CFD *dummy;
- DTC_RESPONSE ret;
-
- /* first, see if addr is on the saved piece of stack for curframe */
- if (curframe.format->stack_size > 0 &&
- (base = (unsigned char *) curframe.traceregs[A7]) <= addr &&
- addr < base + curframe.format->stack_size)
- {
- gdb_puts("STUB: get_frame_addr: call get_addr_to_frame_regs_stack_mem\n");
- if ((ret = get_addr_to_frame_regs_stack_mem (curframe.frame_data,
- &dummy,
- (void *) &regs,
- (void *) &stack,
- (void *) &mem))
- != OK_TARGET_RESPONSE)
- return (void *) dtc_error_ret (-1,
- "get_addr_to_frame_regs_stack_mem",
- ret);
- else
- return stack + (addr - base);
- }
-
- /* Next, try to find addr in the current frame's expression-
- collected memory blocks. I'm sure this is at least quadradic in
- time. */
- {
- int num_exprs = count_frame_exprs (curframe.frame_data);
- int expr, block;
-
- /* Try each expression in turn. */
- for (expr = 0; expr < num_exprs; expr++)
- {
- for (block = 0; ; block++)
- {
- T_EXPR_DATA *data;
- if (adbg_get_expr_data (curframe.frame_data,
- 'x', expr, block,
- &data)
- != OK_TARGET_RESPONSE)
- break;
- else if ((unsigned char *) data->address <= addr
- && addr < ((unsigned char *) data->address + data->size))
- {
- /* We have found the right block; is it valid data?
- Upper-case stamps mean bad data. */
- if ('A' <= data->stamp && data->stamp <= 'Z')
- {
- gdb_puts("STUB: get_frame_addr: adbg_get_expr_data INVALID\n");
- return (unsigned char *) -1;
- }
- else
- {
- if (remote_debug > 1)
- {
- sprintp(spare_buffer,
- "STUB: get_frame_addr: got it [%x,%x)\n",
- data->address, data->address + data->size);
- gdb_puts(spare_buffer);
- }
-
- return (((unsigned char *) &data->data)
- + (addr - (unsigned char *) data->address));
- }
- }
- }
- }
- }
-
- /* not found, return error */
- return (unsigned char *) -1;
-}
-
-/*============================================================*/
-
-static long get_uchar ( const unsigned char * addr )
-{
- unsigned char *frame_addr;
-
- if ( read_access_violation ( addr ) )
- return ( -1 ); /* Access error */
-
- if (curframe.valid) /* if debugging a trace frame? */
- {
- /* If the requested address was collected in the current frame,
- * then fetch and return the data from the trace buffer.
- */
- if ((frame_addr = get_frame_addr (addr)) != (unsigned char *) -1)
- return ( *frame_addr );
- /* If the requested address is in the Code Section,
- * let's be magnanimous and read it anyway (else we shall
- * not be able to disassemble, find function prologues, etc.)
- */
- else if (CS_CODE_START <= (unsigned long) addr &&
- (unsigned long) addr < CS_CODE_START + CS_CODE_SIZE)
- return (*addr);
- else
- return ( -1 ); /* "Access error" (the data was not collected) */
- }
- else
- /* Not debugging a trace frame, read the data from live memory. */
- return ( *addr ); /* Meaningful result >= 0 */
-}
-#endif
-
-/*============================================================*/
-
-static long set_uchar ( unsigned char * addr, unsigned char val )
-{
- long check_result = write_access_violation ( addr );
-
- if ( check_result != 0L )
- return ( check_result ); /* Access error */
-
- return ( *addr = val ); /* Successful writing */
-}
-
-/*============================================================*/
-
-/*
- * Function read_access_violation() below returns TRUE if dereferencing
- * its argument for reading would cause a bus error - and FALSE otherwise:
- */
-
-static long read_access_violation ( const void * addr )
-{
- return ( ( ( addr < SRAM_START ) || ( addr >= SRAM_END ) ) &&
- ( ( addr < NVD_START ) || ( addr >= NVD_END ) ) );
-}
-
-/*============================================================*/
-
-/*
- * Function write_access_violation() below returns zero if dereferencing
- * its argument for writing is safe, -1 on a soft error (the argument
- * falls into the write-protected area), -2 on a hard error (the argument
- * points to a non-existent memory location). In other words, it returns
- * FALSE when no bus error is expected - and an error code otherwise:
- */
-
-static long write_access_violation ( const void * addr )
-{
- /*
- * The boundaries of the write-protected area have to be received via
- * an API provided in the Symmetrix core code. For now, these limits
- * are hard-coded:
- */
-
- if ( ( addr >= RO_AREA_START ) && ( addr < RO_AREA_END ) )
- return ( -1 ); /* soft error */
-
- if ( ( ( addr < SRAM_START ) || ( addr >= SRAM_END ) ) &&
- ( ( addr < NVD_START ) || ( addr >= NVD_END ) ) )
- return ( -2 ); /* hard error */
-
- return ( 0 );
-}
-
-
-/* read_access_range is like read_access_violation,
- but returns the number of bytes we can read w/o faulting.
- that is, it checks an address range and tells us what portion
- (if any) of the prefix is safe to read without a bus error */
-static long
-read_access_range(const void *addr, long count)
-{
- if ((addr >= SRAM_START) && (addr < SRAM_END))
- {
- if ((char *)addr + count < (char *)SRAM_END)
- return (count);
- else
- return ((char *)SRAM_END - (char *)addr);
- }
- else if (((char *)addr >= (char *)NVD_START) &&
- ((char *)addr < (char *)NVD_END))
- {
- if ((char *)addr + count < (char *)NVD_END)
- return (count);
- else
- return ((char *)NVD_END - (char *)addr);
- }
- else
- return (0);
-}
-
-/* Convert the memory pointed to by mem into hex, placing result in buf.
- Return SUCCESS or FAIL.
- If MAY_FAULT is non-zero, then we should return FAIL in response to
- a fault; if zero treat a fault like any other fault in the stub. */
-
-static long
-mem2hex(unsigned char *mem, char *buf, long count, long may_fault)
-{
- long ndx;
- long ndx2;
- long ch;
- long incr;
- unsigned char *location;
- DTC_RESPONSE status;
-
- if (may_fault)
- {
- for (ndx = 0, incr = 1; (ndx < count) && (incr > 0); ndx += incr)
- {
- status = find_memory(mem, count - ndx, &location, &incr);
-
- if (status == OK_TARGET_RESPONSE)
- {
- if (incr > 0)
- {
- for (ndx2 = 0; ndx2 < incr; ndx2++)
- {
- ch = *location++;
- *buf++ = hexchars[ch >> 4];
- *buf++ = hexchars[ch & 0xf];
- }
- mem += incr;
- }
- else if (incr <= 0) /* should never happen */
- {
- *buf = 0;
- return (0);
- }
- }
- else if (status == NOT_FOUND_TARGET_RESPONSE)
- {
- *buf = 0;
- return (ndx); /* return amount copied */
- }
- else
- {
- *buf = 0;
- return (0); /* XXX: how do we tell the user the status? */
- }
- }
- *buf = 0;
- return (count);
- }
- else
- {
- for (ndx = 0; ndx < count; ndx++)
- {
- ch = *mem++;
- *buf++ = hexchars[ch >> 4];
- *buf++ = hexchars[ch & 0xf];
- }
- *buf = 0;
- return (count); /* we copied everything */
- }
-}
-
-static DTC_RESPONSE
-find_memory(unsigned char *mem, long count,
- unsigned char **location, long *incr)
-{
- DTC_RESPONSE retval;
- long length;
-
- /* figure out how much of the memory range we can read w/o faulting */
- count = read_access_range(mem, count);
- if (count == 0)
- return (NOT_FOUND_TARGET_RESPONSE);
-
- if (curframe.valid)
- {
- unsigned char *mem_block;
- unsigned char *mem_addr;
- unsigned long mem_size;
- unsigned long mem_stamp;
-
- retval = adbg_find_memory_addr_in_frame(curframe.frame_data, mem,
- (unsigned long **)&mem_block,
- (unsigned long **)&mem_addr,
- &mem_size, &mem_stamp);
-
- switch (retval)
- {
- case OK_TARGET_RESPONSE:
-#if 0
- printp("FOUND: mem %x block %x addr %x size %d stamp %x\n",
- mem, mem_block, mem_addr, mem_size, mem_stamp);
-#endif
- *location = mem_block + (mem - mem_addr);
- length = mem_size - (mem - mem_addr);
-
- if (length < count)
- *incr = length;
- else
- *incr = count;
-
- break;
-
- case NOT_FOUND_TARGET_RESPONSE:
- case NEAR_FOUND_TARGET_RESPONSE:
-#if 0
- printp("NOT FOUND: mem %x, checking code region\n", mem);
-#endif
- /* check to see if it's in the code region */
- if ((CS_CODE_START <= (long)mem) &&
- ((long)mem < CS_CODE_START + CS_CODE_SIZE))
- {
- /* some or all of the address range is in the code */
- *location = mem;
- if ((long)mem + count <= CS_CODE_START + CS_CODE_SIZE)
- *incr = count; /* it's totally in the code */
- else
- /* how much is in the code? */
- *incr = CS_CODE_START + CS_CODE_SIZE - (long)mem;
-#if 0
- printp("FOUND in code region: %x\n", mem);
-#endif
- retval = OK_TARGET_RESPONSE;
- }
- else
- retval = NOT_FOUND_TARGET_RESPONSE;
-
- break;
-
- default:
-#if 0
- printp("BAD RETURN: %d\n", retval);
-#endif
- retval = NOT_FOUND_TARGET_RESPONSE;
- break;
- }
- }
- else
- {
- *location = mem;
- *incr = count;
- retval = OK_TARGET_RESPONSE;
- }
-
- return (retval);
-}
-
-/* Convert the hex array pointed to by buf into binary to be placed in mem.
- Return SUCCESS or FAIL. */
-
-static long
-hex2mem( char *buf, unsigned char *mem, long count, long may_fault )
-{
- long i, ch;
-
- for ( i=0; i<count; i++ )
- {
- ch = hex( *buf++ ) << 4;
- ch = ch + hex( *buf++ );
- if ( may_fault )
- {
- ch = set_uchar( mem++, ch );
- if ( ch < 0 ) /* negative return indicates error */
- return FAIL;
- }
- else
- *mem++ = ch;
- }
- return SUCCESS;
-}
-
-/**********************************************/
-/* WHILE WE FIND NICE HEX CHARS, BUILD AN INT */
-/* RETURN NUMBER OF CHARS PROCESSED */
-/**********************************************/
-
-static int
-hexToInt( char **ptr, unsigned long *intValue )
-{
- long numChars = 0;
- long hexValue;
-
- *intValue = 0;
- while ( **ptr )
- {
- hexValue = hex( **ptr );
- if ( hexValue >=0 )
- {
- *intValue = (*intValue << 4) | hexValue;
- numChars ++;
- }
- else
- break;
- (*ptr)++;
- }
- return numChars;
-}
-
-static volatile long gdb_handling_trap1;
-static volatile long gdb_handling_sstrace;
-static volatile long gdb_signo;
-
-/*
- Here is the "callable" stub entry point.
- Call this function with a GDB request as an argument,
- and it will service the request and return.
-
- May be further broken up as we go along, with individual requests
- broken out as separate functions.
- */
-
-static char * handle_trace_query (char *);
-static char * handle_trace_set (char *);
-static int handle_format (char **request, CFD *format);
-static unsigned long crc32 (unsigned char *buf, int len, unsigned long crc);
-static char * crc_query (char *);
-static char * handle_test (char *);
-
-void
-handle_request( char *request )
-{
-#if 0
- remote_debug = 2;
-#endif
- switch( *request++ )
- {
- case 'k': /* "kill" */
- curframe.valid = FALSE;
- putpacket ("");
- break;
- case 'D': /* "detach" */
- curframe.valid = FALSE;
- putpacket ("");
- break;
- default: /* Unknown code. Return an empty reply message. */
- putpacket( "" ); /* return empty packet */
- break;
-
- case 'H': /* Set thread for subsequent operations.
- Hct... c = 'c' for thread used in step and continue;
- t... can be -1 for all threads.
- c = 'g' for thread used in other operations.
- If zero, pick a thread, any thread. */
-
- putpacket( "OK" );
- break;
-
- case 'g': /* Read registers.
- Each byte of register data is described by
- two hex digits. registers are in the
- internal order for GDB, and the bytes in a
- register are in the same order the machine
- uses. */
- {
- /* Return the values in (one of) the registers cache(s).
- Several situations may pertain:
- 1) We're synchronous, in which case the "registers" array
- should actually be current.
- 2) We're asynchronous, in which case the "registers" array
- holds whatever was cached most recently.
- 3) We're looking at a trace frame that was collected earlier:
- we will return those earlier registers.
- */
-
- /* all registers default to zero */
- memset (outbuffer, '0', NUMREGBYTES);
- outbuffer[NUMREGBYTES] = '\0';
-
- if (curframe.valid) /* debugging a trace frame */
- mem2hex( (unsigned char*) curframe.traceregs,
- outbuffer, NUMREGBYTES, 0 );
- else
- mem2hex( (unsigned char*) registers, outbuffer, NUMREGBYTES, 0 );
-
- putpacket( outbuffer );
- }
- break;
- case 'G': /* Write registers.
- Gxxxxxxxx Each byte of register data is described by
- two hex digits. */
- if (curframe.valid) /* debugging a trace frame */
- putpacket ("E03"); /* can't write regs into a trace frame! */
- else
- {
- /* Write the values into the local registers cache...
- Note that no actual registers are being changed. */
-
- hex2mem( request,
- (unsigned char *) registers, NUMREGBYTES, 0 );
- putpacket( "OK" );
- }
- break;
- case 'P': /* Write (single) register.
- Pnn=xxxxxxxx register nn gets value xxxxxxxx;
- two hex digits for each byte in the register
- (target byte order). */
-
- if (curframe.valid)
- putpacket ("E03"); /* can't write regs into a trace frame! */
- else
- {
- unsigned long regno;
-
- if ( hexToInt( &request, &regno ) && *(request++) == '=' )
- {
- if ( regno < NUMREGS )
- {
- hexToInt( &request,
- (unsigned long *) &registers[REGISTER_BYTE(regno)]);
-
- putpacket( "OK" );
- }
- else
- putpacket( "E01" ); /* bad packet or regno */
- }
- }
- break;
- case 'm': /* Read memory.
- mAAAAAAAA,LLLL AAAAAAAA is address, LLLL is length.
- Reply can be fewer bytes than requested
- if able to read only part of the data. */
- {
- unsigned long addr, len;
-
- if ( hexToInt( &request, &addr ) &&
- *(request++) == ',' &&
- hexToInt( &request, &len ) )
- {
- /* better not overwrite outbuffer! */
- if ( len > (BUFMAX / 2) - 5 )
- len = (BUFMAX / 2) - 5;
- if (mem2hex((unsigned char *) addr, outbuffer, len, 1) == 0) /* XXX: eventually use returned value */
- putpacket( "E03" ); /* read fault (access denied) */
- else
- putpacket( outbuffer ); /* read succeeded */
- }
- else
- putpacket( "E01" ); /* badly formed read request */
-
- }
- break;
- case 'M': /* Write memory.
- Maaaaaaaa,llll:xxxx aaaaaaaa is address, llll is length;
- xxxx is data to write. */
-
- {
- unsigned long addr, len;
-
- if (curframe.valid) /* can't write memory into a trace frame! */
- putpacket ("E03"); /* "access denied" */
- else /*** if ( write_access_enabled ) ***/
- {
- if ( hexToInt( &request, &addr ) &&
- *(request++) == ',' &&
- hexToInt( &request, &len ) &&
- *(request++) == ':' )
- {
- if (len == 2 &&
- addr >= CS_CODE_START &&
- addr <= LAST_CS_WORD)
- {
- unsigned long val;
-
- if ( !hexToInt( &request, &val ) ||
- write_to_protected_mem( (void *)addr, val ) )
- putpacket( "E03" ); /* write fault (access denied) */
- else
- putpacket( "OK" ); /* write succeeded */
- }
- else
- {
- if ( hex2mem( request, (unsigned char*) addr, len, 1 ) )
- putpacket( "E03" ); /* write fault (access denied) */
- else
- putpacket( "OK" ); /* write succeeded */
- }
- }
- else
- putpacket( "E02" ); /* badly formed write request */
- }
- }
- break;
- case 'c': /* Continue.
- cAAAAAAAA AAAAAAAA is address from which to resume.
- If omitted, resume at current PC. */
-
- {
- unsigned long addr;
-
- if (curframe.valid)
- {
- /* Don't continue if debugging a trace frame! */
- gdb_puts ("Error: can't continue!\n");
- putpacket ("S03");
- }
- else
- {
- gdb_signo = 3;
- if (isxdigit(request[0]))
- {
- hexToInt(&request, &addr);
- registers[REGISTER_BYTE(PC)] = addr;
- }
-
- gdb_handling_trap1 = FALSE;
- gdb_handling_sstrace = FALSE;
- sss_trace_flag = '\0';
- }
- }
- break;
- case 's': /* Step.
- sAAAAAAAA AAAAAAAA is address from which to begin stepping.
- If omitted, begin stepping at current PC. */
- {
- unsigned long addr;
-
- if (curframe.valid)
- {
- /* Don't step if debugging a trace frame! */
- gdb_puts ("Error: can't step!\n");
- putpacket ("S03");
- }
- else
- {
- gdb_signo = 3;
- if (isxdigit(request[0]))
- {
- hexToInt(&request, &addr);
- registers[REGISTER_BYTE(PC)] = addr;
- }
-
- gdb_handling_trap1 = FALSE;
- gdb_handling_sstrace = FALSE;
- sss_trace_flag = 't';
- }
- }
- break;
- case 'C': /* Continue with signal.
- Cxx;AAAAAAAA xx is signal number in hex;
- AAAAAAAA is adddress from which to resume.
- If ;AAAAAAAA omitted, continue from PC. */
-
- {
- unsigned long addr = 0;
-
- if (!gdb_handling_trap1 || curframe.valid)
- {
- /* Don't continue if not currently in synchronous mode,
- or if currently debugging a trace frame! */
- gdb_puts( "Error: can't continue!\n" );
- putpacket( "S03" ); /* "sigquit" (better idea?) */
- }
- else
- {
- gdb_signo = 3;
- if ( isxdigit( *request ) )
- {
- hex2mem( request, (unsigned char *) &gdb_signo, 2, 0 );
- request += 2;
- if ( *request == ';' && isxdigit( *++request ) )
- {
- hexToInt( &request, &addr );
- registers[REGISTER_BYTE(PC)] = addr;
- }
- }
- gdb_handling_trap1 = FALSE;
- gdb_handling_sstrace = FALSE;
- sss_trace_flag = '\0';
- }
- }
- break;
- case 'S': /* Step with signal.
- Sxx;AAAAAAAA xx is signal number in hex;
- AAAAAAAA is adddress from which to begin stepping.
- If ;AAAAAAAA omitted, begin stepping from PC. */
- {
- unsigned long addr = 0;
-
- if (!gdb_handling_trap1 || curframe.valid)
- {
- /* Don't step if not currently in synchronous mode,
- or if currently debugging a trace frame! */
- gdb_puts( "Error: can't step!\n" );
- putpacket( "S03" ); /* "sigquit" (better idea?) */
- }
- else
- {
- gdb_signo = 3;
- if ( isxdigit( *request ) )
- {
- hex2mem( request, (unsigned char *) &gdb_signo, 2, 0 );
- request += 2;
- if ( *request == ';' && isxdigit( *++request ) )
- {
- hexToInt( &request, &addr );
- registers[REGISTER_BYTE(PC)] = addr;
- }
- }
- gdb_handling_trap1 = FALSE;
- gdb_handling_sstrace = FALSE;
- sss_trace_flag = 't';
- }
- }
- break;
- case '?': /* Query the latest reason for stopping.
- Should be same reply as was last generated
- for step or continue. */
-
- if ( gdb_signo == 0 )
- gdb_signo = 3; /* default to SIGQUIT */
- outbuffer[ 0 ] = 'S';
- outbuffer[ 1 ] = hexchars[ gdb_signo >> 4 ];
- outbuffer[ 2 ] = hexchars[ gdb_signo & 0xf ];
- outbuffer[ 3 ] = 0;
- putpacket( outbuffer );
- break;
-
- case 'd': /* Toggle debug mode
- I'm sure we can think of something interesting. */
-
- remote_debug = !remote_debug;
- putpacket( "" ); /* return empty packet */
- break;
-
- case 'q': /* general query */
- switch (*request++)
- {
- default:
- putpacket (""); /* nak a request which we don't handle */
- break;
- case 'T': /* trace query */
- putpacket (handle_trace_query (request));
- break;
- case 'C': /* crc query (?) */
- if (*request++ == 'R' &&
- *request++ == 'C' &&
- *request++ == ':')
- putpacket (crc_query (request));
- else
- putpacket (""); /* unknown query */
- break;
- }
- break;
-
- case 'Q': /* general set */
- switch (*request++)
- {
- default:
- putpacket (""); /* nak a request which we don't handle */
- break;
- case 'T': /* trace */
- putpacket (handle_trace_set (request));
- break;
- }
- break;
-
- case 'T':
- /* call test function: TAAA,BBB,CCC
- A, B, and C are arguments to pass to gdb_c_test. Reply is
- "E01" (bad arguments) or "OK" (test function called). */
- putpacket (handle_test (request));
- break;
- }
-}
-
-static TDP_SETUP_INFO tdp_temp;
-static int trace_running;
-
-/*
- * Function msgcmp:
- *
- * If second argument (str) is matched in first argument,
- * then advance first argument past end of str and return "SAME"
- * else return "DIFFERENT" without changing first argument.
- *
- * Return: zero for DIFFERENT, non-zero for SUCCESS
- */
-
-static int
-msgcmp (char **msgp, char *str)
-{
- char *next;
-
- if (msgp != 0 && str != 0) /* input validation */
- if ((next = *msgp) != 0)
- {
- for (;
- *next && *str && *next == *str;
- next++, str++)
- ;
-
- if (*str == 0) /* matched all of str in msg */
- return (int) (*msgp = next); /* advance msg ptr past str */
- }
- return 0; /* failure */
-}
-
-static char *
-handle_trace_query (char *request)
-{
- if (msgcmp (&request, "Status"))
- {
- if (adbg_check_if_active ())
- {
- gdb_puts ("Target trace is running.\n");
- return "T1";
- }
- else
- {
- gdb_puts ("Target trace not running.\n");
- trace_running = 0;
- return "T0";
- }
- }
- else /* unknown trace query */
- {
- return "";
- }
-}
-
-static void
-gdb_note (char *fmt, int arg1)
-{
- if (remote_debug > 1)
- {
- sprintp (spare_buffer, fmt, arg1);
- gdb_puts (spare_buffer);
- }
-}
-
-static int
-error_ret (int ret, char *fmt, int arg1)
-{
- if (remote_debug > 0)
- {
- sprintp (spare_buffer, fmt, arg1);
- gdb_puts (spare_buffer);
- }
- return ret;
-}
-
-static int
-handle_format (char **request, COLLECTION_FORMAT_DEF *format)
-{
- MEMRANGE_DEF m;
- DTC_RESPONSE ret;
- int elinum;
- unsigned long regnum;
- long bytecodes[(MAX_BYTE_CODES + sizeof (struct t_expr_tag))/ 4];
- struct t_expr_tag *t_expr = (struct t_expr_tag *)bytecodes;
-
- if (format->id == 0)
- {
- if ((ret = get_unused_format_id (&format->id)) != OK_TARGET_RESPONSE)
- return dtc_error_ret (-1, "get_unused_format_id", ret);
-
- if (**request == 'R')
- {
- (*request)++;
- hexToInt (request, &format->regs_mask);
- }
- gdb_note ("STUB: call define_format (id = %d, ", format->id);
- gdb_note ("regs_mask = 0x%X);\n", format->regs_mask);
-
- if ((ret = define_format (format)) != OK_TARGET_RESPONSE)
- {
- sprintp (spare_buffer,
- "'define_format': DTC error '%s' for format id %d.\n",
- get_err_text (ret),
- format->id);
- gdb_puts (spare_buffer);
- return -1;
- }
- }
-
- while ((**request == 'M') || (**request == 'X'))
- {
- switch (**request)
- {
- case 'M': /* M<regnum>,<offset>,<size> */
- (*request)++;
- hexToInt(request, &regnum);
-
- if (regnum == 0 || regnum == (unsigned long) -1)
- m.typecode = -1;
- else if ((elinum = index_to_elinum (regnum)) > 0)
- m.typecode = elinum;
- else
- return error_ret (-1,
- "Memrange register %d is not between 0 and 15\n",
- regnum);
-
- if (*(*request)++ != ',')
- return error_ret (-1,"Malformed memrange (comma #%d missing)\n",1);
- hexToInt(request, &m.offset);
- if (*(*request)++ != ',')
- return error_ret (-1,"Malformed memrange (comma #%d missing)\n",2);
- hexToInt(request, &m.size);
-
- gdb_note ("STUB: call add_format_mem_range (typecode = 0x%x, ",
- m.typecode);
- gdb_note ("offset = 0x%X, ", m.offset);
- gdb_note ("size = %d);\n", m.size);
- if ((ret = add_format_mem_ranges (format->id, &m)) !=
- OK_TARGET_RESPONSE)
- {
- dtc_error_ret (-1, "add_format_mem_ranges", ret);
- sprintp (spare_buffer,
- "format id %d: memrange (0x%x, 0x%x, 0x%x).\n",
- format->id, m.typecode, m.offset, m.size);
- gdb_puts (spare_buffer);
- return -1;
- }
- break;
-
- case 'X': /* X<length>,<bytecodes> */
- {
- unsigned long length;
-
- (*request)++;
- hexToInt(request, &length);
-
- if ((length <= 0) || (length > MAX_BYTE_CODES))
- return error_ret (-1,
- "Bytecode expression length (%d) too large\n",
- length);
-
- if (*(*request)++ != ',')
- return error_ret (-1,
- "Malformed bytecode expr (comma#%d missing)\n",
- 1);
- t_expr->next = NULL;
- /* subtract one to account for expr[0] in header */
- t_expr->size = sizeof(struct t_expr_tag) + length - 1;
- t_expr->expr_size = length;
-
- hex2mem(*request, &t_expr->expr[0], length, 0);
- *request += 2 * length;
- build_and_add_expression(format->id, t_expr);
- }
- break;
- }
- }
- return 0;
-}
-
-static char *
-handle_trace_set (char *request)
-{
- long n_frame;
- unsigned long frameno, tdp, pc, start, stop;
- DTC_RESPONSE ret = -1;
- static COLLECTION_FORMAT_DEF tempfmt1;
- static char enable;
- static char retbuf[20];
-
- if (msgcmp (&request, "init"))
- {
- gdb_note ("STUB: call clear_trace_state();\n", 0);
- curframe.valid = 0; /* all old frames become invalid now */
- if ((ret = clear_trace_state ()) == OK_TARGET_RESPONSE)
- return "OK";
- else
- {
- sprintp (retbuf, "E2%x", ret);
- return (char *) dtc_error_ret ((int) &retbuf,
- "clear_trace_state",
- ret);
- }
- }
- else if (msgcmp (&request, "Start"))
- {
- trace_running = 1;
- curframe.valid = 0; /* all old frames become invalid now */
- gdb_note ("STUB: call start_trace_experiment();\n", 0);
- adbg_save_trace_in_nvd ();
- if ((ret = start_trace_experiment ()) == OK_TARGET_RESPONSE)
- return "OK";
- else
- {
- sprintp (retbuf, "E2%x", ret);
- return (char *) dtc_error_ret ((int) &retbuf,
- "start_trace_experiment",
- ret);
- }
- }
- else if (msgcmp (&request, "Stop"))
- {
- trace_running = 0;
- if (adbg_check_if_active ())
- {
- gdb_note ("STUB: call end_trace_experiment();\n", 0);
- if ((ret = end_trace_experiment ()) == OK_TARGET_RESPONSE)
- return "OK";
- else
- {
- sprintp (retbuf, "E2%x", ret);
- return (char *) dtc_error_ret ((int) &retbuf,
- "end_trace_experiment",
- ret);
- }
- }
- else return "OK";
- }
- /* "TDP:" (The 'T' was consumed in handle_request.) */
- else if (msgcmp (&request, "DP:"))
- {
- /* TDP:<id>:<addr>:{D,E}:<stepcount>:<pass_limit>{R[M,X]+}<tdp-format>
- {S{R[M,X]+}}<tp-format>
-
- D -- disable tracepoint (illegal from EMC's point of view)
- E -- enable tracepoint?
-
- R -- regs format: R<regs-mask>
- M -- memory format: M<regnum>,<offset>,<size>
- X -- expr format: X<size>,<bytecodes>
- S -- fencepost between trap formats and stepping formats.
- */
-
- /* state variable, required for splitting TDP packets. */
- static int doing_step_formats;
-
- /*
- * TDP: packets may now be split into multiple packets.
- * If a TDP packet is to be continued in another packet, it
- * must end in a "-" character. The subsequent continuation
- * packet will then begin with a "-" character, between the
- * token "TDP:" and the tdp_id field. The ID and address
- * will be repeated in each sub-packet. The step_count,
- * pass_count, and 'enabled' field must appear in the first
- * packet. The boundary between sub-packets may not appear
- * between the "S" that denotes the start of stepping "formats",
- * and the regs_mask that follows it. The split may also not
- * occur in the middle of either a memrange description or a
- * bytecode string. -- MVS
- */
-
- if (*request == '-') /* this is a continuation of a
- trace definition in progress */
- {
- unsigned long temp_id, temp_addr;
-
- request++;
- if (!(hexToInt (&request, &temp_id) &&
- *request++ == ':'))
- return "E11"; /* badly formed packet, field 1 */
-
- if (!(hexToInt (&request, (unsigned long *) &temp_addr) &&
- *request++ == ':'))
- return "E12"; /* badly formed packet, field 2 */
-
- if (temp_id != tdp_temp.id)
- return "E11"; /* something wrong: field 1 doesn't match */
- if (temp_addr != (unsigned long) tdp_temp.addr)
- return "E12"; /* something wrong: field 2 doesn't match */
- }
- else /* This is a new TDP definition */
- {
- memset ((char *) &tdp_temp, 0, sizeof (tdp_temp));
- memset ((char *) &tempfmt1, 0, sizeof (tempfmt1));
- doing_step_formats = FALSE;
-
- if (!(hexToInt (&request, &tdp_temp.id) &&
- *request++ == ':'))
- return "E11"; /* badly formed packet, field 1 */
-
- if (!(hexToInt (&request, (unsigned long *) &tdp_temp.addr) &&
- *request++ == ':'))
- return "E12"; /* badly formed packet, field 2 */
-
- if (!(((enable = *request++) == 'D' || enable == 'E') &&
- *request++ == ':'))
- return "E13"; /* badly formed packet, field 3 */
-#if 0
- if (enable == 'D')
- {
- gdb_puts ("Disabling of tracepoints not supported by EMC target\n");
- return "E20";
- }
-#endif
- if (!(hexToInt (&request, &tdp_temp.stepcount) &&
- *request++ == ':'))
- return "E14"; /* badly formed packet, field 4 */
-
- if (!hexToInt (&request, &tdp_temp.pass_limit))
- return "E15"; /* badly formed packet, field 5 */
-
- }
-
- /* Typically, the first group of collection descriptors
- refers to the trap collection. There is an "S" token
- to act as a fencepost between collection descriptors for
- the trap, and those for the single-stepping.
-
- However, when the packet is split up into several packets,
- this "S" token may already have been seen in a previous
- sub-packet; so we have to remember it in a state variable. */
-
- if (*request == 'R' || *request == 'M' || *request == 'X')
- {
- if (handle_format (&request, &tempfmt1))
- return "E16";
- if (doing_step_formats)
- tdp_temp.tp_format_p = tempfmt1.id;
- else
- tdp_temp.tdp_format_p = tempfmt1.id;
- }
-
- /* When we see the "S" token, we remember it in a state variable
- (in case the packet is split up and continued in another message),
- and discard all current state from the collection "format". */
- if (*request == 'S')
- {
- doing_step_formats = TRUE;
- /* discard prev format and start a new one */
- memset ((char *) &tempfmt1, 0, sizeof (tempfmt1));
- request++;
-
- /* Having seen the "S" fencepost, it is now possible that
- we will see some more collection descriptors pertaining
- to the stepping collection. */
- if (*request == 'R' || *request == 'M' || *request == 'X')
- {
- if (handle_format (&request, &tempfmt1))
- return "E17";
- /* new format ID is tp_format */
- tdp_temp.tp_format_p = tempfmt1.id;
- }
- }
-
- if (*request == '-') /* this TDP definition will be continued. */
- sprintp (retbuf, "OK");
- else if (enable == 'E') /* end of TDP definition: pass to ADBG (if enabled!) */
- {
- gdb_note ("STUB: call define_tdp (id %d, ", tdp_temp.id);
- gdb_note ("addr 0x%X, ", (int) tdp_temp.addr);
- gdb_note ("passc %d, ", tdp_temp.pass_limit);
- gdb_note ("stepc %d, ", tdp_temp.stepcount);
- gdb_note ("TDP fmt #%d, ", tdp_temp.tdp_format_p);
- gdb_note ("TP fmt #%d);\n", tdp_temp.tp_format_p);
-
- ret = define_tdp (tdp_temp.id, &tdp_temp, 0);
-
- if (ret == OK_TARGET_RESPONSE)
- {
- sprintp (retbuf, "OK");
- }
- else
- {
- sprintp (spare_buffer,
- "'define_tdp' returned DTC error '%s' for tracepoint %d.\n",
- get_err_text (ret),
- tdp_temp.id);
- gdb_puts (spare_buffer);
- sprintp (retbuf, "E2%x", ret);
- }
- /* Redundant, but let's try to make sure this state gets discarded. */
- {
- memset ((char *) &tdp_temp, 0, sizeof (tdp_temp));
- memset ((char *) &tempfmt1, 0, sizeof (tempfmt1));
- }
- }
- else /* ADBG_DTC does not support disabled tracepoints -- ignore it. */
- gdb_note ("STUB: ignoring disabled tracepoint %d.\n", tdp_temp.id);
-
- return retbuf;
- }
- else if (msgcmp (&request, "Frame:"))
- {
- ret = OK_TARGET_RESPONSE;
-
- if (msgcmp (&request, "pc:"))
- {
- if (!hexToInt (&request, &pc))
- return "E10"; /* badly formed packet */
- n_frame = curframe.valid ? curframe.frame_id + 1 : 0;
- gdb_note ("STUB: call fetch_trace_frame_pc (id %d, ", n_frame);
- gdb_note ("pc 0x%X);\n", pc);
- ret = fetch_trace_frame_with_pc (&n_frame,
- (void *) pc,
- &curframe.format,
- &curframe.frame_data);
- }
- else if (msgcmp (&request, "tdp:"))
- {
- if (!hexToInt (&request, &tdp))
- return "E10"; /* badly formed packet */
- n_frame = curframe.valid ? curframe.frame_id + 1: 0;
- gdb_note ("STUB: call fetch_trace_frame_tdp (id %d, ", n_frame);
- gdb_note ("tdp 0x%X);\n", tdp);
- ret = fetch_trace_frame_with_tdp (&n_frame,
- tdp,
- &curframe.format,
- &curframe.frame_data);
- }
- else if (msgcmp (&request, "range:"))
- {
- if (!(hexToInt (&request, &start) &&
- *request++ == ':'))
- return "E11"; /* badly formed packet, field 1 */
- else if (!hexToInt (&request, &stop))
- return "E12"; /* badly formed packet, field 2 */
- n_frame = curframe.valid ? curframe.frame_id + 1: 0;
- gdb_note ("STUB: call fetch_trace_frame_range (id %d, ", n_frame);
- gdb_note ("start 0x%X, ", start);
- gdb_note ("stop 0x%X);\n", stop);
- ret = fetch_trace_frame_with_pc_in_range (&n_frame,
- (void *) start,
- (void *) stop,
- &curframe.format,
- &curframe.frame_data);
- }
- else if (msgcmp (&request, "outside:"))
- {
- if (!(hexToInt (&request, &start) &&
- *request++ == ':'))
- return "E11"; /* badly formed packet, field 1 */
- else if (!hexToInt (&request, &stop))
- return "E12"; /* badly formed packet, field 2 */
- n_frame = curframe.valid ? curframe.frame_id + 1: 0;
- gdb_note ("STUB: call fetch_trace_frame_outside (id %d, ", n_frame);
- gdb_note ("start 0x%X, ", start);
- gdb_note ("stop 0x%X);\n", stop);
- ret = fetch_trace_frame_with_pc_outside (&n_frame,
- (void *) start,
- (void *) stop,
- &curframe.format,
- &curframe.frame_data);
- }
- else /* simple TFind by frame number: */
- {
- if (!hexToInt (&request, &frameno))
- return "E10"; /* badly formed packet */
- if (frameno != (unsigned long) -1)
- {
- gdb_note ("STUB: call fetch_trace_frame (id %d);\n", frameno);
- ret = fetch_trace_frame (n_frame = frameno,
- &curframe.format,
- &curframe.frame_data);
-#if 0
- printp("STUB: fetch_trace_frame: return %d\n", ret);
-#endif
- }
- else /* discard any trace frame, debug "the real world" */
- {
- if (curframe.valid)
- gdb_note ("STUB: discard current trace frame #%d.\n",
- curframe.frame_id);
- curframe.valid = 0;
- return "OK";
- }
- }
- if (ret == OK_TARGET_RESPONSE) /* fetch_trace_frame succeeded */
- { /* setup for debugging the trace frame */
- curframe.valid = 1;
- curframe.frame_id = n_frame;
- curframe.tdp_id = curframe.frame_data->id;
-
- memset ((char *) &curframe.traceregs, 0,
- sizeof (curframe.traceregs));
- curframe.traceregs[PC] = (unsigned long)
- curframe.frame_data->program_counter;
-
- if (curframe.format)
- {
- unsigned long regs_mask = curframe.format->regs_mask;
- unsigned long *regs, *stack, *mem;
- unsigned long regno, index = 0;
- CFD *dummy;
-
- if ((ret = get_addr_to_frame_regs_stack_mem
- (curframe.frame_data, &dummy, &regs, &stack, &mem))
- != OK_TARGET_RESPONSE)
- {
- curframe.valid = 0;
- sprintp (retbuf, "E2%x", ret);
- return (char *)
- dtc_error_ret ((int) &retbuf,
- "get_addr_to_frame_regs_stack_mem",
- ret);
- }
-
- if (remote_debug > 1)
- { /* echo what we've found to gdb console */
- sprintp (spare_buffer,
- "STUB: Found frame %d, TDP %d, format %d (%s):\n",
- curframe.frame_id,
- curframe.tdp_id & 0x7fffffff,
- curframe.format->id,
- curframe.tdp_id & 0x80000000 ?
- "trap frame" : "stepping frame");
- gdb_puts (spare_buffer);
- }
- /* copy trace frame regs into stub's data format */
- for (regno = 0, index = 0;
- regno < 16;
- regno++, regs_mask >>= 1)
- if (regs_mask & 1) /* got a collected register */
- {
- curframe.traceregs[regno] = regs[index++];
- if (remote_debug > 1)
- {
- sprintp (spare_buffer,
- " Collected 0x%08x for register %d.\n",
- curframe.traceregs[regno], regno);
- gdb_puts (spare_buffer);
- }
- }
- if (remote_debug > 1)
- {
- long midx, ridx, len;
- MEMRANGE_DEF *mrange;
- unsigned char *data, *base;
-
- if (curframe.format->stack_size > 0)
- {
- len = curframe.format->stack_size;
- sprintp (spare_buffer,
- " Collected %d bytes of stack at 0x%x:\n",
- len, curframe.traceregs[A7]);
- gdb_puts (spare_buffer);
-
- /* print stack data, but stay under msg len */
- if (len >= (NUMREGBYTES/2 - 2))
- len = (NUMREGBYTES/2 - 3);
- mem2hex ((unsigned char *) stack,
- spare_buffer, len, 0);
- spare_buffer [len * 2] = '\n';
- spare_buffer [len * 2 + 1] = '\0'; /* EOS */
- gdb_puts (spare_buffer);
- }
- else
- gdb_puts ("Stack not collected\n");
-
- for (midx = 0;
- get_addr_to_a_mem_range (curframe.frame_data,
- midx,
- &mrange,
- (void **) &data)
- == OK_TARGET_RESPONSE;
- midx++)
- {
- if ((mrange->typecode == 0) ||
- (mrange->typecode == (unsigned long) -1))
- {
- sprintp (spare_buffer,
- " Collected %d bytes at MEM: 0x%x:\n",
- mrange->size, mrange->offset);
- base = (unsigned char *) mrange->offset;
- }
- else
- {
- if ((ridx = elinum_to_index (mrange->typecode)) > 0)
- base = (unsigned char *) curframe.traceregs[ridx]
- + (long) mrange->offset;
- else
- {
- sprintp (spare_buffer,
- "STUB: bad typecode in memrange #%d: (0x%x,0x%x,0x%x).\n",
- midx,
- mrange->typecode,
- mrange->offset,
- mrange->size);
- gdb_puts (spare_buffer);
- continue;
- }
- sprintp (spare_buffer,
- " Collected %d bytes at 0x%x (REG %X + %d):\n",
- mrange->size,
- base,
- mrange->typecode,
- mrange->offset);
- }
- gdb_puts (spare_buffer);
- len = mrange->size;
- if (len >= (NUMREGBYTES/2 - 2))
- len = (NUMREGBYTES/2 - 3);
- mem2hex (data, spare_buffer, len, 0);
- spare_buffer [len * 2] = '\n';
- spare_buffer [len * 2 + 1] = '\0'; /* EOS */
- gdb_puts (spare_buffer);
- }
- }
- }
- sprintp (retbuf, "F%xT%x", n_frame, curframe.tdp_id & 0x7fffffff);
- return retbuf;
- }
- else if (ret == NOT_FOUND_TARGET_RESPONSE)
- {
- /* Here's a question: if the fetch_trace_frame call failed
- (which probably means a bad "TFIND" command from GDB),
- should we remain focused on the previous frame (if any),
- or should we revert to "no current frame"?
- */
- return "F-1";
- }
- else
- {
- sprintp (retbuf, "E2%x", ret);
- return (char *) dtc_error_ret ((int) &retbuf,
- "fetch_trace_frame[...]",
- ret);
- }
- }
- else /* unknown trace command */
- {
- return "";
- }
-}
-
-/* Table used by the crc32 function to calcuate the checksum. */
-static unsigned long crc32_table[256];
-
-static int crc_mem_err;
-
-static unsigned long
-crc32 (buf, len, crc)
- unsigned char *buf;
- int len;
- unsigned long crc;
-{
- crc_mem_err = FALSE;
-
- if (! crc32_table[1])
- {
- /* Initialize the CRC table and the decoding table. */
- int i, j;
- unsigned int c;
-
- for (i = 0; i < 256; i++)
- {
- for (c = i << 24, j = 8; j > 0; --j)
- c = c & 0x80000000 ? (c << 1) ^ 0x04c11db7 : (c << 1);
- crc32_table[i] = c;
- }
- }
-
- while (len--)
- {
- if (read_access_violation (buf))
- {
- crc_mem_err = TRUE;
- return -1;
- }
- crc = (crc << 8) ^ crc32_table[((crc >> 24) ^ *buf++) & 255];
- }
- return crc;
-}
-
-static char *
-crc_query (cmd)
- char *cmd;
-{
- unsigned long startmem, len, crc;
- static char buf[32];
-
- if (hexToInt (&cmd, &startmem) &&
- *cmd++ == ',' &&
- hexToInt (&cmd, &len))
- {
- crc = crc32 ((unsigned char *) startmem, len, 0xffffffff);
- if (!crc_mem_err)
- {
- sprintp (buf, "C%08x", crc);
- return buf;
- }
- /* else error, fall thru */
- }
- sprintp (buf, "E01");
- return buf;
-}
-
-
-static char *
-handle_test (request)
- char *request;
-{
- ULONG args[7];
- int i;
-
- /* Parse the arguments, a comma-separated list of hex numbers, into
- ARGS. Parse at most six arguments. */
- i = 1;
- if (*request != '\0')
- while (i < 7)
- {
- if (! hexToInt (&request, &args[i++]))
- return "E01";
- if (*request == '\0')
- break;
- if (*request++ != ',')
- return "E01";
- }
-
- /* Fill the rest of the args array with zeros. This is what the
- INLINES command processor does with omitted arguments. */
- for (; i < 7; i++)
- args[i] = 0;
-
- gdb_c_test (args);
-
- return "OK";
-}
-
-
-/* GDB_TRAP_1_HANDLER
-
- By the time this is called, the registers have been saved in "registers",
- and the interrupt priority has been set to permit serial UART interrupts.
-
- However, since no gdb request has yet been received, and there is no
- equivalent of getpacket for us to wait on, we can't sit here waiting
- for packets and processing them.
-
- In fact, the ONLY thing for us to do here is sit and wait.
- As gdb sends packet requests, they will handle themselves at the
- interrupt level. When gdb decides we can continue, it will reset
- the global variable "gdb_handling_trap1", and we will return
- (whereupon registers will be restored etc.) */
-
-void gdb_trap_1_handler( void )
-{
- gdb_handling_trap1 = TRUE;
- sss_trace_flag = '\0'; /* shut off "trace bit" (indirectly) */
- gdb_signo = 5;
- putpacket( "S05" );
- while ( gdb_handling_trap1 )
- ;
- return;
-}
-
-void gdb_trace_handler( void )
-{
- sss_trace_flag = '\0'; /* shut off "trace bit" (indirectly) */
- gdb_handling_trap1 = TRUE;
- gdb_handling_sstrace = TRUE;
- gdb_signo = 5;
- putpacket( "S05" );
- while ( gdb_handling_trap1 )
- ;
- return;
-}
diff --git a/gdb/testsuite/gdb.trace/infotrace.exp b/gdb/testsuite/gdb.trace/infotrace.exp
deleted file mode 100644
index 6a117d3..0000000
--- a/gdb/testsuite/gdb.trace/infotrace.exp
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-gdb_file_cmd $binfile
-
-#
-# test "info tracepoints" command
-#
-
-gdb_delete_tracepoints
-set c_test_num [gdb_gettpnum gdb_c_test];
-set asm_test_num [gdb_gettpnum gdb_asm_test];
-if { $c_test_num <= 0 || $asm_test_num <= 0 } then {
- fail "setting tracepoints"
- return;
-}
-
-# 2.1 info tracepoints (all)
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$c_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*$asm_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*" \
- "2.1: info tracepoints (all)"
-
-# 2.2 info tracepoint (specific)
-gdb_test "info tracepoint $c_test_num" \
- "$c_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*" \
- "2.2a: info tracepoint $c_test_num (gdb_c_test)"
-
-gdb_test "info tracepoint $asm_test_num" \
- "$asm_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*" \
- "2.2b: info tracepoint $asm_test_num (gdb_asm_test)"
-
-# 2.3 info tracepoint (invalid tracepoint number)
-gdb_test "info tracepoint [expr $c_test_num + $asm_test_num]" \
- "No tracepoint number [expr $c_test_num + $asm_test_num]." \
- "2.3: info tracepoint (invalid tracepoint number)"
-
-# 2.4 info tracepoints (list of numbers)
-send_gdb "info tracepoints $c_test_num $asm_test_num \n"
-gdb_expect {
- -re "Num Enb .*$gdb_prompt $" {
- fail "2.4: info trace rejects multiple tracepoint numbers"
- }
- -re ".*$gdb_prompt $" {
- pass "2.4: info trace rejects multiple tracepoint numbers"
- }
-}
-
-# 2.5 help info trace
-gdb_test "help info tracepoints" \
- "Status of tracepoints, or tracepoint number NUMBER.*" \
- "2.5: help info tracepoints"
-
diff --git a/gdb/testsuite/gdb.trace/limits.c b/gdb/testsuite/gdb.trace/limits.c
deleted file mode 100644
index d9c02e7..0000000
--- a/gdb/testsuite/gdb.trace/limits.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Test program for tracing internal limits (number of tracepoints etc.)
- */
-
-int n = 6;
-
-int arr[64];
-
-static void foo(int x)
-{
-}
-
-static void bar(int y)
-{
-}
-
-static void baz(int z)
-{
-}
-
-static void begin () /* called before anything else */
-{
-}
-
-static void end () /* called after everything else */
-{
-}
-
-int
-main (argc, argv, envp)
- int argc;
- char *argv[], **envp;
-{
- int i;
-
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
- begin ();
- for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
- arr[i] = i + 1;
-
- foo (1);
- bar (2);
- baz (3);
- end ();
- return 0;
-}
-
diff --git a/gdb/testsuite/gdb.trace/limits.exp b/gdb/testsuite/gdb.trace/limits.exp
deleted file mode 100644
index eed1780..0000000
--- a/gdb/testsuite/gdb.trace/limits.exp
+++ /dev/null
@@ -1,316 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-if [istarget "m68k-*-elf"] then {
- pass "Test not supported on this target"
- return;
-}
-
-load_lib "trace-support.exp"
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-set testfile "limits"
-set srcfile ${testfile}.c
-set binfile $objdir/$subdir/$testfile
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-}
-
-# Tests:
-# 1) Meet and exceed artificial limit on number of tracepoints
-# 2) Meet and exceed artificial limit on number of memranges
-# 3) Meet and exceed artificial limit on bytes of bytecode data
-# [NOTE: number four is moved out into its own separate test module.]
-# 4) Meet and exceed artificial limit on bytes of trace buffer storage
-# (circular and non-circular modes). However note that a more
-# thorough test of the circular mode can be made separately.
-
-set cr "\[\r\n\]+"
-
-proc gdb_tracepoint_limit_test { } {
- global gdb_prompt
- global cr
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- # Set three tracepoints
- gdb_test "trace foo" \
- "Tracepoint \[0-9\]+ at .*" \
- "tracepoint limit test: set first tracepoint"
-
- gdb_test "trace bar" \
- "Tracepoint \[0-9\]+ at .*" \
- "tracepoint limit test: set second tracepoint"
-
- gdb_test "trace baz" \
- "Tracepoint \[0-9\]+ at .*" \
- "tracepoint limit test: set third tracepoint"
-
- # Set secret artificial tracepoint limit to four
- gdb_test "maint packet QTLimit:tp:4" \
- "received: .OK." \
- "tracepoint limit test: set limit to four"
-
- # Now sending three tracepoints should succeed.
- send_gdb "tstart\n"
- gdb_expect {
- -re "$cr$gdb_prompt" {
- pass "tracepoint limit test: send fewer than limit"
- }
- default {
- fail "tracepoint limit test: send fewer than limit"
- }
- }
-
- # Set secret artificial tracepoint limit to three
- gdb_test "maint packet QTLimit:tp:3" \
- "received: .OK." \
- "tracepoint limit test: set limit to three"
-
- # Now sending three tracepoints should still succeed.
- send_gdb "tstart\n"
- gdb_expect {
- -re "$cr$gdb_prompt" {
- pass "tracepoint limit test: send equal to limit"
- }
- default {
- fail "tracepoint limit test: send equal to limit"
- }
- }
-
- # Set secret artificial tracepoint limit to two
- gdb_test "maint packet QTLimit:tp:2" \
- "received: .OK." \
- "tracepoint limit test: set limit to two"
-
- # Now sending three tracepoints should fail.
- gdb_test "tstart" \
- ".*\[Ee\]rror.*" \
- "tracepoint limit test: send more than limit"
-
- # Clean up:
- gdb_test "tstop" "" ""
- gdb_test "maint packet QTLimit:tp:FFFFFFFF" "" ""
-}
-
-proc gdb_memrange_limit_test { } {
- global gdb_prompt
- global cr
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- # Set three tracepoints, and make 'em collect memranges
- gdb_test "trace foo" \
- "Tracepoint \[0-9\]+ at .*" \
- "memrange limit test: set first tracepoint"
-
- gdb_trace_setactions "memrange limit test: set first actions" \
- "" \
- "collect \$arg" "^$"
-
- gdb_test "trace bar" \
- "Tracepoint \[0-9\]+ at .*" \
- "memrange limit test: set second tracepoint"
-
- gdb_trace_setactions "memrange limit test: set second actions" \
- "" \
- "collect \$arg" "^$"
-
- gdb_test "trace baz" \
- "Tracepoint \[0-9\]+ at .*" \
- "memrange limit test: set third tracepoint"
-
- gdb_trace_setactions "memrange limit test: set third actions" \
- "" \
- "collect \$arg" "^$"
-
- # Set secret artificial memrange limit to four
- gdb_test "maint packet QTLimit:memrange:4" \
- "received: .OK." \
- "memrange limit test: set limit to four"
-
- # Now sending three memranges should still succeed.
- send_gdb "tstart\n"
- gdb_expect {
- -re "$cr$gdb_prompt" {
- pass "memrange limit test: send fewer than limit"
- }
- default {
- fail "memrange limit test: send fewer than limit"
- }
- }
-
- # Set secret artificial memrange limit to three
- gdb_test "maint packet QTLimit:memrange:3" \
- "received: .OK." \
- "memrange limit test: set limit to three"
-
- # Now sending three memranges should still succeed.
- send_gdb "tstart\n"
- gdb_expect {
- -re "$cr$gdb_prompt" {
- pass "memrange limit test: send equal to limit"
- }
- default {
- fail "memrange limit test: send equal to limit"
- }
- }
-
- # Set secret artificial memrange limit to two
- gdb_test "maint packet QTLimit:memrange:2" \
- "received: .OK." \
- "memrange limit test: set limit to two"
-
- # Now sending three memranges should fail.
- gdb_test "tstart" \
- ".*\[Ee\]rror.*" \
- "memrange limit test: send more than limit"
-
- # Clean up:
- gdb_test "tstop" "" ""
- gdb_test "maint packet QTLimit:memrange:FFFFFFFF" "" ""
-}
-
-
-proc gdb_bytecode_limit_test { } {
- global gdb_prompt
- global cr
-
- # Make sure we're in a sane starting state.
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- gdb_delete_tracepoints
-
- # Set three tracepoints
- gdb_test "trace foo" \
- "Tracepoint \[0-9\]+ at .*" \
- "bytecode limit test: set first tracepoint"
-
- gdb_trace_setactions "bytecode limit test: set first actions" \
- "" \
- "collect x + n" "^$"
-
- gdb_test "trace bar" \
- "Tracepoint \[0-9\]+ at .*" \
- "bytecode limit test: set second tracepoint"
-
- gdb_trace_setactions "bytecode limit test: set second actions" \
- "" \
- "collect y + n" "^$"
-
- gdb_test "trace baz" \
- "Tracepoint \[0-9\]+ at .*" \
- "bytecode limit test: set third tracepoint"
-
- gdb_trace_setactions "bytecode limit test: set third actions" \
- "" \
- "collect z + n" "^$"
-
- # Set secret artificial bytecode limit to a large number
- gdb_test "maint packet QTLimit:bytecode:400" \
- "received: .OK." \
- "bytecode limit test: set limit to large"
-
- # Now sending three bytecodes should still succeed.
- send_gdb "tstart\n"
- gdb_expect {
- -re "$cr$gdb_prompt" {
- pass "bytecode limit test: send fewer than limit"
- }
- default {
- fail "bytecode limit test: send fewer than limit"
- }
- }
-
- # Set secret artificial bytecode limit to a small number
- gdb_test "maint packet QTLimit:bytecode:40" \
- "received: .OK." \
- "bytecode limit test: set limit to small"
-
- # Now sending three bytecodes should fail.
- gdb_test "tstart" \
- ".*\[Ee\]rror.*" \
- "bytecode limit test: send more than limit"
-
-
- # Clean up:
- gdb_test "tstop" "" ""
- gdb_test "maint packet QTLimit:bytecode:FFFFFFFF" "" ""
-}
-
-proc gdb_trace_limits_tests { } {
- global gdb_prompt
-
- # We generously give ourselves one "pass" if we successfully
- # detect that this test cannot be run on this target!
-
- if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
- return 1;
- }
-
- if [gdb_test "maint packet QTLimit:tp:ffffffff" \
- "received: .OK." ""] then {
- pass "This test cannot be run on this target"
- return 1;
- }
-
- if [gdb_test "maint packet QTLimit:memrange:ffffffff" \
- "received: .OK." ""] then {
- pass "This test cannot be run on this target"
- return 1;
- }
-
- if [gdb_test "maint packet QTLimit:bytecode:ffffffff" \
- "received: .OK." ""] then {
- pass "This test cannot be run on this target"
- return;
- }
-
- gdb_tracepoint_limit_test
- gdb_memrange_limit_test
- gdb_bytecode_limit_test
-}
-
-# Start with a fresh gdb.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load $binfile
-
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-# Body of test encased in a proc so we can return prematurely.
-gdb_trace_limits_tests
diff --git a/gdb/testsuite/gdb.trace/packetlen.exp b/gdb/testsuite/gdb.trace/packetlen.exp
deleted file mode 100644
index 458f732..0000000
--- a/gdb/testsuite/gdb.trace/packetlen.exp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp"
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- load_lib "emc-support.exp"
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
- gdb_test "set remotetimeout 6" "" ""
- set timeout 500
- gdb_target_monitor "$binfile"
- # Give a TSTOP and ignore errors, to make sure any previous trace is off
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- send_gdb "compare-sections CS\n"
- gdb_expect {
- -re "MIS-MATCHED.*$gdb_prompt $" {
- gdb_suppress_entire_file "Symbol file does not match target!
- all tests in this module will fail.";
- }
- -re ".*$gdb_prompt $" { }
- }
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
- gdb_load $binfile
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- runto_main
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-#
-# Test collecting a whole bunch of stuff at a single tracepoint.
-# The test is whether this crashes GDB.
-#
-
-gdb_delete_tracepoints
-gdb_test "trace gdb_c_test" "" ""
-gdb_trace_setactions "setup collect actions" \
- "" \
- "collect parm\[0\], parm\[1\], parm\[2\], parm\[3\]" "^$" \
- "collect parm\[4\], parm\[5\], parm\[6\], parm\[7\]" "^$" \
- "collect p, local_reg, local_static, local_static_sizeof" "^$" \
- "collect local_long, stack_ptr, end_of_stack" "^$" \
- "collect gdb_char_test, gdb_short_test, gdb_long_test" "^$" \
- "collect gdb_arr_test, gdb_struct1_test, gdb_struct2_test" "^$" \
- "collect gdb_structp_test, gdb_structpp_test, gdb_union1_test" "^$" \
- "end" ""
-
-gdb_test "tstart" "" "survive the long packet send"
-if [istarget "m68k-*-elf"] then {
- gdb_emclaptop_command "85,1,2,3,4,5,6"
- sleep 5
-} else {
- gdb_test "break end" "" ""
- gdb_test "continue" \
- "Continuing.*Breakpoint $decimal, end.*" \
- "run trace experiment"
-}
-
-gdb_test "tstop" "" "confirm: survived the long packet send"
-
diff --git a/gdb/testsuite/gdb.trace/passc-dyn.exp b/gdb/testsuite/gdb.trace/passc-dyn.exp
deleted file mode 100644
index d0c27ea..0000000
--- a/gdb/testsuite/gdb.trace/passc-dyn.exp
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-if [istarget "m68k-*-elf"] then {
- load_lib "emc-support.exp";
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
- gdb_test "set remotetimeout 6" "" ""
- set timeout 500
- gdb_target_monitor $binfile
- # Give a TSTOP and ignore errors, to make sure any previous trace is off
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- send_gdb "compare-sections CS\n"
- gdb_expect {
- -re "MIS-MATCHED.*$gdb_prompt $" {
- gdb_suppress_entire_file "Symbol file does not match target!
- all tests in this module will fail.";
- }
- -re ".*$gdb_prompt $" { }
- }
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
- gdb_load $binfile
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- runto_main
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# We generously give ourselves one "pass" if we successfully
-# detect that this test cannot be run on this target!
-if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
- return 1;
-
-}
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-
-#
-# test passcount dynamically (live target)
-#
-
-set baseline [gdb_find_recursion_test_baseline $srcfile];
-
-if { $baseline == -1 } then {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-
-# define relative source line numbers:
-# all subsequent line numbers are relative to this first one (baseline)
-
-set testline2 [expr $baseline + 4]
-set testline3 [expr $baseline + 5]
-set testline4 [expr $baseline + 6]
-
-#
-# test passcount command semantics (live test)
-#
-
-## Set three tracepoints with three different passcounts.
-## Verify that the experiment stops after the one with the
-## lowest passcount is hit.
-
-gdb_delete_tracepoints
-set tdp2 [gdb_gettpnum "$testline2"]
-set tdp3 [gdb_gettpnum "$testline3"]
-set tdp4 [gdb_gettpnum "$testline4"]
-if { $tdp2 <= 0 || $tdp3 <= 0 || $tdp4 <= 0 } then {
- fail "setting tracepoints"
- return;
-}
-
-gdb_test "passcount 4 $tdp2" "Setting tracepoint $tdp2's passcount to 4" \
- "4.5: set passcount for tracepoint $tdp2"
-gdb_test "passcount 2 $tdp3" "Setting tracepoint $tdp3's passcount to 2" \
- "4.5: set passcount for tracepoint $tdp3"
-gdb_test "passcount 3 $tdp4" "Setting tracepoint $tdp4's passcount to 3" \
- "4.5: set passcount for tracepoint $tdp4"
-
-gdb_test "tstart" "" ""
-
-if [istarget "m68k-*-elf"] then {
- gdb_emclaptop_command "85,1,2,3,4,5,6"
- sleep 5
- gdb_emclaptop_command "85,7,8,9,A,B,C"
- sleep 5
- gdb_emclaptop_command "85,D,E,F,10,11,12"
- sleep 5
- # gdb_test "tstop"
- ##
- ## Note! Must NOT give the tstop command, because the passcount
- ## has already stopped the experiment. You would not
- ## think this would be an error, but in EMC's mind it is...
- ##
-} else {
- gdb_test "break end" "" ""
- gdb_test "continue" \
- "Continuing.*Breakpoint $decimal, end.*" \
- "run trace experiment"
- gdb_test "tstop" "" ""
-}
-
-gdb_test "tfind none" "" ""
-if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x -1 x" ""] {
- gdb_suppress_entire_file "0: tfind none failed"
-}
-
-gdb_test "tfind tracepoint $tdp2" "" ""
-if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 0 x" ""] {
- gdb_suppress_entire_file "1: first tfind failed"
-}
-
-gdb_test "tfind tracepoint $tdp3" "" ""
-if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 1 x" ""] {
- gdb_suppress_entire_file "2: second tfind failed"
-}
-
-gdb_test "tfind tracepoint $tdp4" "" ""
-if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 2 x" ""] {
- gdb_suppress_entire_file "3: third tfind failed"
-}
-
-gdb_test "tfind tracepoint $tdp2" "" ""
-if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 3 x" ""] {
- gdb_suppress_entire_file "4: fourth tfind failed"
-}
-
-gdb_test "tfind tracepoint $tdp3" "" ""
-if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 4 x" ""] {
- gdb_suppress_entire_file "5: fifth tfind failed"
-}
-
-## We should now be at the last frame, because this frame's passcount
-## should have caused collection to stop. If we do a tfind now,
-## it should fail.
-
-gdb_test "tfind" "failed to find.*" "4.5: dynamic passcount test"
-
-# Finished!
-gdb_test "tfind none" "" ""
-
diff --git a/gdb/testsuite/gdb.trace/passcount.exp b/gdb/testsuite/gdb.trace/passcount.exp
deleted file mode 100644
index 1777693..0000000
--- a/gdb/testsuite/gdb.trace/passcount.exp
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-if [istarget "m68k-*-elf"] then {
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-gdb_file_cmd $binfile
-
-# define relative source line numbers:
-# all subsequent line numbers are relative to this first one (baseline)
-set baseline [gdb_find_recursion_test_baseline $srcfile];
-if { $baseline == -1 } then {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-
-set testline1 [expr $baseline + 3]
-
-#
-# test "passcount" command
-#
-
-gdb_delete_tracepoints
-set trcpt1 [gdb_gettpnum gdb_c_test];
-set trcpt2 [gdb_gettpnum gdb_asm_test];
-set trcpt3 [gdb_gettpnum $testline1];
-if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {
- fail "setting tracepoints"
- return;
-}
-
-# 4.1 passcount of specified tracepoint
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_recursion_test.*" \
- "4.1a: set three tracepoints, passcounts all zero"
-
-gdb_test "passcount 2 $trcpt1" \
- "Setting tracepoint $trcpt1.s passcount to 2" \
- "4.1b: set 1st tracepoint's passcount to two"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_recursion_test.*" \
- "4.1c: verify 1st tracepoint's passcount set to two"
-
-gdb_test "passcount 4 $trcpt2" \
- "Setting tracepoint $trcpt2.s passcount to 4" \
- "4.1d: set 2nd tracepoint's passcount to four"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_recursion_test.*" \
- "4.1c: verify 2nd tracepoint's passcount set to four"
-
-# 4.2 passcount of last (default) tracepoint
-
-gdb_test "passcount 6" \
- "Setting tracepoint $trcpt3.s passcount to 6" \
- "4.2b: set last (default) tp's passcount to six"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+6\[\t \]+.*in gdb_recursion_test.*" \
- "4.2b: verify last (default) tp's passcount set to six"
-
-# 4.3 run until stopped explicitly by user
-# [deferred to dynamic test section]
-
-# 4.4 reset the previously set passcounts to new values
-
-gdb_test "passcount 7" \
- "Setting tracepoint $trcpt3.s passcount to 7" \
- "4.4a: reset last (default) tp's passcount to seven"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+7\[\t \]+.*in gdb_recursion_test.*" \
- "4.4a: verify reset last (default) tp's passcount to seven"
-
-gdb_test "passcount 5 $trcpt2" \
- "Setting tracepoint $trcpt2.s passcount to 5" \
- "4.4b: reset second tracepoint's passcount to five"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+5\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+7\[\t \]+.*in gdb_recursion_test.*" \
- "4.4c: verify reset second tracepoint's passcount to five"
-
-# 4.20 <FIXME test number> passcount for "all"
-
-gdb_test "passcount 3 all" \
- ".*$trcpt1.s pass.* 3.*$trcpt2.s pass.* 3.*$trcpt3.s pass.* 3" \
- "4.20a: set all three passcounts to three"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+3\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+3\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+3\[\t \]+.*in gdb_recursion_test.*" \
- "4.20a: set all three passcounts to three"
-
-gdb_test "passcount 4 all" \
- ".*$trcpt1.s pass.* 4.*$trcpt2.s pass.* 4.*$trcpt3.s pass.* 4" \
- "4.20a: reset all three passcounts to four"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*in gdb_recursion_test.*" \
- "4.20b: reset all three passcounts to four"
-
-# 4.5 Verify trace stops on first "satisfied" passcount
-# [deferred to dynamic test section]
-
-# 4.6 minimum passcount boundary condition
-
-gdb_test "passcount 0 $trcpt1" \
- "Setting tracepoint $trcpt1.s passcount to 0" \
- "4.6: set passcount to zero"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*in gdb_recursion_test.*" \
- "4.6: set passcount to zero"
-
-# 4.7 (test a very large passcount)
-
-gdb_test "passcount 32767 $trcpt1" \
- "Setting tracepoint $trcpt1.s passcount to 32767" \
- "4.7: set passcount to large number (32767)"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+32767\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*in gdb_recursion_test.*" \
- "4.7: set passcount to large number (32767)"
-
-# 4.8 set passcount for invalid tracepoint
-
-gdb_test "passcount 1 [expr $trcpt2 + $trcpt3]" \
- "No tracepoint number [expr $trcpt2 + $trcpt3]." \
- "4.8: invalid tracepoint number in passcount"
-
-# 4.9 help passcount
-gdb_test "help passcount" "Set the passcount for a tracepoint.*" \
- "4.9: help passcount"
-
diff --git a/gdb/testsuite/gdb.trace/report.exp b/gdb/testsuite/gdb.trace/report.exp
deleted file mode 100644
index 28449fa..0000000
--- a/gdb/testsuite/gdb.trace/report.exp
+++ /dev/null
@@ -1,421 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- load_lib "emc-support.exp";
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
- gdb_test "set remotetimeout 6" "" ""
- set timeout 500
- gdb_target_monitor $binfile
- # Give a TSTOP and ignore errors, to make sure any previous trace is off
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- send_gdb "compare-sections CS\n"
- gdb_expect {
- -re "MIS-MATCHED.*$gdb_prompt $" {
- gdb_suppress_entire_file "Symbol file does not match target!
- all tests in this module will fail.";
- }
- -re ".*$gdb_prompt $" { }
- }
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
- gdb_load $binfile
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- runto_main
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# We generously give ourselves one "pass" if we successfully
-# detect that this test cannot be run on this target!
-if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
- return 1;
-
-}
-
-set cr "\[\r\n\]+"
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-#
-# test general reporting of trace experiment results
-#
-
-set testline1 0
-set testline2 0
-set testline3 0
-set testline4 0
-set testline5 0
-set testline6 0
-
-set arg1 1
-set arg2 2
-set arg3 3
-set arg4 4
-set arg5 5
-set arg6 6
-
-set gdb_recursion_test_baseline [gdb_find_recursion_test_baseline $srcfile];
-if { $gdb_recursion_test_baseline == -1 } {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-
-send_gdb "list $gdb_recursion_test_baseline, +12\n"
-gdb_expect {
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 1 " {
- set testline1 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 2 " {
- set testline2 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 3 " {
- set testline3 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 4 " {
- set testline4 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 5 " {
- set testline5 $expect_out(1,string)
- exp_continue
- }
- -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 6 " {
- set testline6 $expect_out(1,string)
- exp_continue
- }
- -re ".*$gdb_prompt $" {
- if { ($testline1 == 0) || ($testline2 == 0) || ($testline3 == 0) || ($testline4 == 0) || ($testline5 == 0) || ($testline6 == 0) } {
- gdb_suppress_entire_file "failed to locate test source lines:
-all tests in this module will fail."
- }
- }
- default {
- gdb_suppress_entire_file "failed to locate test source lines (def):
-all tests in this module will fail."
- }
-}
-
-#
-# Setup trace experiment. This will involve:
-# 1) a tracepoint where nothing is collected
-# 2) a tracepoint where only regs are collected
-# 3) a tracepoint where only args are collected
-# 4) a tracepoint where only locals are collected
-# 5) a tracepoint where some amount of stack memory is collected.
-# 6) a tracepoint where some expressions are collected.
-#
-
-gdb_delete_tracepoints
-set tdp1 [gdb_gettpnum $testline1]
-set tdp2 [gdb_gettpnum $testline2]
-set tdp3 [gdb_gettpnum $testline3]
-set tdp4 [gdb_gettpnum $testline4]
-set tdp5 [gdb_gettpnum $testline5]
-set tdp6 [gdb_gettpnum $testline6]
-
-if { $tdp1 <= 0 || $tdp2 <= 0 || $tdp3 <= 0 || \
- $tdp4 <= 0 || $tdp5 <= 0 || $tdp6 <= 0 } then {
- fail "setting tracepoints failed"
- return;
-}
-
-gdb_trace_setactions "9.x: setup TP to collect regs" \
- "$tdp2" \
- "collect \$regs" "^$"
-
-
-gdb_trace_setactions "9.x: setup TP to collect args" \
- "$tdp3" \
- "collect \$args" "^$"
-
-gdb_trace_setactions "9.x: setup TP to collect locals" \
- "$tdp4" \
- "collect \$locs" "^$"
-
-gdb_trace_setactions "9.x: setup TP to collect stack memory" \
- "$tdp5" \
- "collect \$fp, \*\(void \*\*\) \$sp @ 64" "^$"
-
-gdb_trace_setactions "9.x: setup TP to collect expressions" \
- "$tdp6" \
- "collect gdb_char_test, gdb_short_test, gdb_long_test" "^$"
-
-gdb_test "tstart" "" ""
-
-if [istarget "m68k-*-elf"] then {
- gdb_emclaptop_command "85,$arg1,$arg2,$arg3,$arg4,$arg5,$arg6"
- sleep 5
-
-} else {
- gdb_test "break end" "" ""
- gdb_test "continue" \
- "Continuing.*Breakpoint $decimal, end.*" \
- "run trace experiment"
-}
-
-gdb_test "tstop" "" ""
-
-#
-# 9.1 test the tdump command
-#
-
-set timeout 60
-
-gdb_tfind_test "9.1: init: make sure not debugging any trace frame" "none" "-1"
-
-gdb_tfind_test "9.1: find frame for TP $tdp1" "tracepoint $tdp1" \
- "\$tracepoint" "$tdp1"
-
-# Nothing was collected at tdp1, so this tdump should be empty.
-gdb_test "tdump" \
- "Data collected at tracepoint $tdp1, trace frame $decimal:" \
- "9.1: tdump, nothing collected"
-
-gdb_tfind_test "9.1: find frame for TP $tdp2" "tracepoint $tdp2" \
- "\$tracepoint" "$tdp2"
-
-# regs were collected at tdp2.
-# How to match for the output of "info registers" on an unknown architecture?
-# For now, assume that every architecture has a register called "pc".
-gdb_test "tdump" \
- "\[\r\n\]pc .*" \
- "9.1: tdump, regs collected"
-
-gdb_tfind_test "9.1: find frame for TP $tdp3" "tracepoint $tdp3" \
- "\$tracepoint" "$tdp3"
-
-# args were collected at tdp3
-gdb_test "tdump" \
- "depth = 3.*q1 = 2.*q2 = 2.*q3 = 3.*q4 = 4.*q5 = 5.*q6 = 6" \
- "9.1: tdump, args collected"
-
-gdb_tfind_test "9.1: find frame for TP $tdp4" "tracepoint $tdp4" \
- "\$tracepoint" "$tdp4"
-
-# locals were collected at tdp4
-gdb_test "tdump" \
- "q = 1" \
- "9.1: tdump, locals collected"
-
-gdb_tfind_test "9.1: find frame for TP $tdp5" "tracepoint $tdp5" \
- "\$tracepoint" "$tdp5"
-
-# stack was collected at tdp5, plus the frame pointer
-gdb_test "tdump" \
- ".fp = .*sp @ 64 = .*" \
- "9.1: tdump, memrange collected"
-
-gdb_tfind_test "9.1: find frame for TP $tdp6" "tracepoint $tdp6" \
- "\$tracepoint" "$tdp6"
-
-# globals were collected at tdp6
-gdb_test "tdump" \
- "gdb_char_test = 1.*gdb_short_test = 2.*gdb_long_test = 3" \
- "9.1: tdump, global variables collected"
-
-# 9.2 test tdump with arguments
-# [no go, tdump doesn't have any arguments]
-
-# 9.3 help tdump
-
-gdb_test "help tdump" "Print everything collected at the current.*" \
- "9.3: help tdump"
-
-set linecount1 0
-set linecount2 0
-set linecount3 0
-set linecount4 0
-set linecount5 0
-set linecount6 0
-
-gdb_tfind_test "11.x, 12.1: find start frame" "start" "0"
-
-#
-# 11.x test built-in trace variables $trace_frame, $trace_line etc.
-#
-
-gdb_test "printf \"x %d x\\n\", \$trace_frame" "x 0 x" \
- "11.1: test \$trace_frame"
-
-gdb_test "printf \"x %d x\\n\", \$tracepoint" "x $tdp1 x" \
- "11.2: test \$tracepoint"
-
-gdb_test "printf \"x %d x\\n\", \$trace_line" "x $testline1 x" \
- "11.3: test \$trace_line"
-
-send_gdb "print \$trace_file\n"
-gdb_expect {
- -re "\\$\[0-9\]+ = \"$srcfile\"\[\r\n\]+$gdb_prompt $" {
- pass "11.4: test \$trace_file"
- }
- -re "\\$\[0-9\]+ = \"$srcdir/$subdir/$srcfile\"\[\r\n\]+$gdb_prompt $" {
- pass "11.4: test \$trace_file"
- }
- -re "$gdb_prompt $" {
- fail "11.4: test \$trace_file"
- }
- timeout {
- fail "11.4: test \$trace_file (timeout)"
- }
-}
-
-#gdb_test "print \$trace_file" "\"$srcdir/$subdir/$srcfile\"" \
-# "11.4: test \$trace_file"
-
-#
-# 12.x test report generation using arbitrary GDB commands, loops etc.
-#
-
-send_gdb "while \$trace_frame != -1\n output \$trace_file\n printf \", line \%d \(tracepoint #\%d\)\\n\", \$trace_line, \$tracepoint\n tfind\n end\n"
-gdb_expect {
- -re " line $testline1 .tracepoint .$tdp1" {
- set linecount1 [expr $linecount1 + 1]
- exp_continue
- }
- -re " line $testline2 .tracepoint .$tdp2" {
- set linecount2 [expr $linecount2 + 1]
- exp_continue
- }
- -re " line $testline3 .tracepoint .$tdp3" {
- set linecount3 [expr $linecount3 + 1]
- exp_continue
- }
- -re " line $testline4 .tracepoint .$tdp4" {
- set linecount4 [expr $linecount4 + 1]
- exp_continue
- }
- -re " line $testline5 .tracepoint .$tdp5" {
- set linecount5 [expr $linecount5 + 1]
- exp_continue
- }
- -re " line $testline6 .tracepoint .$tdp6" {
- set linecount6 [expr $linecount6 + 1]
- exp_continue
- }
- -re ".*$gdb_prompt $" {
- if { ($linecount1 < 4) || ($linecount2 < 4) || ($linecount3 < 4) || ($linecount4 < 4) || ($linecount5 < 4) || ($linecount6 < 4) } {
- fail "12.1: trace report #1"
- } else {
- pass "12.1: trace report #1"
- }
- }
- timeout {
- fail "12.1: trace report #1 (timeout)"
- }
-}
-
-gdb_tfind_test "12.2: find first TDP #2 frame" "tracepoint $tdp2" \
- "\$tracepoint" "$tdp2"
-
-set linecount2 0
-
-send_gdb "while \$trace_frame != -1\n printf \"tracepoint #\%d, FP 0x\%08x, SP 0x\%08x, PC 0x%08x\\n\", \$tracepoint, \$fp, \$sp, \$pc\n tfind tracepoint\n end\n"
-gdb_expect {
- -re "tracepoint #$tdp2, FP $hex, SP $hex, PC $hex" {
- set linecount2 [expr $linecount2 + 1]
- exp_continue
- }
- -re ".*$gdb_prompt $" {
- if { ($linecount2 < 4) } {
- fail "12.2: trace report #2"
- } else {
- pass "12.2: trace report #2"
- }
- }
- timeout {
- fail "12.2: trace report #2 (timeout)"
- }
-}
-
-gdb_tfind_test "12.3: find first TDP #3 frame" "tracepoint $tdp3" \
- "\$tracepoint" "$tdp3"
-
-set linecount3 0
-
-send_gdb "while \$trace_frame != -1\n printf \"TDP #\%d, frame \%d: depth = \%d, q1 = \%d\\n\", \$tracepoint, \$trace_frame, depth, q1\n tfind tracepoint\n end\n"
-gdb_expect {
- -re "TDP #$tdp3, frame $decimal: depth = $decimal, q1 = $decimal" {
- set linecount3 [expr $linecount3 + 1]
- exp_continue
- }
- -re ".*$gdb_prompt $" {
- if { ($linecount3 < 4) } {
- fail "12.3: trace report #3"
- } else {
- pass "12.3: trace report #3"
- }
- }
- timeout {
- fail "12.3: trace report #3 (timeout)"
- }
-}
-
-gdb_tfind_test "12.4: find first TDP #6 frame" "tracepoint $tdp6" \
- "\$tracepoint" "$tdp6"
-
-set linecount6 0
-
-send_gdb "while \$trace_frame != -1\n printf \"TDP #\%d, frame %d: char_test = \%d, long_test = \%d\\n\", \$tracepoint, \$trace_frame, gdb_char_test, gdb_long_test\n tfind tracepoint\n end\n"
-gdb_expect {
- -re "TDP #$tdp6, frame $decimal: char_test = $arg1, long_test = $arg3" {
- set linecount6 [expr $linecount6 + 1]
- exp_continue
- }
- -re ".*$gdb_prompt $" {
- if { ($linecount6 < 4) } {
- fail "12.4: trace report #4"
- } else {
- pass "12.4: trace report #4"
- }
- }
- timeout {
- fail "12.4: trace report #4 (timeout)"
- }
-}
-
-# Finished!
-gdb_tfind_test "finished: make sure not debugging any trace frame" "none" "-1"
diff --git a/gdb/testsuite/gdb.trace/save-trace.exp b/gdb/testsuite/gdb.trace/save-trace.exp
deleted file mode 100644
index b461ad8..0000000
--- a/gdb/testsuite/gdb.trace/save-trace.exp
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-gdb_file_cmd $binfile
-
-# define relative source line numbers:
-# all subsequent line numbers are relative to this first one (baseline)
-set baseline [gdb_find_recursion_test_baseline $srcfile];
-if { $baseline == -1 } then {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-
-set testline1 [expr $baseline + 4]
-set testline2 [expr $baseline + 5]
-set testline3 [expr $baseline + 6]
-set testline4 [expr $baseline + 7]
-set testline5 [expr $baseline + 8]
-set testline6 [expr $baseline + 9]
-
-#
-# test save-trace command
-#
-
-# setup a set of tracepoints to save
-
-gdb_delete_tracepoints
-
-foreach x { 1 2 3 4 5 6 } {
- set testline [expr \$testline$x];
- set trcpt [gdb_gettpnum $testline];
- set trcpt$x $trcpt;
- gdb_test "passcount $x" \
- "Setting tracepoint $trcpt.* to $x" \
- "10.x: set passcount for tracepoint $trcpt"
-
- gdb_trace_setactions "10.x: set actions for tracepoint $x" \
- "" \
- "collect q$x" "^$" \
- "while-stepping $x" "^$" \
- "collect q$x" "^$" \
- "end" "^$"
-}
-
-
-proc gdb_verify_tracepoints { testname } {
- global gdb_prompt;
-
- set ws "\[\t \]+"
- set nl "\[\r\n\]+"
- set ourstate 1;
- set result "pass";
- send_gdb "info tracepoints\n";
- gdb_expect 10 {
- -re "y\[\t \]+0x\[0-9a-fA-F\]+\[\t \]+(\[0-9\]+)\[\t \]+(\[0-9\]+)\[\t \]+in gdb_recursion_test\[^\r\n\]+" {
- if { $expect_out(1,string) != $expect_out(2,string) } {
- #set result "fail";
- }
- if { $expect_out(1,string) != $ourstate } {
- set result "fail";
- }
- incr ourstate;
- exp_continue;
- }
- -re "$gdb_prompt $" {
- if { $ourstate >= 6 } {
- set result "pass";
- } else {
- set result "fail";
- }
- }
- default {
- set result "fail";
- }
- }
- $result $testname;
- return $result;
-}
-
-gdb_verify_tracepoints "10.x: verify trace setup";
-
-# 10.1 Save current tracepoint definitions to a file
-
-remote_file host delete savetrace.tr
-gdb_test "save-tracepoints savetrace.tr" \
- "Tracepoints saved to file 'savetrace.tr'." \
- "10.1: save tracepoint definitions"
-
-# 10.2 Read back tracepoint definitions
-
-gdb_delete_tracepoints
-gdb_test "info tracepoints" "No tracepoints." "10.2: delete tracepoints"
-gdb_test "source savetrace.tr" \
- "Tracepoint \[0-9\]+ at .*" \
- "10.2: read back saved tracepoints"
-gdb_verify_tracepoints "10.2: verify recovered tracepoints";
-remote_file host delete savetrace.tr
-
-# 10.3 repeat with a path to the file
-
-remote_file host delete $objdir/savetrace.tr
-gdb_test "save-tracepoints $objdir/savetrace.tr" \
- "Tracepoints saved to file '$objdir/savetrace.tr'." \
- "10.3: save tracepoint definitions, full path"
-
-gdb_delete_tracepoints
-gdb_test "info tracepoints" "No tracepoints." "10.3: delete tracepoints"
-gdb_test "source $objdir/savetrace.tr" \
- "Tracepoint \[0-9\]+ at .*" \
- "10.4: read saved tracepoints, full path"
-gdb_verify_tracepoints "10.3: verify recovered tracepoints, full path";
-remote_file host delete $objdir/savetrace.tr
-
-# 10.5 invalid filename
-# [deferred -- not sure what a good invalid filename would be]
-
-# 10.6 save-trace (file already exists)
-# [expect it to clobber the old one]
-
-# 10.7 help save-tracepoints
-
-gdb_test "help save-tracepoints" \
- "Save current tracepoint definitions as a script.*" \
- "10.7: help save-tracepoints"
diff --git a/gdb/testsuite/gdb.trace/tfind.exp b/gdb/testsuite/gdb.trace/tfind.exp
deleted file mode 100644
index f678975..0000000
--- a/gdb/testsuite/gdb.trace/tfind.exp
+++ /dev/null
@@ -1,405 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- load_lib "emc-support.exp";
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
- gdb_test "set remotetimeout 6" "" ""
- set timeout 500
- gdb_target_monitor $binfile
- # Give a TSTOP and ignore errors, to make sure any previous trace is off
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- send_gdb "compare-sections CS\n"
- gdb_expect {
- -re "MIS-MATCHED.*$gdb_prompt $" {
- gdb_suppress_entire_file "Symbol file does not match target!
- all tests in this module will fail.";
- }
- -re ".*$gdb_prompt $" { }
- }
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" "$binfile -O1" \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
- gdb_load $binfile
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- runto_main
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# We generously give ourselves one "pass" if we successfully
-# detect that this test cannot be run on this target!
-if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
- return 1;
-
-}
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-# define relative source line numbers:
-# all subsequent line numbers are relative to this first one (baseline)
-set baseline [gdb_find_recursion_test_baseline $srcfile];
-if { $baseline == -1 } then {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-
-set testline1 [expr $baseline + 1]
-set testline2 [expr $baseline + 5]
-set testline3 [expr $baseline + 6]
-set testline4 [expr $baseline + 7]
-set testline5 [expr $baseline + 8]
-
-#
-# test tfind command
-#
-
-gdb_delete_tracepoints
-set tdp1 [gdb_gettpnum "\*gdb_recursion_test"]
-set tdp2 [gdb_gettpnum $testline2]
-set tdp3 [gdb_gettpnum $testline3]
-set tdp4 [gdb_gettpnum $testline4]
-set tdp5 [gdb_gettpnum $testline5]
-if { $tdp1 <= 0 || $tdp2 <= 0 || $tdp3 <= 0 || \
- $tdp4 <= 0 || $tdp5 <= 0 } then {
- fail "setting tracepoints"
- return;
-}
-
-# 6.1 test tstart command
-send_gdb "tstart\n"
-gdb_expect {
- -re "Trace can only be run on remote targets.*$gdb_prompt $" {
- fail "6.1: tstart (not connected to remote?)"
- return;
- }
- -re "Target does not support this command.*$gdb_prompt $" {
- fail "6.1: tstart (connected to wrong target?)"
- return;
- }
- -re "Target returns error code.*$gdb_prompt $" {
- fail "6.1: tstart (connected to wrong target?)"
- return;
- }
- -re "$gdb_prompt $" {
- pass "6.1: tstart"
- }
- default {
- fail "6.1: tstart (default)"
- return;
- }
-}
-
-# test tstatus (when trace on)
-gdb_test "tstatus" "\[Tt\]race is running.*" "test tstatus on"
-
-# 6.2 test help tstart
-gdb_test "help tstart" "Start trace data collection." "6.2: help tstart"
-
-if [istarget "m68k-*-elf"] then {
- gdb_emclaptop_command "85,1,2,3,4,5,6"
- sleep 5
-
- gdb_emclaptop_command "85,7,8,9,A,B,C"
- sleep 5
-} else {
- gdb_test "break end" "" ""
- gdb_test "continue" \
- "Continuing.*Breakpoint $decimal, end.*" \
- "run trace experiment"
-}
-
-# 7.1 test tstop command
-send_gdb "tstop\n"
-gdb_expect {
- -re "Trace can only be run on remote targets.*$gdb_prompt $" {
- fail "7.1: tstop (not connected to remote?)"
- return;
- }
- -re "Target does not support this command.*$gdb_prompt $" {
- fail "7.1: tstop (connected to wrong target?)"
- return;
- }
- -re "Target returns error code.*$gdb_prompt $" {
- fail "7.1: tstop (connected to wrong target?)"
- return;
- }
- -re "$gdb_prompt $" {
- pass "7.1: tstop"
- }
- default {
- fail "7.1: tstop (default)"
- return;
- }
-}
-
-# 7.2 test help tstop
-gdb_test "help tstop" "Stop trace data collection." "7.2: help tstop"
-
-# test tstatus (when trace off)
-gdb_test "tstatus" "\[Tt\]race.* not running.*" "test tstatus off"
-
-## record starting PC
-set save_pc [gdb_readexpr "(unsigned long) \$pc"];
-if { $save_pc == -1 } then {
- fail "could not read PC"
- return;
-}
-
-# 8.7 tfind start
-## check $trace_frame == 0
-gdb_tfind_test "8.7: tfind start command" "start" "0";
-## check $pc != startPC
-gdb_test "printf \"x \%d x\\n\", \$pc != $save_pc" \
- "x 1 x" \
- "8.7b: tfind start"
-
-# 8.8 tfind none
-## check $trace_frame == -1
-gdb_tfind_test "8.8: tfind none" "none" "-1";
-## check $pc == startPC
-gdb_test "printf \"x \%d x\\n\", \$pc == $save_pc" \
- "x 1 x" \
- "8.8b: tfind none (restores non-trace PC)"
-
-# 8.9 tfind end
-## check $trace_frame == -1
-gdb_tfind_test "8.9: tfind end, selects no frame" "end" "-1";
-## check $pc == startPC
-gdb_test "printf \"x \%d x\\n\", \$pc == $save_pc" \
- "x 1 x" \
- "8.9b: tfind end (restores non-tracing PC)"
-
-# 8.1 tfind n
-## check $trace_frame == n
-gdb_tfind_test "8.1: tfind 1" "1" "1"
-## check $trace_line corresponds to tracepoint for frame n
-gdb_test "print \$trace_line" "$testline2" "8.1b: tfind 1 (correct line)"
-
-# 8.28 tfind invalid n (big number)
-## check "not found" error
-## check $trace_frame != n
-gdb_test "tfind 32767" \
- "failed to find.*" \
- "8.28: tfind <n> command rejects invalid frame number"
-
-gdb_test "printf \"x \%d x\\n\", \$trace_frame == 32767" \
- "x 0 x" \
- "8.28: tfind <n> rejected bad input (32767)"
-
-# 8.31 tfind negative n
-## check error
-gdb_test "tfind -3" "invalid input.*" "8.31: tfind <n> rejects negative input"
-## check $trace_frame != -n
-gdb_test "printf \"x \%d x\\n\", \$trace_frame == -3" "x 0 x" \
- "8.31: tfind <n> rejected negative input (-3)"
-
-# 8.10 tfind <no arg>
-## check $trace_frame += 1
-
-gdb_tfind_test "8.10: tfind start" "start" "0";
-gdb_test "print \$trace_line" "$baseline" \
- "8.10: tfind 0 (correct line $baseline)"
-gdb_tfind_test "8.10: tfind noargument 1" "" "1";
-gdb_test "print \$trace_line" "$testline2" \
- "8.10: tfind 1 (correct line $testline2)"
-gdb_tfind_test "8.10: tfind noargument 2" "" "2";
-gdb_test "print \$trace_line" "$testline3" \
- "8.10: tfind 2 (correct line $testline3)"
-gdb_tfind_test "8.10: tfind noargument 3" "" "3";
-gdb_test "print \$trace_line" "$testline4" \
- "8.10: tfind 3 (correct line $testline4)"
-
-gdb_tfind_test "8.11: tfind 3" "3" "3";
-gdb_test "print \$trace_line" "$testline4" \
- "8.11: tfind 3 (correct line $testline4)"
-gdb_tfind_test "8.11: tfind backward 2" "-" "2";
-gdb_test "print \$trace_line" "$testline3" \
- "8.11: tfind 2 (correct line $testline3)"
-gdb_tfind_test "8.11: tfind backward 1" "-" "1";
-gdb_test "print \$trace_line" "$testline2" \
- "8.11: tfind 1 (correct line $testline2)"
-gdb_tfind_test "8.11: tfind backward 0" "-" "0";
-gdb_test "print \$trace_line" "$baseline" \
- "8.11: tfind 0 (correct line $baseline)"
-
-gdb_tfind_test "8.12: tfind none" "none" "-1";
-gdb_tfind_test "8.12: tfind tracepoint <n>" "tracepoint $tdp2" \
- "\$tracepoint" "$tdp2";
-gdb_test "print \$trace_line" "$testline2" \
- "8.12: tfind tracepoint <n> (line $testline2)"
-
-gdb_tfind_test "8.25: tfind none" "none" "-1";
-gdb_test "tfind tracepoint 0" "failed to find.*" \
- "8.25: tfind tracepoint rejects zero"
-gdb_test "tfind tracepoint 32767" "failed to find.*" \
- "8.25: tfind tracepoint rejects nonexistant tracepoint (32767)"
-gdb_test "tfind tracepoint -1" "failed to find.*" \
- "8.25: tfind tracepoint rejects nonexistant tracepoint (-1)"
-
-# 8.37 tfind tracepoint n where n no longer exists (but used to)
-gdb_test "delete trace $tdp2" "" ""
-gdb_tfind_test "8.37: tfind none" "none" "-1";
-gdb_tfind_test "8.37: tfind deleted tracepoint" \
- "tracepoint $tdp2" \
- "\$tracepoint" "$tdp2";
-gdb_test "print \$trace_line" "$testline2" \
- "8.37: tfind deleted tracepoint (line $testline2)"
-
-# 8.13 tfind tracepoint <no arg>
-## check $tracepoint same before and after, $trace_frame changed
-
-gdb_tfind_test "8.13: tfind none" "none" "-1";
-gdb_tfind_test "8.13: tracepoint $tdp1" "tracepoint $tdp1" \
- "\$tracepoint" "$tdp1";
-gdb_test "print \$trace_line" "$baseline" \
- "8.13: tfind tracepoint $tdp1 (line $baseline)"
-gdb_test "set \$save_frame = \$trace_frame" "" ""
-gdb_tfind_test "8.13: tracepoint <no arg>" "tracepoint" \
- "\$tracepoint" "$tdp1";
-gdb_test "printf \"x \%d x\\n\", \$trace_frame == \$save_frame" \
- "x 0 x" \
- "8.13: tracepoint <no arg>, tracepoint number unchanged"]
-
-# 1.12 set tracepoint in prologue
-#
-# tdp1 was set at *gdb_recursion_test (ie. the hard address of the
-# function, before the prologue). Test to see that it succeeded.
-# Current pc should be equal to the address of the function.
-
-gdb_test "printf \"x \%d x\\n\", \$pc == gdb_recursion_test" \
- "x 1 x" \
- "1.12: set tracepoint in prologue"
-
-# 8.14 tfind pc x
-## check pc == x, $trace_frame != -1
-gdb_tfind_test "8.14: tfind 3" "3" "3"
-gdb_test "print \$trace_line" "$testline4" \
- "8.14: tfind 3 (line $testline4)"
-
-gdb_test "set \$test_pc = \$pc" "" ""
-gdb_tfind_test "8.14: tfind none" "none" "-1"
-gdb_tfind_test "8.14: tfind pc" "pc \$test_pc" "\$trace_frame != -1" "1";
-gdb_test "print \$trace_line" "$testline4" \
- "8.14: tfind pc x (line $testline4)"
-gdb_test "printf \"x \%d x\\n\", \$pc == \$test_pc" \
- "x 1 x" \
- "8.14: tfind pc x"
-
-# 8.15 tfind pc <no arg>
-## check pc same before and after, $trace_frame changed
-gdb_tfind_test "8.15: tfind 3" "3" "3"
-gdb_test "print \$trace_line" "$testline4" \
- "8.15: tfind 3 (line $testline4)"
-gdb_test "set \$test_pc = \$pc" "" ""
-gdb_tfind_test "8.15: tfind pc" "pc" "\$pc == \$test_pc" "1"
-gdb_test "print \$trace_line" "$testline4" \
- "8.15: tfind pc (line $testline4)"
-gdb_test "printf \"x \%d x\\n\", \$trace_frame != 3" "x 1 x" \
- "8.15: trace frame didn't change"
-
-# 8.26 tfind pc invalid x
-## check error, pc != x (trace_frame unchanged?)
-gdb_tfind_test "8.26: tfind start" "start" "0"
-gdb_test "tfind pc 0" "failed to find.*" "8.26: tfind pc zero"
-gdb_test "tfind pc -1" "failed to find.*" "8.26: tfind pc -1"
-
-# 8.16 tfind line n
-## check #trace_frame != -1, $trace_line == n
-gdb_tfind_test "8.16: tfind none" "none" "-1"
-gdb_tfind_test "8.16: tfind line $testline3" \
- "line $testline3" \
- "\$trace_line == $testline3" "1"
-
-# 8.17 tfind line <no arg> (# 8.19, 8.20)
-## check $trace_line changed, no error, pc changed, frame changed, tdp changed
-gdb_tfind_test "8.17: tfind none" "none" "-1"
-gdb_tfind_test "8.17: tfind line $testline3" "line $testline3" "\$trace_line == $testline3" "1"
-gdb_tfind_test "8.17: tfind line <no arg>" "line" "\$trace_line != $testline3" "1"
-
-# 8.36 tfind and disassembly
-gdb_tfind_test "8.36: tfind start" "start" "0"
-set timeout 60
-send_gdb "disassemble gdb_c_test\n"
-# look for disassembly of function label
-gdb_expect {
- -re "<gdb_c_test>:.*$gdb_prompt $" { pass "8.36: trace disassembly" }
- -re ".*$gdb_prompt $" { fail "8.36: trace disassembly" }
- timeout { fail "8.36: trace disassembly (timeout)" }
-}
-
-gdb_test "tfind line 0" \
- "out of range.*|failed to find.*" \
- "8.18: tfind line 0";
-gdb_test "tfind line 32767" \
- "out of range.*|failed to find.*" \
- "8.27: tfind line 32767";
-gdb_test "tfind line NoSuChFiLe.c:$baseline" \
- "No source file named.*" \
- "8.27: tfind line in bad source file";
-
-# 8.32 tfind invalid subcommand (tfind foo)
-## check error
-gdb_test "tfind NoSuChOpTiOn 21" \
- "No symbol.*|\[Ww\]arning.*|\[Ee\]rror.*" \
- "8.32: tfind with bad subcommand"
-
-# 8.38 test help tfind
-gdb_test "help tfind" "Select a trace frame.*" \
- "8.38: help tfind"
-gdb_test "help tfind pc" "Select a trace frame by PC.*" \
- "8.38: help tfind PC"
-gdb_test "help tfind end" "Synonym for 'none'.*" \
- "8.38: help tfind end"
-gdb_test "help tfind none" "De-select any trace frame.*" \
- "8.38: help tfind none"
-gdb_test "help tfind line" "Select a trace frame by source line.*" \
- "8.38: help tfind line"
-gdb_test "help tfind start" "Select the first trace frame.*" \
- "8.38: help tfind start"
-gdb_test "help tfind range" "Select a trace frame whose PC is in.*" \
- "8.38: help tfind range"
-gdb_test "help tfind trace" "Select a trace frame by tracepoint number.*" \
- "8.38: help tfind tracepoint"
-
-# Finished!
-gdb_tfind_test "8.17: tfind none" "none" "-1"
diff --git a/gdb/testsuite/gdb.trace/tracecmd.exp b/gdb/testsuite/gdb.trace/tracecmd.exp
deleted file mode 100644
index d79c98e..0000000
--- a/gdb/testsuite/gdb.trace/tracecmd.exp
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-if [istarget "m68k-*-elf"] then {
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-gdb_file_cmd $binfile
-
-# define relative source line numbers:
-# all subsequent line numbers are relative to this first one (baseline)
-set baseline [gdb_find_recursion_test_baseline $srcfile];
-if { $baseline == -1 } then {
- fail "Could not find gdb_recursion_test function"
- return;
-}
-
-set testline1 [expr $baseline + 1]
-set testline2 [expr $baseline + 3]
-
-#
-# test "help tracepoints"
-#
-
-set helpcnt 0;
-send_gdb "help tracepoints\n"
-gdb_expect {
- -re "Tracing of program execution without stopping the program." {
- incr helpcnt;
- exp_continue
- }
- -re "actions -- Specify the actions to be taken at a tracepoint" {
- incr helpcnt;
- exp_continue
- }
- -re "collect -- Specify one or more data items to be collected" {
- incr helpcnt;
- exp_continue
- }
- -re "delete tracepoints -- Delete specified tracepoints" {
- incr helpcnt;
- exp_continue
- }
- -re "end -- Ends a list of.*actions" {
- incr helpcnt;
- exp_continue
- }
- -re "info tracepoints -- Status of tracepoints" {
- incr helpcnt;
- exp_continue
- }
- -re "passcount -- Set the passcount for a tracepoint" {
- incr helpcnt;
- exp_continue
- }
- -re "save-tracepoints -- Save current tracepoint definitions" {
- incr helpcnt;
- exp_continue
- }
- -re "tdump -- Print everything collected at the current tracepoint" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind -- Select a trace frame" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind end -- Synonym for 'none'" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind line -- Select a trace frame by line number" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind none -- De-select any trace frame and resume 'live' debugging" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind outside -- Select a trace frame whose PC is outside" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind pc -- Select a trace frame by PC" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind range -- Select a trace frame whose PC is in the given" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind start -- Select the first trace frame in the trace buffer" {
- incr helpcnt;
- exp_continue
- }
- -re "tfind tracepoint -- Select a trace frame by tracepoint number" {
- incr helpcnt;
- exp_continue
- }
- -re "trace -- Set a tracepoint at a specified line or function or addr" {
- incr helpcnt;
- exp_continue
- }
- -re "tstart -- Start trace data collection" {
- incr helpcnt;
- exp_continue
- }
- -re "tstatus -- Display the status of the current trace data collection" {
- incr helpcnt;
- exp_continue
- }
- -re "tstop -- Stop trace data collection" {
- incr helpcnt;
- exp_continue
- }
- -re "while-stepping -- Specify single-stepping behavior at a tracepoint" {
- incr helpcnt;
- exp_continue
- }
- -re ".*$gdb_prompt $" {
- if { $helpcnt == 21 } {
- pass "1.0: help tracepoints"
- } else {
- warning "$helpcnt";
- fail "1.0: help tracepoints"
- }
- }
-}
-
-#
-# test trace command:
-#
-
-# 1.1 trace source line
-gdb_delete_tracepoints
-gdb_test "trace $srcfile:$testline2" \
- "Tracepoint $decimal at $hex: file.*$srcfile, line $testline2." \
- "1.1a: set tracepoint at sourceline"
-gdb_test "info trace" "in gdb_recursion_test.*$srcfile:$testline2" \
- "1.1b: trace sourcefile:line"
-
-# 1.2 trace invalid source line
-gdb_delete_tracepoints
-gdb_test "trace $srcfile:99999" "No line 99999 in file \".*$srcfile\"." \
- "1.2a: trace invalid line in sourcefile"
-gdb_test "info trace" "No tracepoints.*" \
- "1.2b: reject invalid line in srcfile"
-
-# 1.3 trace line in invalid source file
-gdb_delete_tracepoints
-gdb_test "trace NoSuChFiLe.c:1" "No source file named NoSuChFiLe.c." \
- "1.3a: trace invalid source file"
-gdb_test "info trace" "No tracepoints.*" \
- "1.3b: reject invalid srcfile"
-
-# 1.4 trace function by name
-gdb_delete_tracepoints
-gdb_test "trace gdb_recursion_test" \
- "Tracepoint $decimal at $hex: file.*$srcfile, line $testline1." \
- "1.4a: trace function by name"
-gdb_test "info trace" "in gdb_recursion_test.*$srcfile:$testline1" \
- "1.4b: trace function by name"
-
-# 1.5 trace non-existant function
-gdb_delete_tracepoints
-gdb_test "trace NoSuChFuNc" "Function \"NoSuChFuNc\" not defined." \
- "1.5a: trace invalid function"
-gdb_test "info trace" "No tracepoints.*" \
- "1.5b: reject invalid srcfile"
-
-# 1.6 trace at a specific address
-# Collect the address of "gdb_asm_test", and use that.
-send_gdb "print gdb_asm_test\n"
-gdb_expect {
- -re "\[$\]\[0-9\].*0x(\[0-9a-fA-F\]+).*$gdb_prompt $" {
- set asm_test_addr $expect_out(1,string)
- }
- timeout { }
-}
-
-gdb_delete_tracepoints
-gdb_test "trace \*0x$asm_test_addr" \
- "Tracepoint $decimal at .*$asm_test_addr.*" \
- "1.6a: trace at specific address"
-gdb_test "info trace" "$asm_test_addr.*gdb_asm_test.*" \
- "1.6b: verify trace at specific address"
-
-# 1.7 trace at function's exact address
-# Collect the address of the function for comparison
-send_gdb "print gdb_recursion_test\n"
-gdb_expect {
- -re "\[$\]\[0-9\].*0x(\[0-9a-fA-F\]+).*$gdb_prompt $" {
- set c_test_addr $expect_out(1,string)
- }
- timeout { }
-}
-
-gdb_delete_tracepoints
-gdb_test "trace \*gdb_recursion_test" \
- "Tracepoint $decimal at .*$c_test_addr.*" \
- "1.7a: trace at function label (before prologue)"
-gdb_test "info trace" "$c_test_addr.*in gdb_recursion_test.*:$baseline" \
- "1.7b: verify trace at specific address"
-
-# 1.8 trace at invalid address
-# no address is invalid
-
-# 1.9 trace no arguments
-gdb_test "trace" "trace command requires an argument" \
- "1.9: trace <no arguments>"
-
-# 1.10 set large number of tracepoints
-# deferred to limits test module
-
-# 1.11 tracepoint conditions
-# conditions on tracepoints not implemented
-
-# 1.12 set tracepoint in prologue
-# [see tfind.exp]
-
-# 1.13 trace on recursion
-# interesting only in "live" session: see backtrace.exp for live test.
-
-# 1.14 help trace
-gdb_test "help trace" "Set a tracepoint at .*" "1.14: help trace"
-
-
diff --git a/gdb/testsuite/gdb.trace/while-dyn.exp b/gdb/testsuite/gdb.trace/while-dyn.exp
deleted file mode 100644
index 84ab14b..0000000
--- a/gdb/testsuite/gdb.trace/while-dyn.exp
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp"
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- load_lib "emc-support.exp"
- set testfile "gdb_c_test"
- set srcfile $testfile.c
- set binfile [board_info target d490_binfile];
- gdb_test "set remotetimeout 6" "" ""
- set timeout 500
- gdb_target_monitor "$binfile"
- # Give a TSTOP and ignore errors, to make sure any previous trace is off
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- send_gdb "compare-section CS\n"
- gdb_expect {
- -re "MIS-MATCHED.*$gdb_prompt $" {
- gdb_suppress_entire_file "Symbol file does not match target!
- all tests in this module will fail.";
- }
- -re ".*$gdb_prompt $" { }
- }
-} else {
- set testfile "actions"
- set srcfile $testfile.c
- set binfile $objdir/$subdir/$testfile
- if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
- gdb_load $binfile
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
- runto_main
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# We generously give ourselves one "pass" if we successfully
-# detect that this test cannot be run on this target!
-if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
- return 1;
-
-}
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-#
-# test while-stepping dynamically (live target)
-#
-
-## verify number of trace frames collected matches stepcount
-
-gdb_delete_tracepoints
-gdb_test "trace gdb_c_test" \
- "Tracepoint $decimal at .*" \
- "Set tracepoint at gdb_c_test"
-
-gdb_trace_setactions "5.12: define while-stepping <stepcount>" \
- "" \
- "collect \$fp" "^$" \
- "while-stepping 5" "^$" \
- "collect p" "^$" \
- "end" "^$" \
- "end" ""
-
-gdb_test "tstart" "" ""
-
-if [istarget "m68k-*-elf"] then {
- gdb_emclaptop_command "85,1,2,3,4,5,6"
- sleep 5
-} else {
- gdb_test "break end" "" ""
- gdb_test "continue" \
- "Continuing.*Breakpoint $decimal, end.*" \
- "run trace experiment"
-}
-
-gdb_test "tstop" "" ""
-
-gdb_tfind_test "5.12: frame 5 should be the last one collected" "5" "5"
-
-send_gdb "tfind 6\n"
-gdb_expect {
- -re "failed to find.*$gdb_prompt $" {
- pass "5.12: trace stopped after 5 stepping frames"
- }
- -re ".*$gdb_prompt $" {
- fail "5.12: trace stopped after 5 stepping frames"
- }
-}
-
-gdb_test "tfind none" "" ""
diff --git a/gdb/testsuite/gdb.trace/while-stepping.exp b/gdb/testsuite/gdb.trace/while-stepping.exp
deleted file mode 100644
index 4c87d5c..0000000
--- a/gdb/testsuite/gdb.trace/while-stepping.exp
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1998 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Michael Snyder (msnyder@cygnus.com)
-
-load_lib "trace-support.exp";
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-
-if [istarget "m68k-*-elf"] then {
- set srcfile gdb_c_test.c
- set binfile [board_info target d490_binfile];
-} else {
- set testfile "actions"
- set srcfile ${testfile}.c
- set binfile ${objdir}/${subdir}/${testfile}
- if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
- }
-}
-gdb_reinitialize_dir $srcdir/$subdir
-
-# If testing on a remote host, download the source file.
-# remote_download host $srcdir/$subdir/$srcfile
-
-gdb_file_cmd $binfile
-
-#
-# test while-stepping command
-#
-
-gdb_delete_tracepoints
-set trcpt1 [gdb_gettpnum gdb_c_test]
-if { $trcpt1 <= 0 } then {
- fail "Could not find gdb_c_test function"
- return;
-}
-
-# 5.12 basic while-stepping command (collect regs)
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1.*0x.*\[\t \]+\[0-9\]+\[\t \]+0\[\t \]+.*in gdb_c_test.*" \
- "5.12: set a tracepoint, stepcount is zero"
-
-set stepcount 12
-
-gdb_trace_setactions "5.12: set stepcount to $stepcount" \
- "" \
- "while-stepping $stepcount" "" \
- "collect \$regs" "^$" \
- "end" ""
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*$trcpt1.*0x.*\[\t \]+\[0-9\]+\[\t \]+$stepcount\[\t \]+.*in gdb_c_test.*" \
- "5.12: confirm stepcount set to $stepcount"
-
-gdb_test "info tracepoints" \
- "Num Enb Address\[ \]+PassC StepC What.*
-.*while-stepping $stepcount.*" \
- "5.12: info trace shows \"while-stepping\""
-
-
-# 5.13 step out of context while collecting local variable
-# [deferred to dynamic test section]
-
-proc while_stepping_bogus_arg { bogus msgstring } {
- global gdb_prompt;
-
- gdb_trace_setactions "$msgstring" \
- "" \
- "while-stepping $bogus" "\[Ee\]rror|\[Ww\]arning"
-}
-
-# 5.14 while-stepping (no argument)
-
-while_stepping_bogus_arg "" "5.14: while-stepping null stepcount"
-
-# 5.15 while-stepping (zero stepcount)
-
-while_stepping_bogus_arg "0" "5.15: while-stepping rejects zero stepcount"
-
-# 5.16 while-stepping without collecting anything
-gdb_trace_setactions "5.16: step without collecting anything" \
- "" \
- "while-stepping $stepcount" "^$" \
- "end" ""
-
-gdb_test "info tracepoints" \
- ".*$trcpt1.*0x.*\[\t \]+\[0-9\]+\[\t \]+$stepcount\[\t \]+.*in gdb_c_test.*\[ \t\]+Actions for tracepoint $trcpt1:.*\[ \t\]+while-stepping $stepcount.*\[ \t\]+end.*\[ \t\]+end.*" \
- "5.16: confirm actions, step without collecting anything"
-