diff options
Diffstat (limited to 'gdb/testsuite/gdb.base')
110 files changed, 0 insertions, 27012 deletions
diff --git a/gdb/testsuite/gdb.base/.Sanitize b/gdb/testsuite/gdb.base/.Sanitize deleted file mode 100644 index 749c3e2..0000000 --- a/gdb/testsuite/gdb.base/.Sanitize +++ /dev/null @@ -1,203 +0,0 @@ -# .Sanitize for devo/gdb/testsuite/gdb.base. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -Makefile.in -README -a1-selftest.exp -a2-run.exp -all-bin.exp -all-types.c -arithmet.exp -assign.exp -bar.c -baz.c -bitfields.c -bitfields.exp -bitops.exp -branches.c -break.c -break.exp -callfuncs.c -callfuncs.exp -callfuncs2.c -callfuncs2.exp -call-ar-st.c -call-ar-st.exp -call-rt-st.c -call-rt-st.exp -call-strs.c -call-strs.exp -commands.exp -compiler.c -completion.exp -cond-expr.exp -condbreak.c -condbreak.exp -configure -configure.in -constvars.c -constvars.exp -corefile.exp -coremaker.c -crossload.exp -d10v.ld -d10vovly.c -default.exp -define.exp -display.c -display.exp -dollar.exp -echo.exp -ena-dis-br.exp -ending-run.c -ending-run.exp -environ.exp -eval-skip.exp -exprs.c -exprs.exp -foo.c -funcargs.c -funcargs.exp -gdbvars.exp -grbx.c -help.exp -i486-elf.u -i860-elf.u -interrupt.c -interrupt.exp -int-type.c -jump.c -jump.exp -langs.exp -langs0.c -langs1.c -langs1.f -langs2.c -langs2.cxx -list.exp -list0.c -list0.h -list1.c -logical.exp -long_long.c -long_long.exp -m32r.ld -m32rovly.c -m68k-aout.u -m68k-aout2.u -m68k-elf.u -maint.exp -mips-ecoff.u -mips_pro.c -mips_pro.exp -miscexprs.c -miscexprs.exp -nodebug.c -nodebug.exp -opaque.exp -opaque0.c -opaque1.c -overlays.c -overlays.exp -ovlymgr.c -ovlymgr.h -pointers.c -pointers.exp -pointers2.c -pointers2.exp -printcmds.c -printcmds.exp -ptype.c -ptype.exp -radix.exp -recurse.c -recurse.exp -regs.exp -relational.exp -reread.exp -reread1.c -reread2.c -restore.c -restore.exp -return.c -return.exp -run.c -scope.exp -scope0.c -scope1.c -sect-cmd.exp -setshow.c -setshow.exp -setvar.c -setvar.exp -shlib-call.exp -shmain.c -shr1.c -shr2.c -sigall.c -sigall.exp -signals.c -signals.exp -smoke.c -smoke.cc -smoke.exp -solib.c -solib.exp -solib1.c -solib2.c -so-impl-ld.c -so-impl-ld.exp -so-indr-cl.c -so-indr-cl.exp -sparc-aout.u -sparc-elf.u -ss.h -step-test.c -step-test.exp -structs2.c -structs2.exp -term.exp -twice.c -twice.exp -varargs.c -varargs.exp -volatile.exp -watchpoint.c -watchpoint.exp -whatis.c -whatis.exp -whatis-exp.exp - -Things-to-lose: -structs.c -structs.exp - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.base/Makefile.in b/gdb/testsuite/gdb.base/Makefile.in deleted file mode 100644 index 874fb8f..0000000 --- a/gdb/testsuite/gdb.base/Makefile.in +++ /dev/null @@ -1,314 +0,0 @@ -# Makefile for the base tests for GDB. -# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. - -# This file is part of GDB. - -# GDB 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, or (at your option) -# any later version. - -# GDB 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. - -srcdir = . -prefix = /usr/local -program_transform_name = - -exec_prefix = $(prefix) -bindir = $(exec_prefix)/bin -libdir = $(exec_prefix)/lib -tooldir = $(libdir)/$(target_alias) - -datadir = $(exec_prefix)/lib/dejagnu -mandir = $(prefix)/man -man1dir = $(mandir)/man1 -man2dir = $(mandir)/man2 -man3dir = $(mandir)/man3 -man4dir = $(mandir)/man4 -man5dir = $(mandir)/man5 -man6dir = $(mandir)/man6 -man7dir = $(mandir)/man7 -man8dir = $(mandir)/man8 -man9dir = $(mandir)/man9 -infodir = $(prefix)/info -includedir = $(prefix)/include -gxx_includedir = $(tooldir)/g++-include -docdir = $(datadir)/doc -targetdir = $(datadir)/$(target_alias) - -SHELL = /bin/sh - -INSTALL = install -c -INSTALL_PROGRAM = $(INSTALL) -INSTALL_DATA = $(INSTALL) - -CFLAGS = -g - -RUNTESTFLAGS = - -LINK= ln -s - -EXPECT = ` \ - if [ -f $${rootme}/../../../expect/expect ] ; then \ - echo $${rootme}/../../../expect/expect ; \ - else \ - echo expect ; \ - fi` - -RUNTEST = ` \ - if [ -f $${rootme}/../../dejagnu/site.exp ] ; then \ - echo $${rootme}/../../dejagnu/runtest ; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo runtest; \ - else \ - t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \ - fi; \ - fi` - -CC = ` \ - if [ -f $${rootme}/../../../gcc/xgcc ] ; then \ - echo $${rootme}/../../../gcc/xgcc -B$${rootme}/../../../gcc/; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo gcc; \ - else \ - t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ - fi; \ - fi` - -#### host, target, and site specific Makefile frags come in here. - -EXECUTABLES = \ - bitfields \ - break \ - callfuncs \ - coremaker \ - exprs \ - funcargs \ - interrupt \ - langs \ - list \ - mips_pro \ - nodebug \ - opaque \ - printcmds \ - ptype \ - recurse \ - return \ - run \ - scope \ - setvar \ - sigall \ - signals \ - twice \ - watchpoint \ - whatis \ - $(CROSS_EXECUTABLES) - -# List of test executables that we have available. They are kept in -# uuencoded format to avoid SCCS/RCS problems with binary files. - -CROSS_EXECUTABLES = \ - i486-elf \ - i860-elf \ - m68k-elf \ - m68k-aout \ - m68k-aout2 \ - mips-ecoff \ - sparc-aout \ - sparc-elf - -.c.o: - $(CC) -c $(CFLAGS) $< - $(CC) -E $(CFLAGS) $(srcdir)/compiler.c >$*.tmp - mv $*.tmp $*.ci - -all: $(EXECUTABLES) - -run: run.o - $(CC) $(CFLAGS) $(LDFLAGS) -o run run.o $(LIBS) - -whatis: whatis.o - $(CC) $(CFLAGS) $(LDFLAGS) -o whatis whatis.o $(LIBS) - -.PRECIOUS: whatis - -ptype: ptype.o - $(CC) $(CFLAGS) $(LDFLAGS) -o ptype ptype.o $(LIBS) - -setvar: setvar.o - $(CC) $(CFLAGS) $(LDFLAGS) -o setvar setvar.o $(LIBS) - -exprs: exprs.o - $(CC) $(CFLAGS) $(LDFLAGS) -o exprs exprs.o $(LIBS) - -break: break.o - $(CC) $(CFLAGS) $(LDFLAGS) -o break break.o $(LIBS) - -signals: signals.o - $(CC) $(CFLAGS) $(LDFLAGS) -o signals signals.o $(LIBS) - -sigall: sigall.o - $(CC) $(CFLAGS) $(LDFLAGS) -o sigall sigall.o $(LIBS) - -twice: twice.c - echo '#include "twice.c"' >twice-tmp.c - $(CC) $(CFLAGS) $(LDFLAGS) -I$(srcdir) -o twice twice-tmp.c $(LIBS) - rm -f twice-tmp.c - -watchpoint: watchpoint.o - $(CC) $(CFLAGS) $(LDFLAGS) -o watchpoint watchpoint.o $(LIBS) - -recurse: recurse.o - $(CC) $(CFLAGS) $(LDFLAGS) -o recurse recurse.o $(LIBS) - -opaque: opaque0.o opaque1.o - $(CC) $(CFLAGS) $(LDFLAGS) -o opaque opaque0.o opaque1.o $(LIBS) - -coremaker: coremaker.o - $(CC) $(CFLAGS) $(LDFLAGS) -o coremaker coremaker.o $(LIBS) - -nodebug: nodebug.o - $(CC) $(LDFLAGS) $(NODEBUG_FLAGS) -o nodebug nodebug.o $(LIBS) - -# This gets compiled *without* -g, so don't add CFLAGS here. - -nodebug.o: nodebug.c - $(CC) -c $(srcdir)/nodebug.c - $(CC) -E $(srcdir)/compiler.c >nodebug.tmp - mv nodebug.tmp nodebug.ci - -# For VPATH and Sun Make, we have to make explicit dependencies. -# DEC make doesn't seem to understand the ".u" dependency w/VPATH either. - -m68k-elf: $(srcdir)/m68k-elf.u - uudecode $(srcdir)/m68k-elf.u - -m68k-aout: $(srcdir)/m68k-aout.u - uudecode $(srcdir)/m68k-aout.u - -m68k-aout2: $(srcdir)/m68k-aout2.u - uudecode $(srcdir)/m68k-aout2.u - -mips-ecoff: $(srcdir)/mips-ecoff.u - uudecode $(srcdir)/mips-ecoff.u - -i486-elf: $(srcdir)/i486-elf.u - uudecode $(srcdir)/i486-elf.u - -sparc-aout: $(srcdir)/sparc-aout.u - uudecode $(srcdir)/sparc-aout.u - -i860-elf: $(srcdir)/i860-elf.u - uudecode $(srcdir)/i860-elf.u - -sparc-elf: $(srcdir)/sparc-elf.u - uudecode $(srcdir)/sparc-elf.u - -list: list0.o list1.o - $(CC) $(CFLAGS) $(LDFLAGS) -o list list0.o list1.o $(LIBS) - -scope: scope0.o scope1.o - $(CC) $(CFLAGS) $(LDFLAGS) -o scope scope0.o scope1.o $(LIBS) - -langs: langs0.o langs1.o langs2.o - $(CC) $(CFLAGS) $(LDFLAGS) -o langs langs0.o langs1.o langs2.o $(LIBS) - -bitfields: bitfields.o - $(CC) $(CFLAGS) $(LDFLAGS) -o bitfields.tmp bitfields.o $(LIBS) - mv bitfields.tmp bitfields - -.PRECIOUS: bitfields - -funcargs: funcargs.o - $(CC) $(CFLAGS) $(LDFLAGS) -o funcargs funcargs.o $(LIBS) - -return: return.o - $(CC) $(CFLAGS) $(LDFLAGS) -o return return.o $(LIBS) - -mips_pro: mips_pro.o - $(CC) $(CFLAGS) $(LDFLAGS) -o mips_pro mips_pro.o $(LIBS) - -printcmds: printcmds.o - $(CC) $(CFLAGS) $(LDFLAGS) -o printcmds printcmds.o $(LIBS) - -# Try compiling this with prototypes, if that fails maybe the compiler -# is a pre-ANSI compiler, in which case don't use prototypes. -callfuncs.o: callfuncs.c - (echo set prototypes 1 >callfuncs.tmp; \ - $(CC) -c $(CFLAGS) $(srcdir)/callfuncs.c 2>/dev/null) \ - || (echo set prototypes 0 >callfuncs.tmp; \ - $(CC) -c $(CFLAGS) -DNO_PROTOTYPES $(srcdir)/callfuncs.c) - $(CC) $(CFLAGS) -E $(srcdir)/compiler.c >>callfuncs.tmp - mv callfuncs.tmp callfuncs.ci - -callfuncs: callfuncs.o - $(CC) $(CFLAGS) $(LDFLAGS) -o callfuncs callfuncs.o $(LIBS) - -interrupt: interrupt.o - $(CC) $(CFLAGS) $(LDFLAGS) -o interrupt interrupt.o $(LIBS) - -.NOEXPORT: - -INFODIRS=doc - -info: - -install-info: - -dvi: - -install: - -uninstall: force - -site.exp: ./config.status Makefile - @echo "Making a new config file..." - -@rm -f ./tmp? - @touch site.exp - -@mv site.exp site.bak - @echo "## these variables are automatically generated by make ##" > ./tmp0 - @echo "# Do not edit here. If you wish to override these values" >> ./tmp0 - @echo "# add them to the last section" >> ./tmp0 - @echo "set host_triplet ${host_canonical}" >> ./tmp0 - @echo "set target_triplet ${target_canonical}" >> ./tmp0 - @echo "set srcdir ${srcdir}" >> ./tmp0 - @echo "set objdir `pwd`" >> ./tmp0 - @echo "set tool gdb" >> ./tmp0 - @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0 - @cat ./tmp0 > site.exp - @cat site.bak | sed \ - -e '1,/^## All variables above are.*##/ d' >> site.exp - -@rm -f ./tmp? - -installcheck: -check: site.exp all just-check -just-check: - rootme=`pwd`; export rootme; \ - srcdir=${srcdir} ; export srcdir ; \ - EXPECT=${EXPECT} ; export EXPECT ; \ - if [ -f $${rootme}/../../expect/expect ] ; then \ - TCL_LIBRARY=$${srcdir}/../../tcl/library ; \ - export TCL_LIBRARY ; fi ; \ - $(RUNTEST) $(RUNTESTFLAGS) --tool gdb --srcdir $(srcdir) - -clean mostlyclean: - -rm -f *~ *.o a.out xgdb *.x $(EXECUTABLES) *.ci *.tmp - -rm -f core core.coremaker coremaker.core corefile - -distclean realclean: clean - -rm -f *~ core *.log *.plog *.sum *.psum site.* - -rm -f Makefile config.status *-init.exp - -rm -fr *.log summary detail *.plog *.sum *.psum site.* - -Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in $(host_makefile_frag) $(target_makefile_frag) - $(SHELL) ./config.status - diff --git a/gdb/testsuite/gdb.base/README b/gdb/testsuite/gdb.base/README deleted file mode 100644 index 556fc75..0000000 --- a/gdb/testsuite/gdb.base/README +++ /dev/null @@ -1,13 +0,0 @@ -Information about the various executables found in this test: - - BFD CPU Objfile -Executable Target Type Type Info about compilation machine ----------- ------ ---- ------- ------------------------------- -i486-elf elf-little i486 ELF NCR 3000, /usr/ccs/ATT/cc -i860-elf elf-big i860 ELF Stratus -m68k-elf elf-big m68k ELF Amiga 3000 UX, /usr/ccs/bin/cc -m68k-aout a.out-newsos3 m68k a.out Sony NEWS -m68k-aout2 a.out-sunos-big m68k a.out SunOS 4.1, gcc cygnus-2.0.1 -sparc-aout a.out-sunos-big sparc a.out Sun 4, SunOS 4.1.1, gcc 2.1 -sparc-elf elf-big sparc ELF Sun 4, Solaris 1.0, gcc 2.0.2 -mips-ecoff ecoff-bigmips mips ecoff IRIX 4.0.1 diff --git a/gdb/testsuite/gdb.base/a1-selftest.exp b/gdb/testsuite/gdb.base/a1-selftest.exp deleted file mode 100644 index bc3893a..0000000 --- a/gdb/testsuite/gdb.base/a1-selftest.exp +++ /dev/null @@ -1,426 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997 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 Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if [is_remote target] { - return -} - -if [istarget "m68k*-*-hpux*"] then { - # The top-level makefile passes CFLAGS= (no -g) for hp300. This probably - # should be fixed (it is only needed for gcc bootstrapping, not gdb), - # but until then..... - setup_xfail "*-*-*" - fail "cannot test self if compiled without debug info" - return -1 -} - -# Not all of the lines of code near the start of main are executed for -# every machine. Also, optimization may reorder some of the lines. -# So all we do is try to step or next over everything until we get -# to a line that we know is always executed. - -proc do_steps_and_nexts {} { - global gdb_prompt - global srcdir - - gdb_reinitialize_dir $srcdir/.. - - for {set count 0} {$count < 20} {incr count} { - send_gdb "list\n" - gdb_expect { - -re ".*symarg = NULL.*$gdb_prompt $" { - set description "step over symarg initialization" - set command "step" - } - -re ".*execarg = NULL.*$gdb_prompt $" { - set description "step over execarg initialization" - set command "step" - } - -re ".*corearg = NULL.*$gdb_prompt $" { - set description "step over corearg initialization" - set command "step" - } - -re ".*cdarg = NULL.*$gdb_prompt $" { - set description "step over cdarg initialization" - set command "step" - } - -re ".*ttyarg = NULL.*$gdb_prompt $" { - set description "step over ttyarg initialization" - set command "step" - } - -re ".*time_at_startup = get_run_time.*$gdb_prompt $" { - set description "next over get_run_time and everything it calls" - set command "next" - } - -re ".*START_PROGRESS.*$gdb_prompt $" { - set description "next over START_PROGRESS and everything it calls" - set command "next" - } - -re ".*mac_init.*$gdb_prompt $" { - set description "next over mac_init and everything it calls" - set command "next" - } - -re ".*init_malloc.*$gdb_prompt $" { - set description "next over init_malloc and everything it calls" - set command "next" - } - -re ".*count . 0x3.*$gdb_prompt $" { - set description "next over conditional stack alignment code 1" - set command "next" - } - -re ".*if .i != 0.*$gdb_prompt $" { - set description "next over conditional stack alignment code 2" - set command "next" - } - -re ".*alloca .i - 4.*$gdb_prompt $" { - set description "next over conditional stack alignment alloca" - set command "next" - } - -re ".*SET_TOP_LEVEL.*$gdb_prompt $" { - set description "next over SET_TOP_LEVEL call" - set command "next" - } - -re ".*cmdsize = 1.*$gdb_prompt $" { - set description "step over cmdsize initialization" - set command "next" - } - -re ".*cmdarg = .* xmalloc.*$gdb_prompt $" { - set description "next over cmdarg initialization via xmalloc" - set command "next" - } - -re ".*ncmd = 0.*$gdb_prompt $" { - set description "next over ncmd initialization" - set command "next" - } - -re ".*dirsize = 1.*$gdb_prompt $" { - set description "next over dirsize initialization" - set command "next" - } - -re ".*dirarg = .* xmalloc.*$gdb_prompt $" { - return - } - -re "\[ \t\]+\{\r\n$gdb_prompt $" { - setup_xfail "mips-*-irix5*" - fail "$description ended up at odd location" - } - -re ".*main.c.*No such file or directory.*$gdb_prompt $" { - setup_xfail "rs6000-*-aix3*" - fail "must be able to list source lines" - return - } - -re ".*$gdb_prompt $" { - fail "unknown source line after $description" - return - } - default { - fail "unknown source line near main" - return - } - } - send_gdb "$command\n" - gdb_expect { - -re ".*No such file or directory.\r\n$gdb_prompt $" { - fail "$description (no source available)" - } - -re ".*A file or directory .* does not exist..\r\n$gdb_prompt $" { - fail "$description (no source available)" - } - -re ".*$gdb_prompt $" { - pass "$description" - } - timeout { - fail "$description (timeout)" - } - } - } -} - -proc test_with_self { executable } { - global gdb_prompt - global tool - global det_file - global decimal - global timeout - - # load yourself into the debugger - # This can take a relatively long time, particularly for testing where - # the executable is being accessed over a network, or where gdb does not - # support partial symbols for a particular target and has to load the - # entire symbol table. Set the timeout to 10 minutes, which should be - # adequate for most environments (it *has* timed out with 5 min on a - # SPARCstation SLC under moderate load, so this isn't unreasonable). - # After gdb is started, set the timeout to 30 seconds for the duration - # of this test, and then back to the original value. - - set oldtimeout $timeout - set timeout 600 - verbose "Timeout is now $timeout seconds" 2 - if {[gdb_load $executable] <0} then { - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - - # disassemble yourself - gdb_test "x/10i main" \ - "x/10i.*main.*main.$decimal.*main.$decimal.*" \ - "Disassemble main" - - # Set a breakpoint at main - gdb_test "break main" \ - "Breakpoint.*at.* file.*, line.*" \ - "breakpoint in main" - - # We'll need this when we send a ^C to GDB. Need to do it before we - # run the program and gdb starts saving and restoring tty states. - # On Ultrix, we don't need it and it is really slow (because shell_escape - # doesn't use vfork). - if ![istarget "*-*-ultrix*"] then { - gdb_test "shell stty intr '^C'" "" \ - "set interrupt character in test_with_self" - } - - # FIXME: If we put this after the run to main, the first list - # command doesn't print the same line as the current line where - # gdb is stopped. - gdb_test "set listsize 1" "" "set listsize to 1" - - # run yourself - # It may take a very long time for the inferior gdb to start (lynx), - # so we bump it back up for the duration of this command. - set timeout 600 - - set description "run until breakpoint at main" - send_gdb "run -nw\n" - gdb_expect { - -re "Starting program.*Breakpoint \[0-9\]+,.*main .argc.*argv.* at .*main.c:.*$gdb_prompt $" { - pass "$description" - } - -re "Starting program.*Breakpoint \[0-9\]+,.*main .argc.*argv.*$gdb_prompt $" { - xfail "$description (line numbers scrambled?)" - } - -re "vfork: No more processes.*$gdb_prompt $" { - fail "$description (out of virtual memory)" - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - -re ".*$gdb_prompt $" { - fail "$description" - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - timeout { - fail "$description (timeout)" - } - } - - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - - # do we have a version number ? - send_gdb "print version\n" - gdb_expect { - -re ".\[0-9\]+ = +0x.*\[0-9.\]+.*$gdb_prompt $" { - pass "printed version" - } - -re ".\[0-9\]+ = +.+ +0x.*\[0-9.\]+.*$gdb_prompt $" { - pass "printed version with cast" - } - -re ".*$gdb_prompt $" { fail "printed version" } - timeout { fail "(timeout) printed version" } - } - - do_steps_and_nexts - - gdb_test "print \"foo\"" ".\[0-9\]+ = \"foo\"" "print a string" - - # do_steps_and_nexts left us ready to execute an xmalloc call, - # so give that a try. - # If we don't actually enter the xmalloc call when we give a - # step command that seems like a genuine bug. It seems to happen - # on most RISC processors. - setup_xfail "alpha-*-*" "hppa*-*-*" "mips-*-*" - set description "step into xmalloc call" - send_gdb "step\n" - gdb_expect { - -re "xmalloc.*size=.*at.*utils.c.*$gdb_prompt $" { - pass "$description" - } - -re ".*No such file or directory.\r\n$gdb_prompt $" { - pass "$description (no source available)" - } - -re "A file or directory .* does not exist..\r\n$gdb_prompt $" { - pass "$description (no source available)" - } - -re ".*$gdb_prompt $" { - fail "$description" - } - timeout { - fail "$description (timeout)" - } - } - - # start the "xgdb" process - send_gdb "continue\n" - gdb_expect { - -re "GNU gdb \[0-9\.\]*.* -Copyright \[0-9\]* Free Software Foundation, Inc.* -GDB is free software, covered by the GNU General Public License, and you are.* -welcome to change it and/or distribute copies of it under certain conditions.* -Type \"show copying\" to see the conditions.* -There is absolutely no warranty for GDB. Type \"show warranty\" for details.* -This GDB was configured as .*$gdb_prompt $"\ - { pass "xgdb is at prompt" } - -re "GDB is free software and you are welcome to distribute copies of it.* - under certain conditions; type \"show copying\" to see the conditions..* -There is absolutely no warranty for GDB; type \"show warranty\" for details..* -GDB.*Copyright \[0-9\]+ Free Software Foundation, Inc..*$gdb_prompt $"\ - { pass "xgdb is at prompt (obsolescent gdb)" } - -re ".*$gdb_prompt $" { fail "xgdb is at prompt" } - timeout { fail "(timeout) xgdb is at prompt" } - } - - # set xgdb prompt so we can tell which is which - send_gdb "set prompt (xgdb) \n" - gdb_expect { - -re "\[(\]xgdb\[)\].*\[(\]xgdb\[)\] $" { pass "Set xgdb prompt" } - -re ".*$gdb_prompt $" { fail "Set xgdb prompt" } - default { fail "(timeout) Set xgdb prompt" } - } - - # kill the xgdb process - set description "send ^C to child process" - send_gdb "\003" - gdb_expect { - -re "Program received signal SIGINT.*$gdb_prompt $" { - pass "$description" - } - -re ".*$gdb_prompt $" { - fail "$description" - } - timeout { - fail "$description (timeout)" - } - } - - set description "send SIGINT signal to child process" - send_gdb "signal SIGINT\n" - gdb_expect { - -re "Continuing with signal SIGINT.*$gdb_prompt $" { - pass "$description" - } - -re ".*$gdb_prompt $" { - fail "$description" - } - timeout { - fail "$description (timeout)" - } - } - - # get a stack trace - # - # This fails on some linux systems for unknown reasons. On the - # systems where it fails, sometimes it works fine when run manually. - # The testsuite failures may not be limited to just aout systems. - setup_xfail "i*86-pc-linuxaout-gnu" "hppa*-*-hpux*" - set description "backtrace through signal handler" - send_gdb "backtrace\n" - gdb_expect { - -re "#0.*read.*in main \\(.*\\) at .*main\\.c.*$gdb_prompt $" { - pass "$description" - } - -re ".*$gdb_prompt $" { - # On the alpha, we hit the infamous problem about gdb - # being unable to get the frame pointer (mentioned in - # gdb/README). As it is intermittent, there is no way to - # XFAIL it which will give us an XPASS if the problem goes - # away. - setup_xfail "alpha*-*-osf*" - fail "$description" - } - timeout { - fail "$description (timeout)" - } - } - - - # Set the timeout back to the value it had when we were called. - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - - # Restart gdb in case next test expects it to be started already. - return 0 -} - -# Find a pathname to a file that we would execute if the shell was asked -# to run $arg using the current PATH. - -proc find_gdb { arg } { - - # If the arg directly specifies an existing executable file, then - # simply use it. - - if [file executable $arg] then { - return $arg - } - - set result [which $arg] - if [string match "/" [ string range $result 0 0 ]] then { - return $result - } - - # If everything fails, just return the unqualified pathname as default - # and hope for best. - - return $arg -} - -# Run the test with self. -# Copy the file executable file in case this OS doesn't like to edit its own -# text space. - -set GDB_FULLPATH [find_gdb $GDB] - -# Remove any old copy lying around. -remote_file host delete x$tool - -gdb_start -set file [remote_download host $GDB_FULLPATH x$tool] -set result [test_with_self $file]; -gdb_exit; -catch "remote_file host delete $file"; - -if {$result <0} then { - warning "Couldn't test self" - return -1 -} diff --git a/gdb/testsuite/gdb.base/a2-run.exp b/gdb/testsuite/gdb.base/a2-run.exp deleted file mode 100644 index 57c7a82..0000000 --- a/gdb/testsuite/gdb.base/a2-run.exp +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994 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 Rob Savoye. (rob@cygnus.com) - -# These tests don't work for targets can't take arguments... - -if [target_info exists gdb,noargs] then { - verbose "Skipping a2-run.exp because of noargs." - return -} - -if [target_info exists gdb,noinferiorio] { - verbose "Skipping a2-run.exp because of noinferiorio." - return -} - -if $tracelevel then { - strace $tracelevel -} - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "run" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# Run with no arguments. -# On VxWorks this justs make sure the program was run. -gdb_run_cmd - -if [istarget "*-*-vxworks*"] then { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $gdb_spawn_id "Program exited normally" { - unresolved "run \"$testfile\" with no args" - } - -i $gdb_spawn_id -re "usage: factorial <number>" { - pass "run \"$testfile\" with no args" - } - timeout { - fail "(timeout) run \"$testfile\" with no args" - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - expect { - -re ".*usage: factorial <number>.*Program exited with code 01.*$gdb_prompt $" { - pass "run \"$testfile\" with no args" - } - -re ".*$gdb_prompt $" { - fail "run \"$testfile\" with no args" - verbose "expect_out is $expect_out(buffer)" 2 - } - timeout { - fail "(timeout) run \"$testfile\" no args" - } - } -} -# Now run with some arguments -if [istarget "*-*-vxworks*"] then { - send_gdb "run vxmain \"5\"\n" - expect -re "run vxmain \"5\"\r\n" {} - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id "Program exited normally" { - unresolved "run \"$testfile\" with arg" - } - -i $shell_id "120" { - pass "run \"$testfile\" with arg" - } - timeout { - fail "(timeout) run \"$testfile\" with arg" - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - setup_xfail "mips-idt-*" - gdb_run_cmd 5 - expect { - -re ".*120.*$gdb_prompt $"\ - { pass "run \"$testfile\" with arg" } - -re ".*$gdb_prompt $" { fail "run \"$testfile\" with arg" } - timeout { fail "(timeout) run \"$testfile\" with arg" } - } -} - -# Run again with same arguments. -setup_xfail "mips-idt-*" -gdb_run_cmd - -if [istarget "*-*-vxworks*"] then { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id "Program exited normally" { - unresolved "run \"$testfile\" again with same args" - } - -i $shell_id "120" { pass "run \"$testfile\" again with same args" } - timeout { fail "(timeout) run \"$testfile\" again with same args" } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - expect { - -re ".*120.*$gdb_prompt $"\ - { pass "run \"$testfile\" again with same args" } - -re ".*$gdb_prompt $" { fail "run \"$testfile\" again with same args" } - timeout { fail "(timeout) run \"$testfile\" again with same args" } - } -} - -# Use "set args" command to specify no arguments as default and run again. -if [istarget "*-*-vxworks*"] then { - send_gdb "set args main\n" -} else { - send_gdb "set args\n" -} -expect -re "$gdb_prompt $" - -gdb_run_cmd - -if [istarget "*-*-vxworks*"] then { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id "Program exited normally" { - unresolved "run after setting args to nil" - } - -i $shell_id "usage: factorial <number>" { - pass "run after setting args to nil" - } - timeout { - fail "(timeout) run after setting args to nil" - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - expect { - -re ".*usage: factorial <number>.*$gdb_prompt $" { - pass "run after setting args to nil" - } - -re ".*$gdb_prompt $" { - fail "run after setting args to nil" - } - timeout { - fail "(timeout) run after setting args to nil" - } - } -} - -# Use "set args" command to specify an argument and run again. -setup_xfail "mips-idt-*" -if [istarget "*-*-vxworks*"] then { - send_gdb "set args vxmain \"6\"\n" -} else { - send_gdb "set args 6\n" -} -expect -re "$gdb_prompt $" -gdb_run_cmd - -if [istarget "*-*-vxworks*"] then { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id "Program exited normally" { - unresolved "run \"$testfile\" again after setting args" - } - -i $shell_id "720" { - pass "run \"$testfile\" again after setting args" - } - timeout { - fail "(timeout) run \"$testfile\" again after setting args" - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - expect { - -re ".*720.*$gdb_prompt $" { - pass "run \"$testfile\" again after setting args" - } - -re ".*$gdb_prompt $" { - fail "run \"$testfile\" again after setting args" - } - timeout { - fail "(timeout) run \"$testfile\" again after setting args" - } - } -} - -# GOAL: Test that shell is being used with "run". For remote debugging -# targets, there is no guarantee that a "shell" (whatever that is) is used. -if [isnative] then { - send_gdb "run `echo 8`\n" - expect { - -re "Starting program.*40320.*$gdb_prompt $" { - pass "run \"$testfile\" with shell" - } - -re ".*$gdb_prompt $" { - fail "run \"$testfile\" with shell" - } - timeout { - fail "(timeout) run \"$testfile\" with shell" - } - } -} - -# Reset the default arguments for VxWorks -if [istarget "*-*-vxworks*"] then { - send_gdb "set args main\n" - expect -re ".*$gdb_prompt $" {} -} diff --git a/gdb/testsuite/gdb.base/bitfields.c b/gdb/testsuite/gdb.base/bitfields.c deleted file mode 100644 index 453bd3c..0000000 --- a/gdb/testsuite/gdb.base/bitfields.c +++ /dev/null @@ -1,190 +0,0 @@ -/* Test program to test bit field operations */ - -/* For non-ANSI compilers, use plain ints for the signed bit fields. However, - whether they actually end up signed or not is implementation defined, so - this may cause some tests to fail. But at least we can still compile - the test program and run the tests... */ - -#ifndef __STDC__ -#define signed /**/ -#endif - -struct fields -{ - unsigned char uc ; - signed int s1 : 1; - unsigned int u1 : 1; - signed int s2 : 2; - unsigned int u2 : 2; - signed int s3 : 3; - unsigned int u3 : 3; - signed int s9 : 9; - unsigned int u9 : 9; - signed char sc ; -} flags; - -void break1 () -{ -} - -void break2 () -{ -} - -void break3 () -{ -} - -void break4 () -{ -} - -void break5 () -{ -} - -void break6 () -{ -} - -void break7 () -{ -} - -void break8 () -{ -} - -void break9 () -{ -} - -void break10 () -{ -} - -/* This is used by bitfields.exp to determine if the target understands - signed bitfields. */ -int i; - -int main () -{ - /* For each member, set that member to 1, allow gdb to verify that the - member (and only that member) is 1, and then reset it back to 0. */ - - flags.uc = 1; - break1 (); - flags.uc = 0; - - flags.s1 = 1; - break1 (); - flags.s1 = 0; - - flags.u1 = 1; - break1 (); - flags.u1 = 0; - - flags.s2 = 1; - break1 (); - flags.s2 = 0; - - flags.u2 = 1; - break1 (); - flags.u2 = 0; - - flags.s3 = 1; - break1 (); - flags.s3 = 0; - - flags.u3 = 1; - break1 (); - flags.u3 = 0; - - flags.s9 = 1; - break1 (); - flags.s9 = 0; - - flags.u9 = 1; - break1 (); - flags.u9 = 0; - - flags.sc = 1; - break1 (); - flags.sc = 0; - - /* Fill alternating fields with all 1's and verify that none of the bits - "bleed over" to the other fields. */ - - flags.uc = 0xFF; - flags.u1 = 0x1; - flags.u2 = 0x3; - flags.u3 = 0x7; - flags.u9 = 0x1FF; - break2 (); - flags.uc = 0; - flags.u1 = 0; - flags.u2 = 0; - flags.u3 = 0; - flags.u9 = 0; - - flags.s1 = 0x1; - flags.s2 = 0x3; - flags.s3 = 0x7; - flags.s9 = 0x1FF; - flags.sc = 0xFF; - break2 (); - flags.s1 = 0; - flags.s2 = 0; - flags.s3 = 0; - flags.s9 = 0; - flags.sc = 0; - - /* Fill the unsigned fields with the maximum positive value and verify - that the values are printed correctly. */ - - /* Maximum positive values */ - flags.u1 = 0x1; - flags.u2 = 0x3; - flags.u3 = 0x7; - flags.u9 = 0x1FF; - break3 (); - flags.u1 = 0; - flags.u2 = 0; - flags.u3 = 0; - flags.u9 = 0; - - /* Fill the signed fields with the maximum positive value, then the maximally - negative value, then -1, and verify in each case that the values are - printed correctly. */ - - /* Maximum positive values */ - flags.s1 = 0x0; - flags.s2 = 0x1; - flags.s3 = 0x3; - flags.s9 = 0xFF; - break4 (); - - /* Maximally negative values */ - flags.s1 = 0x1; - flags.s2 = 0x2; - flags.s3 = 0x4; - flags.s9 = 0x100; - /* Extract bitfield value so that bitfield.exp can check if the target - understands signed bitfields. */ - i = flags.s9; - break4 (); - - /* -1 */ - flags.s1 = 0x1; - flags.s2 = 0x3; - flags.s3 = 0x7; - flags.s9 = 0x1FF; - break4 (); - - flags.s1 = 0; - flags.s2 = 0; - flags.s3 = 0; - flags.s9 = 0; - - return 0; -} diff --git a/gdb/testsuite/gdb.base/bitfields.exp b/gdb/testsuite/gdb.base/bitfields.exp deleted file mode 100644 index eb550fe..0000000 --- a/gdb/testsuite/gdb.base/bitfields.exp +++ /dev/null @@ -1,291 +0,0 @@ -# Copyright (C) 1992, 1994 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "bitfields" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# -# Test bitfield locating and uniqueness. -# For each member, set that member to 1 and verify that the member (and only -# that member) is 1, then reset it back to 0. -# - -proc bitfield_uniqueness {} { - global decimal - global hex - global gdb_prompt - global srcfile - - if [gdb_test "break break1" "Break.* at $hex: file .*$srcfile, line $decimal\\."] { - return - } - - gdb_run_cmd - gdb_expect { - -re "Break.*break1 \\(\\) at .*$srcfile:$decimal.*$gdb_prompt $" { - pass "running to break1" - } - timeout { fail "(timeout) running to break1"; return } - } - - if [gdb_test "print flags" ".*uc = 1 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #1"] { - return - } - # Note that we check for s1 as either 1 or -1, so that failure to - # treat it correctly as a signed 1bit field (values 0 or -1) while - # printing its value does not cause a spurious failure. We do the - # signedness preservation test later. - if [gdb_test "print flags" ".*uc = 0 .*, s1 = (1|-1), u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (s1)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #2"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 1, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (u1)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #3"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 1, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (s2)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #4"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 1, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (u2)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #5"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 1, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (s3)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #6"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 1, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (u3)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #7"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 1, u9 = 0, sc = 0.*" "bitfield uniqueness (s9)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #8"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 1, sc = 0.*" "bitfield uniqueness (u9)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #9"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 1.*" "bitfield uniqueness (sc)"] { - return - } -} - - -# -# Test bitfield containment. -# Fill alternating fields with all 1's and verify that none of the bits -# "bleed over" to the other fields. -# - -proc bitfield_containment {} { - global decimal - global hex - global gdb_prompt - global srcfile - - delete_breakpoints - - if [gdb_test "break break2" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break2"] { - return - } - - gdb_run_cmd - gdb_expect { - -re "Break.*break2 \\(\\) at .*$srcfile:$decimal.*$gdb_prompt $" { - pass "running to break2" - } - timeout { fail "(timeout) running to break2"; return } - } - - if [gdb_test "print/x flags" "= {uc = 0xff, s1 = 0x0, u1 = 0x1, s2 = 0x0, u2 = 0x3, s3 = 0x0, u3 = 0x7, s9 = 0x0, u9 = 0x1ff, sc = 0x0}" "bitfield containment #1"] { - return - } - - if [gdb_test "cont" "Break.*break2 \\(\\) at .*$srcfile:$decimal.*" "continuing to break2"] { - return - } - - # If program is compiled with Sun CC, then these print out as their - # actual sizes; if compiled with gcc, they print out as 0xffffffff - # (which strikes me as bogus, but accept it at least for now). - if [gdb_test "print/x flags" "= {uc = 0x0, s1 = 0x(1|f*), u1 = 0x0, s2 = 0x(3|f*), u2 = 0x0, s3 = 0x(7|f*), u3 = 0x0, s9 = 0x(1ff|f*), u9 = 0x0, sc = 0xff}" "bitfield containment #2"] { - return - } -} - -# Test unsigned bitfields for unsignedness and range. -# Fill the unsigned fields with the maximum positive value and verify that -# the values are printed correctly. - -proc bitfield_unsignedness {} { - global decimal - global hex - global gdb_prompt - global srcfile - - delete_breakpoints - - if [gdb_test "break break3" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break3"] { - return - } - - gdb_run_cmd - gdb_expect { - -re "Break.*break3 \\(\\) at .*$srcfile:$decimal.*$gdb_prompt $" { - pass "running to break3" - } - timeout { fail "(timeout) running to break3"; return } - } - - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 1, s2 = 0, u2 = 3, s3 = 0, u3 = 7, s9 = 0, u9 = 511, sc = 0.*" "unsigned bitfield ranges"] { - return - } -} - -# -# Test signed bitfields for signedness and range. -# Fill the signed fields with the maximum positive value, then the maximally -# negative value, then -1, and verify in each case that the values are -# printed correctly. -# - -proc bitfield_signedness {} { - global decimal - global hex - global gdb_prompt - global srcfile - - delete_breakpoints - - if [gdb_test "break break4" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break4"] { - return - } - - gdb_run_cmd - gdb_expect { - -re "Break.*break4 \\(\\) at .*$srcfile:$decimal.*$gdb_prompt $" { - pass "running to break4" - } - timeout { fail "(timeout) running to break4"; return } - } - - if [gdb_test "print flags" "= {uc = 0 .*, s1 = 0, u1 = 0, s2 = 1, u2 = 0, s3 = 3, u3 = 0, s9 = 255, u9 = 0, sc = 0 .*}" "signed bitfields, max positive values"] { - return - } - - if [gdb_test "cont" "Break.*break4 \\(\\) at .*$srcfile:$decimal.*" "continuing to break4 #1"] { - return - } - - # Determine if the target has signed bitfields so we can xfail the - # the signed bitfield tests if it doesn't. - send_gdb "print i\n" - gdb_expect { - -re ".* = -256.*$gdb_prompt $" { - pass "determining signed-ness of bitfields" - } - -re ".* = 256.*$gdb_prompt $" { - pass "determining signed-ness of bitfields" - setup_xfail "*-*-*" - } - -re ".*$gdb_prompt $" { - fail "determining signed-ness of bitfields" - return - } - default { fail "determining signed-ness of bitfields" ; return } - } - - if [gdb_test "print flags" ".*uc = 0 .*, s1 = -1, u1 = 0, s2 = -2, u2 = 0, s3 = -4, u3 = 0, s9 = -256, u9 = 0, sc = 0.*" "signed bitfields, max negative values"] { - return - } - - if [gdb_test "cont" "Break.*break4 \\(\\) at .*$srcfile:$decimal.*" "continuing to break4 #2"] { - return - } - - if [gdb_test "print flags" ".*uc = 0 .*, s1 = -1, u1 = 0, s2 = -1, u2 = 0, s3 = -1, u3 = 0, s9 = -1, u9 = 0, sc = 0.*" "signed bitfields with -1"] { - return - } -} - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $" -bitfield_uniqueness -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -bitfield_containment -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -bitfield_unsignedness -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -bitfield_signedness diff --git a/gdb/testsuite/gdb.base/branches.c b/gdb/testsuite/gdb.base/branches.c deleted file mode 100644 index df3b7c0..0000000 --- a/gdb/testsuite/gdb.base/branches.c +++ /dev/null @@ -1,113 +0,0 @@ -/* Tests for single stepping through various branch conditions */ - -int noscramble(int a) -{ - return a ; -} - -int echo(int a) -{ return noscramble(a) ; } - -int equaltest(int a,int b) -{ int retval ; - if (a == b) - retval = noscramble(1) ; - else retval = noscramble(0) ; - return retval ; -} - -int neqtest(int a , int b) -{ int retval ; - if (a != b) - retval = echo(1) ; - else retval = echo(2) ; - return retval ; -} -int zerotest(int a ) -{ int retval ; - a = echo(a) ; - if (a ==0) - retval = echo(1) ; - else - retval = echo(0) ; - retval = echo(retval) ; - return retval ; -} - -int zerotest2(int a) -{ - return (a==0) ; -} - -int nonzerotest(int a) -{ - int retval ; - if (a != 0) - retval = echo(0) ; - else retval = echo(1) ; - return retval ; -} - -int whiletest(int a) -{ - while (a > 0) - { - a-- ; - } - return 0 ; -} -int whiletest2(int a) -{ - while (a > 0) - { - a = noscramble(a) ; - a-- ; - } - return a ; -} - -int decr(int x) { return x - 1 ; } - -int while3(int a) -{ - int b = a ; - while (a == b) - { - a = echo(a) ; - b = decr(b) ; - } - return a ; -} - -void done (int x) { } - -int main() -{ - int a,b,c,d ; - done(1) ; - a = echo(123456) ; - b = echo(123456) ; - c = echo(56789) ; - d = echo(0) ; -#if 1 - equaltest(a,b) ; - done(7) ; - equaltest(a,c) ; - done(8) ; - whiletest(3) ; /* worked */ - done(3) ; - while3(3) ; - done(6) ; -#endif - neqtest(a,b) ; - neqtest(a,b) ; - neqtest(a,c) ; - zerotest(d) ; - zerotest(a) ; - done(5) ; - nonzerotest(d) ; - done(4) ; - nonzerotest(a) ; - done(111) ; - return 1 ; -} diff --git a/gdb/testsuite/gdb.base/break.c b/gdb/testsuite/gdb.base/break.c deleted file mode 100644 index 2b36a52..0000000 --- a/gdb/testsuite/gdb.base/break.c +++ /dev/null @@ -1,77 +0,0 @@ -#ifdef vxworks -# include <vxWorks.h> -# include <stdioLib.h> - -/* VxWorks does not supply atoi. */ -static int -atoi (z) - char *z; -{ - int i = 0; - - while (*z >= '0' && *z <= '9') - i = i * 10 + (*z++ - '0'); - return i; -} - -/* I don't know of any way to pass an array to VxWorks. This function - can be called directly from gdb. */ - -vxmain (arg) -char *arg; -{ - char *argv[2]; - - argv[0] = ""; - argv[1] = arg; - main (2, argv, (char **) 0); -} - -#else /* ! vxworks */ -# include <stdio.h> -#endif /* ! vxworks */ - -/* - * The following functions do nothing useful. They are included simply - * as places to try setting breakpoints at. They are explicitly - * "one-line functions" to verify that this case works (some versions - * of gcc have or have had problems with this). - */ - -int marker1 () { return (0); } -int marker2 (a) int a; { return (1); } -void marker3 (a, b) char *a, *b; {} -void marker4 (d) long d; {} - -/* - * This simple classical example of recursion is useful for - * testing stack backtraces and such. - */ - -int -main (argc, argv, envp) -int argc; -char *argv[], **envp; -{ - if (argc != 2) { - fprintf (stderr, "usage: factorial <number>\n"); - return 1; - } else { - printf ("%d\n", factorial (atoi (argv[1]))); - } - marker1 (); - marker2 (43); - marker3 ("stack", "trace"); - marker4 (177601976L); - return 0; -} - -int factorial (value) -int value; -{ - if (value > 1) { - value *= factorial (value - 1); - } - return (value); -} - diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp deleted file mode 100644 index 6708323..0000000 --- a/gdb/testsuite/gdb.base/break.exp +++ /dev/null @@ -1,355 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997 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 Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "break" -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_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if [target_info exists gdb_stub] { - gdb_step_for_stub; -} -# -# test simple breakpoint setting commands -# - -# Test deleting all breakpoints when there are none installed. -# Between 4.15 and 4.16 a change made gdb stop prompting when -# there are no user breakpoints installed. -# Note that gdb-init.exp provides a "delete_breakpoints" proc -# for general use elsewhere. - -send_gdb "delete breakpoints\n" -gdb_expect { - -re "Delete all breakpoints.*$" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" { - setup_xfail "i*86-*-sysv4*" "sparc-sun-sunos4*" "alpha-dec-osf*" "mips-dec-ultrix*" - fail "Delete all breakpoints when none (unexpected prompt)" - } - timeout { fail "Delete all breakpoints when none (timeout after unexpected prompt)" } - } - } - -re ".*$gdb_prompt $" { pass "Delete all breakpoints when none" } - timeout { fail "Delete all breakpoints when none (timeout)" } -} - -# -# test break at function -# -gdb_test "break main" \ - "Breakpoint.*at.* file .*$srcfile, line.*" \ - "breakpoint function" - -# -# test break at function in file -# -gdb_test "break $srcfile:factorial" \ - "Breakpoint.*at.* file .*$srcfile, line.*" \ - "breakpoint function in file" - -# -# test break at line number -# -gdb_test "break 64" \ - "Breakpoint.*at.* file .*$srcfile, line 64\\." \ - "breakpoint line number" - -# -# test duplicate breakpoint -# -gdb_test "break 64" \ - "Note: breakpoint \[0-9\]+ also set at pc.*Breakpoint \[0-9\]+ at.* file .*$srcfile, line 64\\." \ - "breakpoint duplicate" - -# -# test break at line number in file -# -gdb_test "break $srcfile:70" \ - "Breakpoint.*at.* file .*$srcfile, line 70\\." \ - "breakpoint line number in file" - - -# -# check to see what breakpoints are set -# -if [target_info exists gdb_stub] { - set main_line 57 -} else { - set main_line 60 -} - -gdb_test "info break" \ - "Num Type\[ \]+Disp Enb Address\[ \]+What.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.* -\[0-9\]+\[\t \]+breakpoint keep y.* in factorial at .*$srcfile:76.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:64.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:64.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:70" \ - "breakpoint info" - - -# FIXME: The rest of this test doesn't work with anything that can't -# handle arguments. -# Huh? There doesn't *appear* to be anything that passes arguments -# below. -if [istarget "mips-idt-*"] then { - return -} - -# -# run until the breakpoint at main is hit. For non-stubs-using targets. -# -if ![target_info exists use_gdb_stub] { - if [istarget "*-*-vxworks*"] then { - send_gdb "run vxmain \"2\"\n" - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - } else { - send_gdb "run\n" - } - gdb_expect { - -re "The program .* has been started already.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:60.*60\[\t \]+if .argc.* \{.*$gdb_prompt $"\ - { pass "run until function breakpoint" } - -re ".*$gdb_prompt $" { fail "run until function breakpoint" } - timeout { fail "run until function breakpoint (timeout)" } - } -} else { - if ![target_info exists gdb_stub] { - gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:60.*60\[\t \]+if .argc.*\{" "stub continue" - } -} - -# -# run until the breakpoint at a line number -# -gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:64.*64\[\t \]+printf.*factorial.*" \ - "run until breakpoint set at a line number" - -# -# Run until the breakpoint set in a function in a file -# -for {set i 6} {$i >= 1} {incr i -1} { - gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, factorial \\(value=$i\\) at .*$srcfile:76.*76\[\t \]+if .value > 1. \{" \ - "run until file:function($i) breakpoint" -} - -# -# run until the file:function breakpoint at a line number in a file -# -gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:70.*70\[\t \]+return 0;" \ - "run until file:linenum breakpoint" - -# -# delete all breakpoints so we can start over, course this can be a test too -# -delete_breakpoints - -# -# test temporary breakpoint at function -# - -gdb_test "tbreak main" "Breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function" - -# -# test break at function in file -# - -gdb_test "tbreak $srcfile:factorial" "Breakpoint.*at.* file .*$srcfile, line.*" \ - "Temporary breakpoint function in file" - -# -# test break at line number -# -send_gdb "tbreak 64\n" -gdb_expect { - -re "Breakpoint.*at.* file .*$srcfile, line 64.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } - -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } - timeout { fail "breakpoint line number #1 (timeout)" } -} - -gdb_test "tbreak 60" "Breakpoint.*at.* file .*$srcfile, line 60.*" "Temporary breakpoint line number #2" - -# -# test break at line number in file -# -send_gdb "tbreak $srcfile:70\n" -gdb_expect { - -re "Breakpoint.*at.* file .*$srcfile, line 70.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } - -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } - timeout { fail "Temporary breakpoint line number in file #1 (timeout)" } -} - -gdb_test "tbreak $srcfile:66" "Breakpoint.*at.* file .*$srcfile, line 66.*" "Temporary breakpoint line number in file #2" - -# -# check to see what breakpoints are set (temporary this time) -# -gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\]\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$main_line.*\[\r\n\]\[0-9\]+\[\t \]+breakpoint del.*y.*in factorial at .*$srcfile:76.*\[\r\n\]\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:64.*\[\r\n\]\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:70.*" "Temporary breakpoint info" - -proc test_clear_command {} { - gdb_test "break main" "Breakpoint.*at.*" "break main #1" - gdb_test "break main" "Breakpoint.*at.*" "break main #2" - - # We don't test that it deletes the correct breakpoints. We do at - # least test that it deletes more than one breakpoint. - gdb_test "clear main" {Deleted breakpoints [0-9]+ [0-9]+.*} -} - -# -# Test "next" over recursive function call. -# - -proc test_next_with_recursion {} { - global gdb_prompt - global decimal - global binfile - - if [istarget "d10v-*-*"] { - # Doesn't work right now. - gdb_suppress_tests; - } - if [target_info exists use_gdb_stub] { - # Reload the program. - delete_breakpoints - gdb_load ${binfile}; - } else { - # FIXME: should be using runto - gdb_test "kill" "" "kill program" "Kill the program being debugged.*y or n. $" "y" - - delete_breakpoints - } - - gdb_test "break factorial" "Breakpoint $decimal at .*" "break at factorial" - - # Run until we call factorial with 6 - - if [istarget "*-*-vxworks*"] then { - send_gdb "run vxmain \"6\"\n" - } else { - gdb_run_cmd - } - gdb_expect { - -re "Break.* factorial .value=6. .*$gdb_prompt $" {} - -re ".*$gdb_prompt $" { - fail "run to factorial(6)"; - gdb_suppress_tests; - } - timeout { fail "run to factorial(6) (timeout)" ; gdb_suppress_tests } - } - - # Continue until we call factorial recursively with 5. - - send_gdb "continue\n" - gdb_expect { - -re "Continuing.*Break.* factorial .value=5. .*$gdb_prompt $" {} - timeout { fail "continue to factorial(5) (timeout)" ; gdb_suppress_tests } - } - - # Do a backtrace just to confirm how many levels deep we are. - - set result [gdb_test "backtrace" \ - "#0\[ \t\]+ factorial .value=5..*" \ - "backtrace from factorial(5)"] - if $result!=0 then { gdb_suppress_tests } - - # Now a "next" should position us at the recursive call, which - # we will be performing with 4. - - send_gdb "next\n" - gdb_expect { - -re ".* factorial .value - 1.;.*$gdb_prompt $" {} - timeout { fail "next to recursive call (timeout)" ; gdb_suppress_tests } - } - - # Disable the breakpoint at the entry to factorial by deleting them all. - # The "next" should run until we return to the next line from this - # recursive call to factorial with 4. - # Buggy versions of gdb will stop instead at the innermost frame on - # the line where we are trying to "next" to. - - delete_breakpoints - - if [istarget "mips*tx39-*"] { - set timeout 60 - } else { - set timeout 20 - } - - gdb_test next "\[0-9\]*\[\t \]+return \\(value\\);.*" \ - "next over recursive call" - - # OK, we should be back in the same stack frame we started from. - # Do a backtrace just to confirm. - - set result [gdb_test "backtrace" \ - "#0\[ \t\]+ factorial .value=120.*\r\n#1\[ \t\]+ \[0-9a-fx\]+ in factorial .value=6..*" \ - "backtrace from factorial(5.1)"] - if { $result != 0 } { gdb_suppress_tests } - - if [target_info exists gdb,noresults] { gdb_suppress_tests } - if [target_info exists use_gdb_stub] { - gdb_breakpoint "exit" - gdb_test "continue" "Continuing..*Breakpoint .*exit \[(\].*=0\[)\].*" "continue until exit in recursive next test" - } else { - # Continue until we exit. Should not stop again. - # Don't bother to check the output of the program, that may be - # extremely tough for some remote systems. - gdb_test "continue"\ - "Continuing.\[\r\n0-9\]+Program exited normally\\..*"\ - "continue until exit in recursive next test" - } - gdb_stop_suppressing_tests; -} - -test_clear_command -test_next_with_recursion - -# Reset the default arguments for VxWorks -if [istarget "*-*-vxworks*"] { - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - send_gdb "set args main\n" - gdb_expect -re ".*$gdb_prompt $" {} -} diff --git a/gdb/testsuite/gdb.base/call-rt-st.c b/gdb/testsuite/gdb.base/call-rt-st.c deleted file mode 100644 index c89cb11..0000000 --- a/gdb/testsuite/gdb.base/call-rt-st.c +++ /dev/null @@ -1,530 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <strings.h> - -/************************************************************************** - * TESTS : - * function returning large structures, which go on the stack - * functions returning varied sized structs which go on in the registers. - ***************************************************************************/ - - -/* A large structure (> 64 bits) used to test passing large structures as - * parameters - */ - -struct array_rep_info_t { - int next_index[10]; - int values[10]; - int head; -}; - -/***************************************************************************** - * Small structures ( <= 64 bits). These are used to test passing small - * structures as parameters and test argument size promotion. - *****************************************************************************/ - - /* 64 bits - */ -struct small_rep_info_t { - int value; - int head; -}; - -/* 6 bits : really fits in 8 bits and is promoted to 32 bits - */ -struct bit_flags_t { - unsigned alpha :1; - unsigned beta :1; - unsigned gamma :1; - unsigned delta :1; - unsigned epsilon :1; - unsigned omega :1; -}; - -/* 22 bits : really fits in 40 bits and is promoted to 64 bits - */ -struct bit_flags_combo_t { - unsigned alpha :1; - unsigned beta :1; - char ch1; - unsigned gamma :1; - unsigned delta :1; - char ch2; - unsigned epsilon :1; - unsigned omega :1; -}; - -/* 64 bits - */ -struct one_double_t { - double double1; -}; - -/* 64 bits - */ -struct two_floats_t { - float float1; - float float2; -}; - - -/* 24 bits : promoted to 32 bits - */ -struct three_char_t { - char ch1; - char ch2; - char ch3; -}; - -/* 40 bits : promoted to 64 bits - */ -struct five_char_t { - char ch1; - char ch2; - char ch3; - char ch4; - char ch5; -}; - -/* 40 bits : promoted to 64 bits - */ -struct int_char_combo_t { - int int1; - char ch1; -}; - - -/***************************************************************** - * LOOP_COUNT : - * A do nothing function. Used to provide a point at which calls can be made. - *****************************************************************/ -void loop_count () { - - int index; - - for (index=0; index<4; index++); -} - -/***************************************************************** - * INIT_BIT_FLAGS : - * Initializes a bit_flags_t structure. Can call this function see - * the call command behavior when integer arguments do not fit into - * registers and must be placed on the stack. - * OUT struct bit_flags_t *bit_flags -- structure to be filled - * IN unsigned a -- 0 or 1 - * IN unsigned b -- 0 or 1 - * IN unsigned g -- 0 or 1 - * IN unsigned d -- 0 or 1 - * IN unsigned e -- 0 or 1 - * IN unsigned o -- 0 or 1 - *****************************************************************/ -void init_bit_flags (bit_flags,a,b,g,d,e,o) -struct bit_flags_t *bit_flags; -unsigned a; -unsigned b; -unsigned g; -unsigned d; -unsigned e; -unsigned o; -{ - - bit_flags->alpha = a; - bit_flags->beta = b; - bit_flags->gamma = g; - bit_flags->delta = d; - bit_flags->epsilon = e; - bit_flags->omega = o; -} - -/***************************************************************** - * INIT_BIT_FLAGS_COMBO : - * Initializes a bit_flags_combo_t structure. Can call this function - * to see the call command behavior when integer and character arguments - * do not fit into registers and must be placed on the stack. - * OUT struct bit_flags_combo_t *bit_flags_combo -- structure to fill - * IN unsigned a -- 0 or 1 - * IN unsigned b -- 0 or 1 - * IN char ch1 - * IN unsigned g -- 0 or 1 - * IN unsigned d -- 0 or 1 - * IN char ch2 - * IN unsigned e -- 0 or 1 - * IN unsigned o -- 0 or 1 - *****************************************************************/ -void init_bit_flags_combo (bit_flags_combo, a, b, ch1, g, d, ch2, e, o) -struct bit_flags_combo_t *bit_flags_combo; -unsigned a; -unsigned b; -char ch1; -unsigned g; -unsigned d; -char ch2; -unsigned e; -unsigned o; -{ - - bit_flags_combo->alpha = a; - bit_flags_combo->beta = b; - bit_flags_combo->ch1 = ch1; - bit_flags_combo->gamma = g; - bit_flags_combo->delta = d; - bit_flags_combo->ch2 = ch2; - bit_flags_combo->epsilon = e; - bit_flags_combo->omega = o; -} - - -/***************************************************************** - * INIT_ONE_DOUBLE : - * OUT struct one_double_t *one_double -- structure to fill - * IN double init_val - *****************************************************************/ -void init_one_double (one_double, init_val) -struct one_double_t *one_double; -double init_val; -{ - - one_double->double1 = init_val; -} - -/***************************************************************** - * INIT_TWO_FLOATS : - * OUT struct two_floats_t *two_floats -- structure to be filled - * IN float init_val1 - * IN float init_val2 - *****************************************************************/ -void init_two_floats (two_floats, init_val1, init_val2) -struct two_floats_t *two_floats; -float init_val1; -float init_val2; -{ - - two_floats->float1 = init_val1; - two_floats->float2 = init_val2; -} - -/***************************************************************** - * INIT_THREE_CHARS : - * OUT struct three_char_t *three_char -- structure to be filled - * IN char init_val1 - * IN char init_val2 - * IN char init_val3 - *****************************************************************/ -void init_three_chars ( three_char, init_val1, init_val2, init_val3) -struct three_char_t *three_char; -char init_val1; -char init_val2; -char init_val3; -{ - - three_char->ch1 = init_val1; - three_char->ch2 = init_val2; - three_char->ch3 = init_val3; -} - -/***************************************************************** - * INIT_FIVE_CHARS : - * OUT struct five_char_t *five_char -- structure to be filled - * IN char init_val1 - * IN char init_val2 - * IN char init_val3 - * IN char init_val4 - * IN char init_val5 - *****************************************************************/ -void init_five_chars ( five_char, init_val1, init_val2, init_val3, init_val4, init_val5) -struct five_char_t *five_char; -char init_val1; -char init_val2; -char init_val3; -char init_val4; -char init_val5; -{ - - five_char->ch1 = init_val1; - five_char->ch2 = init_val2; - five_char->ch3 = init_val3; - five_char->ch4 = init_val4; - five_char->ch5 = init_val5; -} - -/***************************************************************** - * INIT_INT_CHAR_COMBO : - * OUT struct int_char_combo_t *combo -- structure to be filled - * IN int init_val1 - * IN char init_val2 - *****************************************************************/ -void init_int_char_combo ( combo, init_val1, init_val2) -struct int_char_combo_t *combo; -int init_val1; -char init_val2; -{ - - combo->int1 = init_val1; - combo->ch1 = init_val2; -} - -/***************************************************************** - * INIT_STRUCT_REP : - * OUT struct small_rep_into_t *small_struct -- structure to be filled - * IN int seed - *****************************************************************/ -void init_struct_rep( small_struct, seed) -struct small_rep_info_t *small_struct; -int seed; - -{ - - small_struct->value = 2 + (seed*2); - small_struct->head = 0; -} - -/***************************************************************** - * PRINT_BIT_FLAGS : - * IN struct bit_flags_t bit_flags - ****************************************************************/ -struct bit_flags_t print_bit_flags ( bit_flags) -struct bit_flags_t bit_flags; -{ - - if (bit_flags.alpha) printf("alpha\n"); - if (bit_flags.beta) printf("beta\n"); - if (bit_flags.gamma) printf("gamma\n"); - if (bit_flags.delta) printf("delta\n"); - if (bit_flags.epsilon) printf("epsilon\n"); - if (bit_flags.omega) printf("omega\n"); - return bit_flags; - -} - -/***************************************************************** - * PRINT_BIT_FLAGS_COMBO : - * IN struct bit_flags_combo_t bit_flags_combo - ****************************************************************/ -struct bit_flags_combo_t print_bit_flags_combo ( bit_flags_combo ) -struct bit_flags_combo_t bit_flags_combo; -{ - - if (bit_flags_combo.alpha) printf("alpha\n"); - if (bit_flags_combo.beta) printf("beta\n"); - if (bit_flags_combo.gamma) printf("gamma\n"); - if (bit_flags_combo.delta) printf("delta\n"); - if (bit_flags_combo.epsilon) printf("epsilon\n"); - if (bit_flags_combo.omega) printf("omega\n"); - printf("ch1: %c\tch2: %c\n", bit_flags_combo.ch1, bit_flags_combo.ch2); - return bit_flags_combo; - -} - -/***************************************************************** - * PRINT_ONE_DOUBLE : - * IN struct one_double_t one_double - ****************************************************************/ -struct one_double_t print_one_double ( one_double ) -struct one_double_t one_double; -{ - - printf("Contents of one_double_t: \n\n"); - printf("%f\n", one_double.double1); - return one_double; - -} - -/***************************************************************** - * PRINT_TWO_FLOATS : - * IN struct two_floats_t two_floats - ****************************************************************/ -struct two_floats_t print_two_floats ( two_floats ) -struct two_floats_t two_floats; -{ - - printf("Contents of two_floats_t: \n\n"); - printf("%f\t%f\n", two_floats.float1, two_floats.float2); - return two_floats; - -} - -/***************************************************************** - * PRINT_THREE_CHARS : - * IN struct three_char_t three_char - ****************************************************************/ -struct three_char_t print_three_chars ( three_char ) -struct three_char_t three_char; -{ - - printf("Contents of three_char_t: \n\n"); - printf("%c\t%c\t%c\n", three_char.ch1, three_char.ch2, three_char.ch3); - return three_char; - -} - -/***************************************************************** - * PRINT_FIVE_CHARS : - * IN struct five_char_t five_char - ****************************************************************/ -struct five_char_t print_five_chars ( five_char ) -struct five_char_t five_char; -{ - - printf("Contents of five_char_t: \n\n"); - printf("%c\t%c\t%c\t%c\t%c\n", five_char.ch1, five_char.ch2, - five_char.ch3, five_char.ch4, - five_char.ch5); - return five_char; - -} - -/***************************************************************** - * PRINT_INT_CHAR_COMBO : - * IN struct int_char_combo_t int_char_combo - ****************************************************************/ -struct int_char_combo_t print_int_char_combo ( int_char_combo ) -struct int_char_combo_t int_char_combo; -{ - - printf("Contents of int_char_combo_t: \n\n"); - printf("%d\t%c\n", int_char_combo.int1, int_char_combo.ch1); - return int_char_combo; - -} - -/***************************************************************** - * PRINT_STRUCT_REP : - ****************************************************************/ -struct small_rep_info_t print_struct_rep( struct1 ) -struct small_rep_info_t struct1; - -{ - - printf("Contents of struct1: \n\n"); - printf("%10d%10d\n", struct1.value, struct1.head); - struct1.value =+5; - - return struct1; - - -} - - -struct array_rep_info_t print_one_large_struct( linked_list1 ) -struct array_rep_info_t linked_list1; -{ - - - printf("%10d%10d\n", linked_list1.values[0], - linked_list1.next_index[0]); - - return linked_list1; - -} - -/***************************************************************** - * INIT_ARRAY_REP : - * IN struct array_rep_info_t *linked_list - * IN int seed - ****************************************************************/ -void init_array_rep( linked_list, seed ) -struct array_rep_info_t *linked_list; -int seed; - -{ - - int index; - - for (index = 0; index < 10; index++) { - - linked_list->values[index] = (2*index) + (seed*2); - linked_list->next_index[index] = index + 1; - } - linked_list->head = 0; -} - - -int main () { - - /* variables for large structure testing - */ - int number = 10; - struct array_rep_info_t *list1; - - /* variables for testing a small structures and a very long argument list - */ - struct small_rep_info_t *struct1; - struct bit_flags_t *flags; - struct bit_flags_combo_t *flags_combo; - struct three_char_t *three_char; - struct five_char_t *five_char; - struct int_char_combo_t *int_char_combo; - struct one_double_t *d1; - struct two_floats_t *f3; - - - /* Allocate space for large structures - */ - list1 = (struct array_rep_info_t *)malloc(sizeof(struct array_rep_info_t)); - - /* Initialize large structures - */ - init_array_rep(list1, 2); - - /* Print large structures - */ - print_one_large_struct(*list1); - - /* Allocate space for small structures - */ - struct1 = (struct small_rep_info_t *)malloc(sizeof(struct small_rep_info_t)); - flags = (struct bit_flags_t *)malloc(sizeof(struct bit_flags_t)); - flags_combo = (struct bit_flags_combo_t *)malloc(sizeof(struct bit_flags_combo_t)); - three_char = (struct three_char_t *)malloc(sizeof(struct three_char_t)); - five_char = (struct five_char_t *)malloc(sizeof(struct five_char_t)); - int_char_combo = (struct int_char_combo_t *)malloc(sizeof(struct int_char_combo_t)); - - d1 = (struct one_double_t *)malloc(sizeof(struct one_double_t)); - f3 = (struct two_floats_t *)malloc(sizeof(struct two_floats_t)); - - /* Initialize small structures - */ - init_one_double ( d1, 1.11111); - init_two_floats ( f3, -2.345, 1.0); - init_bit_flags(flags, (unsigned)1, (unsigned)0, (unsigned)1, - (unsigned)0, (unsigned)1, (unsigned)0 ); - init_bit_flags_combo(flags_combo, (unsigned)1, (unsigned)0, 'y', - (unsigned)1, (unsigned)0, 'n', - (unsigned)1, (unsigned)0 ); - init_three_chars(three_char, 'x', 'y', 'z'); - init_five_chars(five_char, 'h', 'e', 'l', 'l', 'o'); - init_int_char_combo(int_char_combo, 13, '!'); - init_struct_rep(struct1, 10); - - - /* Print small structures - */ - print_one_double(*d1); - print_two_floats(*f3); - print_bit_flags(*flags); - print_bit_flags_combo(*flags_combo); - print_three_chars(*three_char); - print_five_chars(*five_char); - print_int_char_combo(*int_char_combo); - print_struct_rep(*struct1); - - loop_count(); - - return 0; -} - - - - - - - - - - - - - - - diff --git a/gdb/testsuite/gdb.base/callfuncs.c b/gdb/testsuite/gdb.base/callfuncs.c deleted file mode 100644 index e59db08..0000000 --- a/gdb/testsuite/gdb.base/callfuncs.c +++ /dev/null @@ -1,206 +0,0 @@ -/* Support program for testing gdb's ability to call functions - in the inferior, pass appropriate arguments to those functions, - and get the returned result. */ - -#ifdef __STDC__ -#define PARAMS(paramlist) paramlist -#else -#define PARAMS(paramlist) () -#endif - -char char_val1 = 'a'; -char char_val2 = 'b'; - -short short_val1 = 10; -short short_val2 = -23; - -int int_val1 = 87; -int int_val2 = -26; - -long long_val1 = 789; -long long_val2 = -321; - -float float_val1 = 3.14159; -float float_val2 = -2.3765; - -double double_val1 = 45.654; -double double_val2 = -67.66; - -#define DELTA (0.001) - -char *string_val1 = "string 1"; -char *string_val2 = "string 2"; - -char char_array_val1[] = "carray 1"; -char char_array_val2[] = "carray 2"; - -struct struct1 { - int x; - long y; -} struct_val1 = { 76, 51 }; - -/* Some functions that can be passed as arguments to other test - functions, or called directly. */ - -int add (a, b) -int a, b; -{ - return (a + b); -} - -int doubleit (a) -int a; -{ - return (a + a); -} - -int (*func_val1) PARAMS((int,int)) = add; -int (*func_val2) PARAMS((int)) = doubleit; - -/* An enumeration and functions that test for specific values. */ - -enum enumtype { enumval1, enumval2, enumval3 }; -enum enumtype enum_val1 = enumval1; -enum enumtype enum_val2 = enumval2; -enum enumtype enum_val3 = enumval3; - -t_enum_value1 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val1); -} - -t_enum_value2 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val2); -} - -t_enum_value3 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val3); -} - -/* A function that takes a vector of integers (along with an explicit - count) and returns their sum. */ - -int sum_args (argc, argv) -int argc; -int argv[]; -{ - int sumval = 0; - int idx; - - for (idx = 0; idx < argc; idx++) - { - sumval += argv[idx]; - } - return (sumval); -} - -/* Test that calling functions works if there are a lot of arguments. */ -int -sum10 (i0, i1, i2, i3, i4, i5, i6, i7, i8, i9) - int i0, i1, i2, i3, i4, i5, i6, i7, i8, i9; -{ - return i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9; -} - -/* Gotta have a main to be able to generate a linked, runnable - executable, and also provide a useful place to set a breakpoint. */ - -main () -{ - malloc(1); -} - -/* Functions that expect specific values to be passed and return - either 0 or 1, depending upon whether the values were - passed incorrectly or correctly, respectively. */ - -int t_char_values (char_arg1, char_arg2) -char char_arg1, char_arg2; -{ - return ((char_arg1 == char_val1) && (char_arg2 == char_val2)); -} - -int t_short_values (short_arg1, short_arg2) -short short_arg1, short_arg2; -{ - return ((short_arg1 == short_val1) && (short_arg2 == short_val2)); -} - -int t_int_values (int_arg1, int_arg2) -int int_arg1, int_arg2; -{ - return ((int_arg1 == int_val1) && (int_arg2 == int_val2)); -} - -int t_long_values (long_arg1, long_arg2) -long long_arg1, long_arg2; -{ - return ((long_arg1 == long_val1) && (long_arg2 == long_val2)); -} - -int t_float_values (float_arg1, float_arg2) -float float_arg1, float_arg2; -{ - return (((float_arg1 - float_val1) < DELTA) && - ((float_arg2 - float_val2) < DELTA)); -} - -int t_double_values (double_arg1, double_arg2) -double double_arg1, double_arg2; -{ - return (((double_arg1 - double_val1) < DELTA) && - ((double_arg2 - double_val2) < DELTA)); -} - -int t_string_values (string_arg1, string_arg2) -char *string_arg1, *string_arg2; -{ - return (!strcmp (string_arg1, string_val1) && - !strcmp (string_arg2, string_val2)); -} - -int t_char_array_values (char_array_arg1, char_array_arg2) -char char_array_arg1[], char_array_arg2[]; -{ - return (!strcmp (char_array_arg1, char_array_val1) && - !strcmp (char_array_arg2, char_array_val2)); -} - - -/* This used to simply compare the function pointer arguments with - known values for func_val1 and func_val2. Doing so is valid ANSI - code, but on some machines (RS6000, HPPA, others?) it may fail when - called directly by GDB. - - In a nutshell, it's not possible for GDB to determine when the address - of a function or the address of the function's stub/trampoline should - be passed. - - So, to avoid GDB lossage in the common case, we perform calls through the - various function pointers and compare the return values. For the HPPA - at least, this allows the common case to work. - - If one wants to try something more complicated, pass the address of - a function accepting a "double" as one of its first 4 arguments. Call - that function indirectly through the function pointer. This would fail - on the HPPA. */ - -int t_func_values (func_arg1, func_arg2) -int (*func_arg1) PARAMS ((int, int)); -int (*func_arg2) PARAMS ((int)); -{ - return ((*func_arg1) (5,5) == (*func_val1) (5,5) - && (*func_arg2) (6) == (*func_val2) (6)); -} - -int t_call_add (func_arg1, a, b) -int (*func_arg1) PARAMS ((int, int)); -int a, b; -{ - return ((*func_arg1)(a, b)); -} diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp deleted file mode 100644 index ffca30b..0000000 --- a/gdb/testsuite/gdb.base/callfuncs.exp +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright (C) 92, 96, 1997 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 Fred Fish. (fnf@cygnus.com) -# and modified by Bob Manson. (manson@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "callfuncs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -set prototypes 1 -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - set prototypes 0; - # built the second test case since we can't use prototypes - warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. - -if [get_compiler_info ${binfile}] { - return -1; -} - -# The a29k can't call functions, so don't even bother with this test. -if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - continue -} - -# Set the current language to C. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_c {} { - global gdb_prompt - - send_gdb "set language c\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language c (timeout)" ; return 0; } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"c\".*$gdb_prompt $" { - pass "set language to \"c\"" - return 1 - } - -re ".*$gdb_prompt $" { - fail "setting language to \"c\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# FIXME: Before calling this proc, we should probably verify that -# we can call inferior functions and get a valid integral value -# returned. -# Note that it is OK to check for 0 or 1 as the returned values, because C -# specifies that the numeric value of a relational or logical expression -# (computed in the inferior) is 1 for true and 0 for false. - -proc do_function_calls {} { - global prototypes - global gcc_compiled - # We need to up this because this can be really slow on some boards. - set timeout 60; - - gdb_test "p t_char_values(0,0)" " = 0" - gdb_test "p t_char_values('a','b')" " = 1" - gdb_test "p t_char_values(char_val1,char_val2)" " = 1" - gdb_test "p t_char_values('a',char_val2)" " = 1" - gdb_test "p t_char_values(char_val1,'b')" " = 1" - - gdb_test "p t_short_values(0,0)" " = 0" - gdb_test "p t_short_values(10,-23)" " = 1" - gdb_test "p t_short_values(short_val1,short_val2)" " = 1" - gdb_test "p t_short_values(10,short_val2)" " = 1" - gdb_test "p t_short_values(short_val1,-23)" " = 1" - - gdb_test "p t_int_values(0,0)" " = 0" - gdb_test "p t_int_values(87,-26)" " = 1" - gdb_test "p t_int_values(int_val1,int_val2)" " = 1" - gdb_test "p t_int_values(87,int_val2)" " = 1" - gdb_test "p t_int_values(int_val1,-26)" " = 1" - - gdb_test "p t_long_values(0,0)" " = 0" - gdb_test "p t_long_values(789,-321)" " = 1" - gdb_test "p t_long_values(long_val1,long_val2)" " = 1" - gdb_test "p t_long_values(789,long_val2)" " = 1" - gdb_test "p t_long_values(long_val1,-321)" " = 1" - - if ![target_info exists gdb,skip_float_tests] { - gdb_test "p t_float_values(0.0,0.0)" " = 0" - - # These next four tests fail on the mn10300. - # The first value is passed in regs, the other in memory. - # Gcc emits different stabs for the two parameters; the first is - # claimed to be a float, the second a double. - # dbxout.c in gcc claims this is the desired behavior. - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(3.14159,-2.3765)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(float_val1,float_val2)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(3.14159,float_val2)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(float_val1,-2.3765)" " = 1" - - # Test passing of arguments which might not be widened. - gdb_test "p t_float_values2(0.0,0.0)" " = 0" - - # Although PR 5318 mentions SunOS specifically, this seems - # to be a generic problem on quite a few platforms. - if $prototypes then { - setup_xfail "hppa*-*-*" "sparc-*-*" "mips*-*-*" 5318 - if {!$gcc_compiled} then { - setup_xfail "alpha-dec-osf2*" "i*86-*-sysv4*" 5318 - } - } - gdb_test "p t_float_values2(3.14159,float_val2)" " = 1" - gdb_test "p t_small_values(1,2,3,4,5,6,7,8,9,10)" " = 55" - - gdb_test "p t_double_values(0.0,0.0)" " = 0" - gdb_test "p t_double_values(45.654,-67.66)" " = 1" - gdb_test "p t_double_values(double_val1,double_val2)" " = 1" - gdb_test "p t_double_values(45.654,double_val2)" " = 1" - gdb_test "p t_double_values(double_val1,-67.66)" " = 1" - } - - gdb_test "p t_string_values(string_val2,string_val1)" " = 0" - gdb_test "p t_string_values(string_val1,string_val2)" " = 1" - gdb_test "p t_string_values(\"string 1\",\"string 2\")" " = 1" - gdb_test "p t_string_values(\"string 1\",string_val2)" " = 1" - gdb_test "p t_string_values(string_val1,\"string 2\")" " = 1" - - gdb_test "p t_char_array_values(char_array_val2,char_array_val1)" " = 0" - gdb_test "p t_char_array_values(char_array_val1,char_array_val2)" " = 1" - gdb_test "p t_char_array_values(\"carray 1\",\"carray 2\")" " = 1" - gdb_test "p t_char_array_values(\"carray 1\",char_array_val2)" " = 1" - gdb_test "p t_char_array_values(char_array_val1,\"carray 2\")" " = 1" - - gdb_test "p doubleit(4)" " = 8" - gdb_test "p add(4,5)" " = 9" - gdb_test "p t_func_values(func_val2,func_val1)" " = 0" - gdb_test "p t_func_values(func_val1,func_val2)" " = 1" - - # On the rs6000, we need to pass the address of the trampoline routine, - # not the address of add itself. I don't know how to go from add to - # the address of the trampoline. Similar problems exist on the HPPA, - # and in fact can present an unsolvable problem as the stubs may not - # even exist in the user's program. We've slightly recoded t_func_values - # to avoid such problems in the common case. This may or may not help - # the RS6000. - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - gdb_test "p t_func_values(add,func_val2)" " = 1" - - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - gdb_test "p t_func_values(func_val1,doubleit)" " = 1" - - gdb_test "p t_call_add(func_val1,3,4)" " = 7" - - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - gdb_test "p t_call_add(add,3,4)" " = 7" - - gdb_test "p t_enum_value1(enumval1)" " = 1" - gdb_test "p t_enum_value1(enum_val1)" " = 1" - gdb_test "p t_enum_value1(enum_val2)" " = 0" - - gdb_test "p t_enum_value2(enumval2)" " = 1" - gdb_test "p t_enum_value2(enum_val2)" " = 1" - gdb_test "p t_enum_value2(enum_val1)" " = 0" - - gdb_test "p sum_args(1,{2})" " = 2" - gdb_test "p sum_args(2,{2,3})" " = 5" - gdb_test "p sum_args(3,{2,3,4})" " = 9" - gdb_test "p sum_args(4,{2,3,4,5})" " = 14" - # These tests are broken, so we'll skip them. - - if ![istarget "tic80-*-*"] { - gdb_test "p sum10 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)" " = 55" - - gdb_test "p t_structs_c(struct_val1)" "= 120 'x'" \ - "call inferior func with struct - returns char" - gdb_test "p t_structs_s(struct_val1)" "= 87" \ - "call inferior func with struct - returns short" - gdb_test "p t_structs_i(struct_val1)" "= 76" \ - "call inferior func with struct - returns int" - gdb_test "p t_structs_l(struct_val1)" "= 51" \ - "call inferior func with struct - returns long" - setup_xfail "i*86-*-*" - gdb_test "p t_structs_f(struct_val1)" "= 2.12.*" \ - "call inferior func with struct - returns float" - setup_xfail "i*86-*-*" - gdb_test "p t_structs_d(struct_val1)" "= 9.87.*" \ - "call inferior func with struct - returns double" - gdb_test "p t_structs_a(struct_val1)" "= (.unsigned char .. )?\"foo\"" \ - "call inferior func with struct - returns char *" - } -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" -gdb_test "set print address off" "" -gdb_test "set width 0" "" - -if { ![set_lang_c] } { - gdb_suppress_tests; -} else { - if { ![runto_main] } { - gdb_suppress_tests; - } -} - -gdb_test "next" ".*" -do_function_calls - -return 0 diff --git a/gdb/testsuite/gdb.base/callfuncs2.c b/gdb/testsuite/gdb.base/callfuncs2.c deleted file mode 100644 index ac14d45..0000000 --- a/gdb/testsuite/gdb.base/callfuncs2.c +++ /dev/null @@ -1,267 +0,0 @@ -/* Support program for testing gdb's ability to call functions - in an inferior which doesn't itself call malloc, pass appropriate - arguments to those functions, and get the returned result. */ - -#ifdef NO_PROTOTYPES -#define PARAMS(paramlist) () -#else -#define PARAMS(paramlist) paramlist -#endif - -char char_val1 = 'a'; -char char_val2 = 'b'; - -short short_val1 = 10; -short short_val2 = -23; - -int int_val1 = 87; -int int_val2 = -26; - -long long_val1 = 789; -long long_val2 = -321; - -float float_val1 = 3.14159; -float float_val2 = -2.3765; - -double double_val1 = 45.654; -double double_val2 = -67.66; - -#define DELTA (0.001) - -char *string_val1 = "string 1"; -char *string_val2 = "string 2"; - -char char_array_val1[] = "carray 1"; -char char_array_val2[] = "carray 2"; - -struct struct1 { - char c; - short s; - int i; - long l; - float f; - double d; - char a[4]; -} struct_val1 = { 'x', 87, 76, 51, 2.1234, 9.876, "foo" }; - -/* Some functions that can be passed as arguments to other test - functions, or called directly. */ - -int add (a, b) -int a, b; -{ - return (a + b); -} - -int doubleit (a) -int a; -{ - return (a + a); -} - -int (*func_val1) PARAMS((int,int)) = add; -int (*func_val2) PARAMS((int)) = doubleit; - -/* An enumeration and functions that test for specific values. */ - -enum enumtype { enumval1, enumval2, enumval3 }; -enum enumtype enum_val1 = enumval1; -enum enumtype enum_val2 = enumval2; -enum enumtype enum_val3 = enumval3; - -t_enum_value1 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val1); -} - -t_enum_value2 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val2); -} - -t_enum_value3 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val3); -} - -/* A function that takes a vector of integers (along with an explicit - count) and returns their sum. */ - -int sum_args (argc, argv) -int argc; -int argv[]; -{ - int sumval = 0; - int idx; - - for (idx = 0; idx < argc; idx++) - { - sumval += argv[idx]; - } - return (sumval); -} - -/* Test that we can call functions that take structs and return - members from that struct */ - -char t_structs_c (tstruct) struct struct1 tstruct; { return (tstruct.c); } -short t_structs_s (tstruct) struct struct1 tstruct; { return (tstruct.s); } -int t_structs_i (tstruct) struct struct1 tstruct; { return (tstruct.i); } -long t_structs_l (tstruct) struct struct1 tstruct; { return (tstruct.l); } -float t_structs_f (tstruct) struct struct1 tstruct; { return (tstruct.f); } -double t_structs_d (tstruct) struct struct1 tstruct; { return (tstruct.d); } -char *t_structs_a (tstruct) struct struct1 tstruct; { return (tstruct.a); } - -/* Test that calling functions works if there are a lot of arguments. */ -int -sum10 (i0, i1, i2, i3, i4, i5, i6, i7, i8, i9) - int i0, i1, i2, i3, i4, i5, i6, i7, i8, i9; -{ - return i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9; -} - -/* Gotta have a main to be able to generate a linked, runnable - executable, and also provide a useful place to set a breakpoint. */ - -main () -{ -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - t_structs_c(struct_val1); -} - -/* Functions that expect specific values to be passed and return - either 0 or 1, depending upon whether the values were - passed incorrectly or correctly, respectively. */ - -int t_char_values (char_arg1, char_arg2) -char char_arg1, char_arg2; -{ - return ((char_arg1 == char_val1) && (char_arg2 == char_val2)); -} - -int -#ifdef NO_PROTOTYPES -t_small_values (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) - char arg1; - short arg2; - int arg3; - char arg4; - short arg5; - char arg6; - short arg7; - int arg8; - short arg9; - short arg10; -#else -t_small_values (char arg1, short arg2, int arg3, char arg4, short arg5, - char arg6, short arg7, int arg8, short arg9, short arg10) -#endif -{ - return arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10; -} - -int t_short_values (short_arg1, short_arg2) -short short_arg1, short_arg2; -{ - return ((short_arg1 == short_val1) && (short_arg2 == short_val2)); -} - -int t_int_values (int_arg1, int_arg2) -int int_arg1, int_arg2; -{ - return ((int_arg1 == int_val1) && (int_arg2 == int_val2)); -} - -int t_long_values (long_arg1, long_arg2) -long long_arg1, long_arg2; -{ - return ((long_arg1 == long_val1) && (long_arg2 == long_val2)); -} - -int t_float_values (float_arg1, float_arg2) -float float_arg1, float_arg2; -{ - return ((float_arg1 - float_val1) < DELTA - && (float_arg1 - float_val1) > -DELTA - && (float_arg2 - float_val2) < DELTA - && (float_arg2 - float_val2) > -DELTA); -} - -int -#ifdef NO_PROTOTYPES -/* In this case we are just duplicating t_float_values, but that is the - easiest way to deal with either ANSI or non-ANSI. */ -t_float_values2 (float_arg1, float_arg2) - float float_arg1, float_arg2; -#else -t_float_values2 (float float_arg1, float float_arg2) -#endif -{ - return ((float_arg1 - float_val1) < DELTA - && (float_arg1 - float_val1) > -DELTA - && (float_arg2 - float_val2) < DELTA - && (float_arg2 - float_val2) > -DELTA); -} - -int t_double_values (double_arg1, double_arg2) -double double_arg1, double_arg2; -{ - return ((double_arg1 - double_val1) < DELTA - && (double_arg1 - double_val1) > -DELTA - && (double_arg2 - double_val2) < DELTA - && (double_arg2 - double_val2) > -DELTA); -} - -int t_string_values (string_arg1, string_arg2) -char *string_arg1, *string_arg2; -{ - return (!strcmp (string_arg1, string_val1) && - !strcmp (string_arg2, string_val2)); -} - -int t_char_array_values (char_array_arg1, char_array_arg2) -char char_array_arg1[], char_array_arg2[]; -{ - return (!strcmp (char_array_arg1, char_array_val1) && - !strcmp (char_array_arg2, char_array_val2)); -} - - -/* This used to simply compare the function pointer arguments with - known values for func_val1 and func_val2. Doing so is valid ANSI - code, but on some machines (RS6000, HPPA, others?) it may fail when - called directly by GDB. - - In a nutshell, it's not possible for GDB to determine when the address - of a function or the address of the function's stub/trampoline should - be passed. - - So, to avoid GDB lossage in the common case, we perform calls through the - various function pointers and compare the return values. For the HPPA - at least, this allows the common case to work. - - If one wants to try something more complicated, pass the address of - a function accepting a "double" as one of its first 4 arguments. Call - that function indirectly through the function pointer. This would fail - on the HPPA. */ - -int t_func_values (func_arg1, func_arg2) -int (*func_arg1) PARAMS ((int, int)); -int (*func_arg2) PARAMS ((int)); -{ - return ((*func_arg1) (5,5) == (*func_val1) (5,5) - && (*func_arg2) (6) == (*func_val2) (6)); -} - -int t_call_add (func_arg1, a, b) -int (*func_arg1) PARAMS ((int, int)); -int a, b; -{ - return ((*func_arg1)(a, b)); -} diff --git a/gdb/testsuite/gdb.base/callfuncs2.exp b/gdb/testsuite/gdb.base/callfuncs2.exp deleted file mode 100644 index 8b17b63..0000000 --- a/gdb/testsuite/gdb.base/callfuncs2.exp +++ /dev/null @@ -1,276 +0,0 @@ -# Copyright (C) 1997, 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 Fred Fish. (fnf@cygnus.com) - -# SAME tests as in callfuncs.exp but here the inferior program does not call malloc. - - - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "callfuncs2" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -set prototypes 1 -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - set prototypes 0; - # built the second test case since we can't use prototypes - warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. - -if [get_compiler_info ${binfile}] { - return -1; -} - - - -# The a29k can't call functions, so don't even bother with this test. -if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - continue -} - -# Set the current language to C. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_c {} { - global gdb_prompt - - send_gdb "set language c\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language c (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"c\".*$gdb_prompt $" { - pass "set language to \"c\"" - return 1 - } - -re ".*$gdb_prompt $" { - fail "setting language to \"c\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# FIXME: Before calling this proc, we should probably verify that -# we can call inferior functions and get a valid integral value -# returned. -# Note that it is OK to check for 0 or 1 as the returned values, because C -# specifies that the numeric value of a relational or logical expression -# (computed in the inferior) is 1 for true and 0 for false. - -proc do_function_calls {} { - global prototypes - global gcc_compiled - # We need to up this because this can be really slow on some boards. - set timeout 60; - - gdb_test "p t_char_values(0,0)" " = 0" - gdb_test "p t_char_values('a','b')" " = 1" - gdb_test "p t_char_values(char_val1,char_val2)" " = 1" - gdb_test "p t_char_values('a',char_val2)" " = 1" - gdb_test "p t_char_values(char_val1,'b')" " = 1" - - gdb_test "p t_short_values(0,0)" " = 0" - gdb_test "p t_short_values(10,-23)" " = 1" - gdb_test "p t_short_values(short_val1,short_val2)" " = 1" - gdb_test "p t_short_values(10,short_val2)" " = 1" - gdb_test "p t_short_values(short_val1,-23)" " = 1" - - gdb_test "p t_int_values(0,0)" " = 0" - gdb_test "p t_int_values(87,-26)" " = 1" - gdb_test "p t_int_values(int_val1,int_val2)" " = 1" - gdb_test "p t_int_values(87,int_val2)" " = 1" - gdb_test "p t_int_values(int_val1,-26)" " = 1" - - gdb_test "p t_long_values(0,0)" " = 0" - gdb_test "p t_long_values(789,-321)" " = 1" - gdb_test "p t_long_values(long_val1,long_val2)" " = 1" - gdb_test "p t_long_values(789,long_val2)" " = 1" - gdb_test "p t_long_values(long_val1,-321)" " = 1" - - if ![target_info exists gdb,skip_float_tests] { - gdb_test "p t_float_values(0.0,0.0)" " = 0" - - # These next four tests fail on the mn10300. - # The first value is passed in regs, the other in memory. - # Gcc emits different stabs for the two parameters; the first is - # claimed to be a float, the second a double. - # dbxout.c in gcc claims this is the desired behavior. - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(3.14159,-2.3765)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(float_val1,float_val2)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(3.14159,float_val2)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(float_val1,-2.3765)" " = 1" - - # Test passing of arguments which might not be widened. - gdb_test "p t_float_values2(0.0,0.0)" " = 0" - - # Although PR 5318 mentions SunOS specifically, this seems - # to be a generic problem on quite a few platforms. - if $prototypes then { - setup_xfail "hppa*-*-*" "sparc-*-*" "mips*-*-*" 5318 - if {!$gcc_compiled} then { - setup_xfail "alpha-dec-osf2*" "i*86-*-sysv4*" 5318 - } - } - gdb_test "p t_float_values2(3.14159,float_val2)" " = 1" - gdb_test "p t_small_values(1,2,3,4,5,6,7,8,9,10)" " = 55" - - gdb_test "p t_double_values(0.0,0.0)" " = 0" - gdb_test "p t_double_values(45.654,-67.66)" " = 1" - gdb_test "p t_double_values(double_val1,double_val2)" " = 1" - gdb_test "p t_double_values(45.654,double_val2)" " = 1" - gdb_test "p t_double_values(double_val1,-67.66)" " = 1" - - } - - gdb_test "p t_string_values(string_val2,string_val1)" " = 0" - gdb_test "p t_string_values(string_val1,string_val2)" " = 1" - gdb_test "p t_string_values(\"string 1\",\"string 2\")" " = 1" - gdb_test "p t_string_values(\"string 1\",string_val2)" " = 1" - gdb_test "p t_string_values(string_val1,\"string 2\")" " = 1" - - gdb_test "p t_char_array_values(char_array_val2,char_array_val1)" " = 0" - gdb_test "p t_char_array_values(char_array_val1,char_array_val2)" " = 1" - gdb_test "p t_char_array_values(\"carray 1\",\"carray 2\")" " = 1" - gdb_test "p t_char_array_values(\"carray 1\",char_array_val2)" " = 1" - gdb_test "p t_char_array_values(char_array_val1,\"carray 2\")" " = 1" - - gdb_test "p doubleit(4)" " = 8" - gdb_test "p add(4,5)" " = 9" - gdb_test "p t_func_values(func_val2,func_val1)" " = 0" - gdb_test "p t_func_values(func_val1,func_val2)" " = 1" - - # On the rs6000, we need to pass the address of the trampoline routine, - # not the address of add itself. I don't know how to go from add to - # the address of the trampoline. Similar problems exist on the HPPA, - # and in fact can present an unsolvable problem as the stubs may not - # even exist in the user's program. We've slightly recoded t_func_values - # to avoid such problems in the common case. This may or may not help - # the RS6000. - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - gdb_test "p t_func_values(add,func_val2)" "You cannot.*ignored.*" - } else { - gdb_test "p t_func_values(add,func_val2)" " = 1" - } - - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - gdb_test "p t_func_values(func_val1,doubleit)" "You cannot.*ignored.*" - } else { - gdb_test "p t_func_values(func_val1,doubleit)" " = 1" - } - - gdb_test "p t_call_add(func_val1,3,4)" " = 7" - - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - gdb_test "p t_call_add(add,3,4)" "You cannot.*ignored.*" - } else { - gdb_test "p t_call_add(add,3,4)" " = 7" - } - - gdb_test "p t_enum_value1(enumval1)" " = 1" - gdb_test "p t_enum_value1(enum_val1)" " = 1" - gdb_test "p t_enum_value1(enum_val2)" " = 0" - - gdb_test "p t_enum_value2(enumval2)" " = 1" - gdb_test "p t_enum_value2(enum_val2)" " = 1" - gdb_test "p t_enum_value2(enum_val1)" " = 0" - - gdb_test "p sum_args(1,{2})" " = 2" - gdb_test "p sum_args(2,{2,3})" " = 5" - gdb_test "p sum_args(3,{2,3,4})" " = 9" - gdb_test "p sum_args(4,{2,3,4,5})" " = 14" - gdb_test "p sum10 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)" " = 55" - - gdb_test "p t_structs_c(struct_val1)" "= 120 'x'" \ - "call inferior func with struct - returns char" - gdb_test "p t_structs_s(struct_val1)" "= 87" \ - "call inferior func with struct - returns short" - gdb_test "p t_structs_i(struct_val1)" "= 76" \ - "call inferior func with struct - returns int" - gdb_test "p t_structs_l(struct_val1)" "= 51" \ - "call inferior func with struct - returns long" - setup_xfail "i*86-*-*" - gdb_test "p t_structs_f(struct_val1)" "= 2.12.*" \ - "call inferior func with struct - returns float" - setup_xfail "i*86-*-*" - gdb_test "p t_structs_d(struct_val1)" "= 9.87.*" \ - "call inferior func with struct - returns double" - gdb_test "p t_structs_a(struct_val1)" "= (.unsigned char .. )?\"foo\"" \ - "call inferior func with struct - returns char *" - -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" -gdb_test "set print address off" "" -gdb_test "set width 0" "" - -if { ![set_lang_c] } { - gdb_suppress_tests; -} else { - if { ![runto_main] } { - gdb_suppress_tests; - } -} - -gdb_test "next" ".*" -do_function_calls - -return 0 diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp deleted file mode 100644 index 5094f5f..0000000 --- a/gdb/testsuite/gdb.base/commands.exp +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992 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 $tracelevel then { - strace $tracelevel -} - -# -# test special commands (if, while, etc) -# -set prms_id 0 -set bug_id 0 - -set testfile "run" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -gdb_exit -gdb_start -delete_breakpoints -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -proc gdbvar_simple_if_test {} { - global gdb_prompt - - gdb_test "set \$foo = 0" "" "set foo in gdbvar_simple_if_test" - # All this test should do is print 0xdeadbeef once. - gdb_test "if \$foo == 1\np/x 0xfeedface\nelse\np/x 0xdeadbeef\nend" "\\\$\[0-9\]* = 0xdeadbeef" "gdbvar_simple_if_test #1" - # All this test should do is print 0xfeedface once. - gdb_test "if \$foo == 0\np/x 0xfeedface\nelse\np/x 0xdeadbeef\nend" "\\\$\[0-9\]* = 0xfeedface" "gdbvar_simple_if_test #2" -} - -proc gdbvar_simple_while_test {} { - global gdb_prompt - - gdb_test "set \$foo = 5" "" "set foo in gdbvar_simple_while_test" - # This test should print 0xfeedface five times. - gdb_test "while \$foo > 0\np/x 0xfeedface\nset \$foo -= 1\nend" "\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "gdbvar_simple_while_test #1" -} - -proc gdbvar_complex_if_while_test {} { - global gdb_prompt - - gdb_test "set \$foo = 4" "" "set foo in gdbvar complex_if_while_test" - # This test should alternate between 0xdeadbeef and 0xfeedface two times. - gdb_test "while \$foo > 0\nset \$foo -= 1\nif \(\$foo % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend" "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "gdbvar_complex_if_while_test #1" -} - -proc progvar_simple_if_test {} { - global gdb_prompt - - if [target_info exists gdb,noargs] { - verbose "Skipping progvar_simple_if_test because of noargs." - return - } - - gdb_test "set args 5" "" "set args in progvar_simple_if_test" - if { ![runto factorial] } then { return } - # All this test should do is print 0xdeadbeef once. - gdb_test "if value == 1\np/x 0xfeedface\nelse\np/x 0xdeadbeef\nend" "\\\$\[0-9\]* = 0xdeadbeef" "progvar_simple_if_test #1" - # All this test should do is print 0xfeedface once. - gdb_test "if value == 5\np/x 0xfeedface\nelse\np/x 0xdeadbeef\nend" "\\\$\[0-9\]* = 0xfeedface" "progvar_simple_if_test #2" -} - -proc progvar_simple_while_test {} { - global gdb_prompt - - if [target_info exists gdb,noargs] { - verbose "Skipping progvar_simple_while_test because of noargs." - return - } - - gdb_test "set args 5" "" "set args in progvar_simple_while_test" - if { ![runto factorial] } then { return } - # This test should print 0xfeedface five times. - gdb_test "while value > 0\np/x 0xfeedface\nset value -= 1\nend" "\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "progvar_simple_while_test #1" -} - -proc progvar_complex_if_while_test {} { - global gdb_prompt - - if [target_info exists gdb,noargs] { - verbose "Skipping progvar_simple_if_while_test because of noargs." - return - } - - gdb_test "set args 4" "" "set args in progvar_complex_if_while_test" - if { ![runto factorial] } then { return } - # This test should alternate between 0xdeadbeef and 0xfeedface two times. - gdb_test "while value > 0\nset value -= 1\nif \(value % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend" "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "progvar_complex_if_while_test #1" -} - -proc if_while_breakpoint_command_test {} { - if [target_info exists gdb,noargs] { - verbose "Skipping if_while_breakpoint_command_test because of noargs." - return - } - - gdb_test "set args 5" "" "set args in if_while_breakpoint_command_test" - if { ![runto factorial] } then { return } - delete_breakpoints - gdb_test "break factorial" "Breakpoint.*at.*" - - send_gdb "commands\n" - gdb_expect { - -re "End with" { - pass "commands in if_while_breakpoint_command_test" - } - default { - fail "(timeout or eof) commands in if_while_breakpoint_command_test" - } - } - # This test should alternate between 0xdeadbeef and 0xfeedface two times. - gdb_test "while value > 0\nset value -= 1\nif \(value % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend\nend" "" "commands part 2 in if_while_breakpoint_command_test" - gdb_test "continue" "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "if_while_breakpoint_command_test #1" - gdb_test "info break" "while.*set.*if.*p/x.*else.*p/x.*end.*" "info break in if_while_breakpoint_command_test" -} - -# Test that we can run the inferior from breakpoint commands. -proc infrun_breakpoint_command_test {} { - if [target_info exists gdb,noargs] { - verbose "Skipping infrun_breakpoint_command_test because of noargs." - return - } - - gdb_test "set args 6" "" "set args in progvar_simple_while_test" - if { ![runto factorial] } then { return } - delete_breakpoints - gdb_test "break factorial if value == 5" "Breakpoint.*at.*" - gdb_test "commands\nstep\nstep\nstep\nstep\nbt\nend" \ - "End with.*" "commands in infrun_breakpoint_command_test" - gdb_test "continue" "Breakpoint \[0-9\]*, factorial \\(value=5\\).*at.* -\[0-9\]*\[ \]*if \\(value > 1\\) \{.* -\[0-9\]*\[ \]*value \\*= factorial \\(value - 1\\);.* -factorial \\(value=4\\) at.*\[0-9\]*\[ \]*if \\(value > 1\\) \{.* -\[0-9\]*\[ \]*value \\*= factorial \\(value - 1\\);.* -factorial \\(value=3\\) at .* -\[0-9\]*\[ \]*if \\(value > 1\\) \{.* -#0 factorial \\(value=3\\).* -#1 \[0-9a-fx\]* in factorial \\(value=4\\).* -#2 \[0-9a-fx\]* in factorial \\(value=5\\).* -#3 \[0-9a-fx\]* in factorial \\(value=6\\).* -#4 \[0-9a-fx\]* in main \\(.*\\).*" \ - "continue in infrun_breakpoint_command_test" -} - -proc breakpoint_command_test {} { - if [target_info exists gdb,noargs] { - verbose "Skipping breakpoint_command_test because of noargs." - return - } - - gdb_test "set args 6" "" "set args in progvar_simple_while_test" - if { ![runto factorial] } then { return } - delete_breakpoints - gdb_test "break factorial" "Breakpoint.*at.*" - gdb_test "commands\nprintf \"Now the value is %d\\n\", value\nend" \ - "End with.*" "commands in breakpoint_command_test" - gdb_test "continue" "Breakpoint \[0-9\]*, factorial.*Now the value is 5" \ - "continue in breakpoint_command_test" - gdb_test "print value" " = 5" "print value in breakpoint_command_test" -} - -# Test a simple user defined command (with arguments) -proc user_defined_command_test {} { - global gdb_prompt - - gdb_test "set \$foo = 4" "" "set foo in user_defined_command_test" - - send_gdb "define mycommand\n" - gdb_expect { - -re "End with" { - pass "define mycommand in user_defined_command_test" - } - default { - fail "(timeout or eof) define mycommand in user_defined_command_test" - } - } - # This test should alternate between 0xdeadbeef and 0xfeedface two times. - gdb_test "while \$arg0 > 0\nset \$arg0 -= 1\nif \(\$arg0 % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend\nend" "" "enter commands in user_defined_command_test" - - gdb_test "mycommand \$foo" "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "execute user defined command in user_defined_command_test" - gdb_test "show user mycommand" "while.*set.*if.*p/x.*else.*p/x.*end.*" "display user command in user_defined_command_test" -} - -gdbvar_simple_if_test -gdbvar_simple_while_test -gdbvar_complex_if_while_test -progvar_simple_if_test -progvar_simple_while_test -progvar_complex_if_while_test -if_while_breakpoint_command_test -infrun_breakpoint_command_test -breakpoint_command_test -user_defined_command_test diff --git a/gdb/testsuite/gdb.base/compiler.c b/gdb/testsuite/gdb.base/compiler.c deleted file mode 100644 index 8eb0d47..0000000 --- a/gdb/testsuite/gdb.base/compiler.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Often the behavior of any particular test depends upon what compiler was - used to compile the test. As each test is compiled, this file is - preprocessed by the same compiler used to compile that specific test - (different tests might be compiled by different compilers, particularly - if compiled at different times), and used to generate a *.ci (compiler - info) file for that test. - - I.E., when callfuncs is compiled, a callfuncs.ci file will be generated, - which can then be sourced by callfuncs.exp to give callfuncs.exp access - to information about the compilation environment. - - TODO: It might be a good idea to add expect code that tests each - definition made with 'set" to see if one already exists, and if so - warn about conflicts if it is being set to something else. */ - -/* This needs to be kept in sync with whatis.c and gdb.exp(get_compiler_info). - If this ends up being hairy, we could use a common header file. */ - -#if defined (__STDC__) || defined (_AIX) -set signed_keyword_not_used 0 -#else -set signed_keyword_not_used 1 -#endif - -#if defined (__GNUC__) -set gcc_compiled __GNUC__ -#else -set gcc_compiled 0 -#endif - -return 0 diff --git a/gdb/testsuite/gdb.base/condbreak.c b/gdb/testsuite/gdb.base/condbreak.c deleted file mode 100644 index 491d6e5..0000000 --- a/gdb/testsuite/gdb.base/condbreak.c +++ /dev/null @@ -1,81 +0,0 @@ -#ifdef vxworks - -# include <stdio.h> - -/* VxWorks does not supply atoi. */ -static int -atoi (z) - char *z; -{ - int i = 0; - - while (*z >= '0' && *z <= '9') - i = i * 10 + (*z++ - '0'); - return i; -} - -/* I don't know of any way to pass an array to VxWorks. This function - can be called directly from gdb. */ - -vxmain (arg) -char *arg; -{ - char *argv[2]; - - argv[0] = ""; - argv[1] = arg; - main (2, argv, (char **) 0); -} - -#else /* ! vxworks */ -# include <stdio.h> -#endif /* ! vxworks */ - -/* - * The following functions do nothing useful. They are included simply - * as places to try setting breakpoints at. They are explicitly - * "one-line functions" to verify that this case works (some versions - * of gcc have or have had problems with this). - */ - -int marker1 () { return (0); } -int marker2 (a) int a; { return (1); } -void marker3 (a, b) char *a, *b; {} -void marker4 (d) long d; {} - -/* - * This simple classical example of recursion is useful for - * testing stack backtraces and such. - */ - -int -main (argc, argv, envp) -int argc; -char *argv[], **envp; -{ -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - if (argc == 123456) { - fprintf (stderr, "usage: factorial <number>\n"); - return 1; - } - printf ("%d\n", factorial (atoi ("6"))); - - marker1 (); - marker2 (43); - marker3 ("stack", "trace"); - marker4 (177601976L); - return 0; -} - -int factorial (value) -int value; -{ - if (value > 1) { - value *= factorial (value - 1); - } - return (value); -} - diff --git a/gdb/testsuite/gdb.base/configure b/gdb/testsuite/gdb.base/configure deleted file mode 100644 index 29e69bf..0000000 --- a/gdb/testsuite/gdb.base/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=a1-selftest.exp - -# 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 | grep ac_space` 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.base/configure.in b/gdb/testsuite/gdb.base/configure.in deleted file mode 100644 index e5bcb19..0000000 --- a/gdb/testsuite/gdb.base/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(a1-selftest.exp) - -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.base/constvars.c b/gdb/testsuite/gdb.base/constvars.c deleted file mode 100644 index 4fe9dad..0000000 --- a/gdb/testsuite/gdb.base/constvars.c +++ /dev/null @@ -1,178 +0,0 @@ -void marker1 (void) -{ - -} - -// misc. function params - -int qux1 (const char cc, const char & ccr, const char * ccp, char * const cpc) -{ - return 33; -} - -int qux2 (volatile unsigned char vuc, const volatile int cvi, - volatile short & vsr, volatile long * vlp, float * volatile fpv, - const volatile signed char * const volatile cvscpcv) -{ - return 400; -} - - -int main(void) -{ - char lave = 'B'; - unsigned char lavish = 10; - short lax = 20; - unsigned short lecherous = 30; - long lechery = 40; - unsigned long lectern = 50; - float leeway = 60; - double legacy = 70; - signed char lemonade = 35; - - const char laconic = 'A'; - const unsigned char laggard = 1; - const short lagoon = 2; - const unsigned short laity = 3; - const long lambent = 4; - const unsigned long laminated = 5; - const float lampoon = 6; - const double languid = 7; - - // pointers to constant variables - const char *legend = &lave; - const unsigned char *legerdemain = &lavish; - const short *leniency = &lax; - const unsigned short *leonine = &lecherous; - const long *lesion = &lechery; - const unsigned long *lethal = &lectern; - const float *lethargic = &leeway; - const double *levity = &legacy; - - // constant pointers to constant variables - const char *const lewd = &laconic; - const unsigned char *const lexicographer = &laggard; - const short *const lexicon = &lagoon; - const unsigned short *const liaison = &laity; - const long *const libation = &lambent; - const unsigned long *const libelous = &laminated; - const float *const libertine = &lampoon; - const double *const libidinous = &languid; - - // this is the same as const char * legend .... - char const *languish = &laconic; - unsigned char const *languor = &laggard; - short const *lank = &lagoon; - unsigned short const *lapidary = &laity; - long const *larceny = &lambent; - unsigned long const *largess = &laminated; - float const *lascivious = &lampoon; - double const *lassitude = &languid; - - // constant pointers to variable - char *const lamprey = &lave; - unsigned char *const lariat = &lavish; - short *const laudanum = &lax; - unsigned short *const lecithin = &lecherous; - long *const leviathan = &lechery; - unsigned long *const libretto = &lectern; - float *const lissome = &leeway; - double *const locust = &legacy; - - // volatile variables - - volatile char vox = 'X'; - volatile unsigned char victuals = 13; - volatile short vixen = 200; - volatile unsigned short vitriol = 300; - volatile long vellum = 1000; - volatile unsigned long valve = 2000; - volatile float vacuity = 3.0; - volatile double vertigo = 10.3; - - // pointers to volatile variables - - volatile char * vampire = &vox; - volatile unsigned char * viper = &victuals; - volatile short * vigour = &vixen; - volatile unsigned short * vapour = &vitriol; - volatile long * ventricle = &vellum; - volatile unsigned long * vigintillion = &valve; - volatile float * vocation = &vacuity; - volatile double * veracity = &vertigo; - - // volatile pointers to volatile variables - - volatile char * volatile vapidity = &vox; - volatile unsigned char * volatile velocity = &victuals; - volatile short * volatile veneer = &vixen; - volatile unsigned short * volatile video = &vitriol; - volatile long * volatile vacuum = &vellum; - volatile unsigned long * volatile veniality = &valve; - volatile float * volatile vitality = &vacuity; - volatile double * volatile voracity = &vertigo; - - // const volatile vars - - const volatile char victor = 'Y'; - const volatile unsigned char vicar = 11; - - // pointers to const volatiles - - const volatile char * victory = &victor; - const volatile unsigned char * vicarage = &vicar; - - // const pointers to volatile vars - - volatile char * const vein = &vox; - volatile unsigned char * const vogue = &victuals; - - // const pointers to const volatile vars - - const volatile char * const cavern = &victor; - const volatile unsigned char * const coverlet = &vicar; - - // volatile pointers to const vars - - const char * volatile caveat = &laconic; - const unsigned char * volatile covenant = &laggard; - - // volatile pointers to const volatile vars - - const volatile char * volatile vizier = &victor; - const volatile unsigned char * volatile vanadium = &vicar; - - // const volatile pointers - - char * const volatile vane = &lave; - unsigned char * const volatile veldt = &lavish; - - // const volatile pointers to const vars - - const char * const volatile cove = &laconic; - const unsigned char * const volatile cavity = &laggard; - - // const volatile pointers to volatile vars - - volatile char * const volatile vagus = &vox; - volatile unsigned char * const volatile vagrancy = &victuals; - - // const volatile pointers to const volatile - - const volatile char * const volatile vagary = &victor; - const volatile unsigned char * const volatile vendor = &vicar; - - // misc. references - - const char & radiation = laconic; - volatile signed char & remuneration = lemonade; - - #ifdef usestubs - set_debug_traps(); - breakpoint(); - #endif - marker1(); - - - return 0; -} diff --git a/gdb/testsuite/gdb.base/constvars.exp b/gdb/testsuite/gdb.base/constvars.exp deleted file mode 100644 index e587487..0000000 --- a/gdb/testsuite/gdb.base/constvars.exp +++ /dev/null @@ -1,963 +0,0 @@ -# Copyright (C) 1997, 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 - -# written by Elena Zannoni (elz@apollo.hp.com) -# -# This file is part of the gdb testsuite -# -# tests for const variables -# const pointers to vars -# pointers to const variables -# const pointers to const vars -# with mixed types - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "constvars" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" - - send_gdb "cont\n" - gdb_expect { - -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "Break.* marker1__.* \\(\\) at .*:$decimal.*$gdb_prompt $" { - fail "continue to marker1 (demangling)" - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "$gdb_prompt $" { fail "continue to marker1" } - timeout { fail "(timeout) continue to marker1" } - } - -# test function parameters -send_gdb "ptype qux1\n" -gdb_expect { - -re "type = int \\(const char, const char &, const char \\*, char \\* const\\).*$gdb_prompt $" { - pass "ptype qux1" - } - -re ".*$gdb_prompt $" { fail "ptype qux1" } - timeout { fail "(timeout) ptype qux1" } - } - -# test vars and pointers - -send_gdb "print lave\n" -gdb_expect { - -re ".\[0-9\]* = 66 \'B\'.*$gdb_prompt $" { - pass "print value of lave" - } - -re ".*$gdb_prompt $" { fail "print value of lave" } - timeout { fail "(timeout) print value of lave" } - } - - -send_gdb "ptype lave\n" -gdb_expect { - -re "type = char.*$gdb_prompt $" { pass "ptype lave" } - -re ".*$gdb_prompt $" { fail "ptype lave" } - timeout { fail "(timeout) ptype lave" } -} - - -send_gdb "print lavish\n" -gdb_expect { - -re ".\[0-9\]* = 10 \'\\\\n\'.*$gdb_prompt $" { - pass "print value of lavish" - } - -re ".*$gdb_prompt $" { fail "print value of lavish" } - timeout { fail "(timeout) print value of lavish" } - } - - -send_gdb "ptype lavish\n" -gdb_expect { - -re "type = unsigned char.*$gdb_prompt $" { pass "ptype lavish" } - -re ".*$gdb_prompt $" { fail "ptype lavish " } - timeout { fail "(timeout) ptype lavish " } -} - - -send_gdb "print lax\n" -gdb_expect { - -re ".\[0-9\]* = 20.*$gdb_prompt $" { - pass "print value of lax" - } - -re ".*$gdb_prompt $" { fail "print value of lax" } - timeout { fail "(timeout) print value of lax" } - } - - -send_gdb "ptype lax\n" -gdb_expect { - -re "type = short.*$gdb_prompt $" { pass "ptype lax" } - -re ".*$gdb_prompt $" { fail "ptype lax" } - timeout { fail "(timeout) ptype lax" } -} - - -send_gdb "print lecherous\n" -gdb_expect { - -re ".\[0-9\]* = 30.*$gdb_prompt $" { - pass "print value of lecherous" - } - -re ".*$gdb_prompt $" { fail "print value of lecherous" } - timeout { fail "(timeout) print value of lecherous" } - } - - -send_gdb "ptype lecherous\n" -gdb_expect { - -re "type = unsigned short.*$gdb_prompt $" { pass "ptype lecherous" } - -re "type = short unsigned.*$gdb_prompt $" { pass "ptype lecherous" } - -re ".*$gdb_prompt $" { fail "ptype lecherous" } - timeout { fail "(timeout) ptype lecherous" } -} - - -send_gdb "print lechery\n" -gdb_expect { - -re ".\[0-9\]* = 40.*$gdb_prompt $" { - pass "print value of lechery" - } - -re ".*$gdb_prompt $" { fail "print value of lechery" } - timeout { fail "(timeout) print value of lechery" } - } - - -send_gdb "ptype lechery\n" -gdb_expect { - -re "type = long.*$gdb_prompt $" { pass "ptype lechery" } - -re ".*$gdb_prompt $" { fail "ptype lechery" } - timeout { fail "(timeout) ptype lechery" } -} - - -send_gdb "print lectern\n" -gdb_expect { - -re ".\[0-9\]* = 50.*$gdb_prompt $" { - pass "print value of lectern" - } - -re ".*$gdb_prompt $" { fail "print value of lectern" } - timeout { fail "(timeout) print value of lectern " } - } - - -send_gdb "ptype lectern\n" -gdb_expect { - -re "type = unsigned long.*$gdb_prompt $" { pass "ptype lectern" } - -re "type = long unsigned.*$gdb_prompt $" { pass "ptype lectern" } - -re ".*$gdb_prompt $" { fail "ptype lectern" } - timeout { fail "(timeout) ptype lectern" } -} - - -send_gdb "print leeway\n" -gdb_expect { - -re ".\[0-9\]* = 60.*$gdb_prompt $" { - pass "print value of leeway" - } - -re ".*$gdb_prompt $" { fail "print value of leeway" } - timeout { fail "(timeout) print value of leeway" } - } - - -send_gdb "ptype leeway\n" -gdb_expect { - -re "type = float.*$gdb_prompt $" { pass "ptype leeway" } - -re ".*$gdb_prompt $" { fail "ptype leeway" } - timeout { fail "(timeout) ptype leeway" } -} - - -send_gdb "print legacy\n" -gdb_expect { - -re ".\[0-9\]* = 70.*$gdb_prompt $" { - pass "print value of legacy" - } - -re ".*$gdb_prompt $" { fail "print value of legacy" } - timeout { fail "(timeout) print value of legacy" } - } - - -send_gdb "ptype legacy\n" -gdb_expect { - -re "type = double.*$gdb_prompt $" { pass "ptype legacy" } - -re ".*$gdb_prompt $" { fail "ptype legacy" } - timeout { fail "(timeout) ptype legacy" } -} - - -send_gdb "print laconic\n" -gdb_expect { - -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { - pass "print value of laconic" - } - -re ".*$gdb_prompt $" { fail "print value of laconic" } - timeout { fail "(timeout) print value of laconic" } - } - - -send_gdb "ptype laconic\n" -gdb_expect { - -re "type = const char.*$gdb_prompt $" { pass "ptype laconic" } - -re ".*$gdb_prompt $" { fail "ptype laconic" } - timeout { fail "(timeout) ptype laconic" } -} - - -send_gdb "print laggard\n" -gdb_expect { - -re ".\[0-9\]* = 1 \'.001\'.*$gdb_prompt $" { - pass "print value of laggard" - } - -re ".*$gdb_prompt $" { fail "print value of laggard" } - timeout { fail "(timeout) print value of laggard" } - } - - -send_gdb "ptype laggard\n" -gdb_expect { - -re "type = const unsigned char.*$gdb_prompt $" { pass "ptype laggard" } - -re ".*$gdb_prompt $" { fail "ptype laggard" } - timeout { fail "(timeout) ptype laggard" } -} - - -send_gdb "print lagoon\n" -gdb_expect { - -re ".\[0-9\]* = 2.*$gdb_prompt $" { - pass "print value of lagoon" - } - -re ".*$gdb_prompt $" { fail "print value of lagoon" } - timeout { fail "(timeout) print value of lagoon" } - } - - -send_gdb "ptype lagoon\n" -gdb_expect { - -re "type = const short.*$gdb_prompt $" { pass "ptype lagoon" } - -re ".*$gdb_prompt $" { fail "ptype lagoon" } - timeout { fail "(timeout) ptype lagoon" } -} - - -send_gdb "print laity\n" -gdb_expect { - -re ".\[0-9\]* = 3.*$gdb_prompt $" { - pass "print value of laity" - } - -re ".*$gdb_prompt $" { fail "print value of laity" } - timeout { fail "(timeout) print value of laity" } - } - - -send_gdb "ptype laity\n" -gdb_expect { - -re "type = const unsigned short.*$gdb_prompt $" { pass "ptype laity" } - -re ".*$gdb_prompt $" { fail "ptype laity" } - timeout { fail "(timeout) ptype "laity } -} - - -send_gdb "print lambent\n" -gdb_expect { - -re ".\[0-9\]* = 4.*$gdb_prompt $" { - pass "print value of lambent" - } - -re ".*$gdb_prompt $" { fail "print value of lambent" } - timeout { fail "(timeout) print value of lambent" } - } - - -send_gdb "ptype lambent\n" -gdb_expect { - -re "type = const long.*$gdb_prompt $" { pass "ptype lambent" } - -re ".*$gdb_prompt $" { fail "ptype lambent" } - timeout { fail "(timeout) ptype lambent" } -} - - -send_gdb "print laminated\n" -gdb_expect { - -re ".\[0-9\]* = 5.*$gdb_prompt $" { - pass "print value of laminated" - } - -re ".*$gdb_prompt $" { fail "print value of laminated" } - timeout { fail "(timeout) print value of laminated" } - } - - -send_gdb "ptype laminated\n" -gdb_expect { - -re "type = const unsigned long.*$gdb_prompt $" { pass "ptype laminated" } - -re ".*$gdb_prompt $" { fail "ptype laminated" } - timeout { fail "(timeout) ptype laminated" } -} - - -send_gdb "print lampoon\n" -gdb_expect { - -re ".\[0-9\]* = 6.*$gdb_prompt $" { - pass "print value of lampoon" - } - -re ".*$gdb_prompt $" { fail "print value of lampoon" } - timeout { fail "(timeout) print value of lampoon" } - } - - -send_gdb "ptype lampoon\n" -gdb_expect { - -re "type = const float.*$gdb_prompt $" { pass "ptype lampoon" } - -re ".*$gdb_prompt $" { fail "ptype lampoon" } - timeout { fail "(timeout) ptype lampoon" } -} - - -send_gdb "print languid\n" -gdb_expect { - -re ".\[0-9\]* = 7.*$gdb_prompt $" { - pass "print value of languid" - } - -re ".*$gdb_prompt $" { fail "print value of languid" } - timeout { fail "(timeout) print value of languid" } - } - - -send_gdb "ptype languid\n" -gdb_expect { - -re "type = const double.*$gdb_prompt $" { pass "ptype languid" } - -re ".*$gdb_prompt $" { fail "ptype languid" } - timeout { fail "(timeout) ptype languid" } -} - - -send_gdb "print *legend\n" -gdb_expect { - -re ".\[0-9\]* = 66 \'B\'.*$gdb_prompt $" { - pass "print value of *legend" - } - -re ".*$gdb_prompt $" { fail "print value of *legend" } - timeout { fail "(timeout) print value of *legend" } - } - - -send_gdb "ptype legend\n" -gdb_expect { - -re "type = const char \\*.*$gdb_prompt $" { pass "ptype legend" } - -re ".*$gdb_prompt $" { fail "ptype legend" } - timeout { fail "(timeout) ptype legend" } -} - - -send_gdb "print *legerdemain\n" -gdb_expect { - -re ".\[0-9\]* = 10 \'\\\\n\'.*$gdb_prompt $" { - pass "print value of *legerdemain" - } - -re ".*$gdb_prompt $" { fail "print value of *legerdemain" } - timeout { fail "(timeout) print value of *legerdemain" } - } - - -send_gdb "ptype legerdemain\n" -gdb_expect { - -re "type = const unsigned char \\*.*$gdb_prompt $" { pass "ptype legerdemain" } - -re ".*$gdb_prompt $" { fail "ptype legerdemain" } - timeout { fail "(timeout) ptype legerdemain" } -} - - -send_gdb "print *leniency\n" -gdb_expect { - -re ".\[0-9\]* = 20.*$gdb_prompt $" { - pass "print value of *leniency" - } - -re ".*$gdb_prompt $" { fail "print value of *leniency" } - timeout { fail "(timeout) print value of *leniency" } - } - - -send_gdb "ptype leniency\n" -gdb_expect { - -re "type = const short \\*.*$gdb_prompt $" { pass "ptype leniency" } - -re ".*$gdb_prompt $" { fail "ptype leniency " } - timeout { fail "(timeout) ptype leniency" } -} - - -send_gdb "print *leonine\n" -gdb_expect { - -re ".\[0-9\]* = 30.*$gdb_prompt $" { - pass "print value of *leonine" - } - -re ".*$gdb_prompt $" { fail "print value of *leonine" } - timeout { fail "(timeout) print value of *leonine" } - } - - -send_gdb "ptype leonine\n" -gdb_expect { - -re "type = const unsigned short \\*.*$gdb_prompt $" { pass "ptype leonine" } - -re ".*$gdb_prompt $" { fail "ptype leonine" } - timeout { fail "(timeout) ptype leonine" } -} - - -send_gdb "print *lesion\n" -gdb_expect { - -re ".\[0-9\]* = 40.*$gdb_prompt $" { - pass "print value of *lesion" - } - -re ".*$gdb_prompt $" { fail "print value of *lesion" } - timeout { fail "(timeout) print value of *lesion" } - } - - -send_gdb "ptype lesion\n" -gdb_expect { - -re "type = const long \\*.*$gdb_prompt $" { pass "ptype lesion" } - -re ".*$gdb_prompt $" { fail "ptype lesion" } - timeout { fail "(timeout) ptype lesion" } -} - - -send_gdb "print *lethal\n" -gdb_expect { - -re ".\[0-9\]* = 50.*$gdb_prompt $" { - pass "print value of *lethal" - } - -re ".*$gdb_prompt $" { fail "print value of *lethal" } - timeout { fail "(timeout) print value of *lethal" } - } - - -send_gdb "ptype lethal\n" -gdb_expect { - -re "type = const unsigned long \\*.*$gdb_prompt $" { pass "ptype lethal" } - -re ".*$gdb_prompt $" { fail "ptype lethal" } - timeout { fail "(timeout) ptype lethal" } -} - - -send_gdb "print *lethargic\n" -gdb_expect { - -re ".\[0-9\]* = 60.*$gdb_prompt $" { - pass "print value of *lethargic" - } - -re ".*$gdb_prompt $" { fail "print value of *lethargic" } - timeout { fail "(timeout) print value of *lethargic" } - } - - -send_gdb "ptype lethargic\n" -gdb_expect { - -re "type = const float \\*.*$gdb_prompt $" { pass "ptype lethargic" } - -re ".*$gdb_prompt $" { fail "ptype lethargic" } - timeout { fail "(timeout) ptype lethargic" } -} - - -send_gdb "print *levity\n" -gdb_expect { - -re ".\[0-9\]* = 70.*$gdb_prompt $" { - pass "print value of *levity" - } - -re ".*$gdb_prompt $" { fail "print value of *levity" } - timeout { fail "(timeout) print value of *levity" } - } - - -send_gdb "ptype levity\n" -gdb_expect { - -re "type = const double \\*.*$gdb_prompt $" { pass "ptype levity" } - -re ".*$gdb_prompt $" { fail "ptype levity" } - timeout { fail "(timeout) ptype levity" } -} - - -send_gdb "print *lewd\n" -gdb_expect { - -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { - pass "print value of *lewd" - } - -re ".*$gdb_prompt $" { fail "print value of *lewd" } - timeout { fail "(timeout) print value of *lewd" } - } - - -send_gdb "ptype lewd\n" -gdb_expect { - -re "type = const char \\* const.*$gdb_prompt $" { pass "ptype lewd" } - -re ".*$gdb_prompt $" { fail "ptype lewd" } - timeout { fail "(timeout) ptype lewd" } -} - - -send_gdb "print *lexicographer\n" -gdb_expect { - -re ".\[0-9\]* = 1 \'.001\'.*$gdb_prompt $" { - pass "print value of *lexicographer" - } - -re ".*$gdb_prompt $" { fail "print value of *lexicographer" } - timeout { fail "(timeout) print value of *lexicographer" } - } - - -send_gdb "ptype lexicographer\n" -gdb_expect { - -re "type = const unsigned char \\* const.*$gdb_prompt $" { pass "ptype lexicographer" } - -re ".*$gdb_prompt $" { fail "ptype lexicographer" } - timeout { fail "(timeout) ptype lexicographer" } -} - - -send_gdb "print *lexicon\n" -gdb_expect { - -re ".\[0-9\]* = 2.*$gdb_prompt $" { - pass "print value of *lexicon" - } - -re ".*$gdb_prompt $" { fail "print value of *lexicon" } - timeout { fail "(timeout) print value of *lexicon" } - } - - -send_gdb "ptype lexicon\n" -gdb_expect { - -re "type = const short \\* const.*$gdb_prompt $" { pass "ptype lexicon" } - -re ".*$gdb_prompt $" { fail "ptype lexicon" } - timeout { fail "(timeout) ptype lexicon" } -} - - -send_gdb "print *liaison\n" -gdb_expect { - -re ".\[0-9\]* = 3.*$gdb_prompt $" { - pass "print value of *liaison" - } - -re ".*$gdb_prompt $" { fail "print value of *liaison" } - timeout { fail "(timeout) print value of *liaison" } - } - - -send_gdb "ptype liaison\n" -gdb_expect { - -re "type = const unsigned short \\* const.*$gdb_prompt $" { pass "ptype liaison" } - -re ".*$gdb_prompt $" { fail "ptype liaison" } - timeout { fail "(timeout) ptype liaison" } -} - - -send_gdb "print *libation\n" -gdb_expect { - -re ".\[0-9\]* = 4.*$gdb_prompt $" { - pass "print value of *libation" - } - -re ".*$gdb_prompt $" { fail "print value of *libation" } - timeout { fail "(timeout) print value of *libation" } - } - - -send_gdb "ptype libation\n" -gdb_expect { - -re "type = const long \\* const.*$gdb_prompt $" { pass "ptype libation" } - -re ".*$gdb_prompt $" { fail "ptype libation" } - timeout { fail "(timeout) ptype libation" } -} - - -send_gdb "print *libelous\n" -gdb_expect { - -re ".\[0-9\]* = 5.*$gdb_prompt $" { - pass "print value of *libelous" - } - -re ".*$gdb_prompt $" { fail "print value of *libelous" } - timeout { fail "(timeout) print value of *libelous" } - } - - -send_gdb "ptype libelous\n" -gdb_expect { - -re "type = const unsigned long \\* const.*$gdb_prompt $" { pass "ptype libelous" } - -re ".*$gdb_prompt $" { fail "ptype libelous" } - timeout { fail "(timeout) ptype libelous" } -} - - -send_gdb "print *libertine\n" -gdb_expect { - -re ".\[0-9\]* = 6.*$gdb_prompt $" { - pass "print value of *libertine" - } - -re ".*$gdb_prompt $" { fail "print value of *libertine" } - timeout { fail "(timeout) print value of *libertine" } - } - - -send_gdb "ptype libertine\n" -gdb_expect { - -re "type = const float \\* const.*$gdb_prompt $" { pass "ptype libertine" } - -re ".*$gdb_prompt $" { fail "ptype libertine" } - timeout { fail "(timeout) ptype libertine" } -} - - -send_gdb "print *libidinous\n" -gdb_expect { - -re ".\[0-9\]* = 7.*$gdb_prompt $" { - pass "print value of *libidinous" - } - -re ".*$gdb_prompt $" { fail "print value of *libidinous" } - timeout { fail "(timeout) print value of *libidinous" } - } - - -send_gdb "ptype libidinous\n" -gdb_expect { - -re "type = const double \\* const.*$gdb_prompt $" { pass "ptype libidinous" } - -re ".*$gdb_prompt $" { fail "ptype libidinous" } - timeout { fail "(timeout) ptype libidinous" } -} - - -send_gdb "print *languish\n" -gdb_expect { - -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { - pass "print value of *languish" - } - -re ".*$gdb_prompt $" { fail "print value of *languish" } - timeout { fail "(timeout) print value of *languish" } - } - - -send_gdb "ptype languish\n" -gdb_expect { - -re "type = const char \\*.*$gdb_prompt $" { pass "ptype languish" } - -re ".*$gdb_prompt $" { fail "ptype languish" } - timeout { fail "(timeout) ptype languish" } -} - - -send_gdb "print *languor\n" -gdb_expect { - -re ".\[0-9\]* = 1 \'.001\'.*$gdb_prompt $" { - pass "print value of *languor" - } - -re ".*$gdb_prompt $" { fail "print value of *languor" } - timeout { fail "(timeout) print value of *languor" } - } - - -send_gdb "ptype languor\n" -gdb_expect { - -re "type = const unsigned char \\*.*$gdb_prompt $" { pass "ptype languor" } - -re ".*$gdb_prompt $" { fail "ptype languor" } - timeout { fail "(timeout) ptype languor" } -} - - -send_gdb "print *lank\n" -gdb_expect { - -re ".\[0-9\]* = 2.*.*$gdb_prompt $" { - pass "print value of *lank" - } - -re ".*$gdb_prompt $" { fail "print value of *lank" } - timeout { fail "(timeout) print value of *lank" } - } - - -send_gdb "ptype lank\n" -gdb_expect { - -re "type = const short \\*.*$gdb_prompt $" { pass "ptype lank" } - -re ".*$gdb_prompt $" { fail "ptype lank" } - timeout { fail "(timeout) ptype lank" } -} - - -send_gdb "print *lapidary\n" -gdb_expect { - -re ".\[0-9\]* = 3.*$gdb_prompt $" { - pass "print value of *lapidary" - } - -re ".*$gdb_prompt $" { fail "print value of *lapidary" } - timeout { fail "(timeout) print value of *lapidary" } - } - - -send_gdb "ptype lapidary\n" -gdb_expect { - -re "type = const unsigned short \\*.*$gdb_prompt $" { pass "ptype lapidary" } - -re ".*$gdb_prompt $" { fail "ptype lapidary" } - timeout { fail "(timeout) ptype lapidary" } -} - - -send_gdb "print *larceny\n" -gdb_expect { - -re ".\[0-9\]* = 4.*$gdb_prompt $" { - pass "print value of *larceny" - } - -re ".*$gdb_prompt $" { fail "print value of *larceny" } - timeout { fail "(timeout) print value of *larceny" } - } - - -send_gdb "ptype larceny\n" -gdb_expect { - -re "type = const long \\*.*$gdb_prompt $" { pass "ptype larceny" } - -re ".*$gdb_prompt $" { fail "ptype larceny" } - timeout { fail "(timeout) ptype larceny" } -} - - -send_gdb "print *largess\n" -gdb_expect { - -re ".\[0-9\]* = 5.*$gdb_prompt $" { - pass "print value of *largess" - } - -re ".*$gdb_prompt $" { fail "print value of *largess" } - timeout { fail "(timeout) print value of *largess" } - } - - -send_gdb "ptype largess\n" -gdb_expect { - -re "type = const unsigned long \\*.*$gdb_prompt $" { pass "ptype largess" } - -re ".*$gdb_prompt $" { fail "ptype largess" } - timeout { fail "(timeout) ptype largess" } -} - - -send_gdb "print *lascivious\n" -gdb_expect { - -re ".\[0-9\]* = 6.*$gdb_prompt $" { - pass "print value of *lascivious" - } - -re ".*$gdb_prompt $" { fail "print value of *lascivious" } - timeout { fail "(timeout) print value of *lascivious" } - } - - -send_gdb "ptype lascivious\n" -gdb_expect { - -re "type = const float \\*.*$gdb_prompt $" { pass "ptype lascivious" } - -re ".*$gdb_prompt $" { fail "ptype lascivious" } - timeout { fail "(timeout) ptype lascivious" } -} - - -send_gdb "print *lassitude\n" -gdb_expect { - -re ".\[0-9\]* = 7.*$gdb_prompt $" { - pass "print value of *lassitude" - } - -re ".*$gdb_prompt $" { fail "print value of *lassitude" } - timeout { fail "(timeout) print value of *lassitude" } - } - - -send_gdb "ptype lassitude\n" -gdb_expect { - -re "type = const double \\*.*$gdb_prompt $" { pass "ptype lassitude" } - -re ".*$gdb_prompt $" { fail "ptype lassitude" } - timeout { fail "(timeout) ptype lassitude" } -} - - -send_gdb "print *lamprey\n" -gdb_expect { - -re ".\[0-9\]* = 66 \'B\'.*$gdb_prompt $" { - pass "print value of *lamprey" - } - -re ".*$gdb_prompt $" { fail "print value of *lamprey" } - timeout { fail "(timeout) print value of *lamprey" } - } - - -send_gdb "ptype lamprey\n" -gdb_expect { - -re "type = char \\* const.*$gdb_prompt $" { pass "ptype lamprey" } - -re ".*$gdb_prompt $" { fail "ptype lamprey" } - timeout { fail "(timeout) ptype lamprey" } -} - -send_gdb "print *lariat\n" -gdb_expect { - -re ".\[0-9\]* = 10 \'\\\\n\'.*$gdb_prompt $" { - pass "print value of *lariat" - } - -re ".*$gdb_prompt $" { fail "print value of *lariat" } - timeout { fail "(timeout) print value of *lariat" } - } - - -send_gdb "ptype lariat\n" -gdb_expect { - -re "type = unsigned char \\* const.*$gdb_prompt $" { pass "ptype lariat" } - -re ".*$gdb_prompt $" { fail "ptype lariat" } - timeout { fail "(timeout) ptype lariat" } -} - -send_gdb "print *laudanum\n" -gdb_expect { - -re ".\[0-9\]* = 20.*$gdb_prompt $" { - pass "print value of *laudanum" - } - -re ".*$gdb_prompt $" { fail "print value of *laudanum" } - timeout { fail "(timeout) print value of *laudanum" } - } - - -send_gdb "ptype laudanum\n" -gdb_expect { - -re "type = short \\* const.*$gdb_prompt $" { pass "ptype laudanum" } - -re ".*$gdb_prompt $" { fail "ptype laudanum" } - timeout { fail "(timeout) ptype laudanum" } -} - -send_gdb "print *lecithin\n" -gdb_expect { - -re ".\[0-9\]* = 30.*$gdb_prompt $" { - pass "print value of *lecithin" - } - -re ".*$gdb_prompt $" { fail "print value of *lecithin" } - timeout { fail "(timeout) print value of *lecithin" } - } - - -send_gdb "ptype lecithin\n" -gdb_expect { - -re "type = unsigned short \\* const.*$gdb_prompt $" { pass "ptype lecithin" } - -re ".*$gdb_prompt $" { fail "ptype lecithin" } - timeout { fail "(timeout) ptype lecithin" } -} - -send_gdb "print *leviathan\n" -gdb_expect { - -re ".\[0-9\]* = 40.*$gdb_prompt $" { - pass "print value of *leviathan" - } - -re ".*$gdb_prompt $" { fail "print value of *leviathan" } - timeout { fail "(timeout) print value of *leviathan" } - } - - -send_gdb "ptype leviathan\n" -gdb_expect { - -re "type = long \\* const.*$gdb_prompt $" { pass "ptype leviathan" } - -re ".*$gdb_prompt $" { fail "ptype leviathan" } - timeout { fail "(timeout) ptype leviathan" } -} - -send_gdb "print *libretto\n" -gdb_expect { - -re ".\[0-9\]* = 50.*$gdb_prompt $" { - pass "print value of *libretto" - } - -re ".*$gdb_prompt $" { fail "print value of *libretto" } - timeout { fail "(timeout) print value of *libretto" } - } - - -send_gdb "ptype libretto\n" -gdb_expect { - -re "type = unsigned long \\* const.*$gdb_prompt $" { pass "ptype libretto" } - -re ".*$gdb_prompt $" { fail "ptype libretto" } - timeout { fail "(timeout) ptype libretto" } -} - - -send_gdb "print *lissome\n" -gdb_expect { - -re ".\[0-9\]* = 60.*$gdb_prompt $" { - pass "print value of *lissome" - } - -re ".*$gdb_prompt $" { fail "print value of *lissome" } - timeout { fail "(timeout) print value of *lissome" } - } - - -send_gdb "ptype lissome\n" -gdb_expect { - -re "type = float \\* const.*$gdb_prompt $" { pass "ptype lissome" } - -re ".*$gdb_prompt $" { fail "ptype lissome" } - timeout { fail "(timeout) ptype lissome" } -} - -send_gdb "print *locust\n" -gdb_expect { - -re ".\[0-9\]* = 70.*$gdb_prompt $" { - pass "print value of *locust" - } - -re ".*$gdb_prompt $" { fail "print value of *locust" } - timeout { fail "(timeout) print value of *locust" } - } - - -send_gdb "ptype locust\n" -gdb_expect { - -re "type = double \\* const.*$gdb_prompt $" { pass "ptype locust" } - -re ".*$gdb_prompt $" { fail "ptype locust" } - timeout { fail "(timeout) ptype locust" } -} - -send_gdb "ptype radiation\n" -gdb_expect { - -re "type = const char &.*$gdb_prompt $" { pass "ptype radiation" } - -re ".*$gdb_prompt $" { fail "ptype radiation" } - timeout { fail "(timeout) ptype radiation" } -} - diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefile.exp deleted file mode 100644 index b4a3b2c..0000000 --- a/gdb/testsuite/gdb.base/corefile.exp +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright (C) 1992, 1993, 1994, 1995, 1996 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if ![isnative] then { - return -} - -set testfile "coremaker" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# Create a core file named "corefile" rather than just "core", to -# avoid problems with sys admin types that like to regularly prune all -# files named "core" from the system. -# -# Arbitrarily try setting the core size limit to "unlimited" since -# this does not hurt on systems where the command does not work and -# allows us to generate a core on systems where it does. -# -# Some systems append "core" to the name of the program; others append -# the name of the program to "core". -set found 0 -catch "system \"(cd ${objdir}/${subdir}; ulimit -c unlimited; ${binfile}; true) >/dev/null 2>&1\"" -# remote_exec host "${binfile}" -foreach i "${objdir}/${subdir}/core ${objdir}/${subdir}/core.coremaker.c ${binfile}.core" { - if [remote_file build exists $i] { - remote_exec build "mv $i ${objdir}/${subdir}/corefile" - set found 1 - } -} -if { $found == 0 } { - # The braindamaged HPUX shell quits after the ulimit -c above - # without executing ${binfile}. So we try again without the - # ulimit here if we didn't find a core file above. - # Oh, I should mention that any "braindamaged" non-Unix system has - # the same problem. I like the cd bit too, it's really neat'n stuff. - catch "system \"(cd ${objdir}/${subdir}; ${binfile}; true) >/dev/null 2>&1\"" - foreach i "${objdir}/${subdir}/core ${objdir}/${subdir}/core.coremaker.c ${binfile}.core" { - if [remote_file build exists $i] { - remote_exec build "mv $i ${objdir}/${subdir}/corefile" - set found 1 - } - } - - if { $found == 0 } { - warning "can't generate a core file - core tests suppressed - check ulimit -c" - return 0 - } -} - -# -# Test that we can simply startup with a "-core=corefile" command line arg -# and recognize that the core file is a valid, usable core file. -# To do this, we must shutdown the currently running gdb and restart -# with the -core args. We can't use gdb_start because it looks for -# the first gdb prompt, and the message we are looking for occurs -# before the first prompt. Also, we can't include GDBFLAGS because -# if it is empty, this confuses gdb with an empty argument that it -# grumbles about (said grumbling currently being ignored in gdb_start). -# **FIXME** -# -# Another problem is that on some systems (solaris for example), there -# is apparently a limit on the length of a fully specified path to -# the coremaker executable, at about 80 chars. For this case, consider -# it a pass, but note that the program name is bad. - -gdb_exit -if $verbose>1 then { - send_user "Spawning $GDB -nw $GDBFLAGS -core=$objdir/$subdir/corefile\n" -} - -set oldtimeout $timeout -set timeout [expr "$timeout + 60"] -verbose "Timeout is now $timeout seconds" 2 -eval "spawn $GDB -nw $GDBFLAGS -core=$objdir/$subdir/corefile" -expect { - -re "Core was generated by .*coremaker.*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "args: -core=corefile" - } - -re "Core was generated by .*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "args: -core=corefile (with bad program name)" - } - -re ".*registers from core file: File in wrong format.* $" { - fail "args: -core=corefile (could not read registers from core file)" - } - -re ".*$prompt $" { fail "args: -core=corefile" } - timeout { fail "(timeout) starting with -core" } -} - - -# -# Test that startup with both an executable file and -core argument. -# See previous comments above, they are still applicable. -# - -close; - -if $verbose>1 then { - send_user "Spawning $GDB -nw $GDBFLAGS $binfile -core=$objdir/$subdir/corefile\n" -} - - -eval "spawn $GDB -nw $GDBFLAGS $binfile -core=$objdir/$subdir/corefile"; -expect { - -re "Core was generated by .*coremaker.*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "args: execfile -core=corefile" - } - -re "Core was generated by .*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "args: execfile -core=corefile (with bad program name)" - } - -re ".*registers from core file: File in wrong format.* $" { - fail "args: execfile -core=corefile (could not read registers from core file)" - } - -re ".*$prompt $" { fail "args: execfile -core=corefile" } - timeout { fail "(timeout) starting with -core" } -} -set timeout $oldtimeout -verbose "Timeout is now $timeout seconds" 2 - -close; - -# Now restart normally. - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# Test basic corefile recognition via core-file command. - -send_gdb "core-file $objdir/$subdir/corefile\n" -expect { - -re "Core was generated by .*coremaker.*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "core-file command" - } - -re "Core was generated by .*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "core-file command (with bad program name)" - } - -re ".*registers from core file: File in wrong format.* $" { - fail "core-file command (could not read registers from core file)" - } - -re ".*$prompt $" { fail "core-file command" } - timeout { fail "(timeout) core-file command" } -} - -# Test correct mapping of corefile sections by printing some variables. - -gdb_test "print coremaker_data" "\\\$$decimal = 202" -gdb_test "print coremaker_bss" "\\\$$decimal = 10" -gdb_test "print coremaker_ro" "\\\$$decimal = 201" - -setup_xfail "i*86-*-sysv4*" "i*86-pc-linux*-gnu" "m68*-*-hpux*" -if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } -gdb_test "print func2::coremaker_local" "\\\$$decimal = {0, 1, 2, 3, 4}" - -# Somehow we better test the ability to read the registers out of the core -# file correctly. I don't think the other tests do this. - -# Haven't investigated this xfail -setup_xfail "m68k-*-hpux*" "i*86-*-sysv4*" "i*86-pc-linux*-gnu" -gdb_test "bt" "abort.*func2.*func1.*main.*" "backtrace in corefile.exp" - -# Test ability to read mmap'd data - -gdb_test "x/8bd buf1" ".*:.*0.*1.*2.*3.*4.*5.*6.*7" "accessing original mmap data in core file" -setup_xfail "*-*-sunos*" "*-*-ultrix*" "*-*-aix*" -send_gdb "x/8bd buf2\n" -expect { - -re ".*:.*0.*1.*2.*3.*4.*5.*6.*7.*$prompt $" { - pass "accessing mmapped data in core file" - } - -re "0x\[f\]*:.*Cannot access memory at address 0x\[f\]*.*$prompt $" { - fail "accessing mmapped data (mapping failed at runtime)" - } - -re "0x.*:.*Cannot access memory at address 0x.*$prompt $" { - fail "accessing mmapped data (mapping address not found in core file)" - } - -re ".*$prompt $" { - fail "accessing mmapped data (incorrect data found in core file)" - } - timeout { - fail "accessing mmapped data (timeout)" - } -} - -# test reinit_frame_cache - -gdb_load ${binfile} -setup_xfail "*-*-*" -gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\)" "up in corefile.exp" - -gdb_test "core" "No core file now." diff --git a/gdb/testsuite/gdb.base/coremaker.c b/gdb/testsuite/gdb.base/coremaker.c deleted file mode 100644 index 79418be..0000000 --- a/gdb/testsuite/gdb.base/coremaker.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Simple little program that just generates a core dump from inside some - nested function calls. */ - - -void -func2 () -{ - abort (); -} - -void -func1 () -{ - func2 (); -} - -main () -{ - func1 (); -} - diff --git a/gdb/testsuite/gdb.base/crossload.exp b/gdb/testsuite/gdb.base/crossload.exp deleted file mode 100644 index 26bb7a1..0000000 --- a/gdb/testsuite/gdb.base/crossload.exp +++ /dev/null @@ -1,380 +0,0 @@ -# Copyright (C) 1992, 1997 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 Fred Fish. (fnf@cygnus.com) -# Rob Savoye changed it to use gdb_test (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# FIXME: The configure.in for this test should look for --with-targets -# and deal accordingly. Until that has been done, skip the whole thing. -# With a minimal bfd (the default), few if any of these tests work. - -verbose "FIXME: all the crossload tests ignored" -return - -foreach i "m68k-elf m68k-aout m68k-aout2 mips-ecoff i486-elf sparc-aout i860-elf sparc-elf" { - remote_exec build "cd ${objdir}/${subdir} ; uudecode ${srcdir}/${subdir}/$i.u " -} - -# FIXME: These tests don't work for the i960, because -# bfd/config/i960-bout.mt sets SELECT_VECS. I could use setup_xfail -# for each test, but rebooting the board between each one takes a long -# time so I'm just punting the whole file. -if [istarget "i960-*-*"] then { - if $verbose>1 then { - warning "FIXME: crossload test case doesn't run on the i960." - } - continue -} - -# FIXME: These tests don't work for the a29k, because SELECT_VECS is -# used when compiling bfd. It would be nice if there were some better -# way of detecting this case. -if [istarget "a29k-*-*"] then { - if $verbose>1 then { - warning "FIXME: crossload test case doesn't run on the a29k." - } - continue -} - -# Test if gdb can automatically determine the bfd format of an -# executable and read it's symbols. - -proc bfddefault {} { - global GDB - global GDBFLAGS - global gdb_prompt - global objdir - global subdir - global binfile - global bfdformat - global file_loaded - - gdb_unload - set file_loaded 0 - send_gdb "file $objdir/$subdir/$binfile\n" - gdb_expect { - -re "A program is being debugged already. Kill it.*y or n." { - send_gdb "y\n" - exp_continue - } - -re "Reading symbols from $objdir/$subdir/$binfile\[.\]+done\..*$gdb_prompt $" { - pass "$binfile ($bfdformat) auto format" - } - -re "Reading symbols from $objdir/$subdir/$binfile\[.\]+.no debugging symbols found.\[.\]+done\..*$gdb_prompt $" { - pass "$binfile ($bfdformat) auto format (but no symbols found)" - } - -re "File format not recognized.*$gdb_prompt $" { - fail "$binfile ($bfdformat) auto format (format not recognized)" - return - } - -re "File format is ambiguous.*$gdb_prompt $" { - fail "$binfile ($bfdformat) auto format (format is ambiguous)" - return - } - -re "$gdb_prompt $" { - fail "$binfile ($bfdformat) auto format" - return - } - timeout { - fail "(timeout) $binfile ($bfdformat) auto format" - return - } - } - - if [gdb_test "info target" ".*file type $bfdformat" ""]==0 then { - set file_loaded 1 - } else { - fail "$binfile ($bfdformat) wrong format found" - } -} - -# Test if gdb can read symbols from an executable when the bfd format -# is explicitly set via the environment variable GNUTARGET. - -proc bfdexplicit {} { - global GDB - global GDBFLAGS - global gdb_prompt - global subdir - global objdir - global det_file - global binfile - global bfdformat - global file_loaded - - gdb_unload - set file_loaded 0 - - # Once GDB 4.10 (the last to lack `set gnutarget') is forgotten, - # change this to use set gnutarget. - if [gdb_test "set env GNUTARGET=$bfdformat" "" ""]!=0 then { - fail "setting GNUTARGET=$bfdformat in environment" - return - } - - send_gdb "file $objdir/$subdir/$binfile\n" - gdb_expect { - -re "A program is being debugged already. Kill it.*y or n." { - send_gdb "y\n" - exp_continue - } - -re "Reading symbols from $objdir/$subdir/$binfile\[.\]+done\..*$gdb_prompt $" { - pass "$binfile ($bfdformat) explicit format" - } - -re "Invalid target.*$gdb_prompt $" { - fail "$binfile ($bfdformat) explicit format (invalid target)" - return - } - -re "$gdb_prompt $" { - fail "$binfile ($bfdformat) explicit format" - return - } - timeout { - fail "(timeout) $binfile ($bfdformat) explicit format" - return - } - } - - set file_loaded 1 -} - -proc test_ptype_functions {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - send_gdb "ptype main\n" - gdb_expect { - -re "type = int \[)(\]+\r\n$gdb_prompt $" {} - timeout { fail "(timeout) $binfile ($bfdformat) function main" ; return } - } - - # set up a list of lists of command and patterns - set command [list { "ptype v_char_func" "type =(\ unsigned\ |\ signed\ |\ )char \[)(\]+" }\ - { "ptype v_short_func" "type = (short|short int) \[)(\]+" } \ - { "ptype v_int_func" "type = int \[)(\]+" } \ - { "ptype v_long_func" "type = (long|long int|int) \[)(\]+" } \ - { "ptype v_float_func" "type = float \[)(\]+" } \ - { "ptype v_double_func" "type = double \[)(\]+" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" function types" - return - } - } - pass "$binfile ($bfdformat) ptype function types" -} - -# Note that plain chars can be either signed or unsigned. - -proc test_ptype_plain_types {} { - global gdb_prompt - global binfile - global bfdformat - - # set up a list of lists of command and patterns - set command [list { "ptype v_char" "type =(\ unsigned\ |\ signed\ |\ )char" }\ - { "ptype v_short" "type = short" } \ - { "ptype v_int" "type = int" } \ - { "ptype v_long" "type = long" } \ - { "ptype v_float" "type = float" } \ - { "ptype v_double" "type = double" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" plain C types" - return - } - } - pass "$binfile ($bfdformat) ptype plain C types" -} - -# Note that if compiled with pre-ANSI compilers, the "signed" keywords are -# defined away and the variables default to plain types. So accept either. - -proc test_ptype_signed_types {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - - # set up a list of lists of command and patterns - set command [list { "ptype v_signed_char" "type =(\ signed\ |\ )char" }\ - { "ptype v_signed_short" "type =(\ signed\ |\ )short" } \ - { "ptype v_signed_int" "type =(\ signed\ |\ )int" } \ - { "ptype v_signed_long" "type =(\ signed\ |\ )long" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - if [expr [string match "ecoff-bigmips" $bfdformat]+[string match "ptype v_signed_char" [lindex $i 0]]]==2 then { - setup_xfail "*-*-*" - } - fail "$binfile ($bfdformat) \"[lindex $i 0]\" signed C types" - return - } - } - pass "$binfile ($bfdformat) ptype signed C types" -} - -proc test_ptype_unsigned_types {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - - # set up a list of lists of command and patterns - set command [list { "ptype v_unsigned_char" "type = unsigned char" }\ - { "ptype v_unsigned_short" \ - "type = (unsigned short|short unsigned int)" } \ - { "ptype v_unsigned_int" "type = unsigned int" } \ - { "ptype v_unsigned_long" \ - "type = (unsigned long|long unsigned int)" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" unsigned C types" - return - } - } - pass "$binfile ($bfdformat) ptype unsigned C types" -} - -# Note that plain chars can be either signed or unsigned. - -proc test_ptype_array_types {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - - # set up a list of lists of command and patterns - set command [list { "ptype v_char_array" "type =(\ unsigned\ |\ signed\ |\ )char \\\[2\\\]" }\ - { "ptype v_short_array" \ - "type = (short|short int) \\\[2\\\]" } \ - { "ptype v_int_array" "type = int \\\[2\\\]" } \ - { "ptype v_long_array" "type = (long|long int) \\\[2\\\]" } \ - { "ptype v_float_array" "type = float \\\[2\\\]" } \ - { "ptype v_double_array" "type = double \\\[2\\\]" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" C array types" - return - } - } - pass "$binfile ($bfdformat) ptype C array types" -} - -proc test_ptype_pointer_types {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - - # set up a list of lists of command and patterns - set command [list { "ptype v_char_pointer" "type =(\ unsigned\ |\ signed\ |\ )char \*" }\ - { "ptype v_short_pointer" "type = (short|short int) \*" } \ - { "ptype v_int_pointer" "type = int \*" } \ - { "ptype v_long_pointer" "type = (long|long int) \*" } \ - { "ptype v_float_pointer" "type = float \*" } \ - { "ptype v_double_pointer" "type = double \*" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" C pointer types" - return - } - } - pass "$binfile ($bfdformat) ptype C pointer types" -} - -proc loadandtest { args } { - global verbose - global GDB - global GDBFLAGS - global gdb_prompt - global subdir - global objdir - global binfile - global bfdformat - global file_loaded - - set binfile [ lindex $args 0 ] - set bfdformat [ lindex $args 1 ] - set fixme [ lindex $args 2 ] - - if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist" - return 0 - } - gdb_exit - gdb_start - if $fixme then { setup_xfail "*-*-*" } - bfddefault - if $fixme then { setup_xfail "*-*-*" } - if [string match $bfdformat "elf-big"] then { - if [string match $binfile "i860-elf"] then { - setup_xfail "*-*-*" - } - } - bfdexplicit - if $file_loaded==1 then { - test_ptype_functions - if $fixme then { setup_xfail "*-*-*" } - test_ptype_plain_types - if $fixme then { setup_xfail "*-*-*" } - test_ptype_signed_types - if $fixme then { setup_xfail "*-*-*" } - test_ptype_unsigned_types - if $fixme then { setup_xfail "*-*-*" } - test_ptype_array_types - if $fixme then { setup_xfail "*-*-*" } - test_ptype_pointer_types - } -} - -# Run tests for each of the test executables. -# If the third argument is 1, the tests will be expected to fail. -# We should extract the information about available tests and bfd formats -# from the makefile or some other control file (FIXME). - -loadandtest m68k-elf "elf32-m68k" 0 - -# I'm getting an XPASS for explicit format on this one -loadandtest m68k-aout "a.out-newsos3" 1 - -loadandtest m68k-aout2 "a.out-sunos-big" 0 -loadandtest mips-ecoff "ecoff-bigmips" 0 -loadandtest i486-elf "elf32-i386" 0 -loadandtest sparc-aout "a.out-sunos-big" 0 -loadandtest sparc-elf "elf32-sparc" 0 - -#FIXME: i860 support is unlikely to be working in the near future -# so suppress this test until it is working. -fnf -#loadandtest i860-elf "elf32-i860" 0 - -gdb_test "set gnutarget auto" "" diff --git a/gdb/testsuite/gdb.base/d10vovly.c b/gdb/testsuite/gdb.base/d10vovly.c deleted file mode 100644 index 9bbdbf8..0000000 --- a/gdb/testsuite/gdb.base/d10vovly.c +++ /dev/null @@ -1,207 +0,0 @@ - -/* - * Ovlymgr.c -- Runtime Overlay Manager for the Mitsubishi D10V - */ - -#include "ovlymgr.h" - -/* Local functions and data: */ - -extern unsigned long _ovly_table[][4], _novlys; -enum ovly_index { VMA, SIZE, LMA, MAPPED }; -enum ovly_direction { IN, OUT }; - -static void D10VCopy (unsigned long dst, unsigned long src, long size); - -/* OverlayLoad: - * Copy the overlay into its runtime region, - * and mark the overlay as "mapped". - */ - -void -OverlayLoad (int ovlyno) -{ - int i; - - if (ovlyno < 0 || ovlyno >= _novlys) - exit (-1); /* fail, bad ovly number */ - - if (_ovly_table[ovlyno][MAPPED]) - return; /* this overlay already mapped -- nothing to do! */ - - for (i = 0; i < _novlys; i++) - if (i == ovlyno) - _ovly_table[i][MAPPED] = 1; /* this one now mapped */ - else if (_ovly_table[i][VMA] == _ovly_table[ovlyno][VMA]) - _ovly_table[i][MAPPED] = 0; /* this one now un-mapped */ - - /* copy overlay using D10V DMAP register */ - D10VCopy (_ovly_table[ovlyno][VMA], _ovly_table[ovlyno][LMA], - _ovly_table[ovlyno][SIZE]); -} - -/* OverlayUnload: - * Copy the overlay back into its "load" region. - * Does NOT mark overlay as "unmapped", therefore may be called - * more than once for the same mapped overlay. - */ - -void -OverlayUnload (int ovlyno) -{ - if (ovlyno < 0 || ovlyno >= _novlys) - exit (-1); /* fail, bad ovly number */ - - if (!_ovly_table[ovlyno][MAPPED]) - exit (-1); /* error, can't copy out a segment that's not "in" */ - - D10VCopy (_ovly_table[ovlyno][LMA], _ovly_table[ovlyno][VMA], - _ovly_table[ovlyno][SIZE]); -} - -/* D10VCopy: - * Copy a region of memory from src to dest. - * Like memcpy, but can copy anywhere in Universal, Data or Instruction memory. - */ - -#define IMAP0 (*(int *)(0xff00)) -#define IMAP1 (*(int *)(0xff02)) -#define DMAP (*(int *)(0xff04)) - -static void -D10VTranslate (unsigned long logical, - short *dmap, - unsigned long **addr) -{ - unsigned long physical; - unsigned long seg; - unsigned long off; - int err = 0; - /* to access data, we use the following mapping - 0x00xxxxxx: Logical data address segment (DMAP translated memory) - 0x01xxxxxx: Logical instruction address segment (IMAP translated memory) - 0x10xxxxxx: Physical data memory segment (On-chip data memory) - 0x11xxxxxx: Physical instruction memory segment (On-chip insn memory) - 0x12xxxxxx: Phisical unified memory segment (Unified memory) - */ - - /* Addresses must be correctly aligned */ - if (logical & (sizeof (**addr) - 1)) - exit (-1); - - /* If the address is in one of the two logical address spaces, it is - first translated into a physical address */ - seg = (logical >> 24); - off = (logical & 0xffffffL); - switch (seg) - { - case 0x00: /* in logical data address segment */ - if (off <= 0x7fffL) - physical = (0x10L << 24) + off; - else - /* Logical address out side of on-chip segment, not - supported */ - exit (-1); - break; - case 0x01: /* in logical instruction address segment */ - { - short map; - if (off <= 0x1ffffL) - map = IMAP0; - else if (off <= 0x3ffffL) - map = IMAP1; - else - /* Logical address outside of IMAP[01] segment, not - supported */ - exit (-1); - if (map & 0x1000L) - { - /* Instruction memory */ - physical = (0x11L << 24) | off; - } - else - { - /* Unified memory */ - physical = ((map & 0x7fL) << 17) + (off & 0x1ffffL); - if (physical > 0xffffffL) - /* Address outside of unified address segment */ - exit (-1); - physical |= (0x12L << 24); - } - break; - } - case 0x10: - case 0x11: - case 0x12: - physical = logical; - break; - default: - exit (-1); /* error */ - } - - seg = (physical >> 24); - off = (physical & 0xffffffL); - switch (seg) - { - case 0x10: /* dst is a 15 bit offset into the on-chip memory */ - *dmap = 0; - *addr = (long *) (0x0000 + ((int)off & 0x7fff)); - break; - case 0x11: /* dst is an 18-bit offset into the on-chip - instruction memory */ - *dmap = 0x1000L | ((off & 0x3ffffL) >> 14); - *addr = (long *) (0x8000 + ((int)off & 0x3fff)); - break; - case 0x12: /* dst is a 24-bit offset into unified memory */ - *dmap = off >> 14; - *addr = (long *) (0x8000 + ((int)off & 0x3fff)); - break; - default: - exit (-1); /* error */ - } - -#if 0 - printf ("D10VTranslate: logical = %08lx, dmap = %04x, addr = %04x\n", - logical, *dmap, *addr); -#endif -} - -static void -D10VCopy (unsigned long dst, unsigned long src, long size) -{ - unsigned long *s, *d, tmp; - short dmap_src, dmap_dst; - short dmap_save; - -#if 0 - printf ("D10VCopy: dst = %08lx, src = %08lx, size = %ld\n", - dst, src, size); -#endif - - /* all section sizes should by multiples of 4 bytes */ - dmap_save = DMAP; - - D10VTranslate (src, &dmap_src, &s); - D10VTranslate (dst, &dmap_dst, &d); - - while (size > 0) - { - /* NB: Transfer 4 byte (long) quantites, problems occure - when only two bytes are transfered */ - DMAP = dmap_src; - tmp = *s; - DMAP = dmap_dst; - *d = tmp; - d++; - s++; - size -= sizeof (tmp); - src += sizeof (tmp); - dst += sizeof (tmp); - if ((src & 0x3fff) == 0) - D10VTranslate (src, &dmap_src, &s); - if ((dst & 0x3fff) == 0) - D10VTranslate (dst, &dmap_dst, &d); - } - DMAP = dmap_save; -} - diff --git a/gdb/testsuite/gdb.base/default.exp b/gdb/testsuite/gdb.base/default.exp deleted file mode 100644 index bc03c1c..0000000 --- a/gdb/testsuite/gdb.base/default.exp +++ /dev/null @@ -1,793 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997, 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 - -# Start with a fresh gdb - -gdb_exit -gdb_start - -set timeout 60 - -# -# test default actions of gdb commands -# - -#load_lib gdb.exp - -gdb_test "add-symbol-file" "add-symbol-file takes a file name and an address" "add-symbol-file" - -setup_xfail "mips-idt-*" -send_gdb "attach\n" -gdb_expect { - -re "Argument required .(process-id|program) to attach.*$gdb_prompt $"\ - { pass "attach" } - -re "You can't do that when your target is `None'.*$gdb_prompt $"\ - { pass "attach" } - -re "Don't know how to attach. Try \"help target\"..*$gdb_prompt $"\ - { pass "attach" } - -re "Kill it. .y or n." { - send_gdb "y\n" - exp_continue - } - -re "$gdb_prompt $" { fail "attach" } - timeout { fail "(timeout) attach" } -} - -# FIXME: attach kills the udi connection -if { [istarget "a29k-*-udi"] } { - gdb_exit - gdb_start -} - -if ![target_info exists use_gdb_stub] { - gdb_test "break" "No default breakpoint address now." "break" - foreach i "b br bre brea" { - gdb_test $i "No default breakpoint address now." "break \"$i\" abbreviation" - } - - - setup_xfail "mips-idt-*" "a29k-*-udi" - gdb_test "backtrace" "No stack." - foreach i "bt ba bac" { - setup_xfail "mips-idt-*" "a29k-*-udi" - gdb_test $i "No stack." "backtrace \"$i\" abbreviation" - } -} else { - warning "Skipping backtrace and break tests because of GDB stub." -} - -# This works on the MIPS IDT board, but confuses future tests. -if ![istarget "mips-idt-*"] then { - setup_xfail "a29k-*-udi" - gdb_test "continue" "The program is not being run." "continue" - setup_xfail "a29k-*-udi" - gdb_test "c" "The program is not being run." "continue \"c\" abbreviation" -} - -# FIXME: continue kills the udi connection -if [istarget "a29k-*-udi"] then { - gdb_exit - gdb_start -} - -#test call -gdb_test "call" "The history is empty..*" "call" - - -#test catch -gdb_test "catch" "Catch requires an event name..*" "catch" - -#test cd -gdb_test "cd" "Argument required .new working directory.*" "cd" - -#test clear -gdb_test "clear" "No source file specified..*" "clear" - -#test commands -gdb_test "commands" "No breakpoint number 0..*" "commands" - -#test condition -gdb_test "condition" "Argument required .breakpoint number.*" "condition" - -#test core-file -gdb_test "core-file" "No core file now.|GDB can't read core files on this machine." "core-file" -#test delete "d" abbreviation -gdb_test "d" "" "delete \"d\" abbreviation" -#test delete -gdb_test "delete" "" "delete" -#test define -gdb_test "define" "Argument required \[(\]name of command to define\[)\]." "define" -#test delete breakpoints -gdb_test "delete breakpoints" "" "delete breakpoints" -#test delete display -# FIXME -- need to dump full output to detailed log -send_gdb "delete display\n" -gdb_expect { - -re "Delete all auto-display expressions.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" { pass "delete display prompt" } - timeout { fail "(timeout) delete display prompt" } - } - } - timeout { fail "(timeout) delete display prompt" } - -} - -#test detach -gdb_test "detach" "" "detach" - -# FIXME: continue kills the udi connection -if [istarget "a29k-*-udi"] then { - gdb_exit - gdb_start -} -if [istarget "h8300-*-hms"] then { - gdb_exit - gdb_start -} - -#test directory -# FIXME -- need to dump full output to detailed log - -send_gdb "directory\n" -gdb_expect { - -re "Reinitialize source path to empty.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "Source directories searched: .cdir:.cwd.*$gdb_prompt $"\ - { pass "directory prompt" } - timeout { fail "(timeout) directory prompt" } - } - } -} - -#test disable "dis" abbreviation -gdb_test "dis" "" "disable \"dis\" abbreviation" -#test disable "disa" abbreviation -gdb_test "disa" "" "disable \"disa\" abbreviation" -#test disable -gdb_test "disable" "" "disable" -#test disable breakpoints -gdb_test "disable breakpoints" "" "disable breakpoints" -#test disable display -gdb_test "disable display" "" "disable display" -#test disassemble -gdb_test "disassemble" "No frame selected." "disassemble" -#test display -gdb_test "display" "" "display" -#test do -gdb_test "do" "No stack." "do" -#test document -gdb_test "document" "Argument required .name of command to define.*" "document" -#test down -gdb_test "down" "No stack.*" "down" -#test down-silently -gdb_test "down-silently" "No stack." "down-silently" -#test echo -gdb_test "echo" "" "echo" -#test enable breakpoints delete -gdb_test "enable breakpoints delete" "Argument required .one or more breakpoint numbers.*" "enable breakpoints delete" -#test enable breakpoints once -gdb_test "enable breakpoints once" "Argument required .one or more breakpoint numbers.*" "enable breakpoints once" -#test enable breakpoints -gdb_test "enable breakpoints" "" "enable breakpoints" -#test enable delete -gdb_test "enable delete" "Argument required .one or more breakpoint numbers.*" "enable delete" -#test enable display -gdb_test "enable display" "" "enable display" -#test enable once -gdb_test "enable once" "Argument required .one or more breakpoint numbers.*" "enable once" -#test enable -gdb_test "enable" "" "enable" -#test exec-file -send_gdb "exec-file\n" -gdb_expect { - -re "No executable file now..*$gdb_prompt $" { - pass "exec-file" - } - -re "exec-file.*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "exec-file" - } - -re "$gdb_prompt $" { fail "exec-file" } - timeout { fail "(timeout) exec-file" } -} - -#test frame "f" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "f" "No stack." "frame \"f\" abbreviation" -#test frame -setup_xfail "a29k-*-udi" -gdb_test "frame" "No stack." "frame" -#test fg -setup_xfail "a29k-*-udi" -gdb_test "fg" "The program is not being run." "fg" -# FIXME: fg kills the udi connection -#test file -send_gdb "file\n" -gdb_expect { - -re "No executable file now..*$gdb_prompt $"\ - { pass "file" } - -re ".*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\t\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "file" - } - -re ".*$gdb_prompt $" { fail "file" } - timeout { fail "(timeout) file" } -} - -#test finish -setup_xfail "a29k-*-udi" -gdb_test "finish" "The program is not running." "finish" -#test forward-search -# The message here comes from the regexp library, not gdb, and so can -# vary on different systems. -gdb_test "forward-search" "No previous regular expression.*|There is no previous regular expression.*" "forward-search" -#test help "h" abbreviation -gdb_test "h" "List of classes of commands:.*\[\r\n\]+aliases -- Aliases of other commands.*\[\r\n\]+breakpoints -- Making program stop at certain points.*\[\r\n\]+data -- Examining data.*\[\r\n\]+files -- Specifying and examining files.*\[\r\n\]+obscure -- Obscure features.*\[\r\n\]+running -- Running the program.*\[\r\n\]+stack -- Examining the stack.*\[\r\n\]+status -- Status inquiries.*\[\r\n\]+support -- Support facilities.*\[\r\n\]+user-defined -- User-defined commands.*\[\r\n\]+Type \"help\" followed by a class name for a list of commands in that class..*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help \"h\" abbreviation" -#test help -gdb_test "help" "List of classes of commands:.*\[\r\n\]+aliases -- Aliases of other commands.*\[\r\n\]+breakpoints -- Making program stop at certain points.*\[\r\n\]+data -- Examining data.*\[\r\n\]+files -- Specifying and examining files.*\[\r\n\]+obscure -- Obscure features.*\[\r\n\]+running -- Running the program.*\[\r\n\]+stack -- Examining the stack.*\[\r\n\]+status -- Status inquiries.*\[\r\n\]+support -- Support facilities.*\[\r\n\]+user-defined -- User-defined commands.*\[\r\n\]+Type \"help\" followed by a class name for a list of commands in that class..*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help" -#test handle -gdb_test "handle" "Argument required .signal to handle.*" "handle" -#test info "i" abbreviation -gdb_test "i" "\"info\" must be followed by the name of an info command..*\[\r\n\]+List of info subcommands:.*\[\r\n\]+Type \"help info\" followed by info subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "info \"i\" abbreviation" -#test info -gdb_test "info" "\"info\" must be followed by the name of an info command..*\[\r\n\]+List of info subcommands:.*\[\r\n\]+Type \"help info\" followed by info subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "info" -#test ignore -gdb_test "ignore" "Argument required .a breakpoint number.*" "ignore" -#test info address -gdb_test "info address" "Argument required." "info address" -#test info all-registers -setup_xfail "a29k-*-udi" -gdb_test "info all-registers" "The program has no registers now." "info all-registers" -#test info args -gdb_test "info args" "No frame selected." "info args" -#test info bogus-gdb-command -gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\".*" "info bogus-gdb-command" -#test info breakpoints -gdb_test "info breakpoints" "No breakpoints or watchpoints." "info breakpoints" -#test info catch -gdb_test "info catch" "You can't do that without a process to debug." "info catch" -#test info copying -# FIXME -- doesn't work worth a shit -#send_gdb "info copying" -# -re "GNU GENERAL PUBLIC LICENSE.*#of preserving the free status of all derivatives of our free software and.*#of promoting the sharing and reuse of software generally."# -gdb_test "info copying" -# } -# -# -#test info display -gdb_test "info display" "There are no auto-display expressions now." "info display" -#test info frame "f" abbreviation -gdb_test "info f" "No stack.*|No selected frame.*" "info frame \"f\" abbreviation" -#test info frame -gdb_test "info frame" "No stack.|No selected frame." "info frame" -#test info files -gdb_test "info files" "" "info files" -#test info float -if [istarget "arm-*-*"] then { - gdb_test "info float" "Software FPU type.*mask:.*flags:.*" "info float" -} elseif [istarget "thumb-*-*"] then { - gdb_test "info float" "Software FPU type.*mask:.*flags:.*" "info float" -} else { - gdb_test "info float" "No floating point info available for this processor." "info float" -} -#test info functions -gdb_test "info functions" "All defined functions:" "info functions" -#test info locals -gdb_test "info locals" "No frame selected." "info locals" -#test info program -setup_xfail "a29k-*-udi" -gdb_test "info program" "The program being debugged is not being run." "info program" -#test info registers -setup_xfail "a29k-*-udi" -gdb_test "info registers" "The program has no registers now." "info registers" -#test info stack "s" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "info s" "No stack." "info stack \"s\" abbreviation" -#test info stack -setup_xfail "a29k-*-udi" -gdb_test "info stack" "No stack." "info stack" -#test info set -# FIXME -- needs to match the entire output -gdb_test "info set" "confirm: Whether to confirm potentially dangerous operations is o\[a-z\]*..*\[\r\n\]+history filename: The filename in which to record the command history is .*\[\r\n\]+listsize: Number of source lines gdb will list by default is 10.*" "info set" -gdb_test "info symbol" "Argument required .address.." -#test info source -gdb_test "info source" "No current source file..*" "info source" -#test info sources -gdb_test "info sources" "No symbol table is loaded. Use the \"file\" command.*" "info sources" -#test info target -gdb_test "info target" "" "info target" -#test info terminal -gdb_test "info terminal" "No saved terminal information." "info terminal" -#test info types -gdb_test "info types" "All defined types:" "info types" -#test info variables -gdb_test "info variables" "All defined variables:" "info variables" -#test info warranty -gdb_test "info warranty" "NO WARRANTY.*\[\r\n\]+ *11. *BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY.*\[\r\n\]+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN.*\[\r\n\]+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES.*\[\r\n\]+PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED.*\[\r\n\]+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF.*\[\r\n\]+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS.*\[\r\n\]+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE.*\[\r\n\]+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,.*\[\r\n\]+REPAIR OR CORRECTION..*\[\r\n\]+ *12. *IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING.*\[\r\n\]+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR.*\[\r\n\]+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,.*\[\r\n\]+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING.*\[\r\n\]+OUT OF THE USE OR INABILITY TO USE THE PROGRAM .INCLUDING BUT NOT LIMITED.*\[\r\n\]+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY.*\[\r\n\]+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER.*\[\r\n\]+PROGRAMS., EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE.*\[\r\n\]+POSSIBILITY OF SUCH DAMAGES.*" "info warranty" -#test info watchpoints -gdb_test "info watchpoints" "No breakpoints or watchpoints." "info watchpoints" -#test inspect -gdb_test "inspect" "The history is empty." "inspect" -#test jump -setup_xfail "a29k-*-udi" -gdb_test "jump" "The program is not being run." "jump" -#test kill -gdb_test "kill" "The program is not being run." "kill" -#test list "l" abbreviation -gdb_test "l" "No symbol table is loaded. Use the \"file\" command.*" "list \"l\" abbreviation" -#test list -gdb_test "list" "No symbol table is loaded. Use the \"file\" command.*" "list" -#test load -# The ``takes a file name'' case is for vxgdb. -# The ``Use the "file" command'' case is for newer GDB versions which try -# to deduce the filename from the exec file. -gdb_test "load" "You can't do that when your target is `None'.*|The load command takes a file name.*|Must specify at least a file name with the load command.*|.*Use the .file. or .exec-file. command.*" "load" -#test next "n" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "n" "The program is not being run." "next \"n\" abbreviation" -#test next -setup_xfail "a29k-*-udi" -gdb_test "next" "The program is not being run." "next" -#test nexti "ni" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "ni" "The program is not being run." "nexti \"ni\" abbreviation" -#test nexti -setup_xfail "a29k-*-udi" -gdb_test "nexti" "The program is not being run." "nexti" -#test output -gdb_test "output" "Argument required .expression to compute.*" "output" - -#test overlay -gdb_test "overlay" "\"overlay\" must be followed by the name of .*" -#test a non-existant overlay subcommand -gdb_test "overlay on" "Undefined overlay command.* Try \"help overlay\"." -gdb_test "overlay manual" "" "overlay manual #1" -gdb_test "overlay auto" "" -gdb_test "overlay off" "" -gdb_test "overlay list" "No sections are mapped." -gdb_test "overlay map" "Overlay debugging not enabled.*" "overlay map #1" -gdb_test "overlay unmap" "Overlay debugging not enabled.*" "overlay unmap #2" -gdb_test "overlay manual" "" "overlay manual #2" -gdb_test "overlay map" "Argument required: name of an overlay section." "overlay map #2" -gdb_test "overlay unmap" "Argument required: name of an overlay section." "overlay unmap #2" - -#test print "p" abbreviation -gdb_test "p" "The history is empty." "print \"p\" abbreviation" -#test print -gdb_test "print" "The history is empty." "print" -#test printf -gdb_test "printf" "Argument required .format-control string and values to print.*" "printf" -#test ptype -gdb_test "ptype" "The history is empty." "ptype" -#test pwd -gdb_test "pwd" "Working directory .*" "pwd" - -#test run "r" abbreviation -if [istarget "*-*-vxworks*"] then { - gdb_test "set args" "" "" - - gdb_test "r" "Starting program: .* -You must specify a function name to run, and arguments if any"\ - "run \"r\" abbreviation" - gdb_test "set args main" "" "" - -} else { - send_gdb "r\n" - gdb_expect { - -re "Starting program: .* -You can't do that when your target is `None'.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Starting program: .* -No executable file specified.* -Use the \"file\" or \"exec-file\" command.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Starting program: .* -No image loaded into target.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Starting program: .* -No program loaded.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Don't know how to run. Try \"help target\"..*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re ".*$gdb_prompt $" { fail "run \"r\" abbreviation" } - timeout { fail "(timeout) run \"r\" abbreviation" } - } -} - -#test run -if [istarget "*-*-vxworks*"] then { - gdb_test "set args" "" "" - - gdb_test "run" "Starting program: .* -You must specify a function name to run, and arguments if any" - gdb_test "set args main" "" "" - -} else { - send_gdb "run\n" - gdb_expect { - -re "Starting program:.*You can't do that when your target is `None'.*$gdb_prompt $" { pass "run" } - -re "Starting program: .* -No executable file specified.* -Use the \"file\" or \"exec-file\" command.*$gdb_prompt $"\ - { pass "run" } - -re "Starting program: .* -No image loaded into target.*$gdb_prompt $"\ - { pass "run" } - -re "Starting program: .* -No program loaded.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Don't know how to run. Try \"help target\"..*$gdb_prompt $"\ - { pass "run" } - -re ".*$gdb_prompt $" { fail "run" } - timeout { fail "(timeout) run" } - } -} - -#test rbreak -gdb_test "rbreak" "" "rbreak" - -#test return -# The middle case accommodates the a29k, where doing the "ni" above causes -# an initial stack to be created. -gdb_test "return" "No selected frame..*" "return" "Make .* return now.*y or n. $" "y" - - -#test reverse-search -gdb_test "reverse-search" "No previous regular expression.*|There is no previous regular expression.*" "reverse-search" -#test step "s" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "s" "The program is not being run." "step \"s\" abbreviation #1" -#test step -setup_xfail "a29k-*-udi" -gdb_test "step" "The program is not being run." "step #1" -#test search -gdb_test "search" "No previous regular expression.*|There is no previous regular expression.*" "search" -#test section -gdb_test "section" "Must specify section name and its virtual address.*" "section" -#test set annotate -gdb_test "set annotate" "Argument required .integer to set it to.*" "set annotate" -#test set args -gdb_test "set args" "" "set args" -#test set check "c" abbreviation -gdb_test "set c" "\"set check\" must be followed by the name of a check subcommand..*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set check \"c\" abbreviation" -#test set check "ch" abbreviation -gdb_test "set ch" "\"set check\" must be followed by the name of a check subcommand..*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set check \"ch\" abbreviation" -#test set check -gdb_test "set check" "\"set check\" must be followed by the name of a check subcommand..*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set check" -#test set check range -gdb_test "set check range" "" "set check range" -#test set check type -gdb_test "set check type" "" "set check type" -#test set complaints -gdb_test "set complaints" "Argument required .integer to set it to.*" "set complaints" -#test set confirm -gdb_test "set confirm" "" "set confirm" -# Don't test set editing. What if we're talking to a gdb that -# won't do editing correctly while we're talking to it? -# gdb_test "set editing" "" "set editing" - -#test set environment -gdb_test "set environment" "Argument required .environment variable and value.*" "set environment" -#test set height -gdb_test "set height" "Argument required .integer to set it to.*" "set height" -#test set history expansion -gdb_test "set history expansion" "" "set history expansion" -#test set history filename -gdb_test "set history filename" "Argument required .filename to set it to.*" "set history filename" -#test set history save -gdb_test "set history save" "" "set history save" -#test set history size -gdb_test "set history size" "Argument required .integer to set it to.*" "set history size" -#test set history -gdb_test "set history" "\"set history\" must be followed by the name of a history subcommand..*\[\r\n\]+List of set history subcommands:.*\[\r\n\]+set history expansion -- Set history expansion on command input.*\[\r\n\]+set history filename -- Set the filename in which to record the command history.*\[\r\n\]+set history save -- Set saving of the history record on exit.*\[\r\n\]+set history size -- Set the size of the command history.*\[\r\n\]+Type \"help set history\" followed by set history subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set history" -#test set language -gdb_test "set language" "The currently understood settings are:.*\[\r\n\]+local or auto *Automatic setting based on source file.*\[\r\n\]+c *Use the C language.*\[\r\n\]+c\[+\]+ *Use the C\[+\]+ language.*\[\r\n\]+modula-2 *Use the Modula-2 language.*" "set language" -#test set listsize -gdb_test "set listsize" "Argument required .integer to set it to.*" "set listsize" -#test set print "p" abbreviation -gdb_test "set p" "\"set print\" must be followed by the name of a print subcommand..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set print \"p\" abbreviation" -#test set print "pr" abbreviation -gdb_test "set pr" "\"set print\" must be followed by the name of a print subcommand..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set print \"pr\" abbreviation" -#test set print -gdb_test "set print" "\"set print\" must be followed by the name of a print subcommand..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set print" -#test set print address -gdb_test "set print address" "" "set print address" -#test set print array -gdb_test "set print array" "" "set print array" -#test set print asm-demangle -gdb_test "set print asm-demangle" "" "set print asm-demangle" -#test set print demangle -gdb_test "set print demangle" "" "set print demangle" -#test set print elements -gdb_test "set print elements" "Argument required .integer to set it to.*" "set print elements" -#test set print object -gdb_test "set print object" "" "set print object" -#test set print pretty -gdb_test "set print pretty" "" "set print pretty" -#test set print sevenbit-strings -gdb_test "set print sevenbit-strings" "" "set print sevenbit-strings" -#test set print union -gdb_test "set print union" "" "set print union" -#test set print vtbl -gdb_test "set print vtbl" "" "set print vtbl" -# FIXME -- need a test for "set prompt" -#test set radix -gdb_test "set radix" "Input and output radices now set to decimal 10, hex a, octal 12.*" "set radix" -#test set symbol-reloading -gdb_test "set symbol-reloading" "" "set symbol-reloading" -#test set variable -gdb_test "set variable" "Argument required .expression to compute.*" "set variable" -#test set verbose -gdb_test "set verbose" "" "set verbose" -#test set width -gdb_test "set width" "Argument required .integer to set it to.*" "set width" -#test set write -# This is only supported on targets which use exec.o. -gdb_test "set write" "" "set write" -#test set -gdb_test "set" "Argument required .expression to compute.*" "set" -#test shell echo Hi dad! -gdb_test "shell echo Hi dad!" "Hi dad!" "shell echo Hi dad!" -#test show annotate -gdb_test "show annotate" "Annotation_level is 0." "show annotate" -#test show args -gdb_test "show args" "Argument list to give program being debugged when it is started is \"\"." "show args" -#test show check "c" abbreviation -gdb_test "show c" "range: *Range checking is \"auto; currently off\"..*\[\r\n\]+type: *Type checking is \"auto; currently off\".*" "show check \"c\" abbreviation" -#test show check "ch" abbreviation -gdb_test "show ch" "range: *Range checking is \"auto; currently off\"..*\[\r\n\]+type: *Type checking is \"auto; currently off\"." "show check \"ch\" abbreviation" -#test show check -gdb_test "show check" "range: *Range checking is \"auto; currently off\"..*\[\r\n\]+type: *Type checking is \"auto; currently off\"." "show check" -#test show check range -gdb_test "show check range" "Range checking is \"auto; currently off\"." "show check range" -#test show check type -gdb_test "show check type" "Type checking is \"auto; currently off\"." "show check type" -#test show commands -gdb_test "show commands" "" "show commands" -#test show complaints -gdb_test "show complaints" "Max number of complaints about incorrect symbols is 0." "show complaints" -#test show confirm -gdb_test "show confirm" "Whether to confirm potentially dangerous operations is o\[a-z\]*." "show confirm" -#test show convenience -gdb_test "show convenience" "No debugger convenience variables now defined..*\[\r\n\]+Convenience variables have names starting with \".\";.*\[\r\n\]+use \"set\" as in \"set .foo = 5\" to define them." "show convenience" -#test show directories -gdb_test "show directories" "Source directories searched: .cdir:.cwd" "show directories" -#test show editing -gdb_test "show editing" "Editing of command lines as they are typed is o\[a-z\]*." "show editing" -#test show height -gdb_test "show height" "Number of lines gdb thinks are in a page is.*" "show height" -#test show history expansion -gdb_test "show history expansion" "History expansion on command input is o\[a-z\]*.*" "show history expansion" -#test show history filename -gdb_test "show history filename" "The filename in which to record the command history is.*.gdb_history.*" "show history filename" -#test show history save -gdb_test "show history save" "Saving of the history record on exit is on." "show history save" -#test show history size -gdb_test "show history size" "The size of the command history is.*" "show history size" -#test show history -gdb_test "show history" "expansion: *History expansion on command input is o.*\[\r\n\]+filename: *The filename in which to record the command history is.*.gdb_history.*\[\r\n\]+save: *Saving of the history record on exit is o.*\[\r\n\]+size: * The size of the command history is.*" "show history" -#test show language -gdb_test "show language" "The current source language is \"auto; currently c\"." "show language" -#test show listsize -gdb_test "show listsize" "Number of source lines gdb will list by default is 10." "show listsize" -#test show print "p" abbreviation -gdb_test "show p" ".*" "show p" -#test show print "pr" abbreviation -gdb_test "show pr" ".*" "show pr" -#test show print -gdb_test "show print" "" "show print" -#test show paths -gdb_test "show paths" "Executable and object file path:.*" "show paths" -#test show print address -gdb_test "show print address" "Printing of addresses is on." "show print address" -#test show print array -gdb_test "show print array" "Prettyprinting of arrays is on." "show print array" -#test show print asm-demangle -gdb_test "show print asm-demangle" "Demangling of C\[+\]+ names in disassembly listings is on." "show print asm-demangle" -#test show print demangle -gdb_test "show print demangle" "Demangling of encoded C\[+\]+ names when displaying symbols is on." "show print demangle" -#test show print elements -gdb_test "show print elements" "Limit on string chars or array elements to print is 200." "show print elements" -#test show print object -gdb_test "show print object" "Printing of object's derived type based on vtable info is on." "show print object" -#test show print pretty -gdb_test "show print pretty" "Prettyprinting of structures is on." "show print pretty" -#test show print sevenbit-strings -gdb_test "show print sevenbit-strings" "Printing of 8-bit characters in strings as .nnn is on." "show print sevenbit-strings" -#test show print union -gdb_test "show print union" "Printing of unions interior to structures is on." "show print union" -#test show print vtbl -gdb_test "show print vtbl" "Printing of C\[+\]+ virtual function tables is on." "show print vtbl" -#test show prompt -# In the FAIL case, can't just look for $gdb_prompt because that will match -# the output, rather than the prompt. So look for $gdb_prompt at the start -# of a line. -gdb_test "show prompt" "Gdb's prompt is \"$gdb_prompt \".*" "show prompt" -#test show radix -gdb_test "show radix" "Input and output radices set to decimal 10, hex a, octal 12." "show radix" -#test show symbol-reloading -gdb_test "show symbol-reloading" "Dynamic symbol table reloading multiple times in one run is on." "show symbol-reloading" -#test show user -gdb_test "show user" "" "show user" -#test show values -gdb_test "show values" "" "show values" -#test show verbose -gdb_test "show verbose" "Verbose printing of informational messages is o.*|Verbosity is off.*" "show verbose" -#test show version - -gdb_test "show version" "GNU gdb \[0-9\.\]*.*\[\r\n\]+Copyright \[0-9\]* Free Software Foundation, Inc.*\[\r\n\]+GDB is free software, covered by the GNU General Public License, and you are.*\[\r\n\]+welcome to change it and/or distribute copies of it under certain conditions.*\[\r\n\]+Type \"show copying\" to see the conditions.*\[\r\n\]+There is absolutely no warranty for GDB. Type \"show warranty\" for details.*\[\r\n\]+This GDB was configured as .*|GDB is free software and you are welcome to distribute copies of it.*\[\r\n\]+ under certain conditions; type \"show copying\" to see the conditions..*\[\r\n\]+There is absolutely no warranty for GDB; type \"show warranty\" for details..*\[\r\n\]+GDB.*Copyright \[0-9\]* Free Software Foundation, Inc.*" "show version" -#test show width -gdb_test "show width" "Number of characters gdb thinks are in a line is.*" "show width" -#test show write -# This is only supported on targets which use exec.o. -gdb_test "show write" "Writing into executable and core files is o.*" "show write" -#test show -gdb_test "show" "confirm: *Whether to confirm potentially dangerous operations is on..*\[\r\n\]+history filename: *The filename in which to record the command history is .*\[\r\n\]+history save: *Saving of the history record on exit is on..*\[\r\n\]+history size: *The size of the command history is.*\[\r\n\]+listsize: *Number of source lines gdb will list by default is 10.*\[\r\n\]+print elements: *Limit on string chars or array elements to print is 200..*" "show" -#test stepi "si" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "si" "The program is not being run." "stepi \"si\" abbreviation" -#test stepi -setup_xfail "a29k-*-udi" -gdb_test "stepi" "The program is not being run." "stepi" -#test signal -setup_xfail "a29k-*-udi" -gdb_test "signal" "The program is not being run." "signal" -#test source -gdb_test "source" "source command requires pathname of file to source..*|No such file or directory.*" "source" -#test step "s" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "s" "The program is not being run." "step \"s\" abbreviation #2" -#test step -setup_xfail "a29k-*-udi" -gdb_test "step" "The program is not being run." "step #2" -#test symbol-file -gdb_test "symbol-file" "" "symbol-file" - -#test target child -gdb_test "target child" "Use the \"run\" command to start a Unix child process.*|Undefined target command: \"child\". *Try \"help target\".*" "target child" - -#test target procfs -gdb_test "target procfs" "Use the \"run\" command to start a Unix child process.*|Undefined target command: \"procfs\". *Try \"help target\".*" "target procfs" - -#test target core -send_gdb "target core\n" -gdb_expect { - -re "No core file specified..*$gdb_prompt $" { pass "target core" } - -re ".*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\t\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "target core" - } - -re "Undefined target command: \"core\". Try \"help target\"..*$gdb_prompt $" { pass "target core" } - -re ".*$gdb_prompt $" { fail "target core" } - timeout { fail "(timeout) target core" } -} - -#test target exec -send_gdb "target exec\n" -gdb_expect { - -re "No executable file now..*$gdb_prompt $"\ - { pass "target exec" } - -re ".*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\t\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "target exec" - } - -re ".*$gdb_prompt $" { fail "target exec" } - timeout { fail "(timeout) target exec" } - } - -#test target remote -if ![istarget "*-*-udi*"] then { - send_gdb "target remote\n" - gdb_expect { - -re "To open a remote debug connection, you need to specify what serial.* -device is attached to the remote system .e.g. /dev/ttya.*$gdb_prompt $"\ - { pass "target remote" } - -re ".*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\t\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "target remote" - } - -re ".*$gdb_prompt $" { fail "target remote" } - timeout { fail "(timeout) target remote" } - } -} - -#test target -gdb_test "target" "Argument required .target name.*" "target" -#test tbreak -gdb_test "tbreak" "No default breakpoint address now." "tbreak" -#test tty -gdb_test "tty" "Argument required .terminal name for running target process.*" "tty" -#test until "u" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "u" "The program is not running." "until \"u\" abbreviation" -#test until -setup_xfail "a29k-*-udi" -gdb_test "until" "The program is not running." "until" -#test undisplay -# FIXME -- need to dump full output to detailed log -send_gdb "undisplay\n" -gdb_expect { - -re "Delete all auto-display expressions.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" { pass "undisplay prompt" } - timeout { fail "(timeout) (timeout) undisplay prompt" } - } - } - timeout { fail "(timeout) (timeout) undisplay prompt" } -} - -#test unset environment -send_gdb "unset environment\n" -gdb_expect { - -re "Delete all environment variables?.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" { pass "unset environmentprompt" } - timeout { - fail "(timeout) (timeout) unset environment prompt" - } - } - } - timeout { - fail "(timeout) (timeout) unset environment prompt" - } -} - -#test unset -gdb_test "unset" "\"unset\" must be followed by the name of an unset subcommand..*\[\r\n\]+List of unset subcommands:.*\[\r\n\]+unset environment -- Cancel environment variable VAR for the program.*\[\r\n\]+Type \"help unset\" followed by unset subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "unset" -#test up -#test up-silently -gdb_test "up-silently" "No stack." "up-silently" -#test watch -gdb_test "watch" "Argument required .expression to compute.*" "watch" -#test whatis -gdb_test "whatis" "The history is empty." "whatis" -#test where -setup_xfail "a29k-*-udi" -gdb_test "where" "No stack." "where" -#test x -#The case in which it prints a number is for vxgdb. -gdb_test "x" "0x0:.*0x\[0-9\]*|0x0:.*Cannot access memory at address 0x0." "x" - -gdb_exit diff --git a/gdb/testsuite/gdb.base/dollar.exp b/gdb/testsuite/gdb.base/dollar.exp deleted file mode 100644 index 50fac6a..0000000 --- a/gdb/testsuite/gdb.base/dollar.exp +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright (C) 1997, 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 - -# GDB tests for names beginning with '$' - -# This is aimed at HP-UX systems where a lot of system -# routines and names begin with '$' or '$$'. GDB 4.16 was -# unable to deal with these names as they clashed with -# convenience variables. Wildebeest should accept such -# names in preference to convenience variables. - -# This file was written by Satish Pai <pai@apollo.hp.com> -# 1997-09-24 - -if ![ istarget "*-*-hpux*" ] then { - return -} - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "exprs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -#source ${binfile}.ci - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# Test for millicode routines -send_gdb "print \$\$dyncall\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{<text variable, no debug info>\\} $hex <>.*$gdb_prompt $" { pass "print \$\$dyncall" } - -re "\\$\[0-9\]* = void" { fail "print \$\$dyncall -- interpreted as convenience var" } - -re "$gdb_prompt $" { fail "print \$\$dyncall" } - timeout { fail "(timeout) print \$\$dyncall" } -} -send_gdb "print \$\$dyncall_external\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{<text variable, no debug info>\\} $hex <>.*$gdb_prompt $" { pass "print \$\$dyncall_external" } - -re "\\$\[0-9\]* = void" { fail "print \$\$dyncall_external -- interpreted as convenience var" } - -re "$gdb_prompt $" { fail "print \$\$dyncall_external" } - timeout { fail "(timeout) print \$\$dyncall_external" } -} - -# Set a breakpoint on a millicode routine -send_gdb "break \$\$dyncall\n" -gdb_expect { - -re "Breakpoint \[0-9\]* at $hex.*$gdb_prompt $" { pass "break \$\$dyncall" } - -re "Function.*not defined.*$gdb_prompt $" {fail "break \$\$dyncall -- no \$\$dyncall?" } - -re "Convenience variables used in line specs must have integer values\\..*$gdb_prompt $" { - fail "break \$\$dyncall -- treated as convenince variable" - } - -re "$gdb_prompt $" { fail "print break \$\$dyncall" } - timeout { fail "(timeout) print break \$\$dyncall" } -} - -# Disassemble $$dyncall -send_gdb "disassemble \$\$dyncall\n" -gdb_expect { - -re "Dump of assembler code for function.*$gdb_prompt $" { pass "disas \$\$dyncall" } - -re "$gdb_prompt $" { fail "disas \$\$dyncall" } - timeout { fail "(timeout) disas \$\$dyncall" } -} - -# Try to set $$dyncall like a convenience var. -send_gdb "set \$\$dyncall = 77\n" -gdb_expect { - -re "Invalid cast.*$gdb_prompt $" { pass "set \$\$dyncall = 77" } - -re "$gdb_prompt $" { fail "set \$\$dyncall = 77" } - timeout { fail "(timeout) set \$\$dyncall = 77" } -} - -# Try out some other $ name, not millicode -send_gdb "print \$ARGV\n" -gdb_expect { - -re "\\$\[0-9\]* = \[0-9\]*.*$gdb_prompt $" { pass "print \$ARGV" } - -re "\\$\[0-9\]* = void.*$gdb_prompt $" { fail "print \$ARGV (interpreted as convenience var)" } - -re "$gdb_prompt $" { fail "print \$ARGV" } - timeout { fail "(timeout) print \$ARGV" } -} -send_gdb "ptype \$ARGV\n" -gdb_expect { - -re "type = <data variable, no debug info>.*$gdb_prompt $" { pass "ptype \$ARGV" } - -re "type = void.*$gdb_prompt $" { fail "ptype \$ARGV (interpreted as convenience var)" } - -re "$gdb_prompt $" { fail "ptype \$ARGV" } - timeout { fail "(timeout) ptype \$ARGV" } -} - diff --git a/gdb/testsuite/gdb.base/echo.exp b/gdb/testsuite/gdb.base/echo.exp deleted file mode 100644 index cfad3b0..0000000 --- a/gdb/testsuite/gdb.base/echo.exp +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel - } - -# -# test the echo command -# - -# this sets the prms id number. This is the number that will appear -# on all the output logs. -# ex: set prms_id 643 -set prms_id 0 - -# this sets the bug id id. This is the number that will appear -# on all the output logs. This is optional and if it is not set -# it will appear on all output logs as a 0. -# ex: set bug_id 12 -set bug_id 0 - -# this sends a string to the stdin of the tool being tested. The string -# should be between the quotes. -send "echo Hello world!\n" - -# any shell style globbing can be used between the "" -# regular expressions can be used instead by preceding the -# first quote with the option -re -# ex: "file deleted" { fail "removed source file" } -# the string between the quotes after a fail or pass is what -# gets printed if the pattern matches. There can be multiple -# send/expect sequences in one test. -expect { - -re "Hello world.*$prompt $" { pass "Echo test" } - -re "$prompt $" { fail "Echo test" } - timeout { fail "(timeout) Echo test" } - } - -# this dumps the output to the detailed log for this tool diff --git a/gdb/testsuite/gdb.base/environ.exp b/gdb/testsuite/gdb.base/environ.exp deleted file mode 100644 index 0033917..0000000 --- a/gdb/testsuite/gdb.base/environ.exp +++ /dev/null @@ -1,329 +0,0 @@ -# Copyright (C) 1997, 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 $tracelevel then { - strace $tracelevel - } - -global usestubs - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -# This test exists solely to exercise the "environment" commands for -# code-coverage on HP-UX. -# -if ![istarget "hppa*-*-hpux*"] then { - return -} - -set testfile "break" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { fail "environment command tests suppressed" } - -# (No, this is not really related to the environment commands. But it's -# a convenient place to verify that this command works.) -# -send_gdb "info program\n" -gdb_expect { - -re ".*Using the running image of child process \[0-9\]*.\r\nProgram stopped at 0x\[0-9a-fA-F\]*.\r\nIt stopped at breakpoint 1..*$gdb_prompt $"\ - {pass "info program"} - -re "$gdb_prompt $"\ - {fail "info program"} - timeout {fail "(timeout) info program"} -} - -# We don't really care where this step lands, so long as it gets -# the inferior pushed off the breakpoint it's currently on... -# -send_gdb "next\n" -gdb_expect { - -re ".*$gdb_prompt $"\ - {pass "step before info program"} - timeout {fail "(timeout) step before info program"} -} -send_gdb "info program\n" -gdb_expect { - -re ".*Using the running image of child process \[0-9\]*.\r\nProgram stopped at 0x\[0-9a-fA-F\]*.\r\nIt stopped after being stepped..*$gdb_prompt $"\ - {pass "info program after step"} - -re "$gdb_prompt $"\ - {fail "info program after step"} - timeout {fail "(timeout) info program after step"} -} - -if ![runto_main] then { fail "environment command tests suppressed" } - -send_gdb "delete\n" -gdb_expect { - -re ".*y or n. $"\ - {send_gdb "y\n" - gdb_expect { - -re ".*$gdb_prompt $"\ - {pass "delete breakpoint before info program"} - timeout {fail "(timeout) delete breakpoint before info program"} - } - } - -re "$gdb_prompt $"\ - {fail "delete breakpoint before info program"} - timeout {fail "(timeout) delete breakpoint before info program"} -} -send_gdb "info program\n" -gdb_expect { - -re ".*Using the running image of child process \[0-9\]*.\r\nProgram stopped at 0x\[0-9a-fA-F\]*.\r\nIt stopped at a breakpoint that has since been deleted..*$gdb_prompt $"\ - {pass "info program after deleted breakpoint"} - -re "$gdb_prompt $"\ - {fail "info program after deleted breakpoint"} - timeout {fail "(timeout) info program after deleted breakpoint"} -} - -# Verify that we can show all currently-set environment variables. -# (It's a bit hacky, but nonetheless probably safe to check for at -# least the SHELL variable.) -# -# need to increase timeout because of very long output -set oldtimeout $timeout -set timeout [expr "$timeout + 300"] - -send_gdb "show environment\n" -gdb_expect { - -re ".*SHELL=(\[a-zA-Z0-9\]*).*$gdb_prompt $"\ - {pass "show environment"} - -re "$gdb_prompt $"\ - {fail "show environment"} - timeout {fail "(timeout) show environment"} -} -set timeout $oldtimeout - -# Verify that we can unset a specific environment variable. -# -send_gdb "unset environment EDITOR\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue unset environment"} - timeout {fail "(timeout) issue unset environment"} -} -send_gdb "show environment EDITOR\n" -gdb_expect { - -re "Environment variable \"EDITOR\" not defined.\r\n$gdb_prompt $"\ - {pass "unset environment"} - -re "$gdb_prompt $"\ - {fail "unset environment"} - timeout {fail "(timeout) unset environment"} -} - -# Verify that we can unset all environment variables. -# -send_gdb "unset environment\n" -gdb_expect { - -re "Delete all environment variables.*y or n. $"\ - {send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $"\ - {pass "unset entire environment"} - timeout {fail "(timeout) unset entire environment"} - } - } - -re "$gdb_prompt $"\ - {fail "unset entire environment"} - timeout {fail "(timeout) unset entire environment"} -} - -# Verify that we can set a specific environment variable. -# -send_gdb "set environment EDITOR emacs\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment"} - timeout {fail "(timeout) issue set environment"} -} -send_gdb "show environment EDITOR\n" -gdb_expect { - -re "EDITOR = emacs\r\n$gdb_prompt $"\ - {pass "set environment"} - -re "$gdb_prompt $"\ - {fail "set environment"} - timeout {fail "(timeout) set environment"} -} - -# Verify that GDB responds gracefully to a request to set environment, -# with no variable name. -# -send_gdb "set environment\n" -gdb_expect { - -re "Argument required .environment variable and value..*$gdb_prompt $"\ - {pass "set environment without variable disallowed"} - -re "$gdb_prompt $"\ - {fail "set environment without variable disallowed"} - timeout {fail "(timeout) set environment without variable disallowed"} -} - -# I'm not sure just what GDB has in mind in explicitly checking -# for this variant, but since GDB handles it, test it. -# -send_gdb "set environment =\n" -gdb_expect { - -re "Argument required .environment variable to set..*$gdb_prompt $"\ - {pass "set environment equals without variable disallowed"} - -re "$gdb_prompt $"\ - {fail "set environment equals without variable disallowed"} - timeout {fail "(timeout) set environment equals without variable disallowed"} -} - -# Setting an environment variable without a value sets it to a NULL -# value. -# -send_gdb "set environment EDITOR\n" -gdb_expect { - -re "Setting environment variable \"EDITOR\" to null value..*$gdb_prompt $"\ - {pass "issue set environment without variable value"} - -re "$gdb_prompt $"\ - {fail "issue set environment without variable value"} - timeout {fail "(timeout) issue set environment without variable value"} -} -send_gdb "show environment EDITOR\n" -gdb_expect { - -re "EDITOR = \r\n$gdb_prompt $"\ - {pass "set environment without variable value"} - -re "$gdb_prompt $"\ - {fail "set environment without variable value"} - timeout {fail "(timeout) set environment without variable value"} -} - -# Verify that GDB responds gracefully to an attempt to show a -# non-existent environment variable. (We hope this variable is -# undefined!) -# -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "Environment variable \"FOOBARBAZGRUNGESPAZBALL\" not defined..*$gdb_prompt $"\ - {pass "show non-existent environment variable disallowed"} - -re "$gdb_prompt $"\ - {fail "show non-existent environment variable disallowed"} - timeout {fail "(timeout) show non-existent environment variable disallowed"} -} - -# Verify that GDB can set an environment variable hitherto undefined. -# -send_gdb "set environment FOOBARBAZGRUNGESPAZBALL t\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment for previously undefined variable"} - timeout {fail "(timeout) issue set environment for previously undefined variable"} -} -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "FOOBARBAZGRUNGESPAZBALL = t\r\n$gdb_prompt $"\ - {pass "set environment for previously undefined variable"} - -re "$gdb_prompt $"\ - {fail "set environment for previously undefined variable"} - timeout {fail "(timeout) set environment for previously undefined variable"} -} - -# Verify that GDB can also set an environment variable using the "=" -# syntax. -# -send_gdb "set environment FOOBARBAZGRUNGESPAZBALL = t\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment with equals"} - timeout {fail "(timeout) issue set environment with equals"} -} -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "FOOBARBAZGRUNGESPAZBALL = t\r\n$gdb_prompt $"\ - {pass "set environment with equals"} - -re "$gdb_prompt $"\ - {fail "set environment with equals"} - timeout {fail "(timeout) set environment with equals"} -} - -# Verify that GDB can set an environment variable to a value that has -# an embedded (trailing, in this case) equals. -# -send_gdb "set environment FOOBARBAZGRUNGESPAZBALL t=\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment with trailing equals"} - timeout {fail "(timeout) issue set environment with trailing equals"} -} -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "FOOBARBAZGRUNGESPAZBALL = t=\r\n$gdb_prompt $"\ - {pass "set environment with trailing equals"} - -re "$gdb_prompt $"\ - {fail "set environment with trailing equals"} - timeout {fail "(timeout) set environment with trailing equals"} -} - -# Verify that GDB can set an environment variable to a value preceded -# by whitespace, and that such whitespace is ignored (not included -# in the set value). -# -send_gdb "set environment FOOBARBAZGRUNGESPAZBALL = foo\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment with preceding whitespace"} - timeout {fail "(timeout) issue set environment with preceding whitespace"} -} -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "FOOBARBAZGRUNGESPAZBALL = foo\r\n$gdb_prompt $"\ - {pass "set environment with preceding whitespace"} - -re "$gdb_prompt $"\ - {fail "set environment with preceding whitespace"} - timeout {fail "(timeout) set environment with preceding whitespace"} -} - -# Verify that GDB can manipulate the distinguished PATH variable. -# -send_gdb "path /tmp/FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re ".*Executable and object file path: /tmp/FOOBARBAZGRUNGESPAZBALL.*$gdb_prompt $"\ - {pass "issue path"} - -re "$gdb_prompt $"\ - {fail "issue path"} - timeout {fail "(timeout) issue path"} -} -send_gdb "show paths\n" -gdb_expect { - -re "Executable and object file path: /tmp/FOOBARBAZGRUNGESPAZBALL.*$gdb_prompt $"\ - {pass "show paths"} - -re "$gdb_prompt $"\ - {fail "show paths"} - timeout {fail "(timeout) show paths"} -} - -gdb_exit -return 0 diff --git a/gdb/testsuite/gdb.base/exprs.c b/gdb/testsuite/gdb.base/exprs.c deleted file mode 100644 index bd33620..0000000 --- a/gdb/testsuite/gdb.base/exprs.c +++ /dev/null @@ -1,249 +0,0 @@ -main (argc, argv, envp) - int argc; - char **argv; - char **envp; -{ - extern void dummy(); - dummy(); -} - -/* We put main() right up front so its line number doesn't keep changing. */ - -/* - * Test file with lots of different types, for testing the - * "whatis" command. - */ - -/* - * First the basic C types. - */ - -#if !defined (__STDC__) && !defined (_AIX) -#define signed /**/ -#endif - -char v_char; -signed char v_signed_char; -unsigned char v_unsigned_char; - -short v_short; -signed short v_signed_short; -unsigned short v_unsigned_short; - -int v_int; -signed int v_signed_int; -unsigned int v_unsigned_int; - -long v_long; -signed long v_signed_long; -unsigned long v_unsigned_long; - -float v_float; -double v_double; - -/* - * Now some derived types, which are arrays, functions-returning, - * pointers, structures, unions, and enumerations. - */ - -/**** arrays *******/ - -char v_char_array[2]; -signed char v_signed_char_array[2]; -unsigned char v_unsigned_char_array[2]; - -short v_short_array[2]; -signed short v_signed_short_array[2]; -unsigned short v_unsigned_short_array[2]; - -int v_int_array[2]; -signed int v_signed_int_array[2]; -unsigned int v_unsigned_int_array[2]; - -long v_long_array[2]; -signed long v_signed_long_array[2]; -unsigned long v_unsigned_long_array[2]; - -float v_float_array[2]; -double v_double_array[2]; - -/**** pointers *******/ - -char *v_char_pointer; -signed char *v_signed_char_pointer; -unsigned char *v_unsigned_char_pointer; - -short *v_short_pointer; -signed short *v_signed_short_pointer; -unsigned short *v_unsigned_short_pointer; - -int *v_int_pointer; -signed int *v_signed_int_pointer; -unsigned int *v_unsigned_int_pointer; - -long *v_long_pointer; -signed long *v_signed_long_pointer; -unsigned long *v_unsigned_long_pointer; - -float *v_float_pointer; -double *v_double_pointer; - -/**** structs *******/ - -struct t_struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct1; - -struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct2; - -/**** unions *******/ - -union t_union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union; - -union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union2; - -/*** Functions returning type ********/ - -char v_char_func () { return(0); } -signed char v_signed_char_func () { return (0); } -unsigned char v_unsigned_char_func () { return (0); } - -short v_short_func () { return (0); } -signed short v_signed_short_func () { return (0); } -unsigned short v_unsigned_short_func () { return (0); } - -int v_int_func () { return (0); } -signed int v_signed_int_func () { return (0); } -unsigned int v_unsigned_int_func () { return (0); } - -long v_long_func () { return (0); } -signed long v_signed_long_func () { return (0); } -unsigned long v_unsigned_long_func () { return (0); } - -float v_float_func () { return (0.0); } -double v_double_func () { return (0.0); } - -/**** Some misc more complicated things *******/ - -struct link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} *s_link; - -union tu_link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} u_link; - -/**** Enumerations *******/ - -enum colors {red, green, blue} color; -enum cars {chevy, ford, porsche} clunker; - - -void dummy() -{ - /* Some linkers (e.g. on AIX) remove unreferenced variables, - so make sure to reference them. */ - v_char = 0; - v_signed_char = 1; - v_unsigned_char = 2; - - v_short = 3; - v_signed_short = 4; - v_unsigned_short = 5; - - v_int = 6; - v_signed_int = 7; - v_unsigned_int = 8; - - v_long = 9; - v_signed_long = 10; - v_unsigned_long = 11; - - v_float = 100.0; - v_double = 200.0; - - - v_char_array[0] = v_char; - v_signed_char_array[0] = v_signed_char; - v_unsigned_char_array[0] = v_unsigned_char; - - v_short_array[0] = v_short; - v_signed_short_array[0] = v_signed_short; - v_unsigned_short_array[0] = v_unsigned_short; - - v_int_array[0] = v_int; - v_signed_int_array[0] = v_signed_int; - v_unsigned_int_array[0] = v_unsigned_int; - - v_long_array[0] = v_long; - v_signed_long_array[0] = v_signed_long; - v_unsigned_long_array[0] = v_unsigned_long; - - v_float_array[0] = v_float; - v_double_array[0] = v_double; - - v_char_pointer = &v_char; - v_signed_char_pointer = &v_signed_char; - v_unsigned_char_pointer = &v_unsigned_char; - - v_short_pointer = &v_short; - v_signed_short_pointer = &v_signed_short; - v_unsigned_short_pointer = &v_unsigned_short; - - v_int_pointer = &v_int; - v_signed_int_pointer = &v_signed_int; - v_unsigned_int_pointer = &v_unsigned_int; - - v_long_pointer = &v_long; - v_signed_long_pointer = &v_signed_long; - v_unsigned_long_pointer = &v_unsigned_long; - - v_float_pointer = &v_float; - v_double_pointer = &v_double; - - color = red; - clunker = porsche; - - u_link.next = s_link; - - v_struct2.v_int_member = v_struct1.v_int_member; - v_union2.v_short_member = v_union.v_short_member; -} diff --git a/gdb/testsuite/gdb.base/exprs.exp b/gdb/testsuite/gdb.base/exprs.exp deleted file mode 100644 index 859c14d..0000000 --- a/gdb/testsuite/gdb.base/exprs.exp +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994 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 Rob Savoye. (rob@cygnus.com) - -if $tracelevel { - strace $tracelevel -} - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "exprs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -if [get_compiler_info ${binfile}] { - return -1; -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -proc test_expr { args } { - if { [llength $args] % 2 } { - warning "an even # of arguments should be passed to test_expr" - } - set last_ent [expr [llength $args] - 1]; - set testname [lindex $args $last_ent]; - if [gdb_test [lindex $args 0] "" "$testname (setup)"] { - return 1; - } - for {set x 1} {$x < $last_ent} {set x [expr $x + 2]} { - if [gdb_test [lindex $args $x] [lindex $args [expr $x + 1]] "$testname ([lindex $args $x])"] { - return 1; - } - } -} -# -# test expressions with "char" types -# -test_expr "set variable v_char=127" "print v_char == 0" "\\$\[0-9\]* = 0" "print v_char == 127" "\\$\[0-9\]* = 1" "print char ==" -test_expr "set variable v_char=127" "print v_char != 0" "\\$\[0-9\]* = 1" "print v_char != 127" "\\$\[0-9\]* = 0" "print char !=" -test_expr "set variable v_char=127" "print v_char < 0" "\\$\[0-9\]* = 0" "print v_char < 127" "\\$\[0-9\]* = 0" "print char <" -test_expr "set variable v_char=127" "print v_char > 0" "\\$\[0-9\]* = 1" "print v_char > 127" "\\$\[0-9\]* = 0" "print char >" -# -# test expressions with "signed char" types -# -test_expr "set variable v_signed_char=127" "print v_signed_char == 0" "\\$\[0-9\]* = 0" "print v_signed_char == 127" "\\$\[0-9\]* = 1" "print signed char ==" -test_expr "set variable v_signed_char=127" "print v_signed_char != 0" "\\$\[0-9\]* = 1" "print v_signed_char != 127" "\\$\[0-9\]* = 0" "print signed char !=" -test_expr "set variable v_signed_char=127" "print v_signed_char < 0" "\\$\[0-9\]* = 0" "print v_signed_char < 127" "\\$\[0-9\]* = 0" "print signed char <" -test_expr "set variable v_signed_char=127" "print v_signed_char > 0" "\\$\[0-9\]* = 1" "print v_signed_char > 127" "\\$\[0-9\]* = 0" "print signed char >" -# make char a minus -test_expr "set variable v_signed_char=-1" "print v_signed_char == 0" "\\$\[0-9\]* = 0" "print v_signed_char == -1" "\\$\[0-9\]* = 1" "print signed char == (minus)" -test_expr "set variable v_signed_char=-1" "print v_signed_char != 0" "\\$\[0-9\]* = 1" "print v_signed_char != -1" "\\$\[0-9\]* = 0" "print signed char != (minus)" -test_expr "set variable v_signed_char=-1" "print v_signed_char < 0" "\\$\[0-9\]* = 1" "print v_signed_char < 127" "\\$\[0-9\]* = 1" "print signed char < (minus)" -test_expr "set variable v_signed_char=-1" "print v_signed_char > 0" "\\$\[0-9\]* = 0" "print v_signed_char > 127" "\\$\[0-9\]* = 0" "print signed char > (minus)" -# -# test expressions with "unsigned char" types -# -test_expr "set variable v_unsigned_char=127" "print v_unsigned_char == 0" "\\$\[0-9\]* = 0" "print v_unsigned_char == 127" "\\$\[0-9\]* = 1" "print unsigned char ==" -test_expr "set variable v_unsigned_char=127" "print v_unsigned_char != 0" "\\$\[0-9\]* = 1" "print v_unsigned_char != 127" "\\$\[0-9\]* = 0" "print unsigned char !=" -test_expr "set variable v_unsigned_char=127" "print v_unsigned_char < 0" "\\$\[0-9\]* = 0" "print v_unsigned_char < 127" "\\$\[0-9\]* = 0" "print unsigned char <" -test_expr "set variable v_unsigned_char=127" "print v_unsigned_char > 0" "\\$\[0-9\]* = 1" "print v_unsigned_char > 127" "\\$\[0-9\]* = 0" "print unsigned char >" -# make char a minus -# FIXME: gdb mishandles the cast (unsigned char) on the i960, so I've -# set up an expected failure for this case. -setup_xfail "i960-*-*" 1821 -test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char == 0" "\\$\[0-9\]* = 0" "print v_unsigned_char == ~0" "\\$\[0-9\]* = 0" "print v_unsigned_char == (unsigned char)~0" "\\$\[0-9\]* = 1" "print unsigned char == (~0)" -# FIXME: gdb mishandles the cast (unsigned char) on the i960, so I've -# set up an expected failure for this case. -setup_xfail "i960-*-*" 1821 -test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char != 0" "\\$\[0-9\]* = 1" "print v_unsigned_char != (unsigned char)~0" "\\$\[0-9\]* = 0" "print unsigned char != (~0)" -test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char < 0" "\\$\[0-9\]* = 0" "print v_unsigned_char < 127" "\\$\[0-9\]* = 0" "print unsigned char < (~0)" -test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char > 0" "\\$\[0-9\]* = 1" "print v_unsigned_char > 127" "\\$\[0-9\]* = 1" "print unsigned char > (~0)" -# -# test expressions with "short" types -# -test_expr "set variable v_short=0x7FFF" "print v_short == 0" "\\$\[0-9\]* = 0" "print v_short == 0x7FFF" "\\$\[0-9\]* = 1" "print signed short ==" -test_expr "set variable v_short=0x7FFF" "print v_short != 0" "\\$\[0-9\]* = 1" "print v_short != 0x7FFF" "\\$\[0-9\]* = 0" "print signed short !=" -test_expr "set variable v_short=0x7FFF" "print v_short < 0" "\\$\[0-9\]* = 0" "print v_short < 0x7FFF" "\\$\[0-9\]* = 0" "print signed short <" -test_expr "set variable v_short=0x7FFF" "print v_short > 0" "\\$\[0-9\]* = 1" "print v_short > 0x7FFF" "\\$\[0-9\]* = 0" "print signed short >" -# make short a minus -test_expr "set variable v_short=-1" "print v_short == 0" "\\$\[0-9\]* = 0" "print v_short == -1" "\\$\[0-9\]* = 1" "print signed short == (minus)" -test_expr "set variable v_short=-1" "print v_short != 0" "\\$\[0-9\]* = 1" "print v_short != -1" "\\$\[0-9\]* = 0" "print signed short != (minus)" -test_expr "set variable v_short=-1" "print v_short < 0" "\\$\[0-9\]* = 1" "print v_short < 0x7FFF" "\\$\[0-9\]* = 1" "print signed short < (minus)" -test_expr "set variable v_short=-1" "print v_short > 0" "\\$\[0-9\]* = 0" "print v_short > 0x7FFF" "\\$\[0-9\]* = 0" "print signed short > (minus)" -# -# test expressions with "signed short" types -# -test_expr "set variable v_signed_short=0x7FFF" "print v_signed_short == 0" "\\$\[0-9\]* = 0" "print v_signed_short == 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed short ==" -test_expr "set variable v_signed_short=0x7FFF" "print v_signed_short != 0" "\\$\[0-9\]* = 1" "print v_signed_short != 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed short !=" -test_expr "set variable v_signed_short=0x7FFF" "print v_signed_short < 0" "\\$\[0-9\]* = 0" "print v_signed_short < 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed short <" -test_expr "set variable v_signed_short=0x7FFF" "print v_signed_short > 0" "\\$\[0-9\]* = 1" "print v_signed_short > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed short >" -# make short a minus -test_expr "set variable v_signed_short=-1" "print v_signed_short == 0" "\\$\[0-9\]* = 0" "print v_signed_short == -1" "\\$\[0-9\]* = 1" "print signed signed short == (minus)" -test_expr "set variable v_signed_short=-1" "print v_signed_short != 0" "\\$\[0-9\]* = 1" "print v_signed_short != -1" "\\$\[0-9\]* = 0" "print signed signed short != (minus)" -test_expr "set variable v_signed_short=-1" "print v_signed_short < 0" "\\$\[0-9\]* = 1" "print v_signed_short < 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed short < (minus)" -test_expr "set variable v_signed_short=-1" "print v_signed_short > 0" "\\$\[0-9\]* = 0" "print v_signed_short > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed short > (minus)" -# -# test expressions with "unsigned short" types -# -test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short == 0" "\\$\[0-9\]* = 0" "print v_unsigned_short == 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned short ==" -test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short != 0" "\\$\[0-9\]* = 1" "print v_unsigned_short != 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned short !=" -test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short < 0" "\\$\[0-9\]* = 0" "print v_unsigned_short < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned short <" -test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short > 0" "\\$\[0-9\]* = 1" "print v_unsigned_short > 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned short >" -# make short a minus -test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short == 0" "\\$\[0-9\]* = 0" "print v_unsigned_short == ~0" "\\$\[0-9\]* = 0" "print v_unsigned_short == (unsigned short)~0" "\\$\[0-9\]* = 1" "print unsigned short == (~0)" -test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short != 0" "\\$\[0-9\]* = 1" "print v_unsigned_short != (unsigned short)~0" "\\$\[0-9\]* = 0" "print unsigned short != (~0)" -test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short < 0" "\\$\[0-9\]* = 0" "print v_unsigned_short < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned short < (~0)" -test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short > 0" "\\$\[0-9\]* = 1" "print v_unsigned_short > 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned short > (~0)" -# -# test expressions with "int" types -# -test_expr "set variable v_int=0x7FFF" "print v_int == 0" "\\$\[0-9\]* = 0" "print v_int == 0x7FFF" "\\$\[0-9\]* = 1" "print signed int ==" -test_expr "set variable v_int=0x7FFF" "print v_int != 0" "\\$\[0-9\]* = 1" "print v_int != 0x7FFF" "\\$\[0-9\]* = 0" "print signed int !=" -test_expr "set variable v_int=0x7FFF" "print v_int < 0" "\\$\[0-9\]* = 0" "print v_int < 0x7FFF" "\\$\[0-9\]* = 0" "print signed int <" -test_expr "set variable v_int=0x7FFF" "print v_int > 0" "\\$\[0-9\]* = 1" "print v_int > 0x7FFF" "\\$\[0-9\]* = 0" "print signed int >" -# make int a minus -test_expr "set variable v_int=-1" "print v_int == 0" "\\$\[0-9\]* = 0" "print v_int == -1" "\\$\[0-9\]* = 1" "print signed int == (minus)" -test_expr "set variable v_int=-1" "print v_int != 0" "\\$\[0-9\]* = 1" "print v_int != -1" "\\$\[0-9\]* = 0" "print signed int != (minus)" -test_expr "set variable v_int=-1" "print v_int < 0" "\\$\[0-9\]* = 1" "print v_int < 0x7FFF" "\\$\[0-9\]* = 1" "print signed int < (minus)" -test_expr "set variable v_int=-1" "print v_int > 0" "\\$\[0-9\]* = 0" "print v_int > 0x7FFF" "\\$\[0-9\]* = 0" "print signed int > (minus)" -# -# test expressions with "signed int" types -# -test_expr "set variable v_signed_int=0x7FFF" "print v_signed_int == 0" "\\$\[0-9\]* = 0" "print v_signed_int == 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed int ==" -test_expr "set variable v_signed_int=0x7FFF" "print v_signed_int != 0" "\\$\[0-9\]* = 1" "print v_signed_int != 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed int !=" -test_expr "set variable v_signed_int=0x7FFF" "print v_signed_int < 0" "\\$\[0-9\]* = 0" "print v_signed_int < 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed int <" -test_expr "set variable v_signed_int=0x7FFF" "print v_signed_int > 0" "\\$\[0-9\]* = 1" "print v_signed_int > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed int >" -# make int a minus -test_expr "set variable v_signed_int=-1" "print v_signed_int == 0" "\\$\[0-9\]* = 0" "print v_signed_int == -1" "\\$\[0-9\]* = 1" "print signed signed int == (minus)" -test_expr "set variable v_signed_int=-1" "print v_signed_int != 0" "\\$\[0-9\]* = 1" "print v_signed_int != -1" "\\$\[0-9\]* = 0" "print signed signed int != (minus)" -test_expr "set variable v_signed_int=-1" "print v_signed_int < 0" "\\$\[0-9\]* = 1" "print v_signed_int < 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed int < (minus)" -test_expr "set variable v_signed_int=-1" "print v_signed_int > 0" "\\$\[0-9\]* = 0" "print v_signed_int > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed int > (minus)" -# -# test expressions with "unsigned int" types -# -test_expr "set variable v_unsigned_int=0x7FFF" "print v_unsigned_int == 0" "\\$\[0-9\]* = 0" "print v_unsigned_int == 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned int ==" -test_expr "set variable v_unsigned_int=0x7FFF" "print v_unsigned_int != 0" "\\$\[0-9\]* = 1" "print v_unsigned_int != 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned int !=" -test_expr "set variable v_unsigned_int=0x7FFF" "print v_unsigned_int < 0" "\\$\[0-9\]* = 0" "print v_unsigned_int < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned int <" -test_expr "set variable v_unsigned_int=0x7FFF" "print v_unsigned_int > 0" "\\$\[0-9\]* = 1" "print v_unsigned_int > 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned int >" -# make int a minus -test_expr "set variable v_unsigned_int=~0" "print v_unsigned_int == 0" "\\$\[0-9\]* = 0" "print v_unsigned_int == ~0" "\\$\[0-9\]* = 1" "print v_unsigned_int == (unsigned int)~0" "\\$\[0-9\]* = 1" "print unsigned int == (~0)" -test_expr "set variable v_unsigned_int=~0" "print v_unsigned_int != 0" "\\$\[0-9\]* = 1" "print v_unsigned_int != (unsigned int)~0" "\\$\[0-9\]* = 0" "print unsigned int != (~0)" -test_expr "set variable v_unsigned_int=~0" "print v_unsigned_int < 0" "\\$\[0-9\]* = 0" "print v_unsigned_int < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned int < (~0)" -test_expr "set variable v_unsigned_int=~0" "print v_unsigned_int > 0" "\\$\[0-9\]* = 1" "print v_unsigned_int > 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned int > (~0)" -# -# test expressions with "long" types -# -test_expr "set variable v_long=0x7FFF" "print v_long == 0" "\\$\[0-9\]* = 0" "print v_long == 0x7FFF" "\\$\[0-9\]* = 1" "print signed long ==" -test_expr "set variable v_long=0x7FFF" "print v_long != 0" "\\$\[0-9\]* = 1" "print v_long != 0x7FFF" "\\$\[0-9\]* = 0" "print signed long !=" -test_expr "set variable v_long=0x7FFF" "print v_long < 0" "\\$\[0-9\]* = 0" "print v_long < 0x7FFF" "\\$\[0-9\]* = 0" "print signed long <" -test_expr "set variable v_long=0x7FFF" "print v_long > 0" "\\$\[0-9\]* = 1" "print v_long > 0x7FFF" "\\$\[0-9\]* = 0" "print signed long >" -# make long a minus -test_expr "set variable v_long=-1" "print v_long == 0" "\\$\[0-9\]* = 0" "print v_long == -1" "\\$\[0-9\]* = 1" "print signed long == (minus)" -test_expr "set variable v_long=-1" "print v_long != 0" "\\$\[0-9\]* = 1" "print v_long != -1" "\\$\[0-9\]* = 0" "print signed long != (minus)" -test_expr "set variable v_long=-1" "print v_long < 0" "\\$\[0-9\]* = 1" "print v_long < 0x7FFF" "\\$\[0-9\]* = 1" "print signed long < (minus)" -test_expr "set variable v_long=-1" "print v_long > 0" "\\$\[0-9\]* = 0" "print v_long > 0x7FFF" "\\$\[0-9\]* = 0" "print signed long > (minus)" -# -# test expressions with "signed long" types -# -test_expr "set variable v_signed_long=0x7FFF" "print v_signed_long == 0" "\\$\[0-9\]* = 0" "print v_signed_long == 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed long ==" -test_expr "set variable v_signed_long=0x7FFF" "print v_signed_long != 0" "\\$\[0-9\]* = 1" "print v_signed_long != 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed long !=" -test_expr "set variable v_signed_long=0x7FFF" "print v_signed_long < 0" "\\$\[0-9\]* = 0" "print v_signed_long < 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed long <" -test_expr "set variable v_signed_long=0x7FFF" "print v_signed_long > 0" "\\$\[0-9\]* = 1" "print v_signed_long > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed long >" -# make long a minus -test_expr "set variable v_signed_long=-1" "print v_signed_long == 0" "\\$\[0-9\]* = 0" "print v_signed_long == -1" "\\$\[0-9\]* = 1" "print signed signed long == (minus)" -test_expr "set variable v_signed_long=-1" "print v_signed_long != 0" "\\$\[0-9\]* = 1" "print v_signed_long != -1" "\\$\[0-9\]* = 0" "print signed signed long != (minus)" -test_expr "set variable v_signed_long=-1" "print v_signed_long < 0" "\\$\[0-9\]* = 1" "print v_signed_long < 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed long < (minus)" -test_expr "set variable v_signed_long=-1" "print v_signed_long > 0" "\\$\[0-9\]* = 0" "print v_signed_long > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed long > (minus)" -# -# test expressions with "unsigned long" types -# -test_expr "set variable v_unsigned_long=0x7FFF" "print v_unsigned_long == 0" "\\$\[0-9\]* = 0" "print v_unsigned_long == 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned long ==" -test_expr "set variable v_unsigned_long=0x7FFF" "print v_unsigned_long != 0" "\\$\[0-9\]* = 1" "print v_unsigned_long != 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned long !=" -test_expr "set variable v_unsigned_long=0x7FFF" "print v_unsigned_long < 0" "\\$\[0-9\]* = 0" "print v_unsigned_long < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned long <" -test_expr "set variable v_unsigned_long=0x7FFF" "print v_unsigned_long > 0" "\\$\[0-9\]* = 1" "print v_unsigned_long > 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned long >" -# make long a minus -test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long == 0" "\\$\[0-9\]* = 0" "print v_unsigned_long == ~0" "\\$\[0-9\]* = 1" "print v_unsigned_long == (unsigned long)~0" "\\$\[0-9\]* = 1" "print unsigned long == (~0)" -test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long != 0" "\\$\[0-9\]* = 1" "print v_unsigned_long != (unsigned long)~0" "\\$\[0-9\]* = 0" "print unsigned long != (~0)" -test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long < 0" "\\$\[0-9\]* = 0" "print v_unsigned_long < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned long < (~0)" -test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long > 0" "\\$\[0-9\]* = 1" "print v_unsigned_long > 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned long > (~0)" diff --git a/gdb/testsuite/gdb.base/funcargs.c b/gdb/testsuite/gdb.base/funcargs.c deleted file mode 100644 index 6c0fdd0..0000000 --- a/gdb/testsuite/gdb.base/funcargs.c +++ /dev/null @@ -1,545 +0,0 @@ -/* Test passing of arguments to functions. Use various sorts of arguments, - including basic types, pointers to those types, structures, lots of - args, etc, in various combinations. */ - -/* AIX requires this to be the first thing in the file. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_STACK_ALLOCA 1 -#else /* not __GNUC__ */ -# ifdef _AIX - #pragma alloca -# define HAVE_STACK_ALLOCA 1 -# else /* Not AIX */ -# ifdef sparc -# include <alloca.h> -# define HAVE_STACK_ALLOCA 1 - char *alloca (); -# endif /* sparc */ -# endif /* Not AIX */ -#endif /* not __GNUC__ */ - -char c = 'a'; -char *cp = &c; - -unsigned char uc = 'b'; -unsigned char *ucp = &uc; - -short s = 1; -short *sp = &s; - -unsigned short us = 6; -unsigned short *usp = &us; - -int i = 2; -int *ip = &i; - -unsigned int ui = 7; -unsigned int *uip = &ui; - -long l = 3; -long *lp = &l; - -unsigned long ul = 8; -unsigned long *ulp = &ul; - -float f = 4.0; -float *fp = &f; - -double d = 5.0; -double *dp = &d; - -struct stag { - int s1; - int s2; -} st = { 101, 102 }; -struct stag *stp = &st; - -union utag { - int u1; - long u2; -} un; -union utag *unp = &un; - -char carray[] = {'a', 'n', ' ', 'a', 'r', 'r', 'a', 'y', '\0'}; - - -/* Test various permutations and interleaving of integral arguments */ - - -call0a (c, s, i, l) -char c; short s; int i; long l; -{ - c = 'a'; - s = 5; - i = 6; - l = 7; -} - -call0b (s, i, l, c) -short s; int i; long l; char c; -{ - s = 6; i = 7; l = 8; c = 'j'; -} - -call0c (i, l, c, s) -int i; long l; char c; short s; -{ - i = 3; l = 4; c = 'k'; s = 5; -} - -call0d (l, c, s, i) -long l; char c; short s; int i; -{ - l = 7; c = 'z'; s = 8; i = 9; -} - -call0e (c1, l, c2, i, c3, s, c4, c5) -char c1; long l; char c2; int i; char c3; short s; char c4; char c5; -{ - c1 = 'a'; l = 5; c2 = 'b'; i = 7; c3 = 'c'; s = 7; c4 = 'f'; c5 = 'g'; -} - - -/* Test various permutations and interleaving of unsigned integral arguments */ - - -call1a (uc, us, ui, ul) -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - uc = 5; us = 6; ui = 7; ul = 8; -} - -call1b (us, ui, ul, uc) -unsigned short us; unsigned int ui; unsigned long ul; unsigned char uc; -{ - uc = 5; us = 6; ui = 7; ul = 8; -} - -call1c (ui, ul, uc, us) -unsigned int ui; unsigned long ul; unsigned char uc; unsigned short us; -{ - uc = 5; us = 6; ui = 7; ul = 8; -} - -call1d (ul, uc, us, ui) -unsigned long ul; unsigned char uc; unsigned short us; unsigned int ui; -{ - uc = 5; us = 6; ui = 7; ul = 8; -} - -call1e (uc1, ul, uc2, ui, uc3, us, uc4, uc5) -unsigned char uc1; unsigned long ul; unsigned char uc2; unsigned int ui; -unsigned char uc3; unsigned short us; unsigned char uc4; unsigned char uc5; -{ - uc1 = 5; ul = 7; uc2 = 8; ui = 9; uc3 = 10; us = 11; uc4 = 12; uc5 = 55; -} - -/* Test various permutations and interleaving of integral arguments with - floating point arguments. */ - - -call2a (c, f1, s, d1, i, f2, l, d2) -char c; float f1; short s; double d1; int i; float f2; long l; double d2; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2b (f1, s, d1, i, f2, l, d2, c) -float f1; short s; double d1; int i; float f2; long l; double d2; char c; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2c (s, d1, i, f2, l, d2, c, f1) -short s; double d1; int i; float f2; long l; double d2; char c; float f1; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2d (d1, i, f2, l, d2, c, f1, s) -double d1; int i; float f2; long l; double d2; char c; float f1; short s; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2e (i, f2, l, d2, c, f1, s, d1) -int i; float f2; long l; double d2; char c; float f1; short s; double d1; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2f (f2, l, d2, c, f1, s, d1, i) -float f2; long l; double d2; char c; float f1; short s; double d1; int i; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2g (l, d2, c, f1, s, d1, i, f2) -long l; double d2; char c; float f1; short s; double d1; int i; float f2; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2h (d2, c, f1, s, d1, i, f2, l) -double d2; char c; float f1; short s; double d1; int i; float f2; long l; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2i (c1, f1, c2, c3, d1, c4, c5, c6, f2, s, c7, d2) -char c1; float f1; char c2; char c3; double d1; char c4; char c5; char c6; -float f2; short s; char c7; double d2; -{ - c1 = 'a'; f1 = 0.0; c2 = 5; d1 = 0.0; c3 = 6; f2 = 0.1; c4 = 7; d2 = 0.2; - c5 = 's'; c6 = 'f'; c7 = 'z'; s = 77; -} - - -/* Test pointers to various integral and floating types. */ - - -call3a (cp, sp, ip, lp) -char *cp; short *sp; int *ip; long *lp; -{ - cp = 0; sp = 0; ip = 0; lp = 0; -} - -call3b (ucp, usp, uip, ulp) -unsigned char *ucp; unsigned short *usp; unsigned int *uip; -unsigned long *ulp; -{ - ucp = 0; usp = 0; uip = 0; ulp = 0; -} - -call3c (fp, dp) -float *fp; double *dp; -{ - fp = 0; dp = 0; -} - - -/* Test passing structures and unions by reference. */ - - -call4a (stp) -struct stag *stp; { -stp = 0;} - -call4b (unp) -union utag *unp; -{ - unp = 0; -} - - -/* Test passing structures and unions by value. */ - - -call5a (st) -struct stag st; {st.s1 = 5;} - -call5b (un) -union utag un; {un.u1 = 7;} - - -/* Test shuffling of args */ - - -call6a (c, s, i, l, f, d, uc, us, ui, ul) -char c; short s; int i; long l; float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - c = c; - call6b (s, i, l, f, d, uc, us, ui, ul); -} - -call6b (s, i, l, f, d, uc, us, ui, ul) -short s; int i; long l; float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - s = s; - call6c (i, l, f, d, uc, us, ui, ul); -} - -call6c (i, l, f, d, uc, us, ui, ul) -int i; long l; float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - i = i; - call6d (l, f, d, uc, us, ui, ul); -} - -call6d (l, f, d, uc, us, ui, ul) -long l; float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - l = l; - call6e (f, d, uc, us, ui, ul); -} - -call6e (f, d, uc, us, ui, ul) -float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - f = f; - call6f (d, uc, us, ui, ul); -} - -call6f (d, uc, us, ui, ul) -double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - d = d; - call6g (uc, us, ui, ul); -} - -call6g (uc, us, ui, ul) -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - uc = uc; - call6h (us, ui, ul); -} - -call6h (us, ui, ul) -unsigned short us; unsigned int ui; unsigned long ul; -{ - us = us; - call6i (ui, ul); -} - -call6i (ui, ul) -unsigned int ui; unsigned long ul; -{ - ui = ui; - call6j (ul); -} - -call6j (ul) -unsigned long ul; -{ - ul = ul; - call6k (); -} - -call6k () -{ -} - - -/* Test shuffling of args, round robin */ - - -call7a (c, i, s, l, f, uc, d, us, ul, ui) -char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; -{ - call7b (i, s, l, f, uc, d, us, ul, ui, c); -} - -call7b (i, s, l, f, uc, d, us, ul, ui, c) -int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; -{ - call7c (s, l, f, uc, d, us, ul, ui, c, i); -} - -call7c (s, l, f, uc, d, us, ul, ui, c, i) -short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; -{ - call7d (l, f, uc, d, us, ul, ui, c, i, s); -} - -call7d (l, f, uc, d, us, ul, ui, c, i, s) -long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; -{ - call7e (f, uc, d, us, ul, ui, c, i, s, l); -} - -call7e (f, uc, d, us, ul, ui, c, i, s, l) -float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; -{ - call7f (uc, d, us, ul, ui, c, i, s, l, f); -} - -call7f (uc, d, us, ul, ui, c, i, s, l, f) -unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; -{ - call7g (d, us, ul, ui, c, i, s, l, f, uc); -} - -call7g (d, us, ul, ui, c, i, s, l, f, uc) -double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; -{ - call7h (us, ul, ui, c, i, s, l, f, uc, d); -} - -call7h (us, ul, ui, c, i, s, l, f, uc, d) -unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d; -{ - call7i (ul, ui, c, i, s, l, f, uc, d, us); -} - -call7i (ul, ui, c, i, s, l, f, uc, d, us) -unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; -{ - call7j (ui, c, i, s, l, f, uc, d, us, ul); -} - -call7j (ui, c, i, s, l, f, uc, d, us, ul) -unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; -{ - call7k (c, i, s, l, f, uc, d, us, ul, ui); -} - -call7k (c, i, s, l, f, uc, d, us, ul, ui) -char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; -{ - c = 'a'; i = 7; s = 8; l = 7; f = 0.3; uc = 44; d = 0.44; us = 77; - ul = 43; ui = 33; -} - - -/* Test printing of structures passed as arguments to recursive functions. */ - - -typedef struct s -{ - short s; - int i; - long l; -} SVAL; - -hitbottom () -{ -} - -void recurse (a, depth) -SVAL a; -int depth; -{ - a.s = a.i = a.l = --depth; - if (depth == 0) - hitbottom (); - else - recurse (a, depth); -} - -test_struct_args () -{ - SVAL s; s.s = 5; s.i = 5; s.l = 5; - - recurse (s, 5); -} - -/* On various machines (pa, 29k, and rs/6000, at least), a function which - calls alloca may do things differently with respect to frames. So give - it a try. */ - -int -localvars_after_alloca (c, s, i, l) - char c; - short s; - int i; - long l; -{ -#ifdef HAVE_STACK_ALLOCA - /* No need to use the alloca.c alloca-on-top-of-malloc; it doesn't - test what we are looking for, so if we don't have an alloca which - allocates on the stack, just don't bother to call alloca at all. */ - - char *z = alloca (s + 50); -#endif - c = 'a'; - s = 5; - i = 6; - l = 7; -} - - -/* The point behind this test is the PA will call this indirectly - through dyncall. Unlike the indirect calls to call0a, this test - will require a trampoline between dyncall and this function on the - call path, then another trampoline on between this function and main - on the return path. */ -double -call_with_trampolines (d1) -double d1; -{ - return d1; -} /* End of call_with_trampolines, this comment is needed by funcargs.exp */ - -/* Dummy functions which the testsuite can use to run to, etc. */ - -void -marker_indirect_call () {} - -void -marker_call_with_trampolines () {} - -main () -{ - int (*pointer_to_call0a) () = call0a; - double (*pointer_to_call_with_trampolines) () = call_with_trampolines; - - /* Test calling with basic integer types */ - call0a (c, s, i, l); - call0b (s, i, l, c); - call0c (i, l, c, s); - call0d (l, c, s, i); - call0e (c, l, c, i, c, s, c, c); - - /* Test calling with unsigned integer types */ - call1a (uc, us, ui, ul); - call1b (us, ui, ul, uc); - call1c (ui, ul, uc, us); - call1d (ul, uc, us, ui); - call1e (uc, ul, uc, ui, uc, us, uc, uc); - - /* Test calling with integral types mixed with floating point types */ - call2a (c, f, s, d, i, f, l, d); - call2b (f, s, d, i, f, l, d, c); - call2c (s, d, i, f, l, d, c, f); - call2d (d, i, f, l, d, c, f, s); - call2e (i, f, l, d, c, f, s, d); - call2f (f, l, d, c, f, s, d, i); - call2g (l, d, c, f, s, d, i, f); - call2h (d, c, f, s, d, i, f, l); - call2i (c, f, c, c, d, c, c, c, f, s, c, d);; - - /* Test dereferencing pointers to various integral and floating types */ - - call3a (cp, sp, ip, lp); - call3b (ucp, usp, uip, ulp); - call3c (fp, dp); - - /* Test dereferencing pointers to structs and unions */ - - call4a (stp); - un.u1 = 1; - call4b (unp); - - /* Test calling with structures and unions. */ - - call5a (st); - un.u1 = 2; - call5b (un); - - /* Test shuffling of args */ - - call6a (c, s, i, l, f, d, uc, us, ui, ul); - call7a (c, i, s, l, f, uc, d, us, ul, ui); - - /* Test passing structures recursively. */ - - test_struct_args (); - - localvars_after_alloca (c, s, i, l); - - /* This is for localvars_in_indirect_call. */ - marker_indirect_call (); - /* The comment on the following two lines is used by funcargs.exp, - don't change it. */ - (*pointer_to_call0a) (c, s, i, l); /* First step into call0a. */ - (*pointer_to_call0a) (c, s, i, l); /* Second step into call0a. */ - marker_call_with_trampolines (); - (*pointer_to_call_with_trampolines) (d); /* Test multiple trampolines. */ -} diff --git a/gdb/testsuite/gdb.base/funcargs.exp b/gdb/testsuite/gdb.base/funcargs.exp deleted file mode 100644 index fa79b67..0000000 --- a/gdb/testsuite/gdb.base/funcargs.exp +++ /dev/null @@ -1,938 +0,0 @@ -# Copyright (C) 1992, 1994, 1995, 1997 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "funcargs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# -# Locate actual args; integral types. -# - -proc integral_args {} { - global gdb_prompt - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call0a - gdb_breakpoint call0b - gdb_breakpoint call0c - gdb_breakpoint call0d - gdb_breakpoint call0e - - # Run; should stop at call0a and print actual arguments. - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_run_cmd - gdb_expect { - -re ".* call0a \\(c=97 'a', s=1, i=2, l=3\\) .*$gdb_prompt $" { - pass "run to call0a" - } - -re "$gdb_prompt $" { fail "run to call0a" ; gdb_suppress_tests } - timeout { fail "(timeout) run to call0a" ; gdb_suppress_tests } - } - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - gdb_test "print c" ".* = 97 'a'" "print c after run to call0a" - gdb_test "print s" ".* = 1" "print s after run to call0a" - gdb_test "print i" ".* = 2" "print i after run to call0a" - gdb_test "print l " ".* = 3" "print l after run to call0a" - - # Continue; should stop at call0b and print actual arguments. - if [gdb_test "cont" ".* call0b \\(s=1, i=2, l=3, c=97 'a'\\) .*" "continue to call0b"] { - gdb_suppress_tests; - } - - # Continue; should stop at call0c and print actual arguments. - if [gdb_test "cont" ".* call0c \\(i=2, l=3, c=97 'a', s=1\\) .*" "continue to call0c"] { - gdb_suppress_tests; - } - - # Continue; should stop at call0d and print actual arguments. - if [gdb_test "cont" ".* call0d \\(l=3, c=97 'a', s=1, i=2\\) .*" "continue to call0d";] { - gdb_suppress_tests; - } - - # Continue; should stop at call0e and print actual arguments. - if [gdb_test "cont" ".* call0e \\(c1=97 'a', l=3, c2=97 'a', i=2, c3=97 'a', s=1, c4=97 'a', c5=97 'a'\\) .*" "continue to call0e" ] { - gdb_suppress_tests; - } - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; unsigned integral types. -# - -proc unsigned_integral_args {} { - global gdb_prompt - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call1a; - gdb_breakpoint call1b; - gdb_breakpoint call1c; - gdb_breakpoint call1d; - gdb_breakpoint call1e; - - # Run; should stop at call1a and print actual arguments. - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_run_cmd - gdb_expect { - -re ".* call1a \\(uc=98 'b', us=6, ui=7, ul=8\\) .*$gdb_prompt $" { - pass "run to call1a" - } - -re "$gdb_prompt $" { fail "run to call1a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call1a" ; gdb_suppress_tests; } - } - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - gdb_test "print uc" ".* = 98 'b'" - gdb_test "print us" ".* = 6" - gdb_test "print ui" ".* = 7" - gdb_test "print ul" ".* = 8" - - # Continue; should stop at call1b and print actual arguments. - if [gdb_test "cont" ".* call1b \\(us=6, ui=7, ul=8, uc=98 'b'\\) .*" "continue to call1b"] { - gdb_suppress_tests; - } - - # Continue; should stop at call1c and print actual arguments. - if [gdb_test "cont" ".* call1c \\(ui=7, ul=8, uc=98 'b', us=6\\) .*" "continue to call1c"] { - gdb_suppress_tests; - } - - # Continue; should stop at call1d and print actual arguments. - if [gdb_test "cont" ".* call1d \\(ul=8, uc=98 'b', us=6, ui=7\\) .*" "continue to call1d"] { - gdb_suppress_tests; - } - - # Continue; should stop at call1e and print actual arguments. - if [gdb_test "cont" ".* call1e \\(uc1=98 'b', ul=8, uc2=98 'b', ui=7, uc3=98 'b', us=6, uc4=98 'b', uc5=98 'b'\\) .*" "continue to call1e"] { - gdb_suppress_tests; - } - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; integrals mixed with floating point. -# - -proc float_and_integral_args {} { - global gdb_prompt - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call2a - gdb_breakpoint call2b - gdb_breakpoint call2c - gdb_breakpoint call2d - gdb_breakpoint call2e - gdb_breakpoint call2f - gdb_breakpoint call2g - gdb_breakpoint call2h - - # Run; should stop at call2a and print actual arguments. - - setup_xfail "i960-*-*" 1813 - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "mips-sgi-irix5*" } - gdb_run_cmd - gdb_expect { - -re ".* call2a \\(c=97 'a', f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5\\) .*$gdb_prompt $" { pass "run to call2a" } - -re "$gdb_prompt $" { fail "run to call2a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call2a" ; gdb_suppress_tests; } - } - - # Print each arg as a double check to see if we can print - gdb_test "print c" ".* = 97 'a'" "print c after run to call2a" - gdb_test "print f1" ".* = 4" "print f1 after run to call2a" - gdb_test "print s" ".* = 1" "print s after run to call2a" - gdb_test "print d1" ".* = 5" "print d1 after run to call2a" - gdb_test "print i" ".* = 2" "print i after run to call2a" - gdb_test "print f2" ".* = 4" "print f2 after run to call2a" - gdb_test "print l" ".* = 3" "print l after run to call2a" - gdb_test "print d2" ".* = 5" "print d2 after run to call2a" - - setup_xfail "rs6000-*-*" - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" } - # Continue; should stop at call2b and print actual arguments. - if [gdb_test "cont" ".* call2b \\(f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5, c=97 'a'\\) .*" "continue to call2b"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2c and print actual arguments. - if [gdb_test "cont" ".* call2c \\(s=1, d1=5, i=2, f2=4, l=3, d2=5, c=97 'a', f1=4\\) .*" "continue to call2c"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2d and print actual arguments. - if [gdb_test "cont" ".* call2d \\(d1=5, i=2, f2=4, l=3, d2=5, c=97 'a', f1=4, s=1\\) .*" "continue to call2d"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2e and print actual arguments. - if [gdb_test "cont" ".* call2e \\(i=2, f2=4, l=3, d2=5, c=97 'a', f1=4, s=1, d1=5\\) .*" "continue to call2e"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2f and print actual arguments. - if [gdb_test "cont" ".* call2f \\(f2=4, l=3, d2=5, c=97 'a', f1=4, s=1, d1=5, i=2\\) .*" "continue to call2f"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2g and print actual arguments. - if [gdb_test "cont" ".* call2g \\(l=3, d2=5, c=97 'a', f1=4, s=1, d1=5, i=2, f2=4\\) .*" "continue to call2g"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2h and print actual arguments. - if [gdb_test "cont" ".* call2h \\(d2=5, c=97 'a', f1=4, s=1, d1=5, i=2, f2=4, l=3\\) .*" "continue to call2h"] { - gdb_suppress_tests; - } - - # monitor only allows 8 breakpoints; w89k board allows 10, so - # break them up into two groups. - delete_breakpoints - gdb_breakpoint call2i - - # Continue; should stop at call2i and print actual arguments. - if [gdb_test "cont" ".* call2i \\(c1=97 'a', f1=4, c2=97 'a', c3=97 'a', d1=5, c4=97 'a', c5=97 'a', c6=97 'a', f2=4, s=1, c7=97 'a', d2=5\\) .*" "continue to call2i"] { - gdb_suppress_tests; - } - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; dereference pointers to ints and floats. -# - -proc pointer_args {} { - global gdb_prompt - global hex - global det_file - - delete_breakpoints - - gdb_breakpoint call3a - gdb_breakpoint call3b - gdb_breakpoint call3c - - # Run; should stop at call3a and print actual arguments. - # Try dereferencing the arguments. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".* call3a \\(cp=$hex \"a\", sp=$hex, ip=$hex, lp=$hex\\) .*$gdb_prompt $" { pass "run to call3a" } - -re "$gdb_prompt $" { fail "run to call3a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call3a" ; gdb_suppress_tests; } - } - - gdb_test "print *cp" ".* = 97 'a'" - gdb_test "print *sp" ".* = 1" - gdb_test "print *ip" ".* = 2" - gdb_test "print *lp" ".* = 3" - - # Continue; should stop at call3b and print actual arguments. - # Try dereferencing the arguments. - if [gdb_test "cont" ".* call3b \\(ucp=$hex \"b\", usp=$hex, uip=$hex, ulp=$hex\\) .*" "continue to call3b"] { - gdb_suppress_tests; - } - - gdb_test "print *ucp" ".* = 98 'b'" - gdb_test "print *usp" ".* = 6" - gdb_test "print *uip" ".* = 7" - gdb_test "print *ulp" ".* = 8" - - # Continue; should stop at call3c and print actual arguments. - # Try dereferencing the arguments. - if [gdb_test "cont" ".* call3c \\(fp=$hex, dp=$hex\\) .*" "continue to call3c"] { - gdb_suppress_tests; - } - - gdb_test "print *fp" ".* = 4" - gdb_test "print *dp" ".* = 5" - -# pass "locate actual args, pointer types" - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; structures and unions passed by reference. -# - -proc structs_by_reference {} { - global gdb_prompt - global hex - global det_file - - delete_breakpoints - - gdb_breakpoint call4a - gdb_breakpoint call4b - - # Run; should stop at call4a and print actual arguments. - # Try dereferencing the arguments. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".* call4a \\(stp=$hex\\) .*$gdb_prompt $" { - pass "run to call4a" - } - -re "$gdb_prompt $" { fail "run to call4a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call4a" ; gdb_suppress_tests; } - } - - gdb_test "print *stp" ".* = \{s1 = 101, s2 = 102\}" - - # Continue; should stop at call4b and print actual arguments. - # Try dereferencing the arguments. - - gdb_test "cont" ".* call4b \\(unp=$hex\\) .*" "continue to call4b" - - # sizeof int != sizeof long - if [target_info exists gdb,short_int] { - setup_xfail "*-*-*" - } - gdb_test "print *unp" ".* = \{u1 = 1, u2 = 1\}" - - pass "locate actual args, structs/unions passed by reference" - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; structures and unions passed by value. -# - -proc structs_by_value {} { - global gdb_prompt - global hex - global det_file - - delete_breakpoints - - gdb_breakpoint call5a - gdb_breakpoint call5b - - # Run; should stop at call5a and print actual arguments. - # Try dereferencing the arguments. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".* call5a \\(st=\{s1 = 101, s2 = 102\}\\) .*$gdb_prompt $" { - pass "run to call5a" - } - -re "$gdb_prompt $" { fail "run to call5a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call5a" ; gdb_suppress_tests; } - } - - gdb_test "print st" ".* = \{s1 = 101, s2 = 102\}" - - # Continue; should stop at call5b and print actual arguments. - # Try dereferencing the arguments. - # sizeof int != sizeof long - if [target_info exists gdb,short_int] { - setup_xfail "*-*-*" - } - gdb_test "cont" ".* call5b \\(un=\{u1 = 2, u2 = 2\}\\) .*" \ - "continue to call5b" - - # sizeof int != sizeof long - if [target_info exists gdb,short_int] { - setup_xfail "*-*-*" - } - gdb_test "print un" ".* = \{u1 = 2, u2 = 2\}" - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; discard, shuffle, and call -# - -proc discard_and_shuffle {} { - global gdb_prompt - global hex - global decimal - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call6a - gdb_breakpoint call6b - gdb_breakpoint call6c - gdb_breakpoint call6d - gdb_breakpoint call6e - gdb_breakpoint call6f - gdb_breakpoint call6g - gdb_breakpoint call6h - - # Run; should stop at call6a and print actual arguments. - # Print backtrace. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".*Breakpoint $decimal, call6a .*$gdb_prompt $" { pass "run to call6a" } - -re "$gdb_prompt $" { fail "run to call6a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call6a" ; gdb_suppress_tests; } - } - - setup_xfail "rs6000-*-*" - - if {!$gcc_compiled} { - setup_xfail "mips-sgi-irix5*" - } - - if [gdb_test "backtrace 100" ".* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\]" "backtrace from call6a"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6b and print actual arguments. - # Print backtrace. - - gdb_continue call6b - - if [gdb_test "backtrace 100" ".* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\]*.* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\]" "backtrace from call6b"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6c and print actual arguments. - # Print backtrace. - - gdb_continue call6c - - if [gdb_test "backtrace 100" ".* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6c"] { - gdb_suppress_tests; - } - # Continue; should stop at call6d and print actual arguments. - # Print backtrace. - - gdb_continue call6d - - if [gdb_test "backtrace 100" ".* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6d"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6e and print actual arguments. - # Print backtrace. - - gdb_continue call6e - - if [gdb_test "backtrace 100" ".* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6e"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6f and print actual arguments. - # Print backtrace. - - gdb_continue call6f - - if [gdb_test "backtrace 100" ".* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6f"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6g and print actual arguments. - # Print backtrace. - - gdb_continue call6g - - if [gdb_test "backtrace 100" ".* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6g"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6h and print actual arguments. - # Print backtrace. - - gdb_continue call6h - - if [gdb_test "backtrace 100" ".* call6h \\(us=6, ui=7, ul=8\\) .*\[\r\n\].* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6h"] { - gdb_suppress_tests; - } - - # monitor only allows 8 breakpoints; w89k board allows 10, so - # break them up into two groups. - delete_breakpoints - gdb_breakpoint call6i - gdb_breakpoint call6j - gdb_breakpoint call6k - - # Continue; should stop at call6i and print actual arguments. - # Print backtrace. - - gdb_continue call6i - - if [gdb_test "backtrace 100" ".* call6i \\(ui=7, ul=8\\) .*\[\r\n\].* call6h \\(us=6, ui=7, ul=8\\) .*\[\r\n\].* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6i"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6j and print actual arguments. - # Print backtrace. - - gdb_continue call6j - - if [gdb_test "backtrace 100" ".* call6j \\(ul=8\\) .*\[\r\n\].* call6i \\(ui=7, ul=8\\) .*\[\r\n\].* call6h \\(us=6, ui=7, ul=8\\) .*\[\r\n\].* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6j"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6k and print actual arguments. - # Print backtrace. - # This fails on i960-*-vxworks because gdb gets confused by - # breakpoints on adjacent instructions. - setup_xfail "i960-*-vxworks" 1786 - gdb_continue call6k - - if [gdb_test "backtrace 100" ".* call6k \\(\\) .*\[\r\n\].* call6j \\(ul=8\\) .*\[\r\n\].* call6i \\(ui=7, ul=8\\) .*\[\r\n\].* call6h \\(us=6, ui=7, ul=8\\) .*\[\r\n\].* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6k"] { - gdb_suppress_tests; - } - gdb_stop_suppressing_tests; -} - - -# -# Locate actual args; shuffle round robin and call -# - -proc shuffle_round_robin {} { - global gdb_prompt - global hex - global decimal - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call7a - gdb_breakpoint call7b - gdb_breakpoint call7c - gdb_breakpoint call7d - gdb_breakpoint call7e - gdb_breakpoint call7f - gdb_breakpoint call7g - gdb_breakpoint call7h - - # Run; should stop at call7a and print actual arguments. - # Print backtrace. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".*Breakpoint $decimal, call7a .*$gdb_prompt $" { - pass "run to call7a" - } - -re "$gdb_prompt $" { fail "run to call7a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call7a" ; gdb_suppress_tests; } - } - - setup_xfail "i960-*-*" 1813 - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "mips-sgi-irix5*" } - gdb_test "backtrace 100" ".* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7a" - - # Continue; should stop at call7b and print actual arguments. - # Print backtrace. - - gdb_continue call7b - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - - gdb_test "backtrace 100" ".* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7b" - - # Continue; should stop at call7c and print actual arguments. - # Print backtrace. - - gdb_continue call7c - - gdb_test "backtrace 100" ".* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7c" - - # Continue; should stop at call7d and print actual arguments. - # Print backtrace. - - gdb_continue call7d - - gdb_test "backtrace 100" ".* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7d" - - gdb_continue call7e - - gdb_test "backtrace 100" ".* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7e" - - # Continue; should stop at call7f and print actual arguments. - # Print backtrace. - - gdb_continue call7f - - gdb_test "backtrace 100" ".* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7f" - - # Continue; should stop at call7g and print actual arguments. - # Print backtrace. - - gdb_continue call7g - - gdb_test "backtrace 100" ".* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7g" - - gdb_continue call7h - - gdb_test "backtrace 100" ".* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) .*\[\r\n\].* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7h" - - # monitor only allows 8 breakpoints; w89k board allows 10, so - # break them up into two groups. - delete_breakpoints - gdb_breakpoint call7i - gdb_breakpoint call7j - gdb_breakpoint call7k - - # Continue; should stop at call7i and print actual arguments. - # Print backtrace. - - gdb_continue call7i - - gdb_test "backtrace 100" ".* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) .*\[\r\n\].* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) .*\[\r\n\].* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7i" - - # Continue; should stop at call7j and print actual arguments. - # Print backtrace. - - gdb_continue call7j - - gdb_test "backtrace 100" ".* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) .*\[\r\n\].* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) .*\[\r\n\].* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) .*\[\r\n\].* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7j" - - # Continue; should stop at call7k and print actual arguments. - # Print backtrace. - - gdb_continue call7k - - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" } - gdb_test "backtrace 100" ".* call7k \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) .*\[\r\n\].* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) .*\[\r\n\].* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) .*\[\r\n\].* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7k" - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; recursive passing of structs by value -# - -proc recursive_structs_by_value {} { - global gdb_prompt - global hex - global decimal - global det_file - - delete_breakpoints - - gdb_breakpoint hitbottom - - # Run; should stop at hitbottom and print actual arguments. - # Print backtrace. - gdb_run_cmd - gdb_expect { - -re ".*Breakpoint $decimal, hitbottom .*$gdb_prompt $" { pass "run to hitbottom" } - -re "$gdb_prompt $" { fail "run to hitbottom" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to hitbottom" ; gdb_suppress_tests; } - } - - if ![istarget sparclet-*-*] { - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_test "backtrace 100" ".* hitbottom \\(\\) .*\[\r\n\].* recurse \\(a=\{s = 0, i = 0, l = 0\}, depth=0\\) .*\[\r\n\].* recurse \\(a=\{s = 1, i = 1, l = 1\}, depth=1\\) .*\[\r\n\].* recurse \\(a=\{s = 2, i = 2, l = 2\}, depth=2\\) .*\[\r\n\].* recurse \\(a=\{s = 3, i = 3, l = 3\}, depth=3\\) .*\[\r\n\].* recurse \\(a=\{s = 4, i = 4, l = 4\}, depth=4\\) .*\[\r\n\].* test_struct_args \\(\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\]" "recursive passing of structs by value" - } else { - fail "recursive passing of structs by value (sparclet)" - } - gdb_stop_suppressing_tests; -} - -proc funcargs_reload { } { - global objdir - global subdir - global binfile - global srcdir - - if [istarget "mips-idt-*"] { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} - } -} - -# -# Test for accessing local stack variables in functions which call alloca -# -proc localvars_after_alloca { } { - global gdb_prompt - global hex - global decimal - global gcc_compiled - - if { ! [ runto localvars_after_alloca ] } then { gdb_suppress_tests; } - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print c" " = 97 'a'" "print c after runto localvars_after_alloca" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print s" " = 1" "print s after runto localvars_after_alloca" - gdb_test "print i" " = 2" "print i after runto localvars_after_alloca" - gdb_test "print l" " = 3" "print l after runto localvars_after_alloca" - - # Lame regexp. - gdb_test "next" ".*" "next in localvars_after_alloca()" - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - - gdb_test "print c" " = 97 'a'" "print c in localvars_after_alloca" - gdb_test "print s" " = 1" "print s in localvars_after_alloca" - gdb_test "print i" " = 2" "print i in localvars_after_alloca" - gdb_test "print l" " = 3" "print l in localvars_after_alloca" - - gdb_test "backtrace 8" "#0.*localvars_after_alloca \\(c=97 'a', s=1, i=2, l=3\\).*#1.*main.*" "backtrace after alloca" - gdb_stop_suppressing_tests; -} - -proc call_after_alloca { } { - global gdb_prompt - global hex - global decimal - global gcc_compiled - - if { ! [ runto call_after_alloca_subr ] } then { gdb_suppress_tests; } - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print c" " = 97 'a'" "print c in call_after_alloca" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print s" " = 1" "print s in call_after_alloca" - gdb_test "print i" " = 2" "print i in call_after_alloca" - gdb_test "print l" " = 3" "print l in call_after_alloca" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "backtrace 8" "#0.*call_after_alloca_subr \\(c=97 'a', s=1, i=2, l=3, uc=98 'b', us=11, ui=12, ul=13\\).*#1.*call_after_alloca \\(c=97 'a', s=1, i=2, l=3\\).*#2.*main.*" "backtrace from call_after_alloca_subr" - gdb_stop_suppressing_tests; -} - -# -# Test for accessing local stack variables, backtraces, finish, -# and finally stepping into indirect calls. The point is that on the PA -# these use a funky `dyncall' mechanism which GDB needs to know about. -# -proc localvars_in_indirect_call { } { - global gdb_prompt - global hex - global decimal - global gcc_compiled - - # Can not use "runto call0a" as call0a is called several times - # during single run. Instead stop in a marker function and - # take control from there. - if { ! [ runto marker_indirect_call ] } then { gdb_suppress_tests; } - - # break on the next call to call0a, then delete all the breakpoints - # and start testing. - gdb_breakpoint call0a - gdb_continue call0a - delete_breakpoints - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print c" " = 97 'a'" "print c in localvars_in_indirect_call" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print s" " = 1" "print s in localvars_in_indirect_call" - gdb_test "print i" " = 2" "print i in localvars_in_indirect_call" - gdb_test "print l" " = 3" "print l in localvars_in_indirect_call" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "backtrace 8" \ - "#0.*call0a \\(c=97 'a', s=1, i=2, l=3\\).*#1.*main.*" \ - "backtrace in indirectly called function" - - # - # "finish" brings us back to main. We then will try to step through - # the second indirect call. - # On some targets (e.g. m68k) gdb will stop from the finish in midline - # of the first indirect call. This is due to stack adjustment instructions - # after the indirect call. In these cases we will step till we hit the - # second indirect call. - # - - send_gdb "finish\n" - gdb_expect { - -re "\\(\\*pointer_to_call0a\\) \\(c, s, i, l\\);.*First.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re "\\(\\*pointer_to_call0a\\) \\(c, s, i, l\\);.*Second.*$gdb_prompt $" { - pass "finish from indirectly called function" - } - -re ".*$gdb_prompt $" { - fail "finish from indirectly called function" - gdb_suppress_tests; - } - default { fail "finish from indirectly called function" ; gdb_suppress_tests; } - } - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "step" "call0a \\(c=97 'a', s=1, i=2, l=3\\).*" \ - "stepping into indirectly called function" - gdb_stop_suppressing_tests; -} - -# Start with a fresh gdb. -# -# Test for stepping into indirect calls which may have trampolines (possibly -# cascaded) on both the call path and the gdb_suppress_tests; path. -# to handle trampolines. -# -proc test_stepping_over_trampolines { } { - global gdb_prompt - global hex - global decimal - - # Stop in a marker function and take control from there. - if { ! [ runto marker_call_with_trampolines ] } then { gdb_suppress_tests; } - - # Cater for gdb stopping in midline, see comment for finish above. - send_gdb "finish\n" - gdb_expect { - -re "marker_call_with_trampolines ..;.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re "pointer_to_call_with_trampolines.*$gdb_prompt $" { - pass "finish from marker_call_with_trampolines" - } - -re ".*$gdb_prompt $" { - fail "finish from marker_call_with_trampolines" - } - default { fail "finish from marker_call_with_trampolines" ; gdb_suppress_tests; } - } - - # Try to step into the target function. - gdb_test "step" "call_with_trampolines \\(d1=5\\).*" \ - "stepping into function called with trampolines" - - # Make we can backtrace and the argument looks correct. */ - gdb_test "backtrace 8" "#0.*call_with_trampolines \\(d1=5\\).*1.*main.*" \ - "backtrace through call with trampolines" - - # Make sure we can get back to main. - # Stepping back to main might stop again after the gdb_suppress_tests; statement - # or immediately transfer control back to main if optimizations - # are performed. - send_gdb "step\n" - gdb_expect { - -re "main .* at.*$gdb_prompt $" { - pass "stepping back to main from function called with trampolines" ; - } - -re "\}.*End of call_with_trampolines.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re ".*$gdb_prompt $" { - fail "stepping back to main from function called with trampolines" - } - default { fail "stepping back to main from function called with trampolines" ; gdb_suppress_tests; } - } - gdb_stop_suppressing_tests; -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -set timeout 60 - -integral_args -funcargs_reload -unsigned_integral_args -funcargs_reload -float_and_integral_args -funcargs_reload -pointer_args -funcargs_reload -structs_by_reference -funcargs_reload -structs_by_value -funcargs_reload -discard_and_shuffle -funcargs_reload -shuffle_round_robin -funcargs_reload -recursive_structs_by_value -funcargs_reload -localvars_after_alloca -funcargs_reload -call_after_alloca -funcargs_reload -localvars_in_indirect_call -funcargs_reload -test_stepping_over_trampolines diff --git a/gdb/testsuite/gdb.base/gdbvars.exp b/gdb/testsuite/gdb.base/gdbvars.exp deleted file mode 100644 index d7f87d0..0000000 --- a/gdb/testsuite/gdb.base/gdbvars.exp +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright (C) 1992 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -proc test_convenience_variables {} { - global prompt - - gdb_test "set \$foo = 101" "" \ - "Set a new convenience variable" - - gdb_test "print \$foo" " = 101" \ - "Print contents of new convenience variable" - - gdb_test "set \$foo = 301" "" \ - "Set convenience variable to a new value" - - gdb_test "print \$foo" " = 301" \ - "Print new contents of convenience variable" - - gdb_test "set \$_ = 11" "" \ - "Set convenience variable \$_" - - gdb_test "print \$_" " = 11" \ - "Print contents of convenience variable \$_" - - gdb_test "print \$foo + 10" " = 311" \ - "Use convenience variable in arithmetic expression" - - gdb_test "print (\$foo = 32) + 4" " = 36" \ - "Use convenience variable assignment in arithmetic expression" - - gdb_test "print \$bar" " = void" \ - "Print contents of uninitialized convenience variable" -} - -proc test_value_history {} { - global prompt - - gdb_test "print 101" "\\\$1 = 101" \ - "Set value-history\[1\] using \$1" - - gdb_test "print 102" "\\\$2 = 102" \ - "Set value-history\[2\] using \$2" - - gdb_test "print 103" "\\\$3 = 103" \ - "Set value-history\[3\] using \$3" - - gdb_test "print \$\$" "\\\$4 = 102" \ - "Print value-history\[MAX-1\] using inplicit index \$\$" - - gdb_test "print \$\$" "\\\$5 = 103" \ - "Print value-history\[MAX-1\] again using implicit index \$\$" - - gdb_test "print \$" "\\\$6 = 103" \ - "Print value-history\[MAX\] using implicit index \$" - - gdb_test "print \$\$2" "\\\$7 = 102" \ - "Print value-history\[MAX-2\] using explicit index \$\$2" - - gdb_test "print \$0" "\\\$8 = 102" \ - "Print value-history\[MAX\] using explicit index \$0" - - gdb_test "print 108" "\\\$9 = 108" "" - - gdb_test "print \$\$0" "\\\$10 = 108" \ - "Print value-history\[MAX\] using explicit index \$\$0" - - gdb_test "print \$1" "\\\$11 = 101" \ - "Print value-history\[1\] using explicit index \$1" - - gdb_test "print \$2" "\\\$12 = 102" \ - "Print value-history\[2\] using explicit index \$2" - - gdb_test "print \$3" "\\\$13 = 103" \ - "Print value-history\[3\] using explicit index \$3" - - gdb_test "print \$-3" "\\\$14 = 100" \ - "Print (value-history\[MAX\] - 3) using implicit index \$" - - gdb_test "print \$1 + 3" "\\\$15 = 104" \ - "Use value-history element in arithmetic expression" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -send_gdb "set print sevenbit-strings\n" ; expect -re ".*$prompt $" - -test_value_history -test_convenience_variables diff --git a/gdb/testsuite/gdb.base/help.exp b/gdb/testsuite/gdb.base/help.exp deleted file mode 100644 index 0b45c5a..0000000 --- a/gdb/testsuite/gdb.base/help.exp +++ /dev/null @@ -1,542 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1997, 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 Rob Savoye. (rob@cygnus.com) - -# -# test gdb help commands -# - -set prms_id 0 -set bug_id 0 - -gdb_start - -# force the height of the debugger to be pretty large so no pagers getused -gdb_test "set height 400" "" "test set height" - -# use a larger expect input buffer for long help outputs. -# test help add-symbol-file -gdb_test "help add-symbol-file" "Usage: add-symbol-file FILE ADDR.*\[\r\n\]+Load the symbols from FILE, assuming FILE has been dynamically loaded..*\[\r\n\]+ADDR is the starting address of the file\'s text." "help add-symbol-file" -# test help aliases -gdb_test "help aliases" "Aliases of other commands..*\[\r\n\]+List of commands\:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help aliases" -gdb_test "help attach" "Attach to a process or file outside of GDB..*\[\r\n\]+This command attaches to another target, of the same type as your last.*\[\r\n\]+\"target\" command .\"info files\" will show your target stack.*\[\r\n\]+The command may take as argument a process id or a device file..*\[\r\n\]+For a process id, you must have permission to send the process a signal,.*\[\r\n\]+and it must have the same effective uid as the debugger..*\[\r\n\]+When using \"attach\" with a process id, the debugger finds the.*\[\r\n\]+program running in the process, looking first in the current working.*\[\r\n\]+directory, or .if not found there. using the source file search path.*\[\r\n\]+\\(see the \"directory\" command\\). You can also use the \"file\" command.*\[\r\n\]+to specify the program, and to load its symbol table." "help attach" -# test help breakpoint "b" abbreviation -gdb_test "help b" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"b\" abbreviation" -# test help breakpoint "br" abbreviation -gdb_test "help br" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"br\" abbreviation" -# test help breakpoint "bre" abbreviation -gdb_test "help bre" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"bre\" abbreviation" -# test help breakpoint "brea" abbreviation -gdb_test "help brea" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"brea\" abbreviation" -# test help breakpoint "break" abbreviation -gdb_test "help break" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"break\" abbreviation" -# test help breakpoints -gdb_test "help breakpoints" "Making program stop at certain points..*\[\r\n\]+List of commands\:.*\[\r\n\]+awatch -- Set a watchpoint for an expression.*\[\r\n\]+break -- Set breakpoint at specified line or function.*\[\r\n\]+catch -- Set catchpoints to catch events.*\[\r\n\]+clear -- Clear breakpoint at specified line or function.*\[\r\n\]+commands -- Set commands to be executed when a breakpoint is hit.*\[\r\n\]+condition -- Specify breakpoint number N to break only if COND is true.*\[\r\n\]+delete -- Delete some breakpoints or auto-display expressions.*\[\r\n\]+disable -- Disable some breakpoints.*\[\r\n\]+enable -- Enable some breakpoints.*\[\r\n\]+hbreak -- Set a hardware assisted breakpoint.*\[\r\n\]+ignore -- Set ignore-count of breakpoint number N to COUNT.*\[\r\n\]+rwatch -- Set a read watchpoint for an expression.*\[\r\n\]+tbreak -- Set a temporary breakpoint.*\[\r\n\]+tcatch -- Set temporary catchpoints to catch events.*\[\r\n\]+thbreak -- Set a temporary hardware assisted breakpoint.*\[\r\n\]+watch -- Set a watchpoint for an expression.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help breakpoints" -# test help backtrace "bt" abbreviation -gdb_test "help bt" "Print backtrace of all stack frames, or innermost COUNT frames..*\[\r\n\]+With a negative argument, print outermost -COUNT frames..*\[\r\n\]+Use of the 'full' qualifier also prints the values of the local variables." "help backtrace \"bt\" abbreviation" -# test help backtrace -gdb_test "help backtrace" "Print backtrace of all stack frames, or innermost COUNT frames..*\[\r\n\]+With a negative argument, print outermost -COUNT frames..*\[\r\n\]+Use of the 'full' qualifier also prints the values of the local variables." "help backtrace" -# test help continue "c" abbreviation -gdb_test "help c" "Continue program being debugged.*" "help continue \"c\" abbreviation" -# test help continue -gdb_test "help continue" "Continue program being debugged.*" "help continue" -# test help call -gdb_test "help call" "Call a function.*" "help call" -# test help catch -gdb_test "help catch" "Set catchpoints to catch events.*Raised signals may be caught:.*catch signal.*all signals.*catch signal.*signame.*a particular signal.*Raised exceptions may be caught:.*catch throw.*all exceptions, when thrown.*catch throw.*exceptname.*a particular exception, when thrown.*catch catch.*all exceptions, when caught.*catch catch.*exceptname.*a particular exception, when caught.*Thread or process events may be caught:.*catch thread_start.*any threads, just after creation.*catch thread_exit.*any threads, just before expiration.*catch thread_join.*any threads, just after joins.*catch start.*any processes, just after creation.*catch exit.*any processes, just before expiration.*catch fork.*calls to fork.*catch vfork.*calls to vfork.*catch exec.*calls to exec.*Dynamically.linked library events may be caught:.*catch load.*loads of any library.*catch load.*libname.*loads of a particular library.*catch unload.*unloads of any library.*catch unload.*libname.*unloads of a particular library.*The act of your program's execution stopping may also be caught:.*catch stop.*Do.*help set follow-fork-mode.*for info on debugging your program.*after a fork or vfork is caught.*Do.*help breakpoints.*for info on other commands dealing with breakpoints." "help catch" -# test help cd -gdb_test "help cd" "Set working directory to DIR for debugger and program being debugged..*\[\r\n\]+The change does not take effect for the program being debugged.*\[\r\n\]+until the next time it is started." "help cd" -# test help clear -gdb_test "help clear" "Clear breakpoint at specified line or function.*\[\r\n\]+Argument may be line number, function name, or .* and an address.*\[\r\n\]+If line number is specified, all breakpoints in that line are cleared.*\[\r\n\]+If function is specified, breakpoints at beginning of function are cleared.*\[\r\n\]+If an address is specified, breakpoints at that address are cleared.*\[\r\n\]+With no argument, clears all breakpoints in the line that the selected frame.*\[\r\n\]+is executing in..*\[\r\n\]+See also the \"delete\" command which clears breakpoints by number." "help clear" -# test help commands -gdb_test "help commands" "Set commands to be executed when a breakpoint is hit..*\[\r\n\]+Give breakpoint number as argument after \"commands\"..*\[\r\n\]+With no argument, the targeted breakpoint is the last one set..*\[\r\n\]+The commands themselves follow starting on the next line..*\[\r\n\]+Type a line containing \"end\" to indicate the end of them..*\[\r\n\]+Give \"silent\" as the first line to make the breakpoint silent;.*\[\r\n\]+then no output is printed when it is hit, except what the commands print." "help commands" -# test help condition -gdb_test "help condition" "Specify breakpoint number N to break only if COND is true..*\[\r\n\]+Usage is `condition N COND', where N is an integer and COND is an.*\[\r\n\]+expression to be evaluated whenever breakpoint N is reached. " "help condition" -# test help core-file -gdb_test "help core-file" "Use FILE as core dump for examining memory and registers..*\[\r\n\]+No arg means have no core file. This command has been superseded by the.*\[\r\n\]+`target core' and `detach' commands." "help core-file" -# test help delete "d" abbreviation -gdb_test "help d" "Delete some breakpoints or auto-display expressions..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To delete all breakpoints, give no argument..*\[\r\n\]+Also a prefix command for deletion of other GDB objects..*\[\r\n\]+The \"unset\" command is also an alias for \"delete\"..*\[\r\n\]+List of delete subcommands:.*\[\r\n\]+delete breakpoints -- Delete some breakpoints or auto-display expressions.*\[\r\n\]+delete display -- Cancel some expressions to be displayed when program stops.*\[\r\n\]+Type \"help delete\" followed by delete subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help delete \"d\" abbreviation" -# test help delete -gdb_test "help delete" "Delete some breakpoints or auto-display expressions..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To delete all breakpoints, give no argument..*\[\r\n\]+Also a prefix command for deletion of other GDB objects..*\[\r\n\]+The \"unset\" command is also an alias for \"delete\"..*\[\r\n\]+List of delete subcommands:.*\[\r\n\]+delete breakpoints -- Delete some breakpoints or auto-display expressions.*\[\r\n\]+delete display -- Cancel some expressions to be displayed when program stops.*\[\r\n\]+Type \"help delete\" followed by delete subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help delete" -# test help data -gdb_test "help data" ".*\[\r\n\]+Examining data..*\[\r\n\]+List of commands:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help data" -# test help define -gdb_test "help define" "Define a new command.*" "help define" -# test help delete breakpoints -gdb_test "help delete breakpoints" "Delete some breakpoints or auto-display expressions..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To delete all breakpoints, give no argument..*\[\r\n\]+This command may be abbreviated \"delete\"." "help delete breakpoints" -# test help delete display -gdb_test "help delete display" "Cancel some expressions to be displayed when program stops..*\[\r\n\]+Arguments are the code numbers of the expressions to stop displaying..*\[\r\n\]+No argument means cancel all automatic-display expressions..*\[\r\n\]+Do \"info display\" to see current list of code numbers." "help delete display" -# test help detach -gdb_test "help detach" "Detach a process or file previously attached..*\[\r\n\]+If a process, it is no longer traced, and it continues its execution. If you.*\[\r\n\]+were debugging a file, the file is closed and gdb no longer accesses it." "help detach" -# test help directory -gdb_test "help directory" "Add directory DIR to beginning of search path for source files..*\[\r\n\]+Forget cached info on source file locations and line positions..*\[\r\n\]+DIR can also be .cwd for the current working directory, or .cdir for the.*\[\r\n\]+directory in which the source file was compiled into object code..*\[\r\n\]+With no argument, reset the search path to .cdir:.cwd, the default." "help directory" -# test help disable "dis" abbreviation -gdb_test "help dis" "Disable some breakpoints..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To disable all breakpoints, give no argument..*\[\r\n\]+A disabled breakpoint is not forgotten, but has no effect until reenabled..*\[\r\n\]+List of disable subcommands:.*\[\r\n\]+disable breakpoints -- Disable some breakpoints.*\[\r\n\]+disable display -- Disable some expressions to be displayed when program stops.*\[\r\n\]+Type \"help disable\" followed by disable subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help disable \"dis\" abbreviation" -# test help disable "disa" abbreviation -gdb_test "help disa" "Disable some breakpoints..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To disable all breakpoints, give no argument..*\[\r\n\]+A disabled breakpoint is not forgotten, but has no effect until reenabled..*\[\r\n\]+List of disable subcommands:.*\[\r\n\]+disable breakpoints -- Disable some breakpoints.*\[\r\n\]+disable display -- Disable some expressions to be displayed when program stops.*\[\r\n\]+Type \"help disable\" followed by disable subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help disable \"disa\" abbreviation" -# test help disable -gdb_test "help disable" "Disable some breakpoints..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To disable all breakpoints, give no argument..*\[\r\n\]+A disabled breakpoint is not forgotten, but has no effect until reenabled..*\[\r\n\]+List of disable subcommands:.*\[\r\n\]+disable breakpoints -- Disable some breakpoints.*\[\r\n\]+disable display -- Disable some expressions to be displayed when program stops.*\[\r\n\]+Type \"help disable\" followed by disable subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help disable" -# test help disable breakpoints -gdb_test "help disable breakpoints" "Disable some breakpoints..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To disable all breakpoints, give no argument..*\[\r\n\]+A disabled breakpoint is not forgotten, but has no effect until reenabled..*\[\r\n\]+This command may be abbreviated \"disable\"." "help disable breakpoints" -# test help disable display -gdb_test "help disable display" "Disable some expressions to be displayed when program stops..*\[\r\n\]+Arguments are the code numbers of the expressions to stop displaying..*\[\r\n\]+No argument means disable all automatic-display expressions..*\[\r\n\]+Do \"info display\" to see current list of code numbers." "help disable display" -# test help disassemble -gdb_test "help disassemble" "Disassemble a specified section of memory..*\[\r\n\]+Default is the function surrounding the pc of the selected frame..*\[\r\n\]+With a single argument, the function surrounding that address is dumped..*\[\r\n\]+Two arguments are taken as a range of memory to dump." "help disassemble" -# test help display -gdb_test "help display" "Print value of expression EXP each time the program stops..*\[\r\n\]+/FMT may be used before EXP as in the \"print\" command..*\[\r\n\]+/FMT \"i\" or \"s\" or including a size-letter is allowed,.*\[\r\n\]+as in the \"x\" command, and then EXP is used to get the address to examine.*\[\r\n\]+and examining is done as in the \"x\" command..*\[\r\n\]+With no argument, display all currently requested auto-display expressions..*\[\r\n\]+Use \"undisplay\" to cancel display requests previously made." "help display" -# test help do -gdb_test "help do" "Select and print stack frame called by this one..*\[\r\n\]+An argument says how many frames down to go." "help do" -# test help document -gdb_test "help document" "Document a user-defined command..*\[\r\n\]+Give command name as argument. Give documentation on following lines..*\[\r\n\]+End with a line of just \"end\"." "help document" -# test help down -gdb_test "help down" "Select and print stack frame called by this one..*\[\r\n\]+An argument says how many frames down to go." "help down" -# test help down-silently -gdb_test "help down-silently" "Same as the `down' command, but does not print anything..*\[\r\n\]+This is useful in command scripts." "help down-silently" -# this command was removed from GDB 4.5.8 -# test help dump-me -#send_gdb "help dump-me" -# -re "Get fatal error; make debugger dump its core." -# -# } -# test help echo -gdb_test "help echo" "Print a constant string. Give string as argument..*\[\r\n\]+C escape sequences may be used in the argument..*\[\r\n\]+No newline is added at the end of the argument;.*\[\r\n\]+use \".n\" if you want a newline to be printed..*\[\r\n\]+Since leading and trailing whitespace are ignored in command arguments,.*\[\r\n\]+if you want to print some you must use \".\" before leading whitespace.*\[\r\n\]+to be printed or after trailing whitespace." "help echo" -# test help enable breakpoints delete -gdb_test "help enable breakpoints delete" "Enable breakpoints and delete when hit. Give breakpoint numbers..*\[\r\n\]+If a breakpoint is hit while enabled in this fashion, it is deleted." "help enable breakpoints delete" -# test help enable breakpoints once -gdb_test "help enable breakpoints once" "Enable breakpoints for one hit..*" "help enable breakpoints once" -# test help enable breakpoints -gdb_test "help enable breakpoints" "Enable some breakpoints..*\[\r\n\]+Give breakpoint numbers .separated by spaces. as arguments..*\[\r\n\]+This is used to cancel the effect of the \"disable\" command..*\[\r\n\]+May be abbreviated to simply \"enable\"..*.*\[\r\n\]+List of enable breakpoints subcommands:.*\[\r\n\]+enable breakpoints delete -- Enable breakpoints and delete when hit.*\[\r\n\]+enable breakpoints once -- Enable breakpoints for one hit.*\[\r\n\]+Type \"help enable breakpoints\" followed by enable breakpoints subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help enable breakpoints" -# test help enable delete -gdb_test "help enable delete" "Enable breakpoints and delete when hit. Give breakpoint numbers..*\[\r\n\]+If a breakpoint is hit while enabled in this fashion, it is deleted." "help enable delete" -# test help enable display -gdb_test "help enable display" "Enable some expressions to be displayed when program stops..*\[\r\n\]+Arguments are the code numbers of the expressions to resume displaying..*\[\r\n\]+No argument means enable all automatic-display expressions..*\[\r\n\]+Do \"info display\" to see current list of code numbers." "help enable display" -# test help enable once -gdb_test "help enable once" "Enable breakpoints for one hit.*" "help enable once" -# test help enable -gdb_test "help enable" "Enable some breakpoints..*\[\r\n\]+Give breakpoint numbers .separated by spaces. as arguments..*\[\r\n\]+With no subcommand, breakpoints are enabled until you command otherwise..*\[\r\n\]+This is used to cancel the effect of the \"disable\" command..*\[\r\n\]+With a subcommand you can enable temporarily..*\[\r\n\]+List of enable subcommands:.*\[\r\n\]+enable delete -- Enable breakpoints and delete when hit.*\[\r\n\]+enable display -- Enable some expressions to be displayed when program stops.*\[\r\n\]+enable once -- Enable breakpoints for one hit.*\[\r\n\]+Type \"help enable\" followed by enable subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help enable" -# test help exec-file -gdb_test "help exec-file" "Use FILE as program for getting contents of pure memory..*\[\r\n\]+If FILE cannot be found as specified, your execution directory path.*\[\r\n\]+is searched for a command of that name..*\[\r\n\]+No arg means have no executable file." "help exec-file" -# test help frame "f" abbreviation -gdb_test "help f" "Select and print a stack frame..*\[\r\n\]+With no argument, print the selected stack frame. .See also \"info frame\".*\[\r\n\]+An argument specifies the frame to select..*\[\r\n\]+It can be a stack frame number or the address of the frame..*\[\r\n\]+With argument, nothing is printed if input is coming from.*\[\r\n\]+a command file or a user-defined command." "help frame \"f\" abbreviation" -# test help frame -gdb_test "help frame" "Select and print a stack frame..*\[\r\n\]+With no argument, print the selected stack frame. .See also \"info frame\"...*\[\r\n\]+An argument specifies the frame to select..*\[\r\n\]+It can be a stack frame number or the address of the frame..*\[\r\n\]+With argument, nothing is printed if input is coming from.*\[\r\n\]+a command file or a user-defined command." "help frame" -# test help fg -gdb_test "help fg" "Continue program being debugged.*" "help fg" -# test help file -gdb_test "help file" "Use FILE as program to be debugged..*\[\r\n\]+It is read for its symbols, for getting the contents of pure memory,.*\[\r\n\]+and it is the program executed when you use the `run' command..*\[\r\n\]+If FILE cannot be found as specified, your execution directory path.*\[\r\n\]+..PATH. is searched for a command of that name..*\[\r\n\]+No arg means to have no executable file and no symbols." "help file" -# test help files -gdb_test "help files" "Specifying.*" "help files" -# test help finish -gdb_test "help finish" "Execute until selected stack frame returns..*\[\r\n\]+Upon return, the value returned is printed and put in the value history." "help finish" -# test help forward-search -gdb_test "help forward-search" "Search for regular expression .see regex.3.. from last line listed..*" "help forward-search" -# test help help "h" abbreviation -gdb_test "help h" "Print list of commands." "help help \"h\" abbreviation" -# test help help -gdb_test "help help" "Print list of commands." "help help" -# test help handle -gdb_test "help handle" "Specify how to handle a signal..*" "help handle" -# test help info "i" abbreviation -gdb_test "help i" "Generic command for showing things about the program being debugged..*\[\r\n\]+List of info subcommands:.*\[\r\n\]+Type \"help info\" followed by info subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help info \"i\" abbreviation" -# test help info -gdb_test "help info" "Generic command for showing things about the program being debugged..*\[\r\n\]+List of info subcommands:.*\[\r\n\]+Type \"help info\" followed by info subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help info" -# test help ignore -gdb_test "help ignore" "Set ignore-count of breakpoint number N to COUNT..*\[\r\n\]+Usage is `ignore N COUNT'." "help ignore" -# test help info address -gdb_test "help info address" "Describe where symbol SYM is stored." "help info address" -# test help info all-registers -gdb_test "help info all-registers" "List of all registers and their contents, for selected stack frame..*\[\r\n\]+Register name as argument means describe only that register." "help info all-registers" -# test help info args -gdb_test "help info args" "Argument variables of current stack frame." "help info args" -# test help info breakpoints -gdb_test "help info breakpoints" "Status of user-settable breakpoints, or breakpoint number NUMBER..*\[\r\n\]+breakpoint set." "help info breakpoints" -# test help info catch -gdb_test "help info catch" "Exceptions that can be caught in the current stack frame." "help info catch" -# test help info copying -gdb_test "help info copying" "Conditions for redistributing copies of GDB." "help info copying" -# test help info display -gdb_test "help info display" "Expressions to display when program stops, with code numbers." "help info display" -# test help info frame "f" abbreviation -gdb_test "help info f" "All about selected stack frame, or frame at ADDR." "help info frame \"f\" abbreviation" -# test help info frame -gdb_test "help info frame" "All about selected stack frame, or frame at ADDR." "help info frame" -# test help info files -gdb_test "help info files" "Names of targets and files being debugged..*\[\r\n\]+Shows the entire stack of targets currently in use .including the exec-file,.*\[\r\n\]+core-file, and process, if any., as well as the symbol file name." "help info files" -# test help info float -gdb_test "help info float" "Print the status of the floating point unit" "help info float" -# test help info functions -gdb_test "help info functions" "All function names, or those matching REGEXP." "help info functions" -# test help info line -gdb_test "help info line" "Core addresses of the code for a source line..*\[\r\n\]+Line can be specified as.*\[\r\n\]+ LINENUM, to list around that line in current file,.*\[\r\n\]+ FILE:LINENUM, to list around that line in that file,.*\[\r\n\]+ FUNCTION, to list around beginning of that function,.*\[\r\n\]+ FILE:FUNCTION, to distinguish among like-named static functions..*\[\r\n\]+Default is to describe the last source line that was listed..*\[\r\n\]+This sets the default address for \"x\" to the line's first instruction.*\[\r\n\]+so that \"x.i\" suffices to start examining the machine code..*\[\r\n\]+The address is also stored as the value of \"._\"." "help info line" -# test help info locals -gdb_test "help info locals" "Local variables of current stack frame." "help info locals" -# test help info program -gdb_test "help info program" "Execution status of the program." "help info program" -# test help info registers -gdb_test "help info registers" "List of integer registers and their contents, for selected stack frame..*\[\r\n\]+Register name as argument means describe only that register." "help info registers" -# test help info stack "s" abbreviation -gdb_test "help info s" "Backtrace of the stack, or innermost COUNT frames." "help info stack \"s\" abbreviation" -# test help info stack -gdb_test "help info stack" "Backtrace of the stack, or innermost COUNT frames." "help info stack" -# test help info set -gdb_test "help info set" "Show all GDB settings." "help info set" -# test help info signals -gdb_test "help info signals" "What debugger does when program gets various signals.*" "help info signals" -# test help info source -gdb_test "help info source" "Information about the current source file." "help info source" -# test help info sources -gdb_test "help info sources" "Source files in the program." "help info sources" -# test help info symbol -gdb_test "help info symbol" "Describe what symbol is at location ADDR.*" -# test help info target -gdb_test "help info target" "Names of targets and files being debugged..*\[\r\n\]+Shows the entire stack of targets currently in use .including the exec-file,.*\[\r\n\]+core-file, and process, if any., as well as the symbol file name." "help info target" -# test help info terminal -gdb_test "help info terminal" "Print inferior's saved terminal status." "help info terminal" -# test help info types -gdb_test "help info types" "All type names, or those matching REGEXP." "help info types" -# test help info variables -gdb_test "help info variables" "All global and static variable names, or those matching REGEXP." "help info variables" -# test help info warranty -gdb_test "help info warranty" "Various kinds of warranty you do not have." "help info warranty" -# test help info watchpoints -gdb_test "help info watchpoints" "Synonym for ``info breakpoints''." "help info watchpoints" -# test help inspect -gdb_test "help inspect" "Same as \"print\" command, except that if you are running in the epoch.*\[\r\n\]+environment, the value is printed in its own window." "help inspect" -# test help jump -gdb_test "help jump" "Continue program being debugged at specified line or address..*\[\r\n\]+Give as argument either LINENUM or \[*\]+ADDR, where ADDR is an expression.*\[\r\n\]+for an address to start at." "help jump" -# test help kill -gdb_test "help kill" "Kill execution of program being debugged." "help kill" -# test help list "l" abbreviation -gdb_test "help l" "List specified function or line..*\[\r\n\]+With no argument, lists ten more lines after or around previous listing..*\[\r\n\]+\"list -\" lists the ten lines before a previous ten-line listing..*\[\r\n\]+One argument specifies a line, and ten lines are listed around that line..*\[\r\n\]+Two arguments with comma between specify starting and ending lines to list..*\[\r\n\]+Lines can be specified in these ways:.*\[\r\n\]+ LINENUM, to list around that line in current file,.*\[\r\n\]+ FILE:LINENUM, to list around that line in that file,.*\[\r\n\]+ FUNCTION, to list around beginning of that function,.*\[\r\n\]+ FILE:FUNCTION, to distinguish among like-named static functions..*\[\r\n\]+ \[*\]+ADDRESS, to list around the line containing that address..*\[\r\n\]+With two args if one is empty it stands for ten lines away from the other arg." "help list \"l\" abbreviation" -# test help list -gdb_test "help list" "List specified function or line..*\[\r\n\]+With no argument, lists ten more lines after or around previous listing..*\[\r\n\]+\"list -\" lists the ten lines before a previous ten-line listing..*\[\r\n\]+One argument specifies a line, and ten lines are listed around that line..*\[\r\n\]+Two arguments with comma between specify starting and ending lines to list..*\[\r\n\]+Lines can be specified in these ways:.*\[\r\n\]+ LINENUM, to list around that line in current file,.*\[\r\n\]+ FILE:LINENUM, to list around that line in that file,.*\[\r\n\]+ FUNCTION, to list around beginning of that function,.*\[\r\n\]+ FILE:FUNCTION, to distinguish among like-named static functions..*\[\r\n\]+ \[*\]+ADDRESS, to list around the line containing that address..*\[\r\n\]+With two args if one is empty it stands for ten lines away from the other arg." "help list" -# test help load -gdb_test "help load" "Dynamically load FILE into the running program, and record its symbols.*\[\r\n\]+for access from GDB." "help load" -# test help make -gdb_test "help make" "Run the ``make'' program using the rest of the line as arguments." "help make" -# test help next "n" abbreviation -gdb_test "help n" "Step program, proceeding through subroutine calls..*\[\r\n\]+Like the \"step\" command as long as subroutine calls do not happen;.*\[\r\n\]+when they do, the call is treated as one instruction..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help next \"n\" abbreviation" -# test help next -gdb_test "help next" "Step program, proceeding through subroutine calls..*\[\r\n\]+Like the \"step\" command as long as subroutine calls do not happen;.*\[\r\n\]+when they do, the call is treated as one instruction..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help next" -# test help nexti -gdb_test "help ni" "Step one instruction, but proceed through subroutine calls..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help nexti" -# all the commands that used to be here are now in "maintainance" instead -# test help obscure -gdb_test "help obscure" "Obscure features..*\[\r\n\]+List of commands:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help obscure" -# test help output -gdb_test "help output" "Like \"print\" but don't put in value history and don't print newline..*\[\r\n\]+This is useful in user-defined commands." "help output" -# test help overlay -gdb_test "help overlay" "Commands for debugging overlays.*" -gdb_test "help overlay off" "Disable overlay debugging." -gdb_test "help overlay manual" "Enable overlay debugging." -gdb_test "help overlay auto" "Enable automatic overlay debugging." -gdb_test "help overlay list" "List mappings of overlay sections." -gdb_test "help overlay map" "Assert that an overlay section is mapped." -gdb_test "help overlay unmap" "Assert that an overlay section is unmapped." -gdb_test "help overlay load" "Read the overlay mapping state from the target." -# test help print "p" abbreviation -gdb_test "help p" "Print value of expression EXP..*\[\r\n\]+Variables accessible are those of the lexical environment of the selected.*\[\r\n\]+EXP may be preceded with /FMT, where FMT is a format letter.*\[\r\n\]+but no count or size letter .see \"x\" command.." "help print \"p\" abbreviation" -# test help print -gdb_test "help print" "Print value of expression EXP..*\[\r\n\]+Variables accessible are those of the lexical environment of the selected.*\[\r\n\]+EXP may be preceded with /FMT, where FMT is a format letter.*\[\r\n\]+but no count or size letter .see \"x\" command.." "help print" -# test help path -gdb_test "help path" "Add directory DIR.s. to beginning of search path for object files..*\[\r\n\]+.cwd in the path means the current working directory..*\[\r\n\]+This path is equivalent to the .PATH shell variable. It is a list of.*\[\r\n\]+directories, separated by colons. These directories are searched to find.*\[\r\n\]+fully linked executable files and separately compiled object files as needed." "help path" -# test help printcmds -gdb_test "help printcmds" "Undefined command: \"printcmds\". Try \"help\"." "help printcmds" -# test help printf -gdb_test "help printf" "printf \"printf format string\", arg1, arg2, arg3, ..., argn.*\[\r\n\]+This is useful for formatted output in user-defined commands." "help printf" -# test help ptype -gdb_test "help ptype" "Print definition of type.*" "help ptype" -# test help pwd -gdb_test "help pwd" "Print working directory. This is used for your program as well." "help pwd" -# test help quit "q" abbreviation -gdb_test "help q" "Exit gdb." "help quit \"q\" abbreviation" -# test help quit -gdb_test "help quit" "Exit gdb." "help quit" -# test help run "r" abbreviation -gdb_test "help r" "Start debugged program. You may specify arguments to give it..*\[\r\n\]+Args may include .*, or .*; they are expanded using \"sh\"..*\[\r\n\]+Input and output redirection with \".\", \".\", or \"..\" are also allowed..*\[\r\n\]+With no arguments, uses arguments last specified .with \"run\" or \"set args\"...*\[\r\n\]+To cancel previous arguments and run with no arguments,.*\[\r\n\]+use \"set args\" without arguments." "help run \"r\" abbreviation" -# test help run -gdb_test "help run" "Start debugged program. You may specify arguments to give it..*\[\r\n\]+Args may include .*, or .*; they are expanded using \"sh\"..*\[\r\n\]+Input and output redirection with \".\", \".\", or \"..\" are also allowed..*\[\r\n\]+With no arguments, uses arguments last specified .with \"run\" or \"set args\"...*\[\r\n\]+To cancel previous arguments and run with no arguments,.*\[\r\n\]+use \"set args\" without arguments." "help run" -# test help rbreak -gdb_test "help rbreak" "Set a breakpoint for all functions matching REGEXP." "help rbreak" -# test help return -gdb_test "help return" "Make selected stack frame return to its caller..*\[\r\n\]+Control remains in the debugger, but when you continue.*\[\r\n\]+execution will resume in the frame above the one now selected..*\[\r\n\]+If an argument is given, it is an expression for the value to return." "help return" -# test help reverse-search -gdb_test "help reverse-search" "Search backward for regular expression .see regex.3.. from last line listed..*" "help reverse-search" -# test help running -gdb_test "help running" "Running the program..*\[\r\n\]+List of commands:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help running" -# test help step "s" abbreviation -gdb_test "help s" "Step program until it reaches a different source line..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help step \"s\" abbreviation" -# test help step -gdb_test "help step" "Step program until it reaches a different source line..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help step #1" -# test help search -gdb_test "help search" "Search for regular expression .see regex.3.. from last line listed..*" "help search" -# test help section -gdb_test "help section" "Change the base address of section SECTION of the exec file to ADDR..*\[\r\n\]+This can be used if the exec file does not contain section addresses,.*\[\r\n\]+.such as in the a.out format., or when the addresses specified in the.*\[\r\n\]+file itself are wrong. Each section must be changed separately. The.*\[\r\n\]+``info files'' command lists all the sections and their addresses." "help section" -#test help set annotate -gdb_test "help set annotate" "Set annotation_level.*\[\r\n\]+0 == normal; 1 == fullname \\(for use when running under emacs\\).*\[\r\n\]+2 == output annotated suitably for use by programs that control GDB." "help set annotate" -# test help set args -gdb_test "help set args" "Set argument list to give program being debugged when it is started..*\[\r\n\]+Follow this command with any number of args, to be passed to the program." -# test help set check "c" abbreviation -gdb_test "help set c" "Set the status of the type/range checker.*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set check \"c\" abbreviation" -# test help set check "ch" abbreviation -gdb_test "help set ch" "Set the status of the type/range checker.*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set check \"ch\" abbreviation" -# test help set check -gdb_test "help set check" "Set the status of the type/range checker.*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set check" -# test help set check range -gdb_test "help set check range" "Set range checking. .on/warn/off/auto." "help set check range" -# test help set check type -gdb_test "help set check type" "Set type checking. .on/warn/off/auto." "help set check type" -# test help set complaints -gdb_test "help set complaints" "Set max number of complaints about incorrect symbols." "help set complaints" -# test help set confirm -gdb_test "help set confirm" "Set whether to confirm potentially dangerous operations." "help set confirm" -# test help set editing -gdb_test "help set editing" "Set editing of command lines as they are typed..*\[\r\n\]+Use \"on\" to enable the editing, and \"off\" to disable it..*\[\r\n\]+Without an argument, command line editing is enabled. To edit, use.*\[\r\n\]+EMACS-like or VI-like commands like control-P or ESC." "help set editing" -# test help set environment -gdb_test "help set environment" "Set environment variable value to give the program..*\[\r\n\]+Arguments are VAR VALUE where VAR is variable name and VALUE is value..*\[\r\n\]+VALUES of environment variables are uninterpreted strings..*\[\r\n\]+This does not affect the program until the next \"run\" command." "help set environment" -# test help set height -gdb_test "help set height" "Set number of lines gdb thinks are in a page." "help set height" -# test help set history expansion -gdb_test "help set history expansion" "Set history expansion on command input..*\[\r\n\]+Without an argument, history expansion is enabled." "help set history expansion" -# test help set history filename -gdb_test "help set history filename" "Set the filename in which to record the command history.*\[\r\n\]+ .the list of previous commands of which a record is kept.." "help set history filename" -# test help set history save -gdb_test "help set history save" "Set saving of the history record on exit..*\[\r\n\]+Use \"on\" to enable the saving, and \"off\" to disable it..*\[\r\n\]+Without an argument, saving is enabled." "help set history save" -# test help set history size -gdb_test "help set history size" "Set the size of the command history, .*\[\r\n\]+ie. the number of previous commands to keep a record of." "help set history size" -# test help set history -gdb_test "help set history" "Generic command for setting command history parameters..*\[\r\n\]+List of set history subcommands:.*\[\r\n\]+set history expansion -- Set history expansion on command input.*\[\r\n\]+set history filename -- Set the filename in which to record the command history.*\[\r\n\]+set history save -- Set saving of the history record on exit.*\[\r\n\]+set history size -- Set the size of the command history.*\[\r\n\]+Type \"help set history\" followed by set history subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set history" -# test help set language -gdb_test "help set language" "Set the current source language." "help set language" -# test help set listsize -gdb_test "help set listsize" "Set number of source lines gdb will list by default." "help set listsize" -# test help set print "p" abbreviation -# FIXME -- Ultrix hangs randomly on this very long output from gdb and -# continues with its output only if something is sent to gdb. -# Also, if the system is slow, it may time out because the output is large. -gdb_test "help set p" ".*\[\r\n\]+Generic command for setting how things print..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set print \"p\" abbreviatio" -# test help set print "pr" abbreviation -gdb_test "help set pr" ".*\[\r\n\]+Generic command for setting how things print..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set print \"pr\" abbreviation" -# test help set print -gdb_test "help set print" ".*\[\r\n\]+Generic command for setting how things print..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set print" -# test help set print address -gdb_test "help set print address" "Set printing of addresses." "help set print address" -# test help set print array -gdb_test "help set print array" "Set prettyprinting of arrays." "help set print array" -# test help set print asm-demangle -gdb_test "help set print asm-demangle" "Set demangling of C\[+\]+ names in disassembly listings." "help set print asm-demangle" -# test help set print demangle -gdb_test "help set print demangle" "Set demangling of encoded C\[+\]+ names when displaying symbols." "help set print demangle" -# test help set print elements -gdb_test "help set print elements" "Set limit on string chars or array elements to print..*\[\r\n\]+\"set print elements 0\" causes there to be no limit." "help set print elements" -# test help set print object -gdb_test "help set print object" "Set printing of object's derived type based on vtable info." "help set print object" -# test help set print pretty -gdb_test "help set print pretty" "Set prettyprinting of structures." "help set print pretty" -# test help set print sevenbit-strings -gdb_test "help set print sevenbit-strings" "Set printing of 8-bit characters in strings as .nnn." "help set print sevenbit-strings" -# test help set print union -gdb_test "help set print union" "Set printing of unions interior to structures." "help set print union" -# test help set print vtbl -gdb_test "help set print vtbl" "Set printing of C\[+\]+ virtual function tables." "help set print vtbl" -# test help set prompt -gdb_test "help set prompt" "Set gdb's prompt" "help set prompt" -# test help set radix -gdb_test "help set radix" "Set default input and output number radices.*\[\r\n\]+Use \'set input-radix\' or \'set output-radix\' to independently set each..*\[\r\n\]+Without an argument, sets both radices back to the default value of 10..*\[\r\n\]+" "help set radix" -# test help set symbol-reloading -gdb_test "help set symbol-reloading" "Set dynamic symbol table reloading multiple times in one run." "help set symbol-reloading" -# test help set variable -gdb_test "help set variable" ".*\[\r\n\]+Evaluate expression EXP and assign result to variable VAR, using assignment.*\[\r\n\]+syntax appropriate for the current language .VAR = EXP or VAR := EXP for.*\[\r\n\]+example.. VAR may be a debugger \"convenience\" variable .names starting.*\[\r\n\]+with \\\$., a register .a few standard names starting with \\\$., or an actual.*\[\r\n\]+variable in the program being debugged. EXP is any valid expression.*\[\r\n\]+This may usually be abbreviated to simply \"set\"." "help set variable" -# test help set verbose -gdb_test "help set verbose" "Set verbosity." "help set verbose" -#test help set width -gdb_test "help set width" "Set number of characters gdb thinks are in a line." "help set width" -# test help set write -# This is only supported on targets which use exec.o. -gdb_test "help set write" "Set writing into executable and core files." "help set write" -# test help set -# FIXME -- Ultrix hangs randomly on this very long output from gdb and -# continues with its output only if something is sent to gdb. -# Also, if the system is slow, it may time out because the output is large. -#gdb_test "help set" ".*\[\r\n\]+Evaluate expression EXP and assign result to variable VAR, using assignment.*\[\r\n\]+syntax appropriate for the current language .VAR = EXP or VAR := EXP for.*\[\r\n\]+example.. VAR may be a debugger \"convenience\" variable .names starting.*\[\r\n\]+with \\\$., a register .a few standard names starting with \\\$., or an actual.*\[\r\n\]+variable in the program being debugged. EXP is any valid expression.*\[\r\n\]+set listsize -- Set number of source lines gdb will list by default.*\[\r\n\]+Type \"help set\" followed by set subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous..*\[\r\n\]+" "help set" -# test help shell -gdb_test "help shell" "Execute the rest of the line as a shell command. .*\[\r\n\]+With no arguments, run an inferior shell." "help shell" -#test help show annotate -gdb_test "help show annotate" "Show annotation_level.*\[\r\n\]+0 == normal; 1 == fullname \\(for use when running under emacs\\).*\[\r\n\]+2 == output annotated suitably for use by programs that control GDB." "help show annotate" -# test help show args -gdb_test "help show args" "Show argument list to give program being debugged when it is started..*\[\r\n\]+Follow this command with any number of args, to be passed to the program." -# test help show check "c" abbreviation -gdb_test "help show c" "Show the status of the type/range checker.*\[\r\n\]+List of show check subcommands:.*\[\r\n\]+show check range -- Show range checking.*\[\r\n\]+show check type -- Show type checking.*\[\r\n\]+Type \"help show check\" followed by show check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show check \"c\" abbreviation" -# test help show check -gdb_test "help show check" "Show the status of the type/range checker.*\[\r\n\]+List of show check subcommands:.*\[\r\n\]+show check range -- Show range checking.*\[\r\n\]+show check type -- Show type checking.*\[\r\n\]+Type \"help show check\" followed by show check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show check" -# test help show check range -gdb_test "help show check range" "Show range checking. .on/warn/off/auto." "help show check range" -# test help show check type -gdb_test "help show check type" "Show type checking. .on/warn/off/auto." "help show check type" -# test help show commands -gdb_test "help show commands" "Show the history of commands you typed..*\[\r\n\]+You can supply a command number to start with, or a `\[+\]' to start after.*\[\r\n\]+the previous command number shown." "help show commands" -# test help show complaints -gdb_test "help show complaints" "Show max number of complaints about incorrect symbols." "help show complaints" -# test help show confirm -gdb_test "help show confirm" "Show whether to confirm potentially dangerous operations." "help show confirm" -# test help show convenience -gdb_test "help show convenience" "Debugger convenience .\".foo\". variables..*\[\r\n\]+These variables are created when you assign them values;.*\[\r\n\]+thus, \"print .foo=1\" gives \".foo\" the value 1. Values may be any type..*\[\r\n\]+A few convenience variables are given values automatically:.*\[\r\n\]+\"._\"holds the last address examined with \"x\" or \"info lines\",.*\[\r\n\]+\".__\" holds the contents of the last address examined with \"x\"." "help show convenience" -# test help show directories -gdb_test "help show directories" "Current search path for finding source files..*\[\r\n\]+.cwd in the path means the current working directory..*\[\r\n\]+.cdir in the path means the compilation directory of the source file." "help show directories" -# test help show editing -gdb_test "help show editing" "Show editing of command lines as they are typed..*\[\r\n\]+Use \"on\" to enable the editing, and \"off\" to disable it..*\[\r\n\]+Without an argument, command line editing is enabled. To edit, use.*\[\r\n\]+EMACS-like or VI-like commands like control-P or ESC." "help show editing" -# test help show environment -gdb_test "help show environment" "The environment to give the program, or one variable's value..*\[\r\n\]+With an argument VAR, prints the value of environment variable VAR to.*\[\r\n\]+give the program being debugged. With no arguments, prints the entire.*\[\r\n\]+environment to be given to the program." "help show environment" -# test help show height -gdb_test "help show height" "Show number of lines gdb thinks are in a page." "help show height" -# test help show history expansion -gdb_test "help show history expansion" "Show history expansion on command input..*\[\r\n\]+Without an argument, history expansion is enabled." "help show history expansion" -# test help show history filename -gdb_test "help show history filename" "Show the filename in which to record the command history.*\[\r\n\]+ .the list of previous commands of which a record is kept.." "help show history filename" -# test help show history save -gdb_test "help show history save" "Show saving of the history record on exit..*\[\r\n\]+Use \"on\" to enable the saving, and \"off\" to disable it..*\[\r\n\]+Without an argument, saving is enabled." "help show history save" -# test help show history size -gdb_test "help show history size" "Show the size of the command history, .*\[\r\n\]+ie. the number of previous commands to keep a record of." "help show history size" -# test help show history -gdb_test "help show history" "Generic command for showing command history parameters..*\[\r\n\]+List of show history subcommands:.*\[\r\n\]+show history expansion -- Show history expansion on command input.*\[\r\n\]+show history filename -- Show the filename in which to record the command history.*\[\r\n\]+show history save -- Show saving of the history record on exit.*\[\r\n\]+show history size -- Show the size of the command history.*\[\r\n\]+Type \"help show history\" followed by show history subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show history" -# test help show language -gdb_test "help show language" "Show the current source language." "help show language" -# test help show listsize -gdb_test "help show listsize" "Show number of source lines gdb will list by default." "help show listsize" -# test help show print "p" abbreviation -gdb_test "help show p" "Generic command for showing print settings..*\[\r\n\]+List of show print subcommands:.*\[\r\n\]+Type \"help show print\" followed by show print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show print \"p\" abbreviation" -# test help show print "pr" abbreviation -gdb_test "help show pr" "Generic command for showing print settings..*\[\r\n\]+List of show print subcommands:.*\[\r\n\]+Type \"help show print\" followed by show print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show print \"pr\" abbreviation" -# test help show print -gdb_test "help show print" "Generic command for showing print settings..*\[\r\n\]+List of show print subcommands:.*\[\r\n\]+Type \"help show print\" followed by show print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show print" -# test help show paths -gdb_test "help show paths" "Current search path for finding object files..*\[\r\n\]+.cwd in the path means the current working directory..*\[\r\n\]+This path is equivalent to the .PATH shell variable. It is a list of.*\[\r\n\]+directories, separated by colons. These directories are searched to find.*\[\r\n\]+fully linked executable files and separately compiled object files as needed." "help show paths" -# test help show print address -gdb_test "help show print address" "Show printing of addresses." "help show print address" -# test help show print array -gdb_test "help show print array" "Show prettyprinting of arrays." "help show print array" -# test help show print asm-demangle -gdb_test "help show print asm-demangle" "Show demangling of C\[+\]+ names in disassembly listings." "help show print asm-demangle" -# test help show print demangle -gdb_test "help show print demangle" "Show demangling of encoded C\[+\]+ names when displaying symbols." "help show print demangle" -# test help show print elements -gdb_test "help show print elements" "Show limit on string chars or array elements to print..*\[\r\n\]+\"set print elements 0\" causes there to be no limit." "help show print elements" -# test help show print object -gdb_test "help show print object" "Show printing of object's derived type based on vtable info." "help show print object" -# test help show print pretty -gdb_test "help show print pretty" "Show prettyprinting of structures." "help show print pretty" -# test help show print sevenbit-strings -gdb_test "help show print sevenbit-strings" "Show printing of 8-bit characters in strings as .nnn." "help show print sevenbit-strings" -# test help show print union -gdb_test "help show print union" "Show printing of unions interior to structures." "help show print union" -# test help show print vtbl -gdb_test "help show print vtbl" "Show printing of C\[+\]+ virtual function tables." "help show print vtbl" -# test help show prompt -gdb_test "help show prompt" "Show gdb's prompt" "help show prompt" -# test help show radix -gdb_test "help show radix" "Show the default input and output number radices.*\[\r\n\]+Use \'show input-radix\' or \'show output-radix\' to independently show each.*\[\r\n\]+" "help show radix" -# test help show symbol-reloading -gdb_test "help show symbol-reloading" "Show dynamic symbol table reloading multiple times in one run." "help show symbol-reloading" -# test help show user -gdb_test "help show user" "Show definitions of user defined commands..*\[\r\n\]+Argument is the name of the user defined command..*\[\r\n\]+With no argument, show definitions of all user defined commands." "help show user" -# test help show values -gdb_test "help show values" "Elements of value history around item number IDX .or last ten.." "help show values" -# test help show verbose -gdb_test "help show verbose" "Show verbosity..*" "help show verbose" -# test help show version -gdb_test "help show version" "Show what version of GDB this is." "help show version" -# test help show width -gdb_test "help show width" "Show number of characters gdb thinks are in a line." "help show width" -# test help show write -# This is only supported on targets which use exec.o. -gdb_test "help show write" "Show writing into executable and core files." "help show write" -# test help show -# FIXME -- Ultrix hangs randomly on this very long output from gdb and -# continues with its output only if something is sent to gdb. -# Also, if the system is slow, it may time out because the output is large. -#gdb_test "help show" "Generic command for showing things about the debugger..*\[\r\n\]+List of show subcommands:.*\[\r\n\]+show listsize -- Show number of source lines gdb will list by default.*\[\r\n\]+show directories -- Current search path for finding source files.*\[\r\n\]+Type \"help show\" followed by show subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show" -# test help step -gdb_test "help step" "Step program until it reaches a different source line..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help step #2" -# test help stepi "si" abbreviation -gdb_test "help si" "Step one instruction exactly..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help stepi \"si\" abbreviation" -# test help stepi -gdb_test "help stepi" "Step one instruction exactly..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help stepi" -# test help signal -gdb_test "help signal" "Continue program giving it signal.*" "help signal" -# test help source -# vxgdb reads .vxgdbinit -gdb_test "help source" "Read commands from a file named FILE..*\[\r\n\]+Note that the file \"\[^\"\]*\" is read automatically in this way.*\[\r\n\]+when gdb is started." "help source" -# test help stack -gdb_test "help stack" "Examining the stack..*\[\r\n\]+When the program being debugged stops, gdb selects the innermost frame..*\[\r\n\]+The commands below can be used to select other frames by number or address..*\[\r\n\]+List of commands:.*\[\r\n\]+backtrace -- Print backtrace of all stack frames.*\[\r\n\]+bt -- Print backtrace of all stack frames.*\[\r\n\]+down -- Select and print stack frame called by this one.*\[\r\n\]+frame -- Select and print a stack frame.*\[\r\n\]+return -- Make selected stack frame return to its caller.*\[\r\n\]+select-frame -- Select a stack frame without printing anything.*\[\r\n\]+up -- Select and print stack frame that called this one.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help stack" -# test help status -gdb_test "help status" "Status inquiries..*\[\r\n\]+List of commands:.*\[\r\n\]+info -- Generic command for showing things about the program being debugged.*\[\r\n\]+show -- Generic command for showing things about the debugger.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help status" -# test help support -# FIXME -- Ultrix hangs randomly on this very long output from gdb and -# continues with its output only if something is sent to gdb. -# Also, if the system is slow, it may time out because the output is large. -#gdb_test "help support" "Support facilities..*\[\r\n\]+List of commands:.*\[\r\n\]+show confirm -- Show whether to confirm potentially dangerous operations.*\[\r\n\]+show history -- Generic command for showing command history parameters.*\[\r\n\]+down-silently -- Same as the `down' command.*\[\r\n\]+up-silently -- Same as the `up' command.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help support" -# test help symbol-file -gdb_test "help symbol-file" "Load symbol table from executable file FILE..*\[\r\n\]+The `file' command can also load symbol tables, as well as setting the file.*\[\r\n\]+to execute." "help symbol-file" -# test help target child -gdb_test "help target child" "Unix child process .started by the \"run\" command..*|Undefined target command: \"child\". Try \"help target\"." "help target child" -# test help target procfs -gdb_test "help target procfs" "Unix /proc child process .started by the \"run\" command.*|Undefined target command: \"procfs\". Try \"help target\"." "help target procfs (procfs version)" -# test help target core -gdb_test "help target core" ".*Use a core file as a target.*Specify the filename of the core file.*|(Undefined target command: \"core\". Try \"help target\".)" "help target core" -# test help target exec -gdb_test "help target exec" "Use an executable file as a target..*\[\r\n\]+Specify the filename of the executable file." "help target exec" -# test help target remote -gdb_test "help target remote" "Use a remote computer via a serial line, using a gdb-specific protocol..*\[\r\n\]+Specify the serial device it is connected to .e.g. /dev/ttya..*" "help target remote" -# test help target -# the child process target may be "target child" or "target procfs" -gdb_test "help target" "Connect to a target machine or process..*\[\r\n\]+The first argument is the type or protocol of the target machine..*\[\r\n\]+Remaining arguments are interpreted by the target protocol. For more.*\[\r\n\]+information on the arguments for a particular protocol, type.*\[\r\n\]+`help target ' followed by the protocol name..*\[\r\n\]+List of target subcommands:.*\[\r\n\]+target exec -- Use an executable file as a target.*\[\r\n\]+Type \"help target\" followed by target subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help target" -# test help tbreak -gdb_test "help tbreak" "Set a temporary breakpoint.*" "help tbreak" -# test help tty -gdb_test "help tty" "Set terminal for future runs of program being debugged." "help tty" -# test help until "u" abbreviation -gdb_test "help u" "Execute until the program reaches a source line greater than the current.*\[\r\n\]+or a specified line or address or function .same args as break command...*\[\r\n\]+Execution will also stop upon exit from the current stack frame." "help until \"u\" abbreviation" -# test help until -gdb_test "help until" "Execute until the program reaches a source line greater than the current.*\[\r\n\]+or a specified line or address or function .same args as break command...*\[\r\n\]+Execution will also stop upon exit from the current stack frame." "help until" -# test help undisplay -gdb_test "help undisplay" "Cancel some expressions to be displayed when program stops..*\[\r\n\]+Arguments are the code numbers of the expressions to stop displaying..*\[\r\n\]+No argument means cancel all automatic-display expressions..*\[\r\n\]+\"delete display\" has the same effect as this command..*\[\r\n\]+Do \"info display\" to see current list of code numbers." "help undisplay" -# test help unset environment -gdb_test "help unset environment" "Cancel environment variable VAR for the program..*\[\r\n\]+This does not affect the program until the next \"run\" command." "help unset environment" -# test help unset -gdb_test "help unset" "Complement to certain \"set\" commands.*\[\r\n\]+List of unset subcommands:.*\[\r\n\]+unset environment -- Cancel environment variable VAR for the program.*\[\r\n\]+Type \"help unset\" followed by unset subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help unset" -# test help up -gdb_test "help up" "Select and print stack frame that called this one..*\[\r\n\]+An argument says how many frames up to go." "help up" -# test help up-silently -gdb_test "help up-silently" "Same as the `up' command, but does not print anything..*\[\r\n\]+This is useful in command scripts." "help up-silently" -# test help user-defined -gdb_test "help user-defined" "User-defined commands..*\[\r\n\]+The commands in this class are those defined by the user..*\[\r\n\]+Use the \"define\" command to define a command..*\[\r\n\]+List of commands:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help user-defined" -# test help watch -gdb_test "help watch" "Set a watchpoint for an expression..*\[\r\n\]+A watchpoint stops execution of your program whenever the value of.*\[\r\n\]+an expression changes." "help watch" -# test help whatis -gdb_test "help whatis" "Print data type of expression EXP." "help whatis" -# test help where -gdb_test "help where" "Print backtrace of all stack frames, or innermost COUNT frames..*\[\r\n\]+With a negative argument, print outermost -COUNT frames..*\[\r\n\]+Use of the 'full' qualifier also prints the values of the local variables." "help where" -# test help x -gdb_test "help x" "Examine memory: x/FMT ADDRESS..*\[\r\n\]+ADDRESS is an expression for the memory address to examine..*\[\r\n\]+FMT is a repeat count followed by a format letter and a size letter..*\[\r\n\]+Defaults for format and size letters are those previously used..*\[\r\n\]+Default count is 1. Default address is following last thing printed.*\[\r\n\]+with this command or \"print\"." "help x" -# test help info bogus-gdb-command -gdb_test "help info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\"." "help info bogus-gdb-command" -# test help gotcha -gdb_test "help gotcha" "Undefined command: \"gotcha\". Try \"help\"." "help gotcha" diff --git a/gdb/testsuite/gdb.base/i486-elf.u b/gdb/testsuite/gdb.base/i486-elf.u deleted file mode 100644 index 882338b..0000000 --- a/gdb/testsuite/gdb.base/i486-elf.u +++ /dev/null @@ -1,287 +0,0 @@ -begin 777 i486-elf -M?T5,1@$! 0 ( P ! W(($"#0 !\+@ #0 ( % -M "@ %0 1 8 T -( $" "@ H 4 P -0 -M !, ! ! - #2 ! @ * 8 -M "@& % ! $ !<!@ 7)8$" "4 2 ( < $ -M @ ( & " E@0( ' !P O=7-R+VQI8B]L:6)C -M+G-O+C$ , , !@ L * ! ( -M $ 4 # " D ' -M $ "<@@0(' !( * I)@$" 1 /'_#P &"6! @$ -M$0 + !@ !<A@0( !$ \?\? K(($"$ 2 )@ /"6! @ -M $0#Q_RT #,@@0( !( R /(8$" 0 1 H /P +R" -M! @ $@ $D !DE@0( !$ \?]? @)8$" 1 /'_ %]C -M;&5A;G5P %]E;F0 7V5N=FER;VX 7V5T97AT &%T97AI= !?961A=&$ 97AI -M= !?;&EB7W9E<G-I;VX 7U]F<'-T87)T %]'3$]"04Q?3T9&4T547U1!0DQ% -M7P!?1%E.04U)0P O=7-R+VQI8B]L:6)C+G-O+C$ '"6! @' 0 =)8$" <% -M !XE@0(!PD 'R6! @'!P PP /\U:)8$"/\E;)8$" #_)7"6! AH -M .G@_____R5TE@0(: @ #IT/____\E>)8$"&@0 Z<#_____)7R6 -M! AH& .FP____:@!J (OL4KB<@@0(A<!T#6B<@@0(Z+;___^#Q 2X@)8$ -M"(7 = 7HI?___V@XA@0(Z)O___^+10B-5(40B15@E@0(4HU5#%)0Z%_____H -MCO___^@! 0 @\0,4.B0____:@"X 0 )H !P#TP^L&,\#K ,G#58OL -MZ_60D)#K!C/ ZP#)PU6+[.OUD)"0ZP8SP.L R<-5B^SK]9"0D.L&,\#K ,G# -M58OLZ_60D)#K!C/ ZP#)PU6+[.OUD)"0ZP8SP.L R<-5B^SK]9"0D.L&,\#K -M ,G#58OLZ_60D)#K!C/ ZP#)PU6+[.OUD)"0ZP8SP.L R<-5B^SK]9"0D.L& -M,\#K ,G#58OLZ_60D)#K!C/ ZP#)PU6+[.OUD)"0ZP8SP.L R<-5B^SK]9"0 -MD.L*W05 A@0(ZP#)PU6+[.OQD)"0ZPK=!4B&! CK ,G#58OLZ_&0D)#I\P$ -M )#&!?B7! @ Q@5TEP0( <8%.I<$" )FQP5LEP0( P!FQP5<EP0(! !FQP4$ -MEP0(!0#'!1"7! @& QP7PE@0(!P ,<%])8$" @ #'!6B7! @) -MQP7\E@0("@ ,<%>)<$" L "A4(8$"*,\EP0(H5B&! BC#)<$"*%4A@0( -MHPB7! B@^)<$"*+4EP0(H'27! BB.)<$"* ZEP0(HOB6! AFH6R7! AFHWR7 -M! AFH5R7! AFHTB7! AFH027! AFHX"7! BA$)<$"*,<EP0(H?"6! BCC)<$ -M"*'TE@0(HU"7! BA:)<$"*/PEP0(H?R6! BC0)<$"*%XEP0(HV"7! BA/)<$ -M"*/@EP0(H0R7! BC+)<$"*$(EP0(HRB7! C'!827! CXEP0(QP7LEP0(=)<$ -M",<%B)<$"#J7! C'!>B7! ALEP0(QP6<EP0(7)<$",<% )<$" 27! C'!4R7 -M! @0EP0(QP64EP0(\)8$",<%6)<$"/26! C'!7"7! AHEP0(QP7<EP0(_)8$ -M",<%&)<$"'B7! C'!=B7! @\EP0(QP6@EP0(")<$",<%))<$" ( #'!127 -M! @" QP60F 0( 0 ,<%_)<$" $ "AF)<$"*, F 0(9J&<F 0(9J.4 -MF 0(R<-5B^SI!O[__Y ## ,A" -M :4 ("6! @ **"! BR@@0(PH($"-*"! @! -M : P "(@@0(#0 #B&! @$ Z( $" 4 #L@00(!@ "R! -M! @* >P L 0 %0 # 9)8$" ( @ % -M !$ 7 :(($" $ -M 0 \?\ U( $" # $ .B ! @ P " L -M@00( , P [($$" # 0 &B"! @ P % -M "(@@0( , !@ C(($" # < -R"! @ P ( -M XA@0( , "0 /(8$" # H %R6! @ -M P + !DE@0( , # @)8$" # T /"6! @ -M P . , #P # ! -M P 1 , $@ # !, -M P 4 H 0 \?\1 $ /'_ -M& ! #Q_R0 0 \?\L $ -M /'_-@ ! #Q_ST !,@P0(#0 !( " !) \)8$" 0 -M 1 X 5@ /26! @$ $0 . &4 XA@0( !( "0!K ^)8$ -M" ( 1 X @0 #2$! @! @ $@ ( (8 #\E@0(! !$ #@"4 -M )<$" 0 1 X K0 )R"! @< $@ +8 "DF 0( !$ \?^[ -M !)<$" ( 1 X S )R#! @- $@ ( .( (EP0(" !$ -M#@#K $)<$" 0 1 X \0 -R"! @ $@ ( /@ 4EP0(! -M !$ #@ # 0 8)8$" 0 1 L # $ !B7! @$ $0 . "0! <EP0( -M" !$ #@ P 0 ))<$" 0 1 X . $ %R#! @- $@ ( $L! H -MEP0($ !$ #@!: 0 7(8$" 1 /'_80$ #B7! @" $0 . '4! -M ZEP0( 0 !$ #@"% 0 /)<$" 0 1 X C0$ $"7! @( $0 . -M *$! "L@@0(0 !( "H 0 8)8$" 0 A L L $ -R#! @- -M$@ ( +P! #\@P0(#0 !( " #1 0 2)<$" 0 1 X Y@$ $R7! @$ -M $0 . /0! #PE@0( !$ \?_[ 0 ?(,$" T 2 @ " ( %"7 -M! @( $0 . !T" !8EP0(! !$ #@ T @ K(,$" T 2 @ /P( -M %R7! @" $0 . $X" ,A 0($0 !( " !; @ S(($" 2 -M8 ( &"7! @( $0 . '8" !HEP0(! !$ #@!] @ ;)<$" ( 1 -M X A0( '"7! @$ $0 . )0" !TEP0( 0 !$ #@"B @ >)<$" 0 -M 1 X L@( 'R7! @$ $0 . , " " EP0(! !$ #@#7 @ /(8$ -M" 0 1 H Y ( $N#! @ $@ ( .P" "$EP0(! !$ #@#[ @ -MB)<$" 0 1 X $P, (R7! @( $0 . "8# "\@@0( !( P -M P E)<$" 0 1 X 10, )B7! @$ $0 . $P# !DE@0( !$ -M\?]B P G)<$" 0 1 X >0, *"7! @$ $0 . (H# !<E@0(! -M !$ "P"< P I)<$"!@ 1 X I@, +R7! @8 $0 . + # #4EP0( -M @ !$ #@"] P V)<$" 0 1 X S0, -R7! @$ $0 . .,# @ -MA 0($0 !( " #Q P O(,$" T 2 @ P0 ("6! @ $0#Q_PP$ -M #@EP0(" !$ #@ :! Z)<$" 0 1 X *@0 .R#! @- $@ ( -M #T$ #LEP0(! !$ #@!3! \)<$" @ 1 X 8 0 (B"! @ -M$@ & &8$ #XEP0( 0 !$ #@!M! _)<$" 0 1 X =00 &R#! @- -M $@ ( (H$ F 0(D !$ #@"1! C(,$" T 2 @ I00 )"8 -M! @$ $0 . *\$ "4F 0(" !$ #@"X! S(,$" T 2 @ S 0 -M )R8! @( $0 . !I-#@V+F5L9@!C<G0Q+G, 8W)T:2YS '9A;'5E<RU8 -M="YC &=D8FUE+F, <VA?9&%T82YC &-R=&XN<P!V7V-H87)?9G5N8P!V7W-I -M9VYE9%]I;G0 =E]U;G-I9VYE9%]I;G0 7V9I;FD =E]U;G-I9VYE9%]C:&%R -M7V%R<F%Y &UA:6X =E]S:6=N961?;&]N9P!V7W5N<VEG;F5D7W-H;W)T7W!O -M:6YT97( 7V-L96%N=7 7V5N9 !V7W5N<VEG;F5D7W-H;W)T '9?=6YS:6=N -M961?<VAO<G1?9G5N8P!V7V1O=6)L90!V7VEN= !?<W1A<G0 ;F]N<')I;6%R -M>0!?96YV:7)O;@!V7W5N<VEG;F5D7VQO;F=?<&]I;G1E<@!V7VEN=%]A<G)A -M>0!P<FEM87)Y '9?<VEG;F5D7V-H87)?9G5N8P!V7V1O=6)L95]A<G)A>0!? -M971E>'0 =E]S:6=N961?8VAA<E]A<G)A>0!V7W5N<VEG;F5D7V-H87( =E]F -M;&]A= !V7W-I9VYE9%]L;VYG7V%R<F%Y &%T97AI= !E;G9I<F]N '9?;&]N -M9U]F=6YC '9?=6YS:6=N961?;&]N9U]F=6YC '9?<VEG;F5D7W-H;W)T7V%R -M<F%Y '9?:6YT7W!O:6YT97( 7V5D871A '9?<VAO<G1?9G5N8P!V7W5N<VEG -M;F5D7VEN=%]A<G)A>0!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R '9?:6YT7V9U -M;F, =E]S:6=N961?<VAO<G0 =E]F;&]A=%]F=6YC &5X:70 =E]U;G-I9VYE -M9%]L;VYG7V%R<F%Y '9?;&]N9P!V7W-H;W)T '9?;&]N9U]P;VEN=&5R '9? -M<VEG;F5D7V-H87( =E]U;G-I9VYE9%]L;VYG '9?<VAO<G1?87)R87D =E]U -M;G-I9VYE9%]S:&]R=%]A<G)A>0!?;&EB7W9E<G-I;VX 7VUC;W5N= !V7V-H -M87)?<&]I;G1E<@!V7W5N<VEG;F5D7V-H87)?<&]I;G1E<@!V7W-I9VYE9%]I -M;G1?87)R87D 7U]F<'-T87)T '9?<VEG;F5D7VEN=%]P;VEN=&5R '-?;&EN -M:P!?1TQ/0D%,7T]&1E-%5%]404),15\ =E]S:6=N961?<VAO<G1?<&]I;G1E -M<@!V7V1O=6)L95]P;VEN=&5R %]?;&]N9V1O=6)L95]U<V5D '9?<W1R=6-T -M,0!V7W-T<G5C=#( =E]C:&%R7V%R<F%Y '9?9FQO871?<&]I;G1E<@!V7W-I -M9VYE9%]L;VYG7W!O:6YT97( =E]D;W5B;&5?9G5N8P!V7W-I9VYE9%]I;G1? -M9G5N8P!?1%E.04U)0P!V7V9L;V%T7V%R<F%Y '9?<VAO<G1?<&]I;G1E<@!V -M7W-I9VYE9%]L;VYG7V9U;F, =E]S:6=N961?8VAA<E]P;VEN=&5R '9?;&]N -M9U]A<G)A>0!?:6YI= !V7V-H87( 8VQU;FME<@!V7W5N<VEG;F5D7V-H87)? -M9G5N8P!U7VQI;FL =E]S:6=N961?<VAO<G1?9G5N8P!S<&]R='-C87( =E]U -M;FEO;C( =E]U;G-I9VYE9%]I;G1?9G5N8P!V7W5N:6]N N:6YT97)P "YH -M87-H "YD>6YS>6T +F1Y;G-T<@ N<F5L+G!L= N:6YI= N<&QT "YT97AT -M "YF:6YI "YR;V1A=&$ +F1A=&$ +F=O= N9'EN86UI8P N8G-S "YS>6UT -M86( +G-T<G1A8@ N<VAS=')T86( +F-O;6UE;G0 +F1E8G5G "YL:6YE $ H -M(REL:6)C+6DS.#8Z;&EB8RUI,S@V+V-S=2]C<G0Q+G,),2XQ. !A<SH@*%-# -M1$4I(#4N," @,#0O,3DO.3 0"@C*6QI8F,M:3,X-CIC<W4O8W)T:2YS"3$N -M,@!A<SH@*%-#1$4I(#4N," @,#0O,3DO.3 0"@C*6QI8F,M<&]R=#IG96XO -M=F%L=65S+5AT+F,),2XS $ H(REL:6)C.FEN8R]S>6YO;GEM<RYH"3$N,S, -M0"@C*6AE860Z;6%T:"YH"3(N,3$N,2XR-P!A8V]M<#H@*%-#1$4I(#4N," @ -M,#0O,3DO.3 ;W!T:6TZ("A30T1%*2 U+C @(# T+S$Y+SDP &%S.B H4T-$ -M12D@-2XP(" P-"\Q.2\Y, !A8V]M<#H@*%-#1$4I(#4N," @,#0O,3DO.3 -M87,Z("A30T1%*2 U+C @(# T+S$Y+SDP $ H(REL:6)C+6DS.#8Z9V5N+W-H -M7V1A=&$N8PDQ+C, 86-O;7 Z("A30T1%*2 U+C @(# T+S$Y+SDP &]P=&EM -M.B H4T-$12D@-2XP(" P-"\Q.2\Y, !A<SH@*%-#1$4I(#4N," @,#0O,3DO -M.3 0"@C*6QI8F,M:3,X-CIL:6)C+6DS.#8O8W-U+V-R=&XN<PDQ+C4 87,Z -M("A30T1%*2 U+C @(# T+S$Y+SDP "!L9" Z("A30T1%*2 U+C @(# T+S$Y -M+SDP +@ !$ $@!P%@ . !G9&)M92YC #8! 0 !$!3(,$""$!-88$ -M" 8! !T 3 !( 3@$ #@ =%]S=')U8W0 M@ 8 *@ T $@!U -M . !V7V-H87)?;65M8F5R %4 0 C 8 ! '*P T $@"@ -M. !V7W-H;W)T7VUE;6)E<@!5 0 (P & 0" !RD - !( R0 #@ -M=E]I;G1?;65M8F5R %4 !P C 8 ! 0 '*@ T $@#S . !V7VQO -M;F=?;65M8F5R %4 "@ C 8 ! @ '*P T $@ > 0 . !V7V9L;V%T -M7VUE;6)E<@!5 X (P & 0, !RP - !( 2@$ #@ =E]D;W5B;&5? -M;65M8F5R %4 #P C 8 !! '! !L 3 !( ; ( #@ +C!F86ME -M +8 & "H - !( DP$ #@ =E]C:&%R7VUE;6)E<@!5 $ (P & 0 -M !RL - !( O@$ #@ =E]S:&]R=%]M96UB97( 50 $ ", !@ $ @ -M <I #0 2 .<! X '9?:6YT7VUE;6)E<@!5 < (P & 0$ !RH -M - !( $0( #@ =E]L;VYG7VUE;6)E<@!5 H (P & 0( !RL - -M !( / ( #@ =E]F;&]A=%]M96UB97( 50 . ", !@ $# <L #0 2 -M &@" X '9?9&]U8FQE7VUE;6)E<@!5 \ (P & 00 !P0 < -M%P 2 (L# X '1?=6YI;VX M@ ( *@ T $@"R @ . !V7V-H87)? -M;65M8F5R %4 0 C 8 ! '*P T $@#= @ . !V7W-H;W)T7VUE -M;6)E<@!5 0 (P & 0 !RD - !( !@, #@ =E]I;G1?;65M8F5R -M %4 !P C 8 ! '*@ T $@ P P . !V7VQO;F=?;65M8F5R %4 -M"@ C 8 ! '*P T $@!; P . !V7V9L;V%T7VUE;6)E<@!5 X -M(P & 0 !RP - !( AP, #@ =E]D;W5B;&5?;65M8F5R %4 #P C -M 8 ! '! !L 7 !( J00 #@ +C%F86ME +8 " "H - -M !( T , #@ =E]C:&%R7VUE;6)E<@!5 $ (P & 0 !RL - !( -M^P, #@ =E]S:&]R=%]M96UB97( 50 $ ", !@ $ <I #0 2 "0$ -M X '9?:6YT7VUE;6)E<@!5 < (P & 0 !RH - !( 3@0 #@ -M=E]L;VYG7VUE;6)E<@!5 H (P & 0 !RL - !( >00 #@ =E]F -M;&]A=%]M96UB97( 50 . ", !@ $ <L #0 2 *4$ X '9?9&]U -M8FQE7VUE;6)E<@!5 \ (P & 0 !P0 J !@ 2 -<$ X '9? -M8VAA<E]F=6YC %4 0 1 4R#! @A 5F#! @$ ,0 8 $@ ,!0 . !V -M7W-I9VYE9%]C:&%R7V9U;F, 50 " !$!7(,$""$!:8,$" 0 S !@ 2 -M $,% X '9?=6YS:6=N961?8VAA<E]F=6YC %4 P 1 6R#! @A 7F#! @$ -M *P 8 $@!R!0 . !V7W-H;W)T7V9U;F, 50 $ !$!?(,$""$!B8,$ -M" 0 R !@ 2 *@% X '9?<VEG;F5D7W-H;W)T7V9U;F, 50 % !$! -MC(,$""$!F8,$" 0 T !@ 2 . % X '9?=6YS:6=N961?<VAO<G1? -M9G5N8P!5 8 $0&<@P0((0&I@P0(! "D & !( #08 #@ =E]I;G1? -M9G5N8P!5 < $0&L@P0((0&Y@P0(! # & !( 008 #@ =E]S:6=N -M961?:6YT7V9U;F, 50 ( !$!O(,$""$!R8,$" 0 R !@ 2 '<& X -M '9?=6YS:6=N961?:6YT7V9U;F, 50 ) !$!S(,$""$!V8,$" 0 J -M!@ 2 *4& X '9?;&]N9U]F=6YC %4 "@ 1 =R#! @A >F#! @$ ,0 -M 8 $@#:!@ . !V7W-I9VYE9%]L;VYG7V9U;F, 50 + !$![(,$""$!^8,$ -M" 0 S !@ 2 !$' X '9?=6YS:6=N961?;&]N9U]F=6YC %4 # 1 -M ?R#! @A 0F$! @$ *P 8 $@! !P . !V7V9L;V%T7V9U;F, 50 . -M !$!#(0$""$!'80$" 0 L !@ 2 ' ' X '9?9&]U8FQE7V9U;F, -M50 / !$!((0$""$!,80$" 0 5 %0 2 *X' "# 4 >H' 5 -M!0 2 )H' "# 4 >H' 0 !0 2 *H' !5 < ! #P ! !( -MZ@< )4 "C "@ @ " 0 ( " -M"'( +@ !D 3 !( >P@ #@ ;&EN:P"V )@ F #0 2 "D( X -M &YE>'0 @P % 'J!P (P & 0 !RH - !( 4P@ #@ ;&EN:V9U -M;F, @P % %P!P (P & 0$ !R0 - !( =P@ #@ <W1U9F8 <@"N -M!P (P & 0( !P0 5 %0 2 +D( "# 4 >H' 5 !0 2 -M *4( "# 4 >H' 0 !0 2 +4( !5 < ! #P ! !( ]0@ -M )4 "C "@ @ " 0 ( " "'( -M+@ !P 7 !( B0D #@ ='5?;&EN:P"V ) F #0 2 #<) X -M &YE>'0 @P % 'J!P (P & 0 !RH - !( 80D #@ ;&EN:V9U -M;F, @P % %[" (P & 0 !R0 - !( A0D #@ <W1U9F8 <@"Y -M" (P & 0 !P0 Z ! 2 ,<) X "XR9F%K90"V 0 #S -M !L @ &)L=64 0 &=R965N !R960 ! #X $ !( "0H -M #@ 8V]L;W)S +8 ! /, 'P " <&EN:P ! <'5R<&QE !Y -M96QL;W< ! #( $ !( /PH #@ +C-F86ME +8 ! /, $P ! -M9F]R9 8VAE=GD ! #$ $ !( = H #@ 8V%R<P"V 0 #S -M !0 0 '!O<G-C:&4 &)M=P $ ,@ 0 $@"J"@ . N-&9A -M:V4 M@ $ \P 3 $ !44E5% !&04Q310 $ ' !8 $@#& -M"@ . !B;V]L96%N '( = H #$ $ !( ^PH #@ 8G9A;', M@ $ -M\P 3 $ !T<G5E !F86QS90 $ '0 !8 $@ 8"P . !B;V]L -M96%N,@!R ,8* !& ! 2 &(+ X &UI<V]R9&5R960 M@ $ \P C -M , !T:')E90 >F5R;P ! ;VYE ( !T=V\ ! ", & -M !( B0L #@ ;6%I;@!5 < $0$TA 0((0$UA@0(! "< ' !( L L -M #@ <W!O<G1S8V%R '( /PH ", !0 #D)@$""4 ' !( U0L #@ 8VQU -M;FME<@!R D* C 4 _R7! @H !P 2 /T+ X &YO;G!R:6UA<GD -M<@#'"0 (P % ,4EP0()0 < $@ B# . !P<FEM87)Y '( B0D ", -M!0 #))<$""0 ' !( 1@P #@ =5]L:6YK '( ]0@ ", !0 # )@$""< -M ' !( ;0P #@ <U]L:6YK (, !0 !Z@< ", !0 #F)<$""8 ' !( -MDPP #@ =E]U;FEO;C( <@"+ P (P % .4F 0()0 < $@"X# . !V -M7W5N:6]N '( ; ( ", !0 #G)@$""< ' !( WPP #@ =E]S=')U8W0R -M '( 3@$ ", !0 #O)<$""< ' !( !@T #@ =E]S=')U8W0Q '( +@ -M ", !0 #I)<$""\ ' !( -0T #@ =E]D;W5B;&5?<&]I;G1E<@!C , -M 0\ (P % .@EP0(+@ < $@!C#0 . !V7V9L;V%T7W!O:6YT97( 8P # -M $. ", !0 #V)<$"#8 ' !( F0T #@ =E]U;G-I9VYE9%]L;VYG7W!O -M:6YT97( 8P # $, ", !0 #&)<$"#0 ' !( S0T #@ =E]S:6=N961? -M;&]N9U]P;VEN=&5R &, P !"P C 4 ]R7! @M !P 2 /H- X '9? -M;&]N9U]P;VEN=&5R &, P !"@ C 4 W"7! @U !P 2 "\. X '9? -M=6YS:6=N961?:6YT7W!O:6YT97( 8P # $) ", !0 #6)<$"#, ' !( -M8@X #@ =E]S:6=N961?:6YT7W!O:6YT97( 8P # $( ", !0 #E)<$""P -M ' !( C@X #@ =E]I;G1?<&]I;G1E<@!C , 0< (P % -,EP0(-P -M < $@#%#@ . !V7W5N<VEG;F5D7W-H;W)T7W!O:6YT97( 8P # $& ", -M!0 # )<$"#4 ' !( ^@X #@ =E]S:6=N961?<VAO<G1?<&]I;G1E<@!C -M , 04 (P % .<EP0(+@ < $@ H#P . !V7W-H;W)T7W!O:6YT97( -M8P # $$ ", !0 #Z)<$"#8 ' !( 7@\ #@ =E]U;G-I9VYE9%]C:&%R -M7W!O:6YT97( 8P # $# ", !0 #B)<$"#0 ' !( D@\ #@ =E]S:6=N -M961?8VAA<E]P;VEN=&5R &, P ! @ C 4 ^R7! @M !P 2 +\/ X -M '9?8VAA<E]P;VEN=&5R &, P ! 0 C 4 X27! @D 0 2 .,/ "5 -M HP 0 ( ! "%4 #P L !P 2 \0 X '9?9&]U8FQE -M7V%R<F%Y '( OP\ ", !0 #*)<$""0 ! !( ,Q )4 "C ! @ -M $ (50 . "L ' !( 7A #@ =E]F;&]A=%]A<G)A>0!R \0 -M C 4 ^"7! @D 0 2 ((0 "5 HP 0 ( ! "%4 -M# S !P 2 +40 X '9?=6YS:6=N961?;&]N9U]A<G)A>0!R %X0 C -M 4 V"7! @D 0 2 -D0 "5 HP 0 ( ! "%4 "P Q -M !P 2 H1 X '9?<VEG;F5D7VQO;F=?87)R87D <@"U$ (P % - -MEP0() $ $@ N$0 E0 *, $ " 0 A5 H *@ < -M$@!8$0 . !V7VQO;F=?87)R87D <@ *$0 (P % /PEP0() $ $@!\ -M$0 E0 *, $ " 0 A5 D ,@ < $@"N$0 . !V7W5N -M<VEG;F5D7VEN=%]A<G)A>0!R %@1 C 4 U"7! @D 0 2 -(1 "5 -M HP 0 ( ! "%4 " P !P 2 (2 X '9?<VEG;F5D -M7VEN=%]A<G)A>0!R *X1 C 4 XR7! @D 0 2 "82 "5 HP 0 -M ( ! "%4 !P I !P 2 $\2 X '9?:6YT7V%R<F%Y '( -M A( ", !0 #')<$""0 ! !( <Q( )4 "C ! @ $ ( -M50 & #0 ' !( IQ( #@ =E]U;G-I9VYE9%]S:&]R=%]A<G)A>0!R $\2 -M C 4 X"7! @D 0 2 ,L2 "5 HP 0 ( ! "%4 -M!0 R !P 2 /T2 X '9?<VEG;F5D7W-H;W)T7V%R<F%Y '( IQ( ", -M!0 #2)<$""0 ! !( (1, )4 "C ! @ $ (50 $ "L -M ' !( 3!, #@ =E]S:&]R=%]A<G)A>0!R /T2 C 4 WR7! @D -M 0 2 ' 3 "5 HP 0 ( ! "%4 P S !P 2 *,3 X -M '9?=6YS:6=N961?8VAA<E]A<G)A>0!R $P3 C 4 _B6! @D 0 2 -M ,<3 "5 HP 0 ( ! "%4 @ Q !P 2 /@3 X '9? -M<VEG;F5D7V-H87)?87)R87D <@"C$P (P % ,XEP0() $ $@ <% -ME0 *, $ " 0 A5 $ *@ < $@!&% . !V7V-H87)? -M87)R87D <@#X$P (P % /4EP0() < $@!J% . !V7V1O=6)L90!5 -M \ (P % ,(EP0((P < $@"-% . !V7V9L;V%T %4 #@ C 4 SR7 -M! @K !P 2 +@4 X '9?=6YS:6=N961?;&]N9P!5 P (P % -XEP0( -M*0 < $@#A% . !V7W-I9VYE9%]L;VYG %4 "P C 4 _R6! @B -M!P 2 ,5 X '9?;&]N9P!5 H (P % -HEP0(*@ < $@ M%0 . !V -M7W5N<VEG;F5D7VEN= !5 D (P % /TE@0(* < $@!5%0 . !V7W-I -M9VYE9%]I;G0 50 ( ", !0 #\)8$""$ ' !( =A4 #@ =E]I;G0 50 ' -M ", !0 #$)<$""P ' !( HA4 #@ =E]U;G-I9VYE9%]S:&]R= !5 8 -M(P % ,$EP0(*@ < $@#,%0 . !V7W-I9VYE9%]S:&]R= !5 4 (P % -M -<EP0((P < $@#O%0 . !V7W-H;W)T %4 ! C 4 VR7! @K -M!P 2 !H6 X '9?=6YS:6=N961?8VAA<@!5 , (P % ,ZEP0(*0 < -M$@!#%@ . !V7W-I9VYE9%]C:&%R %4 @ C 4 W27! @B !P 2 &46 -M X '9?8VAA<@!5 $ (P % /XEP0(! < "2 @ 3(,$"'D -M #__P !Z __\0 >P /__( 'T #__S !^ __] -M ?P /__4 ($ #__V "" __]P @P /__@ (4 -M #__Y "& __^@ AP /__L (D #__\ "* ___4 -M L@ /__Z +4 #__^X "V ___U MP /___ +D -M #__P,! "Z __\, 0 NP /__%0$ +T #__QX! "^ __\H -M 0 OP /__,@$ ,$ #__SP! #" __]& 0 PP /__4 $ ,4 -M #__UH! #& __]D 0 R0 /__> $ ,H #__X(! #+ __^, -M 0 S0 /__E@$ ,X #__Z(! #/ __^N 0 T0 /__N@$ -( -M #__\0! #3 ___. 0 U0 /__V $ -8 #__^(! #7 ___L -M 0 V0 /__]@$ -H #__P " #< __\4 @ W0 /__'@( -X -M #__R@" #@ __\R @ X0 /__/ ( .( #__T8" #D __]0 -M @ Y0 /__6@( .8 #__V0" #H __]N @ Z0 /__> ( .H -M #__X(" #L __^, @ [0 /__E@( .\ #__Z " #P __^J -M @ \0 /__M ( /( #__[X" #T ___( @ ]@ /__T@( /< -M #__]X" ___I @ -M 0 $ " U( $"-0 3 -M ! D % @ .B ! CH 1 , ! -M 0 / "P ( L@00(+ $ , $ 0 0 0 -M%P , " [($$".P! ![ ! !\ ) -M @ &B"! AH @ ( , ' ! @ H 0 8 -M "(@@0(B ( $ 0 +@ $ & C(($ -M"(P" !0 $ ! #, ! !@ -R"! C< @ -M60, ! Y 0 8 XA@0(. 8 $ -M 0 /P $ " /(8$"#P& @ -M $ $< ! P %R6! A<!@ " ! -M !- 0 , !DE@0(9 8 !P 0 $ -M4@ 8 # @)8$"( & !P ! $ " %L ( -M P /"6! CP!@ M $ ! !@ @ -M \ 8 ' 0 ' 0 0 : , -M / - #4! ! ' # #$$@ -MD 0 !Z 0 5!, "(" -M $ @P $ '@5 !P%@ -M $ (H ! #H*P D@( 0 -% - -end diff --git a/gdb/testsuite/gdb.base/i860-elf.u b/gdb/testsuite/gdb.base/i860-elf.u deleted file mode 100644 index 216e83b..0000000 --- a/gdb/testsuite/gdb.base/i860-elf.u +++ /dev/null @@ -1,314 +0,0 @@ -begin 775 i860-elf -M?T5,1@$" 0 " < ! 32 #0 #-4 T " -M!0 H !4 $0 8 T 0- "@ H 4 P -M -0 !, ! ! - $#0 ( -M\ "/ % 0 $ DD I) "8 "7 8 ! -M @ "4P "E, ' !P O=7-R+VQI8B]L:6)C -M+G-O+C$ , , !P P + @ -M # !0 & ! D * " -M ! 0 $M !,$@ H "N -M !$ __$ / I* 01 + & &20 $0#_\0 !\ -M !+L F!( F IO 1 /_Q +0 $R0 $@ -M #( !D0 !!$ H _ 3" 2 20 *3 $0#_ -M\0 %\ "E, !$ __$ 7V-L96%N=7 7V5N9 !?96YV:7)O;@!?971E -M>'0 871E>&ET %]E9&%T80!E>&ET %]L:6)?=F5R<VEO;@!?7V9P<W1A<G0 -M7T=,3T)!3%]/1D93151?5$%"3$5? %]$64Y!34E# "]U<W(O;&EB+VQI8F,N -M<V\N,0 I/ @0 I0 !@0 I1 "@0 I -M2 " 0 * ! @ H * 7_RDY[!\ !?>*35 /@ -M%_\I/>P? #D'0 0 #X &O___;OO0 [!\ .P> ! /@ %_\I0>^] #D -M'0 ,[!X &O__^\7_RE%[!\ .0= !A /@ :___Z.^] #L'P [!X $ -M^ 7_RE)[[T .0= "3L'@ :___X: #( 4'$ 81"__"@0P '$ -M!>P0 #40@ /6@ N80$M"@ ;___X.??*4SL'@ ;___VUO@ +L$ -MH) .80&0!O___8H &___\>@ ;___VZ82 (4< 1AE( &()2& ? -MY9$I[!\ &P )J$<0 4;___UZ "@$ H $?@^ "$'P !H\$ * _ -M "@ 0 #X * "@ H ,@ P<0!@!A$+_\* 0 "$0P %&, -M 81_ !"GX@ 0 ( * #( ,'$ 8 81"__"@$ A$, !1C &$?P 0 -MI^( $ " "@ R #!Q & &$0O_PH! (1# 48P !A'\ $*?B ! -M @ H ,@ P<0!@!A$+_\* 0 "$0P %&, 81_ !"GX@ 0 ( * -M #( ,'$ 8 81"__"@$ A$, !1C &$?P 0I^( $ " "@ R -M#!Q & &$0O_PH! (1# 48P !A'\ $*?B ! @ H ,@ P<0!@! -MA$+_\* 0 "$0P %&, 81_ !"GX@ 0 ( * #( ,'$ 8 81"__"@ -M$ A$, !1C &$?P 0I^( $ " "@ R #!Q & &$0O_PH! (1# -M 48P !A'\ $*?B ! @ H ,@ P<0!@!A$+_\* 0 "$0P %&, -M 81_ !"GX@ 0 ( * #( ,'$ 8 81"__"@$ A$, !1C &$?P 0 -MI^( $ " "@ R #!Q & &$0O_PH! (1# 48P !A'\ $*?B ! -M @ H ,@ P<0!@!A$+_\$@( <F$0P %&, 81_ !"GX@ 0 ( * -M #( ,'$ 8 81"__!(" ')A$, !1C &$?P 0I^( $ " "@ R -M#!Q & &$0O_P[!\ (1# "4' !#^4"S _EXD3L'P [!\ )0< *4' # -M#^7B"A_EXCSL'P [!\ )0< 24' %'^7B+!_EX=3L'P [!\ )0< :4 -M' ''^7AX1_EX<7L'P [!\ )0< B4' )'^7AP1_EXCGL'P [!\ )0< -M J4' +'^7AS1_EXDGL'P )_ 9(NP? O\"H.[!\ "?P&1CL'P +_ I -MV.P? '_"K,[!\ _EXJCL'P !_PJ1.P? /Y>(([!\ ?\*@KL'P -M#^7AR.P? 7_"H\[!\ !_EXDSL'P %_PJ+.P? ?Y>(8[!\ !?\*=3L -M'P '^7B4.P? 7_"GA[!\ !_EX>WL'P %_PIQ>P? ?Y>)=[!\ !?\ -M*<'L'P '^7B(>P? 7_"HY[!\ !_EXL7L'P %_PIS>P? ?Y>(1[!\ -M !?\*DGL'P '^7B,>P? G\"H.[!\ "_P*K;L'P )_ IV.P? O\"GX -M[!\ .?\*LSL'P '^7B5>P? #G_"I$[!\ !_EXL'L'P Y_PJ"NP? ? -MY>)9[!\ .?\*CSL'P '^7BO>P? #G_"HL[!\ !_EXFWL'P Y_PIU.P? -M ?Y>'1[!\ .?\*>#L'P '^7B'>P? #G_"G$[!\ !_EXF7L'P Y_PI -MP.P? ?Y>(I[!\ .?\*CCL'P '^7B0>P? #G_"G,[!\ !_EXK'L'P -MY_PJ2.P? ?Y>'I[!\ .?\*@SL'P '^7BK>P? #G_"G8[!\ !_EXG'L -M'P [!\ )0< *4' "'^7A]1_EX>7L'P [!\ )0< &4' !'^7C:1_E -MXM'L'P %_PJ:>P? ?Y>+9[!\ !?\*WCL'P '^7C<.P? 48P !A'\ -M$*?B ! @ H $ " "@ H 0&D !"R -M I3 2W $O@ !,4 3, $ -M !H # $K - 9 0 !#H !0 $@ & 1, -M H ![ "P ! 5 , "DP @ # 4 -M!P !< !)\ $ -M 0 __$ 0U # ! $.@ P @ -M !$P , , 2 # $ $GP P !0 -M !*P , 8 2P # ' $T P -M" !D , D 9$ # * *20 -M P "P "DP , P I3 # - *< -M P #@ , \ # 0 -M P $0 , !( # 3 -M P % < 0 __$ . $ /_Q -M %0 ! #_\0 "$ 0 __$ I $ -M /_Q ,P ! #_\0 #H "G !!$ X !) IQ -M 01 . 5@ $_@ @$@ " &( !D !( D !H I -MR (1 . ?@ %B@ +8$@ " (, "G, !!$ X "1 -M IT 01 . J@ $X !,$@ +, "N !$ __$ -M "X IU (1 . R0 %, @$@ " -\ "G8 "!$ -M X #H IX 01 . [@ $T@ $@ " /4 "GD -M!!$ X $ I* 01 + !"0 *>@ $$0 #@ 2$ "GL -M "!$ X $M I] 01 . !-0 %" @$@ " 4@ -M "GX $!$ X %7 9) 1 /_Q !7@ *@@ "$0 #@ -M 7( "H* 1$ X &" J# 01 . !B@ *A ($0 -M#@ 9X !30 F!( &E I* 0A + !K0 %6 @ -M$@ " ;D "H8 !!$ X '. 5L " 2 ( !XP *AP -M $$0 #@ ?$ "F\ !$ __$ 'X 4< " 2 ( "!0 -M*B ($0 #@ AH "HH !!$ X (Q 4Z " 2 ( " -M/ *BP "$0 #@ DL !78 (!( @ )8 7< 2 -M "70 *C ($0 #@ G, "HX !!$ X )Z J/ (1 -M . "@@ *D $$0 #@ I$ "I$ 1$ X *? J2 -M 01 . "KP *DP $$0 #@ KT "I0 !!$ X +4 9 -M$ 01 * "X0 $]@ $@ " ND "I4 !!$ X +X -M J6 01 . #$ *EP ($0 #@ R, !8@ !( -M ,M J9 01 . #0@ *F@ $$0 #@ TD "DP !$ -M__$ -? J; 01 . #=@ *G $$0 #@ X< "DD -M!!$ L .9 J> !@1 . #HP *I 8$0 #@ ZT "JH -M A$ X .Z JK 01 . #R@ *K $$0 #@ ^ -M !8 (!( @ /N 5$ " 2 ( $ *4P $0#_\0 -M! D "JT "!$ X 07 JO 01 . $)P %8@ @$@ -M" !#H "K !!$ X 10 JQ @1 . $70 $K -M$@ !@ !&, "K, 1$ X 1J JT 01 . $<@ %$@ -M @$@ " !(< "K8 D!$ X 2. K: 01 . $F -M%)@ @$@ " !*P "MP "!$ X 2U K> @1 . $ -MO0 %3@ @$@ " !G9&)M90!C<G0Q+G, 8W)T:2YS '9A;'5E<RU8="YC -M &=D8FUE+F, <VA?9&%T82YC &-R=&XN<P!V7W5N<VEG;F5D7VEN= !V7W-I -M9VYE9%]I;G0 =E]C:&%R7V9U;F, 7V9I;FD =E]U;G-I9VYE9%]C:&%R7V%R -M<F%Y &UA:6X =E]S:6=N961?;&]N9P!V7W5N<VEG;F5D7W-H;W)T7W!O:6YT -M97( 7V-L96%N=7 7V5N9 !V7W5N<VEG;F5D7W-H;W)T '9?=6YS:6=N961? -M<VAO<G1?9G5N8P!V7V1O=6)L90!V7VEN= !?<W1A<G0 ;F]N<')I;6%R>0!? -M96YV:7)O;@!V7W5N<VEG;F5D7VQO;F=?<&]I;G1E<@!V7VEN=%]A<G)A>0!P -M<FEM87)Y '9?<VEG;F5D7V-H87)?9G5N8P!V7V1O=6)L95]A<G)A>0!?971E -M>'0 =E]S:6=N961?8VAA<E]A<G)A>0!V7W5N<VEG;F5D7V-H87( =E]F;&]A -M= !V7W-I9VYE9%]L;VYG7V%R<F%Y &%T97AI= !E;G9I<F]N '9?;&]N9U]F -M=6YC '9?<VEG;F5D7W-H;W)T7V%R<F%Y '9?=6YS:6=N961?;&]N9U]F=6YC -M '9?:6YT7W!O:6YT97( 7V5D871A '9?<VAO<G1?9G5N8P!V7W5N<VEG;F5D -M7VEN=%]A<G)A>0!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R '9?:6YT7V9U;F, -M=E]S:6=N961?<VAO<G0 =E]F;&]A=%]F=6YC &5X:70 =E]U;G-I9VYE9%]L -M;VYG7V%R<F%Y '9?;&]N9P!V7W-H;W)T '9?;&]N9U]P;VEN=&5R '9?<VEG -M;F5D7V-H87( =E]U;G-I9VYE9%]L;VYG '9?<VAO<G1?87)R87D =E]U;G-I -M9VYE9%]S:&]R=%]A<G)A>0!?;&EB7W9E<G-I;VX 7VUC;W5N= !V7V-H87)? -M<&]I;G1E<@!V7W5N<VEG;F5D7V-H87)?<&]I;G1E<@!V7W-I9VYE9%]I;G1? -M87)R87D 7U]F<'-T87)T '9?<VEG;F5D7VEN=%]P;VEN=&5R '-?;&EN:P!? -M1TQ/0D%,7T]&1E-%5%]404),15\ =E]S:6=N961?<VAO<G1?<&]I;G1E<@!V -M7V1O=6)L95]P;VEN=&5R %]?;&]N9V1O=6)L95]U<V5D '9?<W1R=6-T,0!V -M7W-T<G5C=#( =E]C:&%R7V%R<F%Y '9?9FQO871?<&]I;G1E<@!V7W-I9VYE -M9%]L;VYG7W!O:6YT97( =E]D;W5B;&5?9G5N8P!V7W-I9VYE9%]I;G1?9G5N -M8P!?1%E.04U)0P!V7V9L;V%T7V%R<F%Y '9?<VAO<G1?<&]I;G1E<@!V7W-I -M9VYE9%]L;VYG7V9U;F, =E]S:6=N961?8VAA<E]P;VEN=&5R '9?;&]N9U]A -M<G)A>0!?:6YI= !V7V-H87( 8VQU;FME<@!V7W5N<VEG;F5D7V-H87)?9G5N -M8P!U7VQI;FL <W!O<G1S8V%R '9?<VEG;F5D7W-H;W)T7V9U;F, =E]U;FEO -M;C( =E]U;FEO;@!V7W5N<VEG;F5D7VEN=%]F=6YC N:6YT97)P "YH87-H -M "YD>6YS>6T +F1Y;G-T<@ N<F5L82YP;'0 +FEN:70 +G!L= N=&5X= N -M9FEN:0 N<F]D871A "YD871A "YG;W0 +F1Y;F%M:6, +F)S<P N<WEM=&%B -M "YS=')T86( +G-H<W1R=&%B "YC;VUM96YT "YD96)U9P N;&EN90 D2&5A -M9&5R.B O<"]20U,O=71I;#(M,BXQ+W5S<B]S<F,O;&EB+VQI8F,O:3@V,"]C -M<W4O8W)T,2YS+'8@,BXQ(#DR+S U+S$T(# W.C$V.C(P(&1A=FED;V9F($5X -M<" D $ H(RE&5%@@,BXQ+C N,2!S8V1E.B]U<W(O8V-S+VQI8B]C<G0Q+F\ -M)$AE861E<CH@+W O4D-3+W5T:6PR+3(N,2]U<W(O<W)C+VQI8B]L:6)C+VDX -M-C O8W-U+V-R=&DN<RQV(#(N,2 Y,B\P-2\Q-" P-SHQ-CHR,2!D879I9&]F -M9B!%>' @) ! *",I1E18(#(N,2XP+C$@<V-D93HO=7-R+V-C<R]L:6(O8W)T -M:2YO "1(96%D97(Z("]P+U)#4R]U=&EL,BTR+C$O=7-R+W-R8R]L:6(O;&EB -M8R]P;W)T+V=E;B]V86QU97,M6'0N8RQV(#(N,2 Y,B\P-2\Q-" P-SHR-SHP -M,B!D879I9&]F9B!%>' @) D2&5A9&5R.B O<"]20U,O=71I;#(M,BXQ+W5S -M<B]S<F,O;&EB+VQI8F,O:6YC+W-Y;F]N>6US+F@L=B R+C$@.3(O,#4O,30@ -M,#<Z,C(Z,3D@9&%V:61O9F8@17AP("0 )$AE861E<CH@+W O4D-3+W5T:6PR -M+3(N,2]U<W(O<W)C+VAE860O;6%T:"YH+'8@,BXQ(#DR+S U+S$T(# W.C$R -M.C4W(&1A=FED;V9F($5X<" D &%C;VUP.B H4T-$12D@-2XP(#$R+S X+S@Y -M &%S.B H4T-$12D@-2XP(#$R+S X+S@Y $ H(RE&5%@@,BXQ+C N,2!S8V1E -M.B]U<W(O8V-S+VQI8B]V86QU97,M6'0N;P!A8V]M<#H@*%-#1$4I(#4N," Q -M,B\P."\X.0!A<SH@*%-#1$4I(#4N," Q,B\P."\X.0 D2&5A9&5R.B O<"]2 -M0U,O=71I;#(M,BXQ+W5S<B]S<F,O;&EB+VQI8F,O:3@V,"]G96XO<VA?9&%T -M82YC+'8@,BXQ(#DR+S U+S$T(# W.C$W.C4T(&1A=FED;V9F($5X<" D &%C -M;VUP.B H4T-$12D@-2XP(#$R+S X+S@Y &%S.B H4T-$12D@-2XP(#$R+S X -M+S@Y $ H(RE&5%@@,BXQ+C N,2!S8V1E.B]U<W(O8V-S+VQI8B]L:6)C+G-O -M "1(96%D97(Z("]P+U)#4R]U=&EL,BTR+C$O=7-R+W-R8R]L:6(O;&EB8R]I -M.#8P+V-S=2]C<G1N+G,L=B R+C$@.3(O,#4O,30@,#<Z,38Z,C(@9&%V:61O -M9F8@17AP("0 0"@C*4946" R+C$N,"XQ('-C9&4Z+W5S<B]C8W,O;&EB+V-R -M=&XN;P @;&0@.B H4T-$12D@-2XP(#$R+S X+S@Y "X $0 2 6< X -M9V1B;64N8P !-@ $!$0 $_ !(0 &0 !!@ = !, $@ 4X -M.'1?<W1R=6-T "V & "H #0 2 =0 X=E]C:&%R7VUE;6)E<@ -M50 ! ", !@0 !P "L #0 2 H X=E]S:&]R=%]M96UB97( %4 -M! C 8$ @< I T $@ ,D .'9?:6YT7VUE;6)E<@ 50 ' ", -M!@0 $!P "H #0 2 \P X=E]L;VYG7VUE;6)E<@ 50 * ", !@0 -M (!P "L #0 2 !'@ X=E]F;&]A=%]M96UB97( %4 #@ C 8$ -M# < L T $@ 4H .'9?9&]U8FQE7VUE;6)E<@ 50 / ", !@0 0 -M!P 0 ; !, $@ FP ."XP9F%K90 M@ !@ J T $@ 9, -M.'9?8VAA<E]M96UB97( %4 0 C 8$ < K T $@ ;X .'9? -M<VAO<G1?;65M8F5R !5 0 (P &! (' *0 - !( 'G #AV7VEN -M=%]M96UB97( %4 !P C 8$ ! < J T $@ A$ .'9?;&]N9U]M -M96UB97( %4 "@ C 8$ " < K T $@ CP .'9?9FQO871?;65M -M8F5R !5 X (P &! P' + - !( )H #AV7V1O=6)L95]M96UB -M97( %4 #P C 8$ $ < $ ' 7 !( .+ #AT7W5N:6]N "V -M " "H #0 2 "L@ X=E]C:&%R7VUE;6)E<@ 50 ! ", !@0 -M!P "L #0 2 "W0 X=E]S:&]R=%]M96UB97( %4 ! C 8$ < -M I T $@ P8 .'9?:6YT7VUE;6)E<@ 50 ' ", !@0 !P "H -M#0 2 #, X=E]L;VYG7VUE;6)E<@ 50 * ", !@0 !P "L #0 2 -M #6P X=E]F;&]A=%]M96UB97( %4 #@ C 8$ < L T $@ -M X< .'9?9&]U8FQE7VUE;6)E<@ 50 / ", !@0 !P 0 ; !< -M$@ !*D ."XQ9F%K90 M@ @ J T $@ ] .'9?8VAA<E]M96UB -M97( %4 0 C 8$ < K T $@ _L .'9?<VAO<G1?;65M8F5R -M !5 0 (P &! ' *0 - !( 0D #AV7VEN=%]M96UB97( %4 -M!P C 8$ < J T $@ !$X .'9?;&]N9U]M96UB97( %4 "@ C -M 8$ < K T $@ !'D .'9?9FQO871?;65M8F5R !5 X (P & -M! ' + - !( 2E #AV7V1O=6)L95]M96UB97( %4 #P C 8$ -M < $ *@ & !( 37 #AV7V-H87)?9G5N8P 50 ! 1$ !/X -M 2$ !08 ! #$ !@ 2 %# X=E]S:6=N961?8VAA<E]F=6YC !5 -M (!$0 %" !(0 %$ $ ,P & !( 5# #AV7W5N<VEG;F5D7V-H -M87)?9G5N8P 50 # 1$ !1( 2$ !1H ! "L !@ 2 %<@ X=E]S -M:&]R=%]F=6YC !5 0!$0 %' !(0 %) $ ,@ & !( 6H #AV -M7W-I9VYE9%]S:&]R=%]F=6YC !5 4!$0 %)@!(0 %+@ $ - & -M !( 7@ #AV7W5N<VEG;F5D7W-H;W)T7V9U;F, %4 !@$1 4P $A 4 -MX 0 I 8 $@ !@T .'9?:6YT7V9U;F, %4 !P$1 4Z $A 5 -M" 0 P 8 $@ !D$ .'9?<VEG;F5D7VEN=%]F=6YC !5 @!$0 -M%1 !(0 %3 $ ,@ & !( 9W #AV7W5N<VEG;F5D7VEN=%]F=6YC -M !5 D!$0 %3@!(0 %5@ $ *@ & !( :E #AV7VQO;F=?9G5N -M8P 50 * 1$ !5@ 2$ !6 ! #$ !@ 2 &V@ X=E]S:6=N961? -M;&]N9U]F=6YC !5 L!$0 %8@!(0 %:@ $ ,P & !( <1 #AV -M7W5N<VEG;F5D7VQO;F=?9G5N8P 50 , 1$ !6P 2$ !70 ! "L -M!@ 2 '0 X=E]F;&]A=%]F=6YC !5 X!$0 %=@!(0 %?@ $ -M+ & !( =P #AV7V1O=6)L95]F=6YC !5 \!$0 %@ !(0 %B $ -M %0 5 !( >N (, !0$ ?J %0 % !( >: (, !0$ ?J -M$ % !( >J %4 !P 0 \ $ $@ !^H E0 *, * " -M ( $ @ @@ <@ "X 9 !, $@ "'L -M.&QI;FL +8 "8 )@ - !( @I #AN97AT "# 4! 'Z@ C 8$ -M < J T $@ "%, .&QI;FMF=6YC "# 4! '< C 8$ -M! < D T $@ "'< .'-T=69F !R 'K@ C 8$ " < $ -M%0 5 !( BY (, !0$ ?J %0 % !( BE (, !0$ ?J $ % -M !( BU %4 !P 0 \ $ $@ "/4 E0 *, * " -M ( $ @ @@ <@ "X < !< $@ "8D .'1U -M7VQI;FL +8 "0 )@ - !( DW #AN97AT "# 4! 'Z@ C 8$ -M < J T $@ "6$ .&QI;FMF=6YC "# 4! (>P C 8$ -M < D T $@ "84 .'-T=69F !R (N0 C 8$ < $ -M.@ $ !( G' #@N,F9A:V4 +8 $ /, &P )B;'5E %G<F5E -M;@ <F5D 0 ^ 0 $@ "@D .&-O;&]R<P M@ 0 \P ? -M G!I;FL 7!U<G!L90 >65L;&]W 0 R 0 $@ -M"C\ ."XS9F%K90 M@ 0 \P 3 69O<F0 &-H979Y 0 -M Q 0 $@ "G0 .&-A<G, +8 $ /, % %P;W)S8VAE !B -M;7< ! #( ! 2 *J@ X+C1F86ME "V ! #S !, !5%)5 -M10 1D%,4T4 ! !P %@ 2 *Q@ X8F]O;&5A;@ <@ "G0 -M Q 0 $@ "OL .&)V86QS "V ! #S !, !=')U90 9F%L -M<V4 ! !T %@ 2 +& X8F]O;&5A;C( '( K& 1@ $ !( -M MB #AM:7-O<F1E<F5D "V ! #S ", #=&AR964 'IE<F\ -M 6]N90 "='=O 0 C 8 $@ "XD .&UA:6X %4 !P$1 -M 6* $A 9 0 G < $@ "[ .'-P;W)T<V-A<@ <@ "C\ -M(P % P *V@ E < $@ "]4 .&-L=6YK97( '( H) ", !0, "K0 -M * ' !( O] #AN;VYP<FEM87)Y !R )QP C 4# IY "4 -M!P 2 ,(@ X<')I;6%R>0 <@ "8D (P % P *?0 D < $@ #$8 -M.'5?;&EN:P <@ "/4 (P % P *M@ G < $@ #&T .'-?;&EN:P -M@P % 0 !^H (P % P *F@ F < $@ #), .'9?=6YI;VXR !R # -MBP C 4# K< "4 !P 2 ,N X=E]U;FEO;@ <@ FP (P % P -M*W@ G < $@ #-\ .'9?<W1R=6-T,@ <@ 4X (P % P *I G -M < $@ #08 .'9?<W1R=6-T,0 <@ "X (P % P *G@ O < $@ -M#34 .'9?9&]U8FQE7W!O:6YT97( &, P$ #P C 4# J< "X !P 2 -M -8P X=E]F;&]A=%]P;VEN=&5R !C ,! X (P % P *JP V < -M$@ #9D .'9?=6YS:6=N961?;&]N9U]P;VEN=&5R !C ,! P (P % P -M*>@ T < $@ #<T .'9?<VEG;F5D7VQO;F=?<&]I;G1E<@ 8P # 0 + -M ", !0, "JP +0 ' !( WZ #AV7VQO;F=?<&]I;G1E<@ 8P # 0 * -M ", !0, "I -0 ' !( XO #AV7W5N<VEG;F5D7VEN=%]P;VEN=&5R -M !C ,! D (P % P *B@ S < $@ #F( .'9?<VEG;F5D7VEN=%]P -M;VEN=&5R !C ,! @ (P % P *F0 L < $@ #HX .'9?:6YT7W!O -M:6YT97( &, P$ !P C 4# J' #< !P 2 .Q0 X=E]U;G-I9VYE -M9%]S:&]R=%]P;VEN=&5R !C ,! 8 (P % P *= U < $@ #OH -M.'9?<VEG;F5D7W-H;W)T7W!O:6YT97( &, P$ !0 C 4# J; "X -M!P 2 /* X=E]S:&]R=%]P;VEN=&5R !C ,! 0 (P % P *KP V -M < $@ #UX .'9?=6YS:6=N961?8VAA<E]P;VEN=&5R !C ,! , (P % -M P *E@ T < $@ #Y( .'9?<VEG;F5D7V-H87)?<&]I;G1E<@ 8P # -M 0 " ", !0, "K +0 ' !( ^_ #AV7V-H87)?<&]I;G1E<@ 8P # -M 0 ! ", !0, "I4 ) ! !( _C )4 "C ! @ 0@ -M50 / + ' !( ! / #AV7V1O=6)L95]A<G)A>0 <@ #[\ (P % P -M*?@ D $ $@ $#, E0 *, $ " !" !5 X K < -M$@ $%X .'9?9FQO871?87)R87D '( ! / ", !0, "JT ) ! !( -M !"" )4 "C ! @ 0@ 50 , ,P ' !( !"U #AV7W5N -M<VEG;F5D7VQO;F=?87)R87D '( !!> ", !0, "HP ) ! !( !#9 -M )4 "C ! @ 0@ 50 + ,0 ' !( !$* #AV7W-I9VYE -M9%]L;VYG7V%R<F%Y !R 0M0 C 4# J$ "0 0 2 1+@"5 -MHP 0 ( $( %4 "@ "H !P 2 16 X=E]L;VYG7V%R<F%Y -M !R 1"@ C 4# JQ "0 0 2 1? "5 HP 0 ( -M $( %4 "0 #( !P 2 1K@ X=E]U;G-I9VYE9%]I;G1?87)R87D '( -M !%8 ", !0, "H@ ) ! !( !'2 )4 "C ! @ 0@ -M50 ( , ' !( !(" #AV7W-I9VYE9%]I;G1?87)R87D '( !&N ", -M!0, "I< ) ! !( !(F )4 "C ! @ 0@ 50 ' -M*0 ' !( !)/ #AV7VEN=%]A<G)A>0 <@ $@( (P % P *>P D $ -M$@ $G, E0 *, $ " !" !5 8 T < $@ $J< .'9? -M=6YS:6=N961?<VAO<G1?87)R87D '( !)/ ", !0, "I0 ) ! !( -M !++ )4 "C ! @ 0@ 50 % ,@ ' !( !+] #AV7W-I -M9VYE9%]S:&]R=%]A<G)A>0 <@ $J< (P % P *A@ D $ $@ $R$ -ME0 *, $ " !" !5 0 K < $@ $TP .'9?<VAO<G1? -M87)R87D '( !+] ", !0, "I, ) ! !( !-P )4 "C ! @ -M 0@ 50 # ,P ' !( !.C #AV7W5N<VEG;F5D7V-H87)?87)R -M87D '( !-, ", !0, "G( ) ! !( !/' )4 "C ! @ -M 0@ 50 " ,0 ' !( !/X #AV7W-I9VYE9%]C:&%R7V%R<F%Y !R -M 3HP C 4# J" "0 0 2 4' "5 HP 0 ( $( -M %4 0 "H !P 2 41@ X=E]C:&%R7V%R<F%Y !R 3^ C 4# J -MJ "0 !P 2 4:@ X=E]D;W5B;&4 %4 #P C 4# IV ", !P 2 -M 4C0 X=E]F;&]A= 50 . ", !0, "H, *P ' !( !2X #AV7W5N -M<VEG;F5D7VQO;F< %4 # C 4# J2 "D !P 2 4X0 X=E]S:6=N -M961?;&]N9P 50 + ", !0, "G, (@ ' !( !4# #AV7VQO;F< %4 -M"@ C 4# J. "H !P 2 5+0 X=E]U;G-I9VYE9%]I;G0 %4 "0 C -M 4# IP "@ !P 2 550 X=E]S:6=N961?:6YT !5 @ (P % P -M*<0 A < $@ %78 .'9?:6YT !5 < (P % P *> L < $@ -M%:( .'9?=6YS:6=N961?<VAO<G0 %4 !@ C 4# IU "H !P 2 5 -MS X=E]S:6=N961?<VAO<G0 %4 !0 C 4# J+ ", !P 2 5[P X -M=E]S:&]R= 50 $ ", !0, "H\ *P ' !( !8: #AV7W5N<VEG;F5D -M7V-H87( %4 P C 4# J"@ "D !P 2 60P X=E]S:6=N961?8VAA -M<@ 50 " ", !0, "I$ (@ ' !( !9E #AV7V-H87( %4 0 C 4# -M JS 0 ' "D@ $_ !Y__\ ( >O__ , -M 'O__P %@ !]__\ " ?O__ J '___P - "!__\ -M #X @O__ !( (/__P 4@ "%__\ %P AO__ !F -M (?__P < ")__\ 'H BO__ "$ ++__P C@ "U__\ -M )$ MO__ "3 +?__P E@ "Y__\ )D NO__ "< -M +O__P GP "]__\ *( OO__ "E +___P J #!__\ -M *L PO__ "N ,/__P L0 #%__\ +0 QO__ "X -M ,G__P O #*__\ , R___ #$ ,W__P R #.__\ -M ,P S___ #0 -'__P U #2__\ -@ T___ #< -M -7__P X #6__\ .0 U___ #H -G__P [ #:__\ -M / W/__ #T -W__P ^ #>__\ /P X/__ $ -M .'__P !! #B__\ 0@ Y/__ $, .7__P !$ #F__\ -M 10 Z/__ $8 .G__P !' #J__\ 2 [/__ $D -M .W__P !* #O__\ 2P \/__ $O /'__P !,@ #R__\ -M 34 ]/__ $X /;__P !/ #W__\ 3P /__ %$ -M $ -M ! @ $-0 #4 $P 0 ) !0 -M ( !#H Z $@ # 0 $ #P L " 1 -M, 3 #0 ! ( $ $ !< # @ $@ ( -M >P 0 ? ! ( !)\ "? # -M # !P 0 , *0 P & 2L K 0 -M 0 " "\ , !@ $L + @ -M$ @ T # 8 !- #0 !< ! ( -M .@ P & 9 "0 0 0 " $ -M ! @ &1 D0 % " !( 0 -M , "DD )) @ 0 3@ $ # I -M, "3 < 0 ! %, & P *4P E, -M < 0 ! @ !< " , "G )P < -M @ 80 ( "< < $ -M !P $ $ &D # !# $T0 -M 0 !Q P 5D0 )$ $ -M >P $ %B( 0N ! (0 -M ! !I0 6< ! "+ 0 -> PP I( $ - -end diff --git a/gdb/testsuite/gdb.base/interrupt.c b/gdb/testsuite/gdb.base/interrupt.c deleted file mode 100644 index bafbaa5..0000000 --- a/gdb/testsuite/gdb.base/interrupt.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <errno.h> -#include <stdio.h> -int -main () -{ - char x; - int nbytes; - printf ("talk to me baby\n"); - while (1) - { - nbytes = read (0, &x, 1); - if (nbytes < 0) - { - if (errno != EINTR) - perror (""); - } - else if (nbytes == 0) - { - printf ("end of file\n"); - exit (0); - } - else - write (1, &x, 1); - } -} - -int -func1 () -{ - return 4; -} diff --git a/gdb/testsuite/gdb.base/interrupt.exp b/gdb/testsuite/gdb.base/interrupt.exp deleted file mode 100644 index 2985870..0000000 --- a/gdb/testsuite/gdb.base/interrupt.exp +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright (C) 1994, 1995 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 [host_info exists name] { - if [board_info host exists gdb,nointerrupts] { - verbose "Skipping interrupt.exp because of nointerrupts." - continue - } -} - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile interrupt -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -if [target_info exists gdb,noinferiorio] { - verbose "Skipping interrupt.exp because of noinferiorio." - return -} - -gdb_start - - -if ![file exists $binfile] then { - perror "$binfile does not exist." - return 0 -} else { - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - # Hope this is unix :-) - gdb_test "shell stty intr '^C'" "" \ - "set interrupt character in interrupt.exp" - if [runto_main] then { - send_gdb "continue\n" - expect { - -re "\r\ntalk to me baby\r\n$" { - pass "child process is alive" - } - timeout { fail "run (timeout)" } - eof { fail "run (eof)" } - } - # This should appear twice, once for the echo and once for the - # program's output. Under dejagnu (but not interactively) for - # SunOS4, it only appears once. Don't worry about it, I imagine - # dejagnu has just done something to the tty modes. - send_gdb "a\n" - expect { - -re "^a\r\n(|a\r\n)$" { - pass "child process ate our char" - } - timeout { fail "echo a (timeout)" } - eof { fail "echo a (eof)" } - } - # Wait until the program is in the read system call again. - sleep 2 - - send_gdb "\003" - expect { - -re "Program received signal SIGINT.*$gdb_prompt $" { - pass "send_gdb control C" - } - -re ".*$gdb_prompt $" { fail "send_gdb control C" } - timeout { fail "send_gdb control C (timeout)" } - eof { fail "send_gdb control C (eof)" } - } - - send_gdb "p func1 ()\n" - expect { - -re " = 4.*$gdb_prompt $" { pass "call function when asleep" } - -re ".*Program received signal SIGSEGV.*$gdb_prompt $" { - setup_xfail "i*86-pc-linux*-gnu" - fail "child died when we called func1, skipped rest of tests" - return - } - -re "$gdb_prompt $" { fail "call function when asleep (wrong output)" } - default { - - # This fail probably happens whenever we use /proc (we - # don't use PRSABORT), but apparently also happens on - # other machines as well. - - setup_xfail "sparc*-*-solaris2*" - setup_xfail "mips-*-ultrix*" - setup_xfail "hppa*-*-*" - setup_xfail "i386*-*-bsd*" - setup_xfail "*-*-sysv4*" - setup_xfail "vax-*-*" - setup_xfail "alpha-*-*" - setup_xfail "*-*-irix*" - setup_xfail "*-*-hpux*" - setup_xfail "*-*-*lynx*" - fail "call function when asleep (stays asleep)" - # Send_Gdb a newline to wake it up - send_gdb "\n" - gdb_test "" " = 4" "call function after waking it" - } -# eof { fail "call function when asleep (eof)" } - } - - # Now try calling the function again. - gdb_test "p func1 ()" " = 4" "call function a second time" - - # And the program should still be doing the same thing. - # The optional trailing \r\n is in case we sent a newline above - # to wake the program, in which case the program now sends it - # back. We check for it either here or in the next expect - # command, because which one it ends up in is timing dependent. - send_gdb "continue\n" - # For some reason, i386-*-sysv4 gdb fails to issue the Continuing - # message, but otherwise appears normal (FIXME). - expect { - -re "^continue\r\nContinuing.\r\n(\r\n|)$" { pass "continue" } - -re "^continue\r\n\r\n" { fail "continue (missing Continuing.)" } - -re "$gdb_prompt $" { fail "continue" } - timeout { fail "continue (timeout)" } - eof { fail "continue (eof)" } - } - - send_gdb "data\n" - # The optional leading \r\n is in case we sent a newline above - # to wake the program, in which case the program now sends it - # back. - expect { - -re "^(\r\n|)data\r\n(|data\r\n)$" { pass "echo data" } - timeout { fail "echo data (timeout)" } - eof { fail "echo data (eof)" } - } - - setup_xfail "i*86-pc-linux*-gnu" - send_gdb "\004" - expect { - -re "end of file.*Program exited normally.*$gdb_prompt $" { - pass "send_gdb end of file" - } - -re "$gdb_prompt $" { fail "send end of file" } - timeout { fail "send end of file (timeout)" } - eof { fail "send end of file (eof)" } - } - } -} -return 0 diff --git a/gdb/testsuite/gdb.base/langs.exp b/gdb/testsuite/gdb.base/langs.exp deleted file mode 100644 index c9340f4..0000000 --- a/gdb/testsuite/gdb.base/langs.exp +++ /dev/null @@ -1,88 +0,0 @@ -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile langs -set binfile ${objdir}/${subdir}/${testfile} - -if [is_remote host] { - remote_download host ${srcdir}/${subdir}/langs1.f - remote_download host ${srcdir}/${subdir}/langs2.cxx -} - -if { [gdb_compile "${srcdir}/${subdir}/langs0.c ${srcdir}/${subdir}/langs1.c ${srcdir}/${subdir}/langs2.c" "${binfile}" executable {debug}] != "" } { - perror "Couldn't link langs." - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -gdb_test "b langs0" {Function "langs0" not defined\.} \ - "break on nonexistent function in langs.exp" - -if [runto csub] then { - global noresults - - gdb_test "show language" "currently c\".*" \ - "show language at csub in langs.exp" - # On some machines, foo doesn't get demangled because the N_SOL for - # langs2.cxx is seen only after the function stab for foo. So - # the following regexps are kludged to accept foo__Fi as well as foo, - # even though only the latter is correct. I haven't tried to xfail it - # because it depends on details of the compiler. - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "bt" "#0.*csub.*#1.*(foo|foo__Fi) \\(.*#2.*cppsub_ .*#3.*fsub.*#4.*langs0__2do \\(.*#5 \[0-9a-fx\]* in main.*" "backtrace in langs.exp" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "up" ".* in (foo|foo__Fi) .* at langs2\\.cxx.*return csub \\(.*" \ - "up to foo in langs.exp" - gdb_test "show language" "currently c\\+\\+.*" \ - "show language at foo in langs.exp" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "up" ".* in cppsub_ .* at langs2\\.cxx.*return foo \\(.*" \ - "up to cppsub_ in langs.exp" - gdb_test "show language" "currently c\\+\\+.*" \ - "show language at cppsub_ in langs.exp" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "up" ".* in fsub.* at langs1\\.f.*return \\(cppsub .*" \ - "up to fsub in langs.exp" - gdb_test "show language" "currently fortran.*" \ - "show language at fsub in langs.exp" - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "up" ".* in langs0__2do .* at .*langs0\\.c.*return fsub.*" \ - "up to langs0__2do in langs.exp" - gdb_test "show language" "currently c\".*" \ - "show language at langs0__2do in langs.exp" - - gdb_test "up" ".* in main .* at .*langs0\\.c.*if \\(langs0__2do \\(.*" \ - "up to main in langs.exp" - gdb_test "show language" "currently c\".*" \ - "show language at main in langs.exp" - - if $noresults==1 then { return } - - if [target_info exists use_gdb_stub] { - gdb_test "cont" "Breakpoint .*exit.*" "continue to exit in langs.exp" - } else { - gdb_test "cont" "Program exited normally\\." \ - "continue to exit in langs.exp" - } -} - -return 0 diff --git a/gdb/testsuite/gdb.base/langs0.c b/gdb/testsuite/gdb.base/langs0.c deleted file mode 100644 index 2790e2d..0000000 --- a/gdb/testsuite/gdb.base/langs0.c +++ /dev/null @@ -1,24 +0,0 @@ -/* This file is actually in C, it is not supposed to simulate something - translated from another language or anything like that. */ -int -csub (x) - int x; -{ - return x + 1; -} - -int -langs0__2do () -{ - return fsub_ () + 2; -} - -int -main () -{ - if (langs0__2do () == 5003) - /* Success. */ - return 0; - else - return 1; -} diff --git a/gdb/testsuite/gdb.base/langs1.c b/gdb/testsuite/gdb.base/langs1.c deleted file mode 100644 index 7842259..0000000 --- a/gdb/testsuite/gdb.base/langs1.c +++ /dev/null @@ -1,33 +0,0 @@ -/* langs1.f -- translated by f2c (version of 5 May 1990 1:12:08). */ - -/* f2c output hacked as follows for GDB testsuite: - 1. Change commented out "#" lines to #line directives. - I don't know why this behavior isn't the default for f2c -g. - 2. Remove include of f2c.h and put in just a typedef for "integer". - Additional notes: - 3. f2c was called as "f2c -g langs1.f". - 4. We don't need to use the fortran libraries. */ - -typedef int integer; - -/* Table of constant values */ - -static integer c__10000 = 10000; - -/* I am not sure whether there is a way to have a fortran program without */ -/* a MAIN, but it does not really harm us to have one. */ -/* Main program */ MAIN__() -{ -} /* MAIN__ */ - -#line 4 "langs1.f" -/* Subroutine */ int fsub_() -{ - extern integer cppsub_(); - -#line 5 "langs1.f" -#line 6 "langs1.f" - return cppsub_(&c__10000); -#line 7 "langs1.f" -} /* fsub_ */ - diff --git a/gdb/testsuite/gdb.base/langs1.f b/gdb/testsuite/gdb.base/langs1.f deleted file mode 100644 index 35ce691..0000000 --- a/gdb/testsuite/gdb.base/langs1.f +++ /dev/null @@ -1,7 +0,0 @@ -c I am not sure whether there is a way to have a fortran program without -c a MAIN, but it does not really harm us to have one. - end - subroutine fsub - integer*4 cppsub - return (cppsub (10000)) - end diff --git a/gdb/testsuite/gdb.base/langs2.c b/gdb/testsuite/gdb.base/langs2.c deleted file mode 100644 index 69f290d..0000000 --- a/gdb/testsuite/gdb.base/langs2.c +++ /dev/null @@ -1,15 +0,0 @@ -/* This is intended to be a vague simulation of cfront output. */ -#line 1 "langs2.cxx" -extern int csub (); -int -foo__Fi (x) int x; -{ - return csub (x / 2); -} - -extern int cppsub_ (int *); -int -cppsub_ (y) int *y; -{ - return foo__Fi (*y); -} diff --git a/gdb/testsuite/gdb.base/langs2.cxx b/gdb/testsuite/gdb.base/langs2.cxx deleted file mode 100644 index d8ee56c..0000000 --- a/gdb/testsuite/gdb.base/langs2.cxx +++ /dev/null @@ -1,13 +0,0 @@ -extern "C" int csub (int); -int -foo (int x) -{ - return csub (x / 2); -} - -extern "C" int cppsub_ (int); -int -cppsub_ (int *y) -{ - return foo (*y); -} diff --git a/gdb/testsuite/gdb.base/list.exp b/gdb/testsuite/gdb.base/list.exp deleted file mode 100644 index f38a1dd..0000000 --- a/gdb/testsuite/gdb.base/list.exp +++ /dev/null @@ -1,518 +0,0 @@ -# Copyright (C) 1992, 1994, 1995, 1997 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "list" -set binfile ${objdir}/${subdir}/${testfile} - -# Need to download the header to the host. -remote_download host ${srcdir}/${subdir}/list0.h list0.h - -if { [gdb_compile "${srcdir}/${subdir}/list0.c ${srcdir}/${subdir}/list1.c" ${binfile} executable {debug}] != "" } { - perror "Couldn't compile list0.c list1.c to executable ${binfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# -# Local utility proc just to set and verify listsize -# Return 1 if success, 0 if fail. -# - -proc set_listsize { arg } { - global gdb_prompt - - if [gdb_test "set listsize $arg" "" "setting listsize to $arg"] { - return 0; - } - if { $arg <= 0 } { - set arg "unlimited"; - } - - if [gdb_test "show listsize" "Number of source lines.* is ${arg}.*" "show listsize $arg"] { - return 0; - } - return 1 -} - -# -# Test display of listsize lines around a given line number. -# - -proc test_listsize {} { - global gdb_prompt - - # Show default size - - gdb_test "show listsize" "Number of source lines gdb will list by default is 10.*" "show default list size" - - # Show the default lines - # The second case is for optimized code, it is still correct. - - # This doesn't work for COFF targets. - setup_xfail "a29k-*-udi" - if ![isnative] { - if [target_info exists gdb,start_symbol] { - set startsym [target_info gdb,start_symbol]; - } else { - set startsym "start"; - } - gdb_test "set \$pc=$startsym" "" "" - } - gdb_test "list" "(1\[ \t\]+#include \"list0.h\".*10\[ \t\]+x = 0;|2.*11\[ \t\]+foo .x\[+)\]+;)" "list default lines around main" - - # Ensure we can limit printouts to one line - - if [ set_listsize 1 ] then { - setup_xfail "*-*-*" - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"" "list line 1 with listsize 1" - setup_xfail "*-*-*" - gdb_test "list 2" "2\[ \t\]+" "list line 2 with listsize 1" - } - - # Try just two lines - - if [ set_listsize 2 ] { - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"" "list line 1 with listsize 2" - gdb_test "list 2" "1\[ \t\]+#include \"list0.h\"\r\n2\[ \t\]+" "list line 2 with listsize 2" - gdb_test "list 3" "2\[ \t\]+\r\n3\[ \t\]+main \[)(\]+" "list line 3 with listsize 2" - } - - # Try small listsize > 1 that is an odd number - - if [ set_listsize 3 ] { - setup_xfail "*-*-*" - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"2\[ \t\]+" "list line 1 with listsize 3" - setup_xfail "*-*-*" - gdb_test "list 2" "1\[ \t\]+#include \"list0.h\".*3\[ \t\]+main \[)(\]+" "list line 2 with listsize 3" - - setup_xfail "*-*-*" - gdb_test "list 3" "2\[ \t\]+\r\n3\[ \t\]+main \[(\]+\[)\]+\r\n4\[ \t\]+\{" "list line 3 with listsize 3" - } - - # Try small listsize > 2 that is an even number. - - if [ set_listsize 4 ] then { - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"\r\n2\[ \t\]+" "list line 1 with listsize 4" - gdb_test "list 2" "1\[ \t\]+#include \"list0.h\".*3\[ \t\]+main \[)(\]+" "list line 2 with listsize 4" - - gdb_test "list 3" "1\[ \t\]+#include \"list0.h\".*4\[ \t\]+\{" "list line 3 with listsize 4" - gdb_test "list 4" "2\[ \t\]+\r\n.*5\[ \t\]+int x;.*" "list line 4 with listsize 4" - } - - # Try a size larger than the entire file. - - if [ set_listsize 100 ] then { - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\".*\r\n42\[ \t\]+\}" "list line 1 with listsize 100" - - gdb_test "list 10" "1\[ \t\]+#include \"list0.h\".*\r\n42\[ \t\]+\}" "list line 10 with listsize 100" - } - - # Try listsize of 0 which suppresses printing. - - set_listsize 0 - gdb_test "list 1" "" "listsize of 0 suppresses output" - - # Try listsize of -1 which is special, and means unlimited. - - set_listsize -1 - setup_xfail "*-*-*" - gdb_test "list 1" "1\[ \t\]+#include .*\r\n39\[ \t\]+\}" "list line 1 with unlimited listsize" -} - -# -# Test "list filename:number" for C include file -# - -proc test_list_include_file {} { - global gdb_prompt - - setup_xfail "a29k-*-udi" - setup_xfail_format "DWARF 1" - setup_xfail_format "COFF" - gdb_test "list list0.h:1" "1\[ \t\]+/\[*\]+ An include file .*5\[ \t\]+foo \[(\]+x\[)\]+" "list line 1 in include file" - - setup_xfail "a29k-*-udi" - setup_xfail_format "DWARF 1" - setup_xfail_format "COFF" - gdb_test "list list0.h:100" "Line number 95 out of range; .*list0.h has 36 lines." "list message for lines past EOF" -} - -# -# Test "list filename:number" for C source file -# - -proc test_list_filename_and_number {} { - global gdb_prompt - - set testcnt 0 - - send_gdb "list list0.c:1\n" - gdb_expect { - -re "1\[ \t\]+#include \"list0.h\".*5\[ \t\]+int x;\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list0.c:1" ; gdb_suppress_tests } - timeout { fail "list list0.c:1 (timeout)" ; gdb_suppress_tests } - } - send_gdb "list list0.c:10\n" - gdb_expect { - -re "5\[ \t\]+int x;.*14\[ \t\]+foo .x\[+)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list.c:10" ; gdb_suppress_tests } - timeout { fail "list list.c:10 (timeout)" ; gdb_suppress_tests } - } - send_gdb "list list1.c:1\n" - gdb_expect { - -re "1\[ \t\]+void.*5\[ \t\]+printf \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list1.c:1" ; gdb_suppress_tests } - timeout { fail "list list1.c:1 (timeout)" ; gdb_suppress_tests } - } - send_gdb "list list1.c:12\n" - gdb_expect { - -re "7\[ \t\]+long_line \[(\]+.*\[)\]+;.*14\[ \t\]+\}\r\n.*$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list1.c:12" ; gdb_suppress_tests } - timeout { fail "list list1.c:12 (timeout)" ; gdb_suppress_tests } - } - pass "list filename:number ($testcnt tests)" - gdb_stop_suppressing_tests; -} - -# -# Test "list function" for C source file -# - -proc test_list_function {} { - global gdb_prompt - global gcc_compiled - - # gcc appears to generate incorrect debugging information for code - # in include files, which breaks this test. - # SunPRO cc is the second case below, it's also correct. - setup_xfail "a29k-*-udi" - gdb_test "list main" "(5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;|1\[ \t\]+#include .*8\[ \t\]+breakpoint\[(\]\[)\]+;)" "list function in source file 1" - - # Ultrix gdb takes the second case below; it's also correct. - # SunPRO cc is the third case. - gdb_test "list bar" "(1\[ \t\]+void.*7\[ \t\]*long_line ..;.*9\[ \t\]*|1\[ \t\]+void.*8\[ \t\]+\}|1\[ \t\]+void.*7\[ \t\]*long_line ..;)" "list function in source file 2" - - # Test "list function" for C include file - # Ultrix gdb is the second case, still correct. - # SunPRO cc is the third case. - setup_xfail "powerpc-*-*" - setup_xfail_format "DWARF 1" - gdb_test "list foo" "(3\[ \t\]+.*12\[ \t\]+bar \[(\]+.*\[)\]+;|2\[ \t\]+including file.*11\[ \t\]+bar \[(\]+.*\[)\]+;|1\[ \t\]+/. An include file.*10\[ \t\]+bar \[(\]+.*\[)\]+;)" "list function in include file" -} - -proc test_list_forward {} { - global gdb_prompt - - set testcnt 0 - - send_gdb "list list0.c:10\n" - gdb_expect { - -re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list list0.c:10" ; gdb_suppress_tests } - timeout { fail "list list0.c:10 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list\n" - gdb_expect { - -re "15\[ \t\]+foo \[(\]+.*\[)\]+;.*24\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 15-24" ; gdb_suppress_tests } - timeout { fail "list 15-24 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list\n" - gdb_expect { - -re "25\[ \t\]+foo \[(\]+.*\[)\]+;.*34\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 25-34" ; gdb_suppress_tests } - timeout { fail "list 25-34 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list\n" - gdb_expect { - -re "35\[ \t\]+foo \[(\]+.*\[)\]+;.*42\[ \t\]+\}\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 35-42" ; gdb_suppress_tests } - timeout { fail "list 35-42 (timeout)" ; gdb_suppress_tests } - } - - pass "successive list commands to page forward ($testcnt tests)" - gdb_stop_suppressing_tests; -} - -proc test_list_backwards {} { - global gdb_prompt - - set testcnt 0 - - send_gdb "list list0.c:33\n" - gdb_expect { - -re "28\[ \t\]+foo \[(\]+.*\[)\]+;.*37\[ \t\]+\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list list0.c:33" ; gdb_suppress_tests } - timeout { fail "list list0.c:33 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list -\n" - gdb_expect { - -re "18\[ \t\]+foo \[(\]+.*\[)\]+;.*27\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 18-27" ; gdb_suppress_tests } - timeout { fail "list 18-27 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list -\n" - gdb_expect { - -re "8\[ \t\]+breakpoint\[(\]\[)\];.*17\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 8-17" ; gdb_suppress_tests } - timeout { fail "list 8-17 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list -\n" - gdb_expect { - -re "1\[ \t\]+#include .*7\[ \t\]+set_debug_traps\[(\]\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 1-7" ; gdb_suppress_tests } - timeout { fail "list 1-7 (timeout)" ; gdb_suppress_tests } - } - - pass "$testcnt successive \"list -\" commands to page backwards" - gdb_stop_suppressing_tests; -} - -# -# Test "list first,last" -# - -proc test_list_range {} { - global gdb_prompt - - gdb_test "list list0.c:2,list0.c:5" "2\[ \t\]+\r\n3\[ \t\]+main \[)(\]+.*5\[ \t\]+int x;" "list range; filename:line1,filename:line2" - - gdb_test "list 2,5" "2\[ \t\]+\r\n3\[ \t\]+main \[)(\]+.*5\[ \t\]+int x;" "list range; line1,line2" - -# gdb_test "list -1,6" "Line number 0 out of range; .*list0.c has 39 lines." "list range; lower bound negative" - -# gdb_test "list -100,-40" "Line number -60 out of range; .*list0.c has 39 lines." "list range; both bounds negative" - - gdb_test "list 30,43" "30\[ \t\]+foo \[(\]+.*\[)\]+;.*42\[ \t\]+\}" "list range; upper bound past EOF" - - gdb_test "list 43,100" "Line number 43 out of range; .*list0.c has 42 lines." "list range; both bounds past EOF" - - gdb_test "list list0.c:2,list1.c:17" "Specified start and end are in different files." "list range, must be same files" -} - -# -# Test "list filename:function" -# - -proc test_list_filename_and_function {} { - global gdb_prompt - - set testcnt 0 - - # gcc appears to generate incorrect debugging information for code - # in include files, which breaks this test. - # SunPRO cc is the second case below, it's also correct. - setup_xfail "a29k-*-udi" - send_gdb "list list0.c:main\n" - gdb_expect { - -re "1\[ \t\]+#include .*8\[ \t\]+breakpoint\[(\]\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - pass "list function in source file 1" - } - -re ".*$gdb_prompt $" { fail "list list0.c:main" } - timeout { fail "list list0.c:main (timeout)" } - } - - # The i960 and a29k-amd-udi are the second case - - # Not sure what the point of having this function be unused is. - # AIX is legitimately removing it. - setup_xfail "rs6000-*-aix*" - send_gdb "list list0.c:unused\n" - gdb_expect { - -re "36\[ \t\]+\}.*42\[ \t\]+\}\r\n$gdb_prompt $" { - incr testcnt - } - -re "37.*42\[ \t\]+\}\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list0.c:unused" } - timeout { fail "list list0.c:unused (timeout)" } - } - clear_xfail "rs6000-*-aix*" - - # gcc appears to generate incorrect debugging information for code - # in include files, which breaks this test. - # Ultrix gdb is the second case, one line different but still correct. - # SunPRO cc is the third case. - setup_xfail "rs6000-*-*" 1804 - setup_xfail "powerpc-*-*" 1804 - setup_xfail "a29k-*-udi" - setup_xfail_format "DWARF 1" - setup_xfail_format "COFF" - send_gdb "list list0.h:foo\n" - gdb_expect { - -re "2\[ \t\]+including file. This.*11\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re "1\[ \t\]+/. An include file.*10\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re "3\[ \t\]+.*12\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re "No source file named list0.h.\r\n$gdb_prompt $" { - fail "list list0.h:foo" - } - -re ".*$gdb_prompt $" { fail "list list0.h:foo" } - timeout { fail "list list0.h:foo (timeout)" } - } - - # Ultrix gdb is the second case. - # a29k-amd-udi is the third case. - send_gdb "list list1.c:bar\n" - gdb_expect { - -re "1\[ \t\]+void.*8\[ \t\]+\}\r\n$gdb_prompt $" { - incr testcnt - } - -re "1\[ \t\]+void.*7\[ \t\]*long_line ..;\r\n$gdb_prompt $" { - incr testcnt - } - -re "1\[ \t\]+void.*9\[ \t\]*\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list1.c:bar" } - timeout { fail "list list1.c:bar (timeout)" } - } - - # The i960 and a29k-amd-udi are the second case - - # Not sure what the point of having this function be unused is. - # AIX is legitimately removing it. - setup_xfail "rs6000-*-aix*" - send_gdb "list list1.c:unused\n" - gdb_expect { - -re "7\[ \t\]+long_line \[(\]\[)\];.*14\[ \t\]+\}\r\n.*$gdb_prompt $" { - incr testcnt - } - -re "9.*14\[ \t\]+\}\r\n.*$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list1.c:unused" } - timeout { fail "list list1.c:unused (timeout)" } - } - clear_xfail "rs6000-*-aix*" - - pass "list filename:function ($testcnt tests)" - - # Test some invalid specs - # The following test takes the FIXME result on most systems using - # DWARF. It fails to notice that main() is not in the file requested. - - setup_xfail "*-*-*" - -# Does this actually work ANYWHERE? I believe not, as this is an `aspect' of -# lookup_symbol(), where, when it is given a specific symtab which does not -# contain the requested symbol, it will subsequently search all of the symtabs -# for the requested symbol. - - gdb_test "list list0.c:foo" "Function \"foo\" not defined in .*list0.c" "list filename:function; wrong filename rejected" - - gdb_test "list foobar.c:main" "No source file named foobar.c." "list filename:function; nonexistant file" - - setup_xfail_format "DWARF 1" - gdb_test "list list0.h:foobar" "Function \"foobar\" not defined." "list filename:function; nonexistant function" - -} - -proc test_forward_search {} { - global timeout - - gdb_test "set listsize 4" "" - # On SunOS4, this gives us lines 19-22. On AIX, it gives us - # lines 20-23. This depends on whether the line number of a function - # is considered to be the openbrace or the first statement--either one - # is acceptable. - gdb_test "list long_line" "20\[ \t\]+long_line .*" - - gdb_test "search 4321" " not found" - - gdb_test "search 6789" "24\[ \t\]+oof .6789.;" - - # Test that GDB won't crash if the line being searched is extremely long. - - set oldtimeout $timeout - set timeout [expr "$timeout + 300"] - verbose "Timeout is now $timeout seconds" 2 - gdb_test "search 1234" ".*1234.*" "search extremely long line (> 5000 chars)" - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if [target_info exists gdb_stub] { - send_gdb "step\n" - # if use stubs step out of the breakpoint() function. - gdb_expect { - -re "main.* at .*$gdb_prompt $" {} - -re ".*in .*start.*$gdb_prompt $" {} - timeout { fail "single step at breakpoint() (timeout)" } - } -} - -gdb_test "set width 0" "" "set width 0" - -test_listsize -get_debug_format -if [ set_listsize 10 ] then { - test_list_include_file - test_list_filename_and_number - test_list_function - test_list_forward - test_list_backwards - test_list_range - test_list_filename_and_function - test_forward_search -} diff --git a/gdb/testsuite/gdb.base/list0.c b/gdb/testsuite/gdb.base/list0.c deleted file mode 100644 index d888870..0000000 --- a/gdb/testsuite/gdb.base/list0.c +++ /dev/null @@ -1,39 +0,0 @@ -#include "list0.h" - -main () -{ - int x; - - x = 0; - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); -} - -static void -unused () -{ - /* Not used for anything */ -} diff --git a/gdb/testsuite/gdb.base/list0.h b/gdb/testsuite/gdb.base/list0.h deleted file mode 100644 index c4d337c..0000000 --- a/gdb/testsuite/gdb.base/list0.h +++ /dev/null @@ -1,36 +0,0 @@ -/* An include file that actually causes code to be generated in the - including file. This is known to cause problems on some systems. */ - -static void -foo (x) -int x; -{ - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); -} diff --git a/gdb/testsuite/gdb.base/list1.c b/gdb/testsuite/gdb.base/list1.c deleted file mode 100644 index 0b362a4..0000000 --- a/gdb/testsuite/gdb.base/list1.c +++ /dev/null @@ -1,12 +0,0 @@ -void -bar (x) -int x; -{ - printf ("%d\n", x); -} - -static void -unused () -{ - /* Not used for anything */ -} diff --git a/gdb/testsuite/gdb.base/m68k-aout.u b/gdb/testsuite/gdb.base/m68k-aout.u deleted file mode 100644 index 3095fc0..0000000 --- a/gdb/testsuite/gdb.base/m68k-aout.u +++ /dev/null @@ -1,459 +0,0 @@ -begin 777 m68k-aout -M !"P $ ! #$@ -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M $Y6__!(USB 2^X !$GM 0F3$J<9ORYTV4"68PCS $ 0O.0 $ 0O"R\5 -M8?\ %"WOP #"\ 8?\ -.6(],[CB __!.7DYU3E8 $Y>3G4 $@. -M $C7 !P & ).7DYU2 X 2-< ' 8 DY>3G5(#@ !(UP -M< !@ "3EY.=4@. $C7 !P & ).7DYU2 X 2-< ' 8 -M DY>3G5(#@ !(UP < !@ "3EY.=4@. $C7 !"@& ).7DYU -M2 X 2-< $* 8 DY>3G5(#@ !(UP 0H!@ "3EY.=4@. -M $C7 !"@& ).7DYU2 X 2-< $* 8 DY>3G5(#@ !(UP -M0H!@ "3EY.=4@. $C7 #R %P/8 DY>3G5(#@ !(UP \@!< -M#V ).7DYU2 X 2-< $(Y 0-!/\ $ ! V$_P @ $#@S_ # -M 0.C/\ 0 ! \,_P !0 $#YP!B/ 00' '(\ !!$< @CP $$AP -M"2/ 03' *(\ !!0< LCP $%0C_$+( !!8(_Q :0 07"/\ -M $& 3^0 $#0 !!D$_D ! V 09A/Y 0. $&@S^0 $#H -M !!L,_D ! \ 0<#/Y 0/@ $'0C^0 $$ !!\(_D !!$ 0A"/Y -M 02 $(PC^0 $$P !"4(_D !!0 0G"/Y 05 $*0C^0 $%@ -M !"L(_D !!< 0M"/Y 08 $+@C_ $#0 !#$(_P ! V 0R"/\ -M 0. $,PC_ $#H !#0(_P ! \ 0U"/\ 0/@ $-@C_ $$ -M !#<(_P !!$ 0X"/\ 02 $.0C_ $$P !#H(_P !!0 0["/\ -M 05 $/ C_ $%@ !#T(_P !!< 0^' "(\ !'4< (CP $=AP -M 2/ 1X' !(\ !'<(_D !$\ 11#/Y 1+ $31.7DYU0"@C*61B -M>'AX+G,)-2XR("A"97)K96QE>2D@-R\Q,B\X-0 2'D !'H('D !'D3I!8 -MCTYR"HQ.5@ 8?\ 6+RX "&'_ %%B/3EY.=0 3E8 $Y>3G5.5@ -M< %.0"/ 3Y'#_3EY.=0 -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M ! , $YU ! *",I8W)T,"YC"30N-B H0F5R:V5L97DI(#,O,S O -M.#, ! -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M ! 0 &0 "P0 )( !4 $V0 !4 &X -M /8 3X <H -MC( IX Q8 WX -M ^( !"8 !'( !*( -M !,B $ !/" $ !32 $ !8" -M ( !:R ( !?2 ( !D2 0 ! -MFB 0 !JB 0 !O" 0 !QB 0 -M !UR 0 !ZB 0 !]2 @ " B $ -M "'2 $ "-2 $ "62 ( "=2 -M ( "CB ( "LR 0 "S2 0 " -MY" 0 #!R 0 #&" 0 #," 0 -M #2B 0 #9B @ #A" $ #FB $ -M #M" $ #TR ( #ZB ( $!2 -M ( $)2 0 $.B 0 $4R 0 $ -M<2 0 $A" 0 $GB 0 $NB 0 -M $T2 @ $ZH !C___L% %@R !@ %D2 !@ -M &*X C___L% &O" @ &R" @ '6B0 -M $ !4 $0 'D !> ':20 $ !H $0 'H !R ' -M?R0 $ !\ $0 'L "& 'ER0 ( "0 $0 'T ": -M 'IR0 ( "D $0 'X "N 'OB0 ( "X $0 '\ -M #" 'UR0 0 #, $0 ($ #6 'Y20 0 #@ $0 -M (( #J '^B0 0 #T $0 (, #^ ($20 0 $( -M $0 (4 $2 (("0 0 $< $0 (8 $F (-B0 0 $P -M $0 (< $Z (3B0 0 %$ $0 (D %. (7B0 @ -M %: $0 (H %D (<( )C___L% (W" )@ (YX -M )#___L% ))R ) ),B 0 )5H 3___L% ) -M?2 0 )C" 0 )JH 3___L% )QB 0 -M )U( 3___L% )\H 3___L% *#H 3___L% *&X 3_ -M__L% *2"0 0 %P $0 +( %Z $0 +, %Z $0 -M +0 %Z $0 +4 %Z $0 +8 & $0 +< &( -M $0 +@ &0 $0 +D &0 $0 +H &8 $0 +L &@ -M $0 +P &H $0 +T &H $0 +X &P $0 +\ -M &X $0 , ' $0 ,$ ' $0 ,( '( $0 -M ,, '0 $0 ,0 '8 $0 ,4 '8 $0 ,8 'B -M $0 ,< 'V $0 ,@ 'V $0 ,D 'V $0 ,H ( -M $0 ,L (* $0 ,P (4 $0 ,T (4 $0 ,X -M (> $0 ,\ (H $0 - (R $0 -$ (R $0 -M -( (\ $0 -, )& $0 -0 )0 $0 -4 )0 -M $0 -8 ): $0 -< )D $0 -@ )N $0 -D )N -M $0 -H )X $0 -L *, $0 -P *, $0 -T -M *6 $0 -X *@ $0 -\ *J $0 . *J $0 -M .$ *T $0 .( *^ $0 ., +( $0 .0 +( -M $0 .4 +2 $0 .8 +< $0 .< +F $0 .@ +F -M $0 .D +P $0 .H +Z $0 .L ,$ $0 .P -M ,$ $0 .T ,. $0 .X ,8 $0 .\ ,8 $0 -M / ,@ $0 /$ ,H $0 /( ,P $0 /, ,X -M $0 /0 ,X $0 /4 -" $0 /8 -" $0 /< -, -M *4 0 /< -0 *5 0 -0 *7 0 .( *8P0 !N( -M .D *:P0 Y8 .L *<P0 !N( .T *? < !7( ! $ *A04 -M!0X *BP4 WX %P *D04 Z .( *EP4 !BX !* * -MHP< )( ! ( *J@D !T8 ! T *L@D !^X ! V *P0D !&8 ! X -M *T@D !YH ! Z *VPD $P ! \ *ZPD =H ! ^ *_0D !_ -M !! +! D "$0 !!$ +$@D !H !!( +(@D ![D !!, +*@D -M"&$ !!0 +.0D !-D !!4 +2@D !L@ !!8 +4PD !6L !!< + -M70D !W, !!D +:PD !ET !!F +@ D !&D !!H +EPD ID !!L -M +I@D &T !!P +O D !2, !!T +U D !MT !!\ +X0D @, -M !"$ +]0D 0D !", ,"PD ;L !"4 ,&0D *4 !"< ,+@D -M!T\ !"D ,10D <T !"L ,5 D +D !"T ,9 D "%( !#$ , -M= D _H !#( ,BPD !,@ !#, ,I D !B8 !#0 ,M0D !A0 !#4 -M ,S0D !ZP !#8 ,YPD !?H !#< ,]@D \X !#@ -# D "(0 -M !#D -) D JX !#H -- D !O0 !#L -2PD !\( !#P -9 D -M O8 !#T -=0D !T0 !#X -APD !RL !#\ -D@D !RP !$4 - -MG0D !\8 !$L -I@D !R !$T -L 4 ZL !4 -O04 !V\ !H -M -T04 !G4 !\ -YP4 !8T "0 -]04 !'< "D ."@4 H, -M "X .(04 !Z\ #, .+04 /, #@ .0 4 !,4 #T .504 -M ,\ $( .8@4 !), $< .=@4 YD $P .C 4 !2< %$ . -MF@4 !)T %: .J0D !T4 !$\ .L0D !X4 !%$ .N0D !\\ !'4 -M .P@D G< !'8 .S@D !)X !'< .UPD O@ !'@ .X@D 2< -M !'D .ZP4 :D -T .] 4 ;0 .$ ._0< !,8 ! P /!P4 -M Y8 .D /$04 !N( .L /& 4 "!P .T /'PD !Y< !/D / -M)F-R=# N;P!G9&)M92YO &=D8FUE+F, :6YT.G0Q/7(Q.RTR,30W-#@S-C0X -M.S(Q-#<T.#,V-#<[ &-H87(Z=#(]<C([,#LQ,C<[ &QO;F<Z=#,]<C$[+3(Q -M-#<T.#,V-#@[,C$T-S0X,S8T-SL <VAO<G0Z=#0]<C$[+3,R-S8X.S,R-S8W -M.P!U;G-I9VYE9"!C:&%R.G0U/7(Q.S [,C4U.P!U;G-I9VYE9"!S:&]R=#IT -M-CUR,3LP.S8U-3,U.P!U;G-I9VYE9"!L;VYG.G0W/7(Q.S [+3$[ '5N<VEG -M;F5D(&EN=#IT.#UR,3LP.RTQ.P!F;&]A=#IT.3UR,3LT.S [ &1O=6)L93IT -M,3 ]<C$[.#LP.P!V;VED.G0Q,3TQ,0 _/S\Z=#$R/3$ =E]C:&%R.D<R '9? -M<VEG;F5D7V-H87(Z1S( =E]U;G-I9VYE9%]C:&%R.D<U '9?<VAO<G0Z1S0 -M=E]S:6=N961?<VAO<G0Z1S0 =E]U;G-I9VYE9%]S:&]R=#I'-@!V7VEN=#I' -M,0!V7W-I9VYE9%]I;G0Z1S$ =E]U;G-I9VYE9%]I;G0Z1S@ =E]L;VYG.D<Q -M '9?<VEG;F5D7VQO;F<Z1S$ =E]U;G-I9VYE9%]L;VYG.D<X '9?9FQO870Z -M1SD =E]D;W5B;&4Z1S$P '9?8VAA<E]A<G)A>3I',3,]87(Q.S [,3LR '9? -M<VEG;F5D7V-H87)?87)R87DZ1S$S '9?=6YS:6=N961?8VAA<E]A<G)A>3I' -M,30]87(Q.S [,3LU '9?<VAO<G1?87)R87DZ1S$U/6%R,3LP.S$[- !V7W-I -M9VYE9%]S:&]R=%]A<G)A>3I',34 =E]U;G-I9VYE9%]S:&]R=%]A<G)A>3I' -M,38]87(Q.S [,3LV '9?:6YT7V%R<F%Y.D<Q-SUA<C$[,#LQ.S$ =E]S:6=N -M961?:6YT7V%R<F%Y.D<Q-P!V7W5N<VEG;F5D7VEN=%]A<G)A>3I',3@]87(Q -M.S [,3LX '9?;&]N9U]A<G)A>3I',3< =E]S:6=N961?;&]N9U]A<G)A>3I' -M,3< =E]U;G-I9VYE9%]L;VYG7V%R<F%Y.D<Q. !V7V9L;V%T7V%R<F%Y.D<Q -M.3UA<C$[,#LQ.SD =E]D;W5B;&5?87)R87DZ1S(P/6%R,3LP.S$[,3 =E]C -M:&%R7W!O:6YT97(Z1S(Q/2HR '9?<VEG;F5D7V-H87)?<&]I;G1E<CI',C$ -M=E]U;G-I9VYE9%]C:&%R7W!O:6YT97(Z1S(R/2HU '9?<VAO<G1?<&]I;G1E -M<CI',C,]*C0 =E]S:6=N961?<VAO<G1?<&]I;G1E<CI',C, =E]U;G-I9VYE -M9%]S:&]R=%]P;VEN=&5R.D<R-#TJ-@!V7VEN=%]P;VEN=&5R.D<R-3TJ,0!V -M7W-I9VYE9%]I;G1?<&]I;G1E<CI',C4 =E]U;G-I9VYE9%]I;G1?<&]I;G1E -M<CI',C8]*C@ =E]L;VYG7W!O:6YT97(Z1S(U '9?<VEG;F5D7VQO;F=?<&]I -M;G1E<CI',C4 =E]U;G-I9VYE9%]L;VYG7W!O:6YT97(Z1S(V '9?9FQO871? -M<&]I;G1E<CI',C<]*CD =E]D;W5B;&5?<&]I;G1E<CI',C@]*C$P '1?<W1R -M=6-T.E0R.3US,C1V7V-H87)?;65M8F5R.C(L,"PX.W9?<VAO<G1?;65M8F5R -M.C0L,38L,38[=E]I;G1?;65M8F5R.C$L,S(L,S([=E]L;VYG7VUE;6)E<CHQ -M+#8T+#,R.W9?9FQO871?;65M8F5R.CDL.38L,S([=E]D;W5B;&5?;65M8F5R -M.C$P+#$R."PV-#L[ '9?<W1R=6-T,3I',CD =E]S=')U8W0R.D<S,#US,C1V -M7V-H87)?;65M8F5R.C(L,"PX.W9?<VAO<G1?;65M8F5R.C0L,38L,38[=E]I -M;G1?;65M8F5R.C$L,S(L,S([=E]L;VYG7VUE;6)E<CHQ+#8T+#,R.W9?9FQO -M871?;65M8F5R.CDL.38L,S([=E]D;W5B;&5?;65M8F5R.C$P+#$R."PV-#L[ -M '1?=6YI;VXZ5#,Q/74X=E]C:&%R7VUE;6)E<CHR+# L.#MV7W-H;W)T7VUE -M;6)E<CHT+# L,38[=E]I;G1?;65M8F5R.C$L,"PS,CMV7VQO;F=?;65M8F5R -M.C$L,"PS,CMV7V9L;V%T7VUE;6)E<CHY+# L,S([=E]D;W5B;&5?;65M8F5R -M.C$P+# L-C0[.P!V7W5N:6]N.D<S,0!V7W5N:6]N,CI',S(]=3AV7V-H87)? -M;65M8F5R.C(L,"PX.W9?<VAO<G1?;65M8F5R.C0L,"PQ-CMV7VEN=%]M96UB -M97(Z,2PP+#,R.W9?;&]N9U]M96UB97(Z,2PP+#,R.W9?9FQO871?;65M8F5R -M.CDL,"PS,CMV7V1O=6)L95]M96UB97(Z,3 L,"PV-#L[ '9?8VAA<E]F=6YC -M.D8R '9?<VEG;F5D7V-H87)?9G5N8SI&,@!V7W5N<VEG;F5D7V-H87)?9G5N -M8SI&-0!V7W-H;W)T7V9U;F,Z1C0 =E]S:6=N961?<VAO<G1?9G5N8SI&- !V -M7W5N<VEG;F5D7W-H;W)T7V9U;F,Z1C8 =E]I;G1?9G5N8SI&,0!V7W-I9VYE -M9%]I;G1?9G5N8SI&,0!V7W5N<VEG;F5D7VEN=%]F=6YC.D8X '9?;&]N9U]F -M=6YC.D8Q '9?<VEG;F5D7VQO;F=?9G5N8SI&,0!V7W5N<VEG;F5D7VQO;F=? -M9G5N8SI&. !V7V9L;V%T7V9U;F,Z1CD =E]D;W5B;&5?9G5N8SI&,3 ;&EN -M:SI4,S,]<S$U,FYE>'0Z,S0]*C,S+# L,S([;&EN:V9U;F,Z,S4]*C,V/68S -M-"PS,BPS,CMS='5F9CHS-SUA<C$[,#LP.S,X/6%R,3LP.S$[,SD]87(Q.S [ -M,CLR.2PV-"PQ,34R.SL <U]L:6YK.D<S- !T=5]L:6YK.E0T,#UU,30T;F5X -M=#HS-"PP+#,R.VQI;FMF=6YC.C,U+# L,S([<W1U9F8Z,S<L,"PQ,34R.SL -M=5]L:6YK.D<T, !P<FEM87)Y.D<T,3UE<F5D.C L9W)E96XZ,2QB;'5E.C(L -M.P!C;VQO<G,Z5#0R/65Y96QL;W<Z,"QP=7)P;&4Z,2QP:6YK.C(L.P!N;VYP -M<FEM87)Y.D<T,@!C;'5N:V5R.D<T,SUE8VAE=GDZ,"QF;W)D.C$L.P!C87)S -M.E0T-#UE8FUW.C L<&]R<V-H93HQ+#L <W!O<G1S8V%R.D<T- !B;V]L96%N -M.G0T-3UE1D%,4T4Z,"Q44E5%.C$L.P!B=F%L<SI4-#8]969A;'-E.C L=')U -M93HQ+#L 8F]O;&5A;C(Z=#0V &UI<V]R9&5R960Z5#0W/65T=V\Z,BQO;F4Z -M,2QZ97)O.C L=&AR964Z,RP[ &UA:6XZ1C$ +6QG %]S8V-S:60 97AI="YO -M &9A:V-U+F\ 7V5X:70N;P!C97)R;W(N;P!?96YV:7)O;@!S=&%R= !?;6%I -M;@!?97AI= !?;6]N8V]N=')O; !M8V]U;G0 7W9?8VAA<@!?=E]S:6=N961? -M8VAA<@!?=E]U;G-I9VYE9%]C:&%R %]V7W-H;W)T %]V7W-I9VYE9%]S:&]R -M= !?=E]U;G-I9VYE9%]S:&]R= !?=E]I;G0 7W9?<VEG;F5D7VEN= !?=E]U -M;G-I9VYE9%]I;G0 7W9?;&]N9P!?=E]S:6=N961?;&]N9P!?=E]U;G-I9VYE -M9%]L;VYG %]V7V9L;V%T %]V7V1O=6)L90!?=E]C:&%R7V%R<F%Y %]V7W-I -M9VYE9%]C:&%R7V%R<F%Y %]V7W5N<VEG;F5D7V-H87)?87)R87D 7W9?<VAO -M<G1?87)R87D 7W9?<VEG;F5D7W-H;W)T7V%R<F%Y %]V7W5N<VEG;F5D7W-H -M;W)T7V%R<F%Y %]V7VEN=%]A<G)A>0!?=E]S:6=N961?:6YT7V%R<F%Y %]V -M7W5N<VEG;F5D7VEN=%]A<G)A>0!?=E]L;VYG7V%R<F%Y %]V7W-I9VYE9%]L -M;VYG7V%R<F%Y %]V7W5N<VEG;F5D7VQO;F=?87)R87D 7W9?9FQO871?87)R -M87D 7W9?9&]U8FQE7V%R<F%Y %]V7V-H87)?<&]I;G1E<@!?=E]S:6=N961? -M8VAA<E]P;VEN=&5R %]V7W5N<VEG;F5D7V-H87)?<&]I;G1E<@!?=E]S:&]R -M=%]P;VEN=&5R %]V7W-I9VYE9%]S:&]R=%]P;VEN=&5R %]V7W5N<VEG;F5D -M7W-H;W)T7W!O:6YT97( 7W9?:6YT7W!O:6YT97( 7W9?<VEG;F5D7VEN=%]P -M;VEN=&5R %]V7W5N<VEG;F5D7VEN=%]P;VEN=&5R %]V7VQO;F=?<&]I;G1E -M<@!?=E]S:6=N961?;&]N9U]P;VEN=&5R %]V7W5N<VEG;F5D7VQO;F=?<&]I -M;G1E<@!?=E]F;&]A=%]P;VEN=&5R %]V7V1O=6)L95]P;VEN=&5R %]V7W-T -M<G5C=#$ 7W9?<W1R=6-T,@!?=E]U;FEO;@!?=E]U;FEO;C( 7W9?8VAA<E]F -M=6YC %]V7W-I9VYE9%]C:&%R7V9U;F, 7W9?=6YS:6=N961?8VAA<E]F=6YC -M %]V7W-H;W)T7V9U;F, 7W9?<VEG;F5D7W-H;W)T7V9U;F, 7W9?=6YS:6=N -M961?<VAO<G1?9G5N8P!?=E]I;G1?9G5N8P!?=E]S:6=N961?:6YT7V9U;F, -M7W9?=6YS:6=N961?:6YT7V9U;F, 7W9?;&]N9U]F=6YC %]V7W-I9VYE9%]L -M;VYG7V9U;F, 7W9?=6YS:6=N961?;&]N9U]F=6YC %]V7V9L;V%T7V9U;F, -M7W9?9&]U8FQE7V9U;F, 7W-?;&EN:P!?=5]L:6YK %]P<FEM87)Y %]N;VYP -M<FEM87)Y %]C;'5N:V5R %]S<&]R='-C87( 7U]D8F%R9W, 7U]D8G-U8F, -M7U]D8G-U8FX 7U]L9U]F;&%G %]?8VQE86YU< !?7V5X:70 8V5R<F]R %]E -M<G)N;P -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -% - -end diff --git a/gdb/testsuite/gdb.base/m68k-aout2.u b/gdb/testsuite/gdb.base/m68k-aout2.u deleted file mode 100644 index b920961..0000000 --- a/gdb/testsuite/gdb.base/m68k-aout2.u +++ /dev/null @@ -1,2208 +0,0 @@ -begin 777 m68k-aout2 -M 0(!"P @ , 'B0 " @ !-^ )!='[P $(@+E -M@4GS& 0CS " !*N0 (@9G &80 *DA42%,O DZY BF$ZY C9M[\ -M PO $ZY F0%B/+P!.N0 )MA.5O_(2.<P $AZ :Q(> 2'H!BDZZ 3;? -M_ @M0/_P2'@ ($AN_\@O $ZZ 3S?_ ! ,@ "!G"$'Z 79@ $T -M#&X!"__*9O D/ '__4KO_, H+__@ !H( @ ( +0KO_0T*[_U$AZ 6)( -M> +R[_\"\Z 9@O.@&@+P!(> 3KH S-_\ &"U _^@O+O_,+R[_\"\Z -M 7@O.@%X+R[_T" "T*[_Z"\ 3KH HM_\ &"8 E*[_S"\"("[_Z-"N_\PO -M $ZZ )#?_ Q(>@$B2'@ $AZ ,E.N@!F4(\M0/_L2J[_U&8$6(]@(DAX -M O "\Z 1@O.@$8+R[_U-:N_] O TZZ $3?_ !Q!^O[(+4C__"UY ( -M /_X+7H ;/_T2&[_Z$AX $@;O_HT>[_W$Z04(],WP ,3EY.=2!O Q(> % -M8!P@;P <2'@ 1V 2(&\ #$AX $E@""!O !!(> #3D!E DYU+QA(4$AX )( -M> 2'@ !$Y +WP !_ 1(> !3D +W5S<B]L:6(O;&0N<V\ +V1E -M=B]Z97)O 88W)T,#H@;F\@+W5S<B]L:6(O;&0N<V\* )6-R=# Z -M("]U<W(O;&EB+VQD+G-O(&UA<'!I;F<@9F%I;'5R90H $V-R=# Z(&YO -M("]D978O>F5R;PH @ H !( ' !0 $[Y ER 3E8 -M $* 8 DY>3G5.5@ 0H!@ "3EY.=4Y6 !"@& ).7DYU3E8 $* -M8 DY>3G5.5@ 0H!@ "3EY.=4Y6 !"@& ).7DYU3E8 $* 8 -M DY>3G5.5@ 0H!@ "3EY.=4Y6 !"@& ).7DYU3E8 $* 8 DY> -M3G5.5@ 0H!@ "3EY.=4Y6 !"@& ).7DYU3E8 ' 8 DY>3G5. -M5@ < !R & ).7DYU3E8 &'_ "0D(Y *P4!/\ $ K!2$_P @ " -ML%0S_ # *P5C/\ 0 K!8,_P !0 "L%IP!B/ *P7' '(\ K!@< @C -MP "L&1P"2/ *P:' *(\ K!L< LCP "L' C_$+( K!T(_Q :0 -M *P>$*Y *P?!/Y *P4 "L( 3^0 "L%( K""$_D K!4 *PA#/Y *P -M5@ "L(@S^0 "L%@ K",,_D K!: *PD"/Y *P7 "L)@C^0 "L& K"@ -M(_D K!D *PJ"/Y *P: "L+ C^0 "L&P K"X(_D K!P *PP"/Y *P -M= "L,@C^0 "L'@ K#0(_D K!\ *PU"/\ *P4 "L. C_ "L%( K#D -M(_P K!4 *PZ"/\ *P5@ "L.PC_ "L%@ K#P(_P K!: *P]"/\ *P -M7 "L/@C_ "L& K#\(_P K!D *Q "/\ *P: "L00C_ "L&P K$( -M(_P K!P *Q#"/\ *P= "L1 C_ "L'@ K$4< (CP "L1@CP "L1QP -M 2/ *Q("/ *Q)"/Y *Q* "L3 S^0 "L< K'(3EY.=0 3E8 "\+ -M+PI"@$'Y *R#$J09PA82%* 2I!F^$J ;Q1'^0 "L@A%\PP (%).D%E*M\IM -M]B1N__@F;O_\3EY.=4Y6 O"D7Y *R%$J29P@@6DZ02I)F^$*G2'D "5 -M8?\ #F)&[__$Y>3G5.5@ 2KD @ \9@IP 2/ ( /&&\3EY.=4CG@,!. -MN0 *\A*0&<,3KD "MH3-\# 4YU2'@ /4AZ !9(> "3KD ";.2'@ 8TZY -M FV$U#-C@X.#$@9FQO871I;F<@<&]I;G0@;F]T(&%V86EL86)L92 M+2!P -M<F]G<F%M(')E<75I<F5S(&ET"@ $Y6__A(UR" +BX "& 4(^T " " -MLA@O+0 $+P<@54Z04$\J>0 "LAA*C6;B3KD ";P+P=.N0 )MA83TSN((#_ -M^$Y>3G4 $Y6__PNC4AX Q.N0 +PA83RI 2HUF!'#_8!HJK@ (*VX # $ -M*WD K(8 @CS0 "LAAP "IN__Q.7DYU !.^0 )N!(> $3D!E\DYU2'@ -M 4Y CP " $1P_TYU 3E8 $AY G!DZY W(%A/3EY.=4Y6 -M__A(UR" *FX "'[_2HUG<# M ! "@ 0-G.C M ! ( &9C P+0 0" -M F<$?@!@#$A53KD ">46$\N ! M !))P"\ 3KD #AV6$]*@&P"?O\P+0 0 -M" V<0+RT "$ZY P'EA/0JT "$)M !!"E2MM @ !$*M P@!TSN((#_ -M^$Y>3G5.5O_\+HTJ;@ (,"T $ @ %F)F \,"T $ @ %G)$JM AG'B M -M 2PK0 (8Q1(54ZY I8EA/,"T $ @ )GTC M ! ( %9P1P_V "< J -M;O_\3EY.=4Y6_^Q(UR# *FX #!PN LP+0 0 H "2#( ""9CP@+0 ( -MT*T #+"M 1C "\(&T !%)(*T@ !!%&__\,!@ *9@ !'DA53KD "EB6$]^ -M_["'9@ !#& 00P+0 0?A; AWX&L(=F,!U&__]"E4AX %(;O__$"T $DG -M+P!.N0 )LY^ ;"'9P U@!M " $'#_8 SC M !!^$L"'?@*PAV8@2JT -M"&<:("T !+"M AF)$J59B P+0 0 H "$9A1(54ZY IYEA/2H!G!G#_ -M8 C# M ! "@ (1F /\F2%5.N0 *6)83U.5;1 @;0 $4D@K2 $$4;_ -M_V!,,"T $ @ =G,B 51("PK0 ,;"@@;0 $$(8,!@ *9Q @;0 $4D@K2 $ -M$"C__V <2%4@;0 $< 0$& &2%5P ! &+P!.N0 )_!03S M ! ( %9P1P -M_V $< 0!DSN(,#_[$Y>3G5.5O_P2-<PP"IN @H;0 (+"T !)R,*TP !# M -M ! "@ (1G!'X 8 0N+0 ,*H=*E6P$?@!@ BX5("T "-"M R0K0 $L(=L -M"DA53KD "M 6$]*AF\@+P9(5! M !))P"\ 3KD ";.O(!G"@!M " $'#_ -M8 )P $SN,,#_\$Y>3G5.5O_X2-<@@"IN @P+0 0?A+ AWX"L(=G'C M ! " -M@ 0)F!'#_8&AP[\!M !!R H!!.T $# M ! ( &9DY*K0 (9@I(54ZY -M J@EA/("T !+"M AF-# M ! "@ (1F*"JM Q*E6P$?@!@ BX5("T -M"-"M R0K0 $L(=L"DA53KD "M 6$]P $SN((#_^$Y>3G5.5O^T2-<@P"IN -M @0+0 22< L # M ! ( "9Q8@>0 " I1!\&X *T@ "'X(*T< #&!Z+P9. -MN0 -7!83TJ 9PX ;0" ! N/ (!@'DAN_\0O!DZY XAE!/2H!M!BXN -M__!N!BX\ $ " '4( O $ZY O"%A/*T "&<, &T " 0*T< #& @('D -M @*40?!N "M( A^""M' P";?]_ ! ;0 $ ! K;0 ( 1,[B# _[1.7DYU -M3E;_]")N @@:0 (T>D #" (D*D !&H&(T@ !& &L)%L B* 3EY.=4CGP, @ -M.0 " $P,0 $9@8P/ 28"0,0 #9@8P/ .8!@,0 "9@8P/ *8 P,0 ! -M9@8P/ &3G%!^0 "JZQ@!B-Q B)8L_P 9O!.0DS? P-.=0 -M $[Y KZ 3E8 '(!(\$ K(<(&X $%RH Q.7DYU3E;_Y"Z'2KD @!8 -M9QH,N0 ( @!89@ Q'X#(\< @!,8 N"U\ KT/_T0J[_^$*N__Q( -M;O_H2&[_]$AX =.N0 -Z!/[P ,0KD K(<3KD #H82&[_]$AN_^A(> ' -M3KD #>@3^\ #$JY *R'&<$?@%@ GX"(\< @!8#+D " ( 6&9.?@,C -MQP " $Q.N0 .C!*@&8V2'D "S@2'D @+$3KD #EP4$](>0 +2!(>0 " -M L1.N0 .7!03TAY ("Q$ZY GE%A/3KD #H8#+D " ( 6&8$< %@ -M G +B[_Y$Y>3G4*(%!L96%S92!N;W1E.B!-0S8X.#@Q('5P9W)A9&4@=&\@ -M03DS3B!M87-K(&UA>2!B92!A9'9I<V%B;&4N( H 4V5E($9L;V%T:6YG+5!O -M:6YT(%!R;V=R86UM97(G<R!'=6ED92X* $Y6_^Q(US#@*'P @"P*E0J+@ , -M+"X "& 0O*T "&0$*$U@!$GM 0J5$J-9@1^ & $+BT #+Z%9.!.N0 -(0N -M &=$*(<@1T*00J@ !"%& @A10 ,($8@A2A'6(=*C6<>O*T "&,,*(U)[0 $ -M*FT !& (($<@C2X-*E5*C6;BF\T@1R"-*(U,[C#@_^Q.7DYU3E;_Z$C7,/ J -M;@ (*%4L%&8$> !@!B!&*"@ #"XL 1F!'H 8 8@1RHH R\AV=TN(5E.$J& -M9VA*A&8:($8@* (6( O $AY ( \$ZY U7%!/8$XJAEB&*D8L%68$> !@ -M/"!&*"@ #& T2H=G,$J%9AH@1R H A8@"\ 2'D @$$3KD #5<4$]@%BJ' -M*D<N%68$>@!@!B!'*B@ #+R'9HQ"E4A43KD #5"6$],[C#P_^A.7DYU3E;_ -MY$C7,( J;@ ((%5*B&8$< !@!" H PH4")H 1*C&8$?@!@)BXL Q@(+Z! -M918JC$OL 0H54J,9@1^ & 8+BP #& 2*HDJ22)52HEF!'( 8 0B*0 ,OH!B -MT+* 8LPJB"",(4D !$SN,(#_Y$Y>3G5.5O_D2-<P^"@N A8A'X(N(=D!'@( -M8 96A.2,Y8Q*N0 " +!F!'H 8 H@>0 " + J* ,NH1D%"\$3KD #/(6$]* -M@&8&< !@ #"*'P @"P*E1@(+Z&8@R^A&042>T !"I#8!"\A&4(2>T !"I# -M8 0H32I%*A4F+0 $2H5F!'X 8 8@12XH Q*@V8$? !@!B!#+"@ #+Z$9+J\ -MA&2V("T #)"$?@BPAV(0*BT "$A43KD "W:6$]@+BHM @N!=Z$($4F$):$ -M*T, #"!'((-2N0 " '0K1P (2%1.N0 +I183R!%((0@12 0T;D @"D4KD -M @"HN+D @"89 92N0 " 'A8A2 %3.XP^/_D3EY.=4Y6_^!(US#\)"X "! " -M?@/ AV<6+P)(>0 " 1A.N0 -5Q03W 8 \+2Y ( M&4(M+D @"X8PY^ -M%B/' ( 1' 8 TBP"688@1B@0F;D @"D4[D @"H*'P @"P*E1*C6< -M *(N+0 ()BT #+R'9#@J!MJ$NH=F%-B#4[D @!T2%1.N0 +=I83V!PNH=C -M%"\'+P9(>0 " 5=.N0 -5QP &!N*$U@5+R'8SPJ!]J#NH9F%BP'V(-3N0 " -M '1(5$ZY MVEA/8#*ZAF,4+P)(>0 " 79.N0 -5Q03W 8#!)[0 $8!0O -M DAY (!F$ZY U7%!/< !@%BI42HUF /]B+P0O!DZY M2%!/< %,[C#\ -M_^!.7DYU3E;_\$C7,, H;@ (+"X $"XN R>AG((OH%E($OT: JARB&4KD -M @!T4KD @"H2&T !$ZY P'EA/6$P@#$SN,,#_\$Y>3G5.5O_@2-<X^"IN -M @@#7X#P(=F$+OY ( M&4(N_D @"X8Q9(54AY (!NDZY U7%!/< !@ -M #T1^W__"@30?-( "P(2'@ 2\$2%-.N0 ,L!/[P ,?O^PAV8&< !@ #* -M+BX #%B'>@B^A60$=@A@"%:'Y(_ECR8'N(-E$"\#+P1(4TZY Q0& )Z\ -MN0 " +AD8BA\ ( L"I4($8J$& *2>T !& "*$TJ5$J-9@1^ & $+BT #+Z% -M93HN+0 (O(=EY+R'8MHN!-Z%OH-E)DA43KD "W:6$]3N0 " '3;N0 " *0F -MAR\#+P=(4TZY Q0& R+RX #$ZY O"%A/*D!*C6<>6$M9A"\$2%5(4TZY -M ]"$_O Q(4TZY P'EA/( U,[CCX_^!.7DYU3E;_Y$C7/. J+@ ,+"X -M""1&U<4F? " +!@""9-8 1'[0 $*E-*C68$?@!@!"XM R^A64 ,8H;0 ( -MO(QF'$A33KD "W:6$_;N0 " *12N0 " *AP 6 *2\C&6\+@S>E+R'9+BU -MQV,:2JX $&<0+P9(>0 " D=.N0 -5Q03W#_8'BUQV8N2%-.N0 +=I83U*Y -M ( =-NY ( I%2Y ( J)N42&P !$ZY P'EA/< %@1DA33KD "W:6$]4 -MN0 " '0@%-&Y ( I%:Y ( J" 'D(:1E)Z*)(=(; $3KD # >6$](:@ $ -M3KD # >6$]P 6 "< !,[CS@_^1.7DYU3E;_]$C7(,!*N0 " &QF(DZY X -MIB/ ( ;$ZY TA"I 2HUG.DA53KD #5"6$\N.0 " &Q3A]ZN A,>7 ' -M ( ;$PY< < @!L+ <O!DZY XX%A/*D!R_[O!9@1P &!,2KD @"T9@8C -MS0 " +1!]6@ (\@ @"X*H<@.0 " +B0N0 " +0CP " '#?N0 " *12N0 " -M '12N0 " *A(;0 $3KD # >6$]P 4SN(,#_]$Y>3G5.5O_X2-<@@$JY ( -MQ&<6*GD @#$('D @#$(] @#$8 CDJY ( P&YP+CP " $+P=.N0 -M..!83RI <O^P@6822'D @)Y3KD #5<6$]P &!<2KD @"T9@8CS0 " +0J -MAT'M 0CR " +PC_ @ @# 0?5X "/( ( N" Y ( N)"Y ( M"/ -M ( <-^Y ( K%.Y ( P"IY ( O'X0W[D @"\( U,[B" __A.7DYU3E8 -M "!N @@N0 " ,0C[@ ( ( Q$Y>3G5.5@ <A8CP0 " $1.7DYU $Y6 -M_^@NARXY ( 1$AN_^Q(>4 25 $O+@ (3KD #BV2H!L"B/' ( 1' 8 )P -M 2XN_^A.7DYU3E;__"Z-2KD JZL9C@J? " IPP+0 0 H $#9@0@#6!H -M2^T %+O\ (%'&7D3KD #8\2H!F#'(,(\$ @!$< !@1BIY *NK$J59R0@ -M53 H ! "@ 0-G%EA-N_D JZP9>1R&"/! ( 1' 8!A*E6822'@ %$AX -M %.N0 /9!03RJ (!4J;O_\3EY.=4Y6__A(UR" 3KD #B6+@!(> $+P=. -MN0 /9!03R/ *NK$JY *NK&8$< !@7" 'YX O $ZY O"%A/(\ @*4 -M9A@O.0 "KJQ.N0 ,!Y83T*Y *NK' 8"X@>0 "KJQ!\'P (\@ JZP+CP -M @*<*GD JZL8 8JQW(4WH$,AP "!1QE\G !3.X@@/_X3EY.=4Y6__PNC4JY -M *NK&8*3KD #8\2H!G+BIY *NK+OY *NL&0@2I5F$DAX !1(> !3KD -M #V04$\J@%A-N_D JZP9> J;O_\3EY.=4Y6__PNC4JN AG9DJY *NK&8J -M*GP @*<,"T $ * ! V<*2%4@;@ (3I!83TOM !2[_ "!1QD-F#<*GD -M JZLN_D JZP9"9*E6<8(%4P* 0 H $#9PHO%2!N A.D%A/6$V[^0 " -MKK!EVBIN__Q.7DYU 3E;_V$C7/. N+@ (;P9\(+Z&;09^%F *8D -M;@ 0+"X #" '4X!R >&A+P%.N0 .,983RH 2_D K(@2_5\ "952%(O!B\' -M3KD #EF3^\ #$J :U9*AF<V0>[_]")&(-D@V2#92>[_]"P49PYR ;R!9P@J -MABB\ Y&$*G2%0O!TZY Y9D_O Q*@&L<2HIG"@R2 Y&&8")(LO!4ZY -M XUEA/< !@&BXY ( 1"\%3KD #C66$\JBR/' ( 1'#_3.X\X/_83EY. -M=4[Y FX$AX 9.0&7R3G5.^0 )N!(> ^3D!E\DYU3OD ";@2'@ 64Y -M9?).=4[Y FX$AX $!.0&7R3G5.^0 )N!(> V3D!E\DYU3OD ";@2'@ -M;4Y 9?).=4[Y FX$AX &Y.0&7R3G4@+P $5H!R_,"!T+D @4<+T !$AX -M !%.0&40(#D @4<(^\ ! "!1Q.=4[Y FX $CGP,!.N0 .G @ -M+P$0Y8@@? "LB @< @ +R\!'"\O 1PO+P$<+R\!'$Z0W_P 03KD #JX -M3-\# ]_\ "$AX (M.0$[Y FX$AX &Q.0&7R3G5.5OOX2-<@@"IN A! -M[@ 0+@@P+0 0" 686,"T $ @ AG" !M ( $& $</]@:C M ! ( " -M9TX";?_[ !!![OP *T@ "$'N_ K2 $*WP 0 Q(52\'+RX #$ZY ] -MX$_O PN $A53KD ">46$\ ;0 $ !!"K0 (0JT #$*58!!(52\'+RX #$ZY -M ]X"X ( =,[B" ^_A.7DYU #R.IP 1.=0 #R -M.E04 "CR &0 #( E@ 9A;R.E0 ![R &0 #( @ 9@1P 6 "0H!.=3_P -M !. ____X G_P #\+R\ _$'O 0@* $0(, ,0 (9RP@ -M.0 " $P@P Q 1F"$ZY [YF 6#$ V8(3KD #KZ8 @,0 "9@)A6DYU -M0>\ !" 8#$ "&<J(!@,0 $9@A.N0 /&!@&@Q -F"$ZY [!F ,#$ -M F8&3KD #MV+U<! -_\ ! $YU\A#PP/(HO &$YU\AC0P/(0G !.=2)Y -M (%U# I__X( .9P@Q?!!C "!@(DII__YJZ$AH " O/$ " O.0 "LJ!. -MN0 .+;?_ PS?!!C__PS?!! __P@D2%1 0A40 ((5$ #"%1 ! A40 4 -M(5$ &"%1 !Q.=2)Y (%U# I__X( .9P)@(DII__YJ[DAH "0O/$ " O -M.0 "LJ!.N0 .+;?_ PS?!!C__PS?!!!__PBD"*H 0BJ ((J@ #"*H -M ! BJ 4(J@ &"*H !PP*?_^" #F?V,V@ (/_\3G7R$/# T?P 8\AB\ -M ")\X /%"#9(-D@V2#9(-D@V2#9(-D@V2#9(-DC_ #@ ^$(GS@ X -M(-D@V2#9(-D@V2#9(-D@V2)\X "-\ \<(WP #Q0C? (( -MT/(\B \CR0 !.=2/\ . #X3R&-# \AB< -'\ +")\ -MX , "+8(M@BV"+8(M@BV"+8(MB1_ $PB?. #Q0BV"+8(M@B?. @ -M* 8 H /(T (T"-H !P)6"-\ G$(!!!Z (3KD #S>("C__$'H -M A.N0 /-Y.=4A " #V8: D ?_".0 !(0 @ ]F"@) '_PCJ $ !. -M=0 "!O 0B;P (("\ #&],(@F2B&P 1$@;* ;0 0#((" $ &<$ -M$MA3@"()" $ &8>(@#DB& "(MA1R/_\0D!3@&3T( $"@ -@ A+84<C_ -M_$) 4X!D]$YUL\AN$& "$MA1R/_\0D!3@&3T3G71P-/ 8 (3(%'(__Q"0%. -M9/1.=0 !.5O_X2-< P"PN A,+F & PO!DZY O"%A/+@!F!' 8 XO -M!B\'3KD $_X4$\@!TSN ,#_^$Y>3G5.5@ +RX "$ZY P'EA/3EY.=4Y6 -M]H!(USS\3KD %XV($ @4!U0__]"KO_X?@$M1__T0J[_\"UN S_Y"UN_^3_ -MZ"UN_^C_["UN_^S_X"IN @<'6=&)FX $# K !!^$L"'?@*PAV8@2JL "&<: -M("L !+"K AF*DJ39B8P*P 0 H "$9AI(4TZY IYEA/2H!G#'#_8 . -M>' 8 .<G0 )&L !"X30>[VQ"U(]K!![O;$+4CVM$'N]L0M2/;4# 8 )6< -M BA3AVHL,"L $ * A&<*( =$@+"K QM%B=* 1(4TZY I8EA/)&L -M!"X34X<4QE*"8 -NB!N_^@H4%BN_^A*C&8&*'D @4D'!QG V@4X=J+# K -M ! "@ (1G"B '1("PJP ,;18G2@ $2%-.N0 *6)83R1K 0N$U.'%,92 -M@F#$(&[_Z" 0' !8KO_H4X=J+# K ! "@ (1G"B '1("PJP ,;18G2@ $ -M2%-.N0 *6)83R1K 0N$U.'%,92@F #28@;O_H+!!8KO_H2H9J1%.':BPP -M*P 0 H "$9PH@!T2 L*L #&T6)TH !$A33KD "EB6$\D:P $+A-3AQ3\ -M "U2@D2&8 H@;O_H+!!8KO_H*'D @4H2>[[WRHY (%*" &3'P 0 H@ -M11DP& !,?& & "F;F8 B"HY (%+"!N_^@L$%BN_^A)[OO?2H9G "X -M2H9G:' /P(8@11DP" #HCF;R8%@J.0 "!2@@;O_H+!!8KO_H2>[[WTJ&9P -MBDJ&9SIP#\"&($49, @ Z(YF\F J*CD @4H(&[_Z"P06*[_Z$GN^]]*AF=< -M2H9G#G 'P(8@11DP" #FCF;R0>[[WR8(N<-D P4'!Q3AVHL,"L $ * -MA&<*( =$@+"K QM%B=* 1(4TZY I8EA/)&L !"X34X<4QE*"N<-EQF -M"]9\,& _G1536!.($U231 02<!\>+"&8NY!^@ P<@VP&%3)__QFX# [$@9. -M^P "_H+_7O[*_P+^/OZ"_]S^@O_<_U[_,/WN_LK_,'AU<W!O;&EH9&-854]$ -M0B[[TT(N^])"+OO10B[[T$(N^\]"+OO.8"8=? !^])@'AU\ '[T6 6'7P -M ?O08 X=? !^\]@!AU\ '[SE)-$!5)P'P@L(9GWGPCL(9GX'PKL(9GPGPM -ML(9GQ'PPL(9GUF!<2J[_]&<:2&[[ "\N_^0O+@ (3KD $SJ3^\ #$*N__0, -MK@ #+_\&X4("[_\$/V#2#Z_"U)]JHM4?_H8!PM;OO$_^@O+O_P2&[_Z"\N -M A.N0 3GY/[P ,4DT,%0 J9@ HE)-2&[[R$A53KD $^>4$\J &=T2J[_ -M]&<:2&[[ "\N_^0O+@ (3KD $SJ3^\ #$*N__0,K@ #+[R&X4("[[R$/V -M#2#Z_"U)]JHM4?_@8!PM;OO$_^ O+OO(2&[_X"\N A.N0 3GY/[P ,(&[_ -MX"P06*[_X$J&:@A$AAU\ '[T2I%8$@@;O_H+!!8KO_H2H9J.D2&'7P ?O1 -M8#!\ $*N__!@%A =2<!Z,)"%W(8B!N6!W('<@"U&__ 0%4B 0?D @7="# -M @ 9M@,%0 N9@ O%)-#!4 *F8 (I234AN^OQ(54ZY !/GE!/* !G:$JN -M__1G&DAN^P O+O_D+RX "$ZY !,ZD_O Q"KO_T#*X R^OQN%" N^OQ# -M]@T@^OPM2?:J+5'_[& <+6[[Q/_L+R[Z_$AN_^PO+@ (3KD $Y^3^\ #"!N -M_^PJ$%BN_^PJ1& V(&[_Z"H06*[_Z& J>@ 0%4B 0?D @7="# @ 9Q80 -M'4G >#"0A-J%(@7E@=J!VH!@VGK_#!4 )&< _@)"KOKX+7P @5$^O1"KOKP -M+7P @5$^NQ@ 9H'7P ?O38 &7AU\ KZZV .'7P "/KK8 8=? 0^NM* -MA6P">@$@;O_H*!!8KO_H#"X 9/KJ9Q ,+@!$^NIG" PN &GZZF8N2H1L#"U\ -M (%1?KT1(1@'DHN^])G"BU\ (%1_KT8 Y*+OO09P@M? "!4GZ]$HN^\YG -M%B\N^O1.N0 4)!83RA&F<"YQ6\"*@P,+@!8^NIF""8Y (%+& &)CD @4H -M2>[[WQ N^NM)P'((L(%G"'(0L(%G%F! 2H1G0' 'P(0@0QDP" #FC&;R8#!* -MA&<L< _ A"!#&3 ( .B,9O)@'" $3'P 0 H@0QDP& !,?$ $ "DJ$ -M9N1![OO?)@@@#)"#T(4M0/KX2B[[SV< !;:YPV8R8 %K@RN ?KX; % -MHGH!+47Z^& !9@M? "!4OZ]& !8PM? "!4[Z]& !8 0+OKJ2<!Z6+"% -M9^AZ;["%9\!Z>+"%9]!@ 5D2H5L GH&2B[[TV8X(&[_Z"U0^N M: $^N10 -MKO_H2&[VV$AN^MA(;OK<( 52@"\ +R[ZY"\N^N!.N0 8?A/[P 88#8H;O;4 -M=A#6C"!N_^@HT%BN_^BYPV7R2&[VV$AN^MA(;OK<( 52@"\ 2&[VQ$ZY "( -M<$_O !0H0$JN^MAG"BU\ (%4?KT8!Y*+OO29PHM? "!5/Z]& .2B[[T&<( -M+7P @55^O0,+@ Y]MAO%DGN]MA![ !)@@@0TH09P SE*#8/1![OO4)@A* -M%&<$&!Q@ G@P($,0A%*#2H5F!DHN^\]G""!#$*[__U*#+47Z\& .2A1G$%.N -M^O @0Q"<4H-*KOKP;NQ)[OO4#"X ,/;89Q8J+OK<4X5J$$2%8 Q![O; *@AX -M!& X>@!(;O:^< P!2\ 3KD 'B04$]"+O;">&2ZA&W8#(4 /H; I![O:_ -M*@AX!6 (0>[VOBH(> 8M1/:X4X4H!4JN^MQN" PN ##VV&8$>BM@ GHM($00 -MA5.$+43Z["!$$*[ZZDHN^]%F!'H!8 )Z ! N^\Y)P,"%9P #O"\N^O1.N0 -M4)!83T'N^]0B Y*(T('0KOKPT*[VN"(&DH M0?KX8 #DDJ%; )Z!DHN^]-F -M-"!N_^@M4/K@+6@ !/KD4*[_Z$AN]MA(;OK82&[ZW"\%+R[ZY"\N^N!.N0 -M8LY/[P 88#(H;O:T=A#6C"!N_^@HT%BN_^BYPV7R2&[VV$AN^MA(;OK<+P5( -M;O;$3KD (E&3^\ %"A 2J[ZV&<*+7P @57^O1@'DHN^])G"BU\ (%6?KT -M8 Y*+OO09P@M? "!5OZ] PN #GVV&\62>[VV$'L $F""!#2A!G +64H-@ -M]$'N^]0F""@N^MQN"B!#$+P ,%*#8!9*%&8(($,0O P8 0@0Q"<4H-3A&;J -M2B[[SV8$2H5O""!#$*[__U*#* 4@!9"%+4#Z\& <4J[ZW$JN^MQO!$H49@@@ -M0Q"\ #!@!"!#$)Q2@U.$:N!*+OO19@8X? !8 *9S! N^\Y)P"(,P(%G(B\N -M^O1.N0 4)!83T'N^]0B Y*(T('0KOKP(@:2@"U!^OA)[OO48 ")$J%; 1Z -M!F &2H5F GH!2B[[TV8T(&[_Z"U0^N M: $^N10KO_H2&[VV! N^\])P"\ -M+P4O+OKD+R[ZX$ZY !EKD_O !1@,BAN]K!V$-:,(&[_Z"C06*[_Z+G#9?)( -M;O;8$"[[STG +P O!4AN]L1.N0 BCQ/[P 02>[VV PN "WVV&8,+7P @5= -M^O123& >2B[[TF<*+7P @5?^O1@#DHN^]!G""U\ (%8?KT$"[ZZDB 0?D -M @7="# 9RHF#& *($,,$ !E9PA2@R!#2A!F\"!##! 968$$+P 12!# -M2A!G$%*#8/8F#& "4H,@0TH09OA"KOKP2B[[T68$>@%@ GH $"[[SDG P(5G -M $.+R[Z]$ZY !0D%A/(@.2C-"!(@:2@"U!^OA@ #P(&[_Z" 0'4#[U%BN -M_^A)[OO40>P 28(8 U"!N_^@H4%BN_^A*A6H&*CQ_____2HQF!BAY (% -M)'@ 8 :XA6P(4H0=7/:O9O1*+OO19@1Z 6 ">@ 0+OO.2<# A6<(( :0A"U -M^OA33"8,F<1@?GH!+47_^&!V2>[ZZD'L $F"&!J($U231U0^NH0+OKJ2<!X -M>+"$8N!!^@ ^<A2P&%3)__QFTC [$@9.^P " G#Y>OK>_A[Y</F"^7KYBO]2 -M^7KZWORP_A[_UOEZ_];_POF"_V[Y>OF*>'5S;VYL:6AG9F5D8UA53TQ'140 -M $JN^O!L!'H 8 0J+OKP2J[Z^&P$> !@!"@N^O@O+OKT3KD %"06$\M0/:J -M+R[Z[$ZY !0D%A/G(6<@" #D(R<@)R$G*[VJDHN^]%F>F V4X=J+# K ! " -M@ (1G"B '1("PJP ,;18G2@ $2%-.N0 *6)83R1K 0N$U.'%/P (%*" -M4X9JQF \4X=J+# K ! "@ (1G"B '1("PJP ,;18G2@ $2%-.N0 *6)8 -M3R1K 0N$U.'(&[Z]!304H)2KOKT(&[Z]$H09KQ@-E.':BPP*P 0 H "$ -M9PH@!T2 L*L #&T6)TH !$A33KD "EB6$\D:P $+A-3AQ3\ #!2@E.N^OAJ -MQ+G#9'!3AVHL,"L $ * A&<*( =$@+"K QM%B=* 1(4TZY I8EA/ -M)&L !"X34X<4W%*"N<-ER& V4X=J+# K ! "@ (1G"B '1("PJP ,;18G -M2@ $2%-.N0 *6)83R1K 0N$U.'%/P ,%*"4Z[Z\&K$8#Q3AVHL,"L $ * -M A&<*( =$@+"K QM%B=* 1(4TZY I8EA/)&L !"X34X<@;OKL%-!2 -M@E*N^NP@;OKL2A!FO$HN^]%G/& V4X=J+# K ! "@ (1G"B '1("PJP , -M;18G2@ $2%-.N0 *6)83R1K 0N$U.'%/P (%*"4X9JQ@RN ?_X9A @ -M;O_H(%!8KO_H(()"KO_X'!UF /($)TH !":',"L $ * A&<P,"L $ @ -M )F')7K @O"DAX HO*P (3KD %*(3^\ #$J 9PI(4TZY I8EA/,"L -M$ @ 5G!'#_8 (@ DSN//SV@$Y>3G5.5O\<2-<\X$AX ,A"ITAN_SA.N0 -M4#A/[P ,>O]\ "AN A(> E2%1.N0 80A03RX 9P _E*'*$<O.0 "!3!( -M5$ZY !A6%!/+@ ,- D> !F$DA43KD %"P6$]3@"P 4H?9QWX ( ;E@$?V -M"2#_."\Y (%-$A43KD &%84$_9P"1,4DP0$DG <G.P@6)@0?H :G(*L!A4 -MR?_\9E(P.Q(&3OL O]Z !P )@ F "8 )@ F !8 . R "P !P !8*X !P " -M.GP 6 \.GP !& V.GP V P.GP !F J" < &<&.GP !V >.GP "& 8" < -M &?0.GP F ,<W!N;&=F94=%*B4 2H9M#G(RO(%L"":-NH9L BH&4H982P@' -M %G /[\"H< "8 #_0GX 2H5M4$ON_S@L+@ 0(D8BK@ ,2I5F$G(!*H%@ -M#%"N Q@*%BN Q@(B 54X!R!["!8A@P.PH&3OL O_H_^C_Z/_B_^+_Z/_H -M_^A2AUB&6$V^A6^X3.X\X/\<3EY.=4Y6_]Q(USSX)&X "'HR+ 4J;@ ,)BX -M$& ,NH-G #R6)52A5*&*$IX & "4H:Z@V< -A(> E2%1.N0 80A03RX -M9P Q%*'*$<O.0 "!3A(5$ZY !A6%!/+@ ,- D> !F$$A43KD %"P6$\L -M %*'V<>ZAF:R> %^ "\Y (%/$A43KD &%84$_9P"9,4DP0$TG <G.P@6)" -M0?H 2'(*L!A4R?_\9C0P.Q(&3OL O]V !P ) D "0 ) D !8 + @ " -M!P !8*X !P "6)5@' @' !0E6 4" < %B58 QS<&YL9V9E1T4J)0!2A5*& -M" < 6< _S *AP )@ /]V2H1G /\,2H1F /\23.X\^/_<3EY.=4Y6__1( -MUP# ?@!\ ")N A@%%*&WH<B!^6!WH$2&4G!WH%R,)Z!$!%(@$'Y (%W0@P -M ( &;:2H9G$@P1 "1F#"!N P@AU))( E@ G 3.X P/_T3EY.=2)O 0@ -M+P (;S)"@0@O !V<$$L%3@"! Y(A@ B+!4<C__$) 4X!D]" (" 6<" -M,L$( 9P(2P4YU B+P (9PX0 >&)$@#AB1( X8D2 ")O 0@+P ,;S ( -M+P =G!!+!4X @0.2(8 (BP5'(__Q"0%. 9/0@" @ %G C+!" &<" -M$L$@+P $3G4 (&\ !")(<O]*&5?)__QF /_X4XF3R" )3G4 !. -M5O_P2-< P")N AR ! 12< N $'Y (%W0@P )X &9$0?D @7="# W@ -M9Q9221 12< N &#H<@%221 12< N & .( =\*["&9^Y\+;"&9^9!^0 "!=T( -M, "> !F!' 8#)\,)R'8 [<AB &Y8#<@' PD(?<@%))$!%)P"X 0?D @7= -M"# G@ 9MQ*@68"1(8@!DSN ,#_\$Y>3G4 !.5O_\0?D @7=T>X -M"! 0<@/ @4Y>3G5.5O_\0?D @7=T>X "! 0<@' @4Y>3G5.5O_\0?D @7= -MT>X "! 0<@+ @4Y>3G5.5O_\0?D @7=T>X "! 0<@3 @4Y>3G5.5O_\0?D -M @7=T>X "! 0<D# @4Y>3G5.5O_\0?D @7=T>X "! 0<@C @4Y>3G5.5O_\ -M0?D @7=T>X "! 0<A# @4Y>3G5.5O_\0?D @7=T>X "! 0<@? @4Y>3G5. -M5O_\0?D @7=T>X "! 0 H "73EY.=4Y6__Q!^0 "!=W1[@ ($!!R%\"! -M3EY.=4Y6__Q!^0 "!=W1[@ ($!!R(,"!3EY.=4Y6__QP RN ?P (4\!$ -M $Y>3G5.5O_\("X "')_P(%.7DYU3E;_\$C7 , @;@ ($BX #RXN !!3AVL, -M'!B\ 6;V4T@@"& "< !,[@# __!.7DYU3E;]O$C7 /!*.0 "LM!F!DZY !@ -MDB@N @J+@ ,9@ $ DJ$9@ EG@ ?@ L/ "LM J/ "LM\O!2\&3KD &$H -M4$]*@&824H=R#]J!W(%R!KZ!;>)*A&=82'D K+02'D J[$3KD (OX4$]^ -M#P:' *RT"P\ *S.4AY ((5$AY *NQ$ZY "+T%!/+P=(>0 "KL1.N0 -MB]!03WH/WH6^AF74(#P J[$8 #GB \ *RT& Y0@!"( Z8%$@-"!!H -M K+!8 #@$AX "\O!4ZY !A"%!/2H!G $V+P5.N0 4)!83WYXL(=N ,8 -M+P5(>0 "KL1.N0 B_A03RX\ *NQ'P 2'D @A6+P=.N0 89!03RX 9@ -MMG 8 #)B\'2'@ 4ZY !2N%!/2H!F "Z< !@ ,,+P=(> "3KD %*X -M4$]*@&8 *!P & O(O!TAX -.N0 4KA03TJ 9@ AG 8 "V"\'2'@ -M!$ZY !2N%!/2H!F;' 8 "P"\'2'@ !4ZY !2N%!/2H!F5' 8 "J"\' -M2'@ !DZY !2N%!/2H!F/' 8 "D"\'2'@ !TZY !2N%!/2H!F)' 8 " -M>" &<@:P@6(6,#L*!D[[ +_0O]<_W;_D/^H_\#_V'X 4H9R![R!;0#_#DAY -M ((6$*G3KD &&04$]*@&8 .)(>0 "LM!(;OW\+P5.N0 5Q!/[P ,/@!M -M ':2D=G,$AX 0%(;OW\2'D @7<3KD (M 3^\ #$AX 0%(;O[]2'D @< -M3KD (M 3^\ #$J$9@ !UDAY *RWTAN_<PO!4ZY !7<D_O PN &=P($=* -M$&=$2KD @A(9PXO.0 ""$A.N0 ,!Y83R/' ((2$AX #!![OW,3^__T")/ -M,#P "R+84<C__"\Y ((1$ZY "+0$_O #A*A&8 6Q(>0 "LNXO!4AX -( -M>0 ""%I.N0 6Y9/[P 0/@!L!G 8 !4DI'9PQ(QR\'3KD #AV6$]*A&8 -M 3!(>0 "LOU(;OW,+P5.N0 6&1/[P ,+@!G #>($=*$&<T2KD @A,9PXO -M.0 ""$Q.N0 ,!Y83R/' ((3$AX #!(;OW,+SD @A$3KD (M 3^\ #$J$ -M9@ U$AY *S#"\%2'@ !4AY ((8DZY !;ED_O ! ^ &P,0GD @@2< !@ -M "T2D=G$D)Y (($DC'+P=.N0 .'983TJ$9@ C$AY *S&R\%2'@ !DAY -M ((:TZY !;ED_O ! ^ &TT2D=G#$C'+P=.N0 .'983TJ$9E9(>0 "LRHO -M!4AX =(>0 ""'9.N0 6Y9/[P 0/@!L!' 8#Y*1V<N2,<O!TZY X=EA/ -M8" @!'X'L(=B&# ["@9.^P "_)[]YOX\_J;^XO\^_X;_ND*G+P1.N0 4KA0 -M3TSN /#]O$Y>3G5.5O_\+H<O+@ 0+RX "$AX %(>0 ""().N0 6Y9/[P 0 -M+@!O,DAX @(O+@ ,+P=.N0 BI9/[P ,#( ("9PPO!TZY X=EA/?O\O -M!TZY X=EA/( <N+O_\3EY.=4Y6_[1(UR#@+RX $"\N A(> "2'D @B+ -M3KD %N63^\ $"H ;0 ODJ%9@H@/ "")9@ "R2&[_Q"\%3KD #B&4$]* -M@&8 )P@+O_45( O $ZY O"%A/+@!G "&+R[_U"\'+P5.N0 BI9/[P , -ML*[_U&9B*FX #"P'W*[_U"!&$+P "E*&($9"$$A5+P=.N0 6C)03RP 9S)( -M;0 $+P9.N0 6C)03RP 9R!(;0 (+P9.N0 6FA03TJ 9PXO!4ZY X=EA/ -M( =@%B\%3KD #AV6$\O!TZY P'EA/< !,[B#@_[1.7DYU3E;_M$C7(. O -M+@ 0+RX "$AX 1(>0 "")=.N0 6Y9/[P 0+ !M &:2H9F"B \ ((HV -M 8Y(;O_$+P9.N0 .(903TJ 9@ !>" N_]14@"\ 3KD "\(6$\J &< 6(O -M+O_4+P4O!DZY "*ED_O RPKO_49@ !/BIN PN!=ZN_]0@1Q"\ I2AR!' -M0A!(;0 ,+P5.N0 6C)03RX 9P !"DAM ! O!TZY !:,E!/+@!G #V2&T -M%"\'3KD %HR4$\N &< .)(;0 8+P=.N0 6C)03RX 9P SDAM !PO!TZY -M !::%!/+@!G "Z2&T ("\'3KD %HR4$\N &< *9(;0 D+P=.N0 6C)0 -M3RX 9P DDAM "DO!TZY !:N%!/+@!G?DAM "HO!TZY !;'%!/+@!G;$AM -M "LO!TZY !;'%!/+@!G6DAM "PO!TZY !;'%!/+@!G2$AM "TO!TZY !; -M'%!/+@!G-DAM "XO!TZY !:N%!/+@!G)$AM "\O!TZY !:N%!/2H!G$B\& -M3KD #AV6$\@/ "LOU@%B\&3KD #AV6$\O!4ZY P'EA/< !,[B#@_[1. -M7DYU3E;__"Z'+BX ""!N P@ATAX HO!TZY !A"%!/+@!F!' 8 @@1T(0 -M4H<@!RXN__Q.7DYU3E;_^"Z'(FX "$H19PP@;@ ,((E@(DJ'9@1P & J<C"^ -M@6T.<CF^@6X(<C">@1*'8 02O !_4DD0$4G +@!R"KZ!9M)"&2 )+B[_^$Y> -M3G5.5O_T2-< P")N A*$6<@#!$ "F8*(&X #!"\ ']@-GP 8"!R,+Z!;09R -M.;Z!;P1P & FW(8B!N6!W('<AWXPG(=221 12< N '(*OH%FU"!N P0AD(9 -M( E,[@# __1.7DYU3E;_]"Z-*FX "$H59UP@;@ ,#!4 "F80$+P ?V!0$+P -M 6! 0A!@/")-4DT0$4G <D:P@6?N<DZP@6?H<E2P@6?<<EFP@6?6<F:P@6?6 -M<FZP@6?0<G2P@6?$<GFP@6>^< !@#@P5 IG!' 8 1"'2 -*F[_]$Y>3G5. -M5OO<2-<@P"IN @N+@ 0($=*$&9J2%5.N0 C'!83RX 9P8@1TH09E9(>0 " -M"*1.N0 C'!83RX 9P8@1TH09CY*.0 "KK1F,$AY ((J4ZY ",<%A/+@!G -M!B!'2A!F"$AY ((M& "+P=(>0 "KK1.N0 B_A03RX\ *NM" N PB .F! -M1(#0@0: *RP2\ +P=.N0 82A03TJ 9A0O!R\N !1.N0 B_A03W 8 ! -MR"\'3KD %"06$]\#K"&;P9P_V ;)(>0 ""+9(;OP 3KD (OX4$](54AN -M_ !.N0 B]!03TAY ((PTAN_ !.N0 B]!03R\'2&[\ $ZY "+T%!/0J=( -M;OP 3KD (LV4$\L &Q<#+D " ( 1&902'D @C%2&[\ $ZY "+^%!/ -M2%5(;OP 3KD (O04$](>0 ""-Q(;OP 3KD (O04$\O!TAN_ !.N0 B]!0 -M3T*G2&[\ $ZY "+-E!/+ !*AFT.+P<O+@ 43KD (OX4$\,K@ $ #&8 -M .1(>0 ""-Y(;OP 3KD (O04$]"ITAN_ !.N0 BS903RX <O^^@68*3KD -M &!.8 LDAX !A(;OOH+P=.N0 BI9/[P ,<ABP@6<63KD &!.+P=.N0 -M.'983W#_8 A$AN^^A(>0 "!N1.N0 B_A03R/N^_@ @;T2KD @;X9PXO -M.0 "!OA.N0 ,!Y83TJN^_QO5B\N^_Q.N0 +PA83RI +R[[_$A5+P=.N0 -MBI9/[P ,L*[[_&<4+P=.N0 .'983TZY !@3G#_8!(CS0 "!O@O!TZY X -M=EA/( 9,[B# ^]Q.7DYU0KD @;X+P=.N0 .'983TZY !@3G#_8-Q.5O_\ -M(#D @A$3EY.=4Y6__!(UR# +#P @CB+CP @EH*GP @F]2KD @@"9@ ! -MV$AX +!.N0 +PA83R/ (( DJY (( F=Z+P9.N0 4)!83U* +P!.N0 -M+PA83R/ ((!F=<+P8O.0 "" 9.N0 B_A03R\'3KD %"06$]2@"\ 3KD -M "\(6$\CP "" IG+B\'+SD @@*3KD (OX4$](54ZY !0D%A/4H O $ZY -M O"%A/(\ @@.9@9P & 41(52\Y ((#DZY "+^%!/+#D @@&?@ @ -M>0 "" )(<'0 +P9.N0 6C)03RP 4D<,1P ,;>)^ "!Y (( DAP=# O!DZY -M !:,E!/+ !21PQ' QMXBPY (("GX ('D @@"2'!T8"\&3KD %HR4$\L -M %)'#$< !VWB?@ @>0 "" )(<'1\+P9.N0 6C)03RP 4D<,1P ';>(L.0 " -M" X@.0 "" (&@ )@O "\&3KD %HR4$\L " Y (( @: G"\ +P9. -MN0 6C)03RP (#D @@"!H "@+P O!DZY !:,E!/+ @.0 "" (&@ -M *0O "\&3KD %HR4$\L " Y (( @: J"\ +P9.N0 6C)03RP (#D -M @@"!H "L+P O!DZY !:,E!/(#D @@"3.X@P/_P3EY.=4Y6 !(>0 " -MKK1(>0 "!N1.N0 B_A03T*Y (&]$JY (&^&<.+SD @;X3KD # >6$]" -MN0 "!OA"N0 "!OQ.7DYU3E;__"Z'?@!(>0 ""?8P!TC (@#I@42 T($&@ " -MLM O $ZY "+^%!/4D<,1P ';=9(>0 ""?A(>0 "!N1.N0 B_A03TAY (* -M $AY *RP$ZY "+^%!/(_P @H" *RL"/\ (*!@ "LK0N+O_\3EY.=4Y6 -M__0@;@ ($BX #[(09@0@"& &2AAF]' 3EY.=0 3E;_]"Z'(&X #")N @> -M&+X19@A*&6;V< !@"A 12< 2($G!D($N+O_T3EY.=0 3E;_]"Z-(FX ""!N -M Q@%BI(8 @0%; 19P9234H59O1*%6<&4DE*$6;FD^X "" )*F[_]$Y>3G5. -M5O_X2-<@@"XN AF!BXY *O1$J'9Q8O+@ ,+P=.N0 85A03]"'*D!*%68$ -M< !@*"\N Q(54ZY "-"%!/+@!F"$*Y *O1& ,($="$%*'(\< J]$( U, -M[B" __A.7DYU $Y6_<A(US#@+"X $"UY *S//_T?@$M1__X+4;__$AN -M_=Q(;OW@2&[_]$AN A.N0 <E8@;@ 8(*[]Y"IN !0J+@ <("[]X'X%L(=B -M?# ["@9.^P " "X # , $8 6 !8("[]Z-"&*H!*AF]62^[]["A%0?9I(/WL -M+@@8W;O'9?I@0'X!*H=*AF\X*D4H1MG%&OP ,+O,9?A@*$*5+CD @H@<@B\ -M@6T,? A@"D*5+CD @H<? ,J1RA%WH88W;O'9?H@14(P: @!4SN,.#]R$Y> -M3G5.5OW(2-<@\"HN ! M>0 "LSS_]$*N__@M1?_\2&[]W$AN_>!(;O_T2&X -M"$ZY !R5B!N !@@KOWD*"X '"XN !0@+OW@? 6PAF( +(P.PH&3OL @!$ -M P # !R (8 ADJ%;0P@1R N__"0A2" 8 8@1R"N__!^ $ON_>PL!& (($80 -MG5*'4H:^KO_P;?(@1-'N__!"$&!D($="D"!$$+P ,#I\ &ZC6\6?@'>A-J$ -M+ 4@1Q"\ #!235*'OH9E\D(U2 !@-B!'0I L.0 ""B!^"+J';0YZ"& ,($=" -MD"PY (*''H#+@8J1-R%($<:T%*'OH9E]B!$0C!8 " $3.X@\/W(3EY.=4Y6 -M_^!(USS@*&X #"XN !1.N0 7C8@0"!0'! J1TJL 1G & ($<0O M4H<J -M1V 7(:_ P2H5G &.&L:9S%-*+@JYQVP 8 :_ P4DQ@\GX(M<=L""AY -M (*.& .*'D @HT8 8H>0 ""CQ*%&< 58:W&#V2JP "&X.( I6@$2 L*P -M"&\ )H:[ ,&L8V? !?@%@!AK24DM2AT7T> Q*$F;R2H5F# PE #!G^KP5 -M9P)231K\ &4H; (V<M33$J,:P8:_ K8 H:_ M( Q$@"A 2&[__' , PO -M $ZY !XD%!/?@!)[O_\8 12AU),#!0 ,&?V? *^AF\$?@)@"'P#OH9N "\ -M2?9X_$'N__Q62"X(&MRYQV/Z8 IG !D(JPK (;C9^ "9'8 @:]+@,4H=2 -M2R *T*P "+Z ;>X:QB9'2C2X#&= OHIL/"X+)DH:]'@,4H>^BVWV8"P:_ P -M&L9^ & &&OP ,%*'("P "-"*1("^@&WN?@!@!!K34H=']'@,2A-F]$J%9C0, -M)0 P9_J\%6<J4DU@)B1N @J+@ 0(!1^!;"'8@#^QC ["@9.^P "_G;^O/Z\ -M_I;^K/ZL0A5,[CS@_^!.7DYU3E;]W"UY *S//_T<@$M0?_X+6X $/_\2&[] -MW$AN_>!(;O_T2&X "$ZY !R5D_O ! O+@ 8+RX %$AN_> O+@ 03KD &/8 -M("X &$Y>3G5.5O_\+RX %$*G+RX $"\N PO+@ (3KD &6N3EY.=0 3E;_ -M\$C7(, J;@ ,+"X &!XN !<,!P P9@9*AF< ,XB;@ 0<@&#D2!N @@$'(# -ML(%B7C ["@9.^P " @ L !0 $@,!P U;0 H@P' #5N0$J&9CQ*K0(0;P -MD$'M P@+0(0$# (_TG ?C"0AW(!2H!L"$2 P(%$@& "P(%*@& ,2JT !&9B -M8 9*K0 $9UHN+0(04X<L!V ,2H=M$A*\ #!3AU.&0_5H# P1 #EGZDJ';092 -M-7@,8$(;? Q P@;@ (#*@ ! 1F!E*M A@*$JM A!O"B M A ;O P -M" Q2K0(08!)*K0(0;@P;? P Q^ 2M' A @+0(00C4(#$SN(,#_\$Y>3G5. -M5OLL2-<XP#U\ 0#]^#U\ 0#[\$AN^^Q(;OWX+RX "$ZY !^BD_O Q*KOOL -M:B!(;OOJ("[[[$2 H /__+P!(;OWX3KD 'RV3^\ #$AN^_!(;OWX3KD -M '_*4$]*KOOL;@I![OOP+4C[Y&!T2&[[Y"\N PO+OOL2'@ DAN^_!.N0 -M@3)/[P 4("[[Y&<H?@&PAV9*+R[[[$AY (*7$AN^Y1.N0 BO!/[P ,2&[[ -ME$AX ")@("\N^^Q(>0 ""G%(;OM$3KD (KP3^\ #$AN^T1(> ,3KD (#N -M4$](;OM (&[[Y' ,"@ D'P"@9P # H__XO $ZY !XD%!/?@!+[OM 8 12 -MAU)-#!4 ,&?V)FX $)O-? .^AFX>0?9Y(/M +@@H2T'N^T!62"P(($<8T%*' -M4DV^AF/T(&[[Y' ,"@ E6 +@!M)N.'0?/8 "P(+P8@;OOD< P,'@&+P!. -MN0 >)!03UA-6(95AVKB0C/8 "!N !@@C2!N^^0P* $2, @;@ 4((!![OOP -M("[[Y+"(9PHO $ZY " TEA/3.XXP/LL3EY.=4Y6^R1(UR#\*FX %"HN ! L -M+@ ,+BX ""!N !A"D"!'2J@ !&8T?@ H#6 *($00O P4H=2A+Z%8_)!]7@ -M*@A@"B!%$+P ,%*'4H6^AF/R(&X '""'8 "=CU\ 0#]^#U\ 0#[\$AN^^Q( -M;OWX+P=.N0 ?HI/[P ,/6[[[OW\=!&4KOOL<@ R+OWZZ8F4@4P\( ( $T1 -M<A#BJM2&M(5D B0%+@6\AV,"+@9,/'@' -2:@:' :DU'(0XJ=2AT2'2&[[ -MZ"\'+P)(> *2&[]^$ZY "!,D_O !0@+OOH9R9^ ;"'9D8O DAY (*ADAN -M^YA.N0 BO!/[P ,2&[[F$AX ")@'B\"2'D @J<2&[[2$ZY "*\$_O Q( -M;OM(2'@ #$ZY " [E!/(&[[Z QH__ !&YV,"@ !$C 1(!J!'X/T(?H@"@ -M?@!\ & .(&[[Z$IP: 9F"%*'5(:^A&WNOH1L"B!N^^@ < !2@8N!"P$XX8J -M!..%( :0A2H 8! @;OOH,;!H!E@&4H=4A52&(&[[Z' ,"@ KZ 9>*9: " -M(&[[Z.F$V6@ !"!N^^A*: $;#!(;OM&,"@ !$C 1( "@ __\O "\(3KD -M 'RV3^\ #$IN^T9G"B!N^^@ : ! 9(;OOP+R[[Z$ZY !_RE!/?@ ^+OOR -M4X<L!^.&0?9I(/OV+ A@!%.'588@1DI09_9(;OM < P-GL@^_8O $ZY !X -MD%!/>@!![OM + A@!%*%4H8@1@P0 #!G]'P > .ZA&XB0?99(/M *@@H#4'N -M^T!62"8(($0B11"14H52AE*$NH-C\%.':S+CAT'V>2#[]BX(0?5H "H(0>[[ -M]B@(+P4@1W ,! O $ZY !XD%!/6(98A56'OH1DY$(U: @;@ <((8@;@ 8 -ME(8@@D'N_?@@+OOHL(AG"B\ 3KD (#26$],[B#\^R1.7DYU3E;J0$C7./PF -M;@ 0+BX "'8P0J[__"!')U !":H 0,J ( !&<,#*@ ! 1F 9> -M*&X # RL " (;!0,K $ !&86#*P ! AL#"!N !1^"(^08 & -M,$'N_]PB1S \ <@V5'(__Q![O_<0^[_O# \ <BV%'(__P,KO______Y&X( -M0J[_X& 2P,K@ )__Y&T(0J[_P& -X@+O_D<A]*@&P(1(# @42 8 + -M@7X?L(=F1" N_^12@&H"T(?J@"P ?@!+[O_(8 1"G5*'OH9E^'P%OH9L "2 -MY8=!]GCH+@A![O_H0>@ %"P(($="D%B'OH9E]F!R("[_Y%* :@1^']"'ZH L -M 'X 2^[_R& $0IU2A[Z&9?@@+O_D<A]*@&P(1(# @42 8 + @7(?DH!P >.@ -M4X N!N6'P;9XR$: P;9XZ%*&+@9\!;Z&;!SEAT'V>.@N"$'N_^A!Z 4+ @@ -M1T*06(>^AF7V2&[_O$ZY !S:%A/2J[_X&<V#*P ! 1F""XL A2AV & -M+CP !-$2&[L<$AN['1(;NQX+P=(;O_<3KD &<P3^\ %& (0J[L<$*N['0D -M+NQPU*[L='@ 2JP !&8&2JP "&P4#*P ! 1F:B L A2@+"";V ,K -M $ !&8:+BP "%2'GH(,AP @!C!BX\ " 'P!8!9^ "PL A4A@R& " -M &,&+#P ( 2&[J:$ANZFQ(;NIP+P8O!TAN_[Q.N0 :.)/[P 8*"[J;-BN -MZF@,K $ !&8 @ J+NQPNJP "&\$*BP "'X 2H5O'$OK Q![NQX+ A! -M[NQXVH@@1AK04H=2AKR%9?0J;NQPV^[L=+OL AO!"IL B^C6P80>L #"P' -MW(C;R"!&$+P ,%*'4H:\C67ROJP "&8 *0G1P(0( *0AR= B^@FQ,OJ[L -M<&0*%C9Y(.QX4H=@ G8P0?9Y(.QX+ A@"KZN['!D#%*'4H8@1@P0 #!G[KZN -M['!D!GX!+4?__$JN_\!G $N?@$M1__\8 !)$JN_\!G $<2J[J;&\&=C!\ -M & &%B[J<'P!+@9!]FD@ZG L"& (OH1L#%*'4H8@1@P0 #!G\+Z$; Z'X! -M+4?__& -XJ+ (FH=*AV8>? !+[NIP8 12AE)-#!4 ,&?VVH;:KNILW*[J -M;& "? "ZA&\"*@0@!42 )T "+JNZFQO!B@NZFQ@ B@%O(1L$DOK S;QQK\ -M #!2AU*&O(1M]+R%;!I+ZP ,V\<@!I"NZFP:]@D@ZG!2AU*&O(5M[)RNZFR\ -MKNIH;#I*AFP$=C!@!A8V:2#J<%*&:@)\ $OV:2#J<& *O*[J:&P*4H9230P5 -M #!G\+RNZFAL(GP!+4;__& :0>L #"P(W(=@"B!&$+P ,%*'4H:^K (;? G -M1P(0+R[__$G#+P,O+@ 42%-(5$ZY !F(& C9*K (;0 !'B "T*P " R -M " &P ^^1^ $OK Q![NQX+ A@""!&&M!2AU*&OJ[L<&7ROH)L&DOK Q! -M]7@ + C;PB!&$+P ,%*'4H:\C67R*@2XK (;P0J+ (NJ[J;&\&*"[J;& " -M* 5\ $J$;Q)+ZP ,V\<:_ P4H=2AKR$;?2\A6P:2^L #-O'( :0KNIL&O8) -M(.IP4H=2AKR%;>Q+ZP ,V\=@"!K\ #!2AU*&O*P "&WR)T<"$)2')T( ")RN -MZFPN!KZNZFAL/$J'; 1V,& &%C9Y(.IP4H=J GX 0?9Y(.IP+ A@"KZNZFAL -M#%*'4H8@1@P0 #!G[KZNZFAL!GX!+4?__"\N__Q)PR\#+RX %$A32%1.N0 -M9B!@ $2+"P "$2&#(( ( ; #ZR R& " &P ^KZTAFXZM(9F"!8N['A^ -M 6 $=C!^ $OV>2#L>& *OJ[L<&0*4H=230P5 #!G\+ZN['!D!GX!+4?__$*K -M A!@;GX 0>L #"@&2^[L>"H(8 @@11"=4H=2A2 N['"0A+Z 9>Y^ $OK R4 -MABH"8 8:_ P4H>^A6WV)T<"$+ZN['!D+!8V>2#L>%*'2_9Y(.QX8 J^KNQP -M9 I2AU)-#!4 ,&?POJ[L<&0&?@$M1__\2J[_P&<&?@$M1__\+R[__$G#+P,O -M+@ 42%-(5$ZY !F("XK A!)ZP ,V<=@!AC\ #!2AR K A#0AKZ ;?!"JP ( -M)T<"$$(S> Q,[CC\ZD!.7DYU3E;_U"Z-*FX $"!N !1"D"!N @M4/_X+6@ -M!/_\Z>X ?_X*T !"\N A.N0 =,!83RJ (!5R!;"!8A0P.PH&3OL @ P -M P # P # ,$AN__A(;O_83KD '5X4$\O+@ 42%4O+@ ,2&[_V$ZY !K -MNBIN_]1.7DYU3E;_O$C7., H;@ ((&X %$*0?@!+[O_P0>[_\$'H ! L""KT -M> !8A[O&9?9@%# ["@9.^P " % +@ N % 4 !0)FX $.GN '_\"= 1( -M5$ZY !VHEA/)H @$WX%L(=CRDA42&[_T$ZY !W1%!/+RX %$A3+RX #$AN -M_]!.N0 :[I,[CC _[Q.7DYU $Y6_]A(UP#X(&X " RH @ $9@ ! -M(GX 8 @,1P %9 Q21W , =*L P,9^X,1P %90A"J $8 _DI'9UI"KO_\ -M>@ Z!W@%F(63R6 .W(4AL&P,F Q2KO_\6$DL+O_\O(1EZ@RN !?_\;!SE -MABU&__0@+O_T0K (#%BN__0,K@ !3_]&WJ< P!^N(D:@ "& "4D=P # ' -M<@22@")!2K"<#&?N0F[_^BXH P,AP __]B"' 0X:\]0/_Z#(< ____8@;A -MCU!N__H,AP____]B!NF/6&[_^@R'/____V(&Y8]4;O_Z#(=_____8@12;O_Z -M< P+O_ZD:@ " QN '_^F4N? !*B6TH< P+O_Z=B"6@"X)Y8=#\'@,*A$R -M+O_ZXZTH$>:LC(4BABP$68=JYDSN /C_V$Y>3G5.5@ < $R+@ *XZ"!N0 " -MLT1.7DYU3E;_]"!N @M4/_X+6@ !/_\,"[_^ ) ?_!F&B N__@"@ /__]F -M"DJN__QF!' 8$1P 6! ,"[_^ ) ?_ ,0'_P9C @+O_X H #___9@I*KO_\ -M9@1P V <("[_^ * ___PR 0 &4$< 1@!G %8 )P DY>3G5.5O_D2-< -M\'P (BX #" N A^#-"'>""8@3!\ !#1P"X0XZ\J$.BMC(<@ABP%64BQP&3L -M3.X \/_D3EY.=4Y6__!(UR" *FX ""!N PM4/_X+6@ !/_\Z>X ?_X*H K -M;O_\ !!^"$*U> Q8AW(4OH%M]# N__@"0'_P9VPP+O_X D!_\ Q ?_!G "2 -MZ>X 2__X!( /_*T "'X"*T< !" N__@"@ /__\ @ 0 K0 ,2'@ -M"TA53KD '4Z4$]@&$JN__QF7'X#*T< !& *2J[__&8:0JT !$SN((#_\$Y> -M3G4@+O_X H #___9^!^ BM' 0K?/___ T "" N__@"@ /__\K0 ,2%5. -MN0 <VA83V#"("[_^ * ___V>>("[_^ * ___P@ !-G"'X$*T< !& 2 -M?@0K1P $2'@ !$ZY !TJEA/("[_^ * ___P" @ & _TY.5O_@2-< -MP")N A\ $'N__ N"$'N__!!Z 0(@@@1R"Q: !8AEB'OH%E\C N__ "0'__ -M9THP+O_P D!__PQ ?_]G1G "8"YP!& J2J[_]&8^2J[_^&8X2J[__&8R< -@ -M%$JN__1F'DJN__AF&$JN__QF$G 3.X P/_@3EY.=4IN__)GW' !8.Q*;O_R -M9[QP # N__(,@ @ !DJG %8-1.5O_<2-<PX"AN Q\ $'N__ N"$'N__!! -MZ 0*@@@1R"T: !8AEB'OH5E\BIN CI[@ !__ J@"MN__0 $"MN__@ %"MN -M__P &'X00K5X#%B'?!2^AFWT,"[_\ ) ?_]G8# N__ "0'__#$!__V< (IP -M # N__ "0'__!( #__*T "'X"*T< !' ,"[_\@" $ "M Q(> / -M2%5.N0 =3I03V ,?@,K1P $8 1"K0 $3.XPX/_<3EY.=7 ,"[_\H"N__2 -MKO_X@*[__&?>?@(K1P $*WS__\ 1 AP # N__(K0 ,2%5.N0 <VA83V"^ -M< P+O_R@*[_]("N__B KO_\9YX(+@ '__)G"'X$*T< !& 2?@0K1P $2'@ -M!$ZY !TJEA/< P+O_R $" "M Q(> 08 #_7 $Y6__1(UP# -M? ,@;@ ,/BX "G , <N $Q\ $ *<##2@!&!8 !,?' ' "E'._^!, -M[@# __1.7DYU3E;_W$C7./Q\ '@ >@ H;@ 0=@ V+@ *) -3@BIN Q@,"\& -M( *0AS T"@ "@ __\O ' ,!4O $ZY !Y^$_O PN +Z&9 )21"P'4H54 -M32X%OH-ERB9N !0P//__P$8V@'(0XJXW1@ "-T0 !$SN./S_W$Y>3G5.5O_< -M2-<X_'X > !\ "AN !!V #8N HD U."*FX #& X+P<@ I"%,#0* * #_ -M_R\ < P%2\ 3KD 'GX3^\ #"X #(>RT%X 90A21 2'LM!> %*&5$TJ!KJ# -M9<(F;@ 4( =,? ! G$#:!3'QP!P )Q @!TQ\ $ "<0-T$ DQ\< < -M "<0< P!$2 Y8@B -*!T('0AS= 1,[CC\_]Q.7DYU $Y6__PP+@ * -MP.X #M"N !!.7DYU3E;_^$C7 (1^ #XN K>K@ ,( =,? G$'(0XZA, -M?' " G$(""3.X A/_X3EY.=4Y6__@NARXN AG&"!N QP # 0WH P//__ -MP$<PP'(0XJ]F["XN__A.7DYU3E;_^$C7(( N+@ (9R0J;@ ,+P=P # 5+P!. -MN0 >@Q03RX ,#S__\!'.L!R$.*O9N!,[B" __A.7DYU3E;_^$C7 (0P+@ * -MP.X #M"N ! N $Q\ "<0<A#CJ$Q\< ( "<0@(),[@"$__A.7DYU3E;_ -M_# N K [@ .3EY.=4Y6__A(UP"$,"X "L#N XN $Q\ "<0<A#CJ$Q\ -M< ( "<0@(),[@"$__A.7DYU3E;_^$C7 (0^+@ .< P+@ *[ZC0K@ 0+@!, -M? G$'(0XZA,?' " G$(""3.X A/_X3EY.=4Y6__PP+@ *P/PG$-"N -M Q.7DYU3E;_^$C7 (1^ #XN IR$..OWJX #" '3'P )Q!R$..H3'QP -M @ )Q" @DSN (3_^$Y>3G5.5O_X2-< A"XN @@!TQ\ "<0<A#CJ$Q\ -M< ( "<0@(),[@"$__A.7DYU3E;_Y$C7,/ H;@ (."P GX ? !+[ &>@ Z -M+@ .< P!"@ 8"0O!R\%< P%2\ 3KD 'L@3^\ #"X ,#S__\!'.L!R$.*G -M4H:\A&782H=G)DOL 8J!N.%V\4O!TZY ![IEA/+@ P//__P$<ZP%*&<A#B -MIV;D.48 DSN,/#_Y$Y>3G5.5O_D2-< ^"!N @^* ">@!\ #8N Y#Z & -M> X!V 8?@ ^$>>OWH4P//__P$<RP'(0XJ\J!U*&O(1EY$J%9PPP//__P$4Q -M@&H&4H8Q1@ "3.X ^/_D3EY.=4Y6_^A(UP#T(FX "'P >@ Z*0 "4X5K.%Q) -M+@EP # N YX$)B XX7:AR)%*@=^ #X1Z:]T$.6NWH8@!W(0XJ@R@ *' #_ -M_RP'54FSQ63>(&X $#"&3.X ]/_H3EY.=4Y6_^A(US#@?@!\ "AN A+[ & -M>@ Z+@ .8"0O!R\%< P%2\ 3KD 'JH3^\ #"X ,#S__\!'.L!R$.*G4H9P -M # L *\@&722H=G)DOL 8J!N.%V\4O!TZY ![IEA/+@ P//__P$<ZP%*& -M<A#BIV;D.48 DSN,.#_Z$Y>3G5.5O_D2-<P^"AN @^+ "? J+@ 02^P -M!G@ ."X #G8 -@=@)"\%+P1P # 5+P!.N0 >?A/[P ,*@ P//__P$4ZP'(0 -MXJU2AKR#9=A*A6<,,#S__\!%.8!J!E*&.48 DSN,/C_Y$Y>3G5.5O_D2-<P -M\"AN @X+ "?@!\ $OL 9Z #HN YP # $* !@)"\'+P5P # 5+P!.N0 -M>R!/[P ,+@ P//__P$<ZP'(0XJ]2AKR$9=A*AV<F2^P !BH&XX7;Q2\'3KD -M 'NF6$\N # \___ 1SK 4H9R$.*O9N0Y1@ "3.XP\/_D3EY.=4Y6_]A(USC -M?@,B;@ (2^D #'P,+4;__-O&8 13AUE-2I5G^"9N Q*AVU 0>D #$*N__0@ -M!^. D*[_]"U __@J2"P'Y8;<B" N__A)\PH&(!4"@ __\X@" =<A#BJ#E -M )5KO_XN\9CW..'5(<W1P "2FL !F8H.'P 3I\ )@#D'K 8QL]@&V/Y2 -M3%1-( QR #(K *P@67F4VL B I A2@'( ,BL NF)D($@;@ 0((!":P $ -M3.XXP/_83EY.=4Y6_^Q(US#@? H;@ (+BX #$OL 9@("\'< P%2\ 3KD -M 'MN4$\N # \___ 1SK <A#BKU*&< P+ "O(!EUDJ'9R9+[ &*@;CA=O% -M+P=.N0 >Z983RX ,#S__\!'.L!2AG(0XJ]FY#E& ),[C#@_^Q.7DYU3E;_ -M\$C7,, H;@ (*FX #$'L 8L"' ,"P B!&,# *_@* #__X#\)Q!(0#M -M 9P # L (R+0 &LG *_F8(.WP 0 "8" [? " )P # L (@1C P"OX" -M@ __^ _"<0.T "'X /BP E6':QSCA]Z&($=P # 0+P!(54ZY !_4%!/ -M58>^AF3H?@!@$$*G2%5.N0 ?U!03WP0WH8P+ $2,!\$)"&OH!OXC L 1( -MP+"';QHP+ $2,"0AP* #__R\ 2%5.N0 >]103T)M 1,[C# __!.7DYU -M !.5O_P,"X $G( 2D!G$"!N PB;@ (,MA20;) 9?A.7DYU3E;__"Z-*FX -M"$A53KD # >6$\J;O_\3EY.=4Y6_V C[@ ( ( 1"\N Q(> O2'D @K> -M2'D @JT2&[_8$ZY "*\$_O !1(;O]@3KD (S@6$].N0 C!!.7DYU3E;_ -M:$C7//PJ;@ (*"X %$)N__XM3?_X2H1M"G[_+4?_]& /1$A$*N__1@ #J -M/7P "O_R/7D G9._^P]>0 "BM#_[CUY (PSO_P+7P G90_^ M? "BM+_ -MY"U\ (PT/_H0J[_U$*N_]A"KO_<+7P G9V_\@M? "H=;_S"U\ )V"/_0 -M( 12@&H"5H#D@%2 /4#_QF ) ]? "__(]>0 "=BS_[#UY )VFO_N/7D -M @M4__ M? "=B[_X"U\ )VG/_D+7P @M6_^@M? "=CC_R"U\ *)8O_, -M+7P C"0_] M? "=D3_U"U\ **&O_8+7P C"P_]P@!%* :@1^#]"'Z(!4 -M@#U _\9@%" N Q^ K"'9P#_#GX*L(=G /]T+"X $$'N_^PN"$'N_[@J"$'N -M_^Q<2"@(($=P # 0(@9,0! ($4P@"!'< P$$Q 8 94A52'OH1EWGX"+4?_ -MM'@$0?9(N"@(8 P@1$I09@Q3KO^T581*KO^T;.Y*AF\R+P9P # N_[PO ' -M,"[_NB\ < P+O^X+P!(>0 ""N1.N0 BJ @;@ 8?@$@AV !78\+0 "0>[_ -MN"X(0>[_R"H(0>[_N%Q(* @@1W ,! @12!00? * ")'< P$2)%(E%#\0H -M,"D I!0W$!4AUB%OH1EU+QN_\9D!#U&_\:\56(((&X &""-8'!X #@&!(0 -M $ XXP&A @8O!$ZY O"%A/* !F"B!N !A"D& !/(@;@ 8((1P # M -M (O $AM 8@;@ 8(!!<@"\ 3KD ("P3^\ #"!N !@@4#%M ( B!N !@@ -M4#%M 0 !"!N !@J4#J&0J[_P$JN_[1K 1&< P+O_R+4#_D' ,"[_QBU -M_Z!![O_@+4C_F$?N_[A%[O_(0>[_U"U(_Y1*4V< _AP # 3(%(P, H" H -M /__<@ R$R!2,C : *! #__Y"!+4#_L' ,"T BU _ZQ*KO_T;"Q@.C M -M 1(P$2 :@1^#]"'Z( M0/_T8"0P+0 $2,!$@&H"5H#D@"U __1@$" N_Y!^ -M K"'9\Q^"K"'9]P,;@ "__)F*G ,!,@;O^4(%!!\ H ,!#1;O_^< P$R!N -M_Y0@4$'P"@ P$.E(T6T ! RN ?^P9UP,K@ '_K&=F("[_D'X"L(=G -M #0?@JPAV< ,Y@ #0< P$R\ 2%5.N0 ?@103V Q1"IW ,!,@;O^8 -M(%!!\ H < P$"\ 2%5.N0 ?9A/[P ,8 "[B N_Y!^ K"'9]!^"K"'9[9@ -M +:/"T !B\N_[!P # 3(%(P, H H /__(&[_F"!02' * $AM 9.N0 -M@+!/[P ,.V[_L@ "("[_D'X"L(=G''X*L(=F *2< P!B\ 2%5.N0 ?190 -M3V GY"IW , 8O $A53KD 'V83^\ #& F9";O^J8 8]?"<0_ZH@+O^L -ML*[_L&4$("[_L%: D6[_JB@N_ZS8KO^P0?5*!D)H__XL!%6&:P !M' ,"[_ -M_B(N__22@"U!_YPV!"0N_ZQ3@B@&XX0N!IZN_[!2ARH"< P$R!2,# * * -M #__RAN_Y@H5$GT"@"\@FP"*@9*AVP -)^ & ,Q(;O^D( :0A4AT"@!( -M=7H&FH=2A0*% #__R\%3KD 'C.3^\ $$IN_ZAG&$'U2 9(: $< P+O^H -M+P!.N0 >D!03TIN_Z9G "20?5(!DAH )P # N_Z8O $ZY !Z0%!/8'9( -M;O^D( :0A4AT"@!(=7H&FH=2A0*% #__R\%3KD 'E(3^\ $$IN_ZAG&$'U -M2 9(: $< P+O^H+P!.N0 >FQ03TIN_Z9G+$'U2 9(: "< P+O^F+P!. -MN0 >FQ03V 2("[_D'("L(%G /\L<@JP@6>*2?5(!CBN_Z0^ W , -!]0H& -M2FC__F8$/@-31[YN_\9C#' , >0KO^@.@!@ GH ("[_P+"N_[1F0"X&5(=P -M # %OH!B-# L *P;O^J8BIP # L )R #(4@(%G'#H'2J[_]&T&OJ[_G&X. -M< P!0!U $*!CP%8 Q3AE6$2H9J /YL? @+O^LT*[_L#M )P # M )! -M]0H&2FC__F8(4VT F "4D9P # &0?4*!BX(2E!G\$I&9T)X #@&< P+0 " -MD(0O "\'2&T !DZY " L$_O R=;0 "("[_D'X"L(=G"'X*L(=G"& .( 3I -MB& $( 3EB-%M 12KO_ 5$M8KO^46$I8KO^8("[_P+"N_[1O /OJ("[_^+"- -M9U(@0# M *P4&)((&[_^#%M ( B!N__@Q;0 $ 1P # M (O $AM 8@ -M+O_X7( O $ZY " L$_O P@;@ 8+Q!.N0 @-)83R!N !@@KO_X3.X\_/]H -M3EY.=0 3E;]R$C7,. L+@ ,+7D K,\__1^ 2U'__@M1O_\2&[]W$AN_>!( -M;O_T+RX "$ZY !RU"!N !0@KOWD*FX $"HN !@@+OW@?@6PAV)\,#L*!D[[ -M ( +@ , P 1@!8 %@@+OWHT(8J@$J&;U9+[OWL*$5!]FD@_>PN"!C=N\=E -M^F! ?@$JATJ&;S@J12A&V<4:_ PN\QE^& H0I4N.0 ""RAR"+R!;0Q\"& * -M0I4N.0 ""R1\ RI'*$7>AAC=N\=E^B!%0C!H " %3.XPX/W(3EY.=4Y6_<Q( -MUR#@+"X #"UY *S//_T0J[_^"U&__Q(;OW<2&[]X$AN__0O+@ (3KD '+4 -M(&X %""N_>0J+@ 8+BX $" N_>!R!;"!8@ GC ["@9.^P " $0 # , ' -MB@"*2H9M#"!'("[_\)"&((!@!B!'(*[_\'X 2^[]["P%8 @@1A"=4H=2AKZN -M__!M\B!%T>[_\$(08% @1T*0($40O P.GP ;R-;Q1^ =Z%W(4@1Q"\ #!2 -M35*'OH9E\D(U6 !@)"!'0I!^"+R'; @J/ ""SE@$BH\ (+/6 *($="D"H\ -M (+1B %3.X@X/W,3EY.=4Y6_=PM>0 "LSS_]'(!+4'_^"UN S__$AN_=Q( -M;OW@2&[_]"\N A.N0 <M1/[P 0+RX %"\N !!(;OW@+RX #$ZY !CV" N -M !1.7DYU $[Y FX$AX -.0&7R3G5.5O_\+H=![@ ,+@@P.0 " L ( -M !9AHP.0 " L ( (9PH >0 " ("P& $</]@$DAY ("L"\'+RX "$ZY -M ]X"XN__Q.7DYU $Y6_^@M?'______["UN C_\"UN__#_]#U\ $+_ -M_$AN_^Q(;@ 0+RX #$ZY ]X"!N__!"$" N A.7DYU !.^0 )N!(> % -M3D!E\DYU(F\ !"!O @@+P ,;TPB"9*(; !$2!LH!M !$,@@( 0 9P02 -MV%. (@D( 0 9AXB .2(8 (BV%'(__Q"0%. 9/0@ 0* V "$MA1R/_\ -M0D!3@&3T("\ !$YUL\AN%& "$MA1R/_\0D!3@&3T("\ !$YUT<#3P& "$R!1 -MR/_\0D!3@&3T("\ !$YU(&\ !")O @@"'+_2AA7R?_\9@#_^%.(<O\0V5?) -M__QF /_X3G4 "!O 0B;P (( AR_Q#95\G__&8 __A.=4Y6__PNAT*G2'@ -M!DZY "-4%!/+@!G$"\'2'@ !DZY "-4%!/8!A2N0 ""TP,N0 $ @M, -M9@9.N0 )O!(> &3KD (U&+P!.N0 C>Y03RXN__Q.7DYU $Y6__1( -MUS" *GD @ 2HUG'"AN A*E6<4+QU(5$ZY ",JE!/+@!G[" '8 )P $SN -M,(#_]$Y>3G5.5O_T(&X #")N @2&+(19@H,&0 ]9O0@"& 22A%F# PH #W_ -M_V8$( A@ G 3EY.=0 !.5@ 2'D @+$3KD ">46$\O+@ (3KD (WX -M6$].7DYU 3E;_\"Z-(&X #")N @J2& ($!6P$6<&4DU*%6;T2A5G -M!" )8 9*&6;D< J;O_P3EY.=0 !.^0 )N!(> 43D!E\DYU3E;_W$C7 -M,( N+@ (+6X #/_T( ?E@"I !H J],*$ M5/_XV_P J_,+57__$AN_^A( -M;O_T+P=.N0 -Z!/[P ,2H!K0" N__BPKO_L9@H@+O_\L*[_\&<P+6[_[/_X -M**[_^" N__!R^\"!+4#__"JN__Q"ITAN__0O!TZY WH$J ; 1P_V $("[_ -MZ$SN,(#_W$Y>3G5.^0 )N!(> E3D!E\DYU3E;_V$C7, H;@ (2^[_X$J, -M9R1*%&<@*HQ(5$ZY !0D%A/*T !%!-*KP J)L<@(K00 $4$T@.0 " $2P -MN0 "H_!D$B Y ( 1$'Y *BA"AP# !@!BA\ *B;RJ,+Q5.N0 4)!83RM -M 1032J\ *B?7(!*T$ !$'N_^ @#9"(YH!2@"\ 2&[_X$AX ).N0 CJ9, -M[C _]A.7DYU 3OD ";@2'@ >4Y 9?).=0 -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M $ H(RE-8W)T,2YS(#$N-B X."\P,B\P."!#;W!Y -M<B Q.3@U(%-U;B!-:6-R;P " $ -M " -M !D ! -M !I;G-E<G0Z(&)A9"!B -M;&]C:R!S:7IE("@E9"D@870@)2-X"@!B;&]C:W-I>F4],"!A=" E(W@* &)L -M;V-K<VEZ93TP(&%T("4C> H 9G)E93H@:6QL96=A;"!A9&1R97-S("@E(W@I -M"@!F<F5E.B!B860@8FQO8VL@<VEZ92 H)60I(&%T("4C> H 9G)E93H@8FQO -M8VMS("4C>"P@)2-X(&]V97)L87 * &9R964Z(&)L;V-K("4C>"!W87,@86QR -M96%D>2!F<F5E"@!F<F5E.B!B;&]C:R E(W@@=V%S(&%L<F5A9'D@9G)E90H -M<F5A;&QO8SH@:6QL96=A;"!A9&1R97-S("@E(W@I"@!R96%L;&]C.B!B860@ -M8FQO8VL@<VEZ92 H)60I(&%T("4C> H <F5A;&QO8SH@8F%D(&)L;V-K<VEZ -M92@E9"D@870@)2-X"@!R96%L;&]C.B!B860@8FQO8VL@<VEZ92 H)60I(&%T -M("4C> H <F5A;&QO8SH@8FQO8VL@)2-X('-T<F%D9&QE<R!F<F5E(&)L;V-K -M(&)O=6YD87)Y"@!G971F<F5E:&1R.B!O=70@;V8@;65M;W)Y JVL -M 0 " 0 -M 8" -M -M -M -M -M -M -M -M -M -M -M -M -M K-, "!:0 @6K (%O "!6, @5O (%@@ " -M!8X "T *P @ #!X #!8 "T *P @ "T *P @ "T *P @ # Q,C,T-38W -M.#DP ",@*RTN,#$R,S0U-C<X.6A,) P,3(S-#4V-S@Y, C("LM+C Q,C,T -M-38W.#EH) *&YU;&PI # Q,C,T-38W.#EA8F-D968 ,#$R,S0U-C<X -M.4%"0T1%1@ (" @(" @(" @*"@H*"@@(" @(" @ -M(" @(" @(" @(""($! 0$! 0$! 0$! 0$! 01$1$1$1$1$1$1! 0$! 0$!!! -M04%!04$! 0$! 0$! 0$! 0$! 0$! 0$! 1 0$! 0$$)"0D)"0@(" @(" @(" -M @(" @(" @(" @("$! 0$" -M -M -M -M ! @,$!08'" D*"PP-#@\0$1(3%!46%Q@9&AL<'1X?("$B(R0E)B<H*2HK -M+"TN+S Q,C,T-38W.#DZ.SP]/C] 86)C9&5F9VAI:FML;6YO<'%R<W1U=G=X -M>7I;7%U>7V!!0D-$149'2$E*2TQ-3D]045)35%565UA96GM\?7Y_ -M -M -M -M ! (*# ""@X @H/ (*$ ""A$ @H2 (*$P ""A0 @H5 (* -M%G]_?W]_?W]_ ((% "\ +P O $Q#7U1)344 3$%.1TE. -M1D\ 3$-?0T],3$%410!,0U]-15-304=%4P!,0U]#5%E010!,0U].54U%4DE# -M !,0U]-3TY%5$%260 3$%.1P!,0U]D969A=6QT $, +V5T8R]L;V-A;&4O -M "\ +W5S<B]S:&%R92]L:6(O;&]C86QE+P O "YC:0!*86X*1F5B"DUA<@I! -M<'(*36%Y"DIU;@I*=6P*075G"E-E< I/8W0*3F]V"D1E8PI*86YU87)Y"D9E -M8G)U87)Y"DUA<F-H"D%P<FEL"DUA>0I*=6YE"DIU;'D*075G=7-T"E-E<'1E -M;6)E<@I/8W1O8F5R"DYO=F5M8F5R"D1E8V5M8F5R %-U;@I-;VX*5'5E"E=E -M9 I4:'4*1G)I"E-A= I3=6YD87D*36]N9&%Y"E1U97-D87D*5V5D;F5S9&%Y -M"E1H=7)S9&%Y"D9R:61A>0I3871U<F1A>0 E2#HE33HE4PHE;2\E9"\E>0HE -M82 E8B E92 E5" E6B E60I!30I030HE02P@)4(@)64L("59"@!# &1E9F%U -M;'0 0P!Y97, ;F\ +@ ""B0 @HH3F%. $EN -M9FEN:71Y ""D0 @I- (*40 !);F9I;FET>0!);F8 3F%. -M @8FEN87)Y(&5X<&]N96YT("5D( @8FEN87)Y(&5X<&]N96YT("5D -M( @9&5C:6UA;"!E>'!O;F5N=" E9" (&1E8VEM86P@97AP;VYE;G0@)60@ -M (&QI8F,@8F%S92!C;VYV97)S:6]N(&9I;&4@)7,@;&EN92 E9#H@)7, -M7UA8+F, "B!?=&EM97-?<&]W97(@9F%I;&5D(&1U92!T;R!E>'!O;F5N=" E -M9" E9" E9"!L969T;W9E<CH@)60@"@ ""RP @LP3F%. $EN9FEN:71Y -M $EN9@!);F9I;FET>0!.84X 3L %A &>P"AK2 >' T 5S -M.]L2+C^CGYWB8;+<XBIC!+R4)M6;87 EEL+C=;D4"RPA'QUJ8+@3.Z*)TGUS -M8/'7W\;*WRL&:8<W)+@&[6:3;NL92=MODXV"=5YTFC;%;K<Q-I!"Q<@H>8XD -MK@[>A,$;D\-GP5?#RZ;WM9#@[BPV3-FR7PT0EM1=L+=XT&,&92PRFI$L>;6R -M23$ _B$HRQ&O9':DX48 (PEW4QW. $5WCL+>K<\"+?2%BI@W<X5[><Z4BIP6 -MYI'3M,T-X$,.74P^^_E4^MR=*>L9B2FOG?1H?'WU>D^'D0)E_IK=4.<3RO05 -M'9*K:&*D@&AC4$6S25MP*,WQ+QV0DT,>20"BWB80PD!J% P4GO"^;T@!R\"# -M05[^X&C]_&:B0\"Z)J&Y]>9[+VJ]$ETM/?JAN2<,Q@#=(0#0_6;A>O&?_9ZW -MOPW0T5#_.K06G=.1.$O6I.3T03_N!9(H-;]4CSYX']Y32L+\QM,I!/!J_2AA -M-;L66 \>9'95LV0ON9>1WH]Q%":^I*_]!B92R719S%5#)/4S4;\BA&/'9)"K -M8O0% -R+,2B^<IQ3JS4C CRJ\S]'J!H!3(FNR>6CGMS+X'^1,JU\!=WQK#60 -M'N&*M]#Y6 S,%6;E*> "G3EN0U1-, U\R@%F(;Y, =L9'$$4F\,AT*2%7H [ -MDQ+_3WH/A4BV2."13SAULF_&4P%X<9VUK*0@ HU=Y&(*#J^*(FX ;4;0'6&[ -M0>(^DIS5APH1(U18B6/!*@Q*CQM<"(.ASA839E]&2<10EL4->>Z[44>KY7"B -M,Y\>Z<]#$82]V$,*B>$2E\ 6J??K%A;,>2=7SY[HUH, #)F!<'U,4"T9^@_- -M;S8TYBE<@@?"WIU'3%+9@]'-0\?J"MY+EA?=D371>@OH!;79K<BI1G/2L46& -M@N?&@+:!K^OC!FF=7OBRQ*>4]JQ P"WWL\\:A;CQ UJJK&4Q&^MRV&\(U$W+ -MM>Q^]O4>1<J,&RADHG,V4 :SB(!!:31)0=EU/-]2TGZY/J;LI*U))A3O;NA5 -MJ7C=8;U9.8QB=/6;0U#97)QZ1M$!C<*8:^KK.&+:E-XI[(J0FK<_)?/*&ZYK -M:,/NHXFWLZJ[#X_[S-'K;AT#:Z8JY!=':B*=LN,JFXY\4<?#[_?$5VF)?U7U -MXZ%KIYSK">@[^L\N?U<@9JMI&NH0")HU#5@WE_CDY4HBIV[CJ%9N=,+*K%;F -M#VX.$S8X.1)S8O775'BZY-MS-54* ?!8FE#:]GIRDZ1C19A<ZZC."%>@R^HD -MNB.2PXCB0C'00;J'%U#N3,EP9/G<N>]I@=#7V\1-BMZW6DI..F:4%$@T2L<Q -M:"[%'CP^2^!V%CU2["U&/@SBCGGV-^#J(IPB!.84.63@M*6O6+=\:8GJI0^^ -MOM_A ;9^M8JN\WIWQJYBC&N_LK,_D2MLJ"=:$+D6< >RNFU)<Z[AJ<1A$OF -MX9Q'@Y'U)C)0'>5*2J2"ZW:\.5_5'KD_TF_HV>\;#D-BFY2=J Q*)D)QC"=K -M?-(J;0"N)N!UII3R)SII]MQ<G^>X"I8>9WD]UL4<XQ[1X6\=AQDNA-4M1ALF -M)2O\#^OF:)#(#1+B=N$A:)VA?.Z&#*FNY;BM84&%%TCQ;.L7RT"G;?8@K/&@ -M_20K4L9922+/W]JDZR"Q45/_.L?( 5+P#G!9>G/NCW7U\=@AL).,^?!,1IMS -M1V;:47\4< .NS$\%,1P!0!=;UVUB;-69&X^5<FC. GN%YTK+$*:0%ANY.AZN -M*OKEQ^BRD%56 ^;OHYI0.P-MQHN2NI;6JZF]L-D_+;?*&-Q0T#E'C>26EG!T -MTNK:K1JV!$K>\JO-8CKS[DD3MUBM.:-)0[EL>4$W=*2N5= -+:]SWVNY:F4D -M[I)T>0 V_ -L!> !;=R=)QT0<FFD^A2.^) NA=^K E*NW(\PV_7P:\2NF"R -MGP.XAR'L)DJ!$E\/Z$Z/UL,OD(!D;2?"!!/@#M_#)!2P#9E3NG^$\>TXBCUL -M*6;Y#2 +X/F+^XOQU)4H*N8?M5,<\.B<W!53K4KAGG*&7G^#OEP)S FCE&[\ -M;.5(LX8R><]I\\H@0#_E#1;X:HE,#GGW8HS9TZ4+%3Y!4>K?W+/&RP9N1,'! -M4XR=:-DEK1.G4@&._[-QLHT5Y0/9?3$><V$_[XUR;$Q$!$> -@-.8FIO SL/ -MVJ(83Q?)I 0ZGE52J(=]4$JKU.>)A=G8M@"!+P<^M=7]*J*XK^<(,P, []\U -M7@^F9$R.2E&GB".>L0PQ=C?<7-</C_V@7-V[VN_IK^)ZV2+X-(O$'2.M!D9R -M8T%OSB]E@FI"^\ ?*(S-_XM'<1H?Y%L*B/T#YM\N>CXR!SDU@$DAROKK=(% -M-3*$*P.[U<IX(:?)',_P%]C!U#?ET'6R.&UJ]PGD[,XB/&I_44EQ]"GZ:V5* -M2E-+"IO)LC6/1X']WO&[<YEUU)#.P_I%/_P[8U4A=Z:BHMIBG)51Y/F0]+<2 -MH><PI*#QMFB-@N.4&ICMC0VWI)0)H%$71$\GS#NF-[ID">,9XDL(G1DKDC<P -M=>7=@@5 O3;W%KQ D>6<>U'-_DHPQ@>VC%&P$]2\V5?(6@'[)LNM5ZH!B&AT -MJ#$N5#@4]\H\#CFT;_ZAV0>VTVI"EL:VY-85%D3^W2[0N<G#(GK%\VL7YGY[ -M[@O?.WD'!7?!\J9\W"R13#^TT<=2^1;),AI!;\2K,)WP;E%K.+)&5K4F<9HZ -M)H>:N9\HEL6@*6_(@"92XR%O]BS>-P=^3A$E1"DZJX/%MY;I\;VX@^M,\/,T -M2.MTFQV1+"U4OBG!VHEQJL[ ^W*L>$$1WP2IJF&6\$0(&@\<0&LS9R:C&!FF -M94KTLTE:TQ!V"0O"Y!7W6'::B+A,2C+@RCO4;"5'#_(NN2Y;L9]V0YF6G]@B -MZF.#X+'-'.+I7NA>6FH\?%[;#+?0LJ\W(- 7 *2A +5&Y[KON<DX48B"0*-X -MJT"Y=419VF0(N-C,D)S*15>LDCP<[ MQX;T]X? 'BG;Q.8244>Z<AGXO7F6+ -M)Y%5*I ^^Q?!$"-S5 =0(2YM%I/57/[TK055&7F;([.[ZJTD@L=2H?$FA:Y- -M5][\>#T='0#P31(26HJ$W2%&P*/B!(!_0YO>Y&XX:J'NF8UGZ7ZN,V[>UOHP -MY.X\#;+&;Y4!U'?V_E#7L3@G\@S&8:+>0WKC1XI^<,J^@BOV(>:#="EQD[^! -M$+IY3#M=['4DI7T3Q$GO!F!LAW.TN*7#T*-\?)8[G(;OU$I<=3Q;L@X@31LD -M?VKL7.?1DI(YYVB4]*!9L& B%<E8AMV.QC_H;24=$(D<UBK]6S:M$QK2B],@ -MBW0J+F@7!/?!&620TF)YRCI' ZEUG]D Y5U#AI#9B'HF$6$ALQ&&)*C86#<7 -M9_T80?[&O$= ]S$3J,;^K%&7A8]3R,,B8C2.W"Y_"/ 'BZ;W<)$6Q<\66I0W -M[!K)AZE)^LC\@>'UM;B-X:Z3%UC2KX >2'=WO$/8=@M%PW\9JYZN1*B:VG<; -MSJW) 11"<DS#Z4638#5,^1M DLA!79G(R9PGDT"8UNVQ5YE2*R6+_4'7-$6Z -M2]71DO&=6#@V]DE;H;AQ[%J[N:IB(Q+0)R"!+0OUQP8[U5>&$]_)#\L25'?2 -MI-U94$76?330G?@7)N1" !+&[1]_BJH]Y<J?'7=0*6S(OTQ?O.Z_M:J(>B<@ -M[R<)A4BLX"+I'6::?#I0U-"U_#Y0)@EYHI'A7O.8NQT CH5\%6F\H= Y,7>1 -MU+<5 )#.&HGS,PNB3?G.*")GBS+T[2-[F$[Z*PP7S'F5MR^? C/U@>$WKC5^ -M-V:LDTHZ*LFDW@M@[KA2#K9LK_$UW)1@[L,+:-*65E>VQXMK9Z;G+QGEE8R< -MS80)L!F>AO=()C280I"P@URD+1VB&F1I\,;[1=&%EJA(Y#6-[U:\DF4 "7,! -M) 6LD&A$[:Y\9W&B8ON,6E%L'VM%/65',^A_"1^^QE>OICP!)%O\Z1V\8+QS -MY33SQK"M9[O3Y,VF/.\4^]TNTJ<FR\ZGR,\GT_Y//B) 5T7OI?D>-P#KUO4; -M'.IBAVV4MOZWA"&A(W:#2=$!B'* R'=]@!2J@SI[16_?<S *\OU$VB7(>\OV -M\,)&GET9 E7U=WLR_BA9?* ,9#4VLR*TW2C@.[U&&42 \5;?CY68L5R5/$;+ -M<08))I/Y*F9]7Q-[VNIE@",[LR(87+0IL4-)>F8_Q&I2Y\-K,EW_*!<EQ,^K -M?Z03.V43Y:!-[@&G82T"-R$[E&R0? @*NW_O88<NJLINA)WNI=1 [\&NH,=_ -MS1R/@(R>?-U^D)93=5>:YR_OT&8+RFFPS#X0D0FE,2_?>!6CZ)+?O\C4$0_' -M^O;XIW_@NQ79D L,EI .(H+EV<8P5C@+0_LV>&(J Q]P:TU^? $?97HBY%AN -MI(O5GY2$TQZ$Z@F_44\S[^R71GV5%FJ\6_3NA49CHE1+<%+51[,018TCC3OV -MB@2:$>+@+2FX_+ /)[VYA0BZ]2SG3E?J7R)10;.[W!2;F@OSVRYHV<&=LE;U -M6K:1Y6/[K*>[.")[A%8I8'3%YC'9!_0^#=1P>[+,KCEW5UU<NL*\3Y2>LZG6 -MIZ6XDE-G2?HSG T^ ;QY1NF"87I<MIGA>)<%8XP+*&S?XHA]TIM?:Q?"&3'F -MFP_3"B*3^DRQ(G;H$UJK,^C$9UJ)K1B$)HI,ED*;)W6GZS,H_A$MZNL4G\T@ -M?<V^A,CJ\%T'_'DJ,S:!HQ7-@]HV3&ES5P?;[9ZT#2Z-0GDB]!APJT)VI>MX -M87WD+N<OV#[B]FA9(5./,??^-0P3 H@L^]!#FJF%E" ]]N>)#2?*Y5LBHO:V -MK452U;-*>D*T=LX(S/=9+EDN-'D4]BTO $OU1PQJWUH*._0-H[9CR2./\(&( -M,27W6-V5!QVKN)P]232^I:-R7C@^$M:XU]KQ/8"9)2'864C7O"UGI%E2"5?K -MC0_*9"@)]4_^R:*CUSX]PNNCF,9Y';4ZS:Z4:$,1F-X2T.,"P,JA[RQR#L:I -M& 5HI ?#12&@G!S)6S_11$*VT^+=NXY/80"(0TK$RP9,3@'MS%\S':P^TK,V -M=U+-14TR"4*[NP>L>(Q2GU(3Z"'H)#ZN2)9HCDC(8;GP$?$1K@"5YZ*LBZ^D -M8?:3Z#5.]D_C?I0FBP(I: V(SX)NT42Y#PQS*>G$:Q!J0-LI^FZ\S,0$39VZ -M#=C6]E+X33K4=Z+Y<-S&M.2;06!SCD3:F8S?]MWMV,_@0,9217J"?.&<OO=W -M*CB<Y'6UJT@IB94%-[[1=(R<'-%Y6#=8; @@<"39O8M(%8MDZ?FS7&&,.]T( -M*F8@9 I[C7^4E99:TD6HOEW%FJ!\N45[X(3A35'U.;%"K$8B#'/9*SHA*E25 -M_]G5((BSLJYSQ[FQ?&?&L\X957F3;<6#S6%-D,DX'@SDM%1J^!PSWRCF9619 -M"CS'DO&ZH3=VZ@>5 +PEI_L'2CRK<M3W8!5EM.,<_/<Z)BU"16#6Z6;81Z@U -MGPV;%WQQ-EHJ421FM62C@H.]"H6\;3YEF;<%:>P_']^/EJJ._]MV\(Z%-L<_ -M =TU*QTYA]UW[R@G(O'D0H_EO<?I&UHVR8<A+XHYV$#.IRK4UEH'GK3A(\$X -MN/#=!HW]J36;'HU&PB:HCL6\RSHP$CHT8(]_,5NMW"OC.705]8P7&G9VD$<: -M^"E/FFBK?[!%L@-1DRF2PQ3"\K:%@P0\0]827"(9%H4^;V%@8-?$YZ1&MQ^' -M 5>VG*^;KJ^T^;'._ /1M<$RWY=I*_E)PTX 4KPBP(",S<X"U^[+C8\S;_C3 -M^I /'IV"]9?HJG,-+7N3F.Q/&.]BON*H%4R.B7$\BW44R<*U$$0L:L&A4^[ -MH@OW$:-2EB/XLYP#U=49NS?J"YDS'Q;PU[';,_19K(#"=:5@@^MV"GHC#\&G -MSE1LH5>'5P<2<.6B3IT1+?D1ZE:F9X865W>P++PPE50H"T3V&0A,B[?'9VU" -M-)#K_<IJY*>ZZHZJ>W[0%,W3":$E:>'=AZ,Y\!;A<V#3F\)TN?^XG76P\IOB -M2WGVEGAEB@[O/6M HT.9PC&H6\F:H--<:H7(--]5YZI,9TKC,%R/#=B'VD9_ -MLS5';E\CQ]9H]^049]:ZPJ$3&Y(H]Y^$RFI/C\XG%FB"$.N^[F2!:59L"?F? -MCL$2=?:@]GRB"-Q;3V;[95]B[U-N$PC0=N/XX.6;!%:\.&Z;0 HJ%M'F%X&Y -M07\GX_ W(.J$0P"%7J0>0@SUF6*?.FT\@83>X9/#29._1K,NYX8%"^BPT7\< -M&=NV4Y,"XA$76-4[3URQQX+;Q@A#-\$;^[7GRG/#J2<GVHT ]02'0HW(3JS" -MR<"+D6.E$3,[K>9("O!_+9EG),]AF)CDWP%:;POVQH[GFP-CSVT;MTR;B].@ -M9"7*NV$Q 9?:<>TL^*$P^%UQ\,]O5 &85X.ETWLES)0<T53#81ESI)()Y(V\ -ME]"MU!%RV.O&0SR4 ))O5I>'5+AH_<NEUAMR?%_04/Y$ ,!&9UM$ ?TU$&B9 -M1OW3=.XJ#D#3);X#P!EP8A]1L=;47,$+SS>^VXZ=EHQA[. 6VX@&L[12J -M,=O8S)N8:EF\\/'BG/"=3A1F"ZEHZU634>+WIM8O[Z0LQFD*JS+$$>J"P_ZY -MA\Q!+L.G:2#!:#Q<:2B+UM2>#V1\54#B<DTM2VMGX(4EY.T:>ERIR#QPJA2P -M,V:ZS0-/0<#M7IWK#P%POT[H!'(.D5F M)J#]*%!FV&*-AF6V/VO ];(H>Q. -M.;^4.[F8QG#;,>,F+C '4@"/&I\!\<HCVF.O5KO$/"EU%;]KB31- QZ<D]I] -M<^2DMKZMX>(6/>\/856*1M<I;8PJM@'JKWJQ+^RM53 83^W6VHL]%$<:,6RW -MF8.S!O@I&@RR6>+0KS+E.14X]O_8Q_$A%F@Y]V+_D7Z=Q^!]/-+WZNM$]="? -M'_V'+O#X-AJ*CVP#D(WP.]CFVZ"B@.J( UFE/Y4,E,6NST#AU1"61S>:'WQY -M@?A&'&5Y79!+I<$V)IVPD/]E /WY4$6.!?N-13"6K\*-Z+Y5]9WX2^3)"T)R -MCD[EYPF4"H>N)+/Q>)GK=]:7A:A8I^2QO3@ZJFSO7%7V2Q&V-$+)DYU!S7P" -ML\GS/:I4W#/>VAFMDGB-R%<7"2>CY>B4U3?619>[ &[I/A)1P/8*I]+>.@/3 -M/4&Z.9@*C/SA5OQ7@V%NLHAFX'G"R4A@U1C>S!QL*[[A'ED%/I$G2UK%5+&B -M-+8S88&L<[\L\[H;YR2I*R;^%.(6WTBXU+&%"K[DYB6#I=9WYLM;<A9'')SM -M9# 7?O YWH-EP.%[(H;R>"TR,;V,NGK*#P"WBX$= T#,0>RMG/LIPZ_=X(>* -M&*QP+(])/% YDL"4/H^']<*\O-A[ P1"UZHL&)*?N)63G]E0R+Q/I.F69P+: -M"P96[ZB!HWCCUEQV.P44N)$CKX##OJ\.!3EYRWL?T'E ):H+77VQO8,&.-2C -M*A318 N-0S/D9BII8^1PUU-J$8LY3/9UY&&<Z.O "(P]SSUHE[^FK[F;BV.@ -M@&;%;OB/]<]]7@%.4JKRXYS(,T1L72:4#%US\6PB=Q27#Q*>O?(RH6B'T!89 -M<D$@1A@KI=0E2BM-Q/+6UUW]HX9]2Z^="%A:,FA)K]KCQ;TAQQ,RW-/,[$7T -ME+0E/5X2+VG;=<O!!7NJ;I+QN!EZ*"^8*$.B/N(, 'HA "O0%5D4A#5[]3E@ -M5/AR+=[Y^F>E&#;[Q?SZ.JXM*.*/!4*H03%^<G.BW)W5+N,EUN-4R5,3P423 -MNT(T#;J;2&^L"1S+IWG]MI4MM[*>?@(9MV;0#UMY4!,Q3O8]5*J\T!1\KG]X -M7%:3(U D)__0HFA';GHOE*J.F ;QHCM]Y[.1\5L4*TX)HN,Z>G-NQ+[?]5Y2 -MW*0I/1BN$]U,83#7JB&CL@7F1PAH0-<0&3HB RQ>-R$ENB4[E15,@K5$74U[ -M/63;>I/1Q#S2K=HE92&BDF)<H*)CI0'SEPQEO02)*S8^<E$SDIKL0VWA ]$% -M=BP+Z7LNI$TGPB=8I)5,2Q6(5?M/7>V@LKI=-2)C'U@D5!_]W55+^9R(*)O* -M:+$-5(J>J1$MGW_1; Z(:,!5W,%.33]OOWB[3YSGB?N.VZ>[C8# %XTY@T.6 -M')?8$$ 9;0$H0U"X9E&"7W.MN!D:L=\KE=7< G9/4DUSPD2)U#*V)N@X:=_V -MSG9:OS&;VX8M-WHF^B0H+6E&8ZZ<>V0E[4*K"; I-\PFZ.H65UA3"PVYI!*/ -M[X,$IF^NGS3#Q /(FTWH8 "8*68E0Z1IAHA34HNIX G_9N\PNLI+Y!,=$+PO -M*"F9<<>'#4%-I+KM8R)]!)W5K'!\_30C-O[Q>VNS?>5[/DE/F5/CZ83&=L$# -MR#>0*3".3T^&^;C>57SW8C[)QSD5S28'>(:I@F?2<O##2HT$7%)12?I([SO+ -M7'39@U\_J'ZU&,W.#3U4FL2U/U^I&5-%)A$4P(.$Q-_Y6>O%TQ$,!PP)NM U -MV-@\ >)MJ4O/.5#?=OW^H@<]G]4VI7[]_?;>T8^%IE$HO(&Q"2^J\ '"2"L0 -M-)]J!B:PD=8;)>!'0!"Y RYP'VO^Q4NGWW8/-)0J9/':ER,QMZ_RT673">;X -M.;LL$[/P,-FJI5M:.+ARKA(3K%76V84\&&' ITE8P4^EQ8P;#U&^LO$0#M@> -MB-S#!==R<"()C "J<VBX,TP_:0G!#*&O,+P0T=P'9@K'^&UU#/;YJ5;<=G3" -M^DT(2+#-$1,YPJ'^1#K7=7[7]!Z4<EMO"WSA+*>7#[314PSVNW\4*7T=>!'3 -M-PG]Q@'/\HU/H %]K ]%2DCPN84_-T!A:$( ]6(P5.A!!U\"A?@Q0_ $6L-W -M"GZ%RR7*5, SK)QDU;JXM@B&5H"O1'P.734M!53B#E%H"./(?4""\W8[GU^/ -M=-8 E.445",X^LU"@[RW@[VDT.<:JNN.;B^](B?Y4T&.;E"!*]#"_'E!O-'P -M1DZ1-[H<XE '*!F .>FU20>Y0IZ-7SG)17JAN7*4-@H88.HC8^Q!5<-SJM"$ -M7HF-5M5A'9<_"^\+]>*0%^VCA'HAP,2V"R8DC"5UT,$"&[RZORG>%:&PZ8UD -M?DO[7?$$%UT9^1C&"P;-Q5;NF7[C"HQ55R8&0SI8I]XQ4'HY!/(JH2!2DV'" -M&95V7X?9(QL!Q(EV@=H)_=2ACLKD* )+4#3;79(]W[;Q!DZVFJ>,Y7:NJJ[, -M6M(*<0IEW.-372+^ >,@?_W3W(OTM[&:UM1O8@RE&OT"04R/H=I$XBQT@,V -MHFD$_WC:72]JTD\A0["ND0IX$9WQ0+^W[:_J%+9NK]ZM5Z@I>^=Z&LVB'/+7 -MX?00)8O_6+AJ.*2^MJ)H .]ZZITPD2>)&*F3O!=W[P T3V,GOX>7#*GQ.O'] -MXA,/*SY89Q@__]]MUH]'C%)0I);.@#DD$=M6!B_'F+$HZFP(0Z-H[,MS+&23 -MZ5/$)X)Y)C&"3!'!H-WKUCU*B1?Y9A L((0V4+X)BH ?M*2MQ!Z<?[,P':]* -M$KTAFLE+N1P/F75CA7RNA1L+G4]0#QV?RQB+T"54/=80#!OW=TOD".OGS2<, -MO'R^KM1)5H94;9T*JV28(/Q<&:-Y$@GYKW2F87)RD*ZPP2L1O$TDIT(6D]U^ -MFGK0<COKXX?HTT4<</SI&&*FMMEE'P[>*1,FSF2K>0)_)$#J:+8;?0MA^<ML -M<3>XRO&.3$]?D**U9/.J*;Y5H1^OIM VJR8<QR3R-BUZ]#'?V2IX:/F_)> : -M"WS_QLW7PJ>A3"@R4-58DS"X33V>I&N]NZ#EWDJL)4PF[^FZ"\':S*%+ZO_G -M0;0*4\,7B4VHA UO_X\<3HZ_)J@-_B>E6\B*U0H6+ 6F)Z[?P^CR')J)W2&0 -MQ2".L$HW$)U6.PK!/]WH/1#4C?ICM6..<]"K*A0M :I<_01/2\T:152:D>O- -M4P.%["F,K"AI&+,AJG=>_O'3'L:"Z3T ]@>T.!R15"N1:[6G81R]I54F5T8W -M,U81S#?QH3^WQRV.A-S-7RG*&IB'K+5W1<.@S&- -;;)$N[U^(P6JW$*YT:_ -M/P:0>:H.!H(+FC!-EB :>:^!,GB'OA06 .^JBJ0W.;B))B57L"#0=)7:I=RH -M[B#U/J"- =>97F?ID!^=C<"4_!>H?I$$>$&=7YI;BI1*=6'-]=LNX^2/PF#\ -MO8E+U612LUH -R^>IMGKXT'4^&EKU]?<;)K4SW(#(BR&,!1YL=3JD@&5MG"@ -M5F=MLT/J=LK @TNLK'=TZF1)5WY4;\ZQXK^5]X=:L\?@I^:@L/>R>>VHI9-> -M2Q9RNJUR3"=:@#!20S@]JKEU;+Q-<F\]%E=> Q/?B>E"#U#_T_$2A5KI-_R1 -M&T;_LCZ>-V%V1L$CKR4=53TQ)BN#]88!T#$<X%0TVV\]2%HI+6>)NDS0WV23 -MTA8TZ!_VLS.[_]:D<JA%.*A'2F'RZ_U&A "X(;_PE?V\=PHK=MG(Q6%U=^E7 -M8M'$59K_#G7 AJ)A025X )Y@)#5AE\OD65V_GXU*T#:\4MQ8T8XO('-P3 @, -M':5#80%JHMPAI,IKY?419\^35.F1UQ7XYH*.XXU_D$1$B! 9H$AN+*_K]X9F -MS1P#@\L1+_"FXA55 ._(36L(55)UA]ED;%A5MFBL%,G^6_!%SWW+(P:A0EAA -M3PT_VU@E#V9C_KA*#J_X1%F&\S?'HBP&#S[3=11VY=\-'>JV;9^?#2,SE(@$ -M*D@G"2,D<YW<!Z=8++*BT&>/'7KB++1W6\[I=9(%1L'S0!#8XO"T'[$+U9E( -MF51=B^OT7I,_72UEULWT8B$)X8;P*8(7TKM=>2?R<:N5]NTL*!CC'H'EBV-_ -MG,R-D\]2*W="_PY/NH&^A(?H]\DVU[GMXW_)V8!7FTGVQM78RT>FA>&]'3K3 -M!T!=E4;D:AOA $OL=<^=2?E3AW6^:(IRKLIJ 2G(PXO"&-D/NY5JTS"'SFO- -M8QDGM#OBM/F7Q5D*3XLA.OV*'\OUA,[\%>LS8IW3+FHJ(1IHS2C%3.\$&F+? -M*!(?'(K7G\ME*DE\$0I]DN^.>RS''# GMM[_13,8OY_L)!&2JJNR[!*<O2$H -M9<"IW%/H6"/U]5Z9H'X8B[@<D6]&:AAYX&DVM*'@;UZ>/7;(_9*_W_64L+\1 -M\%IHHJNY+T6<P[8O+HZF:8! [U^>9ZX)9M3G<]+BQ2B.U(RZX&B!1]RDS>F1 -M B>F';(R"0:H=IS_GRPPK<0F"/H>"^WF/GG[&RT.3K;05\M,5LKCQ8GYI[Y^ -MYSA:T./3'Z.#B%%YZK'41XW5-QYYE(KLKJ;H1]-6?YK+<(G&:\T)V1YX/(X[ -M7WO$/?2H\8M67:QI8@;RYH&[6I&A).KM81]_^ZB.]-+9%+4])S7TSXJEO3]0 -M+T=-S)-[SZ7WCAIOMBO&&X+42%+1EY&>%_IQJT+P&HO'9JA+?-4BJ[6;?Q-( -MG!A8T%8V]A1;<H>$X,UF).X\+)P%.7/55&4D1$D#V+W$?#=X4$&[(6X_EO^K -MG4.TY,8)G#G+3=NIN7EYN0&$T(^2A^O1(,>'^8X% <K2&*X8@Q0V@K_^$['5 -M..N04AZC/(VEHDW^FYY=Q[<FFU-O@%U8JSA%FZ9DK/<^0=V:\4&S@ T_$D^) -MP-B^I2X22&KFL+R:B'\]_V\*S^HN3[&6=:SMO&V7)#.H#;0.IHZ7U@4IV'"0 -MJK.+HXZ6B^MOHWAV3ZWT/+AH@)N+H7)O]GY4B@ZPT,^UFO@U.T!GN1+=[_M2 -ME778\8-_)0O),M^U^6CVR1*[F3*@06YCN@A;OG?)'&@+#IK!*+FWM>^+]=6M -MO74WJ S+;7@%EB/A)D!.:;#]W$"VQ6E0#2:R4_2K=P%VK>/=P2 ?O/R?.#>Q -MFNB'1J%%.X[SR[K0O-"0,1M 0(#A<J5)-IN[V \85#S VWWBZB/7<.$8"KF -M_$\?,-'I,G.)R7$Q_J36TAY<$DVC\A(J,+PP8 T:[7M\X20I<G9*5L>K^'H? -MAM:O\WZT+^:VK<V0/\$0$N;/U=_ #).\^@QK+F4/*\0[NFE1E@!1%_L\)97Z -M%+<]4-/-IX)$+3A"JC:_P9Z>6OBP.F!0SYBB90"5?+L!=RD%VI#G-6TD3'>S -MP)H+FH=S9]H1=C8Z\D*FESDZ?;-[[/@T&1:R%+[S/R]$1Q\NR(<.>5]_7P93 -M^<R38>9A/CYU#"7&O&I (<A]KDXE(@_OAI9: '7BZ[)Y7@6<%W=/"CC\\/2H -M0/\.8:ZU)PR),*$)ND![20$OX'0T4#W/.$.]:R@H==3Y@L\.E4ETGW)88!(> -M+4EYX(+8=>7#S",A?FZJ%>^[,2TW!3F374>N3N7I2ASKV/O<:-3.)=-W(A,, -M+3$ARAP<!\Y7'!E(T@I)_""9#'</-(Q5>P(]@OBK2L">CY@''P-)D!(8R5OC -M=6K+8YD&F\>B 1/PPKP9N^(:!?FXXK5H0!;?+*SO!Z]=IY7MA*6+:3DM%US: -M/H#"XE>FXG(/#OV]#;^<OTXBL(&:/XGBU]^UZB'MVBB*Z$N];#LS G#D/D@> -M")"=FX=U[J\^7"Z)G?5D"[1/[;> (RELY[R,M)/ J<$N^6KQ)]8*IYM<$V;> -MT9;_4&.1&431KJ:SSMKH"A"+]WAA:[W][T)HML'=)BBEC=,=)M$OB),@$@?9 -M:@1C_T?K)+$(V_YWOD[K@;&BX:XN753^_5-/9,WPL.2D(IIP,S3OK\19R;PD -M0_F^>O?G*:>?=*R;'@N0O 8I ! #8 GP$] @X#% 1.!;T'7PDV"T$- -M@0_T$IP !8 +0!# %H < "' )T M #* .$ ]P$. 20 0: $1X!32 -M"F,*2@J, /$"X!?F"V811!"G T(>QQY&$9L,$24-)>T<V Y[#)X-&!XI$ZD) -M9B.3#)P;'2)S!2T3W"2)).D)@QHP).40I0Q:%9@E3!+U%:\;\2&Z&I (#@ S -M"A\1, M_!$L49P*;'#8/AB2#&98/H N_ BP%JP.((FP=UP=L$K,-5Q&?%^@$ -M#0NU &$!DQO\#_T48 RN% XA(!B3(K$/?"06"7L #B8P",TB\AFV$0X$SA=D -M%VH3>@D<##TES!'%%?T1V"/;"]PC[1P!#"\F9!8&#M02"1D5%V8E&P(+%%,( -M:!QZ&M\F51%9%R4#'AQ$#[,8HR#. )T)U!?_(<8=1"5O)M(4(!J_'T8"JP#T -M'T8$K ZN)3P!Q &1%V@=&@75 O$F8P1F"Q,6:AX]#7,#<0B\!LT0B12?#E<+ -M?!2N'MHF?!U0(3P/<0G?#=H*F L?"^@<_ [7&G,@"A$"'!(?_A':&2@5AR%E -M%"$5<A[N FP4>Q6G#R$8U"-V%0H&-QO'$#\)$" $&:D7L $B)OH NR,0(A(2 -M+P'B'Z\/Y@!,"T,EDQPQ&W,6K@S9'7D<2B"A"E0A! :0!&,?X1+P(;L#VQ9> -M(V\,%@F$&4@%%PBP'(D%N LG)K(%M 3.&5$CD@)W#&X#QB8$#Y0>>A4;$5T( -MK@JH#:$A>P#*$W !&1=\ !$BCQ*\#/@F< %G#[\0JB @$[ C,AG.(*H/'@KS -M!1,*YA7%(3 = 0T!&U@!\0MN"T86LQQC$?0C1QAX#OP2@PLO#6@14"-M"7\+ -M+Q#7"KX2 0=,)FXA"P%K!Q$*%16 !^@8FA8J(]P2=2$F'?0*E0$A#2 !$PH9 -M")T0"0K2'P028B'-$/L;\@Y<&;$!5!D_"$D*<!BA'U8>H!7B)6,0V V*'U0' -M? _F"ZP-@1D0)E0(?B+B(]47O"!X UD$2 2< FP2^P"8!$0=0Q*)#S$// HG -M$3$.;!$,"K 0]0;A&D,5*QRS#'87922T"\T#EA^3'"@5501*&P4?AQ7P'BH; -MQ"2T"R\%4B.))> 7" "D(LT"*P&R(/T361L)"4 !'09I&CD:6"<%&Q(F>@FK -M $<3/12S$2PC& ^Z(+4%]P.L%L 4V1LY$(P+G0C;"?X:? "Z"'T4?!H/#ODE -MEQ$7&+<8PQ\=%]H*>B,K)@L%(@ R#]@1(1\*!987T27R <$: Q;4!JL6>P@\ -M"Z4.\ CY(F<3.!5= S\+:B/I")(@:1?G""@+Y1GQ$W$*T1QR$O 8:P7%!KTF -MG U( 'L1B2(K),X+=@CV)N(.;""Y!B(/JQPT#5L2RA5)",( 0'['R$4]!Z; -M(L\@#B)J!>LDN1-,# \5U G8"TD L #5"B\FTP%5&I<3[@B?(8 FMA6E!MP, -M'!;Y"LX&VAO] J8@1 HQ%($0%P./"R47. >C'E81+AT!%Y(+5@:&%(T:8"'X -M(L4"TP@-!*$1"03$&)<D?@ZA"M((Q24M(:@"!P%&$R8)S@#P"P$7Y!QC%D 6 -M*1*6 9 >] F!"M ;RR:A'W@3" TS&,L O M4#BP"S@HI CD1C23_'D<:3A"% -M'+81V@W3)NP<E@MM''43M ..!)(:]B4'%M81ZP@2)?8'Z"5^)CH:LB8\ VXA -M0P'?#O,>)0FC$OX8QAD=!MLA?R6U'>H7L"$T#IL:,27M(A<<% ]0 H,-TB/L -M!_P)T ^^$H8BF@KN%2TDZ1&-'O,>@Q] )/H#?0F3": "4P*($F@EU00M&2 6 -M4"26"/,@727) \,#'0ZO(AHF.PPN&!\:Z!RL%JP&^Q&3)#H5X"&O!] +Q!UE -M#KP6R")(("DB<Q!:(H<$VPZM&<L )B,<!IDE PI@$-0*Q091(2,<^Q%0 :8- -M,R2C'P42X!C]$P A!*($YH(R0QR'PLB!Q8=&^ 'G29C$"<=C@!J!OD8R!D^ -M%PPE5P;/(C<F5PK."J8BN02:%YH%.0DH O8(UB9])HX!0 ^-"N<.EP2H'R,8 -M.@?P$7X>(!Y_#]<$[AR6$*L")PEE'3@.2027$"4"9A-W#B8"V081#'(#]P1N -M&2T,82:1$M4 $PN##/($,@B/#F,E/B;Y!/H8#!/X!UX3T1\\$J$5T!",!^\; -M[ O2'H@.\Q0R'&$<M"8O&JH7Y2""%0T"TP\G'E8(8 9J%6@0PQB>!241!!1> -M&B@%G@, (B 9A L@)#0%>P1/)5,(XA-\!/87VQ6+(K,)RP$3'_L2/@// *4: -MU >U X8G"P6- $X9AAX( *L$?P $%0 +( P9'38E;1*? C0<^ M.)48"U@GG -M&:@9(A:/((X:!!^M P 1'1\, T E_QI0$1,>!B%& 4P K2 Q(3( !!FB#:4, -M*!.& I0%]!JG&&(92Q_R'OD@:B3?(\D($1.=#3P:YQEO&AL0-P2X'T40(@YL -M&R0(C0,E!(( A1!)&>\'$P/>%80AM0$L"08-OA.9%.X6VB'?&:T ,160%9@? -M@ UQ%R\4[!=+%@ 7(B1'":X&.R)[!+PF:Q+P"@TBEABM(&P;Z QY&% (^1B3 -M""XD.@[U)"(.&"0(&(X-YQNI% 8>+ LA'-XE' D#"UP"@17^!/<(=1VD$OTD -MX1N6" X/#@$#%0\%Q0QH%L@-%P[##:<7Q28/!"P0-0Z:)@D*R1C[!B<7^"5B -M :,BT!*' (L3\B35&-(9[P?@ " 99PJ /T, "#V!Q$.%1T%&0<-PPQZ#.4- -M5Q^3'1( #1CH#@,F? R> Y,8R!^B(^@0'P5/#H$6>AK@"FL/C0:1 )L*Z1E! -M&+X>MPG>#^L* !.G!)( 31D_!U45,Q\J"HL!+1,>"0P:/":# .L8K"9J%TT1 -M@2-[&),A;B22'XLFS!D%&O8.]1>H">$"LQIR!N$,<R*J'',7P!S\%CT1E06_ -M)FD8WA)'$H$,]A:[%&T4GQH#)H(!J!$Z ","A1__)"\6) G1%' 3XQ_Y!\(B -M#!96':$,+ JL"$8<3P[!&/<4+14M(!\/P0[U%CDEI1,#$ID6X!$*)(@7#!]% -M"@ ,P!_#%LH)YR"W#X<"41GT%L<&*1%,(/($M2*P#H /_1:> $H6>Q3L :4& -M!0*, IP6,P=7#O$ >B*W&64EU ,]!3<&^ Y'&G<+Q1V@(PLB[Q'2#4X2R N: -M#_4;[!7Y%UL+D05V"_L*50G.!"X*Y@-2(?H-L@3%'$@"JPJ\#OP6E@\Q$.@A -M#A7:&B0*E!M'% \:G SY%KX'>P@] ?05=1;[&[\/:P-)(E\=[0)I"VD(QP!] -M&F8@WP=E" (CR![['J8BY0,[#88? B**%B<@8PC" 8L?F@;B'Y$@I1K=!N\/ -ME@II$)0-TB:5%5T061P+!Z0B=!%:! H#MA/(%*H +1'3!L\=& ^Y(X,F\Q;U -M'HL/8 ]D%]D .@) (QP"F ]/)+4AN1[<%@$#"@'A!V $M!/M'K8=I2/G)>X* -M@1&%!PP8QQ#K# (@I1:U#+XF PY!"" +,!8J $TC>AB) ]4+WQ&\%!H&=A ? -M#'\%=A1_!O<CRQ1! L(*OB#N)J@)\PK_"<T-3 IM#H$*H@<' (H#GB.>(4T1 -M9B'<&, F*B'M)4P#Y1;6'8<E"R"J!H$*S2.%(#T&O292 -4>S0LE!8,(Y!CP -M((D3:12E",L9\R9I"Z8D%P.?&?4%L!\N(? 7LQZR"!P7V!1A H0-O1<S&]8= -MDQ+Z$?H+/B22&B8$V R(.<7X14*(VT9W@A;!B@%$P[##^<:?Q! $V\#]PR0 -M%:42U@K '64"% /W#6P7X!LT!"$4V@6I%<< ?QU.&=4=A!3A!' 2-@;-"9T3 -M]"*P#^0=QB:V!UP:\@VZ%8 /"1,8!O0FA048#38'U1R3!DX>CA2;)4$$7@[V -M!V$-#B$2&0 _@HZ);492A-@ 8T*$!T\)#L@* #'(78 H1C8&:T5J0>F"_L4 -MCP(O$UX!.P82(ID<$B&N#L8>/ S.!P(<9 I(%7TEDB(B#CL8A1=\#AH!(!!N -M%J0-DQP&$S B-ABS#T$CP!\1$0D1;PP7#>(&DQ>.!XD<SQAR"&@9HA;6#-\/ -M0@)M#W\5B!LR%$ ?90G[&%$;GQU !+P3(@FI'* .A!;!)<@EIQO0 ;L=O"$1 -M%^(?PQ;!#( >1"0Z$-<DCA(\'(0B( ]M D@DUQ<B&FD6RP5Z)J8;L F:"$ 4 -M7P;R&;PG!R;D([P:3122#=@9)26?!E(50@][",$9?1/I&H@B/17_#\8&R RX -M()\4PB;[&N07?P1B%'<A-1:0&?D3^AK@ <P!VP4Q"MD?8!FB'J8;:B:E)*\. -MT29J$&</ P)S)=D(90"@!2\ERB%P)%,C!1RU'_L7@1N<'YT6?1VV"7< AP%T -M&)X1_0?K(],%+!6'(XLBDB,B("@1=A\L'T4<,!&"%^P!*009&T0EE0$W(O<B -MLQ=:#^TE;0G,$F<13 T-#<L""R.V'.D?0P.V#-\!HQX%"ND2% 6Z)( &GB80 -M E //1W(%+0"7PL.'*,,_!ST)'\#ZB1V 9 !Y2;B!.D -!M_#((*0A./#-L0 -MC23D&LP4VQU4!)<D#!,Q([D%/ $R"%$FQ!^P ]\;SA8K&OH8S FL!/4?=0** -M#?H>30=5'8X"7 0,'_$?Z0;Q':(/UP;1"HP?10 ! 70#2PR=%ML62 ZH"6D@ -MI!+F Z(/ZQ_5"CP9IPSF&TP@3@+U#,L/.QZ8 >@<AB3O"<PB#AU=(<X;#0WG -M(:D751^9(W$7"1=^"]\/Q@P[(Q,BU!X[": 12!YA T(6D"37 ?L/E")?%E<C -M/ P;'6,/R0K5'NDA8A?*&6D8M *F%2@5OB0S%P,* @!J!Z(3F@N3)AD$/@(^ -M)" A"1Z9%!\E00VR)F4<: .8(8P3J"8+)7@BU2"-(-T>M X%(7X+X!Z%$2( -M' 8Y$2H%3A-Y(J<CB!TF T0-@B0Q)"X,SP.0 2(%V1%,%Q\0,@^C%O(AQP"G -M(*P)LQL4$XT9=PH@ A@*JP#!'.8+@1YZ Q$/_A!8!+TBE :6$;T9!0T=&1<% -MXA?)!+T$;1/^#5<$-0>F&A,<_Q@)&WH6QP4Z!"H'CP)' & B30P$$L <A@4> -M&LH7MB/>#T@-:!0= J4=30/I#FL%U L &WD/\Q0K"\X'Z!= #Y$A? HC%V$4 -MU0#4$:P*;Q4H')\BAPK"&JH@CQH4%A4DT@2A!W0&C1MF)14:G@??$$H=8".) -M"A4<#1_?( P%K!K0)/L4XR9F$3,6X P/%YL<D! 3 ]X#>2"D'O,>' PC(&<B -MJ1-P%I$.]Q!< T,@)PYJ#<0DKAMO!U0<1!%+ @(8SA.8 @< EP1?!X ;_0") -M%F@D/0G>'T 2'AW[#'T?2AQ$(T,+[ &M$)L";1)/ D0EQB'4'JP8DR#Y$VD) -M9P','*L::1ED)O\#)0.3(?@170 X)%<:_ ]-(&07V"8S#>\"M 3K 20#00QV -M)+X.G $3!$L%RAK%!#@A;Q_+!703)@LZ)8T6L@#L(/L5*"#)(B\.( !F&+ / -MI0,I"2T<7@0D Y\81 <U"049R0#J&V\$#1^,$+8B4P17"N$4XR/6$P(A7P>[ -M)>4B]PN+!D<!/0'\$?\ENA) &K@': 3K)F@<Y@"P 3T,<171"R %EP(A(4(D -M+"->$E,2<@E<#_ %GAOY "8)10@A 6<6 B#<',8&4002)G(![ &J%5 DV!;' -M&)4-?P-_) (!,P]O !(<M@="!PT!8!^5#>XFP0[_(PX=30XR(1,@LA!Q#*H" -M:0 F%SL-,!GN!@<0SQAR!]@C!17G$JD671,L$-@5;!B$$TL+F0?%'^ )$PX= -M%O 8,P0;"4 4"A/Z$#TBG0VQ(1L4@P4@)=XF2QD@ 5X;M"$[&1T3(!"@ [D6 -M[1+4%W84C"%+ XD(:!XO"SD0IB;7":09R@$K![<.H21T$;<0?1"Q&^@!*0^I -M(5<!PPZ]"X07(A=$#^\5EP*O)"LD#AK4$W8?X087%RHBFPZA)((-MPYN!BP8 -M&0%#%;8.ER*((+D:Z 7X#6,EL!OV'90B=0P-!@84!Q%.&JH<ZB1+ C($WB&P -M"NH8<!WG!#LB>A$^!;0(YAZU()4.70NH$E,!PPWH!BP=GQEM#\T?) %!$: & -M?B/B 7,>[P38(Q8#Y0<L)104\!5(%XD03A.##9(?(@A;!Y\<^R+N&BD15@WG -M"!PBM0C0&>,"'P"D%MT2^![B"%$&O [*(54,/PW3"/P;(1Q,$/8/XP-Z'A$E -M;!X #T7=R*F'A0C)!H[#2H'R -Y#Q09OA7C!^0EJ0;A"U\"0!*&$-T'UQ;T -M"MHBMPLL"#@'SB(]#!8"' Q[)*T5M W2$SX,=ATP F$5DB;N)D<6' =A $# -MT!-S"^ C]@.[$2<+ 0.J!%@5DQ4+!1H70@>U(TPA+!=)(V$0[1#- D<0BPVU -M(UL#F J%%1X#P1<Y"SP752#@!4$!"2-7!-D-(26Y%BL<$AB,$C@EZQ0Z(@H+ -M[R30'^ -U CM"[@ 4Q.#$!(( 0RW('X8(@5R!EH?P!5* ^@<G0.Z#"<CAQ@? -M!F8<*A.$%2X(HB8H ($#N!M[#!<)\0!$"$D7!Q;0'V8862$&$M, *26[ O04 -M+A%C&!L#/!L] 7T5'2%,%IP?:!7X)MT/[Q]5)K45.B2>)4T1IPSS)G,+[0.H -M"+,&&R,;$38,A@Y8%B,3/PY&#$<@LP\ #J<7Q1>Q',L+2Q4/ 50+ 1!5(#,* -M"!"T$ZT5RP_W)ID,5!W" N(1T0=]%6,!9"!H AT#JP^I$U$=YB,V%$8'IB(Z -M(5@)TQ>9!98@_Q[8$W 75@<X" T#4 A0(X@@D!:(!/0*N F-!\T"(Q22"!(* -MX1DY&WL4^!W"!6T%&! 7 X,1QP\E#$0/)PWL#P0+^@CG'E,0/PZ"'K<7^P($ -M#^L.Y0&;&K4=D@-?&/T) B7M%T4'6PF<!(P>XR$.&(8)5P2U)9(AG!OD%FX6 -M_":?#=,F'!IU!O<,HAO8".T<GQ3T(S\0= /M!R,2WAM0&A<*R2$1(ML:*0A; -M'VD'NB*9"^H/%A* 'B\DC!ML'X #2!Q7"6\#G1:*(:\BBP:Z&_ 3Q02I%O81 -M@R'.%GTC00/F'X,8>0- #\\,E1E"".\ERA60!0T=( V"%H<"\PZH&1 <\QD* -M!IT-7R/V'K@7 "&F$4D2$Q8?%I@9_P*##&0'B2&3 :09NAM)"]P98!C*%'($ -MBR;9 2P#(!X$'WP:81IZ$?@9=@MQ%5P/[1; :\>9@-)"Y@$"!XD)*XG P@5 -M"%<21@!Q'(0-.")>$ T',1H-&B$6-P,;$N0BFR.J!'$"+0W?$&T/O@ID%P@' -MUAG#!,@8F0H[%+H1J@(F"M@6S"8R!#0-&QC"(=X=S@Z!'30$Y!>F)405M@KS -M(,P/;!7. &D+TB53 (H&=AYL)ELF70XB D89U@4M'CT"$@F\#3L#M@U@$M<= -M$B:))?('!!/K"Y02!0Y$$L<: QU&$'\B3A_;!F0(D <2"E(.32.((%P>="4* -M)L ;)QC3(QP!7@V8!\ # !9S$5,+4B!@ \<'2A%C(BL=R@YD&4P2D!G, BX) -M42,I"9X4'A2+&=@)5A!8)387-0Q"#Q4-F@ 3&,4;?!CA .,5RB8Q$&@"&AH^ -M"L %.A"-" 6F1<+$B@*PPL#)10DZB5B!BT#N@SO#FLE)A)7)CX3*PG&&<4@ -MK1$L#&( 7 QA)+\#9B/0&\0 6A/O$+04X!,X&X4&CP7P&XLBO1L]&J()T (^ -M&",5\@#A!FP+AP4B)JT%VPH6#N8)M2("#6DEQ0\S =48UR"^%4\5IAIB$1P! -M#P^N V,?GQI! Y(): A5'',D>!93)>T(N0V0#R$FHQ<6%5\8R@#>'_$E2P8' -M'+,$9A-R">@;4A;U(Q4DQ08&)P@=2!R+&>L#/QB\#KD!B@=5 "41P0NF%/X> -MU"-=&:((E1CL(3X(TP>@"XP@N@7.&<</% 0> 7T"C0]J(> B82;H%ED+U!II -M%O &(@AU"0\9,QYL 0D5(!3Y $,B+ B:&043^@IG$5$8<@\K)8\/Z!VD#]L) -M;Q".("L* 25N$+(0+188!U\BVB$$!P !\AH'"HD7$QA^)1X<1P/<%!P5V2-) -M&J,*@!PL(= 0TPB''X<3#@-_%/ 9FP#A&HP;8P45!0$<K@0@&PP81B1\ ! 8 -M(!D>&[00"2(0%EL772:V%+$0#@Y#$WP6O1(($G<69A]J)1@%=1"J'0D!AP+B -M#VD1]A"O'9H"$0'8&ATF/QJ2#)H<V1WN&I8'?R4U&DD?&A< )<4*3!VW'5PB -M3!@Z#WT < 2Y%7,*4PF>%TL)TP3.$!D/U@M\ D84>" 2!#@D 00) EH=$0@1 -M&U8-,P'I I(=31@7#*H*L254!A( \@D3#1D#"Q2:#!$8Q0 8!3 @^03!"U4F -MLR.)#L</ 0R,!0,4U![V$:\0!P8]'#44^2/$$,TBQ@]O)MX9?PA4&C\*!A4S -M"=X3& =-!OD,+Q8,)KX&]Q._"YL80@GH&S,,]@>2!UP7)",1"7P@=PR9!+H+ -M'A,4'/$4J!<!#!\.P WV'I@&"@*H)=(FK02)$(P#?2,T)CP-!P)L&;4#K2'V -M <X-PQG^!<DF=1T/'306O0[K(TX$>!E')O,5GR-8#WTDD078"\$;.0J%%GL) -M&AJ:"3 %Z G;)?<=*!Y;(.\+V0+O'N <ZA(T"LD4[0HY%S$*Y!0A$F\BS@_N -M"-4BO"&^ @L;( K,$+$@)@[4(. 9(1VP&$\-E20&((HA9P ](]<=$@_L(G<F -MIA !'_LFD25E#3\1:0@L"3(FDA@B&%8ABP)'$!<(E"#&)1\@C"/[!CP,ZAT) -M)+4 YQ[,)5, 4Q*+$-$5( [C$O(&[ EF!U4-^A@='ID #B"("B075Q1 %;H! -M@Q:(#)8'50FM'X 6TAA $J,;+!6F'5DDI1ZD#<L*NQ9E LD(!0I?'3 3B!,G -M(G,0<R;*#[X%/0L3!E8 #"&&%#H@P!A8$A D/02:'$ 2\0-W! T2^B%_&G07 -M7!Q_'1DF'B:* L4/F@,?!7@)71X;'MX$N R$'V<AI!W=!RLB_!89""@ O0D, -M&'\ VA@)%3P 0#""J8E/Q%9#A,-1R3$$OXACR;X!<X(&0W7"0P#21.8#^D7 -M?AHA#T@<I2-K)M8B7!Y!).P?T0B?%O .DR2))MPCXQF((.DB?1H@%]0/MB2> -M$QT6> -%CL(N1#N%?X89@&R!,4=)0EZ%@H29@K\! D1! P1!C,'R1G/$T,= -MTP1*$X4 %PD=%G<<+PG'%D<!)02J!VL!JQ7_!#D.7 (L)B44B!W '0<BYQ5U -M HP7?26[#FL9_ ;@$,H)W +V&D,EP0R%)&TFHAX9(HD,(A 4#10+DQQ" #\. -M5Q!F!IL4:R<!&04B+ ,^&,P4Z0O0$Z@=@!WE!N@*D!B_$?< \R",#A(CH".$ -M$$,&4B5W(U@4!!?$(YT7XA'M <X"Z1QV&8 ;XQC+!R$#I 0K 24!NQH7 $$. -MQ!#_ N\E@R('%8 BS!Y$(5T0FA[1)&4<4@A #&40JQ=B$L0$*A*X'#\%T *5 -M)4(042-R I )(A2P!T\0^R#"('D+1!3Z%&0=G@KM(8(?<18J#XDEW0D^ B$# -M91JH(@(.]@AT$^$)J I$ ^P*C09F&\D?I1*, Z$B1R0X!A@B518@($(EC15N -M$@4FAR,M$_@'!Q#Y(<4".B;O&60#0"&0 T8C1QZP%Q,!?0K+']D@S@/C%JD8 -MR@2^$X\4Q!L0 : 2V1<X!1$=?07; T<'B!;V%G$,R H,%( %M ]!$, :H@E4 -M'K,D* 2A"(4-(Q]R(+PFHP&W%< ?0Q;<!,TE@AZG%U$C8165 \H$I %T$T ) -M*"6^(^8$?R+O%&H$S G&(:$FPB )(A0=XP_.)=LFL 7_(#H/KQ=+)CH9M2!( -M$(8>Z@B*)!,8EQ#^"NH,QPW@'5L83PA<$-H(R@>W G,1;A8Z#54.(Q$Y(6(* -M^ADS'VH;11;7&@XAK!>I"ZD"" \.%&LCUQW0":\*YB5Z(@DF2!@\ R0@- (! -M HHA& P?(H$+X02*!/,>S!^R%@ <20]1)=\)*0+T)?PE!0L$&UP+JP7K&.,< -MEAU''^X%U 7>"#LF<26F'=HFCR&M&T\)+A+^))P&S287#P029";5 ZX#80K= -M%4< #P(0#C 6]@%? %<1]<$E ?4AV %J8,00=; /$%8!'J#"8?K0,M"6T< -MSA%K'<\B\A%F"9,"L!;K(#(-(2* $545CPOU 6P/K""5$(<@J!9<%Z<'HQT^ -M(1@)&"61!7,@$PH"#RD#)!8T!BP5]@#]"$0<P1B'(HXE$@P$&CH#6Q,Y =8& -M( ]*#<X6Y0!$"-0F;@;1&D4ERPQ] 7$D4QL/&N('SQ#?!\H9S!_-"8@)*1T3 -M <$ R@_ >H4VB) '&$3E"'@%PP5I1,;%] 1'QBS%NX%]!W6#4@8WAA% :P' -M4!/S&"H)=17(!UDB9"5D'C8/*25["D0>4!/"'O05L10D$ (CX@$-'_T-_2 I -M&% +2QX #78?RAV0)G,@# ?"%^X-C"/N(,0%)"##)&$.D!KI)E41% >O(7$7 -MTQ^J$ 04H0\5))\CB27H'#@'J0H)#F,91 AY"2D65B'T%0D;D Q+![HDY1*: -M%0X9C1H'(4HB1R U _X !!T;!E<12A4W"HP-E@#8(@DCNB/ )4<)+ #)%+<7 -M!A6O#>P'$P"4$YH6EPU7"EX1(Q<J'$D#-@$P%* 3"B&K#Q\9K0<2'[D7W03D -M(K0D\0U>&\,2D!8\#DL(/P&6&P49_B:N%#<$6QNA%4@DW )]"]<2 @BE(8@9 -MT" =&U<6G24; '<1&R(/";\DV11]&$L9N06^'K@ $1_%!E<0ZR.@';$*Y!*1 -M!%D,Z"7?".TD22:F&Q(.# WA((<.=B%( [@9)0<")(0)11]J)9<23P-4'AX+ -M#@+(&R438AV, TT!12&6%QL>I@"&#_P@@ HB#2$-G@AD#R($CQXI"[42GA\4 -M"ZX.>AA6&_8(WAS7&_0 W '-$24::0T_'?4-S1!3$60'OP!@$OT3:0>C!L(6 -MK J" > 5D2!S)+\4DQ1H%=4!8A_K!XLD-A3:&44,/@CV'547S!ZP$M$EWB;2 -M!L8 MPP.(H<%8@:@&ET411HM!9$9'0NM&),1S0F)(+\,IA)H)+T+=@DO%6@< -M#PGP'R\<OA!'!JX.EPZ&(B$>1@NI!! >5@K#&FX8NR.'%Y\5S!5]&*$&DB4" -M <T/EA%*(AX* @]F)A0;&P"6&-<> @TS!3 ?P!=4&NP2_ @[#0(.> 2U ',6 -M$"! #.P!=B,S(C83MA0B$^060AJ:&_0E/0PI#N$/H!-D'.,:H 4")88D_R9F -M)M$-[R'_"4@:[11B''T,CPU&(64)O@8S#MP+*B,[%U >FQ:]'3L;T0(@(T @ -MSQU6$=L(+@W2!BD;VA:^!\P%RP:D%9<".@,7"A(,"!,G$J,<F 8)).X=<Q#K -M#Q@F2AK8(5 /G!O5%F0E8P,6'2XEP0#;'(L(EPD'(=T4D!_"%7D8LAO! CL+ -M:"!1'!(F/0] $](*N@8$(UX!BPV0#/$(X!7@![04_A3#'3\/+R+7!6,3 R:W -M )\&[PG&%)X?_0;7 HD2VQ8$%R(?E1\J#R0#N0!;%)$"2B"Q!3,, 15!"F " -M] ZF$\D-:!7A"VT0Y PE!C 0E"9W&H05J!I\ VL+G@5_$Z()M0Y\"(,6UA>9 -M&&,E$Q%9(8H$^Q@M(>( *!)@%@HF0P!8#6$7>B%=%!<?(217&I,*712=!,0* -M)@7G FD77"#V :P)AR..$LT"%@2>(^(@:R5*&A,$%QJ4!I *>@R]'T@:<AVB -M"Z$1/B3T ;(=7P)G(VP4.A[K"FH/:!,\'J\(KR%\%+(&$"#%$*\<[AC;'=X@ -MSA_@"!4"&Q.I';0%G!2; >(0_R.U'S\96@= #LP3;!03$0<:EP3B(*4-'PY! -M&F(;C2)5#>H.T1 R #P7;A\K(7\"4!'H$ H-3!W!&N$*B0Q0(2@8N0OC&SHD -M$ ==##H2^Q@L#RT$% ,V(3(9" >!&E$B)P&O&04<K!O!!-8:)R.,$7,4"!$G -M$; 5'@0H(.0"\@P_ 6<">A0:'0\'#P1R%S4 - 82(!8A/0OA#[L0?@1.";4, -MN@\@'8(:O QO#DP7?PAF!)L/]@N^%A $+AZ?)+(!H1%\%QH,41_7(C(1UARZ -M"-H*(R7+)GD* 0\##L<1001#&LP<1P,((G89QP<$$V09X@:N$N &R1-Y)?P! -M]")X$P81S0T="D<':B'3%Z<7KP50#R@7\1A+",@-8P[K)FH"$2'V$\\2:272 -M&] %> 5I"]DDR!\7 .@;\@4($\023AF6):(3@0RL#(4*;!*@'C03ZP6M(Q0! -M&0"0%=T/XA9R"*P+%B9: XX.?!6](0\@40JV#VH!,!D&! 0C\PA<#FL)9@=: -M :H+:@>A#6L9L #U&-06\PEV)<(8O0.W )8(81TU%TX%@@K+ 3,D[!:J%F$% -M.PRZ" \F\A@@!MH2E0SA \8A7R*^ '4810CB$-DB(PU< K,761&9">@+M0\I -M#? %YA9@>CIAY7!CDC.1ZX![@.HAZV%)D4B0SE(6<*WPE;'=T!.QDO'04) -MB .O#>\'AQ(I(L\C-AP$!\H8#1 O(C4)]PY )=D6-QCS)(X/)@XP#Y <10GS -M)>0#X0CF%J<(- ;4'-DEQ1YO']88KPBQ)HXEV@-T"G4.W M7"'\53!R^(P$= -M%0(#)2,+<QOC(VH!% Y)$V,'<P?\ EL4!!P'&W<>(!%A)HD4CA;9(U$.>1A* -M#_P$YP?7)<X.*!0\#=(B0Q_.$]\B-1JA# H.N1Q,$Q,2"Q!'!J,CFR/>!40+ -M6AM/%08-A2&T&W0D;0X#'!01'R;N'G8 :0N+'7(+A@^4([8:B13<#>,$711B -M&,T;7@[))0@F;Q*['2@ETAM>#]H0#@_E!*80P E^(08,! 5S&<(CRQTW'X$2 -MDQ,* H<8. S&$ID%S2*<$OT)6P6H((<#"":K(%4D! TV"MX,,Q1*#H(3A08" -M"C,CQB1?(ID)LQ!V"_83$!ZF(D0?G YO'74CB0*;'GX67PC5$^(57R.##4X! -MI@^:&O84; 3 !ZT!=PK% ^00.P5;$]0=] .L"/<B'"-C(F@8U@JQ'_,4X!%" -M&W,.+QO9!OT 8!P8!-X#>R(D"2 32 BE!88><0OA("<9@!NF 2L<?0:3(! ? -MH0:&&?,<QA0:)9TF] NA)=0%I0D>'4($4!G5&GH(U@(%$;(1.Q]T"TL6E@W^ -M'G4*6AO()&P7O00, -D#U!9Y(WH$^QIN"ZT83PHS"/$G"P &U\.T@VS)+D< -M A^!'5$5-1^L #D2T!BD QL4-"9' @(@L1G-"$TA(A+W%C\;S JF&<0520/Z -M'!,AUQCO%3H58 !O!&T=.P(\"E(<S@Y8&;(&01.N!X\?K!^P -L4$2:;!+@1 -M)P-H$X4ENA@,$#@ ]QMN!K@-:PY5 WP- ]")A8ESPPZ!$@*)A^-%@PD(Q*V -M&Z<2V #X&U #1"O 8$*@@L['S,9[20@&;,FH! S%0 1XA_J)"T<8B8+%98, -MJP3W&(@ A@CV!)$7OP)U">T".P0R#^,82Q?]#]L>;QA]$1(!^ @Z$&P # &, -M(&@:PQ2S![P(G1?3'68AJ03['(@0T@P''!4<RQ;6!UP$32 E $D16 (3%A$3 -M/R-G&8$8T 2O$O<$O"25!Y,2%B""!.0D&@CX&(4-M!LY(<\4VB),'%\"6R3X -M'( 5NR;N#V$;80(1(6T*P!=D(U '4 (=(&<0, ER#A,!#2*:))()2 =: .$= -M& E-!XL!J@@+#0D?+1A-(=D5XP@E HL:Q0<&%Q8B7P\P!WT3TQR#""<1417M -M ;4BO0TN%: ?] EM#MT2KA3K'=(#00,\$-X7M0>7&RD- R7W!!\?-2*R'KP, -M7P>5%E,DBB'&&9DAPPH5#*D:"0]@%BT#"",!"B0%?"$ #8H@MAD')40.&"&F -M%X4"/0.U(. ;ZR&M"H,9'2'S'=(#! !9"N(< 1JG)0X>?P82!94@5@YH%.@2 -M,B*4(S4CRQ7X"3LC(!TX(XL5-1^/!-,$F2#Y).,BB07V X,24A\+)7X TA]] -M%/,AN"'4#L\;WQ9P#V,41A+3(&,%ZQ[.#"H;* G"%GX ]010%Y\(" TS'S<; -M41XH!M(16!YX#'H)T!#(# AU@>)'@ /\!.''%4:,@!!'] 5OPP[#:P?8 R* -M(A$F!0#V#0<?RPH$"0,4"AX%%_\*@A-C(T0/?R#!&38+S \$!V4+216E(3@! -M=AX)"!009QGH%W,001T#%/8._1TY$%@/VQH-"Z89K!\&&NP,$B.W#]0#W",D -M'50)?@ON&,T/KA-5&!L*6";-! X+YB+[#JH0&PQG#V(*>@[W)2D$O0&* P\3 -MYA]K$V8,.Q>"(\X;=QOC%8X3=10[(:X*Q20N#C,+4Q/E)!8C#PE&$)0B;@ ? -M&L,)E1W6 A 7G0W!$DX5)QHA$/82%0>("(8#R T0'>87R!2+)3L(2B":$$T" -MWR/'$;4=11I9"DL8OA[C'NP*# '>'W\*=Q*I!) 5%16*!G\*$QG7!ZPAD15Z -M%Y0=)R)O!+@3S11R F$C!A'(!(4(,P L ^DDL2 ^ ,0%[0!Q#>47!AH<%X0* -M4 WM J 6RB*,#*T/2!"2 > /9 YT)#H10 G^$NX2W!7?(XT9$P6?%"P48POP -M"CL5AAU9"2,+B!US"J@:X A< 98+V!3""B :Z1&*"KPBIP^<#((9=PF<'O<@ -MA C"',TE/AW*'=D390^$%/D/0 @%(B@AM@!\!9<&:Q3X'C(&W0HU'/8 X2/& -M'BX Q0I8)3L;E@D.(PP!L0'*'LLB@ IF#/(?FQI<%D<4!!T7'T@D%1HH'L@ -M'"'7 @T+6AUA"8H<31XZ(MX ! ;P$'$ :R++%L4@8P[0&^0A\A9A![P@C1C' -M$GD3&QG5!U0;T LI$5$1712;' , ,"1I'J0;TPLC' DB6R80):<)L0H!$2XB -MZA=U#A,E0Q+S&.P8Z!5F(V8(TA^=$)(.&ACC!& C60&P(80F= &[$?83;0-- -M%T83Q1\,)2@CN2#"'"P ?@:(!)@DA1(N$?H#+AP7!]@1:Q9Q'68"AA=O)NLA -M9B8_'FH!%1G&'; #A0T8'XH,50Y-&48#B0Y)$$T2Q!H;)H$1 01C(&4"G1K? -M E(!8064#3L6(Q^5!)<0DP&)&%X!P1<K#T,%D RD ,T+SQ@; +P>*R.'!4\' -M8@;_(,(!O "B"<T.K0T:"L4 YQH(&Q$9&B-! ZD$EQZ'%!(5)"-:(MDFIP.U -M"GH#C266%)\'!1QJ$,,.M WW)$(910ND#*T2\AJ_#FH4K15G(*H!"",7"K(% -MWQJ>!A4*GR0E%',DAP/U(;<=BAR>"@44WPU8#R0*O15()C -W DI'Y\5M1=J -M ^D R1>,$R<4F1,+#3LF?A= ("\"%!,<$;PF.P5-"W<==!Q6 2<+S! Q)=T, -MR!%'&8 >D".4(+\9X0Q4%30?FP=+&AH;>AV" W,0LP+[#_T"M!WA$:L*&R#[ -M"!$4J22I<C!4,$!$.H@BF$2T1,AA"$/H QP/])JL4_Q=F(T,;L0T*%)8& -M 266!V %UB4%'U0-;A(&%08G " 8$5X-Y UR!4H,BA:_%J@:C@TF"Y@&OAMI -M%?06-1Y9!U8=3!KZ#ST9#A5G"L "QP/L(@00\B9^(C@$!PQ. N<#QP*L'RX5 -M+A?)'GD#^0QV!J07'Q5K&<<>\@G"#+X3#0@H!5X/MA_7!J$)F!M5'ST<&1(V -M&YP9/PV.(=0,?QT+%4T$- &C"CL%?AF%)K<7;":5$W(=^ 48 S82RQTR)7<% -MDB.E)N,%]1;*%DH77@V^%2\8; 0H"N,"70/]$7 &J1+F)8X!/PD3(,P-VP U -M%ZDF<Q N)3\?=0BO%O<@_B L$ZP?R2-Q"9 A,AC&&,DD#Q(?)OX$P1;B!V0C -MPR,5!3,5EB#M'+4CC"*U#M@C>A<2(@<A,Q46"1T)PP5.%101QA;N(205O"1. -M)D :@@<L&BX&CR7" (<<_A7Z&)<>E!NH#1$ N0YW%\()OR*L%$ .[AUL(70* -M?098%8LF+P$T)*<B'0P%''0<A@ C)6T3/QTF$NT- Q8]$FHA2@B0 \0?80AA -M MP6H"-J U@**0)!(4\5EA=/(,<+]!#X U4,[QL&(+(6GQIC)"H'K \6')X* -MPP8H!HL =P&""@L?_0TJ KT,T0+&(K47^R;I(MH?[B"W%_HF=Q+V%I$A9Q[Z -M'.D-@0Q'!>06>0YN%VD4;!5H"=,::R"/(X 3<Q\S%H +WQ:&%NP'C UK(%(& -M@R!Q)<X6;11))&HFV@F! Z -_B#U%#$=82:$)@T#2 :',0*/!S-!%H=L1N( -M%*DAJ L )><."P@,$]X*<0W*!4\'11!\#G0#@P5(%:\#_!9_(2,#X" Z),,, -M;!GJ U@8;A@R#TTD4"-+"2PCUA[ #2XBC0]$#(H@#@\]!#L)BAGB'7(%[P?2 -M%/\$NQ'U! ,BT0N:%,0']P[T)3HAX 4*&&,@SAWV D@A:B8V$E$)$@\S%<() -MB0XD"[,='1U%'60CZ0<P(7(;KR*P!IPDK@A(&*8$H@[8$; *G0Z#$%P#4 \E -M \TA\ "K#AH'%A""'^@1%@* !G0CO0>_'F 67!^5'=H2?!% &'H42!E9$#<6 -M60;R"I08IB'Z(L '8!_K#VX2E!#$!]41AQL<"],AZ!"X'^D<Z"&G U 23A$2 -M!1L&\!RH&$ 6Y!DD K<)C I?"180,!9M#U 6\1-S'E@5?QPC".L>; ?U(ZL+ -M9"(4$I(@= E;&E,!Y1^)'K4$IP/5!\X0M0D"%84++0*D$Z\1HQKT""4<[PN$ -M$LH<2Q^K%^P/<PV]! ,%NQ^F$!D.JB4F"XP+TP.P(KD@Q C=(DTB[0'W!C0= -M'"8#&X4C?B*_ %H,2!7!!8</G"*B$B -S0XR$DXC 13>($,AG"-Y))@>]Q?E -M'54BQPRX&V ,&PVT#,DE[22=!5XB\ XW(3D/R@ , A(D.1+! OD3,1G.&E,5 -MY18% L\;2 1J!#8B7!$['"0AW!1I!CPB8!^3%?0#CA]6(C$5)@Q;)D4)O @] -M). F"0Y+"X@#D1#)#P\:ZQK3%1 F'221$-@5)PW-%VH" 0R8#9X!6A V"L 7 -M!PRO".,4$14P&L8FO@CA'0H9_PC=)?@/2R8Y(9P.UQ>Q#^8(G AA$G$:5R%5 -M$9@1H"%C( <A.@QP"PTA@A=+)9T,]P6# Q CR ]5"$4@&!_<%&X#_2$4)OL -MQQ?T$<P-/!%?!=\C\P^\$AD1N29V&\ #QB8Z"6(8B"#)#;H.6Q/* "T5;!_Y -M&.@8!PZ]'Z4@JQQ9"'0-W 2_$CL"+P'_%DL6FQV &;TBYPB#!$ (^0?Q!&T" -M/B+ #,$*>0U@""H?)!&9!4T;Q"%?)1P-_ 1<%1@ [!U8$(4BU@2N B ;)P95 -M#-H@UA?W!7@ 3B.&!0DF>1">#>4"N 'C%1@)7PJ/ 9D%[@03(3D'51>L#9LD -M P.2$4 (B1DH'.4'XQ,9([<:L@OW(*0.[1M[![0@> 76$J8E02*%%@T(R".1 -M"0,AE2&,!*8>^B ](G8:Q0!%&T <;"*:!,4F&1/<$64&T@H$%+H&+"5A!9D9 -M*"2&!2 HPHO&[0C>Q(0( LBUQY%#7 :IQ@F!^\=?!6K$AP3NA9^'O,2+P/R -M)P,#!!T&'.4B;0E>(#L)N HK '8%#@#C)* FWP\<!#,4OQ[G$6T@( $2"U<D -M-@T?"KH.5PG'':<:/A$%(R,3"0C]!]D>4Q&A$TD/F 3!#AX;SA8E%0($\05C -M&[X>]04G!N@,HB(U"1\,*0:Z&O ",QTE$-DCC@1=(YXEPAH_!5D1W0W.#!(- -MJAZ:"W\A$B3#&64D(PHL WP!TA(R&9D/;0%Y"BH!' !C"G,DY0B/%9 5+PP^ -M&]LAS1," 1P78B1A#>4%!@9"!%P*)!2!&H\AUP8-'#(?;13X(:P 52!Q'] 9 -M_1,Q QP6) '7(I4=V!4T#0T2,AX@%JD-30YS ,\:I0P1#W<7'04J'"X!MAW! -M!@L1)P"W$V44-"+E$I !WR8% [8>@A8Q#?T00@_1#?0/+ 2['<L7TQ$Z'90> -MO #E#7P&CQET PXC:!/I#]@4O &H T\@_P2^$=,"^QO^(3H'>!*\"M</!P C -M%5\(%0W%#/D292!P"\<.,00#)0,/\0 /)+,=1Q2M!6D"PQ&_$;4 #PCJ%\ 9 -M.!ZC(D@(.!;R#E(/!A@B'5TC-04"%#D.DA/,"@($Z@$*$B D: BI!#8@:PQ+ -M%40(TA?>%>,2]!"L(+H%4!Y6#OH+$0N6 ?('%A3,(5</@!*N%Y84Y!4"(-<; -M7 ]>%OX9;1%\"=8#K@&#'L@!-@B2 Q4E- ^:&6(21 B2&W4%OQX.(_X3?0,G -M)N8+BP6 )>$DF0_+ K(@^0S8(/4%8!-X!0LB:"&))D AEQ\Q"T,A9R6 (:0? -MT1^=%/0=G1JI WPCR1RY%*,;,A*?$CDAO2$_()\EBPS,(WD0Y0PX'$ C-B9D -M&ZL(F U.$W ./A* $^P$[Q[O!5@ 4QSE'U,"<@2=(6HF"B3!%H8F/!K*&PT9 -MX28W%NP9^P^/(88)X".] +H?* $G$#X0#@['!(,'OQ !"F<.41.Y('8).1:2 -M(R4%L@F%#UH%LPRZ(M,6<2,S!#@B3@M0$PT-PAS('WLDJQ,'#5DCGA@%%<H+ -M+P%%$6T>5@XC&LH:P0/Y)P4=&@9C%FT7GA_9!JD<J04_$9P+? B!(&,.5 ^4 -M'#XF#20\!=0C9!;'!WL0XPS_%"0=TA8C %T&3QOJ 8 %>QT: H@!C0TT(#@% -MT""["+4C\P'A(\$@,0+!)3T=40O'(VX ?1'[(.D4"R*O"Q<0+!?P%C@&$PJ, -M%_@EZ" ^$D8#U0$()+D<5PW2'[0)% $8&VP0#Q2R)&,,4P^L(1P*; N/ A\? -M805M#@@6^0^"!S4$0P0(%8$DD!N4 IL98B<"%XP7JPFY&.@:<R&'$'D/BAF) -M"<PD#"9F"W4)FR#K!JHC(Q7^$ND47QCX&,86BA.&)!<87"-$%HX7X@QX%?4* -M=@C*#RD*!R.D)64&C D(!5@;- RB$&,F#!/')&$@:P)C$C$9! 4_'L\B=B % -M%G(>?!57!_$,'A>O".@9[00;":H2M CO'P$F5@VK'(T&91P9&OP52PRY"W<. -MF0R&(5DF@0MK IL$P@Q&)'@72",C'6<( 1UB(!\6Y@3&)1@(A \:(0 : B3G -M S,EC17&)&4'"@P["]8B.P_H#^P=KB';#V$&?!.N +L5V -((/\F[Q(;)!4= -MKB9X"ET+Z0ZF%D,!]0X4"9@ASB3S#J8*K1PV%OL4NA0W(A<)@A(Z(LX>- FS -M!&@@X"!4$S@4;@+< 0@2#A*($?\&Y1PR&)T4I!;7)$XF8QOP%%P?*QV_ 5HD -MUR2N&KX1\ ^3(S(7V1MI"04&A"(<'O 3,P"]$&0*(!E=&/T=+B#W ?0<*!/B -M'HD-4@0?#-T@#QM8#T@"<P'1%Q$92@HD">X#"@$L%O<!H!%@ -$8$A]_#JL< -M&!:/#;,)V"9N'O<!5QTK'U@/" =;%#86,"+#'B<2"Q5[&IH:1!O3&)(&S"%J -M%%<&R0+U(AP&)@;1!.0 :Q/# O<93PG+)8<8>QIK)0T'&@:4(*@8G!')'HX* -M)0<^![<0CAR2(" :,2 '$G<>(PLG&@0&RPU.&8< *P3: 2@>20?9%*L#-0 2 -M!40:,!1J ;4,E0>J$; '0@$<&\(", D< : 9HADC"GL3OP7-#;HEFP2_&#T% -MQ1F;$D\,N@ZC)EHF(@?"'%L ' F])HXC7 :X(<4'"!3/'5<"D@H]&UH?]2*B -M!$ 5CP#1!LP><0O&!)<44P^W&9H(WA1/ UH$3P27)BD#00ME&U\*4PK/("(/ -MZ1A*%[H$MQLE#[$9[!87'Z C7PGH(^(BBP53%&0,ZPF(%WDEE!>B!%L21 [/ -M ]$FM1S#(M\8< ^ B\4T1AE%CP5CPEN%,PA3A@N)/H/'QD>%<(A1@P$$;0A -M9 2)#TPE)P%D!=,'510_%[43'B2]#GL9 R*7%\T9%B7H(?<-I@M9!\0.#P.Q -M GL24PQO"] EO@-#&PT+PP]$!^$4GR @$ F"@.%!2@(=@3O)BT&5A7J%R03 -M+QWO%>H"#!H"%4$ LP+M$&L/I18C)'D (2!Y 08)-R67(5P>U2'7&X<B4A'& -M#EX-=P6 ')(@70Q_!RL6:1V$''XA_Q_ (V$@TQ ;&BP:7P7+).D!V1"4(LL8 -MUQ6Z![8+ZB#^(M4 ^QG6'MT$VR6C#&TAIQ2 %!0DAA06 $P9Z1]6$GH'?AG/ -M'Q0> 1^-!%P!#Q7'#R8!] FH&UD6ZAQ1!P4F,Q?#&QH89!>9%ET1\"90 5H= -M6B&'$.41!0C_'8$("1[! ML.,A-'&=0#X0%5#^<CX2:<$DX'A 'G"$H-WQ_= -M$*46K",O#Y\;D@MQ#N48>B0@#I0>* MT$NXC,16) 8(6ZAHU!*,+_1<[ _$& -MB109 ^ (@ #X!? '8P$]$$L"]2$6 HP;JR"2&5T0TR"3!<T@4B4.%1H? P"E -M&\DEK@MO&!470R64(^,1%1JW!>(96" E$P$:714K _P;7",,#*X<[ .G"QH' -M0"39"!,8SB10 >PD>!]D'2 3:@TJ&E@D2P4["\\E,!L: >L='""G)(4:]".E -M$(H0E1,6('<($2/E(O@!+Q=&'&H7R D)$:\>>PA]#+L@D!Z2"FT!;P0@$*X6 -M'"7;$R$/'1\H "D$5PK=&[$2 2', *0?""-'!A,5<PX!"[</#"#D'EP#R1^X -M$^X1-@1P!9T+P AE E<;HB:D%<LF#Q;+(KL3CA7"",,!@!G1!&T<;R+("R\+ -M^@?>(BP1;0I:!TH!(!M6%8P/.02.)D4A4R Z'I<.< -F&V\!A1V&!\\@0@?^ -M'5D*^R N!)44" !Z$D,<11_V)-H,J" <'7H@IB8")?(B3@NP((0C,27^&V G -M#18=!_$$J +Y#[4>L2,$&)P,!A(7#RTB?14D(5433R;% ?<2)@$H(:<'%@LH -M'3,7UB+U :(E1 FP"%$<]B:K$3\)= E&(?DA "#%&\,$Y03<%S<>1Q</!^4% -MPAW2'(4"S@QQ(B4*P0H=&\<:*PI""18.+"5/)L,(-!#9'50FT0-9!)L'/P)U -M!Q@3EQ'W"H\)/!0="7 =I"#^)H@F$P-4!Z88]B/[ F4/F KP $\:UA:W'HTB -M'2:Y$B\-9A9] ]HAK1SN(;4=Z2/8): &O05;"0T?R OI&QD23"8%!JX6I10Z -M#,4 O0@O#0<3=144$2$2T06]"/$/^PJ&'FX?^ Y3$V\:YB0P LXAV0&$ L@( -MTP=2"]<6#"6\(>LA*!/4):LE'0=@$]D&<Q'\$18?L EN&=0FR1AA%=P$: @W -M$!(;%@X2!Q\(GQ6:"Z0*8A8!&A(>8!/M(5('CQY !9 @'!_ $T,%2QZE&!HF -MBQFX&Q<:BQ0K'=T>NQ#Y 5@$ @HW"D$?U1.Z&IL<@R,;'-HA:1U]"V82C .V -M(.()51UB"-4 _R+N'E<7>P,T(O45C0'J%/T##2:M&"$-;Q)?!N$4 1UN')\2 -M'1*S$-D,&0R"!DH*S ZF$2H@#0>+!#44'P2;$<44GR%*$F<,\Q(B%TP;'!M' -M&P03S"27!(0EYAG0 IX PP3? 4@<% ^B%LH4NP*L(P(*RAZV$X\EUR;+'R08 -MP1"!%?,39"%5&&@<$1#8&'D6\AC$$YH9_"$*%O # @(J!18/VB X$082+!>( -M WH3"PJ1%= =<@/0%<,!: <<#507EABK)&,9H1!E$E(DSB88#I4<!"54"^(2 -M)Q3:&6D4 0BK&? @400V(GL(*P)O&L47Y25&(3@7,0@6(L8/VR%;(; ?K1'N -M!EP8?"3U&_TE$P_!$'P@Z@&,"G<'.R&T#T$$4A."".4:<1%4#;(48B*;'00; -MUA!A&;P%\AH""'<1M0I(("(!U!0W(-DC0"5<!T<1F"/>")4AT2%1!@H0J",V -M&J@ :A3M(!4C PT, GX&>";@$;T$(B)A)A\(K@MH!L<6^@%!!D(*AR(\"4\D -MC1D0&<8+1A"!#P )J0A<"_8?(A^)).4(0"+5"B0 JQ73 @P@'A?[#S<F)PF& -M"78'U16!$U,2;A2N"><?+ .W(Q@%?P6@#=8(5@SU$J( @"$"!YL%M U@%@$* -M%@*) @<@#Q?I%_LFIB;\!JXF*11I 1P>%PI (&LBZPX,&@ +>!*B ),*LP>4 -M(J,25B4N V,+_22[)(0)N@21(3P#51]R (,.V0O4&6H52 C4(LX7'P*>!+@$ -MP@#D%]H)]B6J&&T%$ALA)F\=Y0^-(T01]1)#$QXD+!HL(T$7.!&]%#(/, ?J -M!F\@Y!!W"EL%6A:M'?0EJ2!D$G$4;R" ,@_ @V!BT+]00*%5H#CB7U)GP: -M;P$]"PH3/B6C!78DR 1S&CD$2"2!&E$")!O4$3,)AR)F))43G24X)8T8)1(9 -M)8H*.29D#'L,ZB04!G($3Q9%"%,+?16%%;0'/03?"Z<4"2*%"C\F?1^W%I(F -M Q/R&KH?.P$M&J0(/AS-(5L.#QK %KT4P@O])AD4)R&8'C$7, .<#%@3;0\) -M$XX-KB5/%-T&001$ ;$&)!<Z%Y8-V13*"6LFH1W9(L08,":"!!,2RPSL'F,) -M\1\;&9X 2B,;%EH3H@M!$F\3W"0Z%7$%,@:6)/0152#^"!L2N!A+)=4"9!9S -M$8H/6Q9)#?\2IQ5)!I\9*R"8(3TC^1EG"Y4;+PJF!EP!* F/!9X'>A4*(*H0 -M-!-S)+@@WB14(*(=:R;>% 4BD0M[!S<?&@1D U,+?R:0%A<#'1'('F$>*R$< -M%.(#T0X\(Z <Q!+C(=TCQ27('HHASB-L'3H&:AFR'SX':B3> _<@>QO<!N0@ -M"A7V!;0B0 V! &\B61KX(<$$O!HC%<<*Y!Z' H8+V@Q?!@4.'@"B&V\,D2&B -M$CT!6B83$" <\P U!S0)EA6($1D5K2/M"ZP6J!P^&'XFGQ%7!#$*D27@$B8; -MPR0B$L8E?AFQ!1XD>R#B(4<7'0DV!$4G!1]$#2P7^!#A$C$7<!8]"9X/$ _Y -M"=H8 "!+#3 FPR1P%<X*M"#M"^<!_R1$&&86-AO?$W $EQ 8(\4A31OV$!<@ -MJ0<2$=8"FAAA#S@2?0YP)8H4]29\(C\%%1;O(5L"JA."!#X>A0-3%UL*6 Q" -M)PL1[P$'%'0B,1S$#Y\!S0H9&\0!,A0@"K4&VA&_)$@&B @*&$T2L0;% XT7 -MQ!PH'<$"H0OT(=4100BY()8E8QD\&ND*D@]9%"\#QQLV)KP9JQA&& $C\ /R -M")8C=PL%&XD:^2 K&3T362') XD!ER7O"1,*:@@K! $5#P39&E$D("12(0(D -M9P6V([X&1Q!*&8T>906[(.05 #"&?L<]P(!#?H+21JS$J@/]0(:']L,>B3[ -M"#DA.1S)$KD0>27V(KL.*@;K(A$ =!6D')X/3AKN'TP05!OB%'04MPHJ#>PC -M+Q8>$GD;.1&-$T$%WA;A(>\ 80]($:<@&!5Z$'8??P;2(9 EYB,Y!?L$QQ"7 -M S00>@2B#@,F]0;&!1$@4P?H)L 7MQ<4$,H#?P\^"CL']R%O"9X!3!_!"H@; -M]!.1%EX1#B),"EX*HQ,' /0#]R<#!O40* ! ! %8 _P'\ TX$] ;N -M"3T+X [7$B(5PAFV'?XBFP ! ! H 9 /H ! ( P $ -M ! 0 " 0 " 0 " 0 " 0 " 0 " 0 " &/ 0K0 -M , $ @ # 0 !0 & < " ) H "P , T #@ 0 !( !: $G -M$.$ !?40 -2E .AOP8;R "-C$%XM:\< !:$ S.T;SM/"$ "83XESEX@3^^! -MA:Q!6RUM!.Z?$+-+!Q5[R9?. ,!A +GUOZM<I/'#8RD '1 1TD$.-_WU*6 -M<WOQ 1_0;$KEG"5U@Y#C06O*=L0LQJ2" Y4, V5?4<4&KHA $D-<]3'B/W_ -M:B24#PQX!!00 )#9E&5"+-=B10&:(B873R< GQ\!OVKM9&XXE^W:I_GTZ3]/ -M P 8%Q A6R]UC[FJH3*>[)U3$XC'M8X ^$ ]C3/9C'-1OY5Z;R).DKJ'0^^ -MD.00 '&5I?%W=2EYZ&6TJP=D%;41F<RG%AO.P2=D8Z(8RN^D>R7-T>]P:]\^ -M'YWJ U]3$-',[B)AT_H(>>#&VB9GVWFK98X:QP@ @Z$ /6PP(V:&YVWD)K8X -M-<<L;#K-\<>^+AN. !00 &-18(_9N"%T+[ .4,D^0O3NEW9H"<1WY1%T .. -M@>$7LCOD>- :'$8(#WGU]*=BYXI18LW5BW?9CQ"H+D,(JK(:?(XASD#SBLX+ -MA,0+)WSKE,.M)1))80":M((ITUJER^T:N:]>&++91["WLIUC%#^, UW[ LH0 -M "8->2O_?&GOX.QH':752NMF2J00!S?T]#A&,@T ]P!M7D$E?NX]+NL2Z@\B -MX#.4_;8.P)OM>'Q94\ D9K@3H?4 $,L0F$$TB. *V\@C LI__069F\)W/.-X -MS([YW2=KO8YFB;8 B$ B@P7NXZD5J^?J09'LC9=2U_@@-RJ"O#^V4"HCH#0 -M:QIC(Q ><D-P.G?*;/&RDW,7E5<X2P\H&$Z2=O2>,5,!M:XNT>7AP\@/@$N -ME9D) ]\X_0\5Y"\C=/7LT\_<",0$L-J\S7\9IC,F ^D? DX'$*7&]JM.21MG -M+0)N/0816"GK=AC1_=-AB"+,W5\[E.Z,4+PJ<@!:X0"'<Y#[*3-S8B).-:X( -MXL)]OM.'_07Y]SM/H50_9P=%U]0F$7'"&@ -$ >A6%;;D\J:1A[XAP$4#0K -M+]TG[F-0<9FFR>D6CDHN*!<(;F\:21EN (MP?=8_,JV9$LH:7R7@-!8L,7( -M+6L7=[<<Y0333C$0-J^+TW/4:5SB4@%#$.1[N%W(TN94AS<(&(2>+QIXR5#[ -M;,?#E':86LQ)3B@IUOEETUR)53P,@Z$ #NO3K:=!3^3WE3XA71S[W#*_7QXI -MR]79KU?2V(2ZS+]DL*+]MQF%WLHQ >@0 -1!F!9[7-/%.( .UQ\[3_5K7HN> -MF#-R\%<1,$'!S/DP.CW*+5EN2] N?95: $HM@?O#T/12(BA0MP_R\U<3%!/< -M0EU]UCD9F?A9.!P DA36AK-WN7JE_F$2MV%J M_$'@A8:IP L&(P!90'GM" -M,WG5, 1K(-0)0!AXZZ5/K^=VLUV_'=^4O\8S0#][O(T 6$ G',2]%T'X9=X -MY[$OSEFY7JK:M#=9[%D"T.GA"\?D?8B$(7@NHFE(?1%#O()-?T/5$ !:_7,? -MY%0HH>'<3F*/F0=<_^F^@:X_Z]B;)-V07):O %PWF0DWYJN85#^8PDVSO",* -M63U!^-(BT#/GI_/VEE2%CZE^K[8<F@' %E(\X*S%+OX@/R/]HI^YZ@?W'B;Z -M-W\C"U%% 92[$)1X O=TP(P;70"P\,9UJ=NY%.+9<M]E#TM,=RC@%FWVD<)1 -M0\G/)Y6K5=;BYB><J+&F #TA *P+YQ>,<_" Y6"M,%5/&/BW*UC-28VK=U@K -ME?UMCGN1NN=?;3)62QNN6O9$=#F%GGQ':>L "1 <KD,L&]SG6X:LD8 >%UD -MA -_X\,A7..I*=GX1)'"X,?R2JY43>_67J<5VMH8(WV<J=-^IF^Y %= :R! -M?A^IX>$E9!*[?G:=H$;QN#R _J?/3.:BT %SK8SLUCABB</$Q07]'OB4H6[5 -M6DY)/>,X'/<0?4"U0OA.SSLA>ODE<6O >3OT;.)DJZ^;-\%*0;6-U&8! "A -M)TDQ+X'P.]_^SB1!)!Y_(L\Q"(_A +FR=3R"B!:3S3\Z:XFTA]X(GD5&:$VF -M#/W;DY'?).P3,&A$)YFT0>ZV@<K#6 )1\=EH):)]=G&- 4X0 -MUE!7R8^(: -M<&$3 1 J9..PF_^P2F%$JE0&=LR$Q,@\ H4ZTQ&F>%09'WT)[1#C?7L *4S7 -M'J;T"#, ,XS!E<Q1R#R<[Y!H-6N&Y:>V%.7RE!,[^33:C9(Z8+P"B=W2DFU9 -M4_%=3#-E5!1F_-*V.X0*+;P38:G)< ',Q"&.JM;FCKR/[K=,D;;V)!*6.A) -M1L4HC,8?,%N:%PAE@'PIA+$&OW6/IXQ5%^"4]1;T9H;DI[WV0K7F,"P :$ -M06JG*Y/%U'A]QNKCK2ML*_R$2_!UKA1U6'LT8K9ZVX,1#%4"F2\B]]ZP[ "B -M.\VD]<5/BEMEB[B-\]*!+FD0 %4Q":M8TJ8,)LM688.':ASTP76'Z'8L1$?/ -M0: %GLD(!CZ@NLCHY\_ 5>'Z1++O 7ZP)" E<]%R^8'DN 6N!Q7,@;2OC)E" -M37,&,OO6GOG1PT .R)-/0[@,L83U=>/)6_2,8I/_!B27&Z]2^8N;(8O?>#54 -MX;-ZUE\%>9+_QJ4M 11O$!,D-"+U1"1]?CV#IY3/&AZ"2T Q6?K,9:0_!WF$ -MK;MYLX#I:G%9:84BR6-96OU$GD-9:%-IT,8.Y9\X[%37-G0 *F$ OS)S"[@T -M>#PT8;ZSZ@9*E)6LC?&_:S<*_"#_GZ;S.L[4F]@#R"WLF]NIR=Y)^&G"SP@T -M=ESKDP6Q**7)%Q\@,G#O 80 )_M^MR S</;'V@X+J=Y6/6:(:SF65@3U:IF -M66B;,2A9[ZD5H'[&A3N=JI%DADTU:3BC8/>CL0%]0.\6F$0\I*=\V?N;'$%* -M)VX7KE?L8HFJ[R+[W;:B[^07X;WR,V:(@#>T+#Z_N-Z1&:QD"-3T:DXU_VH. -M9U:Y%$#;.\IX*IMH:S+%V?6O:;PF9*L0E[]MP#<\SKJDL34AC4T^CM8>Z:K -MQ-U;#]?\%#Y?"D =4?"V?&J*@Z=>22C+'9^.K02&[8R%\;^@U6C6?.LB(&4] -MLF(%VR$ KPHS)ZA_2@UAFW(QE^N@;_UKH4L+Y] :X#;/JH5F;80MH,G9$5JP -M+-T"Q DG^;G>A)BD-A_F2F&E,S_JJZ\5#Z0%(Y+5Z #D$ ![J3XEZ+ZUA<'\ -MJ/1=' <>/"NH6P@,^7%=( +6 ! (FTJVLX;J;+EE.0'!28QY=?F-W)&;(6YQ -M[B.)O=5ML+0B!H:0)[OMZN, (GP!F"Z'6[[3GW+8V2^'$A50QFO>;G#/2M@/ -MU95Q;B:R9K"MQC8D'1736CQ"5 YC_W/ S%7O%V7Y*/)5O,?W@-SMW/1N[\Y? -MW%/W 7G$)?+:>@FUW(^M.2JAEN0.2*<,P=U2WKID2U'^7>:;D#G%@OXQ R2 -M\!#R7VP1)<.+0LGYD9US"WRO!?\MA;!#=6DM*X0LIE?O$- ?X0",\0VI/IF; -MS1NN+?K#!<X8D.=B)4[#NY3)$[]8CO!7 !>7:YTM%7+KPY%]"R&MQ^.CSR.A -M\^B%?4OV'#I (G!U<9K]I+J:>F'?:A_!$ "H9:\1.J4!752F^=GZ4Z=!7N+; -M;+ I4422SWPNG#*%SX>VJ&D4NP*189F;AXCD&%/D<-H.F^^(!TV^I3<T;N09 -MH,CGE493B8DO3(4G!-CKP:'!Z 9)PI25N7IP3X%"=:4Y.F,+BR'"5MM&=!+] -MQ4G*FD7B8D,Y:/185&'[/Q-:MN6[236I.^*AP$PB%1B0ITY$V"V&@DN=O$JG -M2=$ O2,0IPF##DV'!Y%$3"H],T.1"7N3YFO(+%2:? <@E?$&B5@RDBNJ!1O% -M@F%#:BKE(V[_YH?)79O;RN*[5'&G?C-:GT\'3.&8HI.A,X%_=.(3 !RA -3I -M;%Q];YODV>?Y.V^A=V(T4<:+6>C>*]Y8SSS_6")&?!6H5W59)N=G4Q=WMV/K -MY@I?X_TY:3/HH#6H!;F']C$/0R$?0]O86O66JQL9HF@_ 00 .8AZCS0>(UC -MYSFQ[Z<7=2BN1YVK%,M]:&]F.:U]'_56^8K97OX_L5<@'Z@TCL3D6T+NS&6X -M69]"'CM;PD,3]E].P,U$G[U%^E1C]"EB.R#9K"AK@>K=<ST*_S@CJS@-EH/_ -MQU "1U&_L:R3@@;/D[V"=\0/#?.>&WT[U?]T)N'J.'B3N#.&,\ >0?C]3KPD -M,.DL49<\1.8BC?]EW8YP1?$KC=^#&D1?$&DWHJ::A=C=1!#-@!L"N203V35) -M6SDA/ QR!]I>^YW8 AH T>C03 LM!]99\?A,';CJ@]S2]1]MM;Z? TQ%/@0L -MLYE2W T>>@:+*\P^?//5(EH$ F$ O&$;@0A4&32%V)B'7L27VC0=I=JL46K -M*C*UABWBT_XOM>1B/1^1-NT*^VX(-%&\0#W=]Y9NL@!2JX#K7Y.'XQFF&?+3 -M-9\SFE;1O])NN=@ U)-> )P0 /3="5)=14+AKK0T+J.SHV\_S7INM"AW]TO! -MR-!GTOC@KJ@[9ZW)5K-LR)T+E9W! %M(BCU*OC;T4MGH37';(<7Y'($)2D78 -M:M>J3'P(X:6<=9N( .0\ !?[03A\6+R#2V%T7XB()CCJ4,!RG&TN.^TU7DB/ -MF<2]UZAY@A:$H,JT4;J.25S&)M3)\_R]LO>FIT3R3'2>(C"OVN>5DCL M_6! -MI<RHX+L?&@_UD?)\@*5# .;$)(6.%ZO.M=(OUY:\TEF5*_Z$N9<ZGBQ!%H4 -M@U*UYA.'E16]V2M\D(X0" P6QVBJ'+6@]P#VOD:-?<4;RLP1YMVXAL;2VU!9 -M879(I^H)ZE</_X]>1)POCF<A ),)[BK2.8<\:+G18RY _R-L"X_H$J;0!\A" -MP-Y\:>4QATH#3[BXL8).CAW24%@$+=/UB[:#D EVZA25T%Q--_,5FH=( U9^ -MAVHC-JQ>/[MSSSAG/OI2KT05NA E)E?#_;GM]//,CLJP_-./I2>9OR*511( -ML=[^;N+]W0O=F%*4E $"3Z7VYQQR#"H2DO.5MSY1I7.NL3"WEJR21=@I;\MD -M!'GR"GZN\H5'2I&8&@5^,N%V<LQ> U"; 5"<K?''W*TL.#U--W/&9]#J;:@& -M49OR^,0#X:*@4B,ZUQ!SJ42%V;K/$A@#<(<ZFU+<4NCELOM.!Q>F+[Y-U^$* -MJ^U/C&+L>\ZY0"'49H, H15UYLSC*?*$+P"!UQ#E9J)<'$JE/^D\/01R*#ZJ -M4:>.)=!3 _/:0^8(I8TB%N9@&F"<]OP4T%@4R)T:5]NZL9,DA<:Y[!C(C06Y -M*^(9V*#?D-A5FAL^I2B;VBE0:%A-@/1U+9QC<E;#.P 3X0 !,$S!(V;Q0=#V -MC]9#S^(+E/^1Q;_@8_G9RKG-]NF4H@LS:2=-9N4SD_;D2LK+\JBO=\J\G-.G -M*2#>EQ@U- S1#( *#IIMW[(DTS _Y\+_R4P42+E!?>T15SQ"(@/Z ,0 (55 -M,S[,%@!VKC"W0MOBV A+;38,-#Y+UW'A^0L)Z1W-CMZ%)7!K(__<6:$SO(7A -M<3UV:H81'\E^^6$>@U9.K"Y)],3(0U@PL)12HHX1?+[M]$?&*RWH<@Z[[%UO -M7[=URTK!NC@C,2"$,Q*<M$@6V@URQD!"OA^&:'"B3Q!#D!E3Q&P+'&@!*A=: -M#OG/(^AJU//&&\#;,<Q\>\X#/4N(T@OEA<_(NX;E1LJ-X8$4C0Q[,I(4]E2] -M2>'$)]R<ZK%82A'Y$Q VZ,9Z*9[T%C\*\TFFSW>E(Z.DOEN"S*)R+S401'^^ -MG1.XJ,(R3LE,,ZV\GOZZ=JPA,BY,S3(^$Y&T</[9-KM<EX5"%!K]1LS=^.8X -MA])I!]$7&@+Q_CZUJZ[#N>YO' @"OJ$ R6@& ,HIH;F;WETN&P^VQ"%Q0U"? -M0X86:RG2;*D(WT-@E1TB(* P;;2'X\)>9\6>PSM]T'@PY7^0N-@;WIW:Y-?F -M1%Y$Y83>LDT-7IY!MBFB=@X'U=BC/$9QA,+MS1SA(B< :Q AQ%^N^)Z:6BH -MC>RH""=,86GS:AHS==.M!@6K&NB;0OK>80[<;G*FRN#3Y:NZ,'I'3M>JRN8R -MPT8VA+3%]<F,-ZG&N-$[OBIC]!9#%,T:N;4]*PHZ1Z1X8;;XY-\L$3E9%]A8 -MY@ 0"H%]3-#VD0X3Y7PXEXR.3J_7I\H:@)VJ0YRHBT#+:1ZW2).N1V1#>DNC -MB?X6"Y'9P1A^IQLO 8"B#%>A%R5)\=O%???*$\1-H==B?M'<39M\!H+U=\]7 -M_DG>8MMZ_"M);D"< WZ0 )/$&I:G'Y2PC=R3HG?M-W_U"9==$&:Q*L5SL ! -M$V<MPWR*V-?(R-B$F7M=:B*^+^W/P7CF[T.<)?3Z&<DBKUF8RIBA^)EH'J7\ -M9'*1L,>6M;8WE3P9ZT0H?4V5]2+5YE2JFD8"\,YA;P 0 " 0 !P * -M X $@ 7 !P (@ I #$ . ! $D 4P!= &@ <P!_ (L F "F +4 PP#2 .( -M\P$$ 18!* $[ 4X!8@%W 8T!H@&X <\!YP'_ A@",0)+ F4"@ *< KD"U0+R -M Q #+P-. VX#C@.O ] #\@05!#@$6P1_!*0$R@3P!18%/05E!8T%M@7@!@H& -M- 9?!HL&N ;E!Q('0 =O!YX'S@?_"# (80B3",8(^@DN"6( -M $ 0 ! $ @ " ( @ # , P # 0 ! $ 0 !0 % 4 !0 & 8 -M!@ & < !P ' < " ( @ " ) D "0 ) H "@ * H "P + L "P , -M P # , T #0 - T #@ . X #@ / \ #P / ! $ 0 ! $0 1 !$ -M$0 2 !( $@ 2 !, $P 3 !, % 4 !0 % 5 !4 %0 5 !8 %@ $8 16@ -M 8<@"48 "H"D!WW$HT!&090 [L"X1I8!S08(!TN&),EC@H5""D 0%0$2L7 -M+Q#Q!9(&620, < 8 MJ$V,A4@K*%.0:RB0- #,%L!JE$-T1_QC!$AH#JAHD -M"P<!5 &@ E8.'PI8!R,4[0Q%"_8'P0+I"+8+H RV&9\+RP9<((<.9 <<(T4< -MH@"C$@< 100#C\'GQ@;"5TB[R/L)<0921]U 9LE\1:4 D+4 U[$B 51 #K -M$$$=\@D0'M8.^Q^,#QH&QQX> #X(T Z#);H@RAGP&K<890ZR&/D(]P\B$_$! -M+0]=#K$!FR0 ! $# FQ#]D0@1OH',,8HAMK!>0:#B9"$\<:#R;:"H<F,"0M -M!]P&1A:T&"T:VR#%(%(A0Q##$X\,X0N.#P,2JA)B'?0 2;0"Y,CJP^G%GX! -MB@(T&:0F=@S% Q$:WQ.0&[H0BQ@S#I,#?!:@ L60"!<(< *(@GZ(MH3&0?0 -M =H&LQP6''HDFARX!<@,SQ4J"@<!:"*7 $L+\!V!%-4;9!<](N,/B _.' 8< -MLQ/7$=$ 9 @D!;P(R!6B&14F.@XX#* !\1]0#6L+K0T[)94#[R7&$FX&]@ * -M%7H+J@VF'@(!^1'&#!T+AQS4%#D810H/#+L9L"'U)90 %@_7'GXE_0BM%[X; -M@1M2&7\)- '$%XL(0ALK&Y43G2 O(XP7("'_!4\ A* '7@,WA+K(;8"3B(X -M(^H)02)J$T,D8!7;'B0@\PHJ&E(4G0GG#ZX&/@K+(:,!SR< TA,!(-$Z,) -MB!S]"O D$!41$[,>"Q9Z#>$35@F1&DLFY"&Q'<\@FQ^X"Q,9*R&<)8(1;QSG -M %L/$!UO)B$#$R'*)-L:,A@(#44!K1''&](96 !J(J4"$0RT!M,C,!MS'F0; -M> ^""_< 90!W"-T"61J@(T88AP,F!APBD1AN!9(7XAPJ&^T<,1"5)'PE"AH+ -M&9 *D"8+ ?L7^@"/#ZH*YB/\).<'JP?6#V0-,!*-)?\,8PX&('H B130&342 -M%1 7 *@=Q@_@#>T"DP4#"+L+#0)##.$'4@$M!K@7'R,%(WT?EA-[%KX B5 -M"APF12#5$Z,F:0MH&C<B%2#U##0;A1E?(#\)K@8V&V$%6!=H#RT79!>W(:L/ -M-2*8(T<,] XY! 8,T"0. ! %$"6_#%80OQ'1(/8E7 36%<\10"8B!CX)O C* -M"0@A)0C%(]\"J1GF$Z@@;1'>'\D)'@Y)&:<@>1<W$N B2"-K &X2, LM%X - -MSAYQ"F4&1AAL%><-[05@ ?L8+PD<#XL?L0]8!PX QQ_5 EH<EA>T&0T1 0'% -M(K .WQ-$(LD5Y@E](,,"UA7P(S$- Y$%%P)0B!$!CX%+@H> X<6C!HK @T+ -MUR6N(8,.LPVN$$D7O1C^ 9<(7 #P&,0*6PZD(3L!E QK#FD8TA &$IL L )U -M"R4D2!V/$7\+3P*6!+X;$Q=>)>\-HP$R"_4 >!FB( 4&R@GI)7PCQ!/=)>\* -M:"96'3T8H21D"/D&/0Q")L(!.Q+W!,$ Q#P#.$@BAN9!O<4W1>^#M\3M!\D -M!N\D6"9=&O0>%Q$<'U0&/!2L&%, 4P'Z CL-8P8-'ED$_@W4$ET<41>C"8,B -M-B*B)(8CJ1'J !00 )@&5H9(1M2)/D*^Q4,(5D7HB'((84 'PK1(TH?YAT% -M'U(;0!RZ 2P&Y!$4%>X>*R1Y%R,6O!\ !/H6UB9< /DE9B7M)-$>^0,, (85 -M4 JK"D,5]0.S#_ .DAC\& B+Q-V!$<>LB2P 7(8)P'2&,0&EQTK(R<=,A-8 -M'DT%*@#Y YP@EP<Q$PT'$@<I"P@,Y@;H ;,:/@ Q&QT#;A% $=P#S1/2)-<, -M$1>#"H\3[Q:M'AH1WR-K%>HFE 7N 2D%$@,.(+0<Z!.T#+L46B37&]P:\ M7 -M&34$=@A+)(D6+2"\)$DF% YS%*L611?0%GX;0"4\&5T7FPS%"=(%F@RX'O8F -MQ"$.'AD3(QCP 3,@MQ R'?L=Z@G5!/,()A,5#U$00A'2"[H8/@L5$30!H A* -M(]$BNB)Z%K$&$A1H%242U1AB'CL R.P$P4>*1G.&H<BXQ/M$@<ERP2Y J,! -M5P55#U\%<1> &^876!-]$- "9!D!&W<AWQF#"<XC#!?,&*$CM <O 'D-HQ0+ -M(RL91P/[ /P"71&V'(X/KARB !@:\!(Q%/L%BR!2&7T=]@@;!!@9(1)Y#,@B -MN PA'0T.>QUS)MD@4"6K&&$FW16](B()CA_G%440$!$Z 6P"8 =Z&SH?GA", -M"9T.#@;: Z0071["),441@.( *(8<!C)$1P#$A!'&>$/+QTN%-,FY0=O$K05 -M)AUJ!C("M0#+$T(C#!ZY#3$A>POE "T@A2%C&X0E^0+'#Z@@5":@(0\/WPW9 -M!T82,PZ-!!D9#1[M![4-SB%S"L<$)@R0&P<D,@ $#E(,[0<\)+8%71KN 0DB -MC@S3!APDZ!J^()X.X@45).(9W02H#-TC>1U( NX&0P99)E +B0B;$' 75R M -M!M@$\Q%-"%8&CR0= AP101OW'ODFV!R6&S$.P!(T!X(+.A.0"ED1""3["=<0 -M7 BM#'T*929A$1L%7P'8&N<<CB3@%F<)!1ZX#YT<RP1K(Z@9:1XZ""84+R;' -M%#HCZ OQ%=\<4 LB(N0%+ =%ZD$DP=(!Z =Q@_=%?@ ! ]@"<H"W@OW##0> -M!A#C'L\</04""U@,3@C)(<$9A@+ !]8E-@S>'D<#/@#7 / BXP@')34 & 7> -M ,TB;!_[)@<!U -5#M07V 97$_ 86B *) H&S@DO&GXA*!_Y!G $.R,L !TE -MX",R)GD&*Q&Z *L)Q0, !9L1M1-6'0@$504E(I< JB9J(WH?3@1I%B\6- Q -M#@43D@\A%*@4<Q)S$> #UAG<$BP4H0#V&=X311CP$PH;VB*\$%09G@(P#[ > -M;QL^&)4,JB51 ,,;D M7#"X7" JB&/T: Q]F(^H/_ M<%VL?Q1_X)K<CP A? -M"6 3I@IN&,P/ B%&(T0BL ZS)AD5\0-'#FP8R!*6&LD7VQE$ ^\)MA ]$-$. -M*@L:(C<)MPQ%&&H<?R.E#JTB_AH""% %! ?@'%(!%0*T'=(&8A@%!]P"F@WS -M%8<<U WZ)L@#IP&N#C$!P@<2#_8 '0.4 S\2XB*3 *D<:R6?!?$1/A'D!TH& -M @S=&ML;Z".+).0E_ ;7&Z8A Q4\$Q "2A?"#N0A;A?C'.40EPA^(. "0"/\ -M ]H*K!C7%MX&*2(; *4-7@C[!P<8(1+]!,H9UA/R$Y$,)P>F')L$D!D3&48# -M, X)%8D3'0TR%O8.X #"&<@ @ 8N$)(BMP93#WH<912I!&,C?04>%\$.TPP3 -M"!HB&":0)I ,'11J%"0 !2(@!7XBI ,S!3$DS"' %"("E!2?)=H0[!WO ](C -M)0Q% *(,VQ3.)I<+D0_)#*LG!"8U&#<-NP[$"G8*O26,(N\BJ0=%(EL/[QA9 -M! 00F!ON'7@&.@>#!J0+OR,-&?H'@P<*(9$7S@<O!;D>NP7! "0)P -D":0( -M-@J='I8*UR/5'78BJ"#T%5,"_!%/#MX=<QS^ "<8H!.Z&KH!@R8%$M<, P;K -M)<@CGP"V%X$ ,06C)4<"BP4J(Q@*00=##E4 \ &]#O48(P[;'M80BPR')&,A -M'@IB"HP"APCX!2(7QB+Z .P>L 9%(5H+'A/A$D\.A":_"D42V29T&*L4I1.B -M(U\#41VR$<4C]!^Q 9L<:Q%,#TH2SA$[%J@8&QR8!1X"N2)%)2 930LP#_@# -M;B&Y#K@*?A/G 00']@]!%]\:* :O(IP4B #_$A$E$!,A)(<"Q"0.%#P&$ ,P -M&FT:ZP6#!5$"20G %S0COR#S'T81!"/ (7\%C23" /$,#0Q9#S(A%QNZ!#T; -M$!=% T\>'P*=#WX B!P.!V@&9R,#'84FU1SH'VP841$K#<4*P _K!9P7R2.3 -M%UX L12B%_,6*A;V![<D$P,%!X8;.A;! *X 1S0&/,+7QD]#J,=. :: ,8B -MHA?W&64<>0^X!)T+*PP&%M8 D24J%GT#MP N# L""PT<'V0.0A 7 *4BN &] -M#/P7+B:V$,0+6P82 %<0X@7Q#(<?\!Q%&0,?M1AQ%Y<C>0D+%L@%IQYU"$T> -MXR9['.\A7@L_!:,:& &#= :<QOV' D6: \ $O\<* V2!;@F%!&@$AT1*!0N -M(6$.+00* <H,'PFG WP>;A6<",4D2B-J&C4!M!.\!N@1Z@EH HL55@4&!\X' -M&AO[(80/4@T:'< 161W_!Y\+8P?-%.T$:2)N#EX3ZQNK&RPE]!N4$"$<F2;2 -M&U( *Q2P'04$*")3!?\6S!I1%/ D61TS$:P)#0 ($9@>4B,2& ,?3 C:!+HF -M0!#3!0<8/1'C$#P!! &]'?8"W0+U)=8"YR7X!VL3Y"2/'788BQ; (.H-?! _ -M%*H -00H .<1D23A%(0&JB/4"'T3*Q+F#2<>GQ%"%^@2C0].#S(!'B'0!G,C -M(@<1%.,?X1"W&\L=NPH8#Q(9I24#$&4FW0P'(;L2<ANO#5<9*QXM"_@D90 ) -M'<T9QQ1J#\0?VA6X&@$:1A*[&:4&XQ*\#PH(20L=$9P5>!K$"HH?CP*.%IT: -M^A+O&R,BB1S/)FXDMA3/!8TB123/)#X"/@27 M B6 =4)9 :!P9)#? +)1#S -M!^\:( 1G$RP2VR.E&>(:(Q0W B0-V1V@$><'8 -!'I,+=B,E W40<0@-$20= -M?1M5#A E>R(^(_,4E NS"*83J!NR#NX31A49(?4$# O6#:0(DR53(#X!:21; -M%S@%X@</!TT&)1GT#)<2H"$:(7<.)!P_#%,(_ !$% DJP1("[4=J"2[" 4? -MD0M7'XX151W5!3P2Q@I>'=\B"B! !*@'V \8%F0/3QGA((0:K1QP%64 %A,$ -M%50%[06T%(\/?A+R&+\&?PR3$\0ES CA)G<(W0-K!B(1-P-C&FT*(Q<C&T(8 -M( UA(;,!>076%[<:=@SQ"9(91A'!#8\-F0)C @@D [7(Q$AA"+Y$IP;?":4 -M#X BAA@='5L@9!+"#\D$I ,U"1D+T! )$*@=_ Q/!I<3W":L&K<@PAX*)+,A -M#@\Y"<D5H0$,%=L)*Q[0!08,N24;&E<>UA96(JP<5QT1(9(:1 #_&E,C0A>V -M!/\%\@X<#+PBCP*+%"X3- ^*#<,4?@WN%+\@9@ T'Z 7!@8F'B( *PB("=LE -ML@8G#&L&<PVM#K8@&PF3#+8+'"(5%^\3ZPEH".L0E":?%\$E]Q73)?H:D@1B -M'"@D)@R8)",FT!8O);L-& /@(^$>@07>%049NA.6!ST#H!0B 886>")+"#0* -M=0%*$%(7=P0((*<'?0RP(H 13"2Y$U(6?A/- 8@(MP%:)/ (P0CX$Y\AFP.. -M!FDBZ F+)#@# @DV!?$3RPHJ -063P#P&&X@'Q ,$7@F$PC&(_X0D@T"';TE -M=1=7 TT<UR(+$CX8M0_B).@F^ YE$C<#,QAO(V@4\0*=!# E4R&R"P$5_R P -M#$$..!%)!B0(50G:"(\<?@VH%'<%"PN1"FTB!"7Z#0<-/ !-"-T@X!_2%.0) -M2".H$"\"(0'#"\06L V>(NP630-Q'L@"KQT_%[,.B VZ%I8/3R'^'C@-91 " -M"GX<XA'V ;\;K!Z5$A$ [Q:S SX#"R-A%:@A3!'!"^HD41[=(A,C$PVQ& P% -MJ0:3#=D!M09$ I$&.B&1%HL7$0]H!GL7A 4@ C 3?A-U'WX8AQZ6(1T&FA,& -M $#T 6#)K\AC1_V%5X0M0$V'-P+"QFA$E$.'Q(<)/$3"@GK%UL.91[/"(<- -MER;G#<<.0",M&9H#%0NK$GHFY!Y9%, -6P3Q"Y,?,Q(Q ZP44QM*$>\?]P-B -M"0H3- GB"B 'VAF\& 8)H0HR'? A\@4.$=P>X@I^ $L=JPI](CH@=AU>#R8- -M-A]C)P8%=P5Y'1T "0Q '@P#/PY^!S<5JPS]$&$'TB'R .,%& TN(8X0\!%< -M'JP8\B2!&;D:>@_7%L$"Y2$!%=4'J0->!+<2^!SX$5(?V0EA%4H%M!5+#:D1 -M#2;S(9(&&@2<'G\78 "-(&L7!Q#\$/8E:!F4$_X3DA^$ ALC=AV;!><*^!D- -M#UX/P08P$!(>RQ_K#U8<A %3$_<C'B'< #\#@ V( SP/JR1: 2H-XA"2 BD# -MPPXH ;4;8AC0 8D!EAYW$046D!:O&!D+6 [# 6$A3!>["JD3%QVR M8:D11L -M#^<4^AL<(%88HQ/\'8D?@ ;$#>@*HAQV(8PF11!?(Y0CSA:R!*H)N!@7(LD< -M=!I])($:M1';$X,# P*.":H5415O'%(8L![2(581PQI""%<3:!7, :(! H0 -M&6X!1!#/ LX:]QM;(_H2NB)'"Z8 X@)E''$ PQ[U!;<1CQ4@):P;0"5K(P\$ -MFQN7'8H)$!HM(O\3ZAI[!2H3BQ.K";TF3PVZ!,P'0P2U)2P)$PQ! Y<)KQ73 -M)) *;!",'X(%=!JB(3$*&QR^(*P#;R:-".@#XA7@ 5X8%@<$!ZL3K0'/%S ? -MO0KL#5@:O UO FP*MQPP"6T88ABY#<\+Z"7T#P<)FR;;)E\6Y@*L$[L&81Q% -M#_($40])'],2% DF$\P@O1:((30E, P*!YD#K03>!Z@+SA2<&900F![5'F $ -MVR4""_<A&@F\!GX?T"8H%O8-^ 5Q'S,$<@1@#A(/ZQR: T\%+P/# B8:9AXT -M'[,0S!QI"_DB[AX1&",2?2+&!W,D60,$#%<2_B1A'R@ 1Y@%AH%^B ]!-D: -M\QY) IP@,@J5%,89#A.W&J8-/A*!%04/Q"6,'0P/HA8/!P<!KQFQ#MX@[1#[ -M'BP(3 ^X(A8*31X^$-(F= VC)<((I1A'(ID(7P3A' $7O2,]$A04D!/?%"L) -M"!YG'TP*]@44&T0'(R:)!%<7!2'!%,0?,P7I%8,+NR/L'. )4PF^%7<3=Q*F -M#-D:3R&Y&!P>A0 +'P .0!O](;X0IP/J%KXBG@@N! \@#PK%"+8ER ;7&&T! -M!B%T(24A\P[B'U@8@AZ!#!D,+Q[3 .HA;B-^ Q0-M17U&U<B,Q( K0/%1&E -M NT,# :A(4(6BB0G %8F! <O%_4630O_!S,50!F %$HF20 0$@H4' .G%$T7 -M>0-L('L:$ *[(B0)3 M""8 :"@=M!?0CZAEU&1P2I0R6"#< 30YP'*DDB!L. -M&;83EQOY'_L!T18! OH9B@T9(F@;"Q^9!80'Z2-](QPCHA;.%4P&TA@=&ZT3 -MFAOD(;(8)0=_ ^(#50SH#> <901<(TH%AQ>U'O\2PQ(3(48-JQIA&PD1@Q#Z -M%&(A&@NA'O 2-!IQ"4L*^Q3O)7@FK!I")ILBUQV@ JT-0R0)"XX!8PF)(M0= -MQR1N'R0@KA^[%5(@5 S^ #@!^@0@!SX"]@XN#108)!@6 *4>VQRL%.0DE1._ -M"_H-?A? )G@ENAZ7&\0@;2+[ AD&-A0V"\@7Q";* 4L1R! !%/0B$QF&%941 -M<!:X)48*51Q?'OX%AAF:%U88DAUX(M(,L2*(%-08=QA"$ALEP@Z0$9P<>Q;7 -M&2(D,1[&&,L!90V:!TPC_@<Y%SL2/Q9($VTDD2'[$!,9&PZP(A@&KAM!!QH& -M,0ST%X "F"#W H@@?A%'%6</#2;=%W82'"7=%N$9;@6@!>X@N 3/%E4$OP.< -M)$8%]!:%#F0!Y0,9"3(=20?_ S@'I18T)+(D"B+4&>H*1A2*%+P X":Q"*<3 -MF0)3$LH<M!,7)4(6_QL%)8@ /05,!A8"U@G:&GD;(PR)#0,ALQ\0(?</XP.T -M&3(2:QW/'Q<>Z!/B(S<=YQJ]'3H+)0ZR%OP K1E/'E0&Q " ! , -M!@ * \ %@ > "< ,0 \ $D 5P!F '8 AP": *X PP#9 / !"0$C 3X!6@%W -M 98!M@'7 ?D"' )! F<"C@*V M\#"@,V V,#D0/ _$$(P16!(H$OP3V!2X% -M9P6A!=T&&@98!I<&UP<9!UP'H ?E""L(<PB\"08)40F=">L*.@J*"ML++0N! -M Z( !5;FMN;W=N(&5R<F]R H J/T *C_ "I 8 -M J0@ *D, "I$@ J12 *D; "I'X J20 *DH "I*P J2^ *DT " -MI.( J3N *E! "I1 J4< *E+@ "I3T J5- *E7 "I6T J6! *E -ME0 "I;0 J7# *ET@ "I>H J7W *F#0 "IAP J8H *F.P "IDP J9B -M *F? "IIH J:Y *FU@ "IN< J<& *G)P "ISX J=8 *G>@ "IY@ -M J?( *GWP "I_X J@. *H)0 "J$D JAJ *H@P "J)T JBY *HT0 " -MJ/( JD4 *I*0 "J3P JE> *I<0 "J7X JF2 *II@ "J;D JG( *I -MW "J?( JH4 *J* "JC8 JI. *J:0 "JGP JJ/ *JLP "JLT JKK -M *J_ "JQ( JLC *K,@ "JTX JM= *K< "JWP JN3 6T5R<F]R -M(# 3F]T(&]W;F5R $YO('-U8V@@9FEL92!O<B!D:7)E8W1O<GD 3F\@<W5C -M:"!P<F]C97-S $EN=&5R<G5P=&5D('-Y<W1E;2!C86QL $DO3R!E<G)O<@!. -M;R!S=6-H(&1E=FEC92!O<B!A9&1R97-S $%R9R!L:7-T('1O;R!L;VYG $5X -M96,@9F]R;6%T(&5R<F]R $)A9"!F:6QE(&YU;6)E<@!.;R!C:&EL9')E;@!. -M;R!M;W)E('!R;V-E<W-E<P!.;W0@96YO=6=H(&UE;6]R>0!097)M:7-S:6]N -M(&1E;FEE9 !"860@861D<F5S<P!";&]C:R!D979I8V4@<F5Q=6ER960 1&5V -M:6-E(&)U<WD 1FEL92!E>&ES=', 0W)O<W,M9&5V:6-E(&QI;FL 3F\@<W5C -M:"!D979I8V4 3F]T(&$@9&ER96-T;W)Y $ES(&$@9&ER96-T;W)Y $EN=F%L -M:60@87)G=6UE;G0 1FEL92!T86)L92!O=F5R9FQO=P!4;V\@;6%N>2!O<&5N -M(&9I;&5S $EN87!P<F]P<FEA=&4@:6]C=&P@9F]R(&1E=FEC90!497AT(&9I -M;&4@8G5S>0!&:6QE('1O;R!L87)G90!.;R!S<&%C92!L969T(&]N(&1E=FEC -M90!);&QE9V%L('-E96L 4F5A9"UO;FQY(&9I;&4@<WES=&5M %1O;R!M86YY -M(&QI;FMS $)R;VME;B!P:7!E $%R9W5M96YT('1O;R!L87)G90!297-U;'0@ -M=&]O(&QA<F=E $]P97)A=&EO;B!W;W5L9"!B;&]C:P!/<&5R871I;VX@;F]W -M(&EN('!R;V=R97-S $]P97)A=&EO;B!A;')E861Y(&EN('!R;V=R97-S %-O -M8VME="!O<&5R871I;VX@;VX@;F]N+7-O8VME= !$97-T:6YA=&EO;B!A9&1R -M97-S(')E<75I<F5D $UE<W-A9V4@=&]O(&QO;F< 4')O=&]C;VP@=W)O;F<@ -M='EP92!F;W(@<V]C:V5T $]P=&EO;B!N;W0@<W5P<&]R=&5D(&)Y('!R;W1O -M8V]L %!R;W1O8V]L(&YO="!S=7!P;W)T960 4V]C:V5T('1Y<&4@;F]T('-U -M<'!O<G1E9 !/<&5R871I;VX@;F]T('-U<'!O<G1E9"!O;B!S;V-K970 4')O -M=&]C;VP@9F%M:6QY(&YO="!S=7!P;W)T960 061D<F5S<R!F86UI;'D@;F]T -M('-U<'!O<G1E9"!B>2!P<F]T;V-O;"!F86UI;'D 061D<F5S<R!A;')E861Y -M(&EN('5S90!#86XG="!A<W-I9VX@<F5Q=65S=&5D(&%D9')E<W, 3F5T=V]R -M:R!I<R!D;W=N $YE='=O<FL@:7,@=6YR96%C:&%B;&4 3F5T=V]R:R!D<F]P -M<&5D(&-O;FYE8W1I;VX@;VX@<F5S970 4V]F='=A<F4@8V%U<V5D(&-O;FYE -M8W1I;VX@86)O<G0 0V]N;F5C=&EO;B!R97-E="!B>2!P965R $YO(&)U9F9E -M<B!S<&%C92!A=F%I;&%B;&4 4V]C:V5T(&ES(&%L<F5A9'D@8V]N;F5C=&5D -M %-O8VME="!I<R!N;W0@8V]N;F5C=&5D $-A;B=T('-E;F0@869T97(@<V]C -M:V5T('-H=71D;W=N %1O;R!M86YY(')E9F5R96YC97,Z(&-A;B=T('-P;&EC -M90!#;VYN96-T:6]N('1I;65D(&]U= !#;VYN96-T:6]N(')E9G5S960 5&]O -M(&UA;GD@;&5V96QS(&]F('-Y;6)O;&EC(&QI;FMS $9I;&4@;F%M92!T;V\@ -M;&]N9P!(;W-T(&ES(&1O=VX 2&]S="!I<R!U;G)E86-H86)L90!$:7)E8W1O -M<GD@;F]T(&5M<'1Y %1O;R!M86YY('!R;V-E<W-E<P!4;V\@;6%N>2!U<V5R -M<P!$:7-C('%U;W1A(&5X8V5E9&5D %-T86QE($Y&4R!F:6QE(&AA;F1L90!4 -M;V\@;6%N>2!L979E;',@;V8@<F5M;W1E(&EN('!A=&@ 3F]T(&$@<W1R96%M -M(&1E=FEC90!4:6UE<B!E>'!I<F5D $]U="!O9B!S=')E86T@<F5S;W5R8V5S -M $YO(&UE<W-A9V4@;V8@9&5S:7)E9"!T>7!E $YO="!A(&1A=&$@;65S<V%G -M90!)9&5N=&EF:65R(')E;6]V960 1&5A9&QO8VL@<VET=6%T:6]N(&1E=&5C -M=&5D+V%V;VED960 3F\@<F5C;W)D(&QO8VMS(&%V86EL86)L90!-86-H:6YE -M(&ES(&YO="!O;B!T:&4@;F5T=V]R:P!/8FIE8W0@:7,@<F5M;W1E $QI;FL@ -M:&%S(&)E96X@<V5V97)E9 !!9'9E<G1I<V4@97)R;W(@ %-R;6]U;G0@97)R -M;W(@ $-O;6UU;FEC871I;VX@97)R;W(@;VX@<V5N9 !0<F]T;V-O;"!E<G)O -M<@!-=6QT:6AO<"!A='1E;7!T960 141/5$1/5"$A(2$ 4F5M;W1E(&%D9')E -M<W,@8VAA;F=E9 !&=6YC=&EO;B!N;W0@:6UP;&5M96YT960 -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M $! (" 0! (I@ -M =! (J E! (J T9 (J !79 -M(J !?@ "!@ "3@ "Z@ -M #3@ #Q@ $/@ $I -M@ %+@ %N@ &+@ -M &G@ &Y@ ',@ 'D@ -M 'P@ (M@ ):@ *.@ -M +(@ +S@ 1 >0 (J -M1 >0 (J0 1 >0 (JH ,D) (J 1 >@ (JX -M 1 >@ (K( 1 >@ (K@ ,S) (JX 1 >P -M(KP 1 >P (L 1 >P (L8 -*) (KP 1 -M?0 (LH 1 ?0 (LX 1 ?0 (M0 -C) (LH -M1 ?@ (M@ 1 ?@ (MP 1 ?@ (N( -S) (M@ -M 1 ?P (N8 1 ?P (NH 1 ?P (O .*) -M(N8 1 @0 (O0 1 @0 (O@ 1 @0 (OX .C) -M (O0 1 @@ (P( 1 @@ (P8 1 @@ (PP .Q -M) (P( 1 @P (Q 1 @P (Q0 1 @P (QH -M /&) (Q 1 A0 (QX 1 A0 (R( 1 A0 -M(R@ /=) (QX 1 A@ (RP 1 A@ (S 1 -MA@ (S8 /L) (RP 1 AP (SH 1 AP (SX -M1 AP (T0 0") (SH 1 B0 (T@ 1 B0 (TP -M 1 B0 (U( 0:) (T@ 1 B@ (U8 1 B@ -M(UH 1 B@ (V( 0K) (U8 0]@ 1W@ -M 2K@ 3;@ 3M@ 44 -M@ 4P@ 5.@ 5J@ -M 5W@ 1 L@ (V8 1 M0 (W 1 M@ -M(W8 1 MP (WX 1 N0 (X8 1 N@ (XX 1 -MNP (Y8 1 O0 (YX 1 O@ (Z8 1 OP (ZX -M1 P0 ([8 1 P@ ([X 1 PP (\8 1 Q0 (\X -M 1 Q@ (]@ 1 R0 (^@ 1 R@ (_( 1 RP -M(_P 1 S0 ) 8 1 S@ )! 1 SP )!H 1 -MT0 )"0 1 T@ )"X 1 TP )#@ 1 U0 )$( -M1 U@ )$P 1 UP )%8 1 V0 )& 1 V@ )&H -M 1 W )'X 1 W0 )(@ 1 W@ ))( 1 X -M))P 1 X0 )*8 1 X@ )+ 1 Y )+H 1 -MY0 ),0 1 Y@ ),X 1 Z )-@ 1 Z0 ).( -M1 Z@ ).P 1 [ )/8 1 [0 )0 1 [P )0H -M 1 \ )1( 1 \0 )1@ 1 \@ )2 1 ] -M)28 1 ]@ )3 1 ]P )3H 1 ]P )3H 6D) -M (V8 6L( 6V( 7(( 7< -M( 7G( 7Y( 8-( -M 86( 8F( 8X( 9"( -M 93( 9F( 9R( 9_( -M ::( :]( ;B( ;^ -M( <7( <\( =6( -M =M( >0( >K( ?#( -M ?G( @$( @B( @X( -M A6( AV( B-( BH -M( C(( C=( CV( -M D4( DJ( E$( EC( -M E[( F4( FB( G@( -M H-( I!( I-( J( -M( JS( KD( KO( -M KZ( L>( LM( M+( -M M9! )4 MB! )4 MQ9 )4 N:9 -M )4 NS@ O5@ OG@ P. -M@ PG@ Q%@ QC@ -M Q]@ R?@ S"@ S?@ -M S[@ T-@ T@@ TX@ -M U$@ V"@ W&@ X4 -M@ Y+@ Y8@ YB@ -M YM@ Z6@ Z\@ [1) -M)4 [G( [^) )8 \4!@ " #P \C) -M ):X \N! )<@ \V! )<@ ]%9 )<@ ]N -M9 )<@ ^'@ ^I@ ^[@ -M _B@ _[@ ! 9@ ! W@ -M !!1@ !!S@ !"6@ !"S@ -M !#/@ !#A@ !#T@ !$, -M@ !$8@ !%6@ !&:@ -M !'H@ !(?@ !(L@ !(V@ -M !)!@ !)J@ !*0@ !*E( -M !*Y( !+6( !+H! )<@ !+L -M9 )<@ 1 #__P )<@ !+S! )<@ !+]! )D -M !,$! )H@ !,.! )L@ !,6! )L@ !,:! -M)M@ !,B! )N !,K! )O !,S! )O !,\! -M *V@ !-+! *\@ !-3! *] !-@! *] !-J -M! +4@ !-S! -7 !-\! -:@ !.&! -Z -M !.,! -Z !.5! .' !.=! .' !.A! -M.( !.I! .( !.M! .) !.]! .) !/!! -M .* !//! .* !/3! .+ !/;! .+ !/? -M! ., !/J! ., !/N! .- !/[! .- -M !/_! .. !0&! .1@ !01! .6 !0;! -M.7 !0E! .A@ !0P! .C !0X! .G !1"! -M /0@ !1*! /9 !13! /> !1<! 3_@ !1I -M! 3_@ !1Q! 4#@ !1Z! 4) !2#! 4+ -M !2*! 45@ !23! 4H@ !2<! 4K@ !2H! -M80@ !2Q! 82@ !2Z! 85@ !3#! 89 !3,! -M 8?@ !37! 8]@ !3B! 9B !3Q! <V@ !4 -M! >) !4*! >?@ !45! >J@ !4D! @+ -M !4S! B' !4_! BI !5&! BI !5*! -MBJ !53! BO !5=! BS !5D! BS !5H! -M BT !5Q! B] !5Z! B_@ !6#! C! !6+ -M! C' !64! C. !6=! C0@ !6G! C4 -M !6T! C4 !7#! C4 !7,! C4 !70! -MC5 !79! C>@ !7@! C>@ !7D! C?@ !7N! -M CJ !7W! CJ !8 ! CJ !8$! CK !8( -M9 CK 1 #__P CK !8/!0 #H )D !85 P -M !8?!0 %#@ (" !8E!0 (V8 !8K!0 #8@ (I@ !8W!0 &X@ -M)M@ !8^!P %<@ " !9'!0 $0 )<@ !9/!0 #I (I@ !9;!0 -M (J !9H!0 (JX !9\!0 (KP !:2!0 (LH !:@ -M!0 (M@ !:U!0 (N8 !;,!0 (O0 !;8!0 (P( -M !;K!0 (Q !< !0 (QX !<-!0 (RP !<A!0 -M(SH !<W!0 (T@ !=%!0 (U8 !=4!0 ):X !=<"0 -M "L% !=D"0 "L%( !=S"0 "L%0 !>$"0 "L%8 !>- -M"0 "L%@ !>="0 "L%H !>O"0 "L%P !>V"0 "L& -M !?$"0 "L&0 !?4"0 "L&@ !?<"0 "L&P !?K"0 " -ML' !?\"0 "L'0 !@%"0 "L'@ !@/"0 "L( !@="0 -M "L(( !@R"0 "L(0 !A)"0 "L(@ !A8"0 "L(P !AN -M"0 "L) !B&"0 "L)@ !B3"0 "L* !BG"0 "L*@ -M !B]"0 "L+ !C+"0 "L+@ !C@"0 "L, !CW"0 " -ML,@ !D&"0 "L- !D6"0 "L. !DF"0 "L.0 !D]"0 -M "L.@ !E6"0 "L.P !EG"0 "L/ !E_"0 "L/0 !F9 -M"0 "L/@ !FH"0 "L/P !F^"0 "L0 !G6"0 "L00 -M !GF"0 "L0@ !G]"0 "L0P !H6"0 "L1 !HG"0 " -ML10 !HY"0 "L1@ !I""0 "L1P !I."0 "L2 !I9"0 -M "L20 !IB"0 "L2@ !IJ"0 "L3 !IR"0 "L< !I[ -M"0 "L<@ !J%"0 "L= !J0"0 "L? !J;!0 )4 -M !JN"0 "L@@ !J]!P " #@ !K.!P " $ !K@!0 -M)8 !KS"0 "LA !L"!0 &= )H@ !L+!0 )LX !L2!0 & -MY0 )<@ !L>!0 "> *\@ !LD!0 %&@ *V@ !LQ!0 #E@ )O !L[ -M"0 'B0 "LA@ !M+!0 &JP +P@ !M3!0 (' )N !M:!P 'EP " $0 -M !MA!0 $W0 *>8 !MJ!0 "9@ )_ !MS!0 #>0 ,!X !MY!P %^@ " -M I0 !N!!0 &3 )Y0 !N)!0 $9 *H( !N3!0 /@ *6( !N=!0 -M .(8 !ND!0 %)P *T !NN!0 .'8 !NU!0 ',P -7 !N] -M!0 & 0 )P8 !O%!0 %:0 -R !O-"0 #( "JZP !O3!P #<@ " $P -M !O>!0 $50 *^@ !OH!P &@P " %@ !OZ!P %50 " & !P!!P &J0 " -M &0 !P*!P #RP " %P !P;!P #?@ " %0 !PL!P &;P " % !P_!0 ' -MUP -Z !Q'!0 #. *] !Q3!0 %I .7 !Q<!0 $*0 .C !QD -M!0 "L@ .A@ !QN"0 #J "LAP !Q\!P #+@ " IP !R"!0 &-P ,8H -M !R+!0 #P0 .. !R1!0 .*8 !R>!0 &\0 /0@ !RE!P #P@ " -M +@ !RN!P #30 " ' !RZ!P ',@ " + !S!!P "H@ " +0 !S*!0 -M .+8 !S1!0 $?@ -:@ !S;!0 .)8 !SJ!0 "HP -CP !SX -M!0 $5P -M( !T$!0 %:P /9 !T,"0 '?P "LB !T6!0 .-8 -M !TB!0 '> .1@ !TM!0 #HP .68 !TV!0 .,8 !U "0 " -MLTP !U%!P /0 "!1P !U,!0 *0 .G !U4!0 $U0 .K@ !U?!0 " -M?@ /> !UH"0 #^@ "LJ !UQ!P (>P "!=0 !U[!0 '>P 3_@ !V" -M!0 &^P /<P !V)!0 #<0 4+ !V/!0 5@ 85@ !V7!P "QP "!=P -M !V@!0 &T 4H@ !VH!0 '# 4#@ !VP!0 !&@ B48 !V[!0 (B -M8LX !W%!0 "@ 80@ !W-!0 %4 7C8 !W9!0 #_ 3.H !WD!0 -M) 4) !WL!0 %QP >) !W^!0 !F@ BCP !X)!0 :@ 9:X !X3 -M!0 F@ B' !X>!0 (" 8?@ !XH!0 "%0 3GX !XQ P $6^ -M !X[!0 &\ 4>@ !Y$!0 &(@ 4C( !Y-!0 %Q0 4F( !Y6!0 (!0 -M4G@ !Y?"0 $S@ "LJ0 !YL!0 %> 4;@ !YV!0 &M0 4= !Y_!0 % -MU0 4@ !Z(!0 '(@ 47 !Z1!0 &%@ 4DH !Z:!0 &V@ 4A@ !ZC -M!0 %MP 45@ !ZL!0 %P 4: !ZU!0 &I@ 48@ !Z^!0 BI8 -M ![$!P 'B@ ""$0 ![+!0 %P0 5Q ![<"0 !Y0 "LK ![G!0 "_ -M7D0 ![T!0 (G B] ![\"0 'OP "LL !\&!0 %QP 4K@ !\1!0 -M50 89 !\9!0 &>0 8)( !\G!0 6P 5W( !\Z!0 &YP BT !]" -M"0 %\0 "LM !],!0 $@ 82@ !]4!0 BS8 !]:!0 (10 6Y8 -M !]F!0 (0 B_@ !]N!P &Z "!N0 !]^!P #U "!P !^)!0 &8 -MC' !^1!P "7 "" ( !^:!0 SP C0@ !^C"0 H@ "LSP !^Q"0 ' -M= "LT !_("0 H0 "LT0 !_@"0 #D "LT@ !_W!0 $E@ <E8 " * -M!0 #=@ 9?X " 0!0 &N 8]@ " 7!0 (B 9S " R!0 %70 ?+8 -M "!)!0 '^ 9B "!8!0 $H @3( "!P!0 &4@ :.( "",!0 #TP -M<V@ "";!0 1@ BO ""D!0 !3 @-( ""U!0 & ?HH "#-!0 ' -M( @.X "#E!0 %PP =7@ "#U!0 $6P =, "$$!0 %G <M0 "$: -M!0 'O :[H "$P!0 &C ?\H "%,!0 XP =T0 "%?!0 &WP =J( -M "%Q!0 $. =3H "& !0 "G =*H "&3!0 '%0 >?@ "&:!0 "* -M>,X "&U!0 Y >4@ "'0!0 !A0 >D "'F!0 !8 >FP "'\!0 -M2 >@P "(.!0 7 >J@ "(=!0 #00 ?9@ "(Q!0 &*0 ?%H ")' -M!0 (+P ?@0 ")B!0 #' ?18 ")V!0 &! >]0 "*,!0 %+ >UH -M "*@!0 %E >MX "*N!0 !. >Z8 "+!!0 #!@ >VX "+5!0 &*@ -M>R "+E!0 $_ >NX "+S!0 %O ?U ",$!0 (& BJ ",,!P ' -MY@ ",+ ",K!P #J "BAH "-,!P '8 "=D0 "-L!P (<@ ",) ".# -M!P %X "B6( ".<!P (? "=C@ ".T!P !M@ ""U8 "/%!P $R@ "=IP -M "/8!P #H@ "=BX "/J!P &S@ ""U0 "/_!P '[@ "=IH "06!P %- " -M=BP "0L!0 #X0 @+ "1$!0 &V C! "1+!P (EP "=@@ "1B!P & -M!0 "H=8 "1[!P P "=G8 "23!P !VP ",- "2D!P $[P "BM( "2W -M!P #QP "=E "3)!P &\P ",,X "3>!P ($P "BM "3U!P %60 "=DX -M "4+!0 'H@ C. "43!0 C>X "49!0 'N C5 "4A!0 -MC48 "4I!0 #;@ C?@ "4R!P %P@ "HH0 "4_!0 CJ8 "5'!P " -MF@ "H_ "51!0 " "58!P "JZP "5?"0 "LTP "5E -M+VQI8B]C<G0P+F\ +VQI8B]-8W)T,2YO &=D8FUE+F\ 9V-C,E]C;VUP:6QE -M9"X +V-Y9VEN="]P;&%Y+V9N9B]D979O+V=D8G1E<W0O=#$P+P!G9&)M92YC -M &EN=#IT,3UR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!C:&%R.G0R/7(R -M.S [,3(W.P!L;VYG(&EN=#IT,SUR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W -M.P!U;G-I9VYE9"!I;G0Z=#0]<C$[,#LM,3L ;&]N9R!U;G-I9VYE9"!I;G0Z -M=#4]<C$[,#LM,3L <VAO<G0@:6YT.G0V/7(Q.RTS,C<V.#LS,C<V-SL ;&]N -M9R!L;VYG(&EN=#IT-SUR,3LP.RTQ.P!S:&]R="!U;G-I9VYE9"!I;G0Z=#@] -M<C$[,#LV-34S-3L ;&]N9R!L;VYG('5N<VEG;F5D(&EN=#IT.3UR,3LP.RTQ -M.P!S:6=N960@8VAA<CIT,3 ]<C$[+3$R.#LQ,C<[ '5N<VEG;F5D(&-H87(Z -M=#$Q/7(Q.S [,C4U.P!F;&]A=#IT,3(]<C$[-#LP.P!D;W5B;&4Z=#$S/7(Q -M.S@[,#L ;&]N9R!D;W5B;&4Z=#$T/7(Q.S@[,#L =F]I9#IT,34],34 =%]S -M=')U8W0Z5#$V/7,R-'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R=%]M96UB -M97(Z-BPQ-BPQ-CM< '9?:6YT7VUE;6)E<CHQ+#,R+#,R.W9?;&]N9U]M96UB -M97(Z,RPV-"PS,CM< '9?9FQO871?;65M8F5R.C$R+#DV+#,R.W9?9&]U8FQE -M7VUE;6)E<CHQ,RPQ,C@L-C0[.P!T7W5N:6]N.E0Q-SUU.'9?8VAA<E]M96UB -M97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z-BPP+#$V.UP =E]I;G1?;65M8F5R -M.C$L,"PS,CMV7VQO;F=?;65M8F5R.C,L,"PS,CM< '9?9FQO871?;65M8F5R -M.C$R+# L,S([=E]D;W5B;&5?;65M8F5R.C$S+# L-C0[.P!V7V-H87)?9G5N -M8SI&,@!V7W-I9VYE9%]C:&%R7V9U;F,Z1C$P '9?=6YS:6=N961?8VAA<E]F -M=6YC.D8Q,0!V7W-H;W)T7V9U;F,Z1C8 =E]S:6=N961?<VAO<G1?9G5N8SI& -M-@!V7W5N<VEG;F5D7W-H;W)T7V9U;F,Z1C@ =E]I;G1?9G5N8SI&,0!V7W-I -M9VYE9%]I;G1?9G5N8SI&,0!V7W5N<VEG;F5D7VEN=%]F=6YC.D8T '9?;&]N -M9U]F=6YC.D8S '9?<VEG;F5D7VQO;F=?9G5N8SI&,P!V7W5N<VEG;F5D7VQO -M;F=?9G5N8SI&-0!V7V9L;V%T7V9U;F,Z1C$R '9?9&]U8FQE7V9U;F,Z1C$S -M &QI;FLZ5#$X/7,Q-3)N97AT.C$Y/2HQ."PP+#,R.VQI;FMF=6YC.C(P/2HR -M,3UF,3DL,S(L,S([7 !S='5F9CHR,CUA<C$[,#LP.S(S/6%R,3LP.S$[,C0] -M87(Q.S [,CLQ-BPV-"PQ,34R.SL ='5?;&EN:SI4,C4]=3$T-&YE>'0Z,3DL -M,"PS,CML:6YK9G5N8SHR,"PP+#,R.UP <W1U9F8Z,C(L,"PQ,34R.SL 8V]L -M;W)S.E0R-CUE>65L;&]W.C L<'5R<&QE.C$L<&EN:SHR+#L 8V%R<SI4,C<] -M96)M=SHP+'!O<G-C:&4Z,2P[ &)O;VQE86XZ=#(X/65&04Q313HP+%12544Z -M,2P[ &)V86QS.E0R.3UE9F%L<V4Z,"QT<G5E.C$L.P!B;V]L96%N,CIT,CD -M;6ES;W)D97)E9#I4,S ]971W;SHR+&]N93HQ+'IE<F\Z,"QT:')E93HS+#L -M;6%I;CI&,0!V7V-H87(Z1S( =E]S:6=N961?8VAA<CI',3 =E]U;G-I9VYE -M9%]C:&%R.D<Q,0!V7W-H;W)T.D<V '9?<VEG;F5D7W-H;W)T.D<V '9?=6YS -M:6=N961?<VAO<G0Z1S@ =E]I;G0Z1S$ =E]S:6=N961?:6YT.D<Q '9?=6YS -M:6=N961?:6YT.D<T '9?;&]N9SI',P!V7W-I9VYE9%]L;VYG.D<S '9?=6YS -M:6=N961?;&]N9SI'-0!V7V9L;V%T.D<Q,@!V7V1O=6)L93I',3, =E]C:&%R -M7V%R<F%Y.D<S,3UA<C$[,#LQ.S( =E]S:6=N961?8VAA<E]A<G)A>3I',S(] -M87(Q.S [,3LQ, !V7W5N<VEG;F5D7V-H87)?87)R87DZ1S,S/6%R,3LP.S$[ -M,3$ =E]S:&]R=%]A<G)A>3I',S0]87(Q.S [,3LV '9?<VEG;F5D7W-H;W)T -M7V%R<F%Y.D<S- !V7W5N<VEG;F5D7W-H;W)T7V%R<F%Y.D<S-3UA<C$[,#LQ -M.S@ =E]I;G1?87)R87DZ1S,V/6%R,3LP.S$[,0!V7W-I9VYE9%]I;G1?87)R -M87DZ1S,V '9?=6YS:6=N961?:6YT7V%R<F%Y.D<S-SUA<C$[,#LQ.S0 =E]L -M;VYG7V%R<F%Y.D<S.#UA<C$[,#LQ.S, =E]S:6=N961?;&]N9U]A<G)A>3I' -M,S@ =E]U;G-I9VYE9%]L;VYG7V%R<F%Y.D<S.3UA<C$[,#LQ.S4 =E]F;&]A -M=%]A<G)A>3I'-# ]87(Q.S [,3LQ,@!V7V1O=6)L95]A<G)A>3I'-#$]87(Q -M.S [,3LQ,P!V7V-H87)?<&]I;G1E<CI'-#(]*C( =E]S:6=N961?8VAA<E]P -M;VEN=&5R.D<T,STJ,3 =E]U;G-I9VYE9%]C:&%R7W!O:6YT97(Z1S0T/2HQ -M,0!V7W-H;W)T7W!O:6YT97(Z1S0U/2HV '9?<VEG;F5D7W-H;W)T7W!O:6YT -M97(Z1S0U '9?=6YS:6=N961?<VAO<G1?<&]I;G1E<CI'-#8]*C@ =E]I;G1? -M<&]I;G1E<CI'-#<]*C$ =E]S:6=N961?:6YT7W!O:6YT97(Z1S0W '9?=6YS -M:6=N961?:6YT7W!O:6YT97(Z1S0X/2HT '9?;&]N9U]P;VEN=&5R.D<T.3TJ -M,P!V7W-I9VYE9%]L;VYG7W!O:6YT97(Z1S0Y '9?=6YS:6=N961?;&]N9U]P -M;VEN=&5R.D<U,#TJ-0!V7V9L;V%T7W!O:6YT97(Z1S4Q/2HQ,@!V7V1O=6)L -M95]P;VEN=&5R.D<U,CTJ,3, =E]S=')U8W0Q.D<Q-@!V7W-T<G5C=#(Z1S4S -M/7,R-'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z-BPQ-BPQ -M-CM< '9?:6YT7VUE;6)E<CHQ+#,R+#,R.W9?;&]N9U]M96UB97(Z,RPV-"PS -M,CM< '9?9FQO871?;65M8F5R.C$R+#DV+#,R.W9?9&]U8FQE7VUE;6)E<CHQ -M,RPQ,C@L-C0[.P!V7W5N:6]N.D<Q-P!V7W5N:6]N,CI'-30]=3AV7V-H87)? -M;65M8F5R.C(L,"PX.W9?<VAO<G1?;65M8F5R.C8L,"PQ-CM< '9?:6YT7VUE -M;6)E<CHQ+# L,S([=E]L;VYG7VUE;6)E<CHS+# L,S([7 !V7V9L;V%T7VUE -M;6)E<CHQ,BPP+#,R.W9?9&]U8FQE7VUE;6)E<CHQ,RPP+#8T.SL <U]L:6YK -M.D<Q.0!U7VQI;FLZ1S(U '!R:6UA<GDZ1S4U/65R960Z,"QG<F5E;CHQ+&)L -M=64Z,BP[ &YO;G!R:6UA<GDZ1S(V &-L=6YK97(Z1S4V/65C:&5V>3HP+&9O -M<F0Z,2P[ '-P;W)T<V-A<CI',C< 7U]M86EN+F\ 9V-C,E]C;VUP:6QE9"X -M+W-E;F1A:2]A8F,O<FEC:"]L871E<W0O;V)J9&ER+7-U;C,O9V-C+P N+B\N -M+B]D979O+V=C8R]L:6)G8V,R+F, :6YT.G0Q/7(Q.RTR,30W-#@S-C0X.S(Q -M-#<T.#,V-#<[ &-H87(Z=#(]<C([,#LQ,C<[ &QO;F<@:6YT.G0S/7(Q.RTR -M,30W-#@S-C0X.S(Q-#<T.#,V-#<[ '5N<VEG;F5D(&EN=#IT-#UR,3LP.RTQ -M.P!L;VYG('5N<VEG;F5D(&EN=#IT-3UR,3LP.RTQ.P!S:&]R="!I;G0Z=#8] -M<C$[+3,R-S8X.S,R-S8W.P!L;VYG(&QO;F<@:6YT.G0W/7(Q.S [+3$[ '-H -M;W)T('5N<VEG;F5D(&EN=#IT.#UR,3LP.S8U-3,U.P!L;VYG(&QO;F<@=6YS -M:6=N960@:6YT.G0Y/7(Q.S [+3$[ '-I9VYE9"!C:&%R.G0Q,#UR,3LM,3(X -M.S$R-SL =6YS:6=N960@8VAA<CIT,3$]<C$[,#LR-34[ &9L;V%T.G0Q,CUR -M,3LT.S [ &1O=6)L93IT,3,]<C$[.#LP.P!L;VYG(&1O=6)L93IT,30]<C$[ -M.#LP.P!V;VED.G0Q-3TQ-0!R96=?8VQA<W,Z5#$V/65.3U]214=3.C L3$]? -M1E!!7U)%1U,Z,2Q&4$%?4D5'4SHR+$907U)%1U,Z,RQ< $907T]27T9005]2 -M14=3.C0L1$%405]214=3.C4L1$%405]/4E]&4$%?4D5'4SHV+$1!5$%?3U)? -M1E!?4D5'4SHW+%P 1$%405]/4E]&4%]/4E]&4$%?4D5'4SHX+$%$1%)?4D5' -M4SHY+$=%3D5204Q?4D5'4SHQ,"Q'14Y%4D%,7T]27T9005]214=3.C$Q+%P -M1T5.15)!3%]/4E]&4%]214=3.C$R+$%,3%]214=3.C$S+$Q)35]214=?0TQ! -M4U-%4SHQ-"P[ '!T<F1I9F9?=#IT,0!S:7IE7W0Z=#$ =V-H87)?=#IT. !L -M;VYG;&]N9SI4,3<]<SAH:6=H.C,L,"PS,CML;W<Z,RPS,BPS,CL[ &QO;F=? -M;&]N9SIT,3@]=3AS.C$W+# L-C0[;&PZ-RPP+#8T.SL 9G5N8U]P='(Z=#$Y -M/2HR,#UF,34 7U]D;U]G;&]B86Q?9'1O<G,Z1C$U %]E>&ET7V1U;6UY7W)E -M9CI',C$]*C$ 7U]D;U]G;&]B86Q?8W1O<G,Z1C$U %]I;FET:6%L:7IE9"XP -M %]?;6%I;CI&,34 7V5X:70N;P!G8V,R7V-O;7!I;&5D+@ O<V5N9&%I+V%B -M8R]R:6-H+VQA=&5S="]O8FID:7(M<W5N,R]G8V,O "XN+RXN+V1E=F\O9V-C -M+VQI8F=C8S(N8P!I;G0Z=#$]<C$[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL -M8VAA<CIT,CUR,CLP.S$R-SL ;&]N9R!I;G0Z=#,]<C$[+3(Q-#<T.#,V-#@[ -M,C$T-S0X,S8T-SL =6YS:6=N960@:6YT.G0T/7(Q.S [+3$[ &QO;F<@=6YS -M:6=N960@:6YT.G0U/7(Q.S [+3$[ '-H;W)T(&EN=#IT-CUR,3LM,S(W-C@[ -M,S(W-C<[ &QO;F<@;&]N9R!I;G0Z=#<]<C$[,#LM,3L <VAO<G0@=6YS:6=N -M960@:6YT.G0X/7(Q.S [-C4U,S4[ &QO;F<@;&]N9R!U;G-I9VYE9"!I;G0Z -M=#D]<C$[,#LM,3L <VEG;F5D(&-H87(Z=#$P/7(Q.RTQ,C@[,3(W.P!U;G-I -M9VYE9"!C:&%R.G0Q,3UR,3LP.S(U-3L 9FQO870Z=#$R/7(Q.S0[,#L 9&]U -M8FQE.G0Q,SUR,3LX.S [ &QO;F<@9&]U8FQE.G0Q-#UR,3LX.S [ '9O:60Z -M=#$U/3$U ')E9U]C;&%S<SI4,38]94Y/7U)%1U,Z,"Q,3U]&4$%?4D5'4SHQ -M+$9005]214=3.C(L1E!?4D5'4SHS+%P 1E!?3U)?1E!!7U)%1U,Z-"Q$051! -M7U)%1U,Z-2Q$051!7T]27T9005]214=3.C8L1$%405]/4E]&4%]214=3.C<L -M7 !$051!7T]27T907T]27T9005]214=3.C@L041$4E]214=3.CDL1T5.15)! -M3%]214=3.C$P+$=%3D5204Q?3U)?1E!!7U)%1U,Z,3$L7 !'14Y%4D%,7T]2 -M7T907U)%1U,Z,3(L04Q,7U)%1U,Z,3,L3$E-7U)%1U]#3$%34T53.C$T+#L -M<'1R9&EF9E]T.G0Q '-I>F5?=#IT,0!W8VAA<E]T.G0X &QO;F=L;VYG.E0Q -M-SUS.&AI9V@Z,RPP+#,R.VQO=SHS+#,R+#,R.SL ;&]N9U]L;VYG.G0Q.#UU -M.',Z,3<L,"PV-#ML;#HW+# L-C0[.P!F=6YC7W!T<CIT,3D]*C(P/68Q-0!? -M97AI=%]D=6UM>5]D96-L.D<Q %]?0U1/4E],25-47U\Z1S(Q/6%R,3LP.S$[ -M,3D 7U]$5$]27TQ)4U1?7SI',C$ +6QG &QI8F<N<P!-<W=I=&-H+F\ 97AI -M="YO &]N7V5X:70N;P!W<FET92YO &5R<@!?97AI="YO &-E<G)O<BYO &5R -M<FYO+F\ 9FQS8G5F+F\ 9FQO871?<W=I=&-H+F\ 36EN:70N;P!F<%]G;&]B -M86QS+F\ ;6EN:71F<"YO &UA;&QO8RYO &ES871T>2YO &9I;F1I;W N;P!I -M;V(N;P!S:6=V96,N;P!C;&]S92YO &5R<@!F<W1A="YO &5R<@!G971D=&%B -M;&5S:7IE+F\ 97)R &=E='!A9V5S:7IE+F\ 97)R &EO8W1L+F\ 97)R '-I -M9V)L;V-K+F\ 97)R '-I9W-E=&UA<VLN;P!E<G( <V)R:RYO '-I9W1R86UP -M+F\ 7W-I9W9E8RYO &9P<FEN=&8N;P!-9&5F875L="YO &UA.3-N+F\ 9G!? -M<V%V92YO &)C;W!Y+F\ 8V%L;&]C+F\ 9&]P<FYT+F\ 9G!?8V]M;6]N<RYO -M &)Z97)O+F\ ;65M<V5T+F\ <W1R;&5N+F\ 871O:2YO &-T>7!E7RYO &UE -M;6-H<BYO '-E=&QO8V%L92YO '-T<F-H<BYO '-T<F-M<"YO '-T<G-P;BYO -M '-T<G1O:RYO &5C;VYV97)T+F\ 9V-O;G9E<G0N;P!D;W5B;&5?9&5C:6TN -M;P!?=6YP86-K7V1B;&4N;P!?8F%S95]3+F\ 7V)A<V5?:6PN;P!?<W!R:6YT -M9E]S=7 N;P!?=&EM97-?<&]W97(N;P!Q96-O;G9E<G0N;P!R96%D+F\ 97)R -M '!R:6YT9BYO '-P<FEN=&8N;P!O<&5N+F\ 97)R &UE;6-P>2YO '-T<F-A -M="YO '-T<F-P>2YO &%B;W)T+F\ 9V5T96YV+F\ <&5R<F]R+F\ <W1R<&)R -M:RYO %]B:6=?<&]W97(N;P!?<VUA;&Q?<&]W97(N;P!G971P:60N;P!E<G( -M<VEG;F%L+F\ :VEL;"YO &5R<@!?<&5R<F]R+F\ 97)R;'-T+F\ =W)I=&5V -M+F\ 97)R "UL9P!L:6)G+G, 7V5X:70 7U]$64Y!34E# '-T87)T %]M86EN -M '-T87)T7V9L;V%T %]?97AI= !?96YV:7)O;@!-<W=I=&-H &8V.#@X,5]U -M<V5D %]V7V-H87)?9G5N8P!?=E]S:6=N961?8VAA<E]F=6YC %]V7W5N<VEG -M;F5D7V-H87)?9G5N8P!?=E]S:&]R=%]F=6YC %]V7W-I9VYE9%]S:&]R=%]F -M=6YC %]V7W5N<VEG;F5D7W-H;W)T7V9U;F, 7W9?:6YT7V9U;F, 7W9?<VEG -M;F5D7VEN=%]F=6YC %]V7W5N<VEG;F5D7VEN=%]F=6YC %]V7VQO;F=?9G5N -M8P!?=E]S:6=N961?;&]N9U]F=6YC %]V7W5N<VEG;F5D7VQO;F=?9G5N8P!? -M=E]F;&]A=%]F=6YC %]V7V1O=6)L95]F=6YC %]?7VUA:6X 7W9?8VAA<@!? -M=E]S:6=N961?8VAA<@!?=E]U;G-I9VYE9%]C:&%R %]V7W-H;W)T %]V7W-I -M9VYE9%]S:&]R= !?=E]U;G-I9VYE9%]S:&]R= !?=E]I;G0 7W9?<VEG;F5D -M7VEN= !?=E]U;G-I9VYE9%]I;G0 7W9?;&]N9P!?=E]S:6=N961?;&]N9P!? -M=E]U;G-I9VYE9%]L;VYG %]V7V9L;V%T %]V7V1O=6)L90!?=E]C:&%R7V%R -M<F%Y %]V7W-I9VYE9%]C:&%R7V%R<F%Y %]V7W5N<VEG;F5D7V-H87)?87)R -M87D 7W9?<VAO<G1?87)R87D 7W9?<VEG;F5D7W-H;W)T7V%R<F%Y %]V7W5N -M<VEG;F5D7W-H;W)T7V%R<F%Y %]V7VEN=%]A<G)A>0!?=E]S:6=N961?:6YT -M7V%R<F%Y %]V7W5N<VEG;F5D7VEN=%]A<G)A>0!?=E]L;VYG7V%R<F%Y %]V -M7W-I9VYE9%]L;VYG7V%R<F%Y %]V7W5N<VEG;F5D7VQO;F=?87)R87D 7W9? -M9FQO871?87)R87D 7W9?9&]U8FQE7V%R<F%Y %]V7V-H87)?<&]I;G1E<@!? -M=E]S:6=N961?8VAA<E]P;VEN=&5R %]V7W5N<VEG;F5D7V-H87)?<&]I;G1E -M<@!?=E]S:&]R=%]P;VEN=&5R %]V7W-I9VYE9%]S:&]R=%]P;VEN=&5R %]V -M7W5N<VEG;F5D7W-H;W)T7W!O:6YT97( 7W9?:6YT7W!O:6YT97( 7W9?<VEG -M;F5D7VEN=%]P;VEN=&5R %]V7W5N<VEG;F5D7VEN=%]P;VEN=&5R %]V7VQO -M;F=?<&]I;G1E<@!?=E]S:6=N961?;&]N9U]P;VEN=&5R %]V7W5N<VEG;F5D -M7VQO;F=?<&]I;G1E<@!?=E]F;&]A=%]P;VEN=&5R %]V7V1O=6)L95]P;VEN -M=&5R %]P<FEM87)Y %]N;VYP<FEM87)Y %]S<&]R='-C87( 7V-L=6YK97( -M7W-?;&EN:P!?=5]L:6YK %]V7W5N:6]N %]V7W5N:6]N,@!?=E]S=')U8W0Q -M %]V7W-T<G5C=#( 7U]?9&]?9VQO8F%L7V1T;W)S %]?7T143U)?3$E35%]? -M %]?97AI=%]D=6UM>5]R968 7U]E>&ET7V1U;6UY7V1E8VP 7U]?9&]?9VQO -M8F%L7V-T;W)S %]?7T-43U)?3$E35%]? %]O;E]E>&ET %]W<FET90!?;7-W -M:71C:&9P7P!-:6YI= !F;&]A=%]S=VET8V@ 7U]C;&5A;G5P %]?97AI=%]H -M86YD;&5R<P!?;6%L;&]C &-E<G)O<@!?97)R;F\ 7U]W<G1C:&L 7U]F;'-B -M=68 7V9R964 7U]S;6)U9@!?9F9L=7-H %]?9FEN9&)U9@!?7WAF;'-B=68 -M7V9S=&%T %]?8G5F<WEN8P!?8VQO<V4 7VES871T>0!?9F-L;W-E %]?9G=A -M;&L 5FQI<W0 7V9P7W-W:71C: !?;6EN:71F<%\ 7V9P7W-T871E7VUC-C@X -M.#$ 7T9M;V1E %]&<W1A='5S %]F<%]S=&%T95]S=6YF<&$ 7V9P7W-T871E -M7W-K>69F< !?9G!?<W1A=&5?<V]F='=A<F4 7W-I9W9E8P!?14U44W!E8VEA -M; !?9G!R:6YT9@!?;6$Y,VY? %]-9&5F875L= !?14U44VEG;F%L;&5D %]? -M:6]B %]R96%L;&]C %]S8G)K %]G971P86=E<VEZ90!?8F-O<'D 7U]U8F]U -M;F0 7U]?;6%L;&EN9F\ 7U]R;V]T %]?;&)O=6YD %]I;V-T; !?7V9I;F1I -M;W 7V=E=&1T86)L97-I>F4 7U]F7VUO<F5F:6QE<P!?9E]P<F5A;&QO8P!? -M8V%L;&]C %]?<VEG9G5N8P!?<VEG<V5T;6%S:P!?7W-I9W1R86UP %]?<VEG -M=F5C %]S:6=B;&]C:P!?96YD &-U<F)R:P!F<%]S879E &9P7W)E<W1O<F4 -M7U]D;W!R;G0 7U]S:WE?9F0 7U]S:WEB87-E %]B>F5R;P!?8V9R964 7V%T -M;VD 7W-T<G-P;@!?7V-T>7!E7P!?;65M8VAR %]M96US970 7W%F8V]N=F5R -M= !?9F-O;G9E<G0 7W-T<F-H<@!?;&]C86QE8V]N=@!?7VUK87)G;'-T %]S -M=')L96X 7U]F;W5R9&EG:71S<75I8VL 7W%G8V]N=F5R= !?9V-O;G9E<G0 -M7W%E8V]N=F5R= !?96-O;G9E<G0 7U]G971A<F< 7U]F<&%B87-E %]I<W!U -M;F-T %]I<V=R87!H %]I<V%S8VEI %]T;V%S8VEI %]?;6)?8W5R7VUA> !? -M:7-X9&EG:70 7VES<W!A8V4 7VES86QN=6T 7VES=7!P97( 7VES8VYT<FP -M7VES<')I;G0 7VES86QP:&$ 7VES9&EG:70 7VES;&]W97( 7W)E860 7VQC -M;VYV %]G971L;V-A;&5?8W1Y<&4 7U]L86YG:6YF;P!?;&]C86QD=&-O;G8 -M7W-T<F-A= !?7VUY7W1I;64 7W-E=&QO8V%L90!?<W1R=&]K %]I;FET7W-T -M871I8W, 7V=E=&QO8V%L95]N=6UE<FEC %]M96UC<'D 7U]L;V-A;&5S %]S -M=')C;7 7V]P96X 7V]P96YL;V-A;&4 7W-T<F-P>0!?7V-O9&5?<V5T7VEN -M9F\ 7U]C='EP95]U; !?9V5T96YV %]?9'1C;VYV %]S=')P8G)K %]F<%]D -M:7)E8W1I;VX 7U]F<%]C=7)R96YT7V1I<F5C=&EO;@!?7V9P7V-U<G)E;G1? -M97AC97!T:6]N<P!?7V9P7V-U<G)E;G1?<')E8VES:6]N %]D;W5B;&5?=&]? -M9&5C:6UA; !?9V-V= !?7V=C=G0 7V)I;F%R>5]T;U]D96-I;6%L7VEN=&5G -M97( 7U]R:6=H=%]S:&EF=%]B87-E7W1W;P!?9&5C:6UA;%]R;W5N9 !?7V)I -M9U]F;&]A=%]T:6UE<U]P;W=E<@!?8FEN87)Y7W1O7V1E8VEM86Q?9G)A8W1I -M;VX 7U]F<%]N;W)M86QI>F4 7W-P<FEN=&8 7U]F<F5E7V)I9U]F;&]A= !? -M7W5N<&%C:V5D7W1O7V)I9U]F;&]A= !?7V)A<V5?8V]N=F5R<VEO;E]A8F]R -M= !?7W5N<&%C:U]D;W5B;&4 7U]C;&%S<U]D;W5B;&4 7W%U861R=7!L95]T -M;U]D96-I;6%L %]?=6YP86-K961?=&]?9&5C:6UA; !?7V)I9U]B:6YA<GE? -M=&]?8FEG7V1E8VEM86P 7U]U;G!A8VM?<75A9')U<&QE %]?8VQA<W-?<75A -M9')U<&QE %]?9G!?;&5F='-H:69T %]?9G!?<V5T7V5X8V5P=&EO;@!?7W5M -M86, 7U]M=6QT:7!L>5]B87-E7W1W;U]V96-T;W( 7U]M=6QT:7!L>5]B87-E -M7W1E;E]V96-T;W( 7U]C87)R>5]P<F]P86=A=&5?='=O %]?8V%R<GE?<')O -M<&%G871E7W1E;@!?7V-A<G)Y7VEN7V(Q,# P, !?7W!R;V1C7V(Q,# P, !? -M7VUU;'1I<&QY7V)A<V5?='=O %]?;&5F=%]S:&EF=%]B87-E7W1W;P!?7VUU -M;'1I<&QY7V)A<V5?=&5N7V)Y7W1W;P!?7VUU;'1I<&QY7V)A<V5?=&5N %]? -M;&5F=%]S:&EF=%]B87-E7W1E;@!?7W!R;V1?,3 P,#!?8C8U-3,V %]?<')O -M9%]B-C4U,S8 7U]C87)R>5]O=71?8C$P,# P %]?<')O9%\V-34S-E]B,3 P -M,# 7U]L<VAI9G1?8C$P,# P %]?<')O9%]B,3 P,# 7U]M=6Q?-C4U,S9S -M:&]R= !?<')I;G1F %]?;&5A9&EN9U]Z97)O<U]B:6=?<&]W97)S7W1E;@!? -M7VQE861I;F=?>F5R;W-?<VUA;&Q?<&]W97)S7W1E;@!?7VQE861I;F=?>F5R -M;W-?=&EN>5]P;W=E<G-?=&5N %]?<W1A<G1?8FEG7W!O=V5R<U]T96X 7U]S -M=&%R=%]S;6%L;%]P;W=E<G-?=&5N %]?<W1A<G1?=&EN>5]P;W=E<G-?=&5N -M %]?8FEG7W!O=V5R<U]T96X 7U]S;6%L;%]P;W=E<G-?=&5N %]?=&EN>5]P -M;W=E<G-?=&5N %]?;6%X7V)I9U]P;W=E<G-?=&5N %]?;6%X7W-M86QL7W!O -M=V5R<U]T96X 7U]M87A?=&EN>5]P;W=E<G-?=&5N %]?8V]P>5]B:6=?9FQO -M871?9&EG:71S %]A8F]R= !?7W-T87)T7V)I9U]P;W=E<G-?='=O %]?<W1A -M<G1?<VUA;&Q?<&]W97)S7W1W;P!?7W-T87)T7W1I;GE?<&]W97)S7W1W;P!? -M7V)I9U]P;W=E<G-?='=O %]?<VUA;&Q?<&]W97)S7W1W;P!?7W1I;GE?<&]W -M97)S7W1W;P!?7VUA>%]B:6=?<&]W97)S7W1W;P!?7VUA>%]S;6%L;%]P;W=E -M<G-?='=O %]?;6%X7W1I;GE?<&]W97)S7W1W;P!?<&5R<F]R %]K:6QL %]S -M:6=N86P 7V=E='!I9 !?7W!E<G)O<@!?<WES7V5R<FQI<W0 7W=R:71E=@!? -=<WES7VYE<G( 7V5T97AT %]E9&%T80!?7V5N9 !R - -end diff --git a/gdb/testsuite/gdb.base/m68k-elf.u b/gdb/testsuite/gdb.base/m68k-elf.u deleted file mode 100644 index e3d05e7..0000000 --- a/gdb/testsuite/gdb.base/m68k-elf.u +++ /dev/null @@ -1,298 +0,0 @@ -begin 777 m68k-elf -M?T5,1@$" 0 " 0 !@ $> #0 #"0 T " -M!0 H !4 $0 8 T@ - "@ H 4 P -M -0 !, ! ! -( #0 ) -MC "8P % @ $ G @ IP "4 "6 < " -M @ ">2 "GD ' !P O=7-R+VQI8B]L:6)C -M+G-O+C$ &$ , -M 4 P !P 0 -M + ! @ -M -M "@ -M ( ) -M -M -M -M -M!@ ! "02 "H +!@ -M$0#_\0 ^ "G$ !!$ H 8@ )P 1 /_Q 'P -M !:$@ ": "I4 !$ __$ M 2 ,H -M!-@ $$0 " #\ !( !)@ IR 1 /_Q -M7X *>0 $0#_\0!?8VQE86YU< !?96YD %]E;G9I<F]N %]E=&5X= !A -M=&5X:70 7V5D871A &5X:70 7VQI8E]V97)S:6]N %]?9G!S=&%R= !?1TQ/ -M0D%,7T]&1E-%5%]404),15\ 7T193D%-24, +W5S<B]L:6(O;&EB8RYS;RXQ -M " "G4 %%0 " "G8 !%0 " "G< )%0 " "G@ ' -M%0 !.=4YQ+SL!< );9.^P%Q EL@ !.^P%Q EJB\\ &#_ -M____W$[[ 7$ "6:+SP ,8/_____(3OL!<0 )8HO/ !A@_____[1. -M^P%Q E>B\\ )&#_____H"\\@ )O$ZY@ $*%A/(#R 0\9_\ . -M+P!.N8 !"A83Y_\ #"Z60>X !"]( 1*F&;\(\B "G$+T@ "$ZY@ $ -M$$ZY@ $4$ZY@ 'K"Z 3KF 1D3G5.<0 !(#O____Q([P 3R-_ -M 7 $< !@_P 3R-] 7 $3.\ $3EY.=4@._____$CO -M!/(W\ !< 1P &#_ !/(WT !< 1,[P 1.7DYU2 [____\ -M2.\ $\C?P %P !' 8/\ $\C?0 %P !$SO !$Y>3G5( -M#O____Q([P 3R-_ 7 $< !@_P 3R-] 7 $3.\ $ -M3EY.=4@._____$CO !/(W\ !< 1P &#_ !/(WT !< 1, -M[P 1.7DYU2 [____\2.\ $\C?P %P !' 8/\ $\C?0 %P -M !$SO !$Y>3G5(#O____Q([P 3R-_ 7 $< !@_P 3R -M-] 7 $3.\ $3EY.=4@._____$CO !/(W\ !< 1P &#_ -M !/(WT !< 1,[P 1.7DYU2 [____\2.\ $\C?P %P -M!' 8/\ $\C?0 %P !$SO !$Y>3G5(#O____Q([P 3R-_ -M 7 $< !@_P 3R-] 7 $3.\ $3EY.=4@._____$CO -M!/(W\ !< 1P &#_ !/(WT !< 1,[P 1.7DYU2 [____\ -M2.\ $\C?P %P !' 8/\ $\C?0 %P !$SO !$Y>3G5( -M#O____Q([P 3R-_ 7 $\CQ4 8/\ $\C?0 %P -M !$SO !$Y>3G5(#O____Q([P 3R-_ 7 $\CQ4 -M 8/\ $\C?0 %P !$SO !$Y>3G5(#O____Q([P 3R-_ -M 7 $0CF "MD$_P 8 *N 3_ "@ JI#/\ . "K8,_P !( *L@S -M_ %@ J;"/\ !H *G@C_ > "I8(_P (@ J7"/\ "8 -M*M0C_ J "ID(_P +@ JY"/\0L@ ( *J@C_$!I " "IP(_P -M @ J=!/Y@ K9( *T 3^8 *N" "J@$_F "JD@ J8#/Y@ JV( -M*N@S^8 *LB "JT,_F "IL@ J["/Y@ J>( *H0C^8 *EB "KX(_F -M "I<@ JO"/Y@ JU( *UPC^8 *F2 "JL(_F "KD@ JS"/Y@ JJ( -M*TPC^8 *G" "J0(_F "IT@ JE"/\@ K9( *O C_( *N" "M8(_R -M "JD@ J]"/\@ JV( *U0C_( *LB "L((_R "IL@ J:"/\@ J>( -M*K@C_( *EB "L (_R "I<@ JQ"/\@ JU( *MPC_( *F2 "M((_R -M "KD@ J@"/\@ JJ( *T0C_( *G" "L,(_P "@ JC"/\ H -M*GPC_ & "P (_P !@ K:"/Y@ K!( *W S^8 +!" "P(\C?0 -M %P !$SO !$Y>3G5.=4YQ " "GD " 0P -M@ $1( !%B 1L 0 &@ ,@ $$ V F\ !( .@ -M %@ #9 : *D "@ 'L + $ !4 X -M*<@ " , !0 ' %X ^ -M 0 ! #_\0 " #4 , $ -M@ Z # " ( J0 P P " -D , 0 -M @ #X # % ( !! P !@ " 04 , -M < @ $> # ( ( ";P P "0 " "G -M , H @ IR # + ( *>0 P # " "I8 -M , T # . P #P -M , ! # 1 P $@ -M , !, # 4 "@ ! #_ -M\0 !$ 0 __$ 8 $ /_Q ) -M! #_\0 "P 0 __$ V $ /_Q /8 !-P -M R$@ " $F "I8 !!$ T !6@ J7 01 - 98 -M";P $@ "0 &N "I@ A$ T "!@ 'K A 2 ( -MAH *F0 $$0 #0 )2 "IH !!$ T "M@ $/ "02 -M MH +!@ $0#_\0 +N "IL A$ T #,@ %U@ #(2 -M ( XH *G ($0 #0 .N "IX !!$ T #Q@ $> -M 2 ( ^( *GP $$0 #0 0. "G$ !!$ H $,@ J -M@ 01 - !)( *H0 ($0 #0 3" "J, !!$ T $X -M@ %#@ #(2 ( !2X *I 0$0 #0 5J G !$ __$ -M %A@ JH (1 - !=8 *J0 !$0 #0 86 "JH !!$ -M T &-@ JK @1 - !H8 !"@ !:$@ :B "G$ -M!"$ H &P@ &G@ #(2 ( !O( !P( R$@ " =& "JT -M !!$ T 'F@ JN 01 - !]( *E0 $0#_\0 ?N -M 5R ,A( @ ((@ JO @1 - "'8 *L0 $$0 #0 -M C2 8( ,A( @ (_@ JR (1 - "3H !S0 \$@ -M" EN 1D !( )@@ JS @1 - "=H *M0 $ -M$0 #0 GV "K8 A$ T *%@ JW 01 - "E( *N -M !$0 #0 J* "KD !!$ T *R@ JZ 01 - "P( -M*NP $$0 #0 M> 38 !!$ @ +D@ $U 2 ( " -M[( *O $$0 #0 ON "KT !!$ T ,3@ J^ @1 - -M #)H !% $@ S" "L !!$ T -%@ K! 01 -M - #3( *<@ $0#_\0 V* "L( !!$ T -Y@ K# -M 01 - #BH *< $$0 "@ YR "L0 &!$ T .F@ K -M* !@1 - #L( *T "$0 #0 [V "M$ !!$ T /- -M@ K2 01 - #XX !W \$@ " _& 8Z ,A( @ -M 0#@ IY 1 /_Q $#( *TP ($0 #0 !!J "M4 !!$ -M T 0J@ &T #(2 ( $/8 *U@ $$0 #0 !%. "M< -M"!$ T 1@@ $$ 2 & $9H *V0 !$0 #0 !&V "MH -M !!$ T 1U@ %0 #(2 ( $BH *W "0$0 #0 !)& -M 6D ,A( @ 2E@ L 01 - $KX + @ ($0 #0 -M!+B 9L ,A( @ 3,@ L$ @1 - &TV.&LN96QF &-R=#$N -M<P!C<G1I+G, =F%L=65S+5AT+F, 9V1B;64N8P!S:%]D871A+F, 8W)T;BYS -M '9?8VAA<E]F=6YC '9?<VEG;F5D7VEN= !V7W5N<VEG;F5D7VEN= !?9FEN -M:0!V7W5N<VEG;F5D7V-H87)?87)R87D ;6%I;@!V7W-I9VYE9%]L;VYG '9? -M=6YS:6=N961?<VAO<G1?<&]I;G1E<@!?8VQE86YU< !?96YD '9?=6YS:6=N -M961?<VAO<G0 =E]U;G-I9VYE9%]S:&]R=%]F=6YC '9?9&]U8FQE '9?:6YT -M %]S=&%R= !N;VYP<FEM87)Y %]E;G9I<F]N '9?=6YS:6=N961?;&]N9U]P -M;VEN=&5R '9?:6YT7V%R<F%Y '!R:6UA<GD =E]S:6=N961?8VAA<E]F=6YC -M '9?9&]U8FQE7V%R<F%Y %]E=&5X= !V7W-I9VYE9%]C:&%R7V%R<F%Y '9? -M=6YS:6=N961?8VAA<@!V7V9L;V%T '9?<VEG;F5D7VQO;F=?87)R87D 871E -M>&ET &5N=FER;VX =E]L;VYG7V9U;F, =E]U;G-I9VYE9%]L;VYG7V9U;F, -M=E]S:6=N961?<VAO<G1?87)R87D =E]I;G1?<&]I;G1E<@!?961A=&$ =E]S -M:&]R=%]F=6YC '9?=6YS:6=N961?:6YT7V%R<F%Y '9?=6YS:6=N961?:6YT -M7W!O:6YT97( =E]I;G1?9G5N8P!V7W-I9VYE9%]S:&]R= !V7V9L;V%T7V9U -M;F, 97AI= !V7W5N<VEG;F5D7VQO;F=?87)R87D =E]L;VYG '9?<VAO<G0 -M=E]L;VYG7W!O:6YT97( =E]S:6=N961?8VAA<@!V7W5N<VEG;F5D7VQO;F< -M=E]S:&]R=%]A<G)A>0!V7W5N<VEG;F5D7W-H;W)T7V%R<F%Y %]L:6)?=F5R -M<VEO;@!?;6-O=6YT '9?8VAA<E]P;VEN=&5R '9?=6YS:6=N961?8VAA<E]P -M;VEN=&5R '9?<VEG;F5D7VEN=%]A<G)A>0!?7V9P<W1A<G0 =E]S:6=N961? -M:6YT7W!O:6YT97( <U]L:6YK %]'3$]"04Q?3T9&4T547U1!0DQ%7P!V7W-I -M9VYE9%]S:&]R=%]P;VEN=&5R '9?9&]U8FQE7W!O:6YT97( 7U]L;VYG9&]U -M8FQE7W5S960 =E]S=')U8W0Q '9?<W1R=6-T,@!V7V-H87)?87)R87D =E]F -M;&]A=%]P;VEN=&5R '9?<VEG;F5D7VQO;F=?<&]I;G1E<@!V7V1O=6)L95]F -M=6YC '9?<VEG;F5D7VEN=%]F=6YC %]$64Y!34E# '9?9FQO871?87)R87D -M=E]S:&]R=%]P;VEN=&5R '9?<VEG;F5D7VQO;F=?9G5N8P!V7W-I9VYE9%]C -M:&%R7W!O:6YT97( =E]L;VYG7V%R<F%Y %]I;FET '9?8VAA<@!C;'5N:V5R -M '9?=6YS:6=N961?8VAA<E]F=6YC '5?;&EN:P!V7W-I9VYE9%]S:&]R=%]F -M=6YC '-P;W)T<V-A<@!V7W5N:6]N,@!V7W5N<VEG;F5D7VEN=%]F=6YC '9? -M=6YI;VX "YI;G1E<G +FAA<V@ +F1Y;G-Y;0 N9'EN<W1R "YR96QA+G!L -M= N:6YI= N<&QT "YT97AT "YF:6YI "YD871A "YG;W0 +F1Y;F%M:6, -M+F)S<P N<WEM=&%B "YS=')T86( +G!E<V5L "YS:'-T<G1A8@ N8V]M;65N -M= N9&5B=6< +FQI;F4 0"@C*6QI8F,M;3,R.FTT+F1E9@DQ+C0 0"@C*6QI -M8F,M;3,R.F-S=2]C<G0Q+G,),2XQ. ! *",I;&EB8RUM,S(Z;30N9&5F -M"3$N- ! *",I;&EB8RUM,S(Z8W-U+V-R=&DN<PDQ+C, 87,Z("A#1%,I(#4N -M," Q+S(O.3 0"@C*6QI8F,M;3,R.FTT+F1E9@DQ+C0 0"@C*6QI8F,M -M;3,R.F-S=2]C<G1N+G,),2XV "!L9" Z("A#1%,I(#4N," Q+S(O.3 -M "X $0 2 6< X9V1B;64N8P !-@ $!$8 !-P!(8 ";P!!@ -M = !, $@ 4X .'1?<W1R=6-T "V & "H #0 2 =0 X=E]C -M:&%R7VUE;6)E<@ 50 ! ", !@0 !P "L #0 2 H X=E]S:&]R -M=%]M96UB97( %4 ! C 8$ @< I T $@ ,D .'9?:6YT7VUE -M;6)E<@ 50 ' ", !@0 $!P "H #0 2 \P X=E]L;VYG7VUE;6)E -M<@ 50 * ", !@0 (!P "L #0 2 !'@ X=E]F;&]A=%]M96UB97( -M %4 #@ C 8$ # < L T $@ 4H .'9?9&]U8FQE7VUE;6)E<@ -M50 / ", !@0 0!P 0 ; !, $@ FP .'XP9F%K90 M@ !@ -M J T $@ 9, .'9?8VAA<E]M96UB97( %4 0 C 8$ < K -M T $@ ;X .'9?<VAO<G1?;65M8F5R !5 0 (P &! (' *0 - -M !( 'G #AV7VEN=%]M96UB97( %4 !P C 8$ ! < J T $@ -M A$ .'9?;&]N9U]M96UB97( %4 "@ C 8$ " < K T $@ CP -M.'9?9FQO871?;65M8F5R !5 X (P &! P' + - !( )H #AV -M7V1O=6)L95]M96UB97( %4 #P C 8$ $ < $ ' 7 !( .+ -M #AT7W5N:6]N "V " "H #0 2 "L@ X=E]C:&%R7VUE;6)E<@ -M50 ! ", !@0 !P "L #0 2 "W0 X=E]S:&]R=%]M96UB97( %4 -M! C 8$ < I T $@ P8 .'9?:6YT7VUE;6)E<@ 50 ' ", -M!@0 !P "H #0 2 #, X=E]L;VYG7VUE;6)E<@ 50 * ", !@0 -M !P "L #0 2 #6P X=E]F;&]A=%]M96UB97( %4 #@ C 8$ -M < L T $@ X< .'9?9&]U8FQE7VUE;6)E<@ 50 / ", !@0 -M!P 0 ; !< $@ !*D .'XQ9F%K90 M@ @ J T $@ ] -M.'9?8VAA<E]M96UB97( %4 0 C 8$ < K T $@ _L .'9? -M<VAO<G1?;65M8F5R !5 0 (P &! ' *0 - !( 0D #AV7VEN -M=%]M96UB97( %4 !P C 8$ < J T $@ !$X .'9?;&]N9U]M -M96UB97( %4 "@ C 8$ < K T $@ !'D .'9?9FQO871?;65M -M8F5R !5 X (P &! ' + - !( 2E #AV7V1O=6)L95]M96UB -M97( %4 #P C 8$ < $ *@ & !( 37 #AV7V-H87)?9G5N -M8P 50 ! 1& 3< 2& 4. ! #$ !@ 2 %# X=E]S:6=N961? -M8VAA<E]F=6YC !5 (!$8 !0X!(8 !4 $ ,P & !( 5# #AV -M7W5N<VEG;F5D7V-H87)?9G5N8P 50 # 1& 5 2& 5R ! "L -M!@ 2 %<@ X=E]S:&]R=%]F=6YC !5 0!$8 !7(!(8 !:0 $ -M,@ & !( 6H #AV7W-I9VYE9%]S:&]R=%]F=6YC !5 4!$8 !:0!(8 -M!=8 $ - & !( 7@ #AV7W5N<VEG;F5D7W-H;W)T7V9U;F, %4 -M!@$1@ %U@$A@ &" 0 I 8 $@ !@T .'9?:6YT7V9U;F, %4 -M!P$1@ &" $A@ &.@ 0 P 8 $@ !D$ .'9?<VEG;F5D7VEN=%]F -M=6YC !5 @!$8 !CH!(8 !FP $ ,@ & !( 9W #AV7W5N<VEG -M;F5D7VEN=%]F=6YC !5 D!$8 !FP!(8 !IX $ *@ & !( :E -M #AV7VQO;F=?9G5N8P 50 * 1& :> 2& ;0 ! #$ !@ 2 & -MV@ X=E]S:6=N961?;&]N9U]F=6YC !5 L!$8 !M !(8 !P( $ -M,P & !( <1 #AV7W5N<VEG;F5D7VQO;F=?9G5N8P 50 , 1& <" 2& -M <T ! "L !@ 2 '0 X=E]F;&]A=%]F=6YC !5 X!$8 !S0! -M(8 !W $ + & !( =P #AV7V1O=6)L95]F=6YC !5 \!$8 -M!W !(8 !ZP $ %0 5 !( >N (, !0$ ?J %0 % !( >: -M (, !0$ ?J $ % !( >J %4 !P 0 \ $ $@ !^H E0 -M *, * " ( $ @ @@ <@ "X -M 9 !, $@ "'L .&QI;FL +8 "8 )@ - !( @I #AN97AT "# -M 4! 'Z@ C 8$ < J T $@ "%, .&QI;FMF=6YC "# 4! -M '< C 8$ ! < D T $@ "'< .'-T=69F !R 'K@ C 8$ -M " < $ %0 5 !( BY (, !0$ ?J %0 % !( BE (, -M!0$ ?J $ % !( BU %4 !P 0 \ $ $@ "/4 E0 *, -M* " ( $ @ @@ <@ "X < -M !< $@ "8D .'1U7VQI;FL +8 "0 )@ - !( DW #AN97AT "# -M 4! 'Z@ C 8$ < J T $@ "6$ .&QI;FMF=6YC "# 4! -M (>P C 8$ < D T $@ "84 .'-T=69F !R (N0 C 8$ -M < $ .@ $ !( G' #A^,F9A:V4 +8 $ /, &P )B -M;'5E %G<F5E;@ <F5D 0 ^ 0 $@ "@D .&-O;&]R -M<P M@ 0 \P ? G!I;FL 7!U<G!L90 >65L;&]W -M 0 R 0 $@ "C\ .'XS9F%K90 M@ 0 \P 3 69O<F0 -M &-H979Y 0 Q 0 $@ "G0 .&-A<G, +8 $ /, % %P -M;W)S8VAE !B;7< ! #( ! 2 *J@ X?C1F86ME "V -M! #S !, !5%)510 1D%,4T4 ! !P %@ 2 *Q@ X8F]O -M;&5A;@ <@ "G0 Q 0 $@ "OL .&)V86QS "V ! #S !, ! -M=')U90 9F%L<V4 ! !T %@ 2 +& X8F]O;&5A;C( '( -M K& 1@ $ !( MB #AM:7-O<F1E<F5D "V ! #S ", #=&AR -M964 'IE<F\ 6]N90 "='=O 0 C 8 $@ "XD -M.&UA:6X %4 !P$1@ 'K $A@ )O 0 G < $@ "[ .'-P;W)T -M<V-A<@ <@ "C\ (P % X + E < $@ "]4 .&-L=6YK97( '( -M H) ", !0. "MH * ' !( O] #AN;VYP<FEM87)Y !R )QP C -M 4#@ J? "4 !P 2 ,(@ X<')I;6%R>0 <@ "8D (P % X *HP -M D < $@ #$8 .'5?;&EN:P <@ "/4 (P % X *W G < $@ -M#&T .'-?;&EN:P @P % 0 !^H (P % X *P0 F < $@ #), .'9? -M=6YI;VXR !R #BP C 4#@ L" "4 !P 2 ,N X=E]U;FEO;@ -M<@ FP (P % X +! G < $@ #-\ .'9?<W1R=6-T,@ <@ 4X -M(P % X *R@ G < $@ #08 .'9?<W1R=6-T,0 <@ "X (P % X -M*Q O < $@ #34 .'9?9&]U8FQE7W!O:6YT97( &, P$ #P C 4# -M@ K# "X !P 2 -8P X=E]F;&]A=%]P;VEN=&5R !C ,! X (P % -M X *T0 V < $@ #9D .'9?=6YS:6=N961?;&]N9U]P;VEN=&5R !C -M ,! P (P % X *H T < $@ #<T .'9?<VEG;F5D7VQO;F=?<&]I -M;G1E<@ 8P # 0 + ", !0. "M( +0 ' !( WZ #AV7VQO;F=?<&]I -M;G1E<@ 8P # 0 * ", !0. "K< -0 ' !( XO #AV7W5N<VEG;F5D -M7VEN=%]P;VEN=&5R !C ,! D (P % X *L0 S < $@ #F( .'9? -M<VEG;F5D7VEN=%]P;VEN=&5R !C ,! @ (P % X *P L < $@ -M#HX .'9?:6YT7W!O:6YT97( &, P$ !P C 4#@ JN #< !P 2 . -MQ0 X=E]U;G-I9VYE9%]S:&]R=%]P;VEN=&5R !C ,! 8 (P % X *F@ -M U < $@ #OH .'9?<VEG;F5D7W-H;W)T7W!O:6YT97( &, P$ !0 C -M 4#@ K" "X !P 2 /* X=E]S:&]R=%]P;VEN=&5R !C ,! 0 -M(P % X *U0 V < $@ #UX .'9?=6YS:6=N961?8VAA<E]P;VEN=&5R -M !C ,! , (P % X *O0 T < $@ #Y( .'9?<VEG;F5D7V-H87)? -M<&]I;G1E<@ 8P # 0 " ", !0. "M8 +0 ' !( ^_ #AV7V-H87)? -M<&]I;G1E<@ 8P # 0 ! ", !0. "KP ) ! !( _C )4 "C ! -M @ 0@ 50 / + ' !( ! / #AV7V1O=6)L95]A<G)A>0 -M<@ #[\ (P % X *I D $ $@ $#, E0 *, $ " ! -M" !5 X K < $@ $%X .'9?9FQO871?87)R87D '( ! / ", !0. -M "M, ) ! !( !"" )4 "C ! @ 0@ 50 , ,P ' -M !( !"U #AV7W5N<VEG;F5D7VQO;F=?87)R87D '( !!> ", !0. "K, -M ) ! !( !#9 )4 "C ! @ 0@ 50 + ,0 ' !( -M !$* #AV7W-I9VYE9%]L;VYG7V%R<F%Y !R 0M0 C 4#@ JK "0 -M 0 2 1+@"5 HP 0 ( $( %4 "@ "H !P 2 16 X -M=E]L;VYG7V%R<F%Y !R 1"@ C 4#@ K7 "0 0 2 1? "5 -MHP 0 ( $( %4 "0 #( !P 2 1K@ X=E]U;G-I9VYE9%]I -M;G1?87)R87D '( !%8 ", !0. "J\ ) ! !( !'2 )4 "C ! -M @ 0@ 50 ( , ' !( !(" #AV7W-I9VYE9%]I;G1?87)R -M87D '( !&N ", !0. "KX ) ! !( !(F )4 "C ! @ -M 0@ 50 ' *0 ' !( !)/ #AV7VEN=%]A<G)A>0 <@ $@( (P % -M X *H0 D $ $@ $G, E0 *, $ " !" !5 8 T -M < $@ $J< .'9?=6YS:6=N961?<VAO<G1?87)R87D '( !)/ ", !0. -M "KL ) ! !( !++ )4 "C ! @ 0@ 50 % ,@ ' -M !( !+] #AV7W-I9VYE9%]S:&]R=%]A<G)A>0 <@ $J< (P % X *K0 -M D $ $@ $R$ E0 *, $ " !" !5 0 K < $@ -M$TP .'9?<VAO<G1?87)R87D '( !+] ", !0. "KH ) ! !( !-P -M )4 "C ! @ 0@ 50 # ,P ' !( !.C #AV7W5N<VEG -M;F5D7V-H87)?87)R87D '( !-, ", !0. "I@ ) ! !( !/' )4 -M "C ! @ 0@ 50 " ,0 ' !( !/X #AV7W-I9VYE9%]C -M:&%R7V%R<F%Y !R 3HP C 4#@ JH "0 0 2 4' "5 HP 0 -M ( $( %4 0 "H !P 2 41@ X=E]C:&%R7V%R<F%Y !R -M 3^ C 4#@ K0 "0 !P 2 4:@ X=E]D;W5B;&4 %4 #P C 4# -M@ J< ", !P 2 4C0 X=E]F;&]A= 50 . ", !0. "JH *P ' -M !( !2X #AV7W5N<VEG;F5D7VQO;F< %4 # C 4#@ JY "D !P 2 -M 4X0 X=E]S:6=N961?;&]N9P 50 + ", !0. "ID (@ ' !( !4# -M #AV7VQO;F< %4 "@ C 4#@ JU "H !P 2 5+0 X=E]U;G-I9VYE -M9%]I;G0 %4 "0 C 4#@ J7 "@ !P 2 550 X=E]S:6=N961?:6YT -M !5 @ (P % X *E@ A < $@ %78 .'9?:6YT !5 < (P % X -M*G@ L < $@ %:( .'9?=6YS:6=N961?<VAO<G0 %4 !@ C 4#@ J -M; "H !P 2 5S X=E]S:6=N961?<VAO<G0 %4 !0 C 4#@ JR -M ", !P 2 5[P X=E]S:&]R= 50 $ ", !0. "K8 *P ' !( !8: -M #AV7W5N<VEG;F5D7V-H87( %4 P C 4#@ JI "D !P 2 60P X -M=E]S:6=N961?8VAA<@ 50 " ", !0. "K@ (@ ' !( !9E #AV7V-H -M87( %4 0 C 4#@ K9 0 ' "DH !-P !Y__\ -M >O__ ,@ 'O__P &0 !]__\ "6 ?O__ R '__ -M_P /H "!__\ $L @O__ !7@ (/__P 9 "%__\ '" -M AO__ !] (?__P B8 ")__\ )8 BO__ "E ++_ -M_P M "U__\ +F MO__ "[ +?__P O0 "Y__\ +\ -M NO__ #! +O__P PP "]__\ ,4 OO__ #'@ +__ -M_P R@ #!__\ ,R PO__ #/ ,/__P T8 #%__\ -0 -M QO__ #6@ ,G__P VX #*__\ -X R___ #@@ ,W_ -M_P XP #.__\ .6 S___ #H -'__P ZH #2__\ .T -M T___ #O@ -7__P \@ #6__\ /2 U___ #W -G_ -M_P ^8 #:__\ /P W/__ $! -W__P ! X #>__\ 08 -M X/__ $(@ .'__P !"P #B__\ 0V Y/__ $0 .7_ -M_P !$H #F__\ 14 Z/__ $7@ .G__P !&@ #J__\ 1R -M [/__ $? .W__P !(8 #O__\ 20 \/__ $F@ /'_ -M_P !*0 #R__\ 2N ]/__ $N /;__P !,( #W__\ 3, -M /__ $X -M $ ! H -0 #4 $P 0 -M ) !0 * #H Z ;P # 0 $ -M#P L "@ "I J0 # ! $ $ $ !< # -M H V0 -D >P 0 ? ! * -M /@ #X # # !P 0 , *0 $ &@ $$ -M!! $ $ "\ ! !H !!0 04 -M9 ! !0 T 0 : 1X $> !40 -M 0 .@ $ &@ )O ";P $ -M $ $ ! X *< G " ! -M !& 0 . "G( )R !P 0 $ -M2P 8 #@ IY ">0 !P ! $ " %0 ( -M X *E@ I8 !P " !9 @ -M *6 !P / ' 0 0 80 , -M$5@ 34 ! &D # !8L -M ! !P P 6+ ) -M $ >@ $ %KP #/ -M $ (, ! !>, 6< ! -J "* 0 M_ I0 0 - -end diff --git a/gdb/testsuite/gdb.base/mips-ecoff.u b/gdb/testsuite/gdb.base/mips-ecoff.u deleted file mode 100644 index 69f656a..0000000 --- a/gdb/testsuite/gdb.base/mips-ecoff.u +++ /dev/null @@ -1,671 +0,0 @@ -begin 777 mips-ecoff -M 6 "2G<_%0 # 8 X <!"P(* @ $ )= $ !P ! 0 -M $ 0 //___X -T $ "*@"YT97AT $ !P ! -M < !E0 !P " N:6YI= ! &Q 0!L0 -M( &Q " +F1A=&$ 0 $ "I " -M 0"YL:70X $ *D! "I 0 JD -M @ N;&ET- ! "J 0 J@ $ *J -M 0 +G-D871A 0 JP$ *L & "JP , " -M "YS8G-S $ +$! "Q % # ! N8G-S -M ! #% 0 Q0 ":\ " <G-R8P -M " (^D -M \'! !)Z4 !"><BH DI@ $ 00@*^%@90 PC A)[W_Z*^&@#"OH 4 #P -M(0P0!L>OA(&0#! !9 ,$ %H @(8^$@9"/A8&4CX: , P0 .L -M#! !I ! ("$ - ^ " GO0 ( ^ " @^"$#X ( -M /@ @ ! A ^ " #X ( /@ @ ! A ^ " -M #X ( /@ @ ! A ^ " #X ( /@ @ ! A ^ -M" #X ( /@ @ ! A ^ " #X ( /@ @ ! A -M ^ " #X ( /@ @ ! A ^ " #X ( /@ @ -M ! A ^ " #X ( /@ @ ! A ^ " #X ( /@ -M @ ! A ^ " #X ( /@ @ ! A ^ " #X ( -M /@ @ ! A ^ " #X ( $2 #X ( /@ @ -M ^ " !$@ 1( ( /@ @ ^ " #X ( *. @) D -M#@ !HXZ D20/ *CCX"2)!@ Z>8@)0D&0 $IYF EB0( 6GB("8) D !J^) -M@)PD"@ 'KXJ H"0+ BOBX"D) P ":^,@*@D#0 *KXV K"0. NOCH"PQX2 -M( #GA("TQX> $,>&@!3GAX"XYX: O)./@) HX^ P).8@)$ -MHYB PI.9@)( HYF Q(>(@)0 IXB R(>)@)8 IXF S)>*@)@ -M IXJ T(^+@)P KXN V(^,@* KXR X(^-@*0 KXV Z(^. -M@*@ KXZ \(^/@*P KX^ ^(^8@+ KYB! ,>(@+0 YXB! -M",>+@+C'BH"\/ $0 .0K8_#D*F/T)YF D*^9@1 GB("1KXB!%">)@)*OB8$8 -M)XJ E*^*@1PGBX"6KXN!(">,@)BOC($D)XV G*^-@2@GCH"@KXZ!+">/@*2O -MCX$P)YB J*^8@30GF8"LKYF!.">(@+"OB($\)XF M*^)@4 GBH"XKXJ!1"0+ -M *OBX%<) P J^,@6 D#0 !KXV!:"0. &OCH%DCX^!6#P!$ "L+V,PAYB! -M2 "GF(%0 ^ " $"$#X ( #X ( -M)[W]4 " &"$D#O__K[\ '!1@ !&OK@ D/ 00 P0 ;0DA ($$$ !0! &"&0 -M3P !7@ @ DYB 0 3 # ! ", ! A)X. 1#P% -M$ "C@(! )*4"$">D C ,$ 'TKZ,"L(^C K GI (^#! !] !@*"$GI (P#! " -M( *"$$0 1 $ @(2>E "PD!@("#! "**^D "@D 0("%$$ "(^D "@\!! -M)(0 ">E "P,$ (P) 8" J^@ "2/I H#! "] "/H@ D (^_ !PG -MO0*P ^ " )[W_X*^_ !P,$ ,.KZ0 ( P0 R@ CZ0 ( P0 -M!4P C[\ '">] " #X ( ">]_^"/@H PK[$ -M&*^P !0 @(@AK[\ '!1 , 0( A$ %0 $"&/CH P (W/ -M$> #P $"&.!0 (@("$,$ '7)A !!! , 0!@A$ !@!@$"&. -M!0 !2@__<"(" A 0(8^_ !R/L 4C[$ & /@ @GO0 @D*( )"# -M DI0 !$$, !"0& #T0 ,) 8 /20& #T 8! A%$8 R2$ $#X ( * 0 -M(9"B "0@P )*4 1!#__@ 8! A%& " $"&0KO__ !3. 0 ! A -M ^ " "@$"$ ! A ^ " @! A@*@ #2- ,1 D :1P(H"I $ -MKG@@$2 'P " J@ " !% !J(K @*L YBL ,18 4J(P "&D -M__V!Z !(>\ !!$ !,@A $@>G__@ 1( . ('J__\ $4 -M"8GL__V!ZP F>P !5@__&LC ^ " #X (N(P Z"* *@B0 ! -M ^ "*"( "0" ^T ,$. P ($ 50 /@ @ -M ) (#ZP P0X # @0!5 ^ " 0P : ( X(1"D -M !@ A0@J%" ""C! ! IA @ (((*A @ 0HP0 0$ 6RC! ! HP0 0%" -M!0 PH@ #,(, Q!# L $, !P IA@A@*( "2E $DA ! -M%*/__*""__\#X ( . 0(1! !@D 0 !$$$ #R0! (000 ' ("B D -MI0 !)(0 23&__\0 .H(+__X2B DI0 ")(0 B3&__X0 (I(+__H"B -M "$HP !H(( "2E ,DA #),;__:2#__XHP0 @%" %BC! !",H@ C*, -M!(RH B,J0 ,C*H $(RK !2,K 8C*T '*R" "L@P $K(@ "*R) RLB@ 0 -MK(L %*R, !@DI0 @)(0 ("3&_^ 0 /_JK(W__"C! ! 4( .*,$ !(RB ", -MHP $C*@ "(RI RL@@ K(, !*R( @DI0 0)(0 $"3&__ 0 /_RK(G__"C! -M 04(/^U (RB DI0 $)(0 !"3&__P0 /_XK(+__"C! ! IB@@%" -M!0"&(" PH@ #,(, Q!# T $,#_K0 DI?__)(3__P"F&". H@ -M)*7__R2$__\4H__\H(( 0/@ @ X! A$$ &"0! ,000 /) $ A!! < -M @*+__R2E__\DA/__),;__Q Z@@@ A*+__B2E__XDA/_^),;__A -M BD@@ @*+__X2C__V@@O__)*7__22$__TDQO_]I(, "C! " 4( 6*,$ -M$(RB__R,H__XC*C_](RI__",JO_LC*O_Z(RL_^2,K?_@K(+__*R#__BLB/_T -MK(G_\*R*_^RLB__HK(S_Y"2E_^ DA/_@),;_X! _^JLC0 *,$ $!0@ XH -MP0 $C*+__(RC__B,J/_TC*G_\*R"__RL@__XK(C_]"2E__ DA/_P),;_\! -M__*LB0 *,$ !!0@_[, C*+__"2E__PDA/_\),;__! __BL@@ -M ) (#[@ P0X # @0!5 ^ " $"$0@ / -M) ( 8^#@& *&$ (! @ HD @ ! -P@#P!$ +@@A)&, :PD B"O -M@X!@ ^ " $"$D @ ! ^ " "/@X!@)[W_X*^_ !ROL0 8K[ %!A@ -M \D8O__/ \0 "7O B G" /!$0 "8Q B !SX ACA@ # /@) -M "80__P"$0@K$"#_^0 "/OP <C[ %(^Q !@#X ()[T ((^.@' GO?_@ -M/ \0 *^P !@E[P0U/! 0 '/""NOOP <%" $280!#0\&! CQ@+ 3 -M % P0 W8" " A$ P ,$ -& @ @(8^9@' F$ 0 AD(*Q0@ -M__$ C[\ '(^P !@#X ()[T (">]_]BOL 8 (" (:^_ !P6 #) /_ -M_Q "4D O__D@( # P3@"#$< %#!8 @P3P &) $ A7A 8 !@A -M#! #=@( ("$0 " $ 8(0 &"&2! -#! "]*^C "2/HP D!$$ @ D -M ___D@( # P6 ($P !@ ".! (#! &&J^C "2/HP DK@ "(X9 -M BB ,K@ !@$"&N&0 $C[\ '(^P !@#X ()[T *">]_^"OL 8 (" -M(18 !.OOP <CXZ <#P/$ E[P0U/! 0 '/""L4( *)A $-!( , -M#! #=@( ("&/F(!P)A $ (8""L4(/_X ! #@ ! AD@, # P -M8@ "%$ ##!H 2.!0 D@0 #20& $,$ 9P 4H(XX9 BN 0(1 -M "FN&0 $,&@ !!4 " P;0 @$$ 'C!M "". @ ( !! !HP;0 @C@D -M! 20@K$" %3!M " ,$ 14 @ @(9(# P ,&H !!5 XP;0 @ -M,&L A%@ LP;0 @C@( " 00 ',&T ((X, 0 $P(*Q0@_^X -M ,&T (!&@ 0 !@A$ B0#__\ !@A & 0(8^_ !R/L 8 ^ "">] -M " GO?^PK[ '*^_ "ROLP H *" (:^R "2OL0 @KZ0 4)(# PD$0!")!( -M!B03 (P;@!2%BX )3!L !:2#P -/!D0 /P( #.,@ACSD"H(X" 0 -M %D(*Q @ $\ CZ@ 4"0! J@2 C@D ! E*@ !K@H !).K %, -M $6$ ! "/H@!0$ 8(^_ "P,$ 14 @ @(20!__\400 $CZ, 4! -M ,D ___CZ, 4 0 !4 & 0(3!L !863 4,'@ $H^M % GI0!,HZT -M3)($ VN #! &>"0& $D 0 !%$$ ! "/H@!0$ 18^_ "R2#@ , -M) +__S7/ " 0 _H@\ ##!X !(6> 0 (X" @ $$ # ". -M&0 $ !19 P C@@ 5 ( #!I $05( & 8(0P0 -M!)H" " A$ @! &"$ !@A$& P 0 D) +__Y(# P ,&H -M1!5 _Z<P;@!2#! $5 ( ("&. @ "1"__\$00 &K@( ).D %,,$ /( -M @ H(1 J2#P ,CZL 4(X, 0 H8L (X- 0 ):X :X. 22 -M#P , #'X " 3 $CZ, 4! ,D ___CZ, 4 8! AC[\ +(^P -M !R/L0 @C[( )(^S "@#X ()[T 4">]_^"OOP 4 ( X(8SC B0[P ,C.X -M! !@*"$Q^ !$K.4 !!, @!Q3 CD/D #3P)$ E*0*@ !E @ $)("$0 * -MK. )#J T\#! )8P"H *6( !;" AC(T !HQ CK.( (SB -M !$$ ! ! &"$0 " 8(0! &"&,C@ C.\ ! !S\ C P,(*A @ -M H KZ4 '*^F !@ X" A#! %-J^G ""/I0 <CZ8 &(^G " &, -M#P $"&0Y -KZ< ( P0!GBOI@ 8CZ8 &(^G " 0P@ ' 0(9#Y PD O__ -M-R@ (! *@Z , 0(8^_ !0GO0 @ ^ " GO?_HK[\ %)"" PD -M 0 ",$X $A'! P ,$\ @A7@ 8D ?_O#! &@R0$ D0 R) +__R0! -M_^\ 0< D-QD J"9 R,@P ( !1@ < #! $W:^D !B/I 8 -M (R# @ C(@ ! 4: @ 0(9") P ,2H 1!5 !L ! A -MD(L #3P-$ EK0*@ M@@ &-*"&,K@ '#>".LCP C(( $ -M00 $ $ 8(1 ( !@A $ 8(8RX ",F0 $ ,90",! P@J$" ! -M$"$,$ 4V $"&/OP 4)[T & /@ @ )[W_X*^_ !0 @"@AD*X -M#)"C TQSP $$> # !@,"$\&1 )SE@" &P, #&1 A -(@#P!$ *0@A -MK*( ""1( @0 TK"@"H"C! (0( 3 !3 8 / ,0 "1C$ "L -MHP ($ !0!@$"$\ Q )&- *RC @ 8! AD*L #3P!$ "V" "P((21* -M( 0 ?K"H"H*^E " D!" (#! %5*^F !R/I0 @CZ8 '!! RLH@ (D*T -M#)"Y V,KP (/ $0 #6N @ &4" H*X # H""$E^" $ #*PX J \"Q -MD*P #25K8 @ !DC 2L0(3P!$ #&B "T((:RB @D2@ (K"H"H(RN @ -MP" AK*X ! P0!HBOI0 @CZ4 (!! F/OP 4D*( # P3P $%> !(^_ -M !0T60! H+D #(^_ !0GO0 @ ^ " "0C@ -/ ,0 .>( ;Q@AC&," -MH(R8 0 '@0(P1! , ^ "*R# 2,F0 !9""H0( " -M *R" #X ( ) (#Z0 P#X ( #P!$ "L -M(@P8 ^ ""0"__\GO?^HK[8 +*^R !ROOP TK[< ,*^U "B/CH%PK[0 )*^S -M ""OL0 8 ("0(:^P !01P $ "P(8^%@800 +)Y6!<">"@70GE8%PKX*! -M?#1/ &OCX%P-K@ 0*@."&OF(%T $ H(:^'@7B/AX%X)!?__R04__X X(@A -M P(8XC & 0(3!9 $7( = B" (0!@@"&. @ )D0 !P $(((P -M2 !%0 #@ $(( "(#@AKX>!>!2P *N(@ B H(8XC &" (8X" -M ,$D 1$@__8 B00(0("""L4( # %$(*Q @ &H & 0 -M(0(@@"$ 5(@D A$(*Q0@_]L CXJ!? 2"@ # ! 2OA8&$ -M$C4 !23& &OA8&$$ :P $"$DQ@ !+,$ A0@_\P )D, !P #&(*O -MHP X *"((0 ("$,$ :@KX6!A(^+@7R/HP X)6P !!!, P 0( A)&8'_P & -M,L(P1 #$( $ &,T D#0 $ :08(P!@L"$ 0X A$ "@#6,"&/A8&$CXZ! -M? !Q7@C _ @P!X,",DQ@@ 8RP@ &,T "!L@A S (*Q @ 0\ 7__ -M$ 00 $"$\ 7__-"'@ 0#!""L4( - ,"8(3P$?_\TA. #! &H*^F $B/ -MI@!(%%< !#P!@ 0 S 0(3P!@ T(2 ,$P(0P0!J P" A%%< !0 -M ,$ :L @ @(1 "@ ! ACXB!? (32"$!-E C)4O__*T0 "N"P CXR! -M? ( *"$EC0 $$@T !3:B &-C@ #7/ &MCP CA@ "OF(%\ -MCYF!?! _W>O(@ $ X(0#P""L0( &-.D 8SH KXB!@*SC T -MZ0 !$+$ !*XI "OAX%X$ !*^%@80 X"@AKX6!A*^'@7@F(@ $C[\ -(^P -M !2/L0 8C[( '(^S ""/M DC[4 *(^V "R/MP P ^ "">] %@0@ - ( 0 -M(22"__RO@H%XC$X "0!__X!P7@DK$\ (Q9 "/F(%\ !<9 ( -MKX*!A /@ @ )[W_R*^P !@ @( A$@ .*^_ !R. O_\ #!. $1 -MP ( % 8(P( ("$,$ 8:KZ4 /(^E #R. O_\ !0&", QB#KZ, ) "@ -M("$,$ 54KZ4 /(^C "2/I0 \$$ !0! ("$04 # !2@ 0DIP #$ -M(0" $"$DIP # <X@@#C""L0( " #@&"&OI T @ H(0 #,( ,$ (P -MKZ< ((^D #2/IP @ % (*Q @ ! =X@ !/&"$ < @K%" "P -M<,@C !E @X^8@8 "$B $E0(1 2M6 #! %5 "@("$ 0" A ( 0(8^_ -M !R/L 8 ^ "">] #@ "0" _L ,$. P ($ 50 -M /@ @ ) (#[ P0X # @0!5 ^ " "/@H&8 -M ^ " "OA(&8 ^ " " $"$ ">]_["OOP <#! &@*^D %"/ -MI !0KZ( )"0%5 @,$ :\)Z8 * 1! <D @ !CZ0 ) P0!H, $ @ -M$"$D @ !C[\ '">] % #X ( #P#$ ",8PJ$) (# -M^0"#("$ ,%. !#P!$ 8! A ^ "*PD"H0($ 50 #P"$ ",0@J -M """"L0( " ! ("$D @/Y #!3@__0\ 1 K"0*A /@ @ -M ! A D @0> #!#@ , "! %4 #X ( -M #X ( -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M (" @(" @(" @*"@H*"@@(" @(" @(" @(" @(" @("!($! 0$! 0$! 0 -M$! 0$! 0A(2$A(2$A(2$A! 0$! 0$!"!@8&!@8$! 0$! 0$! 0$! 0$! 0$! -M 0$! 1 0$! 0$(*"@H*"@@(" @(" @(" @(" @(" @(" @("$! 0$" -M -M -M 0(#! 4&!P@) -M"@L,#0X/$!$2$Q05%A<8&1H;'!T>'R A(B,D)28G*"DJ*RPM+B\P,3(S-#4V -M-S@Y.CL\/3X_0&%B8V1E9F=H:6IK;&UN;W!Q<G-T=79W>'EZ6UQ=7E]@04)# -M1$5&1TA)2DM,34Y/4%%24U155E=865I[?'U^?P -M -M -M !#2%)#3$%34P O;&EB+V-H<F-L -M87-S+P -M -M -M ! 8" -M -M -M -M -M -M -M -M -M $ " 0 ! 8!@0 & 8!@( -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M 0 *= $ "G0 -M 0&D $+( -M 0 &%S8VEI -M $ *= -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M < D""@ !D + P8 - ,R $Y ]L -M "$P 3%P A, !4J !B0 %ST '@ 8Q@ !< !K -MB (< &SX,/ @X# 00-! T$ 0(*"! !9 \# 0$!%@P% A(! 0(04%!04% -M!04%!04%!08',!$1(1$1(1$1(1$1(A,R$A(B$A(B$A(B$A(B%"$1$2$1$2$1 -M$2$1$2$1(1$1$2(B$P$!,-" BP6(, "1$0,/ 4$A0F5! B)0& Z __*! -M \2$P4PX#$7%!$8 !<2$1@!$1)08! 0$! 0$! 0$! 0$! 0$! P$! 0$! 0 -M$! 0$! 0$! 0$! P$" 0$! $!$1$0 0$1$10/ A,A 2$8( "A 0$7$0(! @ -M$.! \($ "A(2,! @$!#0<! @$!#0<! @\# 0X(( #! 0$! 0$! 0(! 0$! 0 -M$)" D0$-!R$! 0$" 0$-!0$!#0<A 0(! 0T( $,! T$ 0$7$0$! @$" 0 -MX$#P@0 *$A(P$" 0$-!P$" 0$-!P$"#P,!#@@@ ,$! 0$! 0$! @$! 0$! 0 -MD( "1 0T'(0$! 0(! 0T% 0$-!R$! @$!#0 ! 1$2$6%!(B!"<7%##0,- R -MT#&$ H3,103 T#0010C$R 5$"$2$Q! X! @\!,",-!V$R8T)"#P(?!(!!@( -M !@!" )2& H 1(8 3(0(. @\!02$!#P$/!H" 81%#$8""@' D @X2#P$. H -M!A@(!!@ $!#P$/ T 102$1$C(Q48&!@&) ) T#'02!#P,B@(-R 2\!#P$1#P -M. $@$/ 8 !$3. 1%! 1 !)A</ %<)1PT#0PX1 @X# 10A 5&$#P$!<6(! 0 -M$B@A$Q% \!(0\!'P<1'P(A PX" W(Q%#\"81(B,1$4!"P$ 0D'(3$A @X$ B -M$A @(. E& ) T'$S%3$"@ )@/_WA +%1$5(. C$200%A<4$/ R% 0$1$1 -M ! 1$1%"0"$!0,!0\!0B$20A(/ @$2#P$2$3$" 0$1$1 ! 1$1$ -M @ /____\ !@ '0 . &< -M : 0 : #_____ !T 'P (( -M "$ &@ ' & ' _____P = -M !\ "/ DP !L !\ " !\ /____\ -M '0 ? G@ * > "$ #_____ -M !T 'P 'D !Y !@ E !@ -M _____P = !\ !Z >@ $ P *0 -M P /____\ '0 ? >P 'L " -M2 "T 2 #_____ !T 'P 'T !] -M P & Q & _____P = !\ -M !^ ?@ 0 !X -0 !X /____\ -M '0 ? ?P '\ % D #D D #_____ -M !T 'P ($ "! !@ *@ ] *@ -M_____P = !\ "" @@ < # 00 # -M /____\ '0 ? @P (, ( V -M $4 V #_____ !T 'P (4 "% -M"0 / !) / _____P = !\ "& -M A@ H $( 30 $( /____\ -M'0 ? AP (< + !( %$ !( #_____ -M !T 'P (D ") # 3P !5 3P ____ -M_P = !\ "* B@ T %< A0 %< -M /____\ '0 ? L@ /< . $ -M #_____ !T 'P ( " -M " ( #___UL_____P "L = !\ !? -M@P 0 " _____/____\ " '0 ? -M '0 "X $ @ , /____S_____ -M @ !T 'P !X F (P # (P _____P -M = !\ S .0 D 0 -M /____\ '0 ? 8@ )H $ -M #_____ !T 'P X 2 -M ! _____P = !\ . $@ -M 0 /____\ '0 ? -M* 2X $ #_____ -M !T 'P X 3 # _____P -M = !\ 7 ' !( !0 !* P _____/__ -M__\ " '0 ? (0 "4 $ $ @ $ -M /____S_____ @ !T 'P "H ] '@ # -M 'H ! #____T_____P * = !\ !. 90 X -M $X !0 $Z 0 _____/____\ " '0 ? <@ -M (D B "@ < "@@ \ /___]S_____ !0 !T -M'P )H "Z -0 !+ ) !+( #____T_____P -M ( = !\ #2 W@ %8 7( "P 7* _____/____\ -M !@ '0 ? Z@ /@ !K &U T &U@ /__ -M__3_____ @ !T 'P 0, $; > "#@ / " -M#@ _____P = !\ $I !, )4 -M 0 /____\ '0 ? #@ \ -M $ #_____ !T 'P -M !$ > & (#_ #____<_____P -M6 = !\ !D Q0 ,8 " ,< /____\ -M '0 ? S -L !. #6 H #7@ $ /___^3_ -M____ X !T 'P .8 $! 5 ! -M _____P = !\ . $@ -M 0 /____\ '0 ? #@ !( -M $ #_____ !T 'P !\ -M C P # P _____P = -M !\ J , $ 0 " ____S/____\ -M % '0 ? '@ "@ $ #_____ -M !T 'P !< ? # $ "P -M _____P = !\ E +P @ 0 -M /____\ '0 ? #@ !( -M 0 L( + # (K___ %0! < 8( " %0 &@@( " -M '0! B@8( & '0 @@( $ *0! C 8( * *0 P@ -M( & ,0! CP8( . ,0 @@( ( 0 @( 0 -M L( " 0 @( 0 L( " 0 @( -M 0 L( " 0 @( 0 L( "* 0@ !AI8 ) -M 2P E8 ( 60 ! E8 # : " E8 $ =0 $ E -M8 % @P & E8 & D@ ( E8 ' A8 ! H@ -M !AI8 1 IP E8 ( M0 ! E8 # Q " E8 $ -MT0 $ E8 % WP & E8 & [@ ( E8 ' A8 ) -M _@ AM8 9 !!@ E8 ( !% E8 # !(P E -M8 $ !, E8 % !/@ E8 & !30 E8 ' -M A8 1 !70 AM8 A !8@ E8 ( !< E8 # ! -M?P E8 $ !C E8 % !F@ E8 & !J0 E8 ' -M A8 9 !N0! E 8( "' <( D @@ -M( B !N0 !@@( A !Q0! F@8( ") <( H -M @@( F !Q0 !@@( E !V ! H 8( "+ <( L -M @@( J !V !@@( I ![0! I@8( "- <( P -M @@( N ![0 !@@( M !^@! K 8( "/ < -M( T @@( R !^@ !@@( Q "#@! L@8( "1 -M <( X @@( V "#@ !@@( U ") ! N 8( "3 -M <( \ @@( Z ") !@@( Y "+P! O@8( "5 -M <( ! @@( ^ "+P !@@( ] "00! Q 8 -M( "7 <( !$ @@( !" "00 !@@( !! "50! -M R@8( "9 <( !( @@( !& "50 !@@( !% " -M80! T 8( "; <( !, @@( !* "80 !@@( !) -M "= ! U@8( "= <( !0 @@( !. "= !@@ -M( !- "B0! W 8( "? <( !4 P@( !2 "B0 -M !P@( !1 "E@! XP8( "A <( !8 ! @( !6 " -ME@ " @( !5 "I )AI8 !> "J0 E8 "F "K@ " E8 "I -M "MP $ E8 "L A8 !9 "O0 )!M8 !C "Q0 E -M8 #$ "R@ E8 #' "TP E8 #* A8 !> "V0 -M 1Q8 !H "W@ E8 #B "X@ $E8 #C "Z (E8 #D -M A8 !C "[0 1Q8 !M "] E8 #K "^P $E8 #L -M # @ (E8 #M A8 !H #!P 1Q8 !Q ## E -M8 #T #$@ $E8 #U A8 !M #%P 1Q8 !U #' -M E8 #\ #( $E8 #] A8 !Q #* 1Q8 !Y # -M+0 E8 $$ #,P $E8 $% A8 !U #. I8 $& -M #0 1Q8 !^ #1@ E8 $, #3 $E8 $- A -M8 !Z #40 I8 $. #6@ 1Q8 "% #90 (E8 $4 #:0 -M $E8 $5 #;0 E8 $6 #<@ ,E8 $7 A8 !_ # -M> ! ZP8( $8 <( "( = @( "& #> > @( "% -M 0 @( 0 L( $ % ! !9 8( - % @@ -M( ! 0 @( 0 L( % "1 "L )K___ % ! -M!: 8( - % .P@( " 0 @( 0 L( $ -M#@! !I 8( - #@ #0@( ! 0 @( 0 L( & -M "@! !M 8( - "@ (P@( ! $0! !UPX( / $0 '0@ -M( # 0 @( 0 L( ) #@! !] 8( " %0! -M"!@4+___ (@! "& 4+___ *0! "&@4+___ , ! "&P4+___ -M-P! "' 4+___ #@ *@@( ! 0 @( 0 L( % -M #0! "( 8( " $P! ")@4+___ #0 " @( ! 0 @ -M( 0 L( " 0 @( 0 L( " 0 -M @( 0 L( % #0! "* 8( " $P! "+@4+___ -M#0 " @( ! 0 @( 0 L( 9 #0! ", 8( " -M % ! "/ 4+___ 'P! "0P4+___ ,0! "1@4+___ /P! "2P4 -M+___ 0P! "304+___ 40! "604+___ 7 ! "7P4+___ 9P! -M"9@4+___ < ! "9@4+___ ? ! "?04+___ B ! "C 4+___ -MDP! "E04+___ GP! "G04+___ L@! "H@4+___ P ! "J04+___ -M S@! "M04+___ V0! "NP4+___ Y ! "P@4+___ [@! "P@4 -M+___ ^P! "V04+___ !" ! "Z 4+___ #0 P0@( ! 0 -M @( 0 L( % #@! "] 8( " %0! "^@4+___ -M#@ " @( ! 0 @( 0 L( ( "A "N )K___ -M $Q B (3___ '@! "_ 8( - '@ $@@( # )0! ##@8 -M( / )0 &@@( % 0 @( 0 L( 2 "@! -M#* 8( - "@ '@@( ! $P! #1@8( / $P , @( # -M&@! #=@8( 1 &@ 4@@( % (0! #R 8( 3 (0 C @( ' -M *0! $5 8( 5 *0 1@@( ) ,@! $F@8( 7 ,@ 0P@ -M( + .@! $W08( 9 .@ 60@( - 0P! %-@8( ; 0P -M % @( / 0 @( 0 L( $ # ! %3 8( " -M# ! @( ! 0 @( 0 L( $ #@! %4 8( " -M #@ ! @( ! 0 @( 0 L( " 0 @ -M( 0 L( " 0 @( 0 L( - "A -M"_ )S___ $1 "_@)S___ &! "_P)S___ 'Q # )S___ -M)A # 0)S___ +P! %5 8( - +P Q@@( & -@! &&@8( / -M -@ $ @( ( .P! &*@8( 1 .P 1 @( * 0 @ -M( 0 L( % #@! &< 8( " %0! &=@4+___ #@ -M " @( ! 0 @( 0 L( % #@! &> 8( " -M%0! &?@4+___ #@ " @( ! 0 @( 0 L( & -M # ! &@ 8( - # P@( ! %0! &@P8( / %0 P@ -M( # 0 @( 0 L( $ "P! &B 8( - "P -M %0@( ! 0 @( 0 L( ( #0! &H 8( " -M#0 "@@( ! $P! &J@4+___ %P! &K 8( & ' ! &LP4+___ -M %P #@@( $ 0 @( 0 L( % #@! &O 8 -M( " %0! &P@4+___ #@ " @( ! 0 @( 0 -M L( " 0 @( _____P $ /____\ -M!@ #_____ @ _____P * & -M @ 0 & " H + P 4 ' "0 !H # -M # __ ! 0 @# # __ ! 0 -M @# # __ ! 0 @$ # __ ! -M 0 ! $ # __ ! 0 ! % # __ ! -M 0 ! & # __ ! 0 " & # __ ! -M 0 " ' # __ ! 0 " ( # __ ! -M 0 " ( # __ ! 0 " ) # __ -M! 0 " * # __ ! 0 " + # -M__ ! 0 $ # ! P 0 , $ $ ! ! 0 4 $ & -M ! !@ 0 < $ ( ! " 0 D $ * ! "P 0 P #__________PP -M #_\ ! P #__________PP #_\ ) T #_________ -M_PT #_\ 1 T #__________PT #_\ 9 "4# -M *0, M P #$$ -00 Y!0 #T& -M 008 !%!P $D( 30@ !1"0 -M %4* 60L , __________\, ! __ 60 , !(0__ -M60 , #,P__ 0 #_\ $ " P/_P 0 -M $ ) __ ! !( , ! __ 60 - -M __________\, ! __ 60 , !(0__ 60 , #,P__ 0 -M #_\ $ " P/_P 0 $ ) __ -M! !( - __ 7@ . __________\ -M . __ 8P . __________\ . -M __ : . __________\ X #_\ !M X -M #__________P #@ /_P '$ #@ /__________ -M . __ =0 . __________\ X #_\ !Z -M X #__________P ")!@ & -M @ 0 & " H + P 4 ' "0 !H -M #!@ & @ 0 & " H + P -M 4 ' "0 !H $!@ & @ 0 & -M" H + P 4 ' "0 !H #!@ & -M @ 0 & " H + P 4 ' "0 !H -M # P 0 4# ! _____P ( /____\ -M! #_____ 0 _____P 8 /____\ -M ! !@ ( $ !@ @ * "P , % -M !P D : !08 '&@ & @ 0 -M & " H + P 4 ' "0 !H #&@ -M 4& !P8 )!@ L& #08 / -M!@ !$& _____P # /____\ P -M !@ ( $ !@ @ * "P , % !P D -M : 8 " ! 8 ( "@ L # !0 -M < ) &@ & @ 0 & " H + -M P 4 ' "0 !H (&@ 0 H: #!H $ #_ -M____ 0 _____P $ & @ 0 -M & " H + P 4 ' "0 !H #!@ -M 4& 8 " ! 8 ( "@ L # -M!0 < ) &@ ,& _____P # /____\ -M !P #_____ 0 &-R=#%T97AT+G, 4U1!4E1& -M4DT 7U]S=&%R= !?;6]N8V]N=')O; !?;6-O=6YT %]S<')O8VUO;G-T87)T -M O8F%B82]C>7!R97-S+W5S<B]I;F-L=61E+W)E9V1E9BYH O8F%B82]C -M>7!R97-S+W5S<B]I;F-L=61E+V%S;2YH !C<G0Q=&EN:70N<P 9V1B;64N -M8P \+S1$96)U9R\^ '!U<&EL.B]C>6=I;G0O<&QA>2]F;F8O9V1B;64N8P W -M,#(S-#@S-CD -3,X-@!T7W-T<G5C= !V7V-H87)?;65M8F5R '9?<VAO<G1? -M;65M8F5R '9?:6YT7VUE;6)E<@!V7VQO;F=?;65M8F5R '9?9FQO871?;65M -M8F5R '9?9&]U8FQE7VUE;6)E<@ N1C$Q '9?8VAA<E]M96UB97( =E]S:&]R -M=%]M96UB97( =E]I;G1?;65M8F5R '9?;&]N9U]M96UB97( =E]F;&]A=%]M -M96UB97( =E]D;W5B;&5?;65M8F5R '1?=6YI;VX =E]C:&%R7VUE;6)E<@!V -M7W-H;W)T7VUE;6)E<@!V7VEN=%]M96UB97( =E]L;VYG7VUE;6)E<@!V7V9L -M;V%T7VUE;6)E<@!V7V1O=6)L95]M96UB97( +D8Q,P!V7V-H87)?;65M8F5R -M '9?<VAO<G1?;65M8F5R '9?:6YT7VUE;6)E<@!V7VQO;F=?;65M8F5R '9? -M9FQO871?;65M8F5R '9?9&]U8FQE7VUE;6)E<@!V7V-H87)?9G5N8P!V7W-I -M9VYE9%]C:&%R7V9U;F, =E]U;G-I9VYE9%]C:&%R7V9U;F, =E]S:&]R=%]F -M=6YC '9?<VEG;F5D7W-H;W)T7V9U;F, =E]U;G-I9VYE9%]S:&]R=%]F=6YC -M '9?:6YT7V9U;F, =E]S:6=N961?:6YT7V9U;F, =E]U;G-I9VYE9%]I;G1? -M9G5N8P!V7VQO;F=?9G5N8P!V7W-I9VYE9%]L;VYG7V9U;F, =E]U;G-I9VYE -M9%]L;VYG7V9U;F, =E]F;&]A=%]F=6YC '9?9&]U8FQE7V9U;F, ;&EN:P!N -M97AT &QI;FMF=6YC '-T=69F '1U7VQI;FL ;F5X= !L:6YK9G5N8P!S='5F -M9@ N1C(Y ')E9 !G<F5E;@!B;'5E &-O;&]R<P!Y96QL;W< <'5R<&QE '!I -M;FL +D8S,0!C:&5V>0!F;W)D &-A<G, 8FUW '!O<G-C:&4 +D8S,P!&04Q3 -M10!44E5% &)O;VQE86X 8G9A;', 9F%L<V4 =')U90!B;V]L96%N,@!M:7-O -M<F1E<F5D '1W;P!O;F4 >F5R;P!T:')E90!M86EN !G96XO<W1U8F9P97-T -M87)T+F, 7U]R96%D96YV7W-I9V9P90 8W1Y<&4N8P!F:7)S=%]C86QL %]S -M971C:')C;&%S<P 9V5N+V-U97AI="YC &5X:70 &=E=&5N=BYC &=E=&5N -M=@!N=FUA=&-H !G96XO<W1R8W!Y+G, <W1R8W!Y #$D,# P,# P,# P, D -M9&]C:#, )&1O8V@R "1D;V-H,0 D9&]C:# '-Y<R]?;W!E;BYS %]O<&5N -M #DD,# P,# P,# P, +V)A8F$O8WEP<F5S<R]U<W(O:6YC;'5D92]S>7,N -M<P +V)A8F$O8WEP<F5S<R]U<W(O:6YC;'5D92]S>7,O<WES8V%L;"YH !S -M>7,O7W)E860N<P!?<F5A9 Y)# P,# P,# P,# &=E;B]B8V]P>2YS &UE -M;6-P>0!G;V9O<G=A<F1S &9O<G=A<F1S7V)Y=&5C;W!Y #DY)# P,# P,# P -M,# <F5T &9O<G=A;&EG;F%B;&4 9F]R=U]C;W!Y,@!F;W)W7V-O<'DS &9O -M<G=A<F1S &9O<G=A<F1S7S,R &9O<G=A<F1S7S$V &9O<G=A<F1S7S0 9V]B -M86-K=V%R9', 8F%C:W=A<F1S7V)Y=&5C;W!Y #DY)# P,# P,# P,#$ 8F%C -M:V%L:6=N86)L90!B86-K7V-O<'DR &)A8VM?8V]P>3, 8F%C:W=A<F1S &)A -M8VMW87)D<U\S,@!B86-K=V%R9'-?,38 8F%C:W=A<F1S7S0 '-Y<R]?8VQO -M<V4N<P!?8VQO<V4 .20P,# P,# P,# P !A=&5X:70N8P!?7VYE>'1F;@!? -M7V5X:71?9FYS &%T97AI= !?7V-A;&Q?97AI=&9N<P 9FQS8G5F+F, 7V-L -M96%N=7 9F-L;W-E &9F;'5S: !?9FQS8G5F %]X9FQS8G5F %]W<G1C:&L -M7V9I;F1B=68 7V)U9G-Y;F, '-Y<R]E>&ET+G, 7V5X:70 &-R="]C97)R -M;W(N<P!?8V5R<F]R !D871A+F, &UP7V1E9BYC !M86QL;V,N8P!A;&QO -M8W, 86QL;V-P &%L;&]C= !A;&QO8W@ 86QL;V-E;F0 ;6%L;&]C &9R964 -M<F5A;&QO8P <WES+U]L<V5E:RYS %]L<V5E:P Y)# P,# P,# P,# '-Y -M<R]?=W)I=&4N<P!?=W)I=&4 .20P,# P,# P,# P !?;W-E<G)O<BYC %]O -M<V5R<F]R %]S971O<V5R<F]R !?:7-A='1Y+F, 7VES871T>0 <WES+U]S -M8G)K+G, 7W-B<FL 97)R %]B<FL ,20P,# P,# P,# P !S>7,O7VEO8W1L -M+G, 7VEO8W1L #DD,# P,# P,# P, 8W)T;FEN:70N<P 7V5N=FER;VX -M96YV:7)O;@!?7T%R9V, 7U]!<F=V &5R<FYO %]?<W1A<G0 7V=P %]?:7-T -M87)T %]?<F5A9&5N=E]S:6=F<&4 7W-E=&-H<F-L87-S &UA:6X 97AI= !? -M;6]N8V]N=')O; !?;6-O=6YT %]S<')O8VUO;G-T87)T '9?8VAA<@!V7W-I -M9VYE9%]C:&%R '9?=6YS:6=N961?8VAA<@!V7W-H;W)T '9?<VEG;F5D7W-H -M;W)T '9?=6YS:6=N961?<VAO<G0 =E]I;G0 =E]S:6=N961?:6YT '9?=6YS -M:6=N961?:6YT '9?;&]N9P!V7W-I9VYE9%]L;VYG '9?=6YS:6=N961?;&]N -M9P!V7V9L;V%T '9?9&]U8FQE '9?8VAA<E]A<G)A>0!V7W-I9VYE9%]C:&%R -M7V%R<F%Y '9?=6YS:6=N961?8VAA<E]A<G)A>0!V7W-H;W)T7V%R<F%Y '9? -M<VEG;F5D7W-H;W)T7V%R<F%Y '9?=6YS:6=N961?<VAO<G1?87)R87D =E]I -M;G1?87)R87D =E]S:6=N961?:6YT7V%R<F%Y '9?=6YS:6=N961?:6YT7V%R -M<F%Y '9?;&]N9U]A<G)A>0!V7W-I9VYE9%]L;VYG7V%R<F%Y '9?=6YS:6=N -M961?;&]N9U]A<G)A>0!V7V9L;V%T7V%R<F%Y '9?9&]U8FQE7V%R<F%Y '9? -M8VAA<E]P;VEN=&5R '9?<VEG;F5D7V-H87)?<&]I;G1E<@!V7W5N<VEG;F5D -M7V-H87)?<&]I;G1E<@!V7W-H;W)T7W!O:6YT97( =E]S:6=N961?<VAO<G1? -M<&]I;G1E<@!V7W5N<VEG;F5D7W-H;W)T7W!O:6YT97( =E]I;G1?<&]I;G1E -M<@!V7W-I9VYE9%]I;G1?<&]I;G1E<@!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R -M '9?;&]N9U]P;VEN=&5R '9?<VEG;F5D7VQO;F=?<&]I;G1E<@!V7W5N<VEG -M;F5D7VQO;F=?<&]I;G1E<@!V7V9L;V%T7W!O:6YT97( =E]D;W5B;&5?<&]I -M;G1E<@!V7W-T<G5C=#$ =E]S=')U8W0R '9?=6YI;VX =E]U;FEO;C( =E]C -M:&%R7V9U;F, =E]S:6=N961?8VAA<E]F=6YC '9?=6YS:6=N961?8VAA<E]F -M=6YC '9?<VAO<G1?9G5N8P!V7W-I9VYE9%]S:&]R=%]F=6YC '9?=6YS:6=N -M961?<VAO<G1?9G5N8P!V7VEN=%]F=6YC '9?<VEG;F5D7VEN=%]F=6YC '9? -M=6YS:6=N961?:6YT7V9U;F, =E]L;VYG7V9U;F, =E]S:6=N961?;&]N9U]F -M=6YC '9?=6YS:6=N961?;&]N9U]F=6YC '9?9FQO871?9G5N8P!V7V1O=6)L -M95]F=6YC '-?;&EN:P!U7VQI;FL <')I;6%R>0!N;VYP<FEM87)Y &-L=6YK -M97( <W!O<G1S8V%R %]C='EP90!G971E;G8 <W1R8W!Y %]O<&5N %]R96%D -M &UE;6-P>0!?8VQO<V4 7U]T<F%P7V9P95]O=F5R<FED90!?7V-A;&Q?97AI -M=&9N<P!?8VQE86YU< !?97AI= !?8V5R<F]R &%T97AI= !?8G5F96YD=&%B -M %]I;V( 7W-P<F]C960 7VQA<W1B=68 7W-I8G5F %]S;V)U9@!?<VUB=68 -M9F9L=7-H &9C;&]S90!F<F5E %]L<V5E:P!?>&9L<V)U9@!?9FQS8G5F %]W -M<FET90!?=W)T8VAK %]B=69S>6YC %]S971O<V5R<F]R %]F:6YD8G5F &UA -M;&QO8P!?:7-A='1Y %]L;V-K %]U;&]C:P!?;FQO8VL 7VEL;V-K %]F;&]C -M:P!?=VQO8VL 7V-L;V-K %]T;&]C:P!?8W1L;V-K %]D;&]C:P!?8V%S %]U -M<U]R<W1H<F5A9%]S=&1I;P!?<V)R:P!?8G)K ')E86QL;V, 7V]S97)R;W( -M7VEO8W1L &5N9 !?;6EN8G)K %]C=7)B<FL 7V5N9 $ !P $ -M 0 + "$ 0 $ -M %&8 ? $ !P $ ! ) L " -M $ 0 4 %'8 $ ! -MP $ !D (0 T " $ 0 -M H %'8 $ !P $ "% #0 \ -M " \ !'8 -M $ "4 $ "2 #?0 !$ "* (0 ,\ -M $ \ 0 !&@ ! ! 0 !\ _ $ %D $ 0/ -M )0 )L $ \ ( 3 $ $J #P !$ -M ! 8 %X ! $ %H $ 0T (0 )\ % \@ -M #L 4 $ $Y #P !( ! 8 %\ 7 $ & -MD $ 15 $P *0 $ !+0 T 5 $ %( -M #P !, ! 8 '8 , $ &T $ 1H &0 *@ -M & !.@ $ 6 ( %7 $0 !0 ! 8 -M (( 0 $ 'T $ 2! /@ *X ) !>@ "H -M 8 $ %H ! !4 %&8 )( J $ (@ $ 2_ -M ( +< % !I @ 9 $ %L ! !H -M %&8 +P % $ (@ $ 3? (0 +P " -M ! $ !\ %'8 $ ( -M@ $ 4 *0 +X " ! $ -M "0 %'8 $ (H $ 4I ( , -M % !K @ : $ %P ! "D %&8 -M ,$ % $ (P $ 5) !% ,4 9 !M ,8 -M ; $ %T ! "X %&8 ,8 "T $ +T $ 9= -M (@ -X % ">@ @ < $ %X ! #, -M %&8 7H % $ +\ $ 9_ - ., ( "@@ -M "P = ( %\ $0 #@ ! 8 7\ ( $ , -MH $ :S 3 .L 2 "K@ B( ? @ &- -M '0 #D ! 8 8< "; $ 5, $ ;_ $@ /T -M $ $T 0 G $ &J ! #H %&8 -M B( " $ 50 $ <1 %@ 0$ $ $U 0 -M H $ &N ! #\ #&8 B0 # $ 54 $ <G -M " 04 " &R #0 $( -M ! 8 $ 54 $ <O "@ 0< " -M &_ #0 $, ! 8 $ 5 -M4 $ <Y 0P 0D - $V 1L I , ', -M $P $0 ! 8 B< !N $ 9P $ =\ (@ 18 -M % %\P @ L $ '? ! $4 %&8 -M I4 % $ 9X $ >> (@ 1L % %^P @ -M M $ 'C ! $H %&8 IH % $ : $ ? -M (0 2 & & P 8 N ( 'G $0 $\ -M ! 8 I\ # $ :( $ ?A $P 28 $ &"0 -M !4 P $ 'X #P % ! 8 J( ) $ : -M@ $ ?T *0 2H ( &'@ !H Q ( (' -M " %$ %&8 JL 0 $ :\ $ @= (@ 3( -M % &. @ S $ (/ ! %8 %&8 -M KL %$$ ;$ $ @_ # 3< " -M %L !'8 $ ! -M @ ( 0 $ " @ ! 0 ( -M " P 0 % !@ < ( "0 ( " 0 -M $ * 0 ( + # H ! @ L , -M"@ $ " "P P - 0 ( + # X " -M @ $ ! #P $ " "P P 0 $0 !( -M ! @ L , $P $ " % !4 6 %P -M $ " "P P 8 0 ( + # !D : -M&P $ " "P P < 0 ( + # !T -M ! "K %K___ D0 JP!:___P 1$ ,$ 7/__\ -M &! #!0%S___ !\0 P8!<___P E $ !P!@@ -M ( +1 BH 4K___ P #$ 0!L<%L___P 4 Z $ % -MD!@@ $ & 2P! !: 8( " ! %@ 0 .L&" A0 < != -M $ &D!@@ $ 8@! B@8( $ &X 0 (P&" !@ -M !V $ "/!@@ @ $ A1 "Q %P ( ! (P0 L1!< " -M 0 ":$ +$@7 @ $ JA "Q0%P # ! +(0 L6!< -M P 0 #!$ +& 7 D $ TA "QP%P $ ! -@0 L@ -M!< ! 0 #E$ +) 7 H $ ]! "R@%P % ! /L0 -M LL!< !0 0 $)$ +, 7 L $ !&1 "S0%P & ! -M 2$0 LX!< !P 0 $J$ +0 7 T $ !-Q "T(%P 3 -M! 4L0 M$!< &0 0 %A$ +2 7 !\ $ !;Q "TP%P E -M ! 800 M0!< *P 0 &;$ +6 7 #$ $ !IQ "V % -MP W ! ;H0 MH!< /0 0 '/$ +< 7 $, $ !W! -M"W@%P !) ! ? 0 N !< 3P 0 (&$ +B 7 %4 $ " -M%! 8_ $8 !; ! B,0 N0!< 80 0 (R$ +E 7 &( $ -M "2! "Y@%P !C ! F 0 N<!< 9 0 )P$ +H 7 &4 -M $ "AQ "Z0%P !F ! J 0 NH!< 9P 0 *N$ +K 7 -M &@ $ "PQ "[ %P !I ! MH0 NT!< :@ 0 +I$ + -MN 7 &L $ "_Q "[P%P !L ! Q<0 O !< ;0 0 ,G -M$ +Q 7 &X $ #.! 8\ $8 !R ! T(0 &/8!& > 0 -M -,$ +R 7 'X $ #5! "] %P "$ ! UT 0 )0&" (0 -M 0 -I $ ":!@@ "4 $ #? ! H 8( I ! Y$ 0 *8&" -M+0 0 .> $ "L!@@ #$ $ #L@! L@8( U ! \@ 0 +@ -M&" .0 0 /3 $ "^!@@ #T $ #Y0! Q 8( !! ! _D -M0 ,H&" 10 0 0% $ #0!@@ $D $ $& ! U@8( !- ! -M!"T 0 -P&" 40 0 0Z $ #C!@@ %4 $ $2! "]@%P "^ -M! !$\0 &,P!& W 0 16$ +W 7 .4 $ $7A "^ %P #N -M ! !&D0 OD!< ]@ 0 1Q$ +Z 7 /X & $>Q $ -M3___ " !(( 0 ;0&" 0 D 2) $ 'T!@@ $ * $D ! -M"( 8( ! #0 !)8 0 B@&" 0 X 2< $ (P!@@ $ / $ -MHP! "] 8( ! !P !*H0 K0!:___P ! 2^ $ ,.!@@ 4 1 -M $S0! #* 8( ! $@ !-8 0!4P&" 0 !, 3< $ 50!@@ $ -M 0 $Y ! "_ 8( # % !.L0 *@!$___P !0 3V$ $- 1/ -M__\ 5 $^Q "P %K___ % !000 KP!:___P !0 4-$ 0 -M 1O__\ 4 %%! 0 $;___ % !1L0 & (!&___P !$ 4B -M $ -V!@@ 4 1 %*0! #1@8( # %@ !3 0!AH&" " !< -M 4U $ 9P!@@ $ 1 %/ ! $5 8( ) $0 !44 0 \@&" !P -M !@ 5- $ 9X!@@ $ 1 %5 ! $F@8( + $0 !5P 0!38&" -M#P !D 5E $ :#!@@ , 1 %<0! $W08( - %@ !7H 0!50 -M&" !@ !H 6! $ :(!@@ $ 5 %B1 #!P%S___ %0 !8\0 -M P@!<___P !4 66$ ,) 7/__\ 5 %G1 #"@%S___ %0 -M!:00 PL!<___P !4 6K$ ,, 7/__\ 5 %LA ##0%S___ -M%0 !;D0 PX!<___P !4 7 $ ,/ 7/__\ 5 %R! #$ %S___ -M %0 !<\0 Q$!<___P !4 74$ +! 6O__\ ; %YP! &H 8 -M( ! &P !>T 0!JP&" ! !8 7R $ 8J!@@ H 9 %^@! -M&@ 8( ! ' !@, 0!KP&" 0 !L 8*$ "G0!1O__\ ; & -I#A "H $3___ &P !A80 J$!$___P __\ 8>$ "G0!1O__\; - -end diff --git a/gdb/testsuite/gdb.base/mips_pro.c b/gdb/testsuite/gdb.base/mips_pro.c deleted file mode 100644 index cef975d..0000000 --- a/gdb/testsuite/gdb.base/mips_pro.c +++ /dev/null @@ -1,98 +0,0 @@ -/* Tests regarding examination of prologues. */ - -int -inner (z) - int z; -{ - return 2 * z; -} - -/* The native compiler seems to lack asm(). */ - -#if defined (__GNUC__) && defined (__mips__) -/* This is the verbatim output corresponding to the function middle. - Label names have been changed to avoid conflicts. It is here as - asm() so we don't have to worry that (a) the compiler might change - how it does things, and (b) we'd have to insure it gets compiled - with gcc -O2. */ - -asm ("\n\ - .text \n\ - .align 2 \n\ - .globl middle \n\ - .loc 1 22 \n\ -\n\ - .loc 1 21 \n\ - .ent middle \n\ -middle: \n\ - .frame $sp,24,$31 # vars= 0, regs= 1/0, args = 16, extra= 0 \n\ - .mask 0x80000000,-8 \n\ - .fmask 0x00000000,0 \n\ - subu $sp,$sp,24 \n\ -\n\ - .loc 1 23 \n\ - .set noreorder \n\ - .set nomacro \n\ - beq $4,$0,middle_lab0 \n\ - sw $31,16($sp) \n\ - .set macro \n\ - .set reorder \n\ -\n\ -\n\ - .loc 1 26 \n\ - .set noreorder \n\ - .set nomacro \n\ - jal inner \n\ - li $4,0x00000006 # 6 \n\ - .set macro \n\ - .set reorder \n\ -\n\ - j middle_lab1 \n\ -middle_lab0: \n\ -\n\ - .loc 1 24 \n\ - .set noreorder \n\ - .set nomacro \n\ - jal inner \n\ - li $4,0x00000005 # 5 \n\ - .set macro \n\ - .set reorder \n\ -\n\ -middle_lab1: \n\ - .set noreorder \n\ - lw $31,16($sp) \n\ - nop \n\ - j $31 \n\ - addu $sp,$sp,24 \n\ - .set reorder \n\ - .end middle \n\ -"); -#if 0 -/* Not necessary, and loses if gcc is not using stabs. */ -asm (".stabs \"middle:F1\",36,0,13,middle"); -asm (".stabs \"x:p1\",160,0,13,0"); -#endif -#else -int -middle (x) - int x; -{ - if (x == 0) - return inner (5); - else - return inner (6); -} -#endif - -int -top (y) - int y; -{ - return middle (y + 1); -} - -int -main (argc, argv) -{ - return top (-1) + top (1); -} diff --git a/gdb/testsuite/gdb.base/mips_pro.exp b/gdb/testsuite/gdb.base/mips_pro.exp deleted file mode 100644 index 55e0744..0000000 --- a/gdb/testsuite/gdb.base/mips_pro.exp +++ /dev/null @@ -1,48 +0,0 @@ -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile mips_pro -set srcfile ${srcdir}/$subdir/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -execute_anywhere "rm -f ${binfile}.ci" -if { [compile "-E ${srcdir}/${subdir}/compiler.c >> ${binfile}.ci"] != "" } { - perror "Couldn't make ${binfile}.ci" - return -1 -} -source ${binfile}.ci - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# This test must be compiled with -O2 if using gcc. - -if {$gcc_compiled} then { - if { [compile "${srcfile} -O2 -g -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile} with -O2" - return -1 - } -} else { - if { [compile "${srcfile} -g -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 - } -} - -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [runto middle] then { - # PR 3016 - if {$gcc_compiled} then { setup_xfail "hppa*-*-*" } - gdb_test "backtrace" "#0.*middle.*#1.*top.*#2.*main.*" -} -return 0 diff --git a/gdb/testsuite/gdb.base/nodebug.c b/gdb/testsuite/gdb.base/nodebug.c deleted file mode 100644 index 5428e66..0000000 --- a/gdb/testsuite/gdb.base/nodebug.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Test that things still (sort of) work when compiled without -g. */ - -int dataglobal = 3; /* Should go in global data */ -static int datalocal = 4; /* Should go in local data */ -int bssglobal; /* Should go in global bss */ -static int bsslocal; /* Should go in local bss */ - -int -inner (x) - int x; -{ - return 2 * x; -} - -static int -middle (x) - int x; -{ - return 2 * inner (x); -} - -int -top (x) - int x; -{ - return 2 * middle (x); -} - -int -main (argc, argv) - int argc; - char **argv; -{ - return top (argc); -} diff --git a/gdb/testsuite/gdb.base/nodebug.exp b/gdb/testsuite/gdb.base/nodebug.exp deleted file mode 100644 index 4af88a8..0000000 --- a/gdb/testsuite/gdb.base/nodebug.exp +++ /dev/null @@ -1,140 +0,0 @@ -# Test that things still (sort of) work when compiled without -g. - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile nodebug -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable ""] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -source ${binfile}.ci - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [runto inner] then { - - # Expect to find global/local symbols in each of text/data/bss. - - # The exact format for some of this output is not necessarily - # ideal, particularly interpreting "p top" requires a fair bit of - # savvy about gdb's workings and the meaning of the "{}" - # construct. So the details maybe could be tweaked. But the - # basic purpose should be maintained, which is (a) users should be - # able to interact with these variables with some care (they have - # to know how to interpret them according to their real type, - # since gdb doesn't know the type), but (b) users should be able - # to detect that gdb does not know the type, rather than just - # being told they are ints or functions returning int like old - # versions of gdb used to do. - - # On alpha (and other ecoff systems) the native compilers put - # out debugging info for non-aggregate return values of functions - # even without -g, which should be accepted. - # Irix5, even though it is ELF, counts as "ecoff" because it - # encapsulates ecoff debugging info in a .mdebug section. - # Irix6 gcc omits no debug info at all for static functions and - # variables, so all tests involving statics fail. - - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" "mips-sgi-irix6*" } - gdb_test "p top" \ - "{(<(text variable|function), no debug info>|short \\(\\))} \[0-9a-fx]* <top>" - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" "mips-sgi-irix6*" } - gdb_test "whatis top" \ - "(<(text variable|function), no debug info>|short \\(\\))" - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "ptype top" "(short|int) \\((|<non-float parameter>|<non-float parameter>, <non-float parameter>)\\)" - - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } - setup_xfail "mips-sgi-irix6*" - gdb_test "p middle" \ - "{(<(text variable|function), no debug info>|short \\(\\))} \[0-9a-fx]* <middle>" - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } - setup_xfail "mips-sgi-irix6*" - gdb_test "whatis middle" \ - "(<(text variable|function), no debug info>|short \\(\\))" - setup_xfail "mips-sgi-irix6*" - gdb_test "ptype middle" "(short|int) \\((|<non-float parameter>|<non-float parameter>, <non-float parameter>)\\)" - - gdb_test "p dataglobal" "= 3" - gdb_test "whatis dataglobal" \ - "<(data variable|variable), no debug info>" - gdb_test "ptype dataglobal" "<(data variable|variable), no debug info>" - - # The only symbol xcoff puts out for statics is for the TOC entry. - # Possible, but hairy, for gdb to deal. Right now it doesn't, it - # doesn't know the variables exist at all. - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "p datalocal" "= 4" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "whatis datalocal" "<(data variable|variable), no debug info>" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "ptype datalocal" "<(data variable|variable), no debug info>" - - gdb_test "p bssglobal" "= 0" - gdb_test "whatis bssglobal" "<(data variable|variable), no debug info>" - gdb_test "ptype bssglobal" "<(data variable|variable), no debug info>" - - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "p bsslocal" "= 0" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "whatis bsslocal" "<(data variable|variable), no debug info>" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "ptype bsslocal" "<(data variable|variable), no debug info>" - - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "backtrace 10" "#0.*inner.*#1.*middle.*#2.*top.*#3.*main.*" \ - "backtrace from inner in nodebug.exp" - # Or if that doesn't work, at least hope for the external symbols - # Commented out because if we aren't going to xfail the above test - # ever, why bother with a weaker test? - #gdb_test "backtrace 10" "#0.*inner.*#1.*#2.*top.*#3.*main.*" \ - # "backtrace from inner in nodebug.exp for externals" - - # This test is not as obscure as it might look. `p getenv ("TERM")' - # is a real-world example, at least on many systems. - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" "mips-sgi-irix6*" } - gdb_test {p/c array_index("abcdef",2)} " = 99 'c'" - - # Now, try that we can give names of file-local symbols which happen - # to be unique, and have it still work - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - if [runto middle] then { - gdb_test "backtrace 10" "#0.*middle.*#1.*top.*#2.*main.*" \ - "backtrace from middle in nodebug.exp" - } -} diff --git a/gdb/testsuite/gdb.base/opaque.exp b/gdb/testsuite/gdb.base/opaque.exp deleted file mode 100644 index 3e7e0f4..0000000 --- a/gdb/testsuite/gdb.base/opaque.exp +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright (C) 1992, 1994 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set binfile "opaque" -set srcfile $binfile.c - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile - -source gdb.base/opaque0.ci - -# -# Test basic opaque structure handling (statically). -# The ordering of the tests is significant. We first try the things that -# might fail if gdb fails to connect the uses of opaque structures to -# the actual opaque structure definition. - -# When we start up, gdb sets the file containing main() as the current -# source file. The actual structure foo is defined in a different file. -# A pointer (foop) to an instance of the opaque struct is defined in the same -# source file as main(). Ensure that gdb correctly "connected" the definition -# in the other file with the pointer to the opaque struct in the file containing -# "foop". - -# Define a procedure to set up an xfail for all targets that do not support -# this sort of cross reference. -# Any target gcc that has a DBX_NO_XREFS definition in its config file will -# not support it (FIXME: Is this still true; I suspect maybe not). - -# Native alpha ecoff doesn't support it either. -# I don't think this type of cross reference works for any COFF target -# either. - -proc setup_xfail_on_opaque_pointer {} { - global gcc_compiled - - setup_xfail "a29k-*-udi" "vax-*-*" "i*86-sequent-bsd*" - if {!$gcc_compiled} then { - setup_xfail "alpha-*-*" "mips-sgi-irix5*" - } -} - -# This seems easier than trying to track different versions of xlc; I'm -# not sure there is much rhyme or reason regarding which tests it fails -# and which ones it passes. -if {[istarget "rs6000-*-aix*"] && !$gcc_compiled} then { - warning "xfails in opaque.exp may not be set up correctly for xlc" -} - -setup_xfail_on_opaque_pointer -gdb_test "whatis foop" \ - "type = struct foo \[*\]+" \ - "whatis on opaque struct pointer (statically)" - - -# Ensure that we know the form of the structure that foop points to. - -setup_xfail_on_opaque_pointer -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } -gdb_test "ptype foop" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\} \[*\]+" \ - "ptype on opaque struct pointer (statically)" - - -# An instance of the opaque structure (afoo) is defined in a different file. -# Ensure that we can locate afoo and the structure definition. - -gdb_test "whatis afoo" \ - "type = struct foo" \ - "whatis on opaque struct instance (statically)" - - -# Ensure that we know the form of "afoo". - -gdb_test "ptype afoo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct instance (statically)" - - -# Ensure that we know what a struct foo looks like. - -gdb_test "ptype struct foo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct tagname (statically)" - - -# -# Done with static tests, now test dynamic opaque structure handling. -# We reload the symbol table so we forget about anything we might -# have learned during the static tests. -# - -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start -} -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile - -# Run to main, where struct foo is incomplete. -if ![runto_main] { - perror "cannot run to breakpoint at main" -} - - -# The current source file is now the one containing main(). The structure foo -# is defined in a different file, but we have a pointer to an instance of -# the opaque structure in the current file. Ensure we know it's type. - -setup_xfail_on_opaque_pointer -gdb_test "whatis foop" \ - "type = struct foo \[*\]+" \ - "whatis on opaque struct pointer (dynamically)" - - -# Ensure that we know the form of the thing foop points to. - -setup_xfail_on_opaque_pointer -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } -gdb_test "ptype foop" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\} \[*\]+" \ - "ptype on opaque struct pointer (dynamically) 1" - -gdb_test "whatis afoo" \ - "type = struct foo" \ - "whatis on opaque struct instance (dynamically) 1" - - -# Ensure that we know the form of afoo, an instance of a struct foo. - -gdb_test "ptype afoo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct instance (dynamically) 1" - - -# Ensure that we know the form of an explicit struct foo. - -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } -gdb_test "ptype struct foo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct tagname (dynamically) 1" - - -# Now reload the symbols again so we forget about anything we might -# have learned reading the symbols during the previous tests. - -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start -} -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile - -# Run to getfoo, where struct foo is complete. -if ![runto getfoo] { - perror "cannot run to breakpoint at getfoo" -} - - -# Ensure that we know what foop is. - -setup_xfail_on_opaque_pointer -gdb_test "whatis foop" \ - "type = struct foo \[*\]+" \ - "whatis on opaque struct pointer (dynamically)" - - -# Ensure that we know the form of the thing foop points to. - -setup_xfail_on_opaque_pointer -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } -gdb_test "ptype foop" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\} \[*\]+" \ - "ptype on opaque struct pointer (dynamically) 2" - -gdb_test "whatis afoo" \ - "type = struct foo" \ - "whatis on opaque struct instance (dynamically) 2" - - -# Ensure that we know the form of afoo, an instance of a struct foo. - -gdb_test "ptype afoo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct instance (dynamically) 2" - - -# Ensure that we know the form of an explicit struct foo. - -gdb_test "ptype struct foo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct tagname (dynamically) 2" diff --git a/gdb/testsuite/gdb.base/opaque0.c b/gdb/testsuite/gdb.base/opaque0.c deleted file mode 100644 index e5a343c..0000000 --- a/gdb/testsuite/gdb.base/opaque0.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Note that struct foo is opaque (never defined) in this file. This - is allowed by C since this file does not reference any members of - the structure. The debugger needs to be able to associate this - opaque structure definition with the full definition in another - file. -*/ - -struct foo *foop; -extern struct foo *getfoo (); - -int main () -{ - foop = getfoo (); - putfoo (foop); - return 0; -} diff --git a/gdb/testsuite/gdb.base/opaque1.c b/gdb/testsuite/gdb.base/opaque1.c deleted file mode 100644 index 4a3c855..0000000 --- a/gdb/testsuite/gdb.base/opaque1.c +++ /dev/null @@ -1,18 +0,0 @@ -struct foo { - int a; - int b; -} afoo = { 1, 2}; - -struct foo *getfoo () -{ - return (&afoo); -} - -#ifdef __STDC__ -void putfoo (struct foo *foop) -#else -void putfoo (foop) - struct foo *foop; -#endif -{ -} diff --git a/gdb/testsuite/gdb.base/pointers2.c b/gdb/testsuite/gdb.base/pointers2.c deleted file mode 100644 index 6c30621..0000000 --- a/gdb/testsuite/gdb.base/pointers2.c +++ /dev/null @@ -1,51 +0,0 @@ -void marker1 () -{ - -} - - -int main() -{ - char C, *pC, **ppC, ***pppC, ****ppppC, *****pppppC, ******ppppppC; - unsigned char UC, *pUC; - short S, *pS; - unsigned short US, *pUS; - int I, *pI; - unsigned int UI, *pUI; - long L, *pL; - unsigned long UL, *pUL; - float F, *pF; - double D, *pD; - C = 'A'; - UC = 21; - S = -14; - US = 7; - I = 102; - UI = 1002; - L = -234; - UL = 234; - F = 1.25E10; - D = -1.375E-123; - pC = &C; - ppC = &pC; - pppC = &ppC; - ppppC = &pppC; - pppppC = &ppppC; - ppppppC = &pppppC; - pUC = &UC; - pS = &S; - pUS = &US; - pI = &I; - pUI = &UI; - pL = &L; - pUL = &UL; - pF = &F; - pD = &D; - - #ifdef usestubs - set_debug_traps(); - breakpoint(); - #endif - marker1(); - return 0; -} diff --git a/gdb/testsuite/gdb.base/pointers2.exp b/gdb/testsuite/gdb.base/pointers2.exp deleted file mode 100644 index e44e110..0000000 --- a/gdb/testsuite/gdb.base/pointers2.exp +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright (C) 1997, 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 Elena Zannoni. (ezannoni@cygnus.com) - - -# This file is part of the gdb testsuite -# -# tests for pointers -# with elementary type variables and pointers. -# - - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "pointers2" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" - - send_gdb "cont\n" - gdb_expect { - -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "$gdb_prompt $" { fail "continue to marker1" } - timeout { fail "(timeout) continue to marker1" } - } - - -send_gdb "print *pUC\n" -gdb_expect { - -re ".\[0-9\]* = 21 \'.025\'.*$gdb_prompt $" { - pass "print value of *pUC" - } - -re ".*$gdb_prompt $" { fail "print value of *pUC" } - timeout { fail "(timeout) print value of *pUC" } - } - - -send_gdb "ptype pUC\n" -gdb_expect { - -re "type = unsigned char \\*.*$gdb_prompt $" { pass "ptype pUC" } - -re ".*$gdb_prompt $" { fail "ptype pUC" } - timeout { fail "(timeout) ptype pUC" } -} - -send_gdb "print *pS\n" -gdb_expect { - -re ".\[0-9\]* = -14.*$gdb_prompt $" { - pass "print value of *pS" - } - -re ".*$gdb_prompt $" { fail "print value of *pS" } - timeout { fail "(timeout) print value of *pS" } - } - - -send_gdb "ptype pS\n" -gdb_expect { - -re "type = short \\*.*$gdb_prompt $" { pass "ptype pS" } - -re "type = short int \\*.*$gdb_prompt $" { pass "ptype pS" } - -re ".*$gdb_prompt $" { fail "ptype pS" } - timeout { fail "(timeout) ptype pS" } -} - -send_gdb "print *pUS\n" -gdb_expect { - -re ".\[0-9\]* = 7.*$gdb_prompt $" { - pass "print value of *pUS" - } - -re ".*$gdb_prompt $" { fail "print value of *pUS" } - timeout { fail "(timeout) print value of *pUS" } - } - - -send_gdb "ptype pUS\n" -gdb_expect { - -re "type = unsigned short \\*.*$gdb_prompt $" { pass "ptype pUS" } - -re "type = short unsigned int \\*.*$gdb_prompt $" { pass "ptype pUS" } - -re ".*$gdb_prompt $" { fail "ptype pUS" } - timeout { fail "(timeout) ptype pUS" } -} - -send_gdb "print *pI\n" -gdb_expect { - -re ".\[0-9\]* = 102.*$gdb_prompt $" { - pass "print value of *pI" - } - -re ".*$gdb_prompt $" { fail "print value of *pI" } - timeout { fail "(timeout) print value of *pI" } - } - - -send_gdb "ptype pI\n" -gdb_expect { - -re "type = int \\*.*$gdb_prompt $" { pass "ptype pI" } - -re ".*$gdb_prompt $" { fail "ptype pI" } - timeout { fail "(timeout) ptype pI" } -} - -send_gdb "print *pUI\n" -gdb_expect { - -re ".\[0-9\]* = 1002.*$gdb_prompt $" { - pass "print value of *pUI" - } - -re ".*$gdb_prompt $" { fail "print value of *pUI" } - timeout { fail "(timeout) print value of *pUI" } - } - - -send_gdb "ptype pUI\n" -gdb_expect { - -re "type = unsigned int \\*.*$gdb_prompt $" { pass "ptype pUI" } - -re ".*$gdb_prompt $" { fail "ptype pUI" } - timeout { fail "(timeout) ptype pUI" } -} - -send_gdb "print *pL\n" -gdb_expect { - -re ".\[0-9\]* = -234.*$gdb_prompt $" { - pass "print value of *pL" - } - -re ".*$gdb_prompt $" { fail "print value of *pL" } - timeout { fail "(timeout) print value of *pL" } - } - - -send_gdb "ptype pL\n" -gdb_expect { - -re "type = long \\*.*$gdb_prompt $" { pass "ptype pL" } - -re "type = long int \\*.*$gdb_prompt $" { pass "ptype pL" } - -re ".*$gdb_prompt $" { fail "ptype pL" } - timeout { fail "(timeout) ptype pL" } -} - -send_gdb "print *pUL\n" -gdb_expect { - -re ".\[0-9\]* = 234.*$gdb_prompt $" { - pass "print value of *pUL" - } - -re ".*$gdb_prompt $" { fail "print value of *pUL" } - timeout { fail "(timeout) print value of *pUL" } - } - - -send_gdb "ptype pUL\n" -gdb_expect { - -re "type = unsigned long \\*.*$gdb_prompt $" { pass "ptype pUL" } - -re "type = long unsigned int \\*.*$gdb_prompt $" { pass "ptype pUL" } - -re ".*$gdb_prompt $" { fail "ptype pUL" } - timeout { fail "(timeout) ptype pUL" } -} - -send_gdb "print *pF\n" -gdb_expect { - -re ".\[0-9\]* = 1.2\[0-9\]*e\\+10.*$gdb_prompt $" { - pass "print value of *pF" - } - -re ".*$gdb_prompt $" { fail "print value of *pF" } - timeout { fail "(timeout) print value of *pF" } - } - - -send_gdb "ptype pF\n" -gdb_expect { - -re "type = float \\*.*$gdb_prompt $" { pass "ptype pF" } - -re ".*$gdb_prompt $" { fail "ptype pF" } - timeout { fail "(timeout) ptype pF" } -} - -send_gdb "print *pD\n" -gdb_expect { - -re ".\[0-9\]* = -1.375e-123.*$gdb_prompt $" { - pass "print value of *pD" - } - -re ".*$gdb_prompt $" { fail "print value of *pD" } - timeout { fail "(timeout) print value of *pD" } - } - - -send_gdb "ptype pD\n" -gdb_expect { - -re "type = double \\*.*$gdb_prompt $" { pass "ptype pD" } - -re ".*$gdb_prompt $" { fail "ptype pD" } - timeout { fail "(timeout) ptype pD" } -} - -send_gdb "print ******ppppppC\n" -gdb_expect { - -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { - pass "print value of ******ppppppC" - } - -re ".*$gdb_prompt $" { fail "print value of ******ppppppC" } - timeout { fail "(timeout) print value of ******ppppppC" } - } - - -send_gdb "ptype pC\n" -gdb_expect { - -re "type = char \\*.*$gdb_prompt $" { pass "ptype pC" } - -re ".*$gdb_prompt $" { fail "ptype pC" } - timeout { fail "(timeout) ptype pC" } -} - -send_gdb "ptype ppC\n" -gdb_expect { - -re "type = char \\*\\*.*$gdb_prompt $" { pass "ptype ppC" } - -re ".*$gdb_prompt $" { fail "ptype ppC" } - timeout { fail "(timeout) ptype ppC" } -} - -send_gdb "ptype pppC\n" -gdb_expect { - -re "type = char \\*\\*\\*.*$gdb_prompt $" { pass "ptype pppC" } - -re ".*$gdb_prompt $" { fail "ptype pppC" } - timeout { fail "(timeout) ptype pppC" } -} - -send_gdb "ptype ppppC\n" -gdb_expect { - -re "type = char \\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype ppppC" } - -re ".*$gdb_prompt $" { fail "ptype ppppC" } - timeout { fail "(timeout) ptype ppppC" } -} - -send_gdb "ptype pppppC\n" -gdb_expect { - -re "type = char \\*\\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype pppppC" } - -re ".*$gdb_prompt $" { fail "ptype pppppC" } - timeout { fail "(timeout) ptype pppppC" } -} - -send_gdb "ptype ppppppC\n" -gdb_expect { - -re "type = char \\*\\*\\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype ppppppC" } - -re ".*$gdb_prompt $" { fail "ptype ppppppC" } - timeout { fail "(timeout) ptype ppppppC" } -} - diff --git a/gdb/testsuite/gdb.base/printcmds.c b/gdb/testsuite/gdb.base/printcmds.c deleted file mode 100644 index 79ba4d2..0000000 --- a/gdb/testsuite/gdb.base/printcmds.c +++ /dev/null @@ -1,97 +0,0 @@ -/* This table is used as a source for every ascii character. - It is explicitly unsigned to avoid differences due to native characters - being either signed or unsigned. */ - -unsigned char ctable1[256] = { - 0000, 0001, 0002, 0003, 0004, 0005, 0006, 0007, - 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, - 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, - 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, - 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, - 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, - 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, - 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, - 0100, 0101, 0102, 0103, 0104, 0105, 0106, 0107, - 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, - 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, - 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, - 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, - 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, - 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, - 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, - 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, - 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, - 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, - 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, - 0240, 0241, 0242, 0243, 0244, 0245, 0246, 0247, - 0250, 0251, 0252, 0253, 0254, 0255, 0256, 0257, - 0260, 0261, 0262, 0263, 0264, 0265, 0266, 0267, - 0270, 0271, 0272, 0273, 0274, 0275, 0276, 0277, - 0300, 0301, 0302, 0303, 0304, 0305, 0306, 0307, - 0310, 0311, 0312, 0313, 0314, 0315, 0316, 0317, - 0320, 0321, 0322, 0323, 0324, 0325, 0326, 0327, - 0330, 0331, 0332, 0333, 0334, 0335, 0336, 0337, - 0340, 0341, 0342, 0343, 0344, 0345, 0346, 0347, - 0350, 0351, 0352, 0353, 0354, 0355, 0356, 0357, - 0360, 0361, 0362, 0363, 0364, 0365, 0366, 0367, - 0370, 0371, 0372, 0373, 0374, 0375, 0376, 0377 -}; - -unsigned char ctable2[] = { - 'a','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','X','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a' -}; - -/* Single and multidimensional arrays to test access and printing of array - members. */ - -int int1dim[12] = {0,1,2,3,4,5,6,7,8,9,10,11}; -int int2dim[3][4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}}; -int int3dim[2][3][2] = {{{0,1},{2,3},{4,5}},{{6,7},{8,9},{10,11}}}; -int int4dim[1][2][3][2] = {{{{0,1},{2,3},{4,5}},{{6,7},{8,9},{10,11}}}}; - -char *teststring = "teststring contents"; - -/* Test printing of a struct containing character arrays. */ - -struct some_arrays { - unsigned char array1[4]; - unsigned char array2[1]; - unsigned char array3[1]; - unsigned char array4[2]; - unsigned char array5[4]; -} arrays = { - {'a', 'b', 'c', '\0'}, - {'d'}, - {'e'}, - {'f', 'g' }, - {'h', 'i', 'j', '\0'} -}; - -struct some_arrays *parrays = &arrays; - -/* -- */ - -main () -{ - malloc(1); - - /* Prevent AIX linker from removing variables. */ - return ctable1[0] + ctable2[0] + int1dim[0] + int2dim[0][0] - + int3dim[0][0][0] + int4dim[0][0][0][0] + teststring[0] + - *parrays -> array1; -} diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp deleted file mode 100644 index 45a207f..0000000 --- a/gdb/testsuite/gdb.base/printcmds.exp +++ /dev/null @@ -1,1035 +0,0 @@ -# Copyright (C) 1992, 1994, 1995, 1997 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "printcmds" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to C. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_c {} { - global gdb_prompt - - if [gdb_test "set language c" "" "set language c"] { - return 0 - } - - if [gdb_test "show language" ".* source language is \"c\".*"] { - return 0 - } - return 1; -} - -proc test_integer_literals_accepted {} { - global gdb_prompt - - # Test various decimal values. - - gdb_test "p 123" " = 123" - gdb_test "p -123" " = -123" - gdb_test "p/d 123" " = 123" - - # Test various octal values. - - gdb_test "p 0123" " = 83" - gdb_test "p 00123" " = 83" - gdb_test "p -0123" " = -83" - gdb_test "p/o 0123" " = 0123" - - # Test various hexadecimal values. - - gdb_test "p 0x123" " = 291" - gdb_test "p -0x123" " = -291" - gdb_test "p 0x0123" " = 291" - gdb_test "p -0x0123" " = -291" - gdb_test "p 0xABCDEF" " = 11259375" - gdb_test "p 0xabcdef" " = 11259375" - gdb_test "p 0xAbCdEf" " = 11259375" - gdb_test "p/x 0x123" " = 0x123" -} - -proc test_character_literals_accepted {} { - global gdb_prompt - - gdb_test "p 'a'" " = 97 'a'" - gdb_test "p/c 'a'" " = 97 'a'" - gdb_test "p/x 'a'" " = 0x61" - gdb_test "p/d 'a'" " = 97" - gdb_test "p/t 'a'" " = 1100001" - gdb_test "p '\\141'" " = 97 'a'" - gdb_test "p/x '\\377'" " = 0xff" - # Note "p '\''" => "= 39 '\''" - gdb_test "p '\\''" " = 39 '\\\\''" - # Note "p '\\'" => "= 92 '\\'" - gdb_test "p '\\\\'" " = 92 '\\\\\\\\'" -} - -proc test_integer_literals_rejected {} { - global gdb_prompt - - test_print_reject "p 0x" - gdb_test "p ''" "Empty character constant\\." - gdb_test "p '''" "Empty character constant\\." - test_print_reject "p '\\'" - - # Note that this turns into "p '\\\'" at gdb's input. - test_print_reject "p '\\\\\\'" - - # Test various decimal values. - - test_print_reject "p DEADBEEF" - - # Gdb currently fails this test for all configurations. The C - # lexer thinks that 123DEADBEEF is a floating point number, but - # then fails to notice that atof() only eats the 123 part. - # FIXME: This should be put into PRMS. - # Fixed, 4/25/97, by Bob Manson. - - test_print_reject "p 123DEADBEEF" - test_print_reject "p 123foobar.bazfoo3" - test_print_reject "p 123EEEEEEEEEEEEEEEEE33333k333" - gdb_test "p 123.4+56.7" "180.(099\[0-9]*|100\[0-9\]*)" "check for floating addition" - - # Test various octal values. - - test_print_reject "p 09" - test_print_reject "p 079" - - # Test various hexadecimal values. - - test_print_reject "p 0xG" - test_print_reject "p 0xAG" -} - -proc test_print_all_chars {} { - global gdb_prompt - - gdb_test "p ctable1\[0\]" " = 0 '\\\\000'" - gdb_test "p ctable1\[1\]" " = 1 '\\\\001'" - gdb_test "p ctable1\[2\]" " = 2 '\\\\002'" - gdb_test "p ctable1\[3\]" " = 3 '\\\\003'" - gdb_test "p ctable1\[4\]" " = 4 '\\\\004'" - gdb_test "p ctable1\[5\]" " = 5 '\\\\005'" - gdb_test "p ctable1\[6\]" " = 6 '\\\\006'" - gdb_test "p ctable1\[7\]" " = 7 '\\\\a'" - gdb_test "p ctable1\[8\]" " = 8 '\\\\b'" - gdb_test "p ctable1\[9\]" " = 9 '\\\\t'" - gdb_test "p ctable1\[10\]" " = 10 '\\\\n'" - gdb_test "p ctable1\[11\]" " = 11 '\\\\013'" - gdb_test "p ctable1\[12\]" " = 12 '\\\\f'" - gdb_test "p ctable1\[13\]" " = 13 '\\\\r'" - gdb_test "p ctable1\[14\]" " = 14 '\\\\016'" - gdb_test "p ctable1\[15\]" " = 15 '\\\\017'" - gdb_test "p ctable1\[16\]" " = 16 '\\\\020'" - gdb_test "p ctable1\[17\]" " = 17 '\\\\021'" - gdb_test "p ctable1\[18\]" " = 18 '\\\\022'" - gdb_test "p ctable1\[19\]" " = 19 '\\\\023'" - gdb_test "p ctable1\[20\]" " = 20 '\\\\024'" - gdb_test "p ctable1\[21\]" " = 21 '\\\\025'" - gdb_test "p ctable1\[22\]" " = 22 '\\\\026'" - gdb_test "p ctable1\[23\]" " = 23 '\\\\027'" - gdb_test "p ctable1\[24\]" " = 24 '\\\\030'" - gdb_test "p ctable1\[25\]" " = 25 '\\\\031'" - gdb_test "p ctable1\[26\]" " = 26 '\\\\032'" - gdb_test "p ctable1\[27\]" " = 27 '\\\\e'" - gdb_test "p ctable1\[28\]" " = 28 '\\\\034'" - gdb_test "p ctable1\[29\]" " = 29 '\\\\035'" - gdb_test "p ctable1\[30\]" " = 30 '\\\\036'" - gdb_test "p ctable1\[31\]" " = 31 '\\\\037'" - gdb_test "p ctable1\[32\]" " = 32 ' '" - gdb_test "p ctable1\[33\]" " = 33 '!'" - gdb_test "p ctable1\[34\]" " = 34 '\"'" - gdb_test "p ctable1\[35\]" " = 35 '#'" - gdb_test "p ctable1\[36\]" " = 36 '\\\$'" - gdb_test "p ctable1\[37\]" " = 37 '%'" - gdb_test "p ctable1\[38\]" " = 38 '&'" - gdb_test "p ctable1\[39\]" " = 39 '\\\\''" - gdb_test "p ctable1\[40\]" " = 40 '\\('" - gdb_test "p ctable1\[41\]" " = 41 '\\)'" - gdb_test "p ctable1\[42\]" " = 42 '\\*'" - gdb_test "p ctable1\[43\]" " = 43 '\\+'" - gdb_test "p ctable1\[44\]" " = 44 ','" - gdb_test "p ctable1\[45\]" " = 45 '-'" - gdb_test "p ctable1\[46\]" " = 46 '.'" - gdb_test "p ctable1\[47\]" " = 47 '/'" - gdb_test "p ctable1\[48\]" " = 48 '0'" - gdb_test "p ctable1\[49\]" " = 49 '1'" - gdb_test "p ctable1\[50\]" " = 50 '2'" - gdb_test "p ctable1\[51\]" " = 51 '3'" - gdb_test "p ctable1\[52\]" " = 52 '4'" - gdb_test "p ctable1\[53\]" " = 53 '5'" - gdb_test "p ctable1\[54\]" " = 54 '6'" - gdb_test "p ctable1\[55\]" " = 55 '7'" - gdb_test "p ctable1\[56\]" " = 56 '8'" - gdb_test "p ctable1\[57\]" " = 57 '9'" - gdb_test "p ctable1\[58\]" " = 58 ':'" - gdb_test "p ctable1\[59\]" " = 59 ';'" - gdb_test "p ctable1\[60\]" " = 60 '<'" - gdb_test "p ctable1\[61\]" " = 61 '='" - gdb_test "p ctable1\[62\]" " = 62 '>'" - gdb_test "p ctable1\[63\]" " = 63 '\\?'" - gdb_test "p ctable1\[64\]" " = 64 '@'" - gdb_test "p ctable1\[65\]" " = 65 'A'" - gdb_test "p ctable1\[66\]" " = 66 'B'" - gdb_test "p ctable1\[67\]" " = 67 'C'" - gdb_test "p ctable1\[68\]" " = 68 'D'" - gdb_test "p ctable1\[69\]" " = 69 'E'" - gdb_test "p ctable1\[70\]" " = 70 'F'" - gdb_test "p ctable1\[71\]" " = 71 'G'" - gdb_test "p ctable1\[72\]" " = 72 'H'" - gdb_test "p ctable1\[73\]" " = 73 'I'" - gdb_test "p ctable1\[74\]" " = 74 'J'" - gdb_test "p ctable1\[75\]" " = 75 'K'" - gdb_test "p ctable1\[76\]" " = 76 'L'" - gdb_test "p ctable1\[77\]" " = 77 'M'" - gdb_test "p ctable1\[78\]" " = 78 'N'" - gdb_test "p ctable1\[79\]" " = 79 'O'" - gdb_test "p ctable1\[80\]" " = 80 'P'" - gdb_test "p ctable1\[81\]" " = 81 'Q'" - gdb_test "p ctable1\[82\]" " = 82 'R'" - gdb_test "p ctable1\[83\]" " = 83 'S'" - gdb_test "p ctable1\[84\]" " = 84 'T'" - gdb_test "p ctable1\[85\]" " = 85 'U'" - gdb_test "p ctable1\[86\]" " = 86 'V'" - gdb_test "p ctable1\[87\]" " = 87 'W'" - gdb_test "p ctable1\[88\]" " = 88 'X'" - gdb_test "p ctable1\[89\]" " = 89 'Y'" - gdb_test "p ctable1\[90\]" " = 90 'Z'" - gdb_test "p ctable1\[91\]" " = 91 '\\\['" - gdb_test "p ctable1\[92\]" " = 92 '\\\\\\\\'" - gdb_test "p ctable1\[93\]" " = 93 '\\\]'" - gdb_test "p ctable1\[94\]" " = 94 '\\^'" - gdb_test "p ctable1\[95\]" " = 95 '_'" - gdb_test "p ctable1\[96\]" " = 96 '`'" - gdb_test "p ctable1\[97\]" " = 97 'a'" - gdb_test "p ctable1\[98\]" " = 98 'b'" - gdb_test "p ctable1\[99\]" " = 99 'c'" - gdb_test "p ctable1\[100\]" " = 100 'd'" - gdb_test "p ctable1\[101\]" " = 101 'e'" - gdb_test "p ctable1\[102\]" " = 102 'f'" - gdb_test "p ctable1\[103\]" " = 103 'g'" - gdb_test "p ctable1\[104\]" " = 104 'h'" - gdb_test "p ctable1\[105\]" " = 105 'i'" - gdb_test "p ctable1\[106\]" " = 106 'j'" - gdb_test "p ctable1\[107\]" " = 107 'k'" - gdb_test "p ctable1\[108\]" " = 108 'l'" - gdb_test "p ctable1\[109\]" " = 109 'm'" - gdb_test "p ctable1\[110\]" " = 110 'n'" - gdb_test "p ctable1\[111\]" " = 111 'o'" - gdb_test "p ctable1\[112\]" " = 112 'p'" - gdb_test "p ctable1\[113\]" " = 113 'q'" - gdb_test "p ctable1\[114\]" " = 114 'r'" - gdb_test "p ctable1\[115\]" " = 115 's'" - gdb_test "p ctable1\[116\]" " = 116 't'" - gdb_test "p ctable1\[117\]" " = 117 'u'" - gdb_test "p ctable1\[118\]" " = 118 'v'" - gdb_test "p ctable1\[119\]" " = 119 'w'" - gdb_test "p ctable1\[120\]" " = 120 'x'" - gdb_test "p ctable1\[121\]" " = 121 'y'" - gdb_test "p ctable1\[122\]" " = 122 'z'" - gdb_test "p ctable1\[123\]" " = 123 '\[{\]+'" - gdb_test "p ctable1\[124\]" " = 124 '\[|\]+'" - gdb_test "p ctable1\[125\]" " = 125 '\[}\]+'" - gdb_test "p ctable1\[126\]" " = 126 '\[~\]'" - gdb_test "p ctable1\[127\]" " = 127 '\\\\177'" - gdb_test "p ctable1\[128\]" " = 128 '\\\\200'" - gdb_test "p ctable1\[129\]" " = 129 '\\\\201'" - gdb_test "p ctable1\[130\]" " = 130 '\\\\202'" - gdb_test "p ctable1\[131\]" " = 131 '\\\\203'" - gdb_test "p ctable1\[132\]" " = 132 '\\\\204'" - gdb_test "p ctable1\[133\]" " = 133 '\\\\205'" - gdb_test "p ctable1\[134\]" " = 134 '\\\\206'" - gdb_test "p ctable1\[135\]" " = 135 '\\\\207'" - gdb_test "p ctable1\[136\]" " = 136 '\\\\210'" - gdb_test "p ctable1\[137\]" " = 137 '\\\\211'" - gdb_test "p ctable1\[138\]" " = 138 '\\\\212'" - gdb_test "p ctable1\[139\]" " = 139 '\\\\213'" - gdb_test "p ctable1\[140\]" " = 140 '\\\\214'" - gdb_test "p ctable1\[141\]" " = 141 '\\\\215'" - gdb_test "p ctable1\[142\]" " = 142 '\\\\216'" - gdb_test "p ctable1\[143\]" " = 143 '\\\\217'" - gdb_test "p ctable1\[144\]" " = 144 '\\\\220'" - gdb_test "p ctable1\[145\]" " = 145 '\\\\221'" - gdb_test "p ctable1\[146\]" " = 146 '\\\\222'" - gdb_test "p ctable1\[147\]" " = 147 '\\\\223'" - gdb_test "p ctable1\[148\]" " = 148 '\\\\224'" - gdb_test "p ctable1\[149\]" " = 149 '\\\\225'" - gdb_test "p ctable1\[150\]" " = 150 '\\\\226'" - gdb_test "p ctable1\[151\]" " = 151 '\\\\227'" - gdb_test "p ctable1\[152\]" " = 152 '\\\\230'" - gdb_test "p ctable1\[153\]" " = 153 '\\\\231'" - gdb_test "p ctable1\[154\]" " = 154 '\\\\232'" - gdb_test "p ctable1\[155\]" " = 155 '\\\\233'" - gdb_test "p ctable1\[156\]" " = 156 '\\\\234'" - gdb_test "p ctable1\[157\]" " = 157 '\\\\235'" - gdb_test "p ctable1\[158\]" " = 158 '\\\\236'" - gdb_test "p ctable1\[159\]" " = 159 '\\\\237'" - gdb_test "p ctable1\[160\]" " = 160 '\\\\240'" - gdb_test "p ctable1\[161\]" " = 161 '\\\\241'" - gdb_test "p ctable1\[162\]" " = 162 '\\\\242'" - gdb_test "p ctable1\[163\]" " = 163 '\\\\243'" - gdb_test "p ctable1\[164\]" " = 164 '\\\\244'" - gdb_test "p ctable1\[165\]" " = 165 '\\\\245'" - gdb_test "p ctable1\[166\]" " = 166 '\\\\246'" - gdb_test "p ctable1\[167\]" " = 167 '\\\\247'" - gdb_test "p ctable1\[168\]" " = 168 '\\\\250'" - gdb_test "p ctable1\[169\]" " = 169 '\\\\251'" - gdb_test "p ctable1\[170\]" " = 170 '\\\\252'" - gdb_test "p ctable1\[171\]" " = 171 '\\\\253'" - gdb_test "p ctable1\[172\]" " = 172 '\\\\254'" - gdb_test "p ctable1\[173\]" " = 173 '\\\\255'" - gdb_test "p ctable1\[174\]" " = 174 '\\\\256'" - gdb_test "p ctable1\[175\]" " = 175 '\\\\257'" - gdb_test "p ctable1\[176\]" " = 176 '\\\\260'" - gdb_test "p ctable1\[177\]" " = 177 '\\\\261'" - gdb_test "p ctable1\[178\]" " = 178 '\\\\262'" - gdb_test "p ctable1\[179\]" " = 179 '\\\\263'" - gdb_test "p ctable1\[180\]" " = 180 '\\\\264'" - gdb_test "p ctable1\[181\]" " = 181 '\\\\265'" - gdb_test "p ctable1\[182\]" " = 182 '\\\\266'" - gdb_test "p ctable1\[183\]" " = 183 '\\\\267'" - gdb_test "p ctable1\[184\]" " = 184 '\\\\270'" - gdb_test "p ctable1\[185\]" " = 185 '\\\\271'" - gdb_test "p ctable1\[186\]" " = 186 '\\\\272'" - gdb_test "p ctable1\[187\]" " = 187 '\\\\273'" - gdb_test "p ctable1\[188\]" " = 188 '\\\\274'" - gdb_test "p ctable1\[189\]" " = 189 '\\\\275'" - gdb_test "p ctable1\[190\]" " = 190 '\\\\276'" - gdb_test "p ctable1\[191\]" " = 191 '\\\\277'" - gdb_test "p ctable1\[192\]" " = 192 '\\\\300'" - gdb_test "p ctable1\[193\]" " = 193 '\\\\301'" - gdb_test "p ctable1\[194\]" " = 194 '\\\\302'" - gdb_test "p ctable1\[195\]" " = 195 '\\\\303'" - gdb_test "p ctable1\[196\]" " = 196 '\\\\304'" - gdb_test "p ctable1\[197\]" " = 197 '\\\\305'" - gdb_test "p ctable1\[198\]" " = 198 '\\\\306'" - gdb_test "p ctable1\[199\]" " = 199 '\\\\307'" - gdb_test "p ctable1\[200\]" " = 200 '\\\\310'" - gdb_test "p ctable1\[201\]" " = 201 '\\\\311'" - gdb_test "p ctable1\[202\]" " = 202 '\\\\312'" - gdb_test "p ctable1\[203\]" " = 203 '\\\\313'" - gdb_test "p ctable1\[204\]" " = 204 '\\\\314'" - gdb_test "p ctable1\[205\]" " = 205 '\\\\315'" - gdb_test "p ctable1\[206\]" " = 206 '\\\\316'" - gdb_test "p ctable1\[207\]" " = 207 '\\\\317'" - gdb_test "p ctable1\[208\]" " = 208 '\\\\320'" - gdb_test "p ctable1\[209\]" " = 209 '\\\\321'" - gdb_test "p ctable1\[210\]" " = 210 '\\\\322'" - gdb_test "p ctable1\[211\]" " = 211 '\\\\323'" - gdb_test "p ctable1\[212\]" " = 212 '\\\\324'" - gdb_test "p ctable1\[213\]" " = 213 '\\\\325'" - gdb_test "p ctable1\[214\]" " = 214 '\\\\326'" - gdb_test "p ctable1\[215\]" " = 215 '\\\\327'" - gdb_test "p ctable1\[216\]" " = 216 '\\\\330'" - gdb_test "p ctable1\[217\]" " = 217 '\\\\331'" - gdb_test "p ctable1\[218\]" " = 218 '\\\\332'" - gdb_test "p ctable1\[219\]" " = 219 '\\\\333'" - gdb_test "p ctable1\[220\]" " = 220 '\\\\334'" - gdb_test "p ctable1\[221\]" " = 221 '\\\\335'" - gdb_test "p ctable1\[222\]" " = 222 '\\\\336'" - gdb_test "p ctable1\[223\]" " = 223 '\\\\337'" - gdb_test "p ctable1\[224\]" " = 224 '\\\\340'" - gdb_test "p ctable1\[225\]" " = 225 '\\\\341'" - gdb_test "p ctable1\[226\]" " = 226 '\\\\342'" - gdb_test "p ctable1\[227\]" " = 227 '\\\\343'" - gdb_test "p ctable1\[228\]" " = 228 '\\\\344'" - gdb_test "p ctable1\[229\]" " = 229 '\\\\345'" - gdb_test "p ctable1\[230\]" " = 230 '\\\\346'" - gdb_test "p ctable1\[231\]" " = 231 '\\\\347'" - gdb_test "p ctable1\[232\]" " = 232 '\\\\350'" - gdb_test "p ctable1\[233\]" " = 233 '\\\\351'" - gdb_test "p ctable1\[234\]" " = 234 '\\\\352'" - gdb_test "p ctable1\[235\]" " = 235 '\\\\353'" - gdb_test "p ctable1\[236\]" " = 236 '\\\\354'" - gdb_test "p ctable1\[237\]" " = 237 '\\\\355'" - gdb_test "p ctable1\[238\]" " = 238 '\\\\356'" - gdb_test "p ctable1\[239\]" " = 239 '\\\\357'" - gdb_test "p ctable1\[240\]" " = 240 '\\\\360'" - gdb_test "p ctable1\[241\]" " = 241 '\\\\361'" - gdb_test "p ctable1\[242\]" " = 242 '\\\\362'" - gdb_test "p ctable1\[243\]" " = 243 '\\\\363'" - gdb_test "p ctable1\[244\]" " = 244 '\\\\364'" - gdb_test "p ctable1\[245\]" " = 245 '\\\\365'" - gdb_test "p ctable1\[246\]" " = 246 '\\\\366'" - gdb_test "p ctable1\[247\]" " = 247 '\\\\367'" - gdb_test "p ctable1\[248\]" " = 248 '\\\\370'" - gdb_test "p ctable1\[249\]" " = 249 '\\\\371'" - gdb_test "p ctable1\[250\]" " = 250 '\\\\372'" - gdb_test "p ctable1\[251\]" " = 251 '\\\\373'" - gdb_test "p ctable1\[252\]" " = 252 '\\\\374'" - gdb_test "p ctable1\[253\]" " = 253 '\\\\375'" - gdb_test "p ctable1\[254\]" " = 254 '\\\\376'" - gdb_test "p ctable1\[255\]" " = 255 '\\\\377'" -} - -# Test interaction of the number of print elements to print and the -# repeat count, set to the default of 10. - -proc test_print_repeats_10 {} { - global gdb_prompt - - gdb_test "set print elements 1" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"a\"..." - - gdb_test "set print elements 2" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - - gdb_test "set print elements 3" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - - gdb_test "set print elements 4" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - - gdb_test "set print elements 5" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - - gdb_test "set print elements 6" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - - gdb_test "set print elements 7" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaXX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaaX\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - - gdb_test "set print elements 8" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXXXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaXXX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaaXX\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaX\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - - gdb_test "set print elements 9" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaXXXX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaaXXX\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaXX\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaX\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - - gdb_test "set print elements 10" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaaXXXX\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaXXX\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaXX\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaX\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - - gdb_test "set print elements 11" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"aXXXXXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aaXXXXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaaXXXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaXXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - - gdb_test "set print elements 12" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"X\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - - gdb_test "set print elements 13" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 12 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aa\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"XX\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>, \"X\"..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>..." - - gdb_test "set print elements 14" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 13 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aa\", 'X' <repeats 12 times>..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaa\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXXXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"XXX\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>, \"XX\"..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>, \"X\"..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>..." - - gdb_test "set print elements 15" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 14 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aa\", 'X' <repeats 13 times>..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaa\", 'X' <repeats 12 times>..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaa\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXXXXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"XXXX\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>, \"XXX\"..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>, \"XX\"..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>, \"X\"..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 15 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 15 times>..." - - gdb_test "set print elements 16" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 15 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aa\", 'X' <repeats 14 times>..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaa\", 'X' <repeats 13 times>..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaa\", 'X' <repeats 12 times>..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaa\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"XXXXX\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>, \"XXXX\"..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>, \"XXX\"..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>, \"XX\"..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 15 times>, \"X\"..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 16 times>" -} - -proc test_print_strings {} { - global gdb_prompt - - # We accept "(unsigned char *) " before the string. char vs. unsigned char - # is already tested elsewhere. - - # Test that setting print elements unlimited doesn't completely suppress - # printing; this was a bug in older gdb's. - gdb_test "set print elements 0" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"teststring contents\"" - gdb_test "set print elements 1" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"t\"\\.\\.\\." - gdb_test "set print elements 5" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"tests\"\\.\\.\\." - gdb_test "set print elements 19" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"teststring contents\"" - gdb_test "set print elements 20" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"teststring contents\"" - - gdb_test "set print elements 8" "" - - gdb_test "p &ctable1\[0\]" \ - " = \\(unsigned char \\*\\) \"\"" - gdb_test "p &ctable1\[1\]" \ - " = \\(unsigned char \\*\\) \"\\\\001\\\\002\\\\003\\\\004\\\\005\\\\006\\\\a\\\\b\"..." - gdb_test "p &ctable1\[1*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\b\\\\t\\\\n\\\\013\\\\f\\\\r\\\\016\\\\017\"..." - gdb_test "p &ctable1\[2*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\020\\\\021\\\\022\\\\023\\\\024\\\\025\\\\026\\\\027\"..." - gdb_test "p &ctable1\[3*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\030\\\\031\\\\032\\\\e\\\\034\\\\035\\\\036\\\\037\"..." - gdb_test "p &ctable1\[4*8\]" \ - " = \\(unsigned char \\*\\) \" !\\\\\"#\\\$%&'\"..." - gdb_test "p &ctable1\[5*8\]" \ - " = \\(unsigned char \\*\\) \"\\(\\)\\*\\+,-./\"..." - gdb_test "p &ctable1\[6*8\]" \ - " = \\(unsigned char \\*\\) \"01234567\"..." - gdb_test "p &ctable1\[7*8\]" \ - " = \\(unsigned char \\*\\) \"89:;<=>\\?\"..." - gdb_test "p &ctable1\[8*8\]" \ - " = \\(unsigned char \\*\\) \"@ABCDEFG\"..." - gdb_test "p &ctable1\[9*8\]" \ - " = \\(unsigned char \\*\\) \"HIJKLMNO\"..." - gdb_test "p &ctable1\[10*8\]" \ - " = \\(unsigned char \\*\\) \"PQRSTUVW\"..." - gdb_test "p &ctable1\[11*8\]" \ - " = \\(unsigned char \\*\\) \"XYZ\\\[\\\\\\\\\\\]\\^_\"..." - gdb_test "p &ctable1\[12*8\]" \ - " = \\(unsigned char \\*\\) \"`abcdefg\"..." - gdb_test "p &ctable1\[13*8\]" \ - " = \\(unsigned char \\*\\) \"hijklmno\"..." - gdb_test "p &ctable1\[14*8\]" \ - " = \\(unsigned char \\*\\) \"pqrstuvw\"..." - gdb_test "p &ctable1\[15*8\]" \ - " = \\(unsigned char \\*\\) \"xyz\[{|}\]+\\~\\\\177\"..." - gdb_test "p &ctable1\[16*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\200\\\\201\\\\202\\\\203\\\\204\\\\205\\\\206\\\\207\"..." - gdb_test "p &ctable1\[17*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\210\\\\211\\\\212\\\\213\\\\214\\\\215\\\\216\\\\217\"..." - gdb_test "p &ctable1\[18*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\220\\\\221\\\\222\\\\223\\\\224\\\\225\\\\226\\\\227\"..." - gdb_test "p &ctable1\[19*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\230\\\\231\\\\232\\\\233\\\\234\\\\235\\\\236\\\\237\"..." - gdb_test "p &ctable1\[20*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\240\\\\241\\\\242\\\\243\\\\244\\\\245\\\\246\\\\247\"..." - gdb_test "p &ctable1\[21*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\250\\\\251\\\\252\\\\253\\\\254\\\\255\\\\256\\\\257\"..." - gdb_test "p &ctable1\[22*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\260\\\\261\\\\262\\\\263\\\\264\\\\265\\\\266\\\\267\"..." - gdb_test "p &ctable1\[23*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\270\\\\271\\\\272\\\\273\\\\274\\\\275\\\\276\\\\277\"..." - gdb_test "p &ctable1\[24*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\300\\\\301\\\\302\\\\303\\\\304\\\\305\\\\306\\\\307\"..." - gdb_test "p &ctable1\[25*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\310\\\\311\\\\312\\\\313\\\\314\\\\315\\\\316\\\\317\"..." - gdb_test "p &ctable1\[26*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\320\\\\321\\\\322\\\\323\\\\324\\\\325\\\\326\\\\327\"..." - gdb_test "p &ctable1\[27*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\330\\\\331\\\\332\\\\333\\\\334\\\\335\\\\336\\\\337\"..." - gdb_test "p &ctable1\[28*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\340\\\\341\\\\342\\\\343\\\\344\\\\345\\\\346\\\\347\"..." - gdb_test "p &ctable1\[29*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\350\\\\351\\\\352\\\\353\\\\354\\\\355\\\\356\\\\357\"..." - gdb_test "p &ctable1\[30*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\360\\\\361\\\\362\\\\363\\\\364\\\\365\\\\366\\\\367\"..." - gdb_test "p &ctable1\[31*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\370\\\\371\\\\372\\\\373\\\\374\\\\375\\\\376\\\\377\"..." -} - -proc test_print_int_arrays {} { - global gdb_prompt - - gdb_test "set print elements 24" "" - - gdb_test "p int1dim" \ - " = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}" - gdb_test "p int2dim" \ - " = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}}" - gdb_test "p int3dim" \ - " = {{{0, 1}, {2, 3}, {4, 5}}, {{6, 7}, {8, 9}, {10, 11}}}" - gdb_test "p int4dim" \ - " = {{{{0, 1}, {2, 3}, {4, 5}}, {{6, 7}, {8, 9}, {10, 11}}}}" -} - -proc test_artificial_arrays {} { - # Send \026@ instead of just @ in case the kill character is @. - gdb_test "p int1dim\[0\]\026@2" " = {0, 1}" {p int1dim[0]@2} - gdb_test "p int1dim\[0\]\026@2\026@3" \ - "({{0, 1}, {2, 3}, {4, 5}}|\[Cc\]annot.*)" \ - {p int1dim[0]@2@3} - gdb_test {p/x (short [])0x12345678} \ - " = ({0x1234, 0x5678}|{0x5678, 0x1234})" -} - -proc test_print_char_arrays {} { - global gdb_prompt - global hex - - gdb_test "set print elements 24" "" - gdb_test "set print address on" "" - - gdb_test "p arrays" \ - " = {array1 = \"abc\", array2 = \"d\", array3 = \"e\", array4 = \"fg\", array5 = \"hij\"}" - - gdb_test "p parrays" " = \\(struct some_arrays \\*\\) $hex" - gdb_test "p parrays->array1" " = \"abc\"" - gdb_test "p &parrays->array1" " = \\(unsigned char \\(\\*\\)\\\[4\\\]\\) $hex" - gdb_test "p parrays->array2" " = \"d\"" - gdb_test "p &parrays->array2" " = \\(unsigned char \\(\\*\\)\\\[1\\\]\\) $hex" - gdb_test "p parrays->array3" " = \"e\"" - gdb_test "p &parrays->array3" " = \\(unsigned char \\(\\*\\)\\\[1\\\]\\) $hex" - gdb_test "p parrays->array4" " = \"fg\"" - gdb_test "p &parrays->array4" " = \\(unsigned char \\(\\*\\)\\\[2\\\]\\) $hex" - gdb_test "p parrays->array5" " = \"hij\"" - gdb_test "p &parrays->array5" " = \\(unsigned char \\(\\*\\)\\\[4\\\]\\) $hex" - - gdb_test "set print address off" "" -} - -proc test_print_string_constants {} { - global gdb_prompt - - gdb_test "set print elements 50" "" - - if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - return - } - - setup_xfail "a29k-*-udi" 2416 - gdb_test "p \"a string\"" " = \"a string\"" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p \"embedded \\000 null\"" " = \"embedded \\\\000 null\"" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p \"abcd\"\[2\]" " = 99 'c'" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p sizeof (\"abcdef\")" " = 7" - setup_xfail "a29k-*-udi" 2416 - gdb_test "ptype \"foo\"" " = char \\\[4\\\]" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p *\"foo\"" " = 102 'f'" - setup_xfail "a29k-*-udi" 2416 - gdb_test "ptype *\"foo\"" " = char" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p &*\"foo\"" " = \"foo\"" - setup_xfail "*-*-*" - gdb_test "ptype &*\"foo\"" "type = char \\*" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p (char *)\"foo\"" " = \"foo\"" -} - -proc test_print_array_constants {} { - - if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - return - } - - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {'a','b','c'}" " = \"abc\"" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {0,1,2}" " = {0, 1, 2}" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {(long)0,(long)1,(long)2}" " = {0, 1, 2}" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {{0,1,2},{3,4,5}}" " = {{0, 1, 2}, {3, 4, 5}}" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {4,5,6}\[2\]" " = 6" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print *&{4,5,6}\[1\]" " = 5" -} - -proc test_printf {} { - gdb_test "printf \"x=%d,y=%d,z=%d\\n\", 5, 6, 7" "x=5,y=6,z=7" - gdb_test "printf \"string=%.4sxx\\n\", teststring" "string=testxx" - gdb_test "printf \"string=%sxx\\n\", teststring" \ - "string=teststring contentsxx" - - gdb_test "printf \"%f is fun\\n\", 1.0" "1\.0+ is fun" - - # Test mixing args of different sizes. - gdb_test "printf \"x=%d,y=%f,z=%d\\n\", 5, 6.0, 7" "x=5,y=6\.0+,z=7" - gdb_test "printf \"%x %f, %c %x, %x, %f\\n\", 0xbad, -99.541, 'z',\ -0xfeedface, 0xdeadbeef, 5.0" "bad -99.54\[0-9\]+, z feedface, deadbeef, 5.0+" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "print \$pc" "No registers\\." -# FIXME: should also test "print $pc" when there is an execfile but no -# remote debugging target, process or corefile. - -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" -gdb_test "set print address off" "" -gdb_test "set width 0" "" - -if [set_lang_c] then { - gdb_test "p ctable1\[120\]" "120 'x'" - - if [runto_main] then { - test_integer_literals_accepted - test_integer_literals_rejected - test_character_literals_accepted - test_print_all_chars - test_print_repeats_10 - test_print_strings - test_print_int_arrays - test_artificial_arrays - test_print_char_arrays -# We used to do the runto main here. - test_print_string_constants - test_print_array_constants - test_printf - } -} else { - fail "C print command tests suppressed" -} diff --git a/gdb/testsuite/gdb.base/ptype.c b/gdb/testsuite/gdb.base/ptype.c deleted file mode 100644 index 1f3858e..0000000 --- a/gdb/testsuite/gdb.base/ptype.c +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Test file with lots of different types, for testing the - * "ptype" command. - */ - -/* - * First the basic C types. - */ - -#if !defined (__STDC__) && !defined (_AIX) -#define signed /**/ -#endif - -char v_char; -signed char v_signed_char; -unsigned char v_unsigned_char; - -short v_short; -signed short v_signed_short; -unsigned short v_unsigned_short; - -int v_int; -signed int v_signed_int; -unsigned int v_unsigned_int; - -long v_long; -signed long v_signed_long; -unsigned long v_unsigned_long; - -float v_float; -double v_double; - -/* - * Now some derived types, which are arrays, functions-returning, - * pointers, structures, unions, and enumerations. - */ - -/**** arrays *******/ - -char v_char_array[2]; -signed char v_signed_char_array[2]; -unsigned char v_unsigned_char_array[2]; - -short v_short_array[2]; -signed short v_signed_short_array[2]; -unsigned short v_unsigned_short_array[2]; - -int v_int_array[2]; -signed int v_signed_int_array[2]; -unsigned int v_unsigned_int_array[2]; - -long v_long_array[2]; -signed long v_signed_long_array[2]; -unsigned long v_unsigned_long_array[2]; - -float v_float_array[2]; -double v_double_array[2]; - -/**** pointers *******/ - -char *v_char_pointer; -signed char *v_signed_char_pointer; -unsigned char *v_unsigned_char_pointer; - -short *v_short_pointer; -signed short *v_signed_short_pointer; -unsigned short *v_unsigned_short_pointer; - -int *v_int_pointer; -signed int *v_signed_int_pointer; -unsigned int *v_unsigned_int_pointer; - -long *v_long_pointer; -signed long *v_signed_long_pointer; -unsigned long *v_unsigned_long_pointer; - -float *v_float_pointer; -double *v_double_pointer; - -/**** structs *******/ - -struct t_struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct1; - -struct t_struct *v_t_struct_p; - -struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct2; - -/* typedef'd struct without a tag. */ -typedef struct { - double v_double_member; - int v_int_member; -} t_struct3; -/* GCC seems to want a variable of this type, or else it won't put out - a symbol. */ -t_struct3 v_struct3; - -/**** unions *******/ - -union t_union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union; - -union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union2; - -/* typedef'd union without a tag. */ -typedef union { - double v_double_member; - int v_int_member; -} t_union3; -/* GCC seems to want a variable of this type, or else it won't put out - a symbol. */ -t_union3 v_union3; - -/*** Functions returning type ********/ - -char v_char_func () { return(0); } -signed char v_signed_char_func () { return (0); } -unsigned char v_unsigned_char_func () { return (0); } - -short v_short_func () { return (0); } -signed short v_signed_short_func () { return (0); } -unsigned short v_unsigned_short_func () { return (0); } - -int v_int_func () { return (0); } -signed int v_signed_int_func () { return (0); } -unsigned int v_unsigned_int_func () { return (0); } - -long v_long_func () { return (0); } -signed long v_signed_long_func () { return (0); } -unsigned long v_unsigned_long_func () { return (0); } - -float v_float_func () { return (0.0); } -double v_double_func () { return (0.0); } - -/**** Some misc more complicated things *******/ - -struct link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} *s_link; - -union tu_link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} u_link; - -struct outer_struct { - int outer_int; - struct inner_struct { - int inner_int; - long inner_long; - }inner_struct_instance; - union inner_union { - int inner_union_int; - long inner_union_long; - }inner_union_instance; - long outer_long; -} nested_su; - -/**** Enumerations *******/ - -enum -/* Work around the bug for compilers which don't put out the right stabs. */ -#if __GNUC__ < 2 && !defined (_AIX) -primary1_tag -#endif -{red1, green1, blue1} primary1; - -enum {red, green, blue} primary; -enum colors {yellow, purple, pink} nonprimary; - -enum {chevy, ford} clunker; -enum cars {bmw, porsche} sportscar; - -typedef enum {FALSE, TRUE} boolean; -boolean v_boolean; -typedef enum bvals {false, true} boolean2; - -enum misordered {two = 2, one = 1, zero = 0, three = 3}; - -/***********/ - -main () -{ - /* Seems like we need a variable of this type to get the type to be put - in the executable, at least for AIX xlc. */ - enum misordered v_misordered = three; - - /* Some of the tests in ptype.exp require invoking malloc, so make - sure it is linked in to this program. */ - v_char_pointer = (char *) malloc (1); - - /* Some linkers (e.g. on AIX) remove unreferenced variables, - so make sure to reference them. */ - primary = blue; - primary1 = blue1; - nonprimary = pink; - sportscar = porsche; - clunker = ford; - v_struct1.v_int_member = 5; - v_struct2.v_int_member = 6; - v_struct3.v_int_member = 7; - - v_char = 0; - v_signed_char = 0; - v_unsigned_char = 0; - - v_short = 0; - v_signed_short = 0; - v_unsigned_short = 0; - - v_int = 0; - v_signed_int = 0; - v_unsigned_int = 0; - - v_long = 0; - v_signed_long = 0; - v_unsigned_long = 0; - - v_float = 0; - v_double = 0; - - v_char_array[0] = 0; - v_signed_char_array[0] = 0; - v_unsigned_char_array[0] = 0; - - v_short_array[0] = 0; - v_signed_short_array[0] = 0; - v_unsigned_short_array[0] = 0; - - v_int_array[0] = 0; - v_signed_int_array[0] = 0; - v_unsigned_int_array[0] = 0; - - v_long_array[0] = 0; - v_signed_long_array[0] = 0; - v_unsigned_long_array[0] = 0; - - v_float_array[0] = 0; - v_double_array[0] = 0; - - v_char_pointer = 0; - v_signed_char_pointer = 0; - v_unsigned_char_pointer = 0; - - v_short_pointer = 0; - v_signed_short_pointer = 0; - v_unsigned_short_pointer = 0; - - v_int_pointer = 0; - v_signed_int_pointer = 0; - v_unsigned_int_pointer = 0; - - v_long_pointer = 0; - v_signed_long_pointer = 0; - v_unsigned_long_pointer = 0; - - v_float_pointer = 0; - v_double_pointer = 0; - - nested_su.outer_int = 0; - v_t_struct_p = 0; - - v_boolean = FALSE; -} diff --git a/gdb/testsuite/gdb.base/ptype.exp b/gdb/testsuite/gdb.base/ptype.exp deleted file mode 100644 index 9d7fa2c..0000000 --- a/gdb/testsuite/gdb.base/ptype.exp +++ /dev/null @@ -1,533 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997 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 Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "ptype" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# Test ptype of unnamed enumeration members before any action causes -# the partial symbol table to be expanded to full symbols. This fails -# with stabs compilers which fail to use a nameless stab (such as -# pre-2.4.5 versions of gcc and most non-gcc compilers). - -send_gdb "ptype red1\n" -gdb_expect { - -re "type = enum primary1_tag \{red1, green1, blue1\}.*$gdb_prompt $"\ - { - # The workaround is in effect. As this is a compiler, not GDB, - # bug, we'll make it a PASS but perhaps it should be an XFAIL. - pass "ptype unnamed enumeration member (worked around)" - } - -re "type = enum \{red1, green1, blue1\}.*$gdb_prompt $"\ - { pass "ptype unnamed enumeration member" } - -re ".*$gdb_prompt $" { fail "ptype unnamed enumeration member" } - timeout { fail "(timeout) ptype unnamed enumeration member" } -} - -# -# test ptype command with structures -# -# Here and elsewhere, we accept -# "long", "long int", or "int" for long variables (whatis.exp already -# has an XFAIL for "int" (Sun cc bug), so no need to fail it here). -gdb_test "ptype struct t_struct" "type = struct t_struct \{.*\[\r\n\] (unsigned |)char v_char_member;.*\[\r\n\] (short|short int) v_short_member;.*\[\r\n\] int v_int_member;.*\[\r\n\] (long|long int|int) v_long_member;.*\[\r\n\] float v_float_member;.*\[\r\n\] double v_double_member;.*\[\r\n\]\}.*" "ptype structure" - - -# Test the equivalence between '.' and '->' for struct member references. - -if [gdb_test "ptype v_struct1.v_float_member" "type = float"]<0 then { - return -1 -} -if [gdb_test "ptype v_struct1->v_float_member" "type = float"]<0 then { - return -1 -} -if [gdb_test "ptype v_t_struct_p.v_float_member" "type = float"]<0 then { - return -1 -} -if [gdb_test "ptype v_t_struct_p->v_float_member" "type = float"]<0 then { - return -1 -} - - -# IBM's xlc puts out bogus stabs--the stuff field is type 42, -# which isn't defined. - -gdb_test "ptype struct link" "type = struct link \{.*\[\r\n\] struct link \[*\]next;.*\[\r\n\] struct link \[*(\]+linkfunc\[)(\]+(struct link \[*\], int\[)\]|);.*\[\r\n\] struct t_struct stuff.1..2..3.;.*\[\r\n\]\}.*" "ptype linked list structure" - -# -# test ptype command with unions -# -gdb_test "ptype union t_union" "type = union t_union \{.*\[\r\n\] (unsigned |)char v_char_member;.*\[\r\n\] (short|short int) v_short_member;.*\[\r\n\] int v_int_member;.*\[\r\n\] (long|long int|int) v_long_member;.*\[\r\n\] float v_float_member;.*\[\r\n\] double v_double_member;.*\[\r\n\]\}.*" "ptype union" - -# IBM's xlc puts out bogus stabs--the stuff field is type 42, -# which isn't defined. -gdb_test "ptype union tu_link" "type = union tu_link .*\[\r\n\] struct link \[*\]next;.*\[\r\n\] struct link \[(\*\]+linkfunc\[)(\]+(struct link \[*\], int\[)\]|);.*\[\r\n\] struct t_struct stuff.1..2..3.;.*\[\r\n\]\}.*" "ptype linked list union" - -# -# test ptype command with enums -# - -gdb_test "ptype primary" "type = enum .red, green, blue.*" "ptype unnamed enumeration" - -gdb_test "ptype enum colors" "type = enum colors \{yellow, purple, pink\}.*" "ptype named enumeration" - - -# -# test ptype command with enums as typedef -# -gdb_test "ptype boolean" "type = enum \{FALSE, TRUE\}.*" "ptype unnamed typedef'd enumeration" - -# And check that whatis shows the name, not "enum {...}". -# This probably fails for all DWARF 1 cases, so assume so for now. -fnf -# The problem with xlc is that the stabs look like -# :t51=eFALSE:0,TRUE:1,; -# boolean:t55=51 -# v_boolean:G51 -# GDB's behavior is correct; the type which the variable is defined -# as (51) doesn't have a name. Only 55 has a name. - -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "i*86-*-sysv4*" } -setup_xfail_format "DWARF 1" -gdb_test "whatis v_boolean" "type = boolean" \ - "whatis unnamed typedef'd enum (compiler bug in IBM's xlc)" - -# Same thing with struct and union. -gdb_test "ptype t_struct3" "type = struct \{.* - *double v_double_member;.* - *int v_int_member;.*\}" "printing typedef'd struct" - -gdb_test "ptype t_union3" "type = union \{.* - *double v_double_member;.* - *int v_int_member;.*\}" "printing typedef'd union" - -gdb_test "ptype enum bvals" "type = enum bvals \{false, true\}.*" "ptype named typedef'd enumf'd enum" - -# -# test ptype command with out-of-order enum values -# -gdb_test "ptype enum misordered" "type = enum misordered \{two = 2, one = 1, zero = 0, three = 3\}.*" "ptype misordered enumeration" - -# -# test ptype command with a named enum's value -# -gdb_test "ptype three" "type = enum misordered \{two = 2, one = 1, zero = 0, three = 3\}.*" "ptype named enumeration member" - -gdb_test "ptype red" "type = enum \{red, green, blue\}.*" "ptype unnamed enumeration member" - -# -# test ptype command with basic C types -# -# I've commented most of this out because it duplicates tests in whatis.exp. -# I've just left in a token test or 2 which is designed to test that ptype -# acts like whatis for basic types. If it is thought to be necessary to -# test both whatis and ptype for all the types, the tests should be -# merged into whatis.exp, or else maintenance will be a royal pain -kingdon -#setup_xfail "i960-*-*" 1821 -#setup_xfail "mips-idt-*" "mips-sgi-*" "a29k-*-*" -#send "ptype v_char\n" -#gdb_expect { -# -re "type = char.*$gdb_prompt $" { pass "ptype char" } -# -re ".*$gdb_prompt $" { fail "ptype char" } -# timeout { fail "(timeout) ptype char" } -#} -# -# -#setup_xfail "mips-*-*" "a29k-*-*" -#send "ptype v_signed_char\n" -#gdb_expect { -# -re "type = signed char.*$gdb_prompt $" { pass "ptype signed char" } -# -re ".*$gdb_prompt $" { fail "ptype signed char" } -# timeout { fail "(timeout) ptype signed char" } -#} -# -# -#send "ptype v_unsigned_char\n" -#gdb_expect { -# -re "type = unsigned char.*$gdb_prompt $" { pass "ptype unsigned char" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned char" } -# timeout { fail "(timeout) ptype unsigned char" } -#} - -gdb_test "ptype v_short" "type = short(| int).*" "ptype short" - -#send "ptype v_signed_short\n" -#gdb_expect { -# -re "type = short.*$gdb_prompt $" { pass "ptype signed short" } -# -re ".*$gdb_prompt $" { fail "ptype signed short" } -# timeout { fail "(timeout) ptype signed short" } -#} -# -# -#send "ptype v_unsigned_short\n" -#gdb_expect { -# -re "type = unsigned short.*$gdb_prompt $" { pass "ptype unsigned short" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned short" } -# timeout { fail "(timeout) ptype unsigned short" } -#} - - -gdb_test "ptype v_int" "type = int.*" "ptype int" - -#send "ptype v_signed_int\n" -#gdb_expect { -# -re "type = int.*$gdb_prompt $" { pass "ptype signed int" } -# -re ".*$gdb_prompt $" { fail "ptype signed int" } -# timeout { fail "(timeout) ptype signed int" } -#} -# -# -#send "ptype v_unsigned_int\n" -#gdb_expect { -# -re "type = unsigned int.*$gdb_prompt $" { pass "ptype unsigned int" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned int" } -# timeout { fail "(timeout) ptype unsigned int" } -#} -# -# -#send "ptype v_long\n" -#gdb_expect { -# -re "type = long.*$gdb_prompt $" { pass "ptype long" } -# -re ".*$gdb_prompt $" { fail "ptype long" } -# timeout { fail "(timeout) ptype long" } -#} -# -# -#send "ptype v_signed_long\n" -#gdb_expect { -# -re "type = long.*$gdb_prompt $" { pass "ptype signed long" } -# -re ".*$gdb_prompt $" { fail "ptype signed long" } -# timeout { fail "(timeout) ptype signed long" } -#} -# -# -#send "ptype v_unsigned_long\n" -#gdb_expect { -# -re "type = unsigned long.*$gdb_prompt $" { pass "ptype unsigned long" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned long" } -# timeout { fail "(timeout) ptype unsigned long" } -#} -# -# -#send "ptype v_float\n" -#gdb_expect { -# -re "type = float.*$gdb_prompt $" { pass "ptype float" } -# -re ".*$gdb_prompt $" { fail "ptype float" } -# timeout { fail "(timeout) ptype float" } -#} -# -# -#send "ptype v_double\n" -#gdb_expect { -# -re "type = double.*$gdb_prompt $" { pass "ptype double" } -# -re ".*$gdb_prompt $" { fail "ptype double" } -# timeout { fail "(timeout) ptype double" } -#} - - -# -# test ptype command with arrays -# -#setup_xfail "i960-*-*" 1821 -#setup_xfail "mips-idt-*" "mips-sgi-*" "a29k-*-*" -#send "ptype v_char_array\n" -#gdb_expect { -# -re "type = char .2..*$gdb_prompt $" { pass "ptype char array" } -# -re ".*$gdb_prompt $" { fail "ptype char array" } -# timeout { fail "(timeout) ptype char array" } -#} -# -# -#setup_xfail "mips-*-*" "a29k-*-*" -#send "ptype v_signed_char_array\n" -#gdb_expect { -# -re "type = (|signed )char .2..*$gdb_prompt $" { pass "ptype signed char array" } -# -re ".*$gdb_prompt $" { fail "ptype signed char array" } -# timeout { fail "(timeout) ptype signed char array" } -#} -# -# -#send "ptype v_unsigned_char_array\n" -#gdb_expect { -# -re "type = unsigned char .2..*$gdb_prompt $" { pass "ptype unsigned char array" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned char array" } -# timeout { fail "(timeout) ptype unsigned char array" } -#} -# -# -# -#send "ptype v_int_array\n" -#gdb_expect { -# -re "type = int .2..*$gdb_prompt $" { pass "ptype int array" } -# -re ".*$gdb_prompt $" { fail "ptype int array" } -# timeout { fail "(timeout) ptype int array" } -#} -# -# -#send "ptype v_signed_int_array\n" -#gdb_expect { -# -re "type = int .2..*$gdb_prompt $" { pass "ptype signed int array" } -# -re ".*$gdb_prompt $" { fail "ptype signed int array" } -# timeout { fail "(timeout) ptype signed int array" } -#} -# -# -#send "ptype v_unsigned_int_array\n" -#gdb_expect { -# -re "type = unsigned int .2..*$gdb_prompt $" { pass "ptype unsigned int array" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned int array" } -# timeout { fail "(timeout) ptype unsigned int array" } -#} -# -# -#send "ptype v_long_array\n" -#gdb_expect { -# -re "type = (long|int|long int) .2..*$gdb_prompt $" { -# pass "ptype long array" } -# -re ".*$gdb_prompt $" { fail "ptype long array" } -# timeout { fail "(timeout) ptype long array" } -#} -# -# -#send "ptype v_signed_long_array\n" -#gdb_expect { -# -re "type = (long|int|long int) .2..*$gdb_prompt $" { -# pass "ptype signed long array" } -# -re ".*$gdb_prompt $" { fail "ptype signed long array" } -# timeout { fail "(timeout) ptype signed long array" } -#} -# -# -#send "ptype v_unsigned_long_array\n" -#gdb_expect { -# -re "type = unsigned long .2..*$gdb_prompt $" { pass "ptype unsigned long array" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned long array" } -# timeout { fail "(timeout) ptype unsigned long array" } -#} -# -# -#send "ptype v_float_array\n" -#gdb_expect { -# -re "type = float .2..*$gdb_prompt $" { pass "ptype float array" } -# -re ".*$gdb_prompt $" { fail "ptype float array" } -# timeout { fail "(timeout) ptype float array" } -#} -# -# -#send "ptype v_double_array\n" -#gdb_expect { -# -re "type = double .2..*$gdb_prompt $" { pass "ptype double array" } -# -re ".*$gdb_prompt $" { fail "ptype double array" } -# timeout { fail "(timeout) ptype double array" } -#} -# - -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "i*86-*-sysv4*" } -setup_xfail_format "DWARF 1" -gdb_test "ptype t_char_array" "type = (|unsigned )char \\\[0?\\\]" - -# -## -## test ptype command with pointers -## -#setup_xfail "i960-*-*" 1821 -#setup_xfail "mips-idt-*" "mips-sgi-*" "a29k-*-*" -#send "ptype v_char_pointer\n" -#gdb_expect { -# -re "type = char \*.*$gdb_prompt $" { pass "ptype char pointer" } -# -re ".*$gdb_prompt $" { fail "ptype char pointer" } -# timeout { fail "(timeout) ptype char pointer" } -#} -# -# -#setup_xfail "mips-*-*" "a29k-*-*" -#send "ptype v_signed_char_pointer\n" -#gdb_expect { -# -re "type = (|signed )char \*.*$gdb_prompt $" -# { pass "ptype signed char pointer" } -# -re ".*$gdb_prompt $" { fail "ptype signed char pointer" } -# timeout { fail "(timeout) ptype signed char pointer" } -#} -# -# -#send "ptype v_unsigned_char_pointer\n" -#gdb_expect { -# -re "type = unsigned char \*.*$gdb_prompt $" { pass "ptype unsigned char pointer" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned char pointer" } -# timeout { fail "(timeout) ptype unsigned char pointer" } -#} -# -# -#send "ptype v_short_pointer\n" -#gdb_expect { -# -re "type = (short|short int) \*.*$gdb_prompt $" { pass "ptype short pointer" } -# -re ".*$gdb_prompt $" { fail "ptype short pointer" } -# timeout { fail "(timeout) ptype short pointer" } -#} -# -# -#send "ptype v_signed_short_pointer\n" -#gdb_expect { -# -re "type = short \*.*$gdb_prompt $" { pass "ptype signed short pointer" } -# -re ".*$gdb_prompt $" { fail "ptype signed short pointer" } -# timeout { fail "(timeout) ptype signed short pointer" } -#} -# -# -#send "ptype v_unsigned_short_pointer\n" -#gdb_expect { -# -re "type = unsigned short \*.*$gdb_prompt $" { pass "ptype unsigned short pointer" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned short pointer" } -# timeout { fail "(timeout) ptype unsigned short pointer" } -#} -# -# -#send "ptype v_int_pointer\n" -#gdb_expect { -# -re "type = int \*.*$gdb_prompt $" { pass "ptype int pointer" } -# -re ".*$gdb_prompt $" { fail "ptype int pointer" } -# timeout { fail "(timeout) ptype int pointer" } -#} -# -# -#send "ptype v_signed_int_pointer\n" -#gdb_expect { -# -re "type = int \*.*$gdb_prompt $" { pass "ptype signed int pointer" } -# -re ".*$gdb_prompt $" { fail "ptype signed int pointer" } -# timeout { fail "(timeout) ptype signed int pointer" } -#} -# -# -#send "ptype v_unsigned_int_pointer\n" -#gdb_expect { -# -re "type = unsigned int \*.*$gdb_prompt $" { pass "ptype unsigned int pointer" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned int pointer" } -# timeout { fail "(timeout) ptype unsigned int pointer" } -#} -# -# -#send "ptype v_long_pointer\n" -#gdb_expect { -# -re "type = long \*.*$gdb_prompt $" { pass "ptype long pointer" } -# -re ".*$gdb_prompt $" { fail "ptype long pointer" } -# timeout { fail "(timeout) ptype long pointer" } -#} -# -# -#send "ptype v_signed_long_pointer\n" -#gdb_expect { -# -re "type = long \*.*$gdb_prompt $" { pass "ptype signed long pointer" } -# -re ".*$gdb_prompt $" { fail "ptype signed long pointer" } -# timeout { fail "(timeout) ptype signed long pointer" } -#} -# -# -#send "ptype v_unsigned_long_pointer\n" -#gdb_expect { -# -re "type = unsigned long \*.*$gdb_prompt $" { pass "ptype unsigned long pointer" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned long pointer" } -# timeout { fail "(timeout) ptype unsigned long pointer" } -#} -# -# -#send "ptype v_float_pointer\n" -#gdb_expect { -# -re "type = float \*.*$gdb_prompt $" { pass "ptype float pointer" } -# -re ".*$gdb_prompt $" { fail "ptype float pointer" } -# timeout { fail "(timeout) ptype float pointer" } -#} -# -# -#send "ptype v_double_pointer\n" -#gdb_expect { -# -re "type = double \*.*$gdb_prompt $" { pass "ptype double pointer" } -# -re ".*$gdb_prompt $" { fail "ptype double pointer" } -# timeout { fail "(timeout) ptype double pointer" } -#} - -# -# test ptype command with nested structure and union -# -gdb_test "ptype struct outer_struct" "type = struct outer_struct \{.*\[\r\n\] int outer_int;.*\[\r\n\] struct inner_struct inner_struct_instance;.*\[\r\n\] union inner_union inner_union_instance;.*\[\r\n\] (long|long int|int) outer_long;.*\[\r\n\]\}.*" "ptype outer structure" - -gdb_test "ptype struct inner_struct" "type = struct inner_struct \{.*\[\r\n\] int inner_int;.*\[\r\n\] (long|long int|int) inner_long;.*\[\r\n\]\}.*" "ptype inner structure" - -gdb_test "ptype union inner_union" "type = union inner_union \{.*\[\r\n\] int inner_union_int;.*\[\r\n\] (long|long int|int) inner_union_long;.*\[\r\n\]\}.*" "ptype inner union" - -gdb_test "ptype nested_su" "type = struct outer_struct \{.*\[\r\n\] int outer_int;.*\[\r\n\] struct inner_struct inner_struct_instance;.*\[\r\n\] union inner_union inner_union_instance;.*\[\r\n\] (long|long int|int) outer_long;.*\[\r\n\]\}.*" "ptype nested structure" - -gdb_test "ptype nested_su.outer_int" "type = int.*" "ptype outer int" - -gdb_test "ptype nested_su.inner_struct_instance" "type = struct inner_struct \{.*\[\r\n\] int inner_int;.*\[\r\n\] (long|long int|int) inner_long;.*\[\r\n\]\}.*" "ptype nested structure" - -gdb_test "ptype nested_su.inner_struct_instance.inner_int" "type = int.*" "ptype inner int" - -gdb_test "ptype nested_su.inner_union_instance" "type = union inner_union \{.*\[\r\n\] int inner_union_int;.*\[\r\n\] (long|long int|int) inner_union_long;.*\[\r\n\]\}.*" "ptype nested union" - -# Test printing type of string constants and array constants, but -# requires a running process. These call malloc, and can take a long -# time to execute over a slow serial link, so increase the timeout. - -# UDI can't do this (PR 2416). XFAIL is not suitable, because attempting -# the operation causes a slow painful death rather than a nice simple failure. - -if [runto_main] then { - - get_debug_format - if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - continue - } - - gdb_test "ptype \"abc\"" "type = char \\\[4\\\]" - gdb_test "ptype {'a','b','c'}" "type = char \\\[3\\\]" - gdb_test "ptype {0,1,2}" "type = int \\\[3\\\]" - gdb_test "ptype {(long)0,(long)1,(long)2}" "type = long \\\[3\\\]" - gdb_test "ptype {(float)0,(float)1,(float)2}" "type = float \\\[3\\\]" - gdb_test "ptype {{0,1,2},{3,4,5}}" "type = int \\\[2\\\]\\\[3\\\]" - gdb_test "ptype {4,5,6}\[2\]" "type = int" - gdb_test "ptype *&{4,5,6}\[1\]" "type = int" -} diff --git a/gdb/testsuite/gdb.base/radix.exp b/gdb/testsuite/gdb.base/radix.exp deleted file mode 100644 index ae288d0..0000000 --- a/gdb/testsuite/gdb.base/radix.exp +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright (C) 1993 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -proc test_input_radix_2 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 2" \ - "Input radix now set to decimal 2, hex 2, octal 2." - gdb_test "show radix" \ - "Input radix set to decimal 2, hex 2, octal 2.\r\nOutput radix set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "2" - gdb_test "p -101" "-5" - gdb_test "p 101" "5" - gdb_test "p 10101" "21" - gdb_test "p 4" "Invalid number \"4\"" - gdb_test "p -2" "Invalid number \"2\"" -} - -# Test input radix 3 (an non-typical radix) - -proc test_input_radix_3 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 3" \ - "Input radix now set to decimal 3, hex 3, octal 3." - gdb_test "show radix" \ - "Input radix set to decimal 3, hex 3, octal 3.\r\nOutput radix set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "3" - gdb_test "p 0" "0" - gdb_test "p 1" "1" - gdb_test "p 2" "2" - gdb_test "p 10" "3" - gdb_test "p 20" "6" - gdb_test "p 100" "9" - gdb_test "p -100" "-9" - gdb_test "p 3" "Invalid number \"3\"." - gdb_test "p 30" "Invalid number \"30\"." -} - -proc test_input_radix_8 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 8" \ - "Input radix now set to decimal 8, hex 8, octal 10." - gdb_test "show radix" \ - "Input radix set to decimal 8, hex 8, octal 10.\r\nOutput radix set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "8" - gdb_test "p 20" "16" - gdb_test "p -20" "-16" - gdb_test "p 100" "64" - gdb_test "p 8" "Invalid number \"8\"." - gdb_test "p -9" "Invalid number \"9\"." -} - -proc test_input_radix_10 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 10" \ - "Input radix now set to decimal 10, hex a, octal 12." - gdb_test "show radix" \ - "Input and output radices set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "10" - gdb_test "p -12" "-12" -} - -proc test_input_radix_16 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 16" \ - "Input radix now set to decimal 16, hex 10, octal 20." - gdb_test "show radix" \ - "Input radix set to decimal 16, hex 10, octal 20.\r\nOutput radix set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "16" - gdb_test "p 100" "256" -} - -proc test_output_radix_8 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set output-radix 8" \ - "Output radix now set to decimal 8, hex 8, octal 10." - gdb_test "show radix" \ - "Input radix set to decimal 10, hex a, octal 12.\r\nOutput radix set to decimal 8, hex 8, octal 10." - gdb_test "p 010" "010" - # FIXME: If gdb can't handle float printing in different radices, it - # should at least warn once the first time that is attempted. - setup_xfail "*-*-*" - gdb_test "p 20." "24" "Float printing when output radix is 8" - gdb_test "p (int) 20." "24" - gdb_test "p 0xf" "17" - gdb_test "p 10" "12" - gdb_test "p 100" "144" -} - -proc test_output_radix_10 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set output-radix 10" \ - "Output radix now set to decimal 10, hex a, octal 12." - gdb_test "show radix" \ - "Input and output radices set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "10" - gdb_test "p 100" "100" -} - -proc test_output_radix_16 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set output-radix 16" \ - "Output radix now set to decimal 16, hex 10, octal 20." - gdb_test "show radix" \ - "Input radix set to decimal 10, hex a, octal 12.\r\nOutput radix set to decimal 16, hex 10, octal 20." - gdb_test "p 010" "8" - # FIXME: If gdb can't handle float printing in different radices, it - # should at least warn once the first time that is attempted. - setup_xfail "*-*-*" - gdb_test "p 20." "14" "Float printing when output radix is 16" - gdb_test "p (int) 20." "14" - gdb_test "p 0xf" "f" - gdb_test "p 10" "a" - gdb_test "p 100" "64" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start - -test_input_radix_2 -test_input_radix_3 -test_input_radix_8 -test_input_radix_10 -test_input_radix_16 -test_output_radix_8 -test_output_radix_10 -test_output_radix_16 diff --git a/gdb/testsuite/gdb.base/recurse.c b/gdb/testsuite/gdb.base/recurse.c deleted file mode 100644 index 6ae93a5..0000000 --- a/gdb/testsuite/gdb.base/recurse.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Trivial code used to test watchpoints in recursive code and - auto-deletion of watchpoints as they go out of scope. */ - -static int -recurse (a) - int a; -{ - int b = 0; - - if (a == 1) - return 1; - - b = a; - b *= recurse (a - 1); - return b; -} - -main() -{ - recurse (10); -} diff --git a/gdb/testsuite/gdb.base/recurse.exp b/gdb/testsuite/gdb.base/recurse.exp deleted file mode 100644 index 68524a9..0000000 --- a/gdb/testsuite/gdb.base/recurse.exp +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright (C) 1992, 1996 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 Jeff Law. (law@cs.utah.edu) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "recurse" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -proc recurse_tests {} { - - if [runto recurse] then { - # First we need to step over the assignment of b, so it has a known - # value. - gdb_test "next" "if \\(a == 1\\)" "next over b = 0 in first instance" - gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: b" \ - "set first instance watchpoint" - - # Continue until initial set of b. - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 0.*New value = 10.*" \ - "continue to first instance watchpoint, first time"] then { - return - } - - # Continue inward for a few iterations - gdb_test "continue" "Breakpoint.* recurse \\(a=9\\).*" \ - "continue to recurse (a = 9)" - gdb_test "continue" "Breakpoint.* recurse \\(a=8\\).*" \ - "continue to recurse (a = 8)" - gdb_test "continue" "Breakpoint.* recurse \\(a=7\\).*" \ - "continue to recurse (a = 7)" - gdb_test "continue" "Breakpoint.* recurse \\(a=6\\).*" \ - "continue to recurse (a = 6)" - gdb_test "continue" "Breakpoint.* recurse \\(a=5\\).*" \ - "continue to recurse (a = 5)" - - # Put a watchpoint on another instance of b - # First we need to step over the assignment of b, so it has a known - # value. - gdb_test "next" "if \\(a == 1\\)" "next over b = 0 in second instance" - gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: b" \ - "set second instance watchpoint" - - # Continue until initial set of b (second instance). - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 0.*New value = 5.*"\ - "continue to second instance watchpoint, first time"] then { - return - } - - # Continue inward for a few iterations - gdb_test "continue" "Breakpoint.* recurse \\(a=4\\).*" \ - "continue to recurse (a = 4)" - gdb_test "continue" "Breakpoint.* recurse \\(a=3\\).*" \ - "continue to recurse (a = 3)" - gdb_test "continue" "Breakpoint.* recurse \\(a=2\\).*" \ - "continue to recurse (a = 2)" - gdb_test "continue" "Breakpoint.* recurse \\(a=1\\).*" \ - "continue to recurse (a = 1)" - - # Continue until second set of b (second instance). - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 5.*New value = 120.*return.*" \ - "continue to second instance watchpoint, second time"] then { - return - } - - # Continue again. We should have a watchpoint go out of scope now - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*deleted.*recurse \\(a=6\\) .*" \ - "second instance watchpoint deleted when leaving scope"] then { - return - } - - # Continue until second set of b (first instance). - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*b.*Old value = 10.*New value = 3628800.*return.*" \ - "continue to first instance watchpoint, second time"] then { - return - } - - # Continue again. We should have a watchpoint go out of scope now - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*deleted.*main \\(\\) .*" \ - "first instance watchpoint deleted when leaving scope"] then { - return - } - } -} - -# Only enabled for some targets merely because it has not been tested -# elsewhere. -if {[istarget "sparc*-*-sunos4*"] || [istarget "hppa*-*-bsd*"] || [istarget "sparclet-*-*"] || [istarget "m32r-*-elf"] || [istarget "mn10200-*-*"]} then { - - # Preserve the old timeout, and set a new one that should be - # sufficient to avoid timing out during this test. - set oldtimeout $timeout - set timeout [expr "$timeout + 60"] - verbose "Timeout is now $timeout seconds" 2 - - recurse_tests - - # Restore the preserved old timeout value. - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 -} diff --git a/gdb/testsuite/gdb.base/regs.exp b/gdb/testsuite/gdb.base/regs.exp deleted file mode 100644 index 91cd699..0000000 --- a/gdb/testsuite/gdb.base/regs.exp +++ /dev/null @@ -1,85 +0,0 @@ -# Tests of register displays for GDB. -# Copyright 1994, 1995 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Stan Shebs. (shebs@cygnus.com) - -# This does not (yet) have an associated executable, since the IDT board -# will display registers even without a program being loaded. -# A more comprehensive register test would actually test reading -# and writing of registers in a real program, although some care -# would be required in the writing of the tests. - -if $tracelevel then { - strace $tracelevel - } - -# These tests exercise IDT-specific MIPS registers for several -# different processor models. - -# This should detect the actual processor in use and change -# the expected results appropriately. FIXME - -proc idt_register_tests { } { - # Test the generic IDT chip. - gdb_test "info registers" ".*" - gdb_test "info register zero" "zero(r0): 0x0;" - # FIXME access each generic register individually - # Test the 3041. - gdb_test "set processor r3041" ".*" - gdb_test "info registers" ".*" - gdb_test "info register bus" "bus.*0x.*" - gdb_test "info register ccfg" "ccfg.*0x.*" - gdb_test "info register port" "port.*0x.*" - gdb_test "info register cmp" "cmp.*0x.*" - gdb_test "info register elo" "elo: invalid register" - gdb_test "info register ehi" "ehi: invalid register" - gdb_test "info register cfg" "cfg: invalid register" - gdb_test "info register ctxt" "ctxt: invalid register" - # Test the 3051. - gdb_test "set processor r3051" ".*" - gdb_test "info registers" ".*" - gdb_test "info register bus" "bus: invalid register" - gdb_test "info register ccfg" "ccfg: invalid register" - gdb_test "info register port" "port: invalid register" - gdb_test "info register cmp" "cmp: invalid register" - gdb_test "info register elo" "elo.*0x.*" - gdb_test "info register ehi" "ehi.*0x.*" - gdb_test "info register cfg" "cfg: invalid register" - gdb_test "info register ctxt" "ctxt: invalid register" - # Test the 3071. - gdb_test "set processor r3071" ".*" - gdb_test "info registers" ".*" - gdb_test "info register bus" "bus: invalid register" - gdb_test "info register ccfg" "ccfg: invalid register" - gdb_test "info register port" "port: invalid register" - gdb_test "info register cmp" "cmp: invalid register" - gdb_test "info register elo" "elo.*0x.*" - gdb_test "info register ehi" "ehi.*0x.*" - gdb_test "info register cfg" "cfg.*0x.*" - gdb_test "info register ctxt" "ctxt.*0x.*" -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -if [istarget "mips*-idt-*"] then { - idt_register_tests -} diff --git a/gdb/testsuite/gdb.base/reread.exp b/gdb/testsuite/gdb.base/reread.exp deleted file mode 100644 index 05fc054..0000000 --- a/gdb/testsuite/gdb.base/reread.exp +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright (C) 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 $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set prototypes 1 - -# build the first test case - -set testfile1 "reread1" -set srcfile1 ${testfile1}.c -set binfile1 ${objdir}/${subdir}/${testfile1} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile1}" "${binfile1}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# build the second test case - -set testfile2 "reread2" -set srcfile2 ${testfile2}.c -set binfile2 ${objdir}/${subdir}/${testfile2} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${binfile2}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# Start with a fresh gdb. - -set testfile "reread" -set binfile ${objdir}/${subdir}/${testfile} - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -set prms_id 13484 -set bug_id 0 - -# Load the first executable. - -gdb_test "shell mv ${binfile1} ${binfile}" "" "" -gdb_load ${binfile} - -# Set a breakpoint at foo - -gdb_test "break foo" \ - "Breakpoint.*at.* file .*$srcfile1, line 14.*" \ - "breakpoint foo in first file" - - -# Run, should see "Breakpoint 1, foo () at hello1.c:14" - -gdb_run_cmd - -gdb_expect { - -re ".*Breakpoint.* foo .* at .*$srcfile1:14.*$gdb_prompt $" { - pass "run to foo()"; - } - -re ".*$gdb_prompt $" { - fail "run to foo()"; - gdb_suppress_tests; - } - timeout { fail "run to foo() (timeout)" ; gdb_suppress_tests } -} - -# Restore first executable to its original name, and move -# second executable into its place. - -gdb_test "shell mv ${binfile} ${binfile1}" "" "" -gdb_test "shell mv ${binfile2} ${binfile}" "" "" -gdb_test "shell touch ${binfile}" "" "" - -# Run a second time; GDB should detect that the executable has changed -# and reset the breakpoints correctly. -# Should see "Breakpoint 1, foo () at reread2.c:9" - -gdb_run_cmd -gdb_expect { -# -re ".*re-reading symbols.*Breakpoint.* foo .* at .*$srcfile2:9.*$gdb_prompt $" {} - -re ".*Breakpoint.* foo .* at .*:9.*$gdb_prompt $" { - pass "run to foo() second time "; - } - -re ".*$gdb_prompt $" { - fail "run to foo() second time"; - gdb_suppress_tests; - } - timeout { fail "run to foo() second time (timeout)" ; gdb_suppress_tests } -} - -# End of tests. - -gdb_stop_suppressing_tests - -return 0 diff --git a/gdb/testsuite/gdb.base/reread1.c b/gdb/testsuite/gdb.base/reread1.c deleted file mode 100644 index ae98010..0000000 --- a/gdb/testsuite/gdb.base/reread1.c +++ /dev/null @@ -1,26 +0,0 @@ -/* pr 13484 */ - -#include <stdio.h> - -int x; - -void bar() -{ - x--; -} - -void foo() -{ - x++; -} - -int main() -{ -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - foo(); - bar(); - return 0; -} diff --git a/gdb/testsuite/gdb.base/reread2.c b/gdb/testsuite/gdb.base/reread2.c deleted file mode 100644 index fd9f7b7..0000000 --- a/gdb/testsuite/gdb.base/reread2.c +++ /dev/null @@ -1,21 +0,0 @@ -/* pr 13484 */ - -#include <stdio.h> - -int x; - -void foo() -{ - x++; - printf("This is foo\n"); -} - -int main() -{ -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - foo(); - return 0; -} diff --git a/gdb/testsuite/gdb.base/return.c b/gdb/testsuite/gdb.base/return.c deleted file mode 100644 index 73eee61..0000000 --- a/gdb/testsuite/gdb.base/return.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Test "return" command. */ - -func1 () -{ - printf("in func1\n"); -} - -int -func2 () -{ - return -5; -} - -double -func3 () -{ - return -5.0; -} - -main () -{ - func1 (); - printf("in main after func1\n"); - printf("func2 = %d\n", func2 ()); - printf("func3 = %f\n", func3 ()); -} diff --git a/gdb/testsuite/gdb.base/return.exp b/gdb/testsuite/gdb.base/return.exp deleted file mode 100644 index 612cf1e..0000000 --- a/gdb/testsuite/gdb.base/return.exp +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright (C) 1992 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 Jeff Law. (law@cs.utah.edu) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "return" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc return_tests { } { - global prompt - - - if { ! [ runto func1 ] } then { return 0 } - send_gdb "return\n" - expect { - -re "Make .* return now.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "func1 ..;.*$prompt $" { - send_gdb "step\n" - exp_continue - } - -re ".*in main after func1.*$prompt $" { pass "simple return" } - -re "$prompt $" { fail "simple return" } - timeout { fail "(timeout) simple return" } - } - - # Set breakpoints in other interesting functions. - gdb_test "break func2" "" "break func2" - gdb_test "break func3" "" "break func3" - - gdb_test "continue" "return -5;" "continue to return of -5" - send_gdb "return 5\n" - expect { - -re "Make .* return now.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re ".*tmp2 = func2.*$prompt $" { } - -re "$prompt $" { fail "did not return (integer test)" } - timeout { fail "(timeout) did not return (integer test)" } - } - gdb_test "next" "tmp3 = func3.*" "next over call to func2" - - gdb_test "p tmp2" ".* = 5" "correct value returned (integer test)" - - gdb_test "continue" "return -5.0;" "continue to return of -5.0" - send_gdb "return 5.0\n" - expect { - -re "Make .* return now.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re ".*tmp3 = func3.*$prompt $" { } - -re "$prompt $" { fail "did not return (double test)" } - timeout { fail "(timeout) did not return (double test)" } - } - - gdb_test "next" "printf.*" "next over call to func3" - - # This test is going to fail on all i*86 systems using an i*87. - # When returning a floating point value from a function, all known - # compilers do this via a `fldl' instruction, which pushes the floating - # value on the i387 stack. This causes two problems: - # a) Most i*86 targets do not store (or cannot store, see comment in - # in i386v-nat.c:i386_register_u_addr) the floating point registers - # to the target. - # b) gdb would have to figure out if the `fldl' instruction (or variants - # of it) has already been executed. If not, it would have to simulate - # a push instruction, as it is not enough to write the register, - # the floating point `stack pointer' has to be updated too. - # Do not expect this to get fixed anytime soon. - - # This test also fails for sparc Solaris 2.3 & 2.4, but passes under 2.5 - # At the time the `next' is issued, the floating point unit for the - # process is not yet initialized, and the storing of the floating - # point value to the floating point return register is ignored. - # Xfail it for current versions that are known to fail. Presumably - # if some future version does initialize the floating point unit at - # process start, making this test pass, it will be for a version that - # is not xfailed. - - setup_xfail "i*86-*-*" "sparc-*-solaris2.3*" "sparc-*-solaris2.4*" - gdb_test "p tmp3" ".* = 5.*" "correct value returned double test (known problem with i*86 and sparc solaris" -} - - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -set timeout 30 -return_tests diff --git a/gdb/testsuite/gdb.base/run.c b/gdb/testsuite/gdb.base/run.c deleted file mode 100644 index eb17bf3..0000000 --- a/gdb/testsuite/gdb.base/run.c +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This simple classical example of recursion is useful for - * testing stack backtraces and such. - */ - -#ifdef vxworks -# include <vxWorks.h> -# include <stdioLib.h> - -/* VxWorks does not supply atoi. */ -static int -atoi (z) - char *z; -{ - int i = 0; - - while (*z >= '0' && *z <= '9') - i = i * 10 + (*z++ - '0'); - return i; -} - -/* I don't know of any way to pass an array to VxWorks. This function - can be called directly from gdb. */ - -vxmain (arg) -char *arg; -{ - char *argv[2]; - - argv[0] = ""; - argv[1] = arg; - main (2, argv, (char **) 0); -} - -#else /* ! vxworks */ -# include <stdio.h> -#endif /* ! vxworks */ - -main (argc, argv, envp) -int argc; -char *argv[], **envp; -{ - if (argc != 2) { - printf ("usage: factorial <number>\n"); - return 1; - } else { - printf ("%d\n", factorial (atoi (argv[1]))); - } - return 0; -} - -int factorial (value) -int value; -{ - if (value > 1) { - value *= factorial (value - 1); - } - return (value); -} diff --git a/gdb/testsuite/gdb.base/scope.exp b/gdb/testsuite/gdb.base/scope.exp deleted file mode 100644 index 9a8292b..0000000 --- a/gdb/testsuite/gdb.base/scope.exp +++ /dev/null @@ -1,606 +0,0 @@ -# Copyright (C) 1992, 1994 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "scope" -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/scope0.c ${srcdir}/${subdir}/scope1.c" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile scope0.c to object" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# Test locating various things when stopped just inside main, after -# running init(). To prevent cascading of errors, we report the -# first one and quit. If all pass, then we print the pass results. - -proc test_at_main {} { - global gdb_prompt - global decimal - global det_file - global srcdir - global subdir - global gcc_compiled - - # skip past init. There may be a call to __main at the start of - # main, so the first next may only get us to the init call. - if [gdb_test "next" "$decimal.*foo \\(\\);" "next over init() in main" "$decimal.*init \\(\\);" "next"] { - return ; - } - - - # Print scope0.c::filelocal, which is 1 - - if [gdb_test "print filelocal" "\\\$$decimal = 1" "print filelocal" ] { - return ; - } - - - if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at main" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { - return ; - } - - - # Print scope0.c::filelocal_bss, which is 101 - - if [gdb_test "print filelocal_bss" "\\\$$decimal = 101" "print filelocal_bss" ] { - return ; - } - - - if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_main" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { - return ; - } - - - # Print scope0.c::filelocal_ro, which is 201 - - # No clue why the powerpc fails this test. - setup_xfail "powerpc-*-*" - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print filelocal_ro" "\\\$$decimal = 201" "print filelocal_ro in test_at_main" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - setup_xfail "powerpc-*-*" - if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { - return ; - } - - - # Print scope1.c::filelocal, which is 2 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { - return ; - } - - - # Print scope1.c::filelocal_bss, which is 102 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] { - return ; - } - - - # Print scope1.c::filelocal_ro, which is 202 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] { - return ; - } - - - # Print scope1.c::foo::funclocal, which is 3 - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"] { - return ; - } - - - # Print scope1.c::foo::funclocal_ro, which is 203 - - if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"] { - return ; - } - - - # Print scope1.c::bar::funclocal, which is 4 - - if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"] { - return ; - } - -} - -proc test_at_foo {} { - global gdb_prompt - global decimal - global det_file - global srcdir - global subdir - global gcc_compiled - - if [gdb_test "next" ".*bar \\(\\);" "" ] { - return ; - } - - - # Print scope0.c::filelocal, which is 1 - - if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at foo" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { - return ; - } - - - # Print scope0.c::filelocal_bss, which is 101 - - if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_foo" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { - return ; - } - - - # Print scope0.c::filelocal_ro, which is 201 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - setup_xfail "powerpc-*-*" - if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { - return ; - } - - - gdb_test "print filelocal" "\\\$$decimal = 2" "print filelocal at foo" - - # Print scope1.c::filelocal, which is 2 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { - return ; - } - - - gdb_test "print filelocal_bss" "\\\$$decimal = 102" \ - "print filelocal_bss at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss" - - - gdb_test "print filelocal_ro" "\\\$$decimal = 202" \ - "print filelocal_ro at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro" - - - # Print scope1.c::foo::funclocal, which is 3 - - gdb_test "print funclocal" "\\\$$decimal = 3" "print funclocal at foo" - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print foo::funclocal" "\\\$$decimal = 3" \ - "print foo::funclocal at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal" - - - # Print scope1.c::foo::funclocal_bss, which is 103 - - gdb_test "print funclocal_bss" "\\\$$decimal = 103" \ - "print funclocal_bss at foo" - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print foo::funclocal_bss" "\\\$$decimal = 103" \ - "print foo::funclocal_bss at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print 'scope1.c'::foo::funclocal_bss" "\\\$$decimal = 103" "print 'scope1.c'::foo::funclocal_bss at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss" - - - # Print scope1.c::foo::funclocal_ro, which is 203 - - gdb_test "print funclocal_ro" "\\\$$decimal = 203" \ - "print funclocal_ro at foo" - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" \ - "print foo::funclocal_ro at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro" - - - # Print scope1.c::bar::funclocal, which is 4 - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print bar::funclocal" "\\\$$decimal = 4" \ - "print bar::funclocal at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal" - -} - -proc test_at_bar {} { - global gdb_prompt - global decimal - global det_file - global srcdir - global subdir - global gcc_compiled - - if [gdb_test "next" ".*" "" ] { - return ; - } - - - # Print scope0.c::filelocal, which is 1 - - if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { - return ; - } - - - # Print scope0.c::filelocal_bss, which is 101 - - if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { - return ; - } - - - # Print scope0.c::filelocal_ro, which is 201 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - setup_xfail "powerpc-*-*" - if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro at bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { - return ; - } - - - # Print scope1.c::filelocal, which is 2 - - if [gdb_test "print filelocal" "\\\$$decimal = 2" "print filelocal at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { - return ; - } - - - # Print scope1.c::filelocal_bss, which is 102 - - if [gdb_test "print filelocal_bss" "\\\$$decimal = 102" "print filelocal_bss at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] { - return ; - } - - - # Print scope1.c::filelocal_ro, which is 202 - - if [gdb_test "print filelocal_ro" "\\\$$decimal = 202" "print filelocal_ro in test_at_bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] { - return ; - } - - - # Print scope1.c::foo::funclocal, which is 3 - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"] { - return ; - } - - - # Print scope1.c::foo::funclocal_bss, which is 103 - - if [gdb_test "print foo::funclocal_bss" "\\\$$decimal = 103" "print foo::funclocal_bss at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal_bss" "\\\$$decimal = 103" "print 'scope1.c'::foo::funclocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss"] { - return ; - } - - - # Print scope1.c::foo::funclocal_ro, which is 203 - - if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"] { - return ; - } - - - # Print scope1.c::bar::funclocal, which is 4 - - if [gdb_test "print funclocal" "\\\$$decimal = 4" "print funclocal at bar" ] { - return ; - } - - - if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"] { - return ; - } - - - # Print scope1.c::bar::funclocal_bss, which is 104 - - if [gdb_test "print funclocal_bss" "\\\$$decimal = 104" "print funclocal_bss at bar" ] { - return ; - } - - - if [gdb_test "print bar::funclocal_bss" "\\\$$decimal = 104" "print bar::funclocal_bss at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::bar::funclocal_bss" "\\\$$decimal = 104" "print 'scope1.c'::bar::funclocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal_bss"] { - return ; - } - -} - -# This test has little to do with local scopes, but it is in scope.exp anyway. -# That's life. - -proc test_at_autovars {} { - global gdb_prompt - global decimal - global hex - global srcfile - - # Test symbol table lookup with 100 local (auto) variables. - - gdb_breakpoint marker1 - - if [gdb_test "cont" "Break.* marker1 \\(\\) at .*:$decimal.*" "continue to marker1"] { - return; - } - - if [gdb_test "up" ".*" "" ] { - return ; - } - - set count 0 - while {$count < 100} { - if [gdb_test "print i$count" ".* = $count" "" ] { - return ; - } - - set count [expr $count+1] - } - clear_xfail "*-*-*" - pass "$count auto variables correctly initialized" - - # Test that block variable sorting is not screwing us. - gdb_test "frame" "#.*autovars \\(bcd=5, abc=6\\).*" "args in correct order" -} - -proc test_at_localscopes {} { - global gdb_prompt - global decimal - global hex - global srcfile - - gdb_breakpoint marker2 - gdb_breakpoint marker3 - gdb_breakpoint marker4 - - if [gdb_test "cont" "Break.* marker2 \\(\\) at .*:$decimal.*" "continue to marker2"] { - return; - } - if [gdb_test "up" ".*" "" ] { - return ; - } - - # Should be at first (outermost) scope. Check values. - - gdb_test "print localval" " = 10" "print localval, outer scope" - gdb_test "print localval1" " = 11" "print localval1, outer scope" - gdb_test "print localval2" "No symbol \"localval2\" in current context." \ - "print localval2, outer scope" - gdb_test "print localval3" "No symbol \"localval3\" in current context." \ - "print localval3, outer scope" - - if [gdb_test "cont" "Break.* marker3 \\(\\) at .*:$decimal.*" \ - "continue to marker3 in scope.exp"] then { return } - if [gdb_test "up" "" "up from marker3 in scope.exp"] then { return } - - # Should be at next (first nested) scope. Check values. - - gdb_test "print localval" " = 20" \ - "print localval, first nested scope" - gdb_test "print localval1" " = 11" "print localval1, first nested scope" - gdb_test "print localval2" " = 12" "print localval2, first nested scope" - gdb_test "print localval3" "No symbol \"localval3\" in current context." \ - "print localval3, first nested scope" - - # This test will only fail if the file was compiled by gcc, but - # there's no way to check that. - setup_xfail "a29k-*-udi" 2423 - if [gdb_test "cont" "Break.* marker4.*at .*:$decimal.*" \ - "continue to marker4 in scope.exp"] then { return } - if [gdb_test "up" "" "up from marker4 in scope.exp"] then { return } - - gdb_test "print localval" " = 30" "print localval, innermost scope" - gdb_test "print localval1" " = 11" "print localval1, innermost scope" - gdb_test "print localval2" " = 12" "print localval2, innermost scope" - gdb_test "print localval3" " = 13" "print localval3, innermost scope" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if [istarget "*-*-vxworks*"] { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 -} - -# Test that variables in various segments print out correctly before -# the program is run. - -# AIX--sections get mapped to the same address so we can't get the right one. -setup_xfail "rs6000-*-*" -setup_xfail "powerpc-*-*" - -gdb_test "print 'scope0.c'::filelocal_ro" "= 201" - -# gdb currently cannot access bss memory on some targets if the inferior -# is not running. -# -# For PA boards using monitor/remote-pa.c, the bss test is going to -# randomly fail. We've already put remote-pa on the target stack, -# so we actually read memory from the board. Problem is crt0.o -# is responsible for clearing bss and that hasnt' happened yet. -setup_xfail "hppa*-*-*pro*" -send_gdb "print 'scope0.c'::filelocal_bss\n" -gdb_expect { - -re " = 0\r\n$gdb_prompt $" { - pass "print 'scope0.c'::filelocal_bss before run" - } - -re "Cannot access memory.*$gdb_prompt $" { - setup_xfail "*-*-*" - fail "print 'scope0.c'::filelocal_bss before run" - } - -re ".*$gdb_prompt $" { - fail "print 'scope0.c'::filelocal_bss before run" - } - default { - fail "print 'scope0.c'::filelocal_bss before run" - } -} - -gdb_test "print 'scope0.c'::filelocal" "= 1" \ - "print 'scope0.c'::filelocal before run" - -if [runto_main] then { test_at_main } -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -if [runto foo] then { test_at_foo } -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -if [runto bar] then { test_at_bar } -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -if [runto localscopes] then { test_at_localscopes } -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -if [runto autovars] then { test_at_autovars } - -if [istarget "*-*-vxworks*"] { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 -} diff --git a/gdb/testsuite/gdb.base/scope0.c b/gdb/testsuite/gdb.base/scope0.c deleted file mode 100644 index 85af2e5..0000000 --- a/gdb/testsuite/gdb.base/scope0.c +++ /dev/null @@ -1,172 +0,0 @@ -static int filelocal = 1; /* In Data section */ -static int filelocal_bss; /* In BSS section */ -#ifndef __STDC__ -#define const /**/ -#endif -static const int filelocal_ro = 201; /* In Read-Only Data section */ - -main () -{ - init (); - foo (); - autovars (5, 6); - localscopes (0); -} - -/* On some systems, such as AIX, unreferenced variables are deleted - from the executable. */ -usestatics () -{ - useit (filelocal); - useit (filelocal_bss); - useit (filelocal_ro); -} - -init () -{ - filelocal_bss = 101; - init1 (); -} - -/* This is to derail optimizer in localscopes. - Return 1 + 2 + . . . + N. */ -int -sum_upto (n) - int n; -{ - int i; - int retval = 0; - - for (i = 1; i <= n; ++i) - retval += i; - return retval; -} - -int -useit (val) -{ - static int usedval; - - usedval = val; - return val + sum_upto (0); -} - -int -autovars (bcd, abc) - int bcd; - int abc; -{ - int i0 = useit (0), i1 = useit (1), i2 = useit (2); - int i3 = useit (3), i4 = useit (4), i5 = useit (5); - int i6 = useit (6), i7 = useit (7), i8 = useit (8); - int i9 = useit (9), i10 = useit (10), i11 = useit (11); - int i12 = useit (12), i13 = useit (13), i14 = useit (14); - int i15 = useit (15), i16 = useit (16), i17 = useit (17); - int i18 = useit (18), i19 = useit (19), i20 = useit (20); - int i21 = useit (21), i22 = useit (22), i23 = useit (23); - int i24 = useit (24), i25 = useit (25), i26 = useit (26); - int i27 = useit (27), i28 = useit (28), i29 = useit (29); - int i30 = useit (30), i31 = useit (31), i32 = useit (32); - int i33 = useit (33), i34 = useit (34), i35 = useit (35); - int i36 = useit (36), i37 = useit (37), i38 = useit (38); - int i39 = useit (39), i40 = useit (40), i41 = useit (41); - int i42 = useit (42), i43 = useit (43), i44 = useit (44); - int i45 = useit (45), i46 = useit (46), i47 = useit (47); - int i48 = useit (48), i49 = useit (49), i50 = useit (50); - int i51 = useit (51), i52 = useit (52), i53 = useit (53); - int i54 = useit (54), i55 = useit (55), i56 = useit (56); - int i57 = useit (57), i58 = useit (58), i59 = useit (59); - int i60 = useit (60), i61 = useit (61), i62 = useit (62); - int i63 = useit (63), i64 = useit (64), i65 = useit (65); - int i66 = useit (66), i67 = useit (67), i68 = useit (68); - int i69 = useit (69), i70 = useit (70), i71 = useit (71); - int i72 = useit (72), i73 = useit (73), i74 = useit (74); - int i75 = useit (75), i76 = useit (76), i77 = useit (77); - int i78 = useit (78), i79 = useit (79), i80 = useit (80); - int i81 = useit (81), i82 = useit (82), i83 = useit (83); - int i84 = useit (84), i85 = useit (85), i86 = useit (86); - int i87 = useit (87), i88 = useit (88), i89 = useit (89); - int i90 = useit (90), i91 = useit (91), i92 = useit (92); - int i93 = useit (93), i94 = useit (94), i95 = useit (95); - int i96 = useit (96), i97 = useit (97), i98 = useit (98); - int i99 = useit (99); - - /* Use all 100 of the local variables to derail agressive optimizers. */ - - useit ( i0); useit ( i1); useit ( i2); useit ( i3); useit ( i4); - useit ( i5); useit ( i6); useit ( i7); useit ( i8); useit ( i9); - useit (i10); useit (i11); useit (i12); useit (i13); useit (i14); - useit (i15); useit (i16); useit (i17); useit (i18); useit (i19); - useit (i20); useit (i21); useit (i22); useit (i23); useit (i24); - useit (i25); useit (i26); useit (i27); useit (i28); useit (i29); - useit (i30); useit (i31); useit (i32); useit (i33); useit (i34); - useit (i35); useit (i36); useit (i37); useit (i38); useit (i39); - useit (i40); useit (i41); useit (i42); useit (i43); useit (i44); - useit (i45); useit (i46); useit (i47); useit (i48); useit (i49); - useit (i50); useit (i51); useit (i52); useit (i53); useit (i54); - useit (i55); useit (i56); useit (i57); useit (i58); useit (i59); - useit (i60); useit (i61); useit (i62); useit (i63); useit (i64); - useit (i65); useit (i66); useit (i67); useit (i68); useit (i69); - useit (i70); useit (i71); useit (i72); useit (i73); useit (i74); - useit (i75); useit (i76); useit (i77); useit (i78); useit (i79); - useit (i80); useit (i81); useit (i82); useit (i83); useit (i84); - useit (i85); useit (i86); useit (i87); useit (i88); useit (i89); - useit (i90); useit (i91); useit (i92); useit (i93); useit (i94); - useit (i95); useit (i96); useit (i97); useit (i98); useit (i99); - - useit (abc); useit (bcd); - - marker1 (); - return i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + i10 - + i11 + i12 + i13 + i14 + i15 + i16 + i17 + i18 + i19 + i20 - + i21 + i22 + i23 + i24 + i25 + i26 + i27 + i28 + i29 + i30 - + i31 + i32 + i33 + i34 + i35 + i36 + i37 + i38 + i39 + i40 - + i41 + i42 + i43 + i44 + i45 + i46 + i47 + i48 + i49 + i50 - + i51 + i52 + i53 + i54 + i55 + i56 + i57 + i58 + i59 + i60 - + i61 + i62 + i63 + i64 + i65 + i66 + i67 + i68 + i69 + i70 - + i71 + i72 + i73 + i74 + i75 + i76 + i77 + i78 + i79 + i80 - + i81 + i82 + i83 + i84 + i85 + i86 + i87 + i88 + i89 + i90 - + i91 + i92 + i93 + i94 + i95 + i96 + i97 + i98 + i99 + abc + bcd; -} - -int -localscopes (x) - int x; -{ - int localval; - int retval; - int i; - - localval = 0; - useit (localval); - - { - int localval = x + 4 + sum_upto (3); /* 10 */ - int localval1 = x + 5 + sum_upto (3); /* 11 */ - - useit (localval); - useit (localval1); - marker2 (); - { - int localval = localval1 + 3 + sum_upto (3); /* 20 */ - int localval2 = localval1 + sum_upto (1); /* 12 */ - useit (localval); - useit (localval2); - marker3 (); - { - int localval = localval2 + 3 + sum_upto (5); /* 30 */ - int localval3 = localval2 + sum_upto (1); /* 13 */ - useit (localval); - useit (localval3); - marker4 (); - retval = x + localval1 + localval2 + localval3; - } - } - } - return retval; -} - -marker1 () {} -marker2 () {} -marker3 () {} -marker4 () {} diff --git a/gdb/testsuite/gdb.base/scope1.c b/gdb/testsuite/gdb.base/scope1.c deleted file mode 100644 index cccad6f..0000000 --- a/gdb/testsuite/gdb.base/scope1.c +++ /dev/null @@ -1,45 +0,0 @@ -static int filelocal = 2; /* In Data section */ -static int filelocal_bss; /* In BSS section */ -#ifndef __STDC__ -#define const /**/ -#endif -static const int filelocal_ro = 202; /* In Read-Only Data section */ - -foo () -{ - static int funclocal = 3; /* In Data section */ - static int funclocal_bss; /* In BSS section */ - static const int funclocal_ro = 203; /* RO Data */ - static const int funclocal_ro_bss; /* RO Data */ - - funclocal_bss = 103; - bar (); -} - -bar () -{ - static int funclocal = 4; /* In data section */ - static int funclocal_bss; /* In BSS section */ - funclocal_bss = 104; -} - -init1 () -{ - filelocal_bss = 102; -} - -/* On some systems, such as AIX, unreferenced variables are deleted - from the executable. */ -usestatics1 () -{ - useit1 (filelocal); - useit1 (filelocal_bss); - useit1 (filelocal_ro); -} - -useit1 (val) -{ - static int usedval; - - usedval = val; -} diff --git a/gdb/testsuite/gdb.base/sect-cmd.exp b/gdb/testsuite/gdb.base/sect-cmd.exp deleted file mode 100644 index 27bde04..0000000 --- a/gdb/testsuite/gdb.base/sect-cmd.exp +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright (C) 1997, 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 $tracelevel then { - strace $tracelevel - } - -global usestubs - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -# This test exists solely to exercise the "section" command for -# code-coverage on HP-UX. (So far as I can tell, the "section" -# command isn't needed on HP-UX, but probably is for embedded -# apps.) -# -if ![istarget "hppa*-*-hpux*"] then { - return -} - -set testfile "break" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { fail "section command tests suppressed" } - -# Get the $CODE$ section's starting address. -# -# (Note that this works for PA32 programs, which use the SOM file -# format. PA64 uses ELF, and when support for that is added, it's -# not clear that there'll be a section named "$CODE$" in such -# programs.) -# -send_gdb "info files\n" -gdb_expect { - -re ".*(0x\[0-9a-fA-F\]*) - (0x\[0-9a-fA-F\]*) is .CODE..*$gdb_prompt $"\ - {pass "info files"} - -re "$gdb_prompt $"\ - {fail "info files"} - timeout {fail "(timeout) info files"} -} - -# Reset the section to that same starting address, which should be -# harmless (i.e., we just want to exercise the section command). -# -send_gdb "section \$CODE\$ $expect_out(1,string)\n" -gdb_expect { - -re ".*$expect_out(1,string) \- $expect_out(2,string) is .CODE..*$gdb_prompt $"\ - {pass "set section command"} - -re "$gdb_prompt $"\ - {fail "set section command"} - timeout {fail "(timeout) set section command"} -} - -# Verify that GDB responds gracefully to a non-existent section name. -# -send_gdb "section FOOBARBAZ 0x1234\n" -gdb_expect { - -re "Section FOOBARBAZ not found\r\n$gdb_prompt $"\ - {pass "non-existent section disallowed"} - -re "$gdb_prompt $"\ - {fail "non-existent section disallowed"} - timeout {fail "(timeout) non-existent section disallowed"} -} - -# We "happen to know" that GDB uses a fixed size character buffer to -# parse the section name into, and the buffer is declared to be 100 -# characters in length. Verify that GDB gracefully handles section -# names longer than that. (The section is also non-existent.) -# -send_gdb "section A234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123 0x1234\n" -gdb_expect { - -re "Section A23456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 not found\r\n$gdb_prompt $"\ - {pass "non-existent too-long section disallowed"} - -re "$gdb_prompt $"\ - {fail "non-existent too-long section disallowed"} - timeout {fail "(timeout) non-existent too-long section disallowed"} -} - -gdb_exit -return 0 diff --git a/gdb/testsuite/gdb.base/setshow.c b/gdb/testsuite/gdb.base/setshow.c deleted file mode 100644 index 2ac7508..0000000 --- a/gdb/testsuite/gdb.base/setshow.c +++ /dev/null @@ -1,16 +0,0 @@ -/* IMPORTANT: leave this comment in the first line of this source file. */ -/* this will guarantee that line 1 contains no code. */ - -#include <stdio.h> - -int -main(argc, argv) - int argc; - char **argv; -{ - int i = 1; - - while (i < argc) - printf ("%s ", argv[i++]); - return 0; -} diff --git a/gdb/testsuite/gdb.base/setshow.exp b/gdb/testsuite/gdb.base/setshow.exp deleted file mode 100644 index 60736f3..0000000 --- a/gdb/testsuite/gdb.base/setshow.exp +++ /dev/null @@ -1,237 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 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) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "setshow" -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile ${srcfile} ${binfile} executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Start with a fresh gdb - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# -# Test gdb set and show commands. -# Add tests here for show and set that don't fit neatly elsewhere. -# FIXME: many rudimentary tests for set and show commands have been -# added below, but most do nothing more than check that a -# variable has been set successfully, ie. they do not test -# whether setting the variable has had the desired effect. -# - -#test default annotation_level is 0 -gdb_test "show annotate" "Annotation_level is 0..*" "default annotation_level is zero" - -#test set annotate 2 -send_gdb "set annotate 2\n" -gdb_expect { - -re ".*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" \ - { pass "set annotate 2" } - -re ".*$gdb_prompt $" { fail "set annotate 2" } - timeout { fail "(timeout) set annotate 2" } - } - -send_gdb "show annotate\n" -gdb_expect { - -re ".*\032\032post-prompt.*Annotation_level is 2..*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" \ - { pass "show annotate (2)" } - -re ".*$gdb_prompt $" { fail "show annotate (2)" } - timeout { fail "(timeout) show annotate (2)" } - } - -#test annotation_level 2 -send_gdb "info line 1\n" -gdb_expect { - -re ".*\032\032post-prompt.*Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" \ - { pass "annotation_level 2" } - -re ".*$gdb_prompt $" { fail "annotation_level 2" } - timeout { fail "(timeout) annotation_level 2" } - } - -#test set annotate 1 -gdb_test "set annotate 1" ".*post-prompt.*" "set annotate 1" -gdb_test "show annotate" "Annotation_level is 1..*" "show annotate (1)" -#test annotation_level 1 -gdb_test "info line 1" "Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*" "annotation_level 1" -#test set annotate 0 -gdb_test "set annotate 0" "" "set annotate 0" -gdb_test "show annotate" "Annotation_level is 0..*" "show annotate (0)" -#test annotation_level 0 -gdb_test "info line 1" "Line 1 of .* is at address .* but contains no code.*" "annotation_level 0" -#test set args -gdb_test "set args foo bar blup baz bubble" "" "set args" -#test show args -gdb_test "show args" "Arguments to give program being debugged when it is started is \"foo bar blup baz bubble\"..*" "show args" - -# Don't test if we can't pass args or if we're using a stub. -if { ![target_info exists gdb,use_stub] && ![target_info exists noargs] } { - #test passing args - gdb_test "run" "Starting program:.*foo bar blup baz bubble.*" "passing args" -} -#test set check range on -gdb_test "set check range on" "" "set check range on" -#test show check range on -gdb_test "show check range" "Range checking is \"on\"\..*" "show check range (on)" -#test set check range auto -gdb_test "set check range auto" "" "set check range auto" -#test show check range auto -gdb_test "show check range" "Range checking is \"auto; currently .*" "show check range (auto)" -#test set check type on -gdb_test "set check type on" "" "set check type on" -#test show check type on -gdb_test "show check type" "Type checking is \"on\"..*" "show check type (on)" -#test set check type auto -gdb_test "set check type auto" "" "set check type auto" -#test show check type -gdb_test "show check type" "Type checking is \"auto; currently .*" "show check type (auto)" -#test set complaints 100 -gdb_test "set complaints 100" "" "set complaints 100" -#test show complaints 100 -gdb_test "show complaints" "Max number of complaints about incorrect symbols is 100..*" "show complaints (100)" -#test set complaints 0 -gdb_test "set complaints 0" "" "set complaints 0" -#test show complaints 0 -gdb_test "show complaints" "Max number of complaints about incorrect symbols is 0..*" "show complaints (0)" -#test set confirm off -gdb_test "set confirm off" "" "set confirm off" -#test show confirm off -gdb_test "show confirm" "Whether to confirm potentially dangerous operations is off..*" "show confirm (off)" -#test set confirm on -gdb_test "set confirm on" "" "set confirm on" -#test show confirm on -gdb_test "show confirm" "Whether to confirm potentially dangerous operations is on..*" "show confirm (on)" -#test set editing off -gdb_test "set editing off" "" "set editing off" -#test show editing off -gdb_test "show editing" "Editing of command lines as they are typed is off..*" "show editing (off)" -#test set editing on -#gdb_test "set editing on" "" "set editing on" -#test show editing on -#gdb_test "show editing" "Editing of command lines as they are typed is on..*" "show editing (on)" -#test set environment FOOBARBAZ -gdb_test "set environment FOOBARBAZ = grbxgrbxgrbx" "" "set environment FOOBARBAZ" -#test show environment FOOBARBAZ -gdb_test "show environment FOOBARBAZ" "FOOBARBAZ = grbxgrbxgrbx.*" "show environment FOOBARBAZ" -#test set height 100 -gdb_test "set height 100" "" "set height 100" -#test show height 100 -gdb_test "show height" "Number of lines gdb thinks are in a page is 100..*" "show height" -#test set history expansion on -gdb_test "set history expansion on" "" "set history expansion on" -#test show history expansion on -gdb_test "show history expansion on" "History expansion on command input is on.*" "show history expansion" -#test set history filename foobar.baz -gdb_test "set history filename foobar.baz" "" "set history filename foobar.baz" -#test show history filename foobar.baz -gdb_test "show history filename" "The filename in which to record the command history is \"foobar.baz\"..*" "show history filename (foobar.baz)" -#test set history save on -gdb_test "set history save on" "" "set history save on" -#test show history save on -gdb_test "show history save" "Saving of the history record on exit is on..*" "show history save (on)" -#test set history size 100 -gdb_test "set history size 100" "" "set history size 100" -#test show history size 100 -gdb_test "show history size" "The size of the command history is 100..*" "show history size (100)" -#test set language asm -gdb_test "set language asm" "" "set language asm" -#test show language asm -gdb_test "show language" "The current source language is \"asm\"..*" "show language (asm)" -#test set language auto -gdb_test "set language auto" "" "set language auto" -#test show language -gdb_test "show language" "The current source language is \"auto.*\"..*" "show language (auto)" -#test set listsize 100 -gdb_test "set listsize 100" "" "set listsize 100" -#test show listsize 100 -gdb_test "show listsize" "Number of source lines gdb will list by default is 100..*" "show listsize (100)" - -if ![board_info target exists gdb_prompt] { - #test set prompt (FooBarBaz) - set newprompt "\\(FooBarBaz\\)" - send_gdb "set prompt (FooBarBaz) \n" - gdb_expect { - -re "$newprompt $" { pass "set prompt (FooBarBaz) " } - timeout { fail "(timeout) set prompt (FooBarBaz) " } - } - - #test show prompt (FooBarBaz) - send_gdb "show prompt\n" - gdb_expect { - -re "Gdb's prompt is \"$newprompt \"..* $" \ - { pass "show prompt (FooBarBaz) " } - timeout { fail "(timeout) show prompt (FooBarBaz) " } - } - - #test set prompt (gdb) - send_gdb "set prompt (gdb) \n" - gdb_expect { - -re "$gdb_prompt $" { pass "set prompt (gdb) " } - timeout { fail "(timeout) set prompt (gdb) " } - } -} - -#test set radix 11 -gdb_test "set radix 11" "Unsupported output radix ``decimal 11''; output radix unchanged..*" "set radix 11" -#test set radix 16 -gdb_test "set radix 16" "Input and output radices now set to decimal 16, hex 10, octal 20..*" "set radix 16" -#test show radix 16 -gdb_test "show radix" "Input and output radices set to decimal 16, hex 10, octal 20..*" "show radix (16)" -#test set radix 10 -gdb_test "set radix" "Input and output radices now set to decimal 10, hex a, octal 12..*" "set radix 10" -#test show radix 10 -gdb_test "show radix" "Input and output radices set to decimal 10, hex a, octal 12..*" "show radix (10)" -#test set width 90 -gdb_test "set width 90" "" "set width 90" -#test show width 90 -gdb_test "show width" "Number of characters gdb thinks are in a line is 90..*" "show width (90)" -#test set write on -# This is only supported on targets which use exec.o. -gdb_test "set write on" "" "set write on" -#test show write on -# This is only supported on targets which use exec.o. -gdb_test "show write" "Writing into executable and core files is on..*" "show write (on)" -#test set symbol-reloading on -gdb_test "set symbol-reloading on" "" "set symbol-reloading on" -#test show symbol-reloading on -gdb_test "show symbol-reloading" "Dynamic symbol table reloading multiple times in one run is on..*" "show symbol-reloading (on)" -#test show user -gdb_test "show user" "" "show user" -#test set verbose on -gdb_test "set verbose on" "" "set verbose on" -#test show verbose on -gdb_test "show verbose" "Verbose printing of informational messages is on..*" "show verbose (on)" -#test set verbose off -gdb_test "set verbose off" "" "set verbose off" -#test show verbose off -gdb_test "show verbose" "Verbosity is off..*" "show verbose (off)" diff --git a/gdb/testsuite/gdb.base/setvar.c b/gdb/testsuite/gdb.base/setvar.c deleted file mode 100644 index ee98b6f..0000000 --- a/gdb/testsuite/gdb.base/setvar.c +++ /dev/null @@ -1,248 +0,0 @@ -main (argc, argv, envp) - int argc; - char **argv; - char **envp; -{ - extern void dummy(); - dummy(); -} - -/* We put main() right up front so its line number doesn't keep changing. */ - -/* - * Test file with lots of different types, for testing the - * "whatis" command. - */ - -/* - * First the basic C types. - */ - -#if !defined (__STDC__) && !defined (_AIX) -#define signed /**/ -#endif - -char v_char; -signed char v_signed_char; -unsigned char v_unsigned_char; - -short v_short; -signed short v_signed_short; -unsigned short v_unsigned_short; - -int v_int; -signed int v_signed_int; -unsigned int v_unsigned_int; - -long v_long; -signed long v_signed_long; -unsigned long v_unsigned_long; - -float v_float; -double v_double; - -/* - * Now some derived types, which are arrays, functions-returning, - * pointers, structures, unions, and enumerations. - */ - -/**** arrays *******/ - -char v_char_array[2]; -signed char v_signed_char_array[2]; -unsigned char v_unsigned_char_array[2]; - -short v_short_array[2]; -signed short v_signed_short_array[2]; -unsigned short v_unsigned_short_array[2]; - -int v_int_array[2]; -signed int v_signed_int_array[2]; -unsigned int v_unsigned_int_array[2]; - -long v_long_array[2]; -signed long v_signed_long_array[2]; -unsigned long v_unsigned_long_array[2]; - -float v_float_array[2]; -double v_double_array[2]; - -/**** pointers *******/ - -char *v_char_pointer; -signed char *v_signed_char_pointer; -unsigned char *v_unsigned_char_pointer; - -short *v_short_pointer; -signed short *v_signed_short_pointer; -unsigned short *v_unsigned_short_pointer; - -int *v_int_pointer; -signed int *v_signed_int_pointer; -unsigned int *v_unsigned_int_pointer; - -long *v_long_pointer; -signed long *v_signed_long_pointer; -unsigned long *v_unsigned_long_pointer; - -float *v_float_pointer; -double *v_double_pointer; - -/**** structs *******/ - -struct t_struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct1; - -struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct2; - -/**** unions *******/ - -union t_union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union; - -union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union2; - -/*** Functions returning type ********/ - -char v_char_func () { return(0); } -signed char v_signed_char_func () { return (0); } -unsigned char v_unsigned_char_func () { return (0); } - -short v_short_func () { return (0); } -signed short v_signed_short_func () { return (0); } -unsigned short v_unsigned_short_func () { return (0); } - -int v_int_func () { return (0); } -signed int v_signed_int_func () { return (0); } -unsigned int v_unsigned_int_func () { return (0); } - -long v_long_func () { return (0); } -signed long v_signed_long_func () { return (0); } -unsigned long v_unsigned_long_func () { return (0); } - -float v_float_func () { return (0.0); } -double v_double_func () { return (0.0); } - -/**** Some misc more complicated things *******/ - -struct link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} *s_link; - -union tu_link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} u_link; - -/**** Enumerations *******/ - -enum colors {red, green, blue} color; -enum cars {chevy, ford, porsche} clunker; - -void dummy() -{ - /* Some linkers (e.g. on AIX) remove unreferenced variables, - so make sure to reference them. */ - v_char = 0; - v_signed_char = 1; - v_unsigned_char = 2; - - v_short = 3; - v_signed_short = 4; - v_unsigned_short = 5; - - v_int = 6; - v_signed_int = 7; - v_unsigned_int = 8; - - v_long = 9; - v_signed_long = 10; - v_unsigned_long = 11; - - v_float = 100.0; - v_double = 200.0; - - - v_char_array[0] = v_char; - v_signed_char_array[0] = v_signed_char; - v_unsigned_char_array[0] = v_unsigned_char; - - v_short_array[0] = v_short; - v_signed_short_array[0] = v_signed_short; - v_unsigned_short_array[0] = v_unsigned_short; - - v_int_array[0] = v_int; - v_signed_int_array[0] = v_signed_int; - v_unsigned_int_array[0] = v_unsigned_int; - - v_long_array[0] = v_long; - v_signed_long_array[0] = v_signed_long; - v_unsigned_long_array[0] = v_unsigned_long; - - v_float_array[0] = v_float; - v_double_array[0] = v_double; - - v_char_pointer = &v_char; - v_signed_char_pointer = &v_signed_char; - v_unsigned_char_pointer = &v_unsigned_char; - - v_short_pointer = &v_short; - v_signed_short_pointer = &v_signed_short; - v_unsigned_short_pointer = &v_unsigned_short; - - v_int_pointer = &v_int; - v_signed_int_pointer = &v_signed_int; - v_unsigned_int_pointer = &v_unsigned_int; - - v_long_pointer = &v_long; - v_signed_long_pointer = &v_signed_long; - v_unsigned_long_pointer = &v_unsigned_long; - - v_float_pointer = &v_float; - v_double_pointer = &v_double; - - color = red; - clunker = porsche; - - u_link.next = s_link; - - v_struct2.v_int_member = v_struct1.v_int_member; - v_union2.v_short_member = v_union.v_short_member; -} diff --git a/gdb/testsuite/gdb.base/setvar.exp b/gdb/testsuite/gdb.base/setvar.exp deleted file mode 100644 index cc1d962..0000000 --- a/gdb/testsuite/gdb.base/setvar.exp +++ /dev/null @@ -1,390 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1995 -# 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 Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "setvar" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -# -# set it up at a breakpoint so we canplay with the variable values -# -send_gdb "set print sevenbit-strings\n" ; expect -re "$gdb_prompt $" - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# Determine expected output for unsigned long variables, -# the output varies with sizeof (unsigned long). - -set ulong_minus_1 4294967295 -set ulong_minus_456 4294966840 -send_gdb "print sizeof (unsigned long)\n" -expect { - -re ".\[0-9\]* = 4.*$gdb_prompt $" {} - -re ".\[0-9\]* = 8.*$gdb_prompt $" { - set ulong_minus_1 18446744073709551615 - set ulong_minus_456 18446744073709551160 - } - -re ".*$gdb_prompt $" { - fail "getting sizeof unsigned long" - } - default { fail "(timeout) getting sizeof unsigned long" } -} - -proc test_set { args } { - global gdb_prompt - - set length [expr [llength $args] - 3]; - set print_cmd "[lindex $args $length]"; - set print_result "[lindex $args [expr $length + 1]]"; - set message "[lindex $args [expr $length + 2]]"; - - # Set up the variables. - for {set x 0;} {$x < $length} {incr x;} { - if { "[lindex $args $x]" != "" } { - verbose "doing [lindex $args $x]" - if [gdb_test "[lindex $args $x]" "" ""] { - fail "$message [lindex $args $x]"; - return 1; - } - } - } - verbose "expecting $print_result from '$print_cmd'" - # Now run the test. - return [gdb_test "$print_cmd" "$print_result" "$message"]; -} - -# -# test "set variable" for type "char" -# -# Because bare char types can be either signed or unsigned, we just test the -# range of values that are common to both (0-127). -# - -test_set "set variable v_char=0" "print v_char" ".\[0-9\]* = 0 \'.000\'" "set variable char=0" -test_set "set variable v_char=1" "print v_char" ".\[0-9\]* = 1 \'.001\'" "set variable char=1" -test_set "set variable v_char=27" "print v_char" ".\[0-9\]* = 27 \'.e\'" "set variable char=27 (Esc)" -test_set "set variable v_char=32" "print v_char" ".\[0-9\]* = 32 \' \'" "set variable char=32 (SPC)" -test_set "set variable v_char=65" "print v_char" ".\[0-9\]* = 65 \'A\'" "set variable char=65 ('A')" -test_set "set variable v_char=97" "print v_char" ".\[0-9\]* = 97 \'a\'" "set variable char=97 ('a')" -test_set "set variable v_char=126" "print v_char" ".\[0-9\]* = 126 \'~\'" "set variable char=126 ('~')" -test_set "set variable v_char=127" "print v_char" ".\[0-9\]* = 127 \'.177\'" "set variable char=127 (8-bit)" -# -# test "set variable" for type "signed char" -# -test_set "set variable v_char=0" "print v_signed_char" ".\[0-9\]* = 0 \'.000\'" "set variable signed char=0" -test_set "set variable v_signed_char=1" "print v_signed_char" ".\[0-9\]* = 1 \'.001\'" "set variable signed char=1" -test_set "set variable v_signed_char=27" "print v_signed_char" ".\[0-9\]* = 27 \'.e\'" "set variable signed char=27 (Esc)" -test_set "set variable v_signed_char=32" "print v_signed_char" ".\[0-9\]* = 32 \' \'" "set variable signed char=32 (SPC)" -test_set "set variable v_signed_char=65" "print v_signed_char" ".\[0-9\]* = 65 \'A\'" "set variable signed char=65 ('A')" -test_set "set variable v_signed_char=97" "print v_signed_char" ".\[0-9\]* = 97 \'a\'" "set variable signed char=97 ('a')" -test_set "set variable v_signed_char=126" "print v_signed_char" ".\[0-9\]* = 126 \'~\'" "set variable signed char=126 ('~')" -test_set "set variable v_signed_char=127" "print v_signed_char" ".\[0-9\]* = 127 \'.177\'" "set variable signed char=127 (8-bit)" -gdb_test "set variable v_signed_char=-1" "" -if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" } -gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \ - "set variable signed char=-1 (-1)" -gdb_test "set variable v_signed_char=0xFF" "" -if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" } -gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \ - "set variable signed char=0xFF (0xFF)" -# -# test "set variable" for type "unsigned char" -# -test_set "set variable v_unsigned_char=0" "print v_unsigned_char" ".\[0-9\]* = 0 \'.000\'" "set variable unsigned char=0" -test_set "set variable v_unsigned_char=1" "print v_unsigned_char" ".\[0-9\]* = 1 \'.001\'" "set variable unsigned char=1" -test_set "set variable v_unsigned_char=27" "print v_unsigned_char" ".\[0-9\]* = 27 \'.e\'" "set variable unsigned char=27 (Esc)" -test_set "set variable v_unsigned_char=32" "print v_unsigned_char" ".\[0-9\]* = 32 \' \'" "set variable unsigned char=32 (SPC)" -test_set "set variable v_unsigned_char=65" "print v_unsigned_char" ".\[0-9\]* = 65 \'A\'" "set variable unsigned char=65 ('A')" -test_set "set variable v_unsigned_char=97" "print v_unsigned_char" ".\[0-9\]* = 97 \'a\'" "set variable unsigned char=97 ('a')" -test_set "set variable v_unsigned_char=126" "print v_unsigned_char" ".\[0-9\]* = 126 \'~\'" "set variable unsigned char=126 ('~')" -test_set "set variable v_unsigned_char=~0" "print v_unsigned_char" ".\[0-9\]* = 255 \'.377\'" "set variable unsigned char=255 (8-bit)" -# -# test "set variable" for type "short" -# -test_set "set variable v_short=0" "print v_short" ".\[0-9\]* = 0" "set variable short=0" -test_set "set variable v_short=1" "print v_short" ".\[0-9\]* = 1" "set variable short=1" -test_set "set variable v_short=-1" "print v_short" ".\[0-9\]* = -1" "set variable short=-1 (minus)" -# -# test "set variable" for type "signed short" -# -test_set "set variable v_signed_short=0" "print v_signed_short" ".\[0-9\]* = 0" "set variable signed short=0" -test_set "set variable v_signed_short=1" "print v_signed_short" ".\[0-9\]* = 1" "set variable signed short=1" -test_set "set variable v_signed_short=-1" "print v_signed_short" ".\[0-9\]* = -1" "set variable signed short=-1 (minus)" -# -# test "set variable" for type "unsigned short" -# -test_set "set variable v_unsigned_short=0" "print v_unsigned_short" ".\[0-9\]* = 0" "set variable unsigned short=0" -test_set "set variable v_unsigned_short=1" "print v_unsigned_short" ".\[0-9\]* = 1" "set variable unsigned short=1" -test_set "set variable v_unsigned_short=~0" "print v_unsigned_short" ".\[0-9\]* = 65535" "set variable unsigned short=~0 (minus)" -# -# test "set variable" for type "int" -# -test_set "set variable v_int=0" "print v_int" ".\[0-9\]* = 0" "set variable int=0" -test_set "set variable v_int=1" "print v_int" ".\[0-9\]* = 1" "set variable int=1" -test_set "set variable v_int=-1" "print v_int" ".\[0-9\]* = -1" "set variable int=-1 (minus)" -# -# test "set variable" for type "signed int" -# -test_set "set variable v_signed_int=0" "print v_signed_int" ".\[0-9\]* = 0" "set variable signed int=0" -test_set "set variable v_signed_int=1" "print v_signed_int" ".\[0-9\]* = 1" "set variable signed int=1" -test_set "set variable v_signed_int=-1" "print v_signed_int" ".\[0-9\]* = -1" "set variable signed int=-1 (minus)" -# -# test "set variable" for type "unsigned int" -# -test_set "set variable v_unsigned_int=0" "print v_unsigned_int" ".\[0-9\]* = 0" "set variable unsigned int=0" -test_set "set variable v_unsigned_int=1" "print v_unsigned_int" ".\[0-9\]* = 1" "set variable unsigned int=1" -test_set "set variable v_unsigned_int=~0" "print v_unsigned_int" ".\[0-9\]* = (4294967295|65535)" "set variable unsigned int=~0 (minus)" -#test_set ".\[0-9\]* = 65535" "set variable unsigned int=~0 (minus)" -# -# test "set variable" for type "long" -# -test_set "set variable v_long=0" "print v_long" ".\[0-9\]* = 0" "set variable long=0" -test_set "set variable v_long=1" "print v_long" ".\[0-9\]* = 1" "set variable long=1" -test_set "set variable v_long=-1" "print v_long" ".\[0-9\]* = -1" "set variable long=-1 (minus)" -# -# test "set variable" for type "signed long" -# -test_set "set variable v_signed_long=0" "print v_signed_long" ".\[0-9\]* = 0" "set variable signed long=0" -test_set "set variable v_signed_long=1" "print v_signed_long" ".\[0-9\]* = 1" "set variable signed long=1" -test_set "set variable v_signed_long=-1" "print v_signed_long" ".\[0-9\]* = -1" "set variable signed long=-1 (minus)" -# -# test "set variable" for type "unsigned long" -# -test_set "set variable v_unsigned_long=0" "print v_unsigned_long" ".\[0-9\]* = 0" "set variable unsigned long=0" -test_set "set variable v_unsigned_long=1" "print v_unsigned_long" ".\[0-9\]* = 1" "set variable unsigned long=1" -test_set "set variable v_unsigned_long=~0" "print v_unsigned_long" ".\[0-9\]* = $ulong_minus_1" "set variable unsigned long=~0 (minus)" -# -# test "set variable" for type "float" -# -test_set "set variable v_float=0.0" "print v_float" ".\[0-9\]* = 0" "set variable float=0" -test_set "set variable v_float=1.0" "print v_float" ".\[0-9\]* = 1" "set variable float=1" -test_set "set variable v_float=-1.0" "print v_float" ".\[0-9\]* = -1" "set variable float=-1 (minus)" -# -# test "set variable" for type "double" -# -test_set "set variable v_double=0.0" "print v_double" ".\[0-9\]* = 0" "set variable double=0" -test_set "set variable v_double=1.0" "print v_double" ".\[0-9\]* = 1" "set variable double=1" -test_set "set variable v_double=-1.0" "print v_double" "print.*.\[0-9\]* = -1" "set variable double=-1 (minus)" -# -# test "set variable" for "char array[2]" -# -test_set "set variable v_char_array\[0\]='h'" "set variable v_char_array\[1\]='i'" "print v_char_array" "print.*.\[0-9\]* =.*\"hi\"" "set variable char array=\"hi\" (string)" -# -# test "set variable" for "signed char array[2]" -# -test_set "set variable v_signed_char_array\[0\]='h'" "set variable v_signed_char_array\[1\]='i'" "print v_signed_char_array" "print.*.\[0-9\]* =.*\"hi\"" "set variable signed char array=\"hi\" (string)" -# -# test "set variable" for "unsigned char array[2]" -# -test_set "set variable v_unsigned_char_array\[0\]='h'" "set variable v_unsigned_char_array\[1\]='i'" "print v_unsigned_char_array" "print.*.\[0-9\]* =.*\"hi\"" "set variable unsigned char array=\"hi\" (string)" -# -# test "set variable" for "short array[2]" -# -test_set "set variable v_short_array\[0\]=123" "set variable v_short_array\[1\]=-456" "print v_short_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable short array" -# -# test "set variable" for "signed short array[2]" -# -test_set "set variable v_signed_short_array\[0\]=123" "set variable v_signed_short_array\[1\]=-456" "print v_signed_short_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable signed short array" -# -# test "set variable" for "unsigned short array[2]" -# -test_set "set variable v_unsigned_short_array\[0\]=123" "set variable v_unsigned_short_array\[1\]=-456" "print v_unsigned_short_array" "print.*.\[0-9\]* =.*\{123,.*65080\}" "set variable unsigned short array" -# -# test "set variable" for "int array[2]" -# -test_set "set variable v_int_array\[0\]=123" "set variable v_int_array\[1\]=-456" "print v_int_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable int array" -# -# test "set variable" for "signed int array[2]" -# -test_set "set variable v_signed_int_array\[0\]=123" "set variable v_signed_int_array\[1\]=-456" "print v_signed_int_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable signed int array" -# -# test "set variable" for "unsigned int array[2]" -# -test_set "set variable v_unsigned_int_array\[0\]=123" "set variable v_unsigned_int_array\[1\]=-456" "print v_unsigned_int_array" "print.*.\[0-9\]* =.*\{123,.*(4294966840|65080)\}" "set variable unsigned int array" -# -# test "set variable" for "long array[2]" -# -test_set "set variable v_long_array\[0\]=123" "set variable v_long_array\[1\]=-456" "print v_long_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable long array" -# -# test "set variable" for "signed long array[2]" -# -test_set "set variable v_signed_long_array\[0\]=123" "set variable v_signed_long_array\[1\]=-456" "print v_signed_long_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable signed long array" -# -# test "set variable" for "unsigned long array[2]" -# -test_set "set variable v_unsigned_long_array\[0\]=123" "set variable v_unsigned_long_array\[1\]=-456" "print v_unsigned_long_array" "print.*.\[0-9\]* =.*\{123,.*$ulong_minus_456\}" "set variable unsigned long array" -# -# test "set variable" for "float array[2]" -# -test_set "set variable v_float_array\[0\]=123.0" "set variable v_float_array\[1\]=-456.0" "print v_float_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable float array" -# -# test "set variable" for "double array[2]" -# -test_set "set variable v_double_array\[0\]=123.0" "set variable v_double_array\[1\]=-456.0" "print v_double_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable double array" -# -# test "set variable" for type "char *" -# -test_set "set v_char_pointer=v_char_array" "set variable *(v_char_pointer)='h'" "set variable *(v_char_pointer+1)='i'" "print v_char_array" "print.*.\[0-9\]* =.*\"hi\"" "print *(v_char_pointer+1)" "print.*.\[0-9\]* = 105 \'i\'" "set variable char pointer=\"hi\" (string)" -# -# test "set variable" for type "signed char *" -# -test_set "set v_signed_char_pointer=v_signed_char_array" "set variable *(v_signed_char_pointer)='h'" "set variable *(v_signed_char_pointer+1)='i'" "print v_signed_char_array" "print.*.\[0-9\]* =.*\"hi\"" "print *(v_signed_char_pointer+1)" "print.*.\[0-9\]* = 105 \'i\'" "set variable signed char pointer=\"hi\" (string)" -# -# test "set variable" for type "unsigned char *" -# -test_set "set v_unsigned_char_pointer=v_unsigned_char_array" "set variable *(v_unsigned_char_pointer)='h'" "set variable *(v_unsigned_char_pointer+1)='i'" "print v_unsigned_char_array" "print.*.\[0-9\]* =.*\"hi\"" "print *(v_unsigned_char_pointer+1)" "print.*.\[0-9\]* = 105 \'i\'" "set variable unsigned char pointer=\"hi\" (string)" -# -# test "set variable" for type "short *" -# -test_set "set v_short_pointer=v_short_array" "set variable *(v_short_pointer)=123" "set variable *(v_short_pointer+1)=-456" "print v_short_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_short_pointer+1)" "print.*.\[0-9\]* = -456" "set variable short pointer" -# -# test "set variable" for type "signed short *" -# -gdb_test "set v_signed_short_pointer=v_signed_short_array" "" -gdb_test "set variable *(v_signed_short_pointer)=123" "" -gdb_test "set variable *(v_signed_short_pointer+1)=-456" "" -gdb_test "print v_signed_short_array" ".\[0-9\]* =.*\{123,.*-456\}" \ - "set variable signed short pointer" -gdb_test "print *(v_signed_short_pointer+1)" ".\[0-9\]*.*=.*-456" -# -# test "set variable" for type "unsigned short *" -# -gdb_test "set v_unsigned_short_pointer=v_unsigned_short_array" "" -gdb_test "set variable *(v_unsigned_short_pointer)=123" "" -gdb_test "set variable *(v_unsigned_short_pointer+1)=-456" "" -gdb_test "print v_unsigned_short_array" ".\[0-9\]* =.*\{123,.*65080\}" \ - "set variable unsigned short pointer" -gdb_test "print *(v_unsigned_short_pointer+1)" ".\[0-9\]* = 65080" -# -# test "set variable" for type "int *" -# -test_set "set v_int_pointer=v_int_array" "set variable *(v_int_pointer)=123" "set variable *(v_int_pointer+1)=-456" "print v_int_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_int_pointer+1)" "print.*.\[0-9\]* = -456" "set variable int pointer" -# -# test "set variable" for type "signed int *" -# -test_set "set v_signed_int_pointer=v_signed_int_array" "set variable *(v_signed_int_pointer)=123" "set variable *(v_signed_int_pointer+1)=-456" "print v_signed_int_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_signed_int_pointer+1)" "print.*.\[0-9\]* = -456" "set variable signed int pointer" -# -# test "set variable" for type "unsigned int *" -# -test_set "set v_unsigned_int_pointer=v_unsigned_int_array" "set variable *(v_unsigned_int_pointer)=123" "set variable *(v_unsigned_int_pointer+1)=-456" "print v_unsigned_int_array" "print.*.\[0-9\]* =.*\{123,.*(4294966840|65080)\}" "set variable unsigned int pointer" -test_set "" "print *(v_unsigned_int_pointer+1)" "print.*.\[0-9\]* = (4294966840|65080)" "print variable unsigned int pointer+1" -# -# test "set variable" for type "long *" -# -test_set "set v_long_pointer=v_long_array" "set variable *(v_long_pointer)=123" "set variable *(v_long_pointer+1)=-456" "print v_long_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_long_pointer+1)" "print.*.\[0-9\]* = -456" "set variable long pointer" -# -# test "set variable" for type "signed long *" -# -test_set "set v_signed_long_pointer=v_signed_long_array" "set variable *(v_signed_long_pointer)=123" "set variable *(v_signed_long_pointer+1)=-456" "print v_signed_long_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_signed_long_pointer+1)" "print.*.\[0-9\]* = -456" "set variable signed long pointer" -# -# test "set variable" for type "unsigned long *" -# -test_set "set v_unsigned_long_pointer=v_unsigned_long_array" "set variable *(v_unsigned_long_pointer)=123" "set variable *(v_unsigned_long_pointer+1)=-456" "print v_unsigned_long_array" "print.*.\[0-9\]* =.*\{123,.*$ulong_minus_456\}" "print *(v_unsigned_long_pointer+1)" "print.*.\[0-9\]* = $ulong_minus_456" "set variable unsigned long pointer" -# -# test "set variable" for type "float *" -# -test_set "set v_float_pointer=v_float_array" "set variable *(v_float_pointer)=123.0" "set variable *(v_float_pointer+1)=-456.0" "print v_float_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_float_pointer+1)" "print.*.\[0-9\]* = -456" "set variable float pointer" -# -# test "set variable" for type "double *" -# -test_set "set v_double_pointer=v_double_array" "set variable *(v_double_pointer)=123.0" "set variable *(v_double_pointer+1)=-456.0" "print v_double_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_double_pointer+1)" "print.*.\[0-9\]* = -456" "set variable double pointer" -# -# test "set variable" for struct members -# -test_set "set variable v_struct1.v_char_member='h'" "print v_struct1.v_char_member" "print.*.\[0-9\]* = 104 \'h\'" "set variable structure char member" -test_set "set variable v_struct1.v_short_member=1" "print v_struct1.v_short_member" "print.*.\[0-9\]* = 1" "set variable structure short member" -test_set "set variable v_struct1.v_int_member=2" "print v_struct1.v_int_member" "print.*.\[0-9\]* = 2" "set variable structure int member" -test_set "set variable v_struct1.v_long_member=3" "print v_struct1.v_long_member" "print.*.\[0-9\]* = 3" "set variable structure long member" -test_set "set variable v_struct1.v_float_member=4.0" "print v_struct1.v_float_member" "print.*.\[0-9\]* = 4" "set variable structure float member" -test_set "set variable v_struct1.v_double_member=5.0" "print v_struct1.v_double_member" "print.*.\[0-9\]* = 5" "set variable structure double member" - -gdb_test "print v_struct1" \ - "print.*.\[0-9\]* = \{.*v_char_member = 104 \'h\',.*v_short_member = 1,\ -.*v_int_member = 2,.*\ -v_long_member = 3,.*v_float_member = 4,.*v_double_member = 5.*\}" \ - "set print structure #1" - -# This should be an error. GCC extensions for structure constants require -# the type of the structure to be specified, as in -# v_struct1 = (struct t_struct) {32, 33, 34, 35, 36, 37} -# GDB should do the same if it wants to provide this feature. -if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "set variable v_struct1 = {32, 33, 34, 35, 36, 37}" - continue -} -gdb_test "set variable v_struct1 = {32, 33, 34, 35, 36, 37}" "Invalid.*" - -# And after the error the structure should be unchanged. -gdb_test "print v_struct1" \ - "print.*.\[0-9\]* = \{.*v_char_member = 104 \'h\',.*v_short_member = 1,\ -.*v_int_member = 2,.*\ -v_long_member = 3,.*v_float_member = 4,.*v_double_member = 5.*\}" \ - "set print structure #2" - -# Test printing of enumeration bitfields. -# GNU C supports them, some other compilers don't. - -if {$gcc_compiled} then { - gdb_test "print sef.field=sm1" "print.*.\[0-9\]* = sm1" - gdb_test "print sef.field" "print.*.\[0-9\]* = sm1" "print sef.field (sm1)" - gdb_test "print sef.field=s1" "print.*.\[0-9\]* = s1" - gdb_test "print sef.field" "print.*.\[0-9\]* = s1" "print sef.field (s1)" - gdb_test "print uef.field=u2" "print.*.\[0-9\]* = u2" - gdb_test "print uef.field" "print.*.\[0-9\]* = u2" "print uef.field (u2)" - gdb_test "print uef.field=u1" "print.*.\[0-9\]* = u1" - gdb_test "print uef.field" "print.*.\[0-9\]* = u1" "print uef.field (u1)" - - # Test for truncation when assigning invalid values to bitfields. - gdb_test "print sef.field=7" \ - "print.*warning: Value does not fit in 2 bits.*\[0-9\]* = sm1" - gdb_test "print uef.field=6" \ - "print.*warning: Value does not fit in 2 bits.*\[0-9\]* = u2" -} diff --git a/gdb/testsuite/gdb.base/shlib-call.exp b/gdb/testsuite/gdb.base/shlib-call.exp deleted file mode 100644 index f6929b8..0000000 --- a/gdb/testsuite/gdb.base/shlib-call.exp +++ /dev/null @@ -1,240 +0,0 @@ -# Copyright (C) 1997, 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 - -# file to test calls into shared libraries -# the source files for this test are: -# -# shmain.c -# shr1.c (shared lib) -# shr2.c (shared lib) -# ss.h (header for shr2.c) -# -# file written by Elena Zannoni: elz@ch.apollo.com -# - -#debug shmain -#prop lib shr1.sl -#prop lib shr2.sl - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# are we on a target board? -if ![isnative] then { - return 0 -} - -set testfile "shmain" -set libfile "shr" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -if [get_compiler_info ${binfile}] { - return -1 -} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o" object {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -# Build the shared libraries this test case needs. -# - -if {$gcc_compiled == 0} { - if [istarget "hppa*-hp-hpux*"] then { - set additional_flags "additional_flags=+z" - } else { - # don't know what the compiler is... - set additional_flags "" - } -} else { - set additional_flags "additional_flags=-fpic" -} - -if {[gdb_compile "${srcdir}/${subdir}/${libfile}1.c" "${objdir}/${subdir}/${libfile}1.o" object [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if {[gdb_compile "${srcdir}/${subdir}/${libfile}2.c" "${objdir}/${subdir}/${libfile}2.o" object [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if [istarget "hppa*-*-hpux*"] { - remote_exec build "ld -b ${objdir}/${subdir}/${libfile}1.o -o ${objdir}/${subdir}/${libfile}1.sl" - remote_exec build "ld -b ${objdir}/${subdir}/${libfile}2.o -o ${objdir}/${subdir}/${libfile}2.sl" -} else { - set additional_flags "additional_flags=-shared" - if {[gdb_compile "${objdir}/${subdir}/${libfile}1.o" "${objdir}/${subdir}/${libfile}1.sl" executable [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - if {[gdb_compile "${objdir}/${subdir}/${libfile}2.o" "${objdir}/${subdir}/${libfile}2.sl" executable [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -if {[gdb_compile "${objdir}/${subdir}/${testfile}.o ${objdir}/${subdir}/${libfile}1.sl ${objdir}/${subdir}/${libfile}2.sl" "${binfile}" executable {debug}] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} -send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $" - - -if ![runto_main] then { - perror "C function calling tests suppressed" -} - - -#step -over - - send_gdb "next\n" - gdb_expect { - -re ".*g = shr1\\(g\\).*$gdb_prompt $" {pass "next to shr2"} - -re ".*$gdb_prompt $" { fail "next to shr2" } - timeout { fail "next to shr2 (timeout)" } - } - - - -#print g - -send_gdb "print g\n" -gdb_expect { - -re ".*\[0-9\]* = 1.*$gdb_prompt $" { - pass "print g" - } - -re ".*$gdb_prompt $" { fail "print g" } - timeout { fail "(timeout) print g" } - } - - -#step -over - send_gdb "next\n" - gdb_expect { - -re ".*address of sgs is $hex.*g = shr2\\(g\\).*$gdb_prompt $" { - pass "next over shr1" } - -re ".*$gdb_prompt $" { fail "next over shr1" } - timeout { fail "next over shr1 (timeout)" } - } - -#print g -send_gdb "print g\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print g" } - -re ".*$gdb_prompt $" { fail "print g" } - timeout { fail "(timeout) print g" } - } - -#print shr1(1) -send_gdb "print shr1(1)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print shr1(1)" } - -re ".*$gdb_prompt $" { fail "print shr1(1)" } - timeout { fail "(timeout) print shr1(1)" } - } - -#print shr1(g) -send_gdb "print shr1(g)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 4.*$gdb_prompt $" { - pass "print shr1(g)" } - -re ".*$gdb_prompt $" { fail "print shr1(g)" } - timeout { fail "(timeout) print shr1(g)" } - } - -#break shr2 -#go -gdb_test "break shr2" \ - "Breakpoint.*file.*shr2.c, line.*" \ - "breakpoint function shr2" - -gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, shr2 \\(.*\\) at.*shr2\\.c:3.*3.*return 2.x;" \ -"run until breakpoint set at a function" - - -#print shr1(1) -send_gdb "print shr1(1)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print shr1(1)" - } - -re ".*$gdb_prompt $" { fail "print shr1(1)" } - timeout { fail "(timeout) print shr1(1)" } - } - -#print mainshr1(1) -send_gdb "print mainshr1(1)\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print mainshr1(1) from shlib func" - } - -re ".*$gdb_prompt $" { fail "print mainshr1(1) from shlib func" } - timeout { fail "(timeout) print mainshr1(1) from shlib func" } - } - -#step -return - send_gdb "step\n" - gdb_expect { - -re ".*\\\}.*$gdb_prompt $" { pass "step inside shr2 (shlib func)"} - -re ".*$gdb_prompt $" { fail "step inside shr2 (shlib func)" } - timeout { fail "step inside shr2 (shlib func) (timeout)" } - } - - send_gdb "step\n" - gdb_expect { - -re "main \\(\\) at.*g = mainshr1\\(g\\);.*$gdb_prompt $" { pass "step out of shr2 to main"} - -re ".*$gdb_prompt $" { fail "step out of shr2 to main" } - timeout { fail "step out of shr2 to main (timeout)" } - } - -#print mainshr1(1) -send_gdb "print mainshr1(1)\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print mainshr1(1)" - } - -re ".*$gdb_prompt $" { fail "print mainshr1(1) from main" } - timeout { fail "(timeout) print mainshr1(1) from main" } - } - -#step - send_gdb "step\n" - gdb_expect { - -re ".*mainshr1 \\(g=4\\) at.*return 2.g;.*$gdb_prompt $" { pass "step into mainshr1"} - -re ".*$gdb_prompt $" { fail "step into mainshr1" } - timeout { fail "step into mainshr1 (timeout)" } - } - -return 0 diff --git a/gdb/testsuite/gdb.base/shmain.c b/gdb/testsuite/gdb.base/shmain.c deleted file mode 100644 index 954c3db..0000000 --- a/gdb/testsuite/gdb.base/shmain.c +++ /dev/null @@ -1,47 +0,0 @@ -/* A test */ - -#include "ss.h" -#include <stdio.h> - -extern int shr1(); -extern int shr2(); -extern float sg; - -int eglob; - -struct { - int a; - int b; -} s; - -int g; - -int local_structarg(x) -struct s x; -{ - return x.b; -} - -main() -{ - struct s y; - g = 1; - g = shr1(g); - g = shr2(g); - g = mainshr1(g); - sg = 1.1; - printf("address of sg is 0x%x\n", &sg); - y.a = 3; - y.b = 4; - g = local_structarg(y); - g = structarg(y); - g = pstructarg(&y); -} - -int mainshr1(g) -int g; -{ - return 2*g; -} - - diff --git a/gdb/testsuite/gdb.base/sigall.exp b/gdb/testsuite/gdb.base/sigall.exp deleted file mode 100644 index d483788..0000000 --- a/gdb/testsuite/gdb.base/sigall.exp +++ /dev/null @@ -1,211 +0,0 @@ -# Copyright (C) 1995 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. */ - -if $nosignals { - verbose "Skipping sigall.exp because of nosignals." - continue - } - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -set testfile sigall -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Make the first signal SIGABRT because it is always supported. -set sig_supported 1 -set thissig "ABRT" - -proc test_one_sig {nextsig} { - global sig_supported - global gdb_prompt - global thissig - - set this_sig_supported $sig_supported - gdb_test "handle SIG$thissig stop print" \ - "SIG$thissig\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes.*" - gdb_test "b handle_$thissig" "Breakpoint \[0-9\]+ .*" - gdb_test "b gen_$nextsig" "Breakpoint \[0-9\]+ .*" - - set need_another_continue 1 - set missed_handler 0 - if $this_sig_supported then { - send_gdb "continue\n" - if { $thissig == "IO" } { - setup_xfail "i*86-pc-linuxoldld-gnu" "i*86-pc-linuxaout-gnu" - } - expect { - -re "Continuing.*Program received signal SIG$thissig.*$gdb_prompt $" { - pass "get signal $thissig" - } - -re ".*$gdb_prompt $" { - fail "get signal $thissig" - set need_another_continue 0 - } - default { - fail "get signal $thissig (eof or timeout)" - } - } - } - if [ istarget "alpha-dec-osf3*" ] then { - # OSF/1-3.x is unable to continue with a job control stop signal. - # The inferior remains stopped without an event of interest - # and GDB waits forever for the inferior to stop on an event - # of interest. Work around the kernel bug. - if { $thissig == "TSTP" || $thissig == "TTIN" || $thissig == "TTOU" } { - setup_xfail "alpha-dec-osf3*" - fail "cannot continue from signal $thissig" - set need_another_continue 0 - } - } - - if $need_another_continue then { - send_gdb "continue\n" - if { $thissig == "URG" } { - setup_xfail "i*86-pc-linuxoldld-gnu" "i*86-pc-linuxaout-gnu" - } - # Either Lynx or GDB screws up on SIGPRIO - if { $thissig == "PRIO" } { - setup_xfail "*-*-*lynx*" - } - expect { - -re "Breakpoint.*handle_$thissig.*$gdb_prompt $" { - pass "send signal $thissig" - } - -re "Breakpoint.*gen_$nextsig.*kill.*$gdb_prompt $" { - fail "missed breakpoint at handle_$thissig" - set missed_handler 1 - } - } - } - - if { $missed_handler == "0" } then { - send_gdb "signal 0\n" - expect { - -re "Breakpoint.*gen_$nextsig.*kill.*$gdb_prompt $" { - pass "advance to $nextsig" - set sig_supported 1 - } - -re "Breakpoint.*gen_$nextsig.*handle.*$gdb_prompt $" { - pass "advance to $nextsig" - set sig_supported 0 - } - -re ".*$gdb_prompt $" { fail "advance to $nextsig" } - default { fail "advance to $nextsig (eof or timeout)" } - } - } - set thissig $nextsig -} - -gdb_load $binfile - -runto gen_ABRT -test_one_sig HUP -test_one_sig QUIT -test_one_sig ILL -test_one_sig EMT -test_one_sig FPE -test_one_sig BUS -test_one_sig SEGV -test_one_sig SYS -test_one_sig PIPE -test_one_sig ALRM -test_one_sig URG -test_one_sig TSTP -test_one_sig CONT -test_one_sig CHLD -test_one_sig TTIN -test_one_sig TTOU -test_one_sig IO -test_one_sig XCPU -test_one_sig XFSZ -test_one_sig VTALRM -test_one_sig PROF -test_one_sig WINCH -test_one_sig LOST -test_one_sig USR1 -test_one_sig USR2 -test_one_sig PWR -test_one_sig POLL -test_one_sig WIND -test_one_sig PHONE -test_one_sig WAITING -test_one_sig LWP -test_one_sig DANGER -test_one_sig GRANT -test_one_sig RETRACT -test_one_sig MSG -test_one_sig SOUND -test_one_sig SAK -test_one_sig PRIO -test_one_sig 33 -test_one_sig 34 -test_one_sig 35 -test_one_sig 36 -test_one_sig 37 -test_one_sig 38 -test_one_sig 39 -test_one_sig 40 -test_one_sig 41 -test_one_sig 42 -test_one_sig 43 -test_one_sig 44 -test_one_sig 45 -test_one_sig 46 -test_one_sig 47 -test_one_sig 48 -test_one_sig 49 -test_one_sig 50 -test_one_sig 51 -test_one_sig 52 -test_one_sig 53 -test_one_sig 54 -test_one_sig 55 -test_one_sig 56 -test_one_sig 57 -test_one_sig 58 -test_one_sig 59 -test_one_sig 60 -test_one_sig 61 -test_one_sig 62 -test_one_sig 63 -test_one_sig TERM - -# The last signal (SIGTERM) gets handled slightly differently because -# we are not setting up for another test. -gdb_test "handle SIGTERM stop print" \ - "SIGTERM\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes.*" -gdb_test "b handle_TERM" "Breakpoint \[0-9\]+ .*" -gdb_test "continue" \ - "Continuing.*Program received signal SIGTERM.*" \ - "get signal TERM" -gdb_test "continue" "Breakpoint.*handle_TERM.*" "send signal TERM" -gdb_test "continue" "Program exited normally\\." "continue to sigall exit" - -return 0 diff --git a/gdb/testsuite/gdb.base/signals.exp b/gdb/testsuite/gdb.base/signals.exp deleted file mode 100644 index f315d3c..0000000 --- a/gdb/testsuite/gdb.base/signals.exp +++ /dev/null @@ -1,397 +0,0 @@ -# Copyright (C) 1997 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 [target_info exists gdb,nosignals] { - verbose "Skipping signals.exp because of nosignals." - continue -} - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile signals -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -proc signal_tests_1 {} { - global gdb_prompt - if [runto_main] then { - gdb_test "next" "signal \\(SIGUSR1.*" \ - "next over signal (SIGALRM, handler)" - gdb_test "next" "alarm \\(.*" \ - "next over signal (SIGUSR1, handler)" - gdb_test "next" "\\+\\+count; /\\* first \\*/" \ - "next over alarm (1)" - # An alarm has been signaled, give the signal time to get delivered. - sleep 2 - - # i386 BSD currently fails the next test with a SIGTRAP. - setup_xfail "i*86-*-bsd*" - # But Dynix has a DECR_PC_AFTER_BREAK of zero, so the failure - # is shadowed by hitting the through_sigtramp_breakpoint. - clear_xfail "i*86-sequent-bsd*" - # Univel SVR4 i386 continues instead of stepping. - setup_xfail "i*86-univel-sysv4*" - # lynx fails with "next" acting like "continue" - setup_xfail "*-*-*lynx*" - # linux (aout versions) also fails with "next" acting like "continue" - # this is probably more dependant on the kernel version than on the - # object file format or utils. (sigh) - setup_xfail "i*86-pc-linuxaout-gnu" "i*86-pc-linuxoldld-gnu" - send_gdb "next\n" - gdb_expect { - -re "alarm .*$gdb_prompt $" { pass "next to 2nd alarm (1)" } - -re "Program received signal SIGTRAP.*first.*$gdb_prompt $" { - - # This can happen on machines that have a trace flag - # in their PS register. - # The trace flag in the PS register will be set due to - # the `next' command. - # Before calling the signal handler, the PS register - # is pushed along with the context on the user stack. - # When the signal handler has finished, it reenters the - # the kernel via a sigreturn syscall, which restores the - # PS register along with the context. - # If the kernel erroneously does not clear the trace flag - # in the pushed context, gdb will receive a SIGTRAP from - # the set trace flag in the restored context after the - # signal handler has finished. - - # I do not yet understand why the SIGTRAP does not occur - # after stepping the instruction at the restored PC on - # i386 BSDI 1.0 systems. - - # Note that the vax under Ultrix also exhibits - # this behaviour (it is uncovered by the `continue from - # a break in a signal handler' test below). - # With this test the failure is shadowed by hitting the - # through_sigtramp_breakpoint upon return from the signal - # handler. - - fail "next to 2nd alarm (1) (probably kernel bug)" - gdb_test "next" "alarm.*" "next to 2nd alarm (1)" - } - -re "Program exited with code.*$gdb_prompt $" { - - # This is apparently a bug in the UnixWare kernel (but - # has not been investigated beyond the - # resume/target_wait level, and has not been reported - # to Univel). If it steps when a signal is pending, - # it does a continue instead. I don't know whether - # there is a workaround. - - # Perhaps this problem exists on other SVR4 systems; - # but (a) we have no reason to think so, and (b) if we - # put a wrong xfail here, we never get an XPASS to let - # us know that it was incorrect (and then if such a - # configuration regresses we have no way of knowing). - # Solaris is not a relevant data point either way - # because it lacks single stepping. - - # fnf: I don't agree with the above philosophy. We - # can never be sure that any particular XFAIL is - # specified 100% correctly in that no systems with - # the bug are missed and all systems without the bug - # are excluded. If we include an XFAIL that isn't - # appropriate for a particular system, then when that - # system gets tested it will XPASS, and someone should - # investigate and fix the setup_xfail as appropriate, - # or more preferably, the actual bug. Each such case - # adds more data to narrowing down the scope of the - # problem and ultimately fixing it. - - setup_xfail "i*86-*-sysv4*" - fail "'next' behaved as 'continue (known SVR4 bug)'" - return 0 - } - -re ".*$gdb_prompt $" { fail "next to 2nd alarm (1)" } - timeout { fail "next to 2nd alarm (1); (timeout)" } - eof { fail "next to 2nd alarm (1); (eof)" } - } - - gdb_test "break handler" "Breakpoint \[0-9\]+ .*" - gdb_test "next" "\\+\\+count; /\\* second \\*/" \ - "next to 2nd ++count in signals_tests_1" - # An alarm has been signaled, give the signal time to get delivered. - sleep 2 - - set bash_bug 0 - send_gdb "next\n" - setup_xfail "i*86-pc-linux-gnu" - gdb_expect { - -re "Breakpoint.*handler.*$gdb_prompt $" { - pass "next to handler in signals_tests_1" - } - -re "Program received signal SIGEMT.*$gdb_prompt $" { - # Bash versions before 1.13.5 cause this behaviour - # by blocking SIGTRAP. - fail "next to handler in signals_tests_1 (known problem with bash versions before 1.13.5)" - set bash_bug 1 - gdb_test "signal 0" "Breakpoint.*handler.*" - } - -re ".*$gdb_prompt $" { fail "next to handler in signals_tests_1" } - timeout { fail "next to handler in signals_tests_1 (timeout)" } - eof { fail "next to handler in signals_tests_1 (eof)" } - } - - # This doesn't test that main is frame #2, just that main is frame - # #2, #3, or higher. At some point this should be fixed (but - # it quite possibly would introduce new FAILs on some systems). - setup_xfail "i*86-pc-linux-gnu" "i*86-*-bsdi2.0" - gdb_test "backtrace" "#0.*handler.*#1.*#2.*main.*" \ - "backtrace in signals_tests_1" - - gdb_test "break func1" "Breakpoint \[0-9\]+ .*" - gdb_test "break func2" "Breakpoint \[0-9\]+ .*" - - # Vax Ultrix and i386 BSD currently fail the next test with - # a SIGTRAP, but with different symptoms. - setup_xfail "vax-*-ultrix*" - setup_xfail "i*86-*-bsd*" - setup_xfail "i*86-pc-linux-gnu" - send_gdb "continue\n" - gdb_expect { - -re "Breakpoint.*func1.*$gdb_prompt $" { pass "continue to func1" } - -re "Program received signal SIGTRAP.*second.*$gdb_prompt $" { - - # See explanation for `next to 2nd alarm (1)' fail above. - # We did step into the signal handler, hit a breakpoint - # in the handler and continued from the breakpoint. - # The set trace flag in the restored context is causing - # the SIGTRAP, without stepping an instruction. - - fail "continue to func1 (probably kernel bug)" - gdb_test "continue" "Breakpoint.*func1.*" \ - "extra continue to func1" - } - -re "Program received signal SIGTRAP.*func1 ..;.*$gdb_prompt $" { - - # On the vax under Ultrix the set trace flag in the restored - # context is causing the SIGTRAP, but after stepping one - # instruction, as expected. - - fail "continue to func1 (probably kernel bug)" - gdb_test "continue" "Breakpoint.*func1.*" \ - "extra continue to func1" - } - -re ".*$gdb_prompt $" { fail "continue to func1" } - default { fail "continue to func1" } - } - - setup_xfail "*-*-irix*" - send_gdb "signal SIGUSR1\n" - gdb_expect { - -re "Breakpoint.*handler.*$gdb_prompt $" { pass "signal SIGUSR1" } - -re "Program received signal SIGUSR1.*$gdb_prompt $" { - # This is what irix4 and irix5 do. - # It would appear to be a kernel bug. - fail "signal SIGUSR1" - gdb_test "continue" "Breakpoint.*handler.*" "pass it SIGUSR1" - } - -re ".*$gdb_prompt $" { fail "signal SIGUSR1" } - default { fail "signal SIGUSR1" } - } - - # Will tend to wrongly require an extra continue. - - # The problem here is that the breakpoint at func1 will be - # inserted, and when the system finishes with the signal - # handler it will try to execute there. For GDB to try to - # remember that it was going to step over a breakpoint when a - # signal happened, distinguish this case from the case where - # func1 is called from the signal handler, etc., seems - # exceedingly difficult. So don't expect this to get fixed - # anytime soon. - - setup_xfail "*-*-*" - send_gdb "continue\n" - gdb_expect { - -re "Breakpoint.*func2.*$gdb_prompt $" { pass "continue to func2" } - -re "Breakpoint.*func1.*$gdb_prompt $" { - fail "continue to func2" - gdb_test "continue" "Breakpoint.*func2.*" \ - "extra continue to func2" - } - -re ".*$gdb_prompt $" { fail "continue to func2" } - default { fail "continue to func2" } - } - - sleep 2 - - # GDB yanks out the breakpoints to step over the breakpoint it - # stopped at, which means the breakpoint at handler is yanked. - # But if NO_SINGLE_STEP, we won't get another chance to reinsert - # them (at least not with procfs, where we tell the kernel not - # to tell gdb about `pass' signals). So the fix would appear to - # be to just yank that one breakpoint when we step over it. - - setup_xfail "sparc*-*-*" - setup_xfail "rs6000-*-*" - setup_xfail "powerpc-*-*" - - # A faulty bash will not step the inferior into sigtramp on sun3. - if {$bash_bug} then { - setup_xfail "m68*-*-sunos4*" - } - - setup_xfail "i*86-pc-linux-gnu" - gdb_test "continue" "Breakpoint.*handler.*" "continue to handler" - - # If the NO_SINGLE_STEP failure happened, we have already exited. - # If we succeeded a continue will return from the handler to func2. - # GDB now has `forgotten' that it intended to step over the - # breakpoint at func2 and will stop at func2. - setup_xfail "*-*-*" - # The sun3 with a faulty bash will also be `forgetful' but it - # already got the spurious stop at func2 and this continue will work. - if {$bash_bug} then { - clear_xfail "m68*-*-sunos4*" - } - gdb_test "continue" "Program exited with code 010\\." \ - "continue to exit in signals_tests_1 " - } -} - -# On a few losing systems, ptrace (PT_CONTINUE) or ptrace (PT_STEP) -# causes pending signals to be cleared, which causes these tests to -# get nowhere fast. This is totally losing behavior (perhaps there -# are cases in which is it useful but the user needs more control, -# which they mostly have in GDB), but some people apparently think it -# is a feature. It is documented in the ptrace manpage on Motorola -# Delta Series sysV68 R3V7.1 and on HPUX 9.0. Even the non-HPUX PA -# OSes (BSD and OSF/1) seem to have figured they had to copy this -# braindamage. - -if {[ istarget "m68*-motorola-*" ] || [ istarget "hppa*-*-bsd*" ] || - [ istarget "*-*-hpux*" ] || [ istarget "hppa*-*-osf*" ]} then { - setup_xfail "*-*-*" - fail "ptrace loses on signals on this target" - return 0 -} - -# lynx2.2.2 doesn't lose signals, instead it screws up the stack pointer -# in some of these tests leading to massive problems. I've -# reported this to lynx, hopefully it'll be fixed in lynx2.3. -# Severe braindamage. -if [ istarget "*-*-*lynx*" ] then { - setup_xfail "*-*-*" - fail "kernel scroggs stack pointer in signal tests on this target" - return 0 -} - -gdb_exit -gdb_start - -# This will need to be updated as the exact list of signals changes, -# but I want to test that TARGET_SIGNAL_0, TARGET_SIGNAL_DEFAULT, and -# TARGET_SIGNAL_UNKNOWN are skipped. -proc test_handle_all_print {} { - global timeout - # Increase timeout and expect input buffer for large output from gdb. - # Allow blank or TAB as whitespace characters. - set oldtimeout $timeout - set timeout [expr "$timeout + 360"] - verbose "Timeout is now $timeout seconds" 2 - match_max 10000 - gdb_test "handle all print" "Signal\[ \]+Stop\[ \]+Print\[ \]+Pass to program\[ \]+Description\r\nSIGHUP\[ \]+Yes\[ \]+Yes\[ \]+Yes\[ \]+Hangup.*SIG63\[ \]+Yes\[ \]+Yes\[ \]+Yes\[ \]+Real-time event 63.*EXC_BREAKPOINT\[ \]+Yes\[ \]+Yes\[ \]+Yes\[ \]+Breakpoint" - set timeout $oldtimeout - verbose "Timeout restored to $timeout seconds" 2 -} -test_handle_all_print - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile -signal_tests_1 - -# Force a resync, so we're looking at the right prompt. On SCO we -# were getting out of sync (I don't understand why). -send_gdb "p 1+1\n" -gdb_expect { - -re "= 2.*$gdb_prompt $" {} - -re ".*$gdb_prompt $" { perror "sync trouble in signals.exp" } - default { perror "sync trouble in signals.exp" } -} - -if [runto_main] then { - gdb_test "break handler if 0" "Breakpoint \[0-9\]+ .*" - gdb_test "set \$handler_breakpoint_number = \$bpnum" "" - - # Get to the point where a signal is waiting to be delivered - gdb_test "next" "signal \\(SIGUSR1.*" "next to signal in signals.exp" - gdb_test "next" "alarm \\(.*" "next to alarm #1 in signals.exp" - gdb_test "next" "\\+\\+count; /\\* first \\*/" \ - "next to ++count #1 in signals.exp" - # Give the signal time to get delivered - sleep 2 - - # Now call a function. When GDB tries to run the stack dummy, - # it will hit the breakpoint at handler. Provided it doesn't - # lose its cool, this is not a problem, it just has to note - # that the breakpoint condition is false and keep going. - - gdb_test "p func1 ()" "^p func1 \\(\\)\r\n.\[0-9\]* = void" \ - "p func1 () #1 in signals.exp" - - # Make sure the count got incremented. - - # Haven't investigated this xfail - setup_xfail "rs6000-*-*" - setup_xfail "powerpc-*-*" - gdb_test "p count" "= 2" "p count #1 in signals.exp" - if { [istarget "rs6000-*-*"] || [istarget "powerpc-*-*"] } { return 0 } - - gdb_test "condition \$handler_breakpoint_number" "now unconditional\\." - gdb_test "next" "alarm \\(.*" "next to alarm #2 in signals.exp" - gdb_test "next" "\\+\\+count; /\\* second \\*/" \ - "next to ++count #2 in signals.exp" - sleep 2 - - # This time we stop when GDB tries to run the stack dummy. - # So it is OK that we do not print the return value from the function. - gdb_test "p func1 ()" \ -"Breakpoint \[0-9\]*, handler.* -The program being debugged stopped while in a function called from GDB.*" \ - "p func1 () #2 in signals.exp" - # But we should be able to backtrace... - # On alpha-*-osf2.0 this test works when run manually but sometime fails when - # run under dejagnu, making it very hard to debug the problem. Weird... - gdb_test "bt" "#0.*handler.*#1.*#2.*main.*" "bt in signals.exp" - # ...and continue... - gdb_test "continue" "Continuing\\." "continue in signals.exp" - # ...and then count should have been incremented - gdb_test "p count" "= 5" "p count #2 in signals.exp" -} - -return 0 diff --git a/gdb/testsuite/gdb.base/smoke.c b/gdb/testsuite/gdb.base/smoke.c deleted file mode 100644 index 69d34c9..0000000 --- a/gdb/testsuite/gdb.base/smoke.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Test various kinds of stepping. -*/ -int glob = 0; - -int callee() { - glob++; - return (0); -} - -int main () { - int w,x,y,z; - int a[10], b[10]; - - /* Test "next" and "step" */ - w = 0; - x = 1; - y = 2; - z = 3; - w = w + 2; - x = x + 3; - y = y + 4; - z = z + 5; - - /* Test that "next" goes over a call */ - callee(); /* OVER */ - - /* Test that "step" doesn't */ - callee(); /* INTO */ - - /* Test "stepi" */ - a[5] = a[3] - a[4]; - callee(); /* STEPI */ - - /* Test "nexti" */ - callee(); /* NEXTI */ - - y = w + z; - - return (0); -} diff --git a/gdb/testsuite/gdb.base/smoke.cc b/gdb/testsuite/gdb.base/smoke.cc deleted file mode 100644 index 931fdaf..0000000 --- a/gdb/testsuite/gdb.base/smoke.cc +++ /dev/null @@ -1,480 +0,0 @@ -// Test various -*- C++ -*- things. - -typedef struct fleep fleep; -struct fleep { int a; } s; - -// ====================== simple class structures ======================= - -struct default_public_struct { - // defaults to public: - int a; - int b; -}; - -struct explicit_public_struct { - public: - int a; - int b; -}; - -struct protected_struct { - protected: - int a; - int b; -}; - -struct private_struct { - private: - int a; - int b; -}; - -struct mixed_protection_struct { - public: - int a; - int b; - private: - int c; - int d; - protected: - int e; - int f; - public: - int g; - private: - int h; - protected: - int i; -}; - -class public_class { - public: - int a; - int b; -}; - -class protected_class { - protected: - int a; - int b; -}; - -class default_private_class { - // defaults to private: - int a; - int b; -}; - -class explicit_private_class { - private: - int a; - int b; -}; - -class mixed_protection_class { - public: - int a; - int b; - private: - int c; - int d; - protected: - int e; - int f; - public: - int g; - private: - int h; - protected: - int i; -}; - -// ========================= simple inheritance ========================== - -class A { - public: - int a; - int x; -}; - -A g_A; - -class B : public A { - public: - int b; - int x; -}; - -B g_B; - -class C : public A { - public: - int c; - int x; -}; - -C g_C; - -class D : public B, public C { - public: - int d; - int x; -}; - -D g_D; - -class E : public D { - public: - int e; - int x; -}; - -E g_E; - -class class_with_anon_union -{ - public: - int one; - union - { - int a; - long b; - }; -}; - -class_with_anon_union g_anon_union; - -void inheritance2 (void) -{ -} - -void inheritance1 (void) -{ - int ival; - int *intp; - - // {A::a, A::x} - - g_A.A::a = 1; - g_A.A::x = 2; - - // {{A::a,A::x},B::b,B::x} - - g_B.A::a = 3; - g_B.A::x = 4; - g_B.B::b = 5; - g_B.B::x = 6; - - // {{A::a,A::x},C::c,C::x} - - g_C.A::a = 7; - g_C.A::x = 8; - g_C.C::c = 9; - g_C.C::x = 10; - - // {{{A::a,A::x},B::b,B::x},{{A::a,A::x},C::c,C::x},D::d,D::x} - - // The following initialization code is non-portable, but allows us - // to initialize all members of g_D until we can fill in the missing - // initialization code with legal C++ code. - - for (intp = (int *) &g_D, ival = 11; - intp < ((int *) &g_D + sizeof (g_D) / sizeof (int)); - intp++, ival++) - { - *intp = ival; - } - - // Overlay the nonportable initialization with legal initialization. - - // ????? = 11; (g_D.A::a = 11; is ambiguous) - // ????? = 12; (g_D.A::x = 12; is ambiguous) - g_D.B::b = 13; - g_D.B::x = 14; - // ????? = 15; - // ????? = 16; - g_D.C::c = 17; - g_D.C::x = 18; - g_D.D::d = 19; - g_D.D::x = 20; - - - // {{{{A::a,A::x},B::b,B::x},{{A::a,A::x},C::c,C::x},D::d,D::x}},E::e,E::x} - - // The following initialization code is non-portable, but allows us - // to initialize all members of g_D until we can fill in the missing - // initialization code with legal C++ code. - - for (intp = (int *) &g_E, ival = 21; - intp < ((int *) &g_E + sizeof (g_E) / sizeof (int)); - intp++, ival++) - { - *intp = ival; - } - - // Overlay the nonportable initialization with legal initialization. - - // ????? = 21; (g_E.A::a = 21; is ambiguous) - // ????? = 22; (g_E.A::x = 22; is ambiguous) - g_E.B::b = 23; - g_E.B::x = 24; - // ????? = 25; - // ????? = 26; - g_E.C::c = 27; - g_E.C::x = 28; - g_E.D::d = 29; - g_E.D::x = 30; - g_E.E::e = 31; - g_E.E::x = 32; - - g_anon_union.one = 1; - g_anon_union.a = 2; - - inheritance2 (); -} - -// ======================== virtual base classes========================= - -class vA { - public: - int va; - int vx; -}; - -vA g_vA; - -class vB : public virtual vA { - public: - int vb; - int vx; -}; - -vB g_vB; - -class vC : public virtual vA { - public: - int vc; - int vx; -}; - -vC g_vC; - -class vD : public virtual vB, public virtual vC { - public: - int vd; - int vx; -}; - -vD g_vD; - -class vE : public virtual vD { - public: - int ve; - int vx; -}; - -vE g_vE; - -void inheritance4 (void) -{ -} - -void inheritance3 (void) -{ - int ival; - int *intp; - - // {vA::va, vA::vx} - - g_vA.vA::va = 1; - g_vA.vA::vx = 2; - - // {{vA::va, vA::vx}, vB::vb, vB::vx} - - g_vB.vA::va = 3; - g_vB.vA::vx = 4; - g_vB.vB::vb = 5; - g_vB.vB::vx = 6; - - // {{vA::va, vA::vx}, vC::vc, vC::vx} - - g_vC.vA::va = 7; - g_vC.vA::vx = 8; - g_vC.vC::vc = 9; - g_vC.vC::vx = 10; - - // {{{{vA::va, vA::vx}, vB::vb, vB::vx}, vC::vc, vC::vx}, vD::vd,vD::vx} - - g_vD.vA::va = 11; - g_vD.vA::vx = 12; - g_vD.vB::vb = 13; - g_vD.vB::vx = 14; - g_vD.vC::vc = 15; - g_vD.vC::vx = 16; - g_vD.vD::vd = 17; - g_vD.vD::vx = 18; - - - // {{{{{vA::va,vA::vx},vB::vb,vB::vx},vC::vc,vC::vx},vD::vd,vD::vx},vE::ve,vE::vx} - - g_vD.vA::va = 19; - g_vD.vA::vx = 20; - g_vD.vB::vb = 21; - g_vD.vB::vx = 22; - g_vD.vC::vc = 23; - g_vD.vC::vx = 24; - g_vD.vD::vd = 25; - g_vD.vD::vx = 26; - g_vE.vE::ve = 27; - g_vE.vE::vx = 28; - - inheritance4 (); -} - -// ====================================================================== - -class Base1 { - public: - int x; - Base1(int i) { x = i; } -}; - -class Foo -{ - public: - int x; - int y; - static int st; - Foo (int i, int j) { x = i; y = j; } - int operator! (); - operator int (); - int times (int y); -}; - -class Bar : public Base1, public Foo { - public: - int z; - Bar (int i, int j, int k) : Base1 (10*k), Foo (i, j) { z = k; } -}; - -int Foo::operator! () { return !x; } - -int Foo::times (int y) { return x * y; } - -int Foo::st = 100; - -Foo::operator int() { return x; } - -Foo foo(10, 11); -Bar bar(20, 21, 22); - -class Contains_static_instance -{ - public: - int x; - int y; - Contains_static_instance (int i, int j) { x = i; y = j; } - static Contains_static_instance null; -}; - -Contains_static_instance Contains_static_instance::null(0,0); -Contains_static_instance csi(10,20); - -class Contains_nested_static_instance -{ - public: - class Nested - { - public: - Nested(int i) : z(i) {} - int z; - static Contains_nested_static_instance xx; - }; - - Contains_nested_static_instance(int i, int j) : x(i), y(j) {} - - int x; - int y; - - static Contains_nested_static_instance null; - static Nested yy; -}; - -Contains_nested_static_instance Contains_nested_static_instance::null(0, 0); -Contains_nested_static_instance::Nested Contains_nested_static_instance::yy(5); -Contains_nested_static_instance - Contains_nested_static_instance::Nested::xx(1,2); -Contains_nested_static_instance cnsi(30,40); - -typedef struct { - int one; - int two; -} tagless_struct; -tagless_struct v_tagless; - -/* Try to get the compiler to allocate a class in a register. */ -class small { - public: - int x; - int method (); -}; -int small::method () -{ - return x + 5; -} -void marker_reg1 () {} - -int -register_class () -{ - /* We don't call any methods for v, so gcc version cygnus-2.3.3-930220 - might put this variable in a register. This is a lose, though, because - it means that GDB can't call any methods for that variable. */ - register small v; - - int i; - - /* Perform a computation sufficiently complicated that optimizing compilers - won't optimized out the variable. If some compiler constant-folds this - whole loop, maybe using a parameter to this function here would help. */ - v.x = 0; - for (i = 0; i < 13; ++i) - v.x += i; - --v.x; /* v.x is now 77 */ - marker_reg1 (); - return v.x + 5; -} - -int -main() -{ -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - inheritance1 (); - inheritance3 (); - register_class (); - - /* FIXME: pmi gets optimized out. Need to do some more computation with - it or something. (No one notices, because the test is xfail'd anyway, - but that probably won't always be true...). */ - int Foo::* pmi = &Foo::y; - - /* Make sure the AIX linker doesn't remove the variable. */ - v_tagless.one = 5; - - return foo.*pmi; -} - -/* Create an instance for some classes, otherwise they get optimized away. */ -default_public_struct default_public_s; -explicit_public_struct explicit_public_s; -protected_struct protected_s; -private_struct private_s; -mixed_protection_struct mixed_protection_s; -public_class public_c; -protected_class protected_c; -default_private_class default_private_c; -explicit_private_class explicit_private_c; -mixed_protection_class mixed_protection_c; diff --git a/gdb/testsuite/gdb.base/smoke.exp b/gdb/testsuite/gdb.base/smoke.exp deleted file mode 100644 index 42de7c8..0000000 --- a/gdb/testsuite/gdb.base/smoke.exp +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright (C) 1997, 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 - -# smoke.exp -- Expect script to test gdb before checkins - -# use this to debug: -# -#log_user 1 - -if $tracelevel then { - strace $tracelevel -} - -set testfile smoke -set testfile1 smoke1 -set c_srcfile ${srcdir}/${subdir}/${testfile}.c -set cpp_srcfile ${srcdir}/${subdir}/${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} -set binfile1 ${objdir}/${subdir}/${testfile1} - -#remote_exec build "rm -f ${binfile}" -remote_exec build "rm -f core" - -# "C" section, using source copied from "step-test.c" from "gdb.base" -# -if { [gdb_compile "${c_srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# Some basic tests -# -gdb_test "tb main" ".*Breakpoint 1 at.*line 15.*" "temp breakpoint" -gdb_test "b callee" ".*Breakpoint 2 at.*line 6.*" "breakpoint" -gdb_test "l 10" ".*10.*int main.*11.*int w,x,y,z;.*12.*int a.*" "list" -gdb_test "c" ".*The program is not being run.*" "catch error" -gdb_test "r" ".*Starting program.*main.*15.*" "hit bp" -gdb_test "hel r" ".*Start debugged program.*without arguments.*" "help" -gdb_test "n" ".*x = 1;.*" "next" -gdb_test "s" ".*y = 2;.*" "step" -gdb_test "p/t y" ".* = 1.*" "print y in binary" -gdb_test "p 1+2*3+4" ".* = 11.*" "calculate" -gdb_test "p/t 1+2*3+4" ".* = 1011.*" "binary" - -# Note: accept either "Watchpoint" or "Hardware watchpoint"; -# 10.20 can't do the hardware watch. The hardware kind -# triggers one line earlier than the regular kind. -# -gdb_test "wat y" ".*atchpoint.*y.*" "set watch" -gdb_test "c" ".*atchpoint.*Old.*= .*New.*= 2.*1\[78\].*" "continue, hit watch" - -gdb_test "set glob=999" ".*.*" "set" -gdb_test "p glob" ".*= 999.*.*" "print glob" -gdb_test "p/x glob" ".*= 0x3e7.*" "hex" -gdb_test "c" ".*atchpoint.*Old.*= 2.*New.*= 6.*2\[12\].*" "continue, 2nd hit watch" -gdb_test "d 5" "No breakpoint number 5." "del non existing watch" -gdb_test "c" ".*Breakpoint.*callee.*6.*" "hit bp" -gdb_test "bt" ".*callee.*6.*main.*25.*" "bt" -gdb_test "fin" ".*Run till exit.*callee.*Value returned.*0.*" "finish" -gdb_test "c" ".*Breakpoint.*callee.*6.*" "hit bp again" -gdb_test "cle" ".*Deleted breakpoint.*" "clear" -gdb_test "wat glob" ".*atchpoint.*glob.*" "set 2nd watch" -gdb_test "i wat" ".*" "" -gdb_test "whe" ".*" "" - -# ??rehrauer: We're now disabling watchpoints while an interactive -# call is "in flight". When/if we can teach gdb how to unwind through -# the call dummy frame, we can then allow watches during calls, and -# also then restore this testpoint to the original, commented-out form. -# -gdb_test "call callee()" ".*\[0-9\]* = 0.*" "call, didn't hit watch" -#gdb_test "call callee()" ".*atchpoint.*Old.*= 1000.*New.*= 1001.*\[67\].*being debug.*is done.*" "call, hit watch" - -gdb_test "d 4" ".*" "del watch 2" -gdb_test "d 3" ".*" "del watch 1" -gdb_test "info break" "No breakpoints or watchpoints." -# since we have deleted all the watchpoints this test is useless -#gdb_test "c" ".*Continuing.*" "end call" -gdb_test "c" ".*Program exited normally.*" "pgm exit" - -# Check for production of a core file -# -#set exec_output [execute_anywhere "ls core"] -set exec_output [remote_exec build "ls core"] - -if [ regexp "core not found" $exec_output] { - pass "No core dumped on quit" -} else { - if [ regexp "No such file or directory" $exec_output] { - pass "ls: core: No core dumped on quit" - } else { - remote_exec build "rm -f core" - fail "Core dumped on quit" - } -} - - -#======================================== -# -# "C++" section, using source copied from "misc.cc" from "gdb.c++" -# - -# -#remote_exec build "rm -f ${binfile}" -#remote_exec build "CC -g -o ${binfile} ${cpp_srcfile}" -if {[gdb_compile "${cpp_srcfile}" "${binfile1}" executable {c++ debug}] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile1} - -# Tests, some copied from misc.exp. -# - - # See what language gdb thinks main() is, prior to reading full symbols. - # I think this fails for COFF targets. - setup_xfail "a29k-*-udi" - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"auto; currently c\\+\\+\".*$gdb_prompt $" { - pass "deduced language is C++, before full symbols" - } - -re ".*$gdb_prompt $" { fail "source language not correct for C++ (psymtabs only)"} - return - - timeout { fail "can't show language (timeout)"} - return - } - -gdb_test "b main" ".*Breakpoint 1 at.*" "" -gdb_test "r" ".*Starting program.*Breakpoint 1.*" "run to main" -gdb_test "ptype Foo" ".*type = class Foo.*static int st;.*int operator.*" "ptype" -gdb_test "step" ".*inheritance1.*" "step" -gdb_test "ptype g_anon_union" ".*anon_union.*union.*int a;.*" "anon" -gdb_test "p g_E" ".*class D.*class B.*class A.*class C.*class A.*x = 0.*" "print inherited class " -gdb_test "p g_E.x = 99" ".*warn.*x ambiguous; using E::x. Use a cast to disambig.*99.*" "set via print" -gdb_test "c" ".*Program exited.*" "run to end" - -gdb_exit - -# Check for production of a core file -# -#set exec_output [execute_anywhere "ls core"] -set exec_output [remote_exec build "ls core"] -if [ regexp "core not found" $exec_output] { - pass "No core dumped on quit" -} else { - if [ regexp "No such file or directory" $exec_output] { - pass "ls: core: No core dumped on quit" - } else { - remote_exec build "rm -f core" - fail "Core dumped on quit" - } -} - -# execute_anywhere "rm -f ${binfile1}" -# -return 0 diff --git a/gdb/testsuite/gdb.base/so-impl-ld.c b/gdb/testsuite/gdb.base/so-impl-ld.c deleted file mode 100644 index a8fa189..0000000 --- a/gdb/testsuite/gdb.base/so-impl-ld.c +++ /dev/null @@ -1,18 +0,0 @@ -/* This program is linked against SOM shared libraries, which the loader - automatically loads along with the program itself). - */ - -#include <stdio.h> - -extern int solib_main (int); - -main () -{ - int result; - - /* Call a shlib function. */ - result = solib_main (100); - - /* Call it again. */ - result = solib_main (result); -} diff --git a/gdb/testsuite/gdb.base/so-indr-cl.c b/gdb/testsuite/gdb.base/so-indr-cl.c deleted file mode 100644 index dc29bad..0000000 --- a/gdb/testsuite/gdb.base/so-indr-cl.c +++ /dev/null @@ -1,23 +0,0 @@ -/* This program is linked against SOM shared libraries, which the loader - automatically loads along with the program itself). - */ - -#include <stdio.h> - -extern int solib_main (int); - -static int -solib_wrapper (function) - int (*function)(int); -{ - return (*function)(100); -} - - -main () -{ - int result; - - /* This is an indirect call to solib_main. */ - result = solib_wrapper (solib_main); -} diff --git a/gdb/testsuite/gdb.base/sparc-aout.u b/gdb/testsuite/gdb.base/sparc-aout.u deleted file mode 100644 index 8b4eef9..0000000 --- a/gdb/testsuite/gdb.base/sparc-aout.u +++ /dev/null @@ -1,732 +0,0 @@ -begin 777 sparc-aout -M@0,!"P ( " #YP " @ "\$" T .@0)(#H$25 -M*B "E *@!)0"0 H7 0U"+@H , C" &((@) 0* 0! 0 "@$ -M ! @$ 0 $ -6<(Z @0 ( P$ ! @$ 0 )WCOV@O (KA7B -M*!$ B0$B(,0 2Y(0( "L$ (D@.@7$ $N4$" @@*(@(!* $\! -MPA.@7H"@80L2@ !+ 0 .@#H&#" Z!DX@.@:*0% &2!( 1+P "*X5XDB0 -M$" E! @!1<@ "6$N "F! %D #2:$" IA ") " !32 Z!DE! @!Q<@ -M "6$N 2F! %D "N:$ 4+P "*X5XG01 (D!(B&T ".2$" JA -M",(#H&B D ! H "R\ BN%>)(D 3 $I(0 !&4$" '%R )82X!*8$ 5 -M0 %YH0( #" Z!PH 3 >8CH'SJ(Z" [".@A , C" &((PB.@B , !#" -M &"@PB.@C , B"$&!DPB.@D) 0( &?Q DA @?(''X B!Z $( !H(0 -M( 40@ $@A @1Q" *"$" #D= @ J 0! @</@" $ "0$" "D@7@ -M!-0%P ""$" $D= @ ) 0('^"$" !D= @ 0 O=7-R+VQI8B]L9"YS;P O -M9&5V+WIE<F\ &6-R=# Z(&YO("]U<W(O;&EB+VQD+G-O"@ -M F8W)T,#H@+W5S<B]L:6(O;&0N<V\@;6%P<&EN9R!F86EL=7)E"@ -M !1C<G0P.B!N;R O9&5V+WIE<F\* "=X[^0L! @ #" &!Q^ (@>@ -M )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P@ !@<?@"('H "=X[^0 -ML! @ #" &!Q^ (@>@ )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P -M@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ )WCOY"P$" ,( 8'' -MX B!Z G>._D+ 0( P@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ -M )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P@ !@<?@"('H -MG>._D!$ C! B. ,( 8''X B!Z G>._D!$ !#!&B"H,( 8''X B! -MZ 0L@ )WCOWA #D 0 !$ !# *B,0$0 $)(0( '2*B)8$0 $)(0 -M( +2*B%X$0 $)(0( /2,B$P$0 $)(0( 32,B$($0 $)(0( 72,B'@$0 -M$)(0( ;2(B'($0 $)(0( ?2(B&@$0 $)(0( C2(B$ $0 $)(0( G2(B,( -M$0 $)(0( K2(B)($0 $)(0( O2(B%@$0 $!, C4 F.TU"(A*!$ ! 3 -M 0U!I@L-0Z(8@1 0$P $-0*8Q#4*B&P$0 $!, !#4"F)8U"HAF!$ -M ! 3 0U IA>-0J(.@1 0$P $-0283#4,B)H$0 $!, !#4$F$(U#(B -M,!$ ! 3 0U!)AX-0R(5@1 0$P $-0"8<C4(B% $0 $!, !#4 F&@ -MU"(A.!$ ! 3 0U )A -0B(B@1 0$P $-0"8PC4(B&H$0 $!, !#4 -M F)(U"(AD!$ ! 3 0U )A8-0B(. 1 0$P $-0"82C4(B)@$0 $!, -M !#4&F&(U#HA$!$ ! 5 0DA*C$-(B(/@1 0%0 $)(2HEC2(B#8$0 -M$!4 !"2$J%XTB(AP!$ ! 5 0DA*A,-(B(7 1 0%0 $)(2H0C2(B%0 -M$0 $!4 !"2$J'@TB(C !$ ! 5 0DA*AR-(B(E 1 0%0 $)(2H:#2 -M(B(@$0 $!4 !"2$J$ TB(A2!$ ! 5 0DA*C"-(B(/ 1 0%0 $)(2 -MHDC2(B#0$0 $!4 !"2$J%@TB(AN!$ ! 5 0DA*A*-(B(6@1 0%0 -M$)(2H8C2(B'8$0 $)(0( +2(B#($0 $)(0( +2(B(X$0 $)(0( '2(B'0 -M$0 $)(0( '2(B'H$0 $!, !#4 F) U"(B<!$ ! 3 0U!)A(-0R(8"! -MQ^ (@>@ )WCOY 1 0U (C(("BO_\2@ -DA(C(- "8 2 HB H "900 -M( "6 F $DA @ )("8 30 D +@*(@ !*___V4 J !DI* 2 H1 0HA(C -M(*$J8 +0! 1G\( * $/_R I" -+___= $ !&!Q^ (@>@ )WCOY 1 0 -MT@(C'("B8 "@ )H!(C'- $ "?P@ H 0@!- $ " HB $K__^P$ 1 -M )D!(BB$ !E62$" @<?@"('H "=X[^0$P $- "8+R HB $H !) 0 -M( %____GT")@O(''X B!Z 0&P 26____Q 0'@ F6____ -MM 0(0 66____K 0) $V6____3 4 6 2@ -M & H 7 ! !D ) 50 T A (@ "T -M G 1_____\ -@ #_____ $$ !@ -M #X " %0 P R *@ K ,P "0 U -M!P "0 ! ( , : " #@ + , X < -M #P !L 0 )0 !$ = $@ !X 3 'P !0 -M Y %0 "( 6 *P !< !& & ", 9 ,0 -M !H G &P "8 < * !T J '@ "D ? -M/P " !! (0 "P C +P "4 N )@ H -M "D [ + #8 M -P "X T +P #T -M P .@ #$ !/ ,@ S 0@ #0 -0 -M $4 W / #@ ! .0 Z #L !4 -M/ %( ] 0P #X !$ /P $D ! 2 $( -M 0P !$ 30 $4 !* 1@ $P !' 2P $@ -M !0 20 $X !+ 40 $P !3 30 !. -M $\ 4 !1 %( 4P !0 ' -MC ,[@ '!P &X0 0,@ ."0 %S 0R@ 3!0 %#@ (" 9 -M 0 #8@ E 0 &X@ L!0 #?@ ([@ R!P %<@ 0* -M [!P '.0 0 !% 0 #H !+!0 \P (QP !>!0 'KP -M(P@ !J"0 'SP 0,@ !S!0 "@P (O0 "*"0 &] 0- "A"0 # -M^@ 0-@ "X"0 '3P 0. #/"0 $:0 0.@ #F"0 "K@ 0/ #V -M"0 (4@ 0/@ $&"0 &@ 00 $6"0 3 00@ $F"0 N0 01 -M $V"0 'Q@ 02 $_"0 &R 02@ %("0 'F@ 03 %1!0 $DP -M(U@ %E!0 ';P (J0 %Y"0 " P 03@ &-!0 SP (T0 &:!0 # -MJP (I &G"0 &W0 04 &T!0 $I@ )TP &\"0 (A 04@ '4 -M"0 &% 05 'L"0 %(P 05@ ($"0 $V0 06 (5"0 "]@ 06@ -M (F"0 &)@ 07 (W"0 $9@ 07@ )("0 '( 08 )2"0 %:P -M08@ )<!0 $Q0 (S )Q!0 $=P (N *&"0 I0 09 *;"0 & -M70 09@ *P!0 %)P (X0 *^!0 %C0 (LP +,"0 (1 0: +: -M"0 !NP 0:@ +H"0 '<P 0; +V"0 'P@ 0;@ ,/"0 $R 0< -M ,H"0 '\ 0<@ ,O"0 "^ 0= ,Z"0 '1 0=@ -,"0 !V@ -M0> ->"0 $G@ 0>@ -G"0 '*P 0? -R"0 '+ 0@@ -]!0 # -MF0 (VP .3!0 &=0 (K@ .I"0 #S@ 0B ._"0 !"0 0B@ /5 -M"0 ;0 0C /K"0 "=P 0C@ /W"0 '10 0D /_!0 $G0 (YP -M 0."0 (80 0D@ 0="0 %^@ 0E 0L"0 '[@ 0E@ 0["0 !S0 -M0F 1*"0 "F0 0F@ 19"0 'A0 0G 1A"0 'K 0P 1["0 ' -MN0 0P@ 2#"0 '1@ 0Q 2+ 0 &= 24!P "F 0, 2F -M"0 '<0 0Q@ 2U"0 "TP 0R 3$!0 &>0 )P 37!0 &B0 )H@ -M 3J!P %H 0+A?971E>'0 7V5D871A %]E;F0 <W1A<G0 <W1A<G1?9FQO -M870 7U]E>&ET %]M86EN %]E;G9I<F]N %]?1%E.04U)0P!?97AI= !?=E]S -M:6=N961?:6YT7V9U;F, 7W9?:6YT7V9U;F, 7W!R:6UA<GD 7W9?=6YS:6=N -M961?<VAO<G1?9G5N8P!?=E]S:6=N961?;&]N9U]P;VEN=&5R %]V7W-I9VYE -M9%]C:&%R7W!O:6YT97( 7W9?=6YS:6=N961?;&]N9U]A<G)A>0!?=E]U;G-I -M9VYE9%]C:&%R7V%R<F%Y %]V7VQO;F=?<&]I;G1E<@!?=E]C:&%R7W!O:6YT -M97( 7W9?=6YS:6=N961?:6YT %]V7W-I9VYE9%]S:&]R= !?=E]D;W5B;&5? -M87)R87D 7W9?=6YI;VX 7W9?9FQO870 7W9?<VAO<G0 7W9?<VEG;F5D7VQO -M;F=?9G5N8P!?=E]S:6=N961?8VAA<E]F=6YC %]V7W-I9VYE9%]I;G1?87)R -M87D 7W9?;&]N9U]F=6YC %]V7V-H87)?9G5N8P!?=E]I;G1?87)R87D 7U]? -M;6%I;@!?=E]U;G-I9VYE9%]I;G1?<&]I;G1E<@!?=E]S:6=N961?<VAO<G1? -M<&]I;G1E<@!?=E]U;G-I9VYE9%]S:&]R=%]A<G)A>0!?=E]U;G-I9VYE9%]L -M;VYG %]V7V9L;V%T7W!O:6YT97( 7W9?<VAO<G1?<&]I;G1E<@!?=E]U;G-I -M9VYE9%]C:&%R %]V7W5N:6]N,@!?=E]D;W5B;&4 7W9?=6YS:6=N961?:6YT -M7V9U;F, 7W9?<VEG;F5D7W-H;W)T7V9U;F, 7W9?<VEG;F5D7VQO;F=?87)R -M87D 7W9?<VEG;F5D7V-H87)?87)R87D 7W9?9FQO871?9G5N8P!?=E]S:&]R -M=%]F=6YC %]V7W-I9VYE9%]I;G0 7W9?;&]N9U]A<G)A>0!?=E]C:&%R7V%R -M<F%Y %]V7W5N<VEG;F5D7VQO;F=?<&]I;G1E<@!?=E]U;G-I9VYE9%]C:&%R -M7W!O:6YT97( 7W9?:6YT %]S<&]R='-C87( 7W9?9&]U8FQE7W!O:6YT97( -M7W9?=6YS:6=N961?<VAO<G0 7V-L=6YK97( 7W9?<W1R=6-T,0!?=E]S=')U -M8W0R %]V7W5N<VEG;F5D7VQO;F=?9G5N8P!?=E]U;G-I9VYE9%]C:&%R7V9U -M;F, 7W9?<VEG;F5D7VEN=%]P;VEN=&5R %]V7W5N<VEG;F5D7VEN=%]A<G)A -M>0!?=E]S:6=N961?<VAO<G1?87)R87D 7VYO;G!R:6UA<GD 7W-?;&EN:P!? -M=E]D;W5B;&5?9G5N8P!?=E]S:6=N961?;&]N9P!?=E]I;G1?<&]I;G1E<@!? -M=E]S:6=N961?8VAA<@!?=E]F;&]A=%]A<G)A>0!?=E]S:&]R=%]A<G)A>0!? -M=5]L:6YK %]V7W5N<VEG;F5D7W-H;W)T7W!O:6YT97( 7W9?;&]N9P!?=E]C -M:&%R %]O;E]E>&ET %]?97AI=%]D=6UM>5]D96-L %]?7T-43U)?3$E35%]? -M %]?7T143U)?3$E35%]? %]?7V1O7V=L;V)A;%]C=&]R<P!?7U]D;U]G;&]B -M86Q?9'1O<G, 7U]E>&ET7V1U;6UY7W)E9@ "]U<W(O;&]C86PO;&EB -M+V=C8RUL:6(O<W5N-"\R+C$O.B]U<W(O;&]C86PO;&EB+P 3 -MD( 0 & &, -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M # ! # 0"0 3 -M@ $T@ $!< ! 8 !W@ >H *6 5 .2 !0 " -M / 0 # @<!@ $ "=X[^@?____ $ "=X[^@?___^0$ &= -MX[^@?___]@$ *=X[^@?___\P$ , $!I -M ! P -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M 0& ! X$ @( !4$ BD !T$ -M BD "QD BD %5D BD %V -M '^ )& +B -& -M .^ 0V 2> 4F -M 6R 8F :6 ;> -M <J >* >Z -M HB !$ !Y BD !$ !Y BE !$ !Y B -MG QHD BD !$ !Z BI !$ !Z BJ !$ !Z -M BL RDD BI !$ ![ BN !$ ![ BO !$ -M ![ BQ T D BN !$ !] BS !$ !] BT -M !$ !] BV UDD BS !$ !^ BX !$ !^ B -MY !$ !^ B[ VDD BX !$ !_ B] !$ !_ -M B^ !$ !_ C X D B] !$ "! C" !$ -M "! C# !$ "! C% YDD C" !$ "" C' -M !$ "" C( !$ "" C* Z<D C' !$ "# C -M, !$ "# C- !$ "# C/ [PD C, !$ "% -M C1 !$ "% C2 !$ "% C4 ],D C1 !$ -M "& C6 !$ "& C7 !$ "& C9 ^(D C6 -M !$ "' C; !$ "' C< !$ "' C> _@D C -M; !$ ") CA !$ ") CB !$ ") CE !! D -M CA !$ "* CG !$ "* CH !$ "* CK !"$D -M CG !#. !)^ !-^ -M!0: !2* !4" !5R -M !6F !$ "R CN !$ "U CQ !$ "V -M CS !$ "W CV !$ "Y CY !$ "Z C\ !$ -M "[ C_ !$ "] D" !$ "^ D% !$ "_ D( -M !$ #! D+ !$ #" D. !$ ## D1 !$ #% D -M4 !$ #& D8 !$ #) D< !$ #* D@ !$ #+ -M DD !$ #- DH !$ #. DL !$ #/ DP !$ -M #1 DT !$ #2 DX !$ #3 D\ !$ #5 E -M !$ #6 E$ !$ #7 E( !$ #9 E, !$ #: E -M0 !$ #< E4 !$ #= E8 !$ #> E< !$ #@ -M E@ !$ #A ED !$ #B EH !$ #D EL !$ -M #E EP !$ #F ET !$ #H EX !$ #I E\ -M !$ #J F !$ #L F$ !$ #M F( !$ #O F -M, !$ #P F/ !$ #Q F2 !$ #R F5 !$ #T -M F8 !$ #V F< !$ #W F@ !$ #W F@ !98D -M CN !9X@ !:@@ !;H@ -M!<X@ !=D@ !>L@ !?\@ -M !@@@ !A@@ !BH@ !C0@ -M !D4@ !E@@ !F0@ !G$@ -M !HP@ !J\@ !M0@ -M!O @ !PD@ !RX@ !T@@ -M !U\@ !X(@ !YT@ ![4@ -M !]D@ !_8@ "!0@ ""H@ -M "$@@ "&@@ "'\@ -M")H@ "+H@ ",\@ ".@@ -M "08@ "1P@ "38@ "54@ -M "6T@ "88@ "90@ "B\@ -M "CL@ "LX@ "MD@ -M"N0@ "P@@ "Q<@ "S4@ -M "T,$ FB "TP$ FB "UL& ! O "VID -M FB "WUD FB "XF "ZN "[V -M "^2 "_V #!N -M##F #%. #'6 #)B -M #+6 #-& #.. #/: -M #0Z #1J #6N #7B -M #8* #8V #;: -M#=R #?$D FB #@<@ #AXD G -M #C0D G3 #C\$ G> #D<$ G> #E9D -M G> #FED G> #G6 #I> #JF -M #M" #NF #P> -M#R6 #S^ #V& #X2 -M #Z& #[V #\^ #^* -M #_J $ : $%> $&2 -M $&Z $'F $** -M$,B $-T@ $/$@ $0X@ -M $2 $ G> $21D G> !$ /__ G> $2L% >, -M SN $3(' ;A ! R $3D) 7, !#* $3X% 4. @( $40% -M -^ CN $4H' 5R ! H $5,% #S C' $68% >O C" -M$7() ?/ ! R $7L% *# B] $9() ;T ! T $:D) /Z ! -MV $< ) =/ ! X $=<) 1I ! Z $>X) *N ! \ $?X) A2 -M ! ^ $@X) : !! $AX) !, !!" $BX) "Y !!$ $CX) -M ?& !!( $D<) ;( !!* $E ) >: !!, $ED% 23 C6 -M$FT% =O BI $H$) (# !!. $I4% #/ C1 $J(% .K B -MD $J\) ;= !!0 $KP% 2F G3 $L0) B$ !!2 $MP) 84 -M !!4 $O0) 4C !!6 $PP) 39 !!8 $QT) +V !!: $RX) -M 8F !!< $S\) 1F !!> $U ) <@ !!@ $UH) 5K !!B -M$V0% 3% C, $WD% 1W BX $XX) "E !!D $Z,) 9= !! -MF $[@% 4G CA $\8% 6- BS $]0) A$ !!H $^() &[ -M !!J $_ ) =S !!L $_X) ?" !!N %!<) 3( !!P %# ) -M ?P !!R %#<) +X !!T %$() =$ !!V %%0) ': !!X -M%&8) 2> !!Z %&\) <K !!\ %'H) <L !"" %(4% .9 C -M; %)L% 9U BN %+$) /. !"( %,<) $) !"* %-T) !M -M !", %/,) )W !". %/\) =% !"0 %0<% 2= CG %18) -M AA !"2 %24) 7Z !"4 %30) ?N !"6 %4,) '- !"8 -M%5() *9 !": %6$) >% !"< %6D) >L !# %8,) >Y !# -M" %8L) =& !#$ %9,' *8 ! P %:4) =Q !#& %;0) +3 -M !#( %<,% 9Y G %=8% :) FB %>D' 6@ ! N %?I? -M7T193D%-24, 8W)T,"YO &=D8FUE+F\ 9V-C,E]C;VUP:6QE9"X +VAO;64O -M9VYU+V=D8B]W;W)K+VYE=R]D979O+V=D8G1E<W0O=#$P+P!G9&)M92YC &EN -M=#IT,3UR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!C:&%R.G0R/7(R.S [ -M,3(W.P!L;VYG(&EN=#IT,SUR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!U -M;G-I9VYE9"!I;G0Z=#0]<C$[,#LM,3L ;&]N9R!U;G-I9VYE9"!I;G0Z=#4] -M<C$[,#LM,3L <VAO<G0@:6YT.G0V/7(Q.RTS,C<V.#LS,C<V-SL ;&]N9R!L -M;VYG(&EN=#IT-SUR,3LP.RTQ.P!S:&]R="!U;G-I9VYE9"!I;G0Z=#@]<C$[ -M,#LV-34S-3L ;&]N9R!L;VYG('5N<VEG;F5D(&EN=#IT.3UR,3LP.RTQ.P!S -M:6=N960@8VAA<CIT,3 ]<C$[+3$R.#LQ,C<[ '5N<VEG;F5D(&-H87(Z=#$Q -M/7(Q.S [,C4U.P!F;&]A=#IT,3(]<C$[-#LP.P!D;W5B;&4Z=#$S/7(Q.S@[ -M,#L ;&]N9R!D;W5B;&4Z=#$T/7(Q.S@[,#L =F]I9#IT,34],34 =%]S=')U -M8W0Z5#$V/7,R-'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z -M-BPQ-BPQ-CMV7VEN=%]M96UB97(Z,2PS,BPS,CMV7VQO;F=?;65M8F5R.C,L -M-C0L,S([=E]F;&]A=%]M96UB97(Z,3(L.38L,S([=E]D;W5B;&5?;65M8F5R -M.C$S+#$R."PV-#L[ '1?=6YI;VXZ5#$W/74X=E]C:&%R7VUE;6)E<CHR+# L -M.#MV7W-H;W)T7VUE;6)E<CHV+# L,38[=E]I;G1?;65M8F5R.C$L,"PS,CMV -M7VQO;F=?;65M8F5R.C,L,"PS,CMV7V9L;V%T7VUE;6)E<CHQ,BPP+#,R.W9? -M9&]U8FQE7VUE;6)E<CHQ,RPP+#8T.SL =E]C:&%R7V9U;F,Z1C( =E]S:6=N -M961?8VAA<E]F=6YC.D8Q, !V7W5N<VEG;F5D7V-H87)?9G5N8SI&,3$ =E]S -M:&]R=%]F=6YC.D8V '9?<VEG;F5D7W-H;W)T7V9U;F,Z1C8 =E]U;G-I9VYE -M9%]S:&]R=%]F=6YC.D8X '9?:6YT7V9U;F,Z1C$ =E]S:6=N961?:6YT7V9U -M;F,Z1C$ =E]U;G-I9VYE9%]I;G1?9G5N8SI&- !V7VQO;F=?9G5N8SI&,P!V -M7W-I9VYE9%]L;VYG7V9U;F,Z1C, =E]U;G-I9VYE9%]L;VYG7V9U;F,Z1C4 -M=E]F;&]A=%]F=6YC.D8Q,@!V7V1O=6)L95]F=6YC.D8Q,P!L:6YK.E0Q.#US -M,34R;F5X=#HQ.3TJ,3@L,"PS,CML:6YK9G5N8SHR,#TJ,C$]9C$Y+#,R+#,R -M.W-T=69F.C(R/6%R,3LP.S [,C,]87(Q.S [,3LR-#UA<C$[,#LR.S$V+#8T -M+#$Q-3([.P!T=5]L:6YK.E0R-3UU,30T;F5X=#HQ.2PP+#,R.VQI;FMF=6YC -M.C(P+# L,S([<W1U9F8Z,C(L,"PQ,34R.SL 8V]L;W)S.E0R-CUE>65L;&]W -M.C L<'5R<&QE.C$L<&EN:SHR+#L 8V%R<SI4,C<]96)M=SHP+'!O<G-C:&4Z -M,2P[ &)O;VQE86XZ=#(X/65&04Q313HP+%12544Z,2P[ &)V86QS.E0R.3UE -M9F%L<V4Z,"QT<G5E.C$L.P!B;V]L96%N,CIT,CD ;6ES;W)D97)E9#I4,S ] -M971W;SHR+&]N93HQ+'IE<F\Z,"QT:')E93HS+#L ;6%I;CI&,0!V7V-H87(Z -M1S( =E]S:6=N961?8VAA<CI',3 =E]U;G-I9VYE9%]C:&%R.D<Q,0!V7W-H -M;W)T.D<V '9?<VEG;F5D7W-H;W)T.D<V '9?=6YS:6=N961?<VAO<G0Z1S@ -M=E]I;G0Z1S$ =E]S:6=N961?:6YT.D<Q '9?=6YS:6=N961?:6YT.D<T '9? -M;&]N9SI',P!V7W-I9VYE9%]L;VYG.D<S '9?=6YS:6=N961?;&]N9SI'-0!V -M7V9L;V%T.D<Q,@!V7V1O=6)L93I',3, =E]C:&%R7V%R<F%Y.D<S,3UA<C$[ -M,#LQ.S( =E]S:6=N961?8VAA<E]A<G)A>3I',S(]87(Q.S [,3LQ, !V7W5N -M<VEG;F5D7V-H87)?87)R87DZ1S,S/6%R,3LP.S$[,3$ =E]S:&]R=%]A<G)A -M>3I',S0]87(Q.S [,3LV '9?<VEG;F5D7W-H;W)T7V%R<F%Y.D<S- !V7W5N -M<VEG;F5D7W-H;W)T7V%R<F%Y.D<S-3UA<C$[,#LQ.S@ =E]I;G1?87)R87DZ -M1S,V/6%R,3LP.S$[,0!V7W-I9VYE9%]I;G1?87)R87DZ1S,V '9?=6YS:6=N -M961?:6YT7V%R<F%Y.D<S-SUA<C$[,#LQ.S0 =E]L;VYG7V%R<F%Y.D<S.#UA -M<C$[,#LQ.S, =E]S:6=N961?;&]N9U]A<G)A>3I',S@ =E]U;G-I9VYE9%]L -M;VYG7V%R<F%Y.D<S.3UA<C$[,#LQ.S4 =E]F;&]A=%]A<G)A>3I'-# ]87(Q -M.S [,3LQ,@!V7V1O=6)L95]A<G)A>3I'-#$]87(Q.S [,3LQ,P!V7V-H87)? -M<&]I;G1E<CI'-#(]*C( =E]S:6=N961?8VAA<E]P;VEN=&5R.D<T,STJ,3 -M=E]U;G-I9VYE9%]C:&%R7W!O:6YT97(Z1S0T/2HQ,0!V7W-H;W)T7W!O:6YT -M97(Z1S0U/2HV '9?<VEG;F5D7W-H;W)T7W!O:6YT97(Z1S0U '9?=6YS:6=N -M961?<VAO<G1?<&]I;G1E<CI'-#8]*C@ =E]I;G1?<&]I;G1E<CI'-#<]*C$ -M=E]S:6=N961?:6YT7W!O:6YT97(Z1S0W '9?=6YS:6=N961?:6YT7W!O:6YT -M97(Z1S0X/2HT '9?;&]N9U]P;VEN=&5R.D<T.3TJ,P!V7W-I9VYE9%]L;VYG -M7W!O:6YT97(Z1S0Y '9?=6YS:6=N961?;&]N9U]P;VEN=&5R.D<U,#TJ-0!V -M7V9L;V%T7W!O:6YT97(Z1S4Q/2HQ,@!V7V1O=6)L95]P;VEN=&5R.D<U,CTJ -M,3, =E]S=')U8W0Q.D<Q-@!V7W-T<G5C=#(Z1S4S/7,R-'9?8VAA<E]M96UB -M97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z-BPQ-BPQ-CMV7VEN=%]M96UB97(Z -M,2PS,BPS,CMV7VQO;F=?;65M8F5R.C,L-C0L,S([=E]F;&]A=%]M96UB97(Z -M,3(L.38L,S([=E]D;W5B;&5?;65M8F5R.C$S+#$R."PV-#L[ '9?=6YI;VXZ -M1S$W '9?=6YI;VXR.D<U-#UU.'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R -M=%]M96UB97(Z-BPP+#$V.W9?:6YT7VUE;6)E<CHQ+# L,S([=E]L;VYG7VUE -M;6)E<CHS+# L,S([=E]F;&]A=%]M96UB97(Z,3(L,"PS,CMV7V1O=6)L95]M -M96UB97(Z,3,L,"PV-#L[ '-?;&EN:SI',3D =5]L:6YK.D<R-0!P<FEM87)Y -M.D<U-3UE<F5D.C L9W)E96XZ,2QB;'5E.C(L.P!N;VYP<FEM87)Y.D<R-@!C -M;'5N:V5R.D<U-CUE8VAE=GDZ,"QF;W)D.C$L.P!S<&]R='-C87(Z1S(W %]? -M;6%I;BYO &=C8S)?8V]M<&EL960N %]I;FET:6%L:7IE9"XP "]G;G4O9V-C -M+V=C8S(O<W)C+P N+VQI8F=C8S(N8P!I;G0Z=#$]<C$[+3(Q-#<T.#,V-#@[ -M,C$T-S0X,S8T-SL 8VAA<CIT,CUR,CLP.S$R-SL ;&]N9R!I;G0Z=#,]<C$[ -M+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL =6YS:6=N960@:6YT.G0T/7(Q.S [ -M+3$[ &QO;F<@=6YS:6=N960@:6YT.G0U/7(Q.S [+3$[ '-H;W)T(&EN=#IT -M-CUR,3LM,S(W-C@[,S(W-C<[ &QO;F<@;&]N9R!I;G0Z=#<]<C$[,#LM,3L -M<VAO<G0@=6YS:6=N960@:6YT.G0X/7(Q.S [-C4U,S4[ &QO;F<@;&]N9R!U -M;G-I9VYE9"!I;G0Z=#D]<C$[,#LM,3L <VEG;F5D(&-H87(Z=#$P/7(Q.RTQ -M,C@[,3(W.P!U;G-I9VYE9"!C:&%R.G0Q,3UR,3LP.S(U-3L 9FQO870Z=#$R -M/7(Q.S0[,#L 9&]U8FQE.G0Q,SUR,3LX.S [ &QO;F<@9&]U8FQE.G0Q-#UR -M,3LX.S [ '9O:60Z=#$U/3$U ')E9U]C;&%S<SI4,38]94Y/7U)%1U,Z,"Q' -M14Y%4D%,7U)%1U,Z,2Q&4%]214=3.C(L04Q,7U)%1U,Z,RQ,24U?4D5'7T-, -M05-315,Z-"P[ '!T<F1I9F9?=#IT,0!S:7IE7W0Z=#$ =V-H87)?=#IT. !L -M;VYG;&]N9SI4,3<]<SAH:6=H.C,L,"PS,CML;W<Z,RPS,BPS,CL[ &QO;F=? -M;&]N9SIT,3@]=3AS.C$W+# L-C0[;&PZ-RPP+#8T.SL 9G5N8U]P='(Z=#$Y -M/2HR,#UF,34 7U]D;U]G;&]B86Q?9'1O<G,Z1C$U %]E>&ET7V1U;6UY7W)E -M9CI',C$]*C$ 7U]D;U]G;&]B86Q?8W1O<G,Z1C$U %]?;6%I;CI&,34 7V5X -M:70N;P!G8V,R7V-O;7!I;&5D+@ O9VYU+V=C8R]G8V,R+W-R8R\ +B]L:6)G -M8V,R+F, :6YT.G0Q/7(Q.RTR,30W-#@S-C0X.S(Q-#<T.#,V-#<[ &-H87(Z -M=#(]<C([,#LQ,C<[ &QO;F<@:6YT.G0S/7(Q.RTR,30W-#@S-C0X.S(Q-#<T -M.#,V-#<[ '5N<VEG;F5D(&EN=#IT-#UR,3LP.RTQ.P!L;VYG('5N<VEG;F5D -M(&EN=#IT-3UR,3LP.RTQ.P!S:&]R="!I;G0Z=#8]<C$[+3,R-S8X.S,R-S8W -M.P!L;VYG(&QO;F<@:6YT.G0W/7(Q.S [+3$[ '-H;W)T('5N<VEG;F5D(&EN -M=#IT.#UR,3LP.S8U-3,U.P!L;VYG(&QO;F<@=6YS:6=N960@:6YT.G0Y/7(Q -M.S [+3$[ '-I9VYE9"!C:&%R.G0Q,#UR,3LM,3(X.S$R-SL =6YS:6=N960@ -M8VAA<CIT,3$]<C$[,#LR-34[ &9L;V%T.G0Q,CUR,3LT.S [ &1O=6)L93IT -M,3,]<C$[.#LP.P!L;VYG(&1O=6)L93IT,30]<C$[.#LP.P!V;VED.G0Q-3TQ -M-0!R96=?8VQA<W,Z5#$V/65.3U]214=3.C L1T5.15)!3%]214=3.C$L1E!? -M4D5'4SHR+$%,3%]214=3.C,L3$E-7U)%1U]#3$%34T53.C0L.P!P=')D:69F -M7W0Z=#$ <VEZ95]T.G0Q '=C:&%R7W0Z=#@ ;&]N9VQO;F<Z5#$W/7,X:&EG -M:#HS+# L,S([;&]W.C,L,S(L,S([.P!L;VYG7VQO;F<Z=#$X/74X<SHQ-RPP -M+#8T.VQL.C<L,"PV-#L[ &9U;F-?<'1R.G0Q.3TJ,C ]9C$U %]E>&ET7V1U -M;6UY7V1E8VPZ1S$ 7U]#5$]27TQ)4U1?7SI',C$]87(Q.S [,3LQ.0!?7T14 -M3U)?3$E35%]?.D<R,0 M;&< ;&EB9RYS %]E=&5X= !?961A=&$ 7V5N9 !S -M=&%R= !?;6%I;@!?96YV:7)O;@!?=E]S:6=N961?:6YT7V9U;F, 7W9?:6YT -M7V9U;F, 7W!R:6UA<GD 7W9?=6YS:6=N961?<VAO<G1?9G5N8P!?=E]S:6=N -M961?;&]N9U]P;VEN=&5R %]V7W-I9VYE9%]C:&%R7W!O:6YT97( 7W9?=6YS -M:6=N961?;&]N9U]A<G)A>0!?=E]U;G-I9VYE9%]C:&%R7V%R<F%Y %]V7VQO -M;F=?<&]I;G1E<@!?=E]C:&%R7W!O:6YT97( 7W9?=6YS:6=N961?:6YT %]V -M7W-I9VYE9%]S:&]R= !?=E]D;W5B;&5?87)R87D 7W9?=6YI;VX 7W9?9FQO -M870 7W9?<VAO<G0 7W9?<VEG;F5D7VQO;F=?9G5N8P!?=E]S:6=N961?8VAA -M<E]F=6YC %]V7W-I9VYE9%]I;G1?87)R87D 7W9?;&]N9U]F=6YC %]V7V-H -M87)?9G5N8P!?=E]I;G1?87)R87D 7U]?;6%I;@!?=E]U;G-I9VYE9%]I;G1? -M<&]I;G1E<@!?=E]S:6=N961?<VAO<G1?<&]I;G1E<@!?=E]U;G-I9VYE9%]S -M:&]R=%]A<G)A>0!?=E]U;G-I9VYE9%]L;VYG %]V7V9L;V%T7W!O:6YT97( -M7W9?<VAO<G1?<&]I;G1E<@!?=E]U;G-I9VYE9%]C:&%R %]V7W5N:6]N,@!? -M=E]D;W5B;&4 7W9?=6YS:6=N961?:6YT7V9U;F, 7W9?<VEG;F5D7W-H;W)T -M7V9U;F, 7W9?<VEG;F5D7VQO;F=?87)R87D 7W9?<VEG;F5D7V-H87)?87)R -M87D 7W9?9FQO871?9G5N8P!?=E]S:&]R=%]F=6YC %]V7W-I9VYE9%]I;G0 -M7W9?;&]N9U]A<G)A>0!?=E]C:&%R7V%R<F%Y %]V7W5N<VEG;F5D7VQO;F=? -M<&]I;G1E<@!?=E]U;G-I9VYE9%]C:&%R7W!O:6YT97( 7W9?:6YT %]S<&]R -M='-C87( 7W9?9&]U8FQE7W!O:6YT97( 7W9?=6YS:6=N961?<VAO<G0 7V-L -M=6YK97( 7W9?<W1R=6-T,0!?=E]S=')U8W0R %]V7W5N<VEG;F5D7VQO;F=? -M9G5N8P!?=E]U;G-I9VYE9%]C:&%R7V9U;F, 7W9?<VEG;F5D7VEN=%]P;VEN -M=&5R %]V7W5N<VEG;F5D7VEN=%]A<G)A>0!?=E]S:6=N961?<VAO<G1?87)R -M87D 7VYO;G!R:6UA<GD 7W-?;&EN:P!?=E]D;W5B;&5?9G5N8P!?=E]S:6=N -M961?;&]N9P!?=E]I;G1?<&]I;G1E<@!?=E]S:6=N961?8VAA<@!?=E]F;&]A -M=%]A<G)A>0!?=E]S:&]R=%]A<G)A>0!?=5]L:6YK %]V7W5N<VEG;F5D7W-H -M;W)T7W!O:6YT97( 7W9?;&]N9P!?=E]C:&%R %]?97AI=%]D=6UM>5]D96-L -M %]?7T-43U)?3$E35%]? %]?7T143U)?3$E35%]? %]?7V1O7V=L;V)A;%]C -M=&]R<P!?7U]D;U]G;&]B86Q?9'1O<G, 7U]E>&ET7V1U;6UY7W)E9@ -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -( - -end diff --git a/gdb/testsuite/gdb.base/sparc-elf.u b/gdb/testsuite/gdb.base/sparc-elf.u deleted file mode 100644 index 9320c0f..0000000 --- a/gdb/testsuite/gdb.base/sparc-elf.u +++ /dev/null @@ -1,336 +0,0 @@ -begin 777 sparc-elf -M?T5,1@$" 0 " ( ! $/% #0 #;0 T " -M!0 H !< $P 8 T $ - "@ H 4 P -M -0 !$ ! ! - ! #0 3 -M= $W0 % $ $ !.H (3J #L "M < 0 -M @ % P A0, (@ !P O=7-R+VQI8B]L9"YS -M;RXQ %, !H 2P .@ &( W 5 -M 4P %\ !D 4 $ !* 5P #8 -M20 #, M /P %X "4 < 0P !1 -M * !" "0 !; , #$ R 1P $4 -M !. 8 C +@ %@ /0 ( -M $0 !< 2 + !/ !6 -M &< !: 60 &8 .P %T -M +P !E !A -M -M -M (0 -M *@ "D -M 9 'P -M "8 ; !T !H ^ 00 "L U -M 7 "( $P -M $8 X 4@ #0 !- #P -M G %4 !@ > Y 8P -M $ U # ! ! .@ P -M @ 0/< , , $*7 # $ !#M@ -M P !0 0[D , 8 $/" # ' !#Q0 -M P " 1-P , D $3@ # * " -M$Z@ P "P A0 , P (4# # - -M "%)@ P #@ , \ # 0 -M P $0 , !( # -M 3 P % , !4 -M # 6 0 "%)@ ($0 #@ D 1-P !( D / (4 -MH 01 . %@ "%*@ "0$0 #@ !T A4X !!$ X T -M (5/ 01 . .@ "%4 !$0 #@ $@ A5$ !!$ X -M !6 (52 @1 . 7P "%5 ($0 #@ '4 A58 "!$ -M X "* (58 01 . GP "%60 $$0 #@ *< A5H -M!!$ X "T $09 !02 ( R0 !#X@ 4$@ " -4 A5P -M "!$ X #> (5> 01 . Z "%7P "$0 #@ /X -M A5^ A$ X $/ (5@ @1 . !(P !#P@ $@ !P -M 2D A6( A$ X $X $/Q !02 ( !10 "%8P $$0 -M#@ 4T A60 A$ X %: (5F !@1 . !9 "%; 8 -M$0 #@ 6X A7( !!$ X %U (5S 01 . !A "%= -M $$0 #@ 9P 1!0 %!( @ &O (5U 01 . !Q@ " -M%=@ "$0 #@ <X 0_L %!( @ 'D (4# 1 /_Q ! -M[0 !$*@ +($@ " ?( 1. !!$ H '_ $0D !@2 ( -M "#0 "%=H "$0 #@ B$ 1 4 %!( @ (S (5W 01 -M . "0P "%> $$0 #@ E( A7H $!$ X )A $/% -M '02 ( ": "%)0 $0#_\0 F\ 1 H %!( @ *# (5 -M^ @1 . "CP "%@ $$0 #@ I< 1!X &!( @ *D -M $0/ !02 ( "L "%@0 ($0 #@ L, A90 !"$ X -M ++ (6# 01 . "W "%A $$0 #@ O( 0_8 %!( -M @ ,& (6% 01 . #%0 "%A@ $$0 #@ RT 0^P -M%!( @ -" (67 1 /_Q #1P "%AP $$0 #@ UX A8@ -M !!$ X -L (6) $1 . #? "%B@ $$0 #@ XP -M A8L !!$ X .< $3J 1 /_Q #HP "%C ($0 #@ -M [$ A8X !!$ X /& (4 1 /_Q #W !$ 4$@ -M" ^< 0^< %!( @ /Z (6/ 01 . $" "%D ! -M$0 #@ ! \ A9$ !!$ X 0: (62 @1 . $)P "$^0 -M 0$@ !"P A/8 6!( 0S (3\ @2 $.0 " -M%E $$0 #@ !$( A94 !!$ X 1; (66 01 . '9? -M=6YI;VX 7V9I;FD <U]L:6YK '5?;&EN:P!V7W-I9VYE9%]S:&]R=%]P;VEN -M=&5R '9?:6YT '9?<VEG;F5D7V-H87( =E]I;G1?<&]I;G1E<@!V7V1O=6)L -M90!V7W5N<VEG;F5D7VQO;F=?87)R87D =E]U;G-I9VYE9%]I;G1?87)R87D -M=E]S:6=N961?:6YT7W!O:6YT97( 8VQU;FME<@!V7W-I9VYE9%]I;G0 =E]U -M;G-I9VYE9%]L;VYG7V9U;F, =E]C:&%R7V9U;F, =E]U;FEO;C( <W!O<G1S -M8V%R '9?=6YS:6=N961?8VAA<E]A<G)A>0!V7W5N<VEG;F5D7W-H;W)T '9? -M<VEG;F5D7VQO;F=?87)R87D 7VEN:70 =E]S:6=N961?<VAO<G0 =E]S:&]R -M=%]F=6YC '9?9FQO870 =E]C:&%R7V%R<F%Y '9?<W1R=6-T,0!V7W-T<G5C -M=#( =E]L;VYG '9?;&]N9U]P;VEN=&5R '9?=6YS:6=N961?;&]N9U]P;VEN -M=&5R '9?<VEG;F5D7VQO;F=?9G5N8P!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R -M '9?<VAO<G0 =E]U;G-I9VYE9%]S:&]R=%]F=6YC %]$64Y!34E# &UA:6X -M7VQI8E]V97)S:6]N '9?9&]U8FQE7V9U;F, =E]S:6=N961?8VAA<E]A<G)A -M>0!V7W-I9VYE9%]I;G1?9G5N8P!V7W5N<VEG;F5D7VQO;F< =E]U;G-I9VYE -M9%]I;G0 =E]D;W5B;&5?87)R87D 7W-T87)T %]E9&%T80!V7W5N<VEG;F5D -M7VEN=%]F=6YC '9?:6YT7V%R<F%Y '!R:6UA<GD =E]F;&]A=%]F=6YC '9? -M;&]N9U]F=6YC '9?<VEG;F5D7VEN=%]A<G)A>0!E;G9I<F]N '9?9&]U8FQE -M7W!O:6YT97( =E]S:6=N961?8VAA<E]P;VEN=&5R '9?<VEG;F5D7W-H;W)T -M7V9U;F, =E]C:&%R7W!O:6YT97( =E]U;G-I9VYE9%]C:&%R7W!O:6YT97( -M=E]U;G-I9VYE9%]C:&%R7V9U;F, 7V5N9 !V7W5N<VEG;F5D7W-H;W)T7V%R -M<F%Y '9?<VEG;F5D7VQO;F< =E]U;G-I9VYE9%]C:&%R '9?<VAO<G1?<&]I -M;G1E<@!V7V9L;V%T7W!O:6YT97( 7V5T97AT '9?9FQO871?87)R87D =E]S -M:6=N961?<VAO<G1?87)R87D 7T=,3T)!3%]/1D93151?5$%"3$5? '9?:6YT -M7V9U;F, =E]S:6=N961?8VAA<E]F=6YC '9?<VAO<G1?87)R87D =E]C:&%R -M &YO;G!R:6UA<GD =E]L;VYG7V%R<F%Y &5X:70 871E>&ET %]E>&ET %]E -M;G9I<F]N '9?=6YS:6=N961?<VAO<G1?<&]I;G1E<@!V7W-I9VYE9%]L;VYG -M7W!O:6YT97( ;&EB8RYS;RXQ A90 !E$P A/8 !C%0 -M A/D !B%0 A/P !D%0 "=X[^@@<?@"('H "\$" X .@0*(# -MH$2<(Z @@) 0* 20$ !0 !!*@$ 1 !$D!(C<$ 028! ?___ -M\ $ "0$ 0DA $94L( *4 J $E 1 "A< (66$N)0U"+ $ $X! -M0 !!&P$ ! $$< 0 )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P -M@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ )WCOY"P$" ,( 8'' -MX B!Z G>._D+ 0( P@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ -M )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P@ !@<?@"('H "=X[^0 -ML! @ #" &!Q^ (@>@ )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P -M@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ )WCOY 1 !$P0(CB#" -M &!Q^ (@>@ )WCOY 1 !$P1HCD#" &!Q^ (@>@ )WCOY 1 "%P"HB -M0!$ (62$" !TBHA0!$ (62$" "TBHB)!$ (62$" #TC(AV!$ (62$" $ -MTC(AB!$ (62$" %TC(A?A$ (62$" &TB(A/!$ (62$" 'TB(A:!$ (62 -M$" (TB(AX!$ (62$" )TB(AR!$ (62$" *TB(B(!$ (62$" +TB(AW!$ -M (43 !$U )CF-0B(8P1 "%$P 1-0:8Z#4.B%($0 A1, (74"F) U"HA -MD!$ (43 "%U IA0-0J(=H1 "%$P A=0*8B34*B%\$0 A1, (74$F'8 -MU#(B/!$ (43 "%U!)AB-0R(C@1 "%$P A=0287[4,B(<$0 A1, (74 -M F$\U"(A^!$ (43 "%U )A:-0B(@01 "%$P A=0"8>#4(B%8$0 A1, -M (74 F'(U"(B2!$ (43 "%U )B(-0B(8 1 "%$P A=0"8=S4(B%0$0 -MA1, (74 F&,U"(B,!$ (43 "%U!IA2-0Z(>@1 "%%0 A9(2HD#2(B(4 -M$0 A14 (62$J% TB(B$!$ (45 "%DA*B)-(B(A@1 "%%0 A9(2H=C2 -M(B(H$0 A14 (62$J&(TB(A.!$ (45 "%DA*A?M(B(E01 "%%0 A9(2 -MH3S2(B%$$0 A14 (62$J%HTB(A8!$ (45 "%DA*AX-(B(=01 "%%0 -MA9(2H<C2(B',$0 A14 (62$J(@TB(B6!$ (45 "%DA*AW-(B(= 1 "% -M%0 A9(2H8S2(B(L$0 A14 (62$J%(TB(B#!$ (62$" "TB(B !$ (62 -M$" "TB(B1!$ (62$" !TB(A>!$ (62$" !TB(A9!$ (43 "%U )@H-0B -M(*@1 "%$P A=028)C4,B%P@<?@"('H "=X[^@@<?@"('H -M 0 0L@ ! :0 -M , # P -MO__S 0 , #PPO__P 0 , $@PO__M 0 $ A0, -M ! $<0 P 0\( #0 !$W $ $ Z 4 0I< -M!@ ! ]P * $>P L 0 %0 # (3J ( D -M % < 7 $.Y < 0[8 " # ) # -M ! $ /_Q ! -M -0 P 0 0#H , ( $#W # # -M !"EP P ! 0[8 , 4 $.Y # & -M !#P@ P !P 0\4 , @ $3< # -M ) !$X P "@ A.H , L (4 -M # , "% P P #0 A28 , X -M # / P $ , !$ -M # 2 P $P , !0 -M # 5 P %@ < 0 -M__$ . $ /_Q &@ ! #_\0 "( -M 0 __$ I (4F @1 . ,0 !$W $@ "0 #< A2@ -M !!$ X ^ (4J ) 1 . 10 "%3@ $$0 #@ %P -M A4\ !!$ X !B (50 $1 . < "%40 $$0 #@ -M 'X A5( "!$ X "' (54 @1 . G0 "%5@ ($0 -M#@ +( A5@ !!$ X #' (59 01 . SP "%6@ $ -M$0 #@ -P 1!D %!( @ #Q $/B !02 ( _0 "%7 -M ($0 #@ 08 A5X !!$ X $0 (5? (1 . !)@ " -M%7X "$0 #@ 3< A6 "!$ X %+ $/" 2 ' ! -M40 "%8@ "$0 #@ 6 0_$ %!( @ %M (5C 01 . -M !=0 "%9 "$0 #@ 8( A68 &!$ X &, (5L !@1 -M . !E@ "%<@ $$0 #@ 9T A7, !!$ X &L (5T -M 01 . !Q !$% 4$@ " =< A74 !!$ X 'N (5 -MV (1 . !]@ !#^P 4$@ " @P A0, !$ __$ (5 -M $0J L@2 ( "&@ !$X $$0 "@ B< 1"0 &!( @ -M (U (5V@ (1 . "20 !$!0 4$@ " EL A7< !!$ -M X )K (5X 01 . ">@ "%>@ 0$0 #@ HD 0\4 -M=!( @ *0 (4E 1 /_Q "EP !$"@ 4$@ " JL A7X -M "!$ X *W (6 01 . "OP !$'@ 8$@ " LP -M 1 \ %!( @ +8 (6! @1 . "ZP "%E $(0 #@ -M O, A8, !!$ X ,$ (6$ 01 . #&@ !#]@ 4$@ -M" RX A84 !!$ X ,] (6& 01 . #50 !#[ 4 -M$@ " VH A9< !$ __$ -O (6' 01 . #A@ "%B -M $$0 #@ Y0 A8D 1$ X .D (6* 01 . #M " -M%BP $$0 #@ \0 1.H !$ __$ /+ (6, @1 . # -MV0 "%C@ $$0 #@ ^X A0 !$ __$ 0$ $0 !02 ( -M $#P !#YP 4$@ " !"( A8\ !!$ X 0P (60 $1 -M . $-P "%D0 $$0 #@ !$( A9( "!$ X 1/ (3Y -M ! 2 $5 "$]@ !8$@ !%L A/P "!( 1A (6 -M4 01 . $:@ "%E0 $$0 #@ !(, A98 !!$ X 9V1B -M;64 8W)T:2YS '9A;'5E<RU882YC &=D8FUE+F, 8W)T;BYS '9?=6YI;VX -M7V9I;FD <U]L:6YK '5?;&EN:P!V7W-I9VYE9%]S:&]R=%]P;VEN=&5R '9? -M:6YT '9?<VEG;F5D7V-H87( =E]I;G1?<&]I;G1E<@!V7V1O=6)L90!V7W5N -M<VEG;F5D7VQO;F=?87)R87D =E]U;G-I9VYE9%]I;G1?87)R87D =E]S:6=N -M961?:6YT7W!O:6YT97( 8VQU;FME<@!V7W-I9VYE9%]I;G0 =E]U;G-I9VYE -M9%]L;VYG7V9U;F, =E]C:&%R7V9U;F, =E]U;FEO;C( <W!O<G1S8V%R '9? -M=6YS:6=N961?8VAA<E]A<G)A>0!V7W5N<VEG;F5D7W-H;W)T '9?<VEG;F5D -M7VQO;F=?87)R87D 7VEN:70 =E]S:6=N961?<VAO<G0 =E]S:&]R=%]F=6YC -M '9?9FQO870 =E]C:&%R7V%R<F%Y '9?<W1R=6-T,0!V7W-T<G5C=#( =E]L -M;VYG '9?;&]N9U]P;VEN=&5R '9?=6YS:6=N961?;&]N9U]P;VEN=&5R '9? -M<VEG;F5D7VQO;F=?9G5N8P!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R '9?<VAO -M<G0 =E]U;G-I9VYE9%]S:&]R=%]F=6YC %]$64Y!34E# &UA:6X 7VQI8E]V -M97)S:6]N '9?9&]U8FQE7V9U;F, =E]S:6=N961?8VAA<E]A<G)A>0!V7W-I -M9VYE9%]I;G1?9G5N8P!V7W5N<VEG;F5D7VQO;F< =E]U;G-I9VYE9%]I;G0 -M=E]D;W5B;&5?87)R87D 7W-T87)T %]E9&%T80!V7W5N<VEG;F5D7VEN=%]F -M=6YC '9?:6YT7V%R<F%Y '!R:6UA<GD =E]F;&]A=%]F=6YC '9?;&]N9U]F -M=6YC '9?<VEG;F5D7VEN=%]A<G)A>0!E;G9I<F]N '9?9&]U8FQE7W!O:6YT -M97( =E]S:6=N961?8VAA<E]P;VEN=&5R '9?<VEG;F5D7W-H;W)T7V9U;F, -M=E]C:&%R7W!O:6YT97( =E]U;G-I9VYE9%]C:&%R7W!O:6YT97( =E]U;G-I -M9VYE9%]C:&%R7V9U;F, 7V5N9 !V7W5N<VEG;F5D7W-H;W)T7V%R<F%Y '9? -M<VEG;F5D7VQO;F< =E]U;G-I9VYE9%]C:&%R '9?<VAO<G1?<&]I;G1E<@!V -M7V9L;V%T7W!O:6YT97( 7V5T97AT '9?9FQO871?87)R87D =E]S:6=N961? -M<VAO<G1?87)R87D 7T=,3T)!3%]/1D93151?5$%"3$5? '9?:6YT7V9U;F, -M=E]S:6=N961?8VAA<E]F=6YC '9?<VAO<G1?87)R87D =E]C:&%R &YO;G!R -M:6UA<GD =E]L;VYG7V%R<F%Y &5X:70 871E>&ET %]E>&ET %]E;G9I<F]N -M '9?=6YS:6=N961?<VAO<G1?<&]I;G1E<@!V7W-I9VYE9%]L;VYG7W!O:6YT -M97( '9A;'5E<RU882YC "]D:79E+W)E;&5A<V4O8BUS>7-I9FEX+W5S<B]S -M<F,O;&EB+VQI8F,O '!O<G0O9V5N+W9A;'5E<RU882YC 6'0@.R!6/3(N -M, !M86EN %]L:6)?=F5R<VEO;@ O=&UP "]U<W(O8V-S+VQI8B]V86QU97,M -M6&$N;P 9V1B;64N8P O=&UP+P!G9&)M92YC &=C8S)?8V]M<&EL960N &EN -M=#IT,3UR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!C:&%R.G0R/7(R.S [ -M,3(W.P!L;VYG(&EN=#IT,SUR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!U -M;G-I9VYE9"!I;G0Z=#0]<C$[,#LM,3L ;&]N9R!U;G-I9VYE9"!I;G0Z=#4] -M<C$[,#LM,3L <VAO<G0@:6YT.G0V/7(Q.RTS,C<V.#LS,C<V-SL ;&]N9R!L -M;VYG(&EN=#IT-SUR,3LP.RTQ.P!S:&]R="!U;G-I9VYE9"!I;G0Z=#@]<C$[ -M,#LV-34S-3L ;&]N9R!L;VYG('5N<VEG;F5D(&EN=#IT.3UR,3LP.RTQ.P!S -M:6=N960@8VAA<CIT,3 ]<C$[+3$R.#LQ,C<[ '5N<VEG;F5D(&-H87(Z=#$Q -M/7(Q.S [,C4U.P!F;&]A=#IT,3(]<C$[-#LP.P!D;W5B;&4Z=#$S/7(Q.S@[ -M,#L ;&]N9R!D;W5B;&4Z=#$T/7(Q.S@[,#L =F]I9#IT,34],34 =%]S=')U -M8W0Z5#$V/7,R-'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z -M-BPQ-BPQ-CMV7VEN=%]M96UB97(Z,2PS,BPS,CMV7VQO;F=?;65M8F5R.C,L -M-C0L,S([=E]F;&]A=%]M96UB97(Z,3(L.38L,S([=E]D;W5B;&5?;65M8F5R -M.C$S+#$R."PV-#L[ '1?=6YI;VXZ5#$W/74X=E]C:&%R7VUE;6)E<CHR+# L -M.#MV7W-H;W)T7VUE;6)E<CHV+# L,38[=E]I;G1?;65M8F5R.C$L,"PS,CMV -M7VQO;F=?;65M8F5R.C,L,"PS,CMV7V9L;V%T7VUE;6)E<CHQ,BPP+#,R.W9? -M9&]U8FQE7VUE;6)E<CHQ,RPP+#8T.SL =E]C:&%R7V9U;F,Z1C( =E]S:6=N -M961?8VAA<E]F=6YC.D8Q, !V7W5N<VEG;F5D7V-H87)?9G5N8SI&,3$ =E]S -M:&]R=%]F=6YC.D8V '9?<VEG;F5D7W-H;W)T7V9U;F,Z1C8 =E]U;G-I9VYE -M9%]S:&]R=%]F=6YC.D8X '9?:6YT7V9U;F,Z1C$ =E]S:6=N961?:6YT7V9U -M;F,Z1C$ =E]U;G-I9VYE9%]I;G1?9G5N8SI&- !V7VQO;F=?9G5N8SI&,P!V -M7W-I9VYE9%]L;VYG7V9U;F,Z1C, =E]U;G-I9VYE9%]L;VYG7V9U;F,Z1C4 -M=E]F;&]A=%]F=6YC.D8Q,@!V7V1O=6)L95]F=6YC.D8Q,P!L:6YK.E0Q.#US -M,34R;F5X=#HQ.3TJ,3@L,"PS,CML:6YK9G5N8SHR,#TJ,C$]9C$Y+#,R+#,R -M.W-T=69F.C(R/6%R,3LP.S [,C,]87(Q.S [,3LR-#UA<C$[,#LR.S$V+#8T -M+#$Q-3([.P!T=5]L:6YK.E0R-3UU,30T;F5X=#HQ.2PP+#,R.VQI;FMF=6YC -M.C(P+# L,S([<W1U9F8Z,C(L,"PQ,34R.SL 8V]L;W)S.E0R-CUE>65L;&]W -M.C L<'5R<&QE.C$L<&EN:SHR+#L 8V%R<SI4,C<]96)M=SHP+'!O<G-C:&4Z -M,2P[ &)O;VQE86XZ=#(X/65&04Q313HP+%12544Z,2P[ &)V86QS.E0R.3UE -M9F%L<V4Z,"QT<G5E.C$L.P!B;V]L96%N,CIT,CD ;6ES;W)D97)E9#I4,S ] -M971W;SHR+&]N93HQ+'IE<F\Z,"QT:')E93HS+#L ;6%I;CI&,0!V7V-H87(Z -M1S( =E]S:6=N961?8VAA<CI',3 =E]U;G-I9VYE9%]C:&%R.D<Q,0!V7W-H -M;W)T.D<V '9?<VEG;F5D7W-H;W)T.D<V '9?=6YS:6=N961?<VAO<G0Z1S@ -M=E]I;G0Z1S$ =E]S:6=N961?:6YT.D<Q '9?=6YS:6=N961?:6YT.D<T '9? -M;&]N9SI',P!V7W-I9VYE9%]L;VYG.D<S '9?=6YS:6=N961?;&]N9SI'-0!V -M7V9L;V%T.D<Q,@!V7V1O=6)L93I',3, =E]C:&%R7V%R<F%Y.D<S,3UA<C$[ -M,#LQ.S( =E]S:6=N961?8VAA<E]A<G)A>3I',S(]87(Q.S [,3LQ, !V7W5N -M<VEG;F5D7V-H87)?87)R87DZ1S,S/6%R,3LP.S$[,3$ =E]S:&]R=%]A<G)A -M>3I',S0]87(Q.S [,3LV '9?<VEG;F5D7W-H;W)T7V%R<F%Y.D<S- !V7W5N -M<VEG;F5D7W-H;W)T7V%R<F%Y.D<S-3UA<C$[,#LQ.S@ =E]I;G1?87)R87DZ -M1S,V/6%R,3LP.S$[,0!V7W-I9VYE9%]I;G1?87)R87DZ1S,V '9?=6YS:6=N -M961?:6YT7V%R<F%Y.D<S-SUA<C$[,#LQ.S0 =E]L;VYG7V%R<F%Y.D<S.#UA -M<C$[,#LQ.S, =E]S:6=N961?;&]N9U]A<G)A>3I',S@ =E]U;G-I9VYE9%]L -M;VYG7V%R<F%Y.D<S.3UA<C$[,#LQ.S4 =E]F;&]A=%]A<G)A>3I'-# ]87(Q -M.S [,3LQ,@!V7V1O=6)L95]A<G)A>3I'-#$]87(Q.S [,3LQ,P!V7V-H87)? -M<&]I;G1E<CI'-#(]*C( =E]S:6=N961?8VAA<E]P;VEN=&5R.D<T,STJ,3 -M=E]U;G-I9VYE9%]C:&%R7W!O:6YT97(Z1S0T/2HQ,0!V7W-H;W)T7W!O:6YT -M97(Z1S0U/2HV '9?<VEG;F5D7W-H;W)T7W!O:6YT97(Z1S0U '9?=6YS:6=N -M961?<VAO<G1?<&]I;G1E<CI'-#8]*C@ =E]I;G1?<&]I;G1E<CI'-#<]*C$ -M=E]S:6=N961?:6YT7W!O:6YT97(Z1S0W '9?=6YS:6=N961?:6YT7W!O:6YT -M97(Z1S0X/2HT '9?;&]N9U]P;VEN=&5R.D<T.3TJ,P!V7W-I9VYE9%]L;VYG -M7W!O:6YT97(Z1S0Y '9?=6YS:6=N961?;&]N9U]P;VEN=&5R.D<U,#TJ-0!V -M7V9L;V%T7W!O:6YT97(Z1S4Q/2HQ,@!V7V1O=6)L95]P;VEN=&5R.D<U,CTJ -M,3, =E]S=')U8W0Q.D<Q-@!V7W-T<G5C=#(Z1S4S/7,R-'9?8VAA<E]M96UB -M97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z-BPQ-BPQ-CMV7VEN=%]M96UB97(Z -M,2PS,BPS,CMV7VQO;F=?;65M8F5R.C,L-C0L,S([=E]F;&]A=%]M96UB97(Z -M,3(L.38L,S([=E]D;W5B;&5?;65M8F5R.C$S+#$R."PV-#L[ '9?=6YI;VXZ -M1S$W '9?=6YI;VXR.D<U-#UU.'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R -M=%]M96UB97(Z-BPP+#$V.W9?:6YT7VUE;6)E<CHQ+# L,S([=E]L;VYG7VUE -M;6)E<CHS+# L,S([=E]F;&]A=%]M96UB97(Z,3(L,"PS,CMV7V1O=6)L95]M -M96UB97(Z,3,L,"PV-#L[ '-?;&EN:SI',3D =5]L:6YK.D<R-0!P<FEM87)Y -M.D<U-3UE<F5D.C L9W)E96XZ,2QB;'5E.C(L.P!N;VYP<FEM87)Y.D<R-@!C -M;'5N:V5R.D<U-CUE8VAE=GDZ,"QF;W)D.C$L.P!S<&]R='-C87(Z1S(W N -M:6YT97)P "YH87-H "YD>6YS>6T +F1Y;G-T<@ N<F5L82YB<W, +G)E;&$N -M<&QT "YI;FET "YT97AT "YF:6YI "YR;V1A=&$ +G!L= N9V]T "YD>6YA -M;6EC "YB<W, +G-Y;71A8@ N<W1R=&%B "YS=&%B+FEN9&5X<W1R "YS=&%B -M<W1R "YS:'-T<G1A8@ N8V]M;65N= N<W1A8BYI;F1E> N<W1A8@ 87,Z -M($,@1&5V96QO<&UE;G0@4V5T(" H0T13*2!34$%20V]M<&EL97)S(#(N," Q -M."!-87D@,3DY,@H &%S.B!#($1E=F5L;W!M96YT(%-E=" @*$-$4RD@4U!! -M4D-O;7!I;&5R<R R+C @,3@@36%Y(#$Y.3(* ! *",I4W5N3U,@-2XP(&9C -M<RX@($IU;F4@,3DY,@ 87,Z($,@1&5V96QO<&UE;G0@4V5T(" H0T13*2!3 -M4$%20V]M<&EL97)S(#(N," Q."!-87D@,3DY,@H 1T-#.B H1TY5*2!C>6=N -M=7,M,BXP+C( &%S.B!#($1E=F5L;W!M96YT(%-E=" @*$-$4RD@4U!!4D-O -M;7!I;&5R<R R+C @,3@@36%Y(#$Y.3(* &QD.B H4T=5*2!3=6Y/4R]35E(T -M("A,2RTQ+C I $ ' B0 UD #=D # -M &LX ' X $X\ *A=6!@ %DJ -M %X@ $ "\ +# ED $/B -M ]D $/B !<\ ": $B -M %J (& )J +B -M -: /" 1* 36 -M 5* 6Z 8" -M 9. :N ;> E& -M N,D $/B !$ !Y !$ !Y ! !$ !Y -M # O(D $/G !$ !Z !$ !Z ! !$ -M !Z # PDD $/L !$ ![ !$ ![ ! -M !$ ![ # R(D $/Q !$ !] !$ !] -M! !$ !] # S(D $/V !$ !^ !$ !^ -M ! !$ !^ # TDD $/[ !$ !_ !$ -M !_ ! !$ !_ # V(D $0 !$ "! -M !$ "! ! !$ "! # W D $0% !$ "" -M !$ "" ! !$ "" # X4D $0* !$ "# -M !$ "# ! !$ "# # YPD $0/ !$ -M "% !$ "% ! !$ "% # ZLD $04 -M !$ "& !$ "& ! !$ "& # \$D $0 -M9 !$ "' !$ "' ! !$ "' # ]DD -M $0> !$ ") !$ ") ! !$ ") $ ^HD -M $0D !$ "* !$ "* ! !$ "* $ -M _R !&B !*B !,^ -M !.N !0F !26 !3* -M !5\D $0J !$ "R !$ "U ! !$ -M "V # !$ "W & !$ "Y ) !$ "Z , -M !$ "[ / !$ "] 2 !$ "^ 5 !$ "_ -M8 !$ #! ; !$ #" > !$ ## A !$ #% -M D !$ #& H !$ #) L !$ #* P !$ -M #+ T !$ #- X !$ #. \ !$ #/ ! -M !$ #1 !$ !$ #2 !( !$ #3 !, !$ #5 ! -M0 !$ #6 !4 !$ #7 !8 !$ #9 !< !$ #: -M !@ !$ #< !D !$ #= !H !$ #> !L !$ -M #@ !P !$ #A !T !$ #B !X !$ #D !\ -M !$ #E " !$ #F "$ !$ #H "( !$ #I " -M, !$ #J "0 !$ #L "4 !$ #M "8 !$ #O -M "< !$ #P "? !$ #Q "B !$ #R "E !$ -M #T "H !$ #V "L !$ #W "P !$ #W "P -M!6<@ !7$@ !8,@ !9<@ -M !:(@ !;0@ !<@@ !=$@ -M !>$@ !?,@ !?T@ !@X@ -M !B$@ !BT@ !CH@ -M!E4@ !G@@ !IT@ !KD@ -M !M(@ !O<@ !Q$@ !R@@ -M !TL@ !V8@ !WX@ !Z(@ -M ![\@ !]T@ !_,@ -M"!$@ "#$@ "$@@ "&,@ -M "(,@ ")@@ "+$@ ",\@ -M ".4@ "/\@ "1X@ "38@ -M "4\@ "5T@ "?@@ -M"@0@ "I<@ "J(@ "JT@ -M "M$@ "N @ "OX@ -M ! 0 ( -M 0#4 U !$ $ "0 4 " $ Z -M .@ +T P $ ! \ + @ ! ]P /< & -M@ 0 7 ! ! 7 P ( 0I< *7 !'L -M $ 'P 0 " $.V #M@ , P X -M $ # "D $ @ !#N0 [D ) , + ! -M P S 0 8 0\( /" P 0 -M.0 $ & $/% #Q0 1< $ #\ ! -M !@ !$W !-P # ! !% 0 ( -M 1. 3@ "@ @ 30 $ ' (3J -M$Z@ !8 $ ! %( ! P "% !0 -M# ! 0 !7 !@ , A0, 4# (@ $ -M 0 ( 8 @ # (4F %)@ '$ -M ( &4 " !28 &T ! < ! -M ! !M P ;: !)D $ -M=0 , ( $ ") ! (0 # -M ""* +# 0 "- P -M KE@ +( $ EP $ -M+$@ %) ! * ! "V4 -M8 ! P "L 0 M] "-P -, 0 , - -end diff --git a/gdb/testsuite/gdb.base/step-test.exp b/gdb/testsuite/gdb.base/step-test.exp deleted file mode 100644 index 66f4556..0000000 --- a/gdb/testsuite/gdb.base/step-test.exp +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (C) 1997, 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 - -# use this to debug: -# -#log_user 1 - -# step-test.exp -- Expect script to test stepping in gdb - -if $tracelevel then { - strace $tracelevel -} - -set testfile step-test -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -remote_exec build "rm -f ${binfile}" -if { [gdb_compile "${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { - fail "Can't run to main" - return 0 -} - -# Vanilla step/next -# -gdb_test "next" ".*15.*x = 1;.*" "next 1" -gdb_test "step" ".*16.*y = 2;.*" "step 1" - -# With count -# -gdb_test "next 2" ".*18.*w = w.*2;.*" "next 2" -gdb_test "step 3" ".*21.*z = z.*5;.*" "step 3" -gdb_test "next" ".*24.*callee.*OVER.*" "next 3" - -# Step over call -# -gdb_test "next" ".*27.*callee.*INTO.*" "next over" - -# Step into call -# -gdb_test "step" ".*6.*glob.*" "step into" - -# Step out of call -# -gdb_test "finish" ".*30.*a.*5.*= a.*3.*" "step out" - -# Instruction stepping, into -# -gdb_test "stepi" ".*30.*a.*5.* = a.*3.*" "stepi 1" -gdb_test "stepi" ".*30.*a\\\[5\\\] = a.*" "stepi 2" - -gdb_test "stepi 7" ".*6.*glob.*" "stepi into" -gdb_test "finish" ".*34.*callee.*NEXTI.*" "stepi out" - -# Instruction stepping, over -# -gdb_test "nexti" ".*callee.*NEXTI.*" "nexti 1" - -gdb_test "c" ".*Program exited normally.*" "run to finish" - -return 0 diff --git a/gdb/testsuite/gdb.base/structs.c b/gdb/testsuite/gdb.base/structs.c deleted file mode 100644 index fcb9d72..0000000 --- a/gdb/testsuite/gdb.base/structs.c +++ /dev/null @@ -1,207 +0,0 @@ -/* Copyright (C) 1996 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 */ - -struct struct1 { char a;}; -struct struct2 { char a, b;}; -struct struct3 { char a, b, c; }; -struct struct4 { char a, b, c, d; }; -struct struct5 { char a, b, c, d, e; }; -struct struct6 { char a, b, c, d, e, f; }; -struct struct7 { char a, b, c, d, e, f, g; }; -struct struct8 { char a, b, c, d, e, f, g, h; }; -struct struct9 { char a, b, c, d, e, f, g, h, i; }; -struct struct10 { char a, b, c, d, e, f, g, h, i, j; }; -struct struct11 { char a, b, c, d, e, f, g, h, i, j, k; }; -struct struct12 { char a, b, c, d, e, f, g, h, i, j, k, l; }; -struct struct16 { char a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p; }; - -struct struct1 foo1 = {'1'}, L1; -struct struct2 foo2 = { 'a', 'b'}, L2; -struct struct3 foo3 = { 'A', 'B', 'C'}, L3; -struct struct4 foo4 = {'1', '2', '3', '4'}, L4; -struct struct5 foo5 = {'a', 'b', 'c', 'd', 'e'}, L5; -struct struct6 foo6 = {'A', 'B', 'C', 'D', 'E', 'F'}, L6; -struct struct7 foo7 = {'1', '2', '3', '4', '5', '6', '7'}, L7; -struct struct8 foo8 = {'1', '2', '3', '4', '5', '6', '7', '8'}, L8; -struct struct9 foo9 = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'}, L9; -struct struct10 foo10 = { - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}, L10; -struct struct11 foo11 = { - '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B'}, L11; -struct struct12 foo12 = { - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'}, L12; -struct struct16 foo16 = { - 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'}, L16; - -struct struct1 fun1() -{ - return foo1; -} -struct struct2 fun2() -{ - return foo2; -} -struct struct3 fun3() -{ - return foo3; -} -struct struct4 fun4() -{ - return foo4; -} -struct struct5 fun5() -{ - return foo5; -} -struct struct6 fun6() -{ - return foo6; -} -struct struct7 fun7() -{ - return foo7; -} -struct struct8 fun8() -{ - return foo8; -} -struct struct9 fun9() -{ - return foo9; -} -struct struct10 fun10() -{ - return foo10; -} -struct struct11 fun11() -{ - return foo11; -} -struct struct12 fun12() -{ - return foo12; -} -struct struct16 fun16() -{ - return foo16; -} - -void Fun1(foo1) - struct struct1 foo1; -{ - L1 = foo1; -} -void Fun2(foo2) - struct struct2 foo2; -{ - L2 = foo2; -} -void Fun3(foo3) - struct struct3 foo3; -{ - L3 = foo3; -} -void Fun4(foo4) - struct struct4 foo4; -{ - L4 = foo4; -} -void Fun5(foo5) - struct struct5 foo5; -{ - L5 = foo5; -} -void Fun6(foo6) - struct struct6 foo6; -{ - L6 = foo6; -} -void Fun7(foo7) - struct struct7 foo7; -{ - L7 = foo7; -} -void Fun8(foo8) - struct struct8 foo8; -{ - L8 = foo8; -} -void Fun9(foo9) - struct struct9 foo9; -{ - L9 = foo9; -} -void Fun10(foo10) - struct struct10 foo10; -{ - L10 = foo10; -} -void Fun11(foo11) - struct struct11 foo11; -{ - L11 = foo11; -} -void Fun12(foo12) - struct struct12 foo12; -{ - L12 = foo12; -} -void Fun16(foo16) - struct struct16 foo16; -{ - L16 = foo16; -} - -int main() -{ - - /* TEST C FUNCTIONS */ - L1 = fun1(); - L2 = fun2(); - L3 = fun3(); - L4 = fun4(); - L5 = fun5(); - L6 = fun6(); - L7 = fun7(); - L8 = fun8(); - L9 = fun9(); - L10 = fun10(); - L11 = fun11(); - L12 = fun12(); - L16 = fun16(); - - foo1.a = foo2.a = foo3.a = foo4.a = foo5.a = foo6.a = foo7.a = foo8.a = - foo9.a = foo10.a = foo11.a = foo12.a = foo16.a = '$'; - - Fun1(foo1); - Fun2(foo2); - Fun3(foo3); - Fun4(foo4); - Fun5(foo5); - Fun6(foo6); - Fun7(foo7); - Fun8(foo8); - Fun9(foo9); - Fun10(foo10); - Fun11(foo11); - Fun12(foo12); - Fun16(foo16); - - return 0; -} diff --git a/gdb/testsuite/gdb.base/structs.exp b/gdb/testsuite/gdb.base/structs.exp deleted file mode 100644 index 3424278..0000000 --- a/gdb/testsuite/gdb.base/structs.exp +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright (C) 1996 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 Jeff Law. (law@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set prototypes 1 -set testfile "structs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - # built the second test case since we can't use prototypes - warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } { - perror "Couldn't compile ${testfile}.c" - return -1 - } - set prototypes 0 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# The a29k can't call functions, so don't even bother with this test. -if [istarget "a29k-*-udi"] then { - setup_xfail "a29k-*-udi" 2416 - fail "a29k-*-udi can not call functions" - continue -} - -# FIXME: Before calling this proc, we should probably verify that -# we can call inferior functions and get a valid integral value -# returned. -# Note that it is OK to check for 0 or 1 as the returned values, because C -# specifies that the numeric value of a relational or logical expression -# (computed in the inferior) is 1 for true and 0 for false. - -proc do_function_calls {} { - global prototypes - global gcc_compiled - global gdb_prompt - - # First, call the "fun" functions and examine the value they return. - gdb_test "p fun1()" " = {a = 49 '1'}" - gdb_test "p fun2()" " = {a = 97 'a', b = 98 'b'}" - gdb_test "p fun3()" " = {a = 65 'A', b = 66 'B', c = 67 'C'}" - gdb_test "p fun4()" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4'}" - gdb_test "p fun5()" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e'}" - gdb_test "p fun6()" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F'}" - gdb_test "p fun7()" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7'}" - gdb_test "p fun8()" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7', h = 56 '8'}" - gdb_test "p fun9()" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e', f = 102 'f', g = 103 'g', h = 104 'h', i = 105 'i'}" - gdb_test "p fun10()" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F', g = 71 'G', h = 72 'H', i = 73 'I', j = 74 'J'}" - gdb_test "p fun11()" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7', h = 56 '8', i = 57 '9', j = 65 'A', k = 66 'B'}" - gdb_test "p fun12()" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F', g = 71 'G', h = 72 'H', i = 73 'I', j = 74 'J', k = 75 'K', l = 76 'L'}" - gdb_test "p fun16()" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e', f = 102 'f', g = 103 'g', h = 104 'h', i = 105 'i', j = 106 'j', k = 107 'k', l = 108 'l', m = 109 'm', n = 110 'n', o = 111 'o', p = 112 'p'}" - - # Now call the Fun functions to set the L* variables. This - # tests that gdb properly passes structures to functions. - gdb_test "p Fun1(foo1)" " = (void|0)" - gdb_test "p Fun2(foo2)" " = (void|0)" - gdb_test "p Fun3(foo3)" " = (void|0)" - gdb_test "p Fun4(foo4)" " = (void|0)" - gdb_test "p Fun5(foo5)" " = (void|0)" - gdb_test "p Fun6(foo6)" " = (void|0)" - gdb_test "p Fun7(foo7)" " = (void|0)" - gdb_test "p Fun8(foo8)" " = (void|0)" - gdb_test "p Fun9(foo9)" " = (void|0)" - gdb_test "p Fun10(foo10)" " = (void|0)" - gdb_test "p Fun11(foo11)" " = (void|0)" - gdb_test "p Fun12(foo12)" " = (void|0)" - gdb_test "p Fun16(foo16)" " = (void|0)" - - # Now print the L* variables and examine their values. - gdb_test "p L1" " = {a = 49 '1'}" - gdb_test "p L2" " = {a = 97 'a', b = 98 'b'}" - gdb_test "p L3" " = {a = 65 'A', b = 66 'B', c = 67 'C'}" - gdb_test "p L4" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4'}" - if {$gcc_compiled} then { - setup_xfail "hppa*-*-*" - } - gdb_test "p L5" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e'}" - if {$gcc_compiled} then { - setup_xfail "hppa*-*-*" - } - gdb_test "p L6" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F'}" - if {$gcc_compiled} then { - setup_xfail "hppa*-*-*" - } - gdb_test "p L7" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7'}" - gdb_test "p L8" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7', h = 56 '8'}" - gdb_test "p L9" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e', f = 102 'f', g = 103 'g', h = 104 'h', i = 105 'i'}" - gdb_test "p L10" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F', g = 71 'G', h = 72 'H', i = 73 'I', j = 74 'J'}" - gdb_test "p L11" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7', h = 56 '8', i = 57 '9', j = 65 'A', k = 66 'B'}" - gdb_test "p L12" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F', g = 71 'G', h = 72 'H', i = 73 'I', j = 74 'J', k = 75 'K', l = 76 'L'}" - gdb_test "p L16" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e', f = 102 'f', g = 103 'g', h = 104 'h', i = 105 'i', j = 106 'j', k = 107 'k', l = 108 'l', m = 109 'm', n = 110 'n', o = 111 'o', p = 112 'p'}" -} -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $" - -if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - return 0 -} - -if [runto_main] then { - do_function_calls -} else { - fail "C function calling tests suppressed" -} -return 0 diff --git a/gdb/testsuite/gdb.base/structs2.c b/gdb/testsuite/gdb.base/structs2.c deleted file mode 100644 index f9f59e9..0000000 --- a/gdb/testsuite/gdb.base/structs2.c +++ /dev/null @@ -1,38 +0,0 @@ -/* pr 13536 */ - -static void param_reg (register char pr_char, - register unsigned char pr_uchar, - register short pr_short, - register unsigned short pr_ushort); - -int bkpt; - -int -main () -{ -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - - bkpt = 0; - param_reg (120, 130, 32000, 33000); - param_reg (130, 120, 33000, 32000); - - return 0; -} - -static void dummy () {} - -static void -param_reg(register char pr_char, - register unsigned char pr_uchar, - register short pr_short, - register unsigned short pr_ushort) -{ - bkpt = 1; - dummy (); - pr_char = 1; - pr_uchar = pr_short = pr_ushort = 1; - dummy (); -} diff --git a/gdb/testsuite/gdb.base/structs2.exp b/gdb/testsuite/gdb.base/structs2.exp deleted file mode 100644 index 14652be..0000000 --- a/gdb/testsuite/gdb.base/structs2.exp +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright (C) 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 $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set prototypes 1 -set testfile "structs2" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - # built the second test case since we can't use prototypes - warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - set prototypes 0 -} - -# Start with a fresh gdb. - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set width 0" "" "" - -if { ![runto_main] } then { - gdb_suppress_tests -} - -# Ok, we're finally ready to actually do our tests. - -set prms_id 13536 -set bug_id 0 - -gdb_test "f" \ - ".*bkpt = 0.*" \ - "structs2 sanity check" - -gdb_test "break param_reg" \ - "Breakpoint .* at .*" \ - "structs2 breakpoint set" - -gdb_test "continue" \ - ".*pr_char=120.*pr_uchar=130.*pr_short=32000.*pr_ushort=33000.*bkpt = 1.*" \ - "structs2 continue1" - -gdb_test "continue" \ - ".*pr_char=-126.*pr_uchar=120.*pr_short=-32536.*pr_ushort=32000.*bkpt = 1.*" \ - "structs2 continue2" - -# End of tests. - -gdb_stop_suppressing_tests - -return 0 diff --git a/gdb/testsuite/gdb.base/term.exp b/gdb/testsuite/gdb.base/term.exp deleted file mode 100644 index ced0ae4..0000000 --- a/gdb/testsuite/gdb.base/term.exp +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992 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 Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -# This only works for native, I think. -if ![isnative] then { - continue -} - -gdb_start - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "run" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -delete_breakpoints -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" "test set print sevenbit-strings" -gdb_test "set print address off" "" "test set print address off" -gdb_test "set width 0" "" "test set width 0" -gdb_test "info terminal" "No saved terminal information.*" "test info terminal" -gdb_run_cmd 5 -expect { - -re ".*120.*Program exited normally.*$prompt $" { - gdb_test "info terminal" "No saved terminal information.*" "test info terminal" - } - default { - fail "term.exp, factorial didn't run to completion for info terminal" - } -} - -# In mid-execution -gdb_breakpoint main -gdb_run_cmd 5 -expect { - -re ".*Breakpoint \[0-9\]+,.*main.*if .argc != 2.*$prompt $" { - gdb_test "info terminal" "Inferior's terminal status .currently saved by GDB.:.*" "info terminal at breakpoint" - } - -re ".*$prompt $" { fail "info terminal at breakpoint" } - timeout { fail "(timeout) info terminal at breakpoint" } -} diff --git a/gdb/testsuite/gdb.base/twice.c b/gdb/testsuite/gdb.base/twice.c deleted file mode 100644 index dd12c06..0000000 --- a/gdb/testsuite/gdb.base/twice.c +++ /dev/null @@ -1,16 +0,0 @@ -int nothing () - -{ - int x = 3 ; - return x ; -} - - -main () - -{ - int y ; - - y = nothing () ; - printf ("hello\n") ; -} diff --git a/gdb/testsuite/gdb.base/twice.exp b/gdb/testsuite/gdb.base/twice.exp deleted file mode 100644 index b29f6c7..0000000 --- a/gdb/testsuite/gdb.base/twice.exp +++ /dev/null @@ -1,38 +0,0 @@ -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile twice-tmp -set srcfile ${objdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -execute_anywhere "echo #include \\\"twice.c\\\" > ${srcfile}" -if { [compile "${srcfile} -g -I${srcdir}/${subdir} -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [runto_main] then { - # Test that GDB can still detect whether we have line numbers - # even if we're executing code in an include file. - - # The bug was fixed by - #Tue Jun 29 11:02:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - # - # * infrun.c (wait_for_inferior): Use find_pc_line not - # find_pc_symtab to check whether there is line number - # information. - - gdb_test "step" "nothing \\(\\) at.*" -} -return 0 diff --git a/gdb/testsuite/gdb.base/volatile.exp b/gdb/testsuite/gdb.base/volatile.exp deleted file mode 100644 index c17c05c..0000000 --- a/gdb/testsuite/gdb.base/volatile.exp +++ /dev/null @@ -1,416 +0,0 @@ -# Copyright (C) 1997, 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 - -# Written by Satish Pai <pai@apollo.hp.com> 1997-07-07 -# In the spirit of constvars.exp: added volatile, const-volatile stuff. - -# This file is part of the gdb testsuite -# Tests for: -# volatile vars -# pointers to volatile vars -# const volatile vars -# pointers to const volatile vars -# const pointers to volatile vars -# volatile pointers to const vars -# const volatile pointers to const vars -# const volatile pointers to volatile vars -# ... etc. (you get the idea) -# Mostly with char and unsigned char. - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "constvars" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -remote_exec build "rm -f ${binfile}.ci" -if [get_compiler_info ${binfile}] { - return -1 -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -source ${binfile}.ci - -# -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" - - send_gdb "cont\n" - gdb_expect { - -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "Break.* marker1__.* \\(\\) at .*:$decimal.*$gdb_prompt $" { - fail "continue to marker1 (demangling)" - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "$gdb_prompt $" { fail "continue to marker1" } - timeout { fail "(timeout) continue to marker1" } - } - - -send_gdb "ptype vox\n" -gdb_expect { - -re "type = volatile char.*$gdb_prompt $" { pass "ptype vox" } - -re ".*$gdb_prompt $" { fail "ptype vox" } - timeout { fail "(timeout) ptype vox" } -} - -send_gdb "ptype victuals\n" -gdb_expect { - -re "type = volatile unsigned char.*$gdb_prompt $" { pass "ptype victuals" } - -re ".*$gdb_prompt $" { fail "ptype victuals" } - timeout { fail "(timeout) ptype victuals" } -} - -send_gdb "ptype vixen\n" -gdb_expect { - -re "type = volatile short.*$gdb_prompt $" { pass "ptype vixen" } - -re ".*$gdb_prompt $" { fail "ptype vixen" } - timeout { fail "(timeout) ptype vixen" } -} - -send_gdb "ptype vitriol\n" -gdb_expect { - -re "type = volatile unsigned short.*$gdb_prompt $" { pass "ptype vitriol" } - -re ".*$gdb_prompt $" { fail "ptype vitriol" } - timeout { fail "(timeout) ptype vitriol" } -} - -send_gdb "ptype vellum\n" -gdb_expect { - -re "type = volatile long.*$gdb_prompt $" { pass "ptype vellum" } - -re ".*$gdb_prompt $" { fail "ptype vellum" } - timeout { fail "(timeout) ptype vellum" } -} - -send_gdb "ptype valve\n" -gdb_expect { - -re "type = volatile unsigned long.*$gdb_prompt $" { pass "ptype valve" } - -re ".*$gdb_prompt $" { fail "ptype valve" } - timeout { fail "(timeout) ptype valve" } -} - -send_gdb "ptype vacuity\n" -gdb_expect { - -re "type = volatile float.*$gdb_prompt $" { pass "ptype vacuity" } - -re ".*$gdb_prompt $" { fail "ptype vacuity" } - timeout { fail "(timeout) ptype vacuity" } -} - -send_gdb "ptype vertigo\n" -gdb_expect { - -re "type = volatile double.*$gdb_prompt $" { pass "ptype vertigo" } - -re ".*$gdb_prompt $" { fail "ptype vertigo" } - timeout { fail "(timeout) ptype vertigo" } -} - -send_gdb "ptype vampire\n" -gdb_expect { - -re "type = volatile char \\*.*$gdb_prompt $" { pass "ptype vampire" } - -re ".*$gdb_prompt $" { fail "ptype vampire" } - timeout { fail "(timeout) ptype vampire" } -} - -send_gdb "ptype viper\n" -gdb_expect { - -re "type = volatile unsigned char \\*.*$gdb_prompt $" { pass "ptype viper" } - -re ".*$gdb_prompt $" { fail "ptype viper" } - timeout { fail "(timeout) ptype viper" } -} - -send_gdb "ptype vigour\n" -gdb_expect { - -re "type = volatile short \\*.*$gdb_prompt $" { pass "ptype vigour" } - -re ".*$gdb_prompt $" { fail "ptype vigour" } - timeout { fail "(timeout) ptype vigour" } -} - -send_gdb "ptype vapour\n" -gdb_expect { - -re "type = volatile unsigned short \\*.*$gdb_prompt $" { pass "ptype vapour" } - -re ".*$gdb_prompt $" { fail "ptype vapour" } - timeout { fail "(timeout) ptype vapour" } -} - -send_gdb "ptype ventricle\n" -gdb_expect { - -re "type = volatile long \\*.*$gdb_prompt $" { pass "ptype ventricle" } - -re ".*$gdb_prompt $" { fail "ptype ventricle" } - timeout { fail "(timeout) ptype ventricle" } -} - -send_gdb "ptype vigintillion\n" -gdb_expect { - -re "type = volatile unsigned long \\*.*$gdb_prompt $" { pass "ptype vigintillion" } - -re ".*$gdb_prompt $" { fail "ptype vigintillion" } - timeout { fail "(timeout) ptype vigintillion" } -} - -send_gdb "ptype vocation\n" -gdb_expect { - -re "type = volatile float \\*.*$gdb_prompt $" { pass "ptype vocation" } - -re ".*$gdb_prompt $" { fail "ptype vocation" } - timeout { fail "(timeout) ptype vocation" } -} - -send_gdb "ptype veracity\n" -gdb_expect { - -re "type = volatile double \\*.*$gdb_prompt $" { pass "ptype veracity" } - -re ".*$gdb_prompt $" { fail "ptype veracity" } - timeout { fail "(timeout) ptype veracity" } -} - -send_gdb "ptype vapidity\n" -gdb_expect { - -re "type = volatile char \\* volatile.*$gdb_prompt $" { pass "ptype vapidity" } - -re ".*$gdb_prompt $" { fail "ptype vapidity" } - timeout { fail "(timeout) ptype vapidity" } -} - -send_gdb "ptype velocity\n" -gdb_expect { - -re "type = volatile unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype velocity" } - -re ".*$gdb_prompt $" { fail "ptype velocity" } - timeout { fail "(timeout) ptype velocity" } -} - -send_gdb "ptype veneer\n" -gdb_expect { - -re "type = volatile short \\* volatile.*$gdb_prompt $" { pass "ptype veneer" } - -re ".*$gdb_prompt $" { fail "ptype veneer" } - timeout { fail "(timeout) ptype veneer" } -} - -send_gdb "ptype video\n" -gdb_expect { - -re "type = volatile unsigned short \\* volatile.*$gdb_prompt $" { pass "ptype video" } - -re ".*$gdb_prompt $" { fail "ptype video" } - timeout { fail "(timeout) ptype video" } -} - -send_gdb "ptype vacuum\n" -gdb_expect { - -re "type = volatile long \\* volatile.*$gdb_prompt $" { pass "ptype vacuum" } - -re ".*$gdb_prompt $" { fail "ptype vacuum" } - timeout { fail "(timeout) ptype vacuum" } -} - -send_gdb "ptype veniality\n" -gdb_expect { - -re "type = volatile unsigned long \\* volatile.*$gdb_prompt $" { pass "ptype veniality" } - -re ".*$gdb_prompt $" { fail "ptype veniality" } - timeout { fail "(timeout) ptype veniality" } -} - -send_gdb "ptype vitality\n" -gdb_expect { - -re "type = volatile float \\* volatile.*$gdb_prompt $" { pass "ptype vitality" } - -re ".*$gdb_prompt $" { fail "ptype vitality" } - timeout { fail "(timeout) ptype vitality" } -} - -send_gdb "ptype voracity\n" -gdb_expect { - -re "type = volatile double \\* volatile.*$gdb_prompt $" { pass "ptype voracity" } - -re ".*$gdb_prompt $" { fail "ptype voracity" } - timeout { fail "(timeout) ptype voracity" } -} - -send_gdb "ptype victor\n" -gdb_expect { - -re "type = const volatile char.*$gdb_prompt $" { pass "ptype victor" } - -re ".*$gdb_prompt $" { fail "ptype victor" } - timeout { fail "(timeout) ptype victor" } -} - -send_gdb "ptype vicar\n" -gdb_expect { - -re "type = const volatile unsigned char.*$gdb_prompt $" { pass "ptype vicar" } - -re ".*$gdb_prompt $" { fail "ptype vicar" } - timeout { fail "(timeout) ptype vicar" } -} - -send_gdb "ptype victory\n" -gdb_expect { - -re "type = const volatile char \\*.*$gdb_prompt $" { pass "ptype victory" } - -re ".*$gdb_prompt $" { fail "ptype victory" } - timeout { fail "(timeout) ptype victory" } -} - -send_gdb "ptype vicarage\n" -gdb_expect { - -re "type = const volatile unsigned char \\*.*$gdb_prompt $" { pass "ptype vicarage" } - -re ".*$gdb_prompt $" { fail "ptype vicarage" } - timeout { fail "(timeout) ptype vicarage" } -} - -send_gdb "ptype vein\n" -gdb_expect { - -re "type = volatile char \\* const.*$gdb_prompt $" { pass "ptype vein" } - -re ".*$gdb_prompt $" { fail "ptype vein" } - timeout { fail "(timeout) ptype vein" } -} - -send_gdb "ptype vogue\n" -gdb_expect { - -re "type = volatile unsigned char \\* const.*$gdb_prompt $" { pass "ptype vogue" } - -re ".*$gdb_prompt $" { fail "ptype vogue" } - timeout { fail "(timeout) ptype vogue" } -} - -send_gdb "ptype cavern\n" -gdb_expect { - -re "type = const volatile char \\* const.*$gdb_prompt $" { pass "ptype cavern" } - -re ".*$gdb_prompt $" { fail "ptype cavern" } - timeout { fail "(timeout) ptype cavern" } -} - -send_gdb "ptype coverlet\n" -gdb_expect { - -re "type = const volatile unsigned char \\* const.*$gdb_prompt $" { pass "ptype coverlet" } - -re ".*$gdb_prompt $" { fail "ptype coverlet" } - timeout { fail "(timeout) ptype coverlet" } -} - -send_gdb "ptype caveat\n" -gdb_expect { - -re "type = const char \\* volatile.*$gdb_prompt $" { pass "ptype caveat" } - -re ".*$gdb_prompt $" { fail "ptype caveat" } - timeout { fail "(timeout) ptype caveat" } -} - -send_gdb "ptype covenant\n" -gdb_expect { - -re "type = const unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype covenant" } - -re ".*$gdb_prompt $" { fail "ptype covenant" } - timeout { fail "(timeout) ptype covenant" } -} - -send_gdb "ptype vizier\n" -gdb_expect { - -re "type = const volatile char \\* volatile.*$gdb_prompt $" { pass "ptype vizier" } - -re ".*$gdb_prompt $" { fail "ptype vizier" } - timeout { fail "(timeout) ptype vizier" } -} - -send_gdb "ptype vanadium\n" -gdb_expect { - -re "type = const volatile unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype vanadium" } - -re ".*$gdb_prompt $" { fail "ptype vanadium" } - timeout { fail "(timeout) ptype vanadium" } -} - -send_gdb "ptype vane\n" -gdb_expect { - -re "type = char \\* const volatile.*$gdb_prompt $" { pass "ptype vane" } - -re ".*$gdb_prompt $" { fail "ptype vane" } - timeout { fail "(timeout) ptype vane" } -} - -send_gdb "ptype veldt\n" -gdb_expect { - -re "type = unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype veldt" } - -re ".*$gdb_prompt $" { fail "ptype veldt" } - timeout { fail "(timeout) ptype veldt" } -} - -send_gdb "ptype cove\n" -gdb_expect { - -re "type = const char \\* const volatile.*$gdb_prompt $" { pass "ptype cove" } - -re ".*$gdb_prompt $" { fail "ptype cove" } - timeout { fail "(timeout) ptype cove" } -} - -send_gdb "ptype cavity\n" -gdb_expect { - -re "type = const unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype cavity" } - -re ".*$gdb_prompt $" { fail "ptype cavity" } - timeout { fail "(timeout) ptype cavity" } -} - -send_gdb "ptype vagus\n" -gdb_expect { - -re "type = volatile char \\* const volatile.*$gdb_prompt $" { pass "ptype vagus" } - -re ".*$gdb_prompt $" { fail "ptype vagus" } - timeout { fail "(timeout) ptype vagus" } -} - -send_gdb "ptype vagrancy\n" -gdb_expect { - -re "type = volatile unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype vagrancy" } - -re ".*$gdb_prompt $" { fail "ptype vagrancy" } - timeout { fail "(timeout) ptype vagrancy" } -} - -send_gdb "ptype vagary\n" -gdb_expect { - -re "type = const volatile char \\* const volatile.*$gdb_prompt $" { pass "ptype vagary" } - -re ".*$gdb_prompt $" { fail "ptype vagary" } - timeout { fail "(timeout) ptype vagary" } -} - -send_gdb "ptype vendor\n" -gdb_expect { - -re "type = const volatile unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype vendor" } - -re ".*$gdb_prompt $" { fail "ptype vendor" } - timeout { fail "(timeout) ptype vendor" } -} - -# test function parameters -send_gdb "ptype qux2\n" -gdb_expect { - -re "type = int \\(volatile unsigned char, const volatile int, volatile short &, volatile long \\*, float \\* volatile, const volatile signed char \\* const volatile\\)" { - pass "ptype qux2" - } - -re ".*$gdb_prompt $" { fail "ptype qux2" } - timeout { fail "(timeout) ptype qux2" } - } - - diff --git a/gdb/testsuite/gdb.base/watchpoint.c b/gdb/testsuite/gdb.base/watchpoint.c deleted file mode 100644 index edb996d..0000000 --- a/gdb/testsuite/gdb.base/watchpoint.c +++ /dev/null @@ -1,120 +0,0 @@ -#include <stdio.h> -#include <stdio.h> -/* - * Since using watchpoints can be very slow, we have to take some pains to - * ensure that we don't run too long with them enabled or we run the risk - * of having the test timeout. To help avoid this, we insert some marker - * functions in the execution stream so we can set breakpoints at known - * locations, without worrying about invalidating line numbers by changing - * this file. We use null bodied functions are markers since gdb does - * not support breakpoints at labeled text points at this time. - * - * One place we need is a marker for when we start executing our tests - * instructions rather than any process startup code, so we insert one - * right after entering main(). Another is right before we finish, before - * we start executing any process termination code. - * - * Another problem we have to guard against, at least for the test - * suite, is that we need to ensure that the line that causes the - * watchpoint to be hit is still the current line when gdb notices - * the hit. Depending upon the specific code generated by the compiler, - * the instruction after the one that triggers the hit may be part of - * the same line or part of the next line. Thus we ensure that there - * are always some instructions to execute on the same line after the - * code that should trigger the hit. - */ - -int count = -1; -int ival1 = -1; -int ival2 = -1; -int ival3 = -1; -int ival4 = -1; -char buf[10]; -struct foo -{ - int val; -}; -struct foo struct1, struct2, *ptr1, *ptr2; - -int doread = 0; - -void marker1 () -{ -} - -void marker2 () -{ -} - -void marker4 () -{ -} - -void marker5 () -{ -} - -void -func2 () -{ -} - -int -func1 () -{ - /* The point of this is that we will set a breakpoint at this call. - - Then, if DECR_PC_AFTER_BREAK equals the size of a function call - instruction (true on a sun3 if this is gcc-compiled--FIXME we - should use asm() to make it work for any compiler, present or - future), then we will end up branching to the location just after - the breakpoint. And we better not confuse that with hitting the - breakpoint. */ - func2 (); - return 73; -} - -int main () -{ - struct1.val = 1; - struct2.val = 2; - ptr1 = &struct1; - ptr2 = &struct2; - marker1 (); - func1 (); - for (count = 0; count < 4; count++) { - ival1 = count; - ival3 = count; ival4 = count; - } - ival1 = count; /* Outside loop */ - ival2 = count; - ival3 = count; ival4 = count; - marker2 (); - if (doread) - read (0, &buf[0], 5); - marker4 (); - - /* We have a watchpoint on ptr1->val. It should be triggered if - ptr1's value changes. */ - ptr1 = ptr2; - - /* This should not trigger the watchpoint. If it does, then we - used the wrong value chain to re-insert the watchpoints or we - are not evaluating the watchpoint expression correctly. */ - struct1.val = 5; - marker5 (); - if (doread) - read (0, &buf[0], 5); - marker4 (); - - /* We have a watchpoint on ptr1->val. It should be triggered if - ptr1's value changes. */ - ptr1 = ptr2; - - /* This should not trigger the watchpoint. If it does, then we - used the wrong value chain to re-insert the watchpoints or we - are not evaluating the watchpoint expression correctly. */ - struct1.val = 5; - marker5 (); - return 0; -} diff --git a/gdb/testsuite/gdb.base/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp deleted file mode 100644 index 980383c..0000000 --- a/gdb/testsuite/gdb.base/watchpoint.exp +++ /dev/null @@ -1,568 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 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 Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "watchpoint" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Prepare for watchpoint tests by setting up two breakpoints and one -# watchpoint. -# -# We use breakpoints at marker functions to get past all the startup code, -# so we can get to the watchpoints in a reasonable amount of time from a -# known starting point. -# -# For simplicity, so we always know how to reference specific breakpoints or -# watchpoints by number, we expect a particular ordering and numbering of -# each in the combined breakpoint/watchpoint table, as follows: -# -# Number What Where -# 1 Breakpoint marker1() -# 2 Breakpoint marker2() -# 3 Watchpoint ival3 - -proc initialize {} { - global gdb_prompt - global hex - global decimal - global srcfile - - if [gdb_test "break marker1" "Breakpoint 1 at $hex: file .*$srcfile, line $decimal.*" "set breakpoint at marker1" ] { - return 0; - } - - - if [gdb_test "break marker2" "Breakpoint 2 at $hex: file .*$srcfile, line $decimal.*" "set breakpoint at marker2" ] { - return 0; - } - - - if [gdb_test "info break" "1\[ \]*breakpoint.*marker1.*\r\n2\[ \]*breakpoint.*marker2.*" "info break in watchpoint.exp" ] { - return 0; - } - - - if [gdb_test "watch ival3" ".*\[Ww\]atchpoint 3: ival3" "set watchpoint on ival3" ] { - return 0; - } - - - # "info watch" is the same as "info break" - - if [gdb_test "info watch" "1\[ \]*breakpoint.*marker1.*\r\n2\[ \]*breakpoint.*marker2.*\r\n3\[ \]*.*watchpoint.*ival3" "watchpoint found in watchpoint/breakpoint table" ] { - return 0; - } - - - # After installing the watchpoint, we disable it until we are ready - # to use it. This allows the test program to run at full speed until - # we get to the first marker function. - - if [gdb_test "disable 3" "disable 3\[\r\n\]+" "disable watchpoint" ] { - return 0; - } - - - return 1 -} - -# -# Test simple watchpoint. -# - -proc test_simple_watchpoint {} { - global gdb_prompt - global hex - global decimal - - # Ensure that the watchpoint is disabled when we startup. - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint in test_simple_watchpoint" ] { - return 0; - } - - - # Run until we get to the first marker function. - - gdb_run_cmd - set timeout 600 - gdb_expect { - -re "Breakpoint 1, marker1 .*$gdb_prompt $" { - pass "run to marker1 in test_simple_watchpoint" - } - -re ".*$gdb_prompt $" { - fail "run to marker1 in test_simple_watchpoint" - return - } - timeout { - fail "run to marker1 in test_simple_watchpoint (timeout)" - return - } - } - - # After reaching the marker function, enable the watchpoint. - - if [gdb_test "enable 3" "^enable 3\[\r\n\]+" "enable watchpoint" ] { - return ; - } - - - gdb_test "break func1" "Breakpoint.*at.*" - gdb_test "set \$func1_breakpoint_number = \$bpnum" "" - - gdb_test "continue" "Continuing.*Breakpoint \[0-9\]*, func1.*" \ - "continue to breakpoint at func1" - - # Continue until the first change, from -1 to 0 - - send_gdb "cont\n" - gdb_expect { - -re "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = -1.*New value = 0.*ival3 = count; ival4 = count;.*$gdb_prompt $" { - pass "watchpoint hit, first time" - } - -re "Continuing.*Breakpoint.*func1.*$gdb_prompt $" { - setup_xfail "m68*-*-*" 2597 - fail "thought it hit breakpoint at func1 twice" - gdb_test "delete \$func1_breakpoint_number" "" - gdb_test "continue" "\ -Continuing.*\[Ww\]atchpoint.*ival3.*Old value = -1.*New value = 0.*ival3 = count;" \ - "watchpoint hit, first time" - } - -re ".*$gdb_prompt $" { fail "watchpoint hit, first time" ; return } - timeout { fail "watchpoint hit, first time (timeout)" ; return } - eof { fail "watchpoint hit, first time (eof)" ; return } - } - - gdb_test "delete \$func1_breakpoint_number" "" - - # Continue until the next change, from 0 to 1. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 0.*New value = 1.*ival3 = count; ival4 = count;.*" "watchpoint hit, second time" - - # Continue until the next change, from 1 to 2. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 1.*New value = 2.*ival3 = count; ival4 = count;.*" "watchpoint hit, third time" - - # Continue until the next change, from 2 to 3. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 2.*New value = 3.*ival3 = count; ival4 = count;.*" "watchpoint hit, fourth time" - - # Continue until the next change, from 3 to 4. - # Note that this one is outside the loop. - - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 3.*New value = 4.*ival3 = count; ival4 = count;.*" "watchpoint hit, fifth time" - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - - gdb_test "cont" "Continuing.*Breakpoint.*marker2 \(\).*" \ - "continue to marker2" - - # Disable the watchpoint so we run at full speed until we exit. - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "watchpoint disabled" ] { - return ; - } - - - # Run until process exits. - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_simple_watchpoint" -} - -# Test disabling watchpoints. - -proc test_disabling_watchpoints {} { - global gdb_prompt - global binfile - global srcfile - global decimal - global hex - - # Ensure that the watchpoint is disabled when we startup. - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint in test_disabling_watchpoints" ] { - return 0; - } - - - # Run until we get to the first marker function. - - gdb_run_cmd - set timeout 600 - gdb_expect { - -re "Breakpoint 1, marker1 .*$gdb_prompt $" { - pass "run to marker1 in test_disabling_watchpoints" - } - -re ".*$gdb_prompt $" { - fail "run to marker1 in test_disabling_watchpoints" - return - } - timeout { - fail "run to marker1 in test_disabling_watchpoints (timeout)" - return - } - } - - # After reaching the marker function, enable the watchpoint. - - if [gdb_test "enable 3" "^enable 3\[\r\n\]+" "watchpoint enabled" ] { - return ; - } - - - # Continue until the first change, from -1 to 0 - # Don't check the old value, because on VxWorks the variable value - # will not have been reinitialized. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = .*New value = 0.*ival3 = count; ival4 = count;.*" "watchpoint hit in test_disabling_watchpoints, first time" - - # Continue until the next change, from 0 to 1. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 0.*New value = 1.*ival3 = count; ival4 = count;.*" "watchpoint hit in test_disabling_watchpoints, second time" - - # Disable the watchpoint but leave breakpoints - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint #2 in test_disabling_watchpoints" ] { - return 0; - } - - - # Check watchpoint list, looking for the entry that confirms the - # watchpoint is disabled. - gdb_test "info watchpoints" "3\[ \]*.*watchpoint\[ \]*keep\[ \]*n\[ \]*ival3\r\n.*" "watchpoint disabled in table" - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - gdb_test "cont" "Continuing.*Breakpoint.*marker2 \\(\\).*" \ - "disabled watchpoint skipped" - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_disabling_watchpoints" -} - -# Test stepping and other mundane operations with watchpoints enabled -proc test_stepping {} { - global gdb_prompt - - if [runto marker1] then { - gdb_test "watch ival2" ".*\[Ww\]atchpoint \[0-9\]*: ival2" - - # Well, let's not be too mundane. It should be a *bit* of a challenge - gdb_test "break func2 if 0" "Breakpoint.*at.*" - gdb_test "p \$func2_breakpoint_number = \$bpnum" " = .*" - - # The HPPA has a problem here if it's not using hardware watchpoints - if {[ istarget "hppa*-*-*" ] && ![ istarget "hppa*-*-*bsd*" ]} then { - # Don't actually try doing the call, if we do we can't continue. - setup_xfail "*-*-*" - fail "calling function with watchpoint enabled" - } else { - # The problem is that GDB confuses stepping through the call - # dummy with hitting the breakpoint at the end of the call dummy. - # Will be fixed once all architectures define - # CALL_DUMMY_BREAKPOINT_OFFSET. - setup_xfail "*-*-*" - # This doesn't occur if the call dummy starts with a call, - # because we are out of the dummy by the first time the inferior - # stops. - clear_xfail "m68*-*-*" - clear_xfail "i*86*-*-*" - clear_xfail "vax-*-*" - # The following architectures define CALL_DUMMY_BREAKPOINT_OFFSET. - clear_xfail "alpha-*-*" - clear_xfail "mips*-*-*" - clear_xfail "sparc-*-*" - clear_xfail "hppa*-*-*bsd*" - # It works with the generic inferior function calling code too. - clear_xfail "mn10200*-*-*" - clear_xfail "mn10300*-*-*" - gdb_test "p func1 ()" "= 73" \ - "calling function with watchpoint enabled" - } - - # - # "finish" brings us back to main. - # On some targets (e.g. alpha) gdb will stop from the finish in midline - # of the marker1 call. This is due to register restoring code on - # the alpha and might be caused by stack adjustment instructions - # on other targets. In this case we will step once more. - # - - send_gdb "finish\n" - gdb_expect { - -re "Run.*exit from.*marker1.* at" { } - default { fail "finish from marker1" ; return } - } - - gdb_expect { - -re "marker1 \\(\\);.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re "func1 \\(\\);.*$gdb_prompt $" { - pass "finish from marker1" - } - -re ".*$gdb_prompt $" { - fail "finish from marker1" - } - default { fail "finish from marker1" ; return } - } - - gdb_test "next" "for \\(count = 0.*" "next to `for' in watchpoint.exp" - - # Now test that "until" works. It's a bit tricky to test - # "until", because compilers don't always arrange the code - # exactly the same way, and we might get slightly different - # sequences of statements. But the following should be true - # (if not it is a compiler or a debugger bug): The user who - # does "until" at every statement of a loop should end up - # stepping through the loop once, and the debugger should not - # stop for any of the remaining iterations. - - gdb_test "until" "ival1 = count.*" "until to ival1 assignment" - gdb_test "until" "ival3 = count.*" "until to ival3 assignment" - send_gdb "until\n" - gdb_expect { - -re "(for \\(count = 0|\}).*$gdb_prompt $" { - gdb_test "until" "ival1 = count; /. Outside loop ./" \ - "until out of loop" - } - -re "ival1 = count; /. Outside loop ./.*$gdb_prompt $" { - pass "until out of loop" - } - -re ".*$gdb_prompt $" { - fail "until out of loop" - } - default { fail "until out of loop" ; return } - } - - gdb_test "step" "ival2 = count.*" "step to ival2 assignment" - } -} - -# Test stepping and other mundane operations with watchpoints enabled -proc test_watchpoint_triggered_in_syscall {} { - global gdb_prompt - - if [target_info exists gdb,noinferiorio] { - verbose "Skipping test_watchpoint_triggered_in_syscall due to noinferiorio" - return - } - # Run until we get to the first marker function. - set x 0 - set y 0 - set testname "Watch buffer passed to read syscall" - if [runto marker2] then { - gdb_test "watch buf\[0\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[0\\\]" - gdb_test "watch buf\[1\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[1\\\]" - gdb_test "watch buf\[2\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[2\\\]" - gdb_test "watch buf\[3\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[3\\\]" - gdb_test "watch buf\[4\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[4\\\]" - gdb_test "break marker4" ".*Breakpoint.*" - - gdb_test "set doread = 1" "" - - # If we send_gdb "123\n" before gdb has switched the tty, then it goes - # to gdb, not the inferior, and we lose. So that is why we have - # watchpoint.c prompt us, so we can wait for that prompt. - send_gdb "continue\n"; - gdb_expect { - -re "Continuing\\.\r\ntype stuff for buf now:" { - pass "continue to read" - } - default { - fail "continue to read"; - return ; - } - } - - send_gdb "123\n" - gdb_expect { - -re ".*\[Ww\]atchpoint.*buf\\\[0\\\].*Old value = 0.*New value = 49\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[1\\\].*Old value = 0.*New value = 50\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[2\\\].*Old value = 0.*New value = 51\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[3\\\].*Old value = 0.*New value = 10\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*$gdb_prompt $" { pass "sent 123" } - timeout { fail "sent 123 (timeout)" } - } - - # Examine the values in buf to see how many watchpoints we - # should have printed. - send_gdb "print buf\[0\]\n" - gdb_expect { - -re ".*= 49.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[0\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[0\]"} - -re ".*$gdb_prompt $" { fail "print buf\[0\]"} - default { fail "print buf\[0\]"} - } - send_gdb "print buf\[1\]\n" - gdb_expect { - -re ".*= 50.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[1\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[1\]"} - -re ".*$gdb_prompt $" { fail "print buf\[1\]"} - default { fail "print buf\[1\]"} - } - send_gdb "print buf\[2\]\n" - gdb_expect { - -re ".*= 51.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[2\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[2\]"} - -re ".*$gdb_prompt $" { fail "print buf\[2\]"} - default { fail "print buf\[2\]"} - } - send_gdb "print buf\[3\]\n" - gdb_expect { - -re ".*= 10.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[3\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[3\]"} - -re ".*$gdb_prompt $" { fail "print buf\[3\]" } - default { fail "print buf\[3\]" } - } - - # Did we find what we were looking for? If not, flunk it. - if [expr $x==$y] then { pass $testname } else { fail "$testname (only triggered $x watchpoints, expected $y)"} - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - gdb_test "cont" "Continuing.*Breakpoint.*marker4 \\(\\).*" \ - "continue to marker4" - - # Disable everything so we can finish the program at full speed - gdb_test "disable" "" "disable in test_watchpoint_triggered_in_syscall" - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_watchpoint_triggered_in_syscall" - } -} - -# Do a simple test of of watching through a pointer when the pointer -# itself changes. Should add some more complicated stuff here. - -proc test_complex_watchpoint {} { - global gdb_prompt - - if [runto marker4] then { - gdb_test "watch ptr1->val" ".*\[Ww\]atchpoint \[0-9\]*: ptr1->val" - gdb_test "break marker5" ".*Breakpoint.*" - - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ptr1->val.*Old value = 1.*New value = 2.*" "Test complex watchpoint" - - # Continue until we hit the marker5 function. - # Make sure we hit no more watchpoints. - - gdb_test "cont" "Continuing.*Breakpoint.*marker5 \\(\\).*" \ - "did not trigger wrong watchpoint" - - # Disable everything so we can finish the program at full speed - gdb_test "disable" "" "disable in test_complex_watchpoint" - - if [target_info exists gdb,noresults] { return } - - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_complex_watchpoint" - } -} - -# Start with a fresh gdb. - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile -set timeout 600 -verbose "Timeout now 600 sec.\n" - -if [initialize] then { - - test_simple_watchpoint - - # The IDT/sim monitor only has 8 (!) open files, of which it uses - # 4 (!). So we have to make sure one program exits before - # starting another one. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - test_disabling_watchpoints - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - if ![target_info exsts gdb,cannot_call_functions] { - test_stepping - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - } - - # Only enabled for some targets merely because it has not been tested - # elsewhere. - # On sparc-sun-sunos4.1.3, GDB was running all the way to the marker4 - # breakpoint before stopping for the watchpoint. I don't know why. - if {[istarget "hppa*-*-*"]} then { - test_watchpoint_triggered_in_syscall - } - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - # Only enabled for some targets merely because it has not been tested - # elsewhere. - if {[istarget "hppa*-*-*"] || \ - [istarget "sparc*-*-sunos*"] || \ - [istarget "m32r-*-*"]} then { - test_complex_watchpoint - } -} diff --git a/gdb/testsuite/gdb.base/whatis-exp.exp b/gdb/testsuite/gdb.base/whatis-exp.exp deleted file mode 100644 index c5b97ee..0000000 --- a/gdb/testsuite/gdb.base/whatis-exp.exp +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright (C) 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 Elena Zannoni (ezannoni@cygnus.com) - -# This file is part of the gdb testsuite -# -# tests for whatis command on expressions. -# used in file eval.c. This flavor of whatis -# command performs evaluation of expressions w/o actually -# computing the value, but just the type -# of the result. It goes through the evaluate_subexp_standard -# with the EVAL_AVOID_SIDE_EFFECTS flag rather than EVAL_NORMAL -# - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "int-type" -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_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# -# test expressions with "int" types -# - -gdb_test "set variable x=14" "" "set variable x=14" -gdb_test "set variable y=2" "" "set variable y=2" -gdb_test "set variable z=2" "" "set variable z=2" -gdb_test "set variable w=3" "" "set variable w=3" - -send_gdb "print x\n" -gdb_expect { - -re ".*14.*$gdb_prompt $" { - pass "print value of x" - } - -re ".*$gdb_prompt $" { fail "print value of x" } - timeout { fail "(timeout) print value of x" } - } - - -send_gdb "print y\n" -gdb_expect { - -re ".*2.*$gdb_prompt $" { - pass "print value of y" - } - -re ".*$gdb_prompt $" { fail "print value of y" } - timeout { fail "(timeout) print value of y" } - } - -send_gdb "print z\n" -gdb_expect { - -re ".*2.*$gdb_prompt $" { - pass "print value of z" - } - -re ".*$gdb_prompt $" { fail "print value of z" } - timeout { fail "(timeout) print value of z" } - } - -send_gdb "print w\n" -gdb_expect { - -re ".*3.*$gdb_prompt $" { - pass "print value of w" - } - -re ".*$gdb_prompt $" { fail "print value of w" } - timeout { fail "(timeout) print value of w" } - } - - - -send_gdb "whatis x+y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x+y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x+y" } - timeout { fail "(timeout) whatis value of x+y" } - } - -send_gdb "whatis x-y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x-y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x-y" } - timeout { fail "(timeout) whatis value of x-y" } - } - -send_gdb "whatis x*y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x*y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x*y" } - timeout { fail "(timeout) whatis value of x*y" } - } - -send_gdb "whatis x/y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x/y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x/y" } - timeout { fail "(timeout) whatis value of x/y" } - } - -send_gdb "whatis x%y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x%y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x%y" } - timeout { fail "(timeout) whatis value of x%y" } - } - - - -send_gdb "whatis x=y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x=y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x=y" } - timeout { fail "(timeout) whatis value of x=y" } - } - - -send_gdb "whatis x+=2\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x+=2" - } - -re ".*$gdb_prompt $" { fail "whatis value of x+=2" } - timeout { fail "(timeout) whatis value of x+=2" } - } - - -send_gdb "whatis ++x\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of ++x" - } - -re ".*$gdb_prompt $" { fail "whatis value of ++x" } - timeout { fail "(timeout) whatis value of ++x" } - } - -send_gdb "whatis --x\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of --x" - } - -re ".*$gdb_prompt $" { fail "whatis value of --x" } - timeout { fail "(timeout) whatis value of --x" } - } - -send_gdb "whatis x++\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x++" - } - -re ".*$gdb_prompt $" { fail "whatis value of x++" } - timeout { fail "(timeout) whatis value of x++" } - } - -send_gdb "whatis x--\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x--" - } - -re ".*$gdb_prompt $" { fail "whatis value of x--" } - timeout { fail "(timeout) whatis value of x--" } - } - -gdb_exit -return 0 diff --git a/gdb/testsuite/gdb.base/whatis.c b/gdb/testsuite/gdb.base/whatis.c deleted file mode 100644 index ca50c06..0000000 --- a/gdb/testsuite/gdb.base/whatis.c +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Test file with lots of different types, for testing the - * "whatis" command. - */ - -/* - * First the basic C types. - */ - -#if !(defined (__STDC__) || defined (_AIX)) -#define signed /**/ -#endif - -char v_char; -signed char v_signed_char; -unsigned char v_unsigned_char; - -short v_short; -signed short v_signed_short; -unsigned short v_unsigned_short; - -int v_int; -signed int v_signed_int; -unsigned int v_unsigned_int; - -long v_long; -signed long v_signed_long; -unsigned long v_unsigned_long; - -float v_float; -double v_double; - -/* - * Now some derived types, which are arrays, functions-returning, - * pointers, structures, unions, and enumerations. - */ - -/**** arrays *******/ - -char v_char_array[2]; -signed char v_signed_char_array[2]; -unsigned char v_unsigned_char_array[2]; - -short v_short_array[2]; -signed short v_signed_short_array[2]; -unsigned short v_unsigned_short_array[2]; - -int v_int_array[2]; -signed int v_signed_int_array[2]; -unsigned int v_unsigned_int_array[2]; - -long v_long_array[2]; -signed long v_signed_long_array[2]; -unsigned long v_unsigned_long_array[2]; - -float v_float_array[2]; -double v_double_array[2]; - -/**** pointers *******/ - -/* Make sure they still print as pointer to foo even there is a typedef - for that type. Test this not just for char *, which might be - a special case kludge in GDB (Unix system include files like to define - caddr_t), but for a variety of types. */ -typedef char *char_addr; -typedef unsigned short *ushort_addr; -typedef signed long *slong_addr; - -char *v_char_pointer; -signed char *v_signed_char_pointer; -unsigned char *v_unsigned_char_pointer; - -short *v_short_pointer; -signed short *v_signed_short_pointer; -unsigned short *v_unsigned_short_pointer; - -int *v_int_pointer; -signed int *v_signed_int_pointer; -unsigned int *v_unsigned_int_pointer; - -long *v_long_pointer; -signed long *v_signed_long_pointer; -unsigned long *v_unsigned_long_pointer; - -float *v_float_pointer; -double *v_double_pointer; - -/**** structs *******/ - -struct t_struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct1; - -struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct2; - -/**** unions *******/ - -union t_union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union; - -union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union2; - -/*** Functions returning type ********/ - -char v_char_func () { return(0); } -signed char v_signed_char_func () { return (0); } -unsigned char v_unsigned_char_func () { return (0); } - -short v_short_func () { return (0); } -signed short v_signed_short_func () { return (0); } -unsigned short v_unsigned_short_func () { return (0); } - -int v_int_func () { return (0); } -signed int v_signed_int_func () { return (0); } -unsigned int v_unsigned_int_func () { return (0); } - -long v_long_func () { return (0); } -signed long v_signed_long_func () { return (0); } -unsigned long v_unsigned_long_func () { return (0); } - -float v_float_func () { return (0.0); } -double v_double_func () { return (0.0); } - -/**** Some misc more complicated things *******/ - -struct link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} *s_link; - -union tu_link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} u_link; - -struct outer_struct { - int outer_int; - struct inner_struct { - int inner_int; - long inner_long; - }inner_struct_instance; - union inner_union { - int inner_union_int; - long inner_union_long; - }inner_union_instance; - long outer_long; -} nested_su; - -/**** Enumerations *******/ - -enum colors {red, green, blue} color; -enum cars {chevy, ford, porsche} clunker; - -/***********/ - -main () -{ - /* Some linkers (e.g. on AIX) remove unreferenced variables, - so make sure to reference them. */ - v_char = 0; - v_signed_char = 1; - v_unsigned_char = 2; - - v_short = 3; - v_signed_short = 4; - v_unsigned_short = 5; - - v_int = 6; - v_signed_int = 7; - v_unsigned_int = 8; - - v_long = 9; - v_signed_long = 10; - v_unsigned_long = 11; - - v_float = 100.0; - v_double = 200.0; - - - v_char_array[0] = v_char; - v_signed_char_array[0] = v_signed_char; - v_unsigned_char_array[0] = v_unsigned_char; - - v_short_array[0] = v_short; - v_signed_short_array[0] = v_signed_short; - v_unsigned_short_array[0] = v_unsigned_short; - - v_int_array[0] = v_int; - v_signed_int_array[0] = v_signed_int; - v_unsigned_int_array[0] = v_unsigned_int; - - v_long_array[0] = v_long; - v_signed_long_array[0] = v_signed_long; - v_unsigned_long_array[0] = v_unsigned_long; - - v_float_array[0] = v_float; - v_double_array[0] = v_double; - - v_char_pointer = &v_char; - v_signed_char_pointer = &v_signed_char; - v_unsigned_char_pointer = &v_unsigned_char; - - v_short_pointer = &v_short; - v_signed_short_pointer = &v_signed_short; - v_unsigned_short_pointer = &v_unsigned_short; - - v_int_pointer = &v_int; - v_signed_int_pointer = &v_signed_int; - v_unsigned_int_pointer = &v_unsigned_int; - - v_long_pointer = &v_long; - v_signed_long_pointer = &v_signed_long; - v_unsigned_long_pointer = &v_unsigned_long; - - v_float_pointer = &v_float; - v_double_pointer = &v_double; - - color = red; - clunker = porsche; - - u_link.next = s_link; - - v_union2.v_short_member = v_union.v_short_member; - - v_struct1.v_char_member = 0; - v_struct2.v_char_member = 0; - - nested_su.outer_int = 0; - return 0; -} diff --git a/gdb/testsuite/gdb.base/whatis.exp b/gdb/testsuite/gdb.base/whatis.exp deleted file mode 100644 index 011ff30..0000000 --- a/gdb/testsuite/gdb.base/whatis.exp +++ /dev/null @@ -1,396 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1995 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 Rob Savoye. (rob@cygnus.com) - -if $tracelevel { - strace $tracelevel -} - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile whatis -set srcfile ${srcdir}/$subdir/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [compile "${srcfile} -g -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -execute_anywhere "rm -f ${binfile}.ci" -if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { - perror "Couldn't make ${testfile}.ci file" - return -1 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -source ${binfile}.ci - -# If we did not use the signed keyword when compiling the file, don't -# expect GDB to know that char is signed. -if $signed_keyword_not_used then { - set signed_char "char" -} else { - set signed_char "signed char" -} - -# Define a procedure to set up an xfail for all targets that put out a -# `long' type as an `int' type. -# Sun/Ultrix cc have this problem. -# It was said that COFF targets can not distinguish int from long either. - -proc setup_xfail_on_long_vs_int {} { - global gcc_compiled - - if {!$gcc_compiled} { - setup_xfail "*-sun-sunos4*" "*-*-ultrix*" "i*86-sequent-bsd*" - } -} - -# -# Test whatis command with basic C types -# -# The name printed now (as of 23 May 1993) is whatever name the compiler -# uses in the stabs. So we need to deal with names both from gcc and -# native compilers. -# -gdb_test "whatis v_char" \ - "type = (unsigned char|char)" \ - "whatis char" - -setup_xfail "a29k-*-*" -if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" } -gdb_test "whatis v_signed_char" \ - "type = $signed_char" \ - "whatis signed char" - -gdb_test "whatis v_unsigned_char" \ - "type = unsigned char" \ - "whatis unsigned char" - -gdb_test "whatis v_short" \ - "type = (short|short int)" \ - "whatis short" - -gdb_test "whatis v_signed_short" \ - "type = (short|short int|signed short|signed short int)" \ - "whatis signed short" - -gdb_test "whatis v_unsigned_short" \ - "type = (unsigned short|short unsigned int)" \ - "whatis unsigned short" - -gdb_test "whatis v_int" \ - "type = int" \ - "whatis int" - -gdb_test "whatis v_signed_int" \ - "type = (signed |)int" \ - "whatis signed int" - -gdb_test "whatis v_unsigned_int" \ - "type = unsigned int" \ - "whatis unsigned int" - -setup_xfail_on_long_vs_int -# AIX xlc gets this wrong and unsigned long right. Go figure. -if {!$gcc_compiled} then {setup_xfail "rs6000-*-aix*"} -gdb_test "whatis v_long" \ - "type = (long|long int)" \ - "whatis long" - -setup_xfail_on_long_vs_int -# AIX xlc gets this wrong and unsigned long right. Go figure. -if {!$gcc_compiled} then {setup_xfail "rs6000-*-aix*"} -gdb_test "whatis v_signed_long" \ - "type = (signed |)(long|long int)" \ - "whatis signed long" - -setup_xfail_on_long_vs_int -gdb_test "whatis v_unsigned_long" \ - "type = (unsigned long|long unsigned int)" \ - "whatis unsigned long" - -gdb_test "whatis v_float" \ - "type = float" \ - "whatis float" - -gdb_test "whatis v_double" \ - "type = double" \ - "whatis double" - - -# test whatis command with arrays -# -# We already tested whether char prints as "char", so here we accept -# "unsigned char", "signed char", and other perversions. No need for more -# than one xfail for the same thing. -gdb_test "whatis v_char_array" \ - "type = (signed |unsigned |)char \\\[2\\\]" \ - "whatis char array" - -gdb_test "whatis v_signed_char_array" \ - "type = (signed |unsigned |)char \\\[2\\\]" \ - "whatis signed char array" - -gdb_test "whatis v_unsigned_char_array" \ - "type = unsigned char \\\[2\\\]" \ - "whatis unsigned char array" - -gdb_test "whatis v_short_array" \ - "type = (short|short int) \\\[2\\\]" \ - pass "whatis short array" - -gdb_test "whatis v_signed_short_array" \ - "type = (signed |)(short|short int) \\\[2\\\]" \ - "whatis signed short array" - -gdb_test "whatis v_unsigned_short_array" \ - "type = (unsigned short|short unsigned int) \\\[2\\\]" \ - "whatis unsigned short array" - -gdb_test "whatis v_int_array" \ - "type = int \\\[2\\\]" \ - "whatis int array" - -gdb_test "whatis v_signed_int_array" \ - "type = (signed |)int \\\[2\\\]" \ - "whatis signed int array" - -gdb_test "whatis v_unsigned_int_array" \ - "type = unsigned int \\\[2\\\]" \ - "whatis unsigned int array" - -# We already tested whether long prints as long, so here we accept int -# No need for more than one xfail for the same thing. -gdb_test "whatis v_long_array" \ - "type = (int|long|long int) \\\[2\\\]" \ - "whatis long array" - -gdb_test "whatis v_signed_long_array" \ - "type = (signed |)(int|long|long int) \\\[2\\\]" \ - "whatis signed long array" - -gdb_test "whatis v_unsigned_long_array" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\\[2\\\]" \ - "whatis unsigned long array" - -gdb_test "whatis v_float_array" \ - "type = float \\\[2\\\]" \ - "whatis float array" - -gdb_test "whatis v_double_array" \ - "type = double \\\[2\\\]" \ - "whatis double array" - - -# test whatis command with pointers -# -# We already tested whether char prints as char, so accept various perversions -# here. We especially want to make sure we test that it doesn't print as -# caddr_t. -gdb_test "whatis v_char_pointer" \ - "type = (unsigned |signed |)char \\*" \ - "whatis char pointer" - -gdb_test "whatis v_signed_char_pointer" \ - "type = (unsigned |signed |)char \\*" \ - "whatis signed char pointer" - -gdb_test "whatis v_unsigned_char_pointer" \ - "type = unsigned char \\*" \ - "whatis unsigned char pointer" - -gdb_test "whatis v_short_pointer" \ - "type = (short|short int) \\*" \ - pass "whatis short pointer" - -gdb_test "whatis v_signed_short_pointer" \ - "type = (signed |)(short|short int) \\*" \ - "whatis signed short pointer" - -gdb_test "whatis v_unsigned_short_pointer" \ - "type = (unsigned short|short unsigned int) \\*" \ - "whatis unsigned short pointer" - -gdb_test "whatis v_int_pointer" \ - "type = int \\*" \ - "whatis int pointer" - -gdb_test "whatis v_signed_int_pointer" \ - "type = (signed |)int \\*" \ - "whatis signed int pointer" - -gdb_test "whatis v_unsigned_int_pointer" \ - "type = unsigned int \\*" \ - "whatis unsigned int pointer" - -# We already tested whether long prints as long, so here we accept int -gdb_test "whatis v_long_pointer" \ - "type = (long|int|long int) \\*" \ - "whatis long pointer" - -gdb_test "whatis v_signed_long_pointer" \ - "type = (signed |)(long|int|long int) \\*" \ - "whatis signed long pointer" - -gdb_test "whatis v_unsigned_long_pointer" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\*" \ - "whatis unsigned long pointer" - -gdb_test "whatis v_float_pointer" \ - "type = float \\*" \ - "whatis float pointer" - -gdb_test "whatis v_double_pointer" \ - "type = double \\*" \ - "whatis double pointer" - - -# test whatis command with structure types -gdb_test "whatis v_struct1" \ - "type = struct t_struct" \ - "whatis named structure" - -gdb_test "whatis v_struct2" \ - "type = struct \{...\}" \ - "whatis unnamed structure" - - -# test whatis command with union types -gdb_test "whatis v_union" \ - "type = union t_union" \ - "whatis named union" - -gdb_test "whatis v_union2" \ - "type = union \{...\}" \ - "whatis unnamed union" - - - -# test whatis command with functions return type -gdb_test "whatis v_char_func" \ - "type = (signed |unsigned |)char \\(\\)" \ - "whatis char function" - -gdb_test "whatis v_signed_char_func" \ - "type = (signed |unsigned |)char \\(\\)" \ - "whatis signed char function" - -gdb_test "whatis v_unsigned_char_func" \ - "type = unsigned char \\(\\)" \ - "whatis unsigned char function" - -gdb_test "whatis v_short_func" \ - "type = short (int |)\\(\\)" \ - "whatis short function" - -gdb_test "whatis v_signed_short_func" \ - "type = (signed |)short (int |)\\(\\)" \ - "whatis signed short function" - -gdb_test "whatis v_unsigned_short_func" \ - "type = (unsigned short|short unsigned int) \\(\\)" \ - "whatis unsigned short function" - -gdb_test "whatis v_int_func" \ - "type = int \\(\\)" \ - "whatis int function" - -gdb_test "whatis v_signed_int_func" \ - "type = (signed |)int \\(\\)" \ - "whatis signed int function" - -gdb_test "whatis v_unsigned_int_func" \ - "type = unsigned int \\(\\)" \ - "whatis unsigned int function" - -gdb_test "whatis v_long_func" \ - "type = (long|int|long int) \\(\\)" \ - "whatis long function" - -gdb_test "whatis v_signed_long_func" \ - "type = (signed |)(int|long|long int) \\(\\)" \ - "whatis signed long function" - -gdb_test "whatis v_unsigned_long_func" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\(\\)" \ - "whatis unsigned long function" - -# Sun /bin/cc calls this a function returning double. -if {!$gcc_compiled} then {setup_xfail "*-sun-sunos4*"} -gdb_test "whatis v_float_func" \ - "type = float \\(\\)" \ - "whatis float function" - -gdb_test "whatis v_double_func" \ - "type = double \\(\\)" \ - "whatis double function" \ - - -# test whatis command with some misc complicated types -gdb_test "whatis s_link" \ - "type = struct link \\*" \ - "whatis complicated structure" - -gdb_test "whatis u_link" \ - "type = union tu_link" \ - "whatis complicated union" - - -# test whatis command with enumerations -gdb_test "whatis clunker" \ - "type = enum cars" \ - "whatis enumeration" - - -# test whatis command with nested struct and union -gdb_test "whatis nested_su" \ - "type = struct outer_struct" \ - "whatis outer structure" - -gdb_test "whatis nested_su.outer_int" \ - "type = int" \ - "whatis outer structure member" - -gdb_test "whatis nested_su.inner_struct_instance" \ - "type = struct inner_struct" \ - "whatis inner structure" - -gdb_test "whatis nested_su.inner_struct_instance.inner_int" \ - "type = int" \ - "whatis inner structure member" - -gdb_test "whatis nested_su.inner_union_instance" \ - "type = union inner_union" \ - "whatis inner union" - -gdb_test "whatis nested_su.inner_union_instance.inner_union_int" \ - "type = int" \ - "whatis inner union member" |