Commit graph

362 commits

Author SHA1 Message Date
Mike Frysinger
0641104b2e sim: tests: support .S/.c files
Rather than requiring all sim tests to be preprocessed .s files, add
support for .S and .c files so we can easily write code using a higher
level language like C.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-05-16 18:48:31 +00:00
Hans-Peter Nilsson
3fc8ee5409 PR sim/12737
* sim/arm/iwmmxt/wcmpgt.cgs, sim/arm/iwmmxt/wmac.cgs,
	sim/arm/iwmmxt/wsra.cgs, sim/arm/xscale/blx.cgs: Kfail.
2011-05-11 04:59:28 +00:00
Joseph Myers
4d393d60c4 gdb:
* configure.host (xscale*): Don't handle target.
	* configure.tgt (thumb*-*-* | strongarm*-*-* | xscale-*-*): Don't
	handle targets.

gdb/gdbserver:
	* README: Don't mention xscale*-*-linux*.
	* configure.srv (xscale*-*-linux*): Don't handle target.

gdb/testsuite:
	* gdb.base/a2-run.exp (strongarm-*-coff): Don't handle target.
	* gdb.base/float.exp (xscale*-*-*, strongarm*-*-*): Don't handle
	targets.
	* gdb.base/long_long.exp (xscale*-*-*, strongarm*-*-*): Don't
	handle targets.

sim:
	* configure.tgt (thumb*-*-* | strongarm*-*-* | xscale-*-*): Don't
	handle targets.
	* configure: Regenerate.

sim/testsuite:
	* configure: Regenerate.
	* sim/arm/allinsn.exp (xscale*-*-*): Don't handle target.
	* sim/arm/misc.exp (thumb*-*-*, xscale*-*-*): Don't handle
	targets.
	* sim/arm/iwmmxt/iwmmxt.exp: Test for arm*-*-* instead of
	xscale*-*-*.
	* sim/arm/thumb/allthumb.exp (thumb*-*-*): Don't handle target.
	* sim/arm/xscale/xscale.exp: Test for arm*-*-* instead of
	xscale*-*-*.
2011-05-04 19:28:16 +00:00
Hans-Peter Nilsson
e88b07bd4a * testutils.inc: Correct comment syntax fallout from
copyright update.
	* utils-dsp.inc, utils-fpu.inc, utils-mdmx.inc: Ditto.
2011-01-05 23:12:37 +00:00
Hans-Peter Nilsson
4f6ca12b0f * mips32-dsp.s: Update copyright year. 2011-01-05 23:10:39 +00:00
Joel Brobecker
7b6bb8daac run copyright.sh for 2011. 2011-01-01 15:34:07 +00:00
Hans-Peter Nilsson
1c3e1c03ee * sim/cris/c/seek3.c, sim/cris/c/seek4.c: New tests. 2010-10-06 23:41:20 +00:00
Hans-Peter Nilsson
9a1ac77684 * sim/cris/asm/nonvcv32.ms: Neutralize changed &&-in-macro gas syntax. 2010-08-24 01:14:38 +00:00
Mike Frysinger
119da46568 sim: unify target->subdir handling for default tests
The testsuite subdir has a note about unifying the target->subdir logic,
so do just that.  The end goal here is to have `make check` work out of
the box without having to delve into dejagnu internals.

The target-specific logic is split out of the top level configure.ac file
and into a dedicated configure.tgt similar to other subprojects (gdb and
ld and etc...) with the difference that this file has to be included at
the m4 level instead of the shell level.  This is necessary only because
autoconf requires AC_CONFIG_SUBDIRS be given a string literal and not a
variable value.

Then the toplevel and the testsuite configure files pull this in, the sim
subdir gets expanded into testsuite/site.exp, and the default sim run code
uses this info to set the sim path to the local compiled run file if it
hasn't already been specified.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-26 16:23:24 +00:00
Joel Brobecker
dc3cf14f35 Update copyright notices to add year 2010. 2010-01-01 10:03:36 +00:00
Ralf Wildenhues
81ecdfbb4d Regenerate tree using Autoconf 2.64 and Automake 1.11.
config/:
	* override.m4 (_GCC_AUTOCONF_VERSION): Bump to 2.64.

/:
	* configure: Regenerate.

etc/:
	* configure: Regenerate.

sim/common/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/iq2000/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/d10v/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/igen/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m32r/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/frv/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/:
	* avr/config.in: Regenerate.
	* avr/configure: Likewise.
	* configure: Likewise.
	* cris/config.in: Likewise.
	* cris/configure: Likewise.

sim/h8300/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mn10300/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/ppc/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/erc32/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/arm/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m68hc11/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/lm32/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/sh64/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/v850/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/cr16/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/moxie/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m32c/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mips/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mcore/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/testsuite/d10v-elf/:
	* configure: Regenerate.

sim/testsuite/:
	* configure: Regenerate.

sim/testsuite/frv-elf/:
	* configure: Regenerate.

sim/testsuite/m32r-elf/:
	* configure: Regenerate.

sim/testsuite/mips64el-elf/:
	* configure: Regenerate.

sim/sh/:
	* config.in: Regenerate.
	* configure: Likewise.

gold/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* testsuite/Makefile.in: Likewise.

gprof/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* gconfig.in: Likewise.

opcodes/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

gas/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* doc/Makefile.in: Likewise.

ld/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

gdb/:
	* aclocal.m4: Regenerate.
	* config.in: Likewise.
	* configure: Likewise.
	* gnulib/Makefile.in: Likewise.

gdb/doc/:
	* configure: Regenerate.

gdb/gdbserver/:
	* aclocal.m4: Regenerate.
	* config.in: Likewise.
	* configure: Likewise.

gdb/testsuite/:
	* configure: Regenerate.
	* gdb.hp/configure: Likewise.
	* gdb.hp/gdb.aCC/configure: Likewise.
	* gdb.hp/gdb.base-hp/configure: Likewise.
	* gdb.hp/gdb.compat/configure: Likewise.
	* gdb.hp/gdb.defects/configure: Likewise.
	* gdb.hp/gdb.objdbg/configure: Likewise.
	* gdb.stabs/configure: Likewise.

binutils/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* doc/Makefile.in: Likewise.

bfd/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

bfd/doc/:
	* Makefile.in: Regenerate.

readline/:
	* configure: Regenerate.

readline/examples/rlfe/:
	* configure: Regenerate.
2009-08-22 16:56:56 +00:00
Hans-Peter Nilsson
fa0cbd5ae8 * sim/cris/asm/opterr5.ms, sim/cris/asm/opterr4.ms,
sim/cris/asm/opterr3.ms, sim/cris/asm/bare3.ms: New tests.
	* lib/sim-defs.exp (run_sim_test): New option progopts.
2009-01-18 22:17:47 +00:00
Joel Brobecker
e4d013fc0f Update the copyright notice of some of the files I missed
in the previous copyright update.
2009-01-14 10:53:10 +00:00
Hans-Peter Nilsson
83c4f5797a * sim/cris/c/mmap5.c, sim/cris/c/mmap6.c, sim/cris/c/mmap7.c,
sim/cris/c/mmap8.c, sim/cris/c/hellodyn3.c: New tests.
2009-01-06 20:50:10 +00:00
Hans-Peter Nilsson
51d95096e0 * sim/cris/c/settls1.c: New test. 2009-01-03 21:01:20 +00:00
Hans-Peter Nilsson
2e1566c6da * sim/cris/c/exitg1.c, sim/cris/c/exitg2.c: New tests. 2009-01-03 20:26:19 +00:00
Hans-Peter Nilsson
7a9d7282f3 * sim/cris/c/uname1.c: New test. 2009-01-03 19:58:47 +00:00
Hans-Peter Nilsson
91aabc8dd2 * sim/cris/c/mmap1.c (MMAP_FLAGS): Default-define to
MAP_PRIVATE and use this macro in the mmap call.
	* sim/cris/c/mmap4.c: New test.
2009-01-03 19:22:16 +00:00
Hans-Peter Nilsson
195c7c55e0 * sim/cris/c/access1.c: New test. 2009-01-03 18:38:27 +00:00
Hans-Peter Nilsson
b4f8c801a1 * sim/cris/asm/pid1.ms: New test. 2009-01-03 17:52:19 +00:00
Hans-Peter Nilsson
3eb7f35c1a * sim/cris/asm/badarch1.ms: Tweak error message match. 2008-12-30 18:53:42 +00:00
Hans-Peter Nilsson
fe524faa87 * sim/cris/asm/badarch1.ms, sim/cris/c/badldso1.c,
sim/cris/c/badldso2.c, sim/cris/c/badldso3.c,
	sim/cris/c/helloaout.c, sim/cris/c/hellodyn.c,
	sim/cris/c/hellodyn2.c, sim/cris/c/writev1.c,
	sim/cris/c/writev2.c: New tests.
	* sim/cris/c/c.exp: If compiler links libc.so when attempting to
	link dynamically, create symlink named "lib" to the directory
	where it is found.  Handle new test-case option "dynamic".
2008-12-30 13:57:11 +00:00
Hans-Peter Nilsson
b3580707c7 * sim/cris/asm/opterr1.ms, sim/cris/asm/opterr2.ms: Adjust for
differences in getopt_long error message quoting.
2008-12-30 10:51:11 +00:00
M R Swami Reddy
e8db345894 Added 3 miscellaneous testcases like read32.ms uread16.ms hw-trap.ms. 2008-05-05 10:25:20 +00:00
M R Swami Reddy
9c301be69b These files removed. 2008-05-05 10:00:16 +00:00
M R Swami Reddy
20f55b937b Add the change for testcases comment update and new testcases addition. 2008-05-05 09:55:36 +00:00
M R Swami Reddy
fae9ec8dca Update testcase comment.
addb.cgs addd.cgs addi.cgs andb.cgs andd.cgs andw.cgs
   ashub.cgs ashub_i.cgs ashud.cgs ashud_i.cgs ashuw.cgs
   ashuw_i.cgs cmpi.cgs cmpw.cgs jlt.cgs jump.cgs loadd.cgs
   loadw.cgs lshb.cgs lshb_i.cgs lshd.cgs lshd_i.cgs lshw.cgs
   lshw_i.cgs movb.cgs movd.cgs movw.cgs movxb.cgs movxw.cgs
   movzb.cgs movzw.cgs mulb.cgs muluw.cgs mulw.cgs orb.cgs
   ord.cgs orw.cgs pop1.cgs pop2.cgs pop3.cgs popret1.cgs
   popret2.cgs popret3.cgs push1.cgs push2.cgs push3.cgs

Added BIT operation testcases:
  cbitb.cgs cbitw.cgs sbitb.cgs sbitw.cgs tbitb.cgs tbit.cgs and tbitw.cgs
2008-05-05 09:52:46 +00:00
M R Swami Reddy
47fbb84b2e allinsn.exp: Removed target_alias and global_ld_options. 2008-04-08 12:45:37 +00:00
M R Swami Reddy
2878ece136 ChangeLog: sim/cr16/: New directory. Added tests for CR16 simulator. 2008-04-08 09:12:27 +00:00
M R Swami Reddy
4ca0c2f6ff ChangeLog: New file 2008-04-08 09:08:29 +00:00
M R Swami Reddy
49b964e718 New files: Testcases for cr16 instruction set. 2008-04-08 09:07:02 +00:00
M R Swami Reddy
51405f8781 testutils.inc: New file: Test macros for cr16 target. 2008-04-08 09:05:01 +00:00
M R Swami Reddy
ad6037c642 allinsn.exp misc.exp: New files: Test run scripts 2008-04-08 09:03:17 +00:00
DJ Delorie
c5fbc25baf Index: ChangeLog
* configure.ac (v850): V850 now has a testsuite.
	* configure (v850): Likewise.

Index: testsuite/ChangeLog

	* sim/v850/: New directory.
	* sim/v850/allinsns.exp: New.
	* sim/v850/bsh.cgs: New.
	* sim/v850/div.cgs: New.
	* sim/v850/divh.cgs: New.
	* sim/v850/divh_3.cgs: New.
	* sim/v850/divhu.cgs: New.
	* sim/v850/divu.cgs: New.
	* sim/v850/sar.cgs: New.
	* sim/v850/satadd.cgs: New.
	* sim/v850/satsub.cgs: New.
	* sim/v850/satsubi.cgs: New.
	* sim/v850/satsubr.cgs: New.
	* sim/v850/shl.cgs: New.
	* sim/v850/shr.cgs: New.
	* sim/v850/testutils.cgs: New.
	* sim/v850/testutils.inc: New.

Index: v850/ChangeLog

	* simops.c (OP_C0): Correct saturation logic.
	(OP_220): Likewise.
	(OP_A0): Likewise.
	(OP_660): Likewise.
	(OP_80): Likewise.

	* simops.c (OP_2A0): If the shift count is zero, clear the
	carry.
	(OP_A007E0): Likewise.
	(OP_2C0): Likewise.
	(OP_C007E0): Likewise.
	(OP_280): Likewise.
	(OP_8007E0): Likewise.

	* simops.c (OP_2C207E0): Correct PSW flags for special divu
	conditions.
	(OP_2C007E0): Likewise, for div.
	(OP_28207E0): Likewise, for divhu.
	(OP_28007E0): Likewise, for divh.  Also, sign-extend the correct
	operand.
	* v850.igen (divh): Likewise, for 2-op divh.

	* v850.igen (bsh): Fix carry logic.
2008-02-06 00:40:05 +00:00
Daniel Jacobowitz
9b254dd1ce Updated copyright notices for most files. 2008-01-01 22:53:26 +00:00
Hans-Peter Nilsson
bf31154ff3 * sim/cris/asm/x0-v10.ms, sim/cris/asm/x0-v32.ms: Tweak
stack-pointer match pattern for 4K host environment.
2007-11-08 22:12:27 +00:00
Hans-Peter Nilsson
9538c15c36 * sim/cris/asm/testutils.inc (test_move_cc): Add missing call to
test_cc.
	* sim/cris/asm/asr.ms: Correct expected condition code flags.
	* sim/cris/asm/boundr.ms: Ditto.
	* sim/cris/asm/dstep.ms: Ditto.
	* sim/cris/asm/lsr.ms: Ditto.
	* sim/cris/asm/movecr.ms: Ditto.
	* sim/cris/asm/mover.ms: Ditto.
	* sim/cris/asm/neg.ms: Ditto.  Use test_cc, not test_move_cc.
	* sim/cris/asm/op3.ms: Check the condition code flags after the insn
	under test.
	* sim/cris/asm/movecrt10.ms: Update expected number of simulated
	cycles.
	* sim/cris/asm/movecrt32.ms: Ditto.
	* sim/cris/asm/jsr.ms: Don't use local label 8.
	* sim/cris/asm/nonvcv32.ms: New test.
2007-10-22 16:49:25 +00:00
Daniel Jacobowitz
eb639c5004 2007-10-11 Jesper Nilsson <jesper.nilsson@axis.com>
* callback.c (cb_is_stdin, cb_is_stdout, cb_is_stderr): Add functions.
	* syscall.c (cb_syscall): Test for stdin/out/err, not just fd 0/1/2.

2007-10-11  Jesper Nilsson  <jesper.nilsson@axis.com>

	* callback.h (cb_is_stdin, cb_is_stdout, cb_is_stderr): Add prototypes.

2007-10-11  Jesper Nilsson  <jesper.nilsson@axis.com>

	* sim/cris/c/freopen2.c: Added testcase.
2007-10-11 18:44:07 +00:00
Joel Brobecker
db95e31282 * testutils.inc: Change license to GPL version 3.
* utils-dsp.inc: Change license to GPL version 3.
        * utils-fpu.inc: Change license to GPL version 3.
        * utils-mdmx.inc: Change license to GPL version 3.
2007-08-28 00:01:52 +00:00
Joel Brobecker
4744ac1bb0 Switch the license of all files explicitly copyright the FSF
to GPLv3.
2007-08-24 14:30:15 +00:00
Thiemo Seufer
8b082fb134 [ gas/ChangeLog ]
* config/tc-mips.c (mips_set_options, mips_opts, file_ase_dspr2,
	ISA_SUPPORTS_DSPR2_ASE, MIPS_CPU_ASE_DSPR2): Add DSP R2 ASE support.
	(macro_build): Add case '2'.
	(macro): Expand M_BALIGN to nop, packrl.ph or balign.
	(validate_mips_insn): Add support for balign instruction.
	(mips_ip): Handle DSP R2 instructions. Support balign instruction.
	(OPTION_DSPR2, OPTION_NO_DSPR2, OPTION_COMPAT_ARCH_BASE,
	md_parse_option, mips_after_parse_args): Add -mdspr2 and -mno-dspr2
	command line options.
	(s_mipsset): Add support for .set dspr2 and .set nodspr2 directives.
	(md_show_usage): Add -mdspr2 and -mno-dspr2 help output.
	* doc/c-mips.texi, doc/as.texinfo: Document -mdspr2, -mno-dspr2,
	.set dspr2, .set nodspr2.

	[ gas/testsuite/ChangeLog ]
	* gas/mips/mips32-dspr2.s, gas/mips/mips32-dspr2.d: New test for
	DSP R2.
	* gas/mips/mips.exp: Run new test.

	[ include/opcode/Changelog ]
	* mips.h (OP_SH_BP, OP_MASK_BP): Add support for balign instruction.
	(INSN_DSPR2): Add flag for DSP R2 instructions.
	(M_BALIGN): New macro.

	[ opcodes/ChangeLog ]
	* mips-dis.c (mips_arch_choices): Add DSP R2 support.
	(print_insn_args): Add support for balign instruction.
	* mips-opc.c (D33): New shortcut for DSP R2 instructions.
	(mips_builtin_opcodes): Add DSP R2 instructions.

	[ sim/mips/ChangeLog ]
	* Makefile.in (IGEN_INCLUDE): Add dsp2.igen.
	* configure.ac (mips*-sde-elf*, mipsisa32r2*-*-*, mipsisa64r2*-*-*):
	Add dsp2 to sim_igen_machine.
	* configure: Regenerate.
	* dsp.igen (do_ph_op): Add MUL support when op = 2.
	(do_ph_mulq): New function to support mulq_rs.ph and mulq_s.ph.
	(mulq_rs.ph): Use do_ph_mulq.
	(MFHI, MFLO, MTHI, MTLO): Move these instructions to mips.igen.
	* mips.igen: Add dsp2 model and include dsp2.igen.
	(MFHI, MFLO, MTHI, MTLO): Extend these instructions for
	for *mips32r2, *mips64r2, *dsp.
	(MADD, MADDU, MSUB, MSUBU, MULT, MULTU): Extend these instructions
	for *mips32r2, *mips64r2, *dsp2.
	* dsp2.igen: New file for MIPS DSP REV 2 ASE.

	[ sim/testsuite/sim/mips/ChangeLog ]
	* basic.exp: Run the dsp2 test.
	* utils-dsp.inc (dspckacc_astio, dspck_tsimm): New macro.
	* mips32-dsp2.s: New test.
2007-02-20 13:28:56 +00:00
Thiemo Seufer
3669427c8e 2007-02-17 Thiemo Seufer <ths@mips.com>
[ sim/mips/ChangeLog ]
	* configure.ac (mips*-sde-elf*, mipsisa32r2*-*-*, mipsisa64r2*-*-*):
	Add mdmx to sim_igen_machine.
	(mipsisa64*-*-*): Likewise. Remove dsp.
	(mipsisa32*-*-*): Remove dsp.
	* configure: Regenerate.

	[ sim/testsuite/sim/mips/ChangeLog ]
	* basic.exp: Add case for mips*-sde-elf*.
	(mdmxmodels): Run mdmx tests only on mdmx capable configurations.
2007-02-17 01:26:48 +00:00
Thiemo Seufer
495f536a34 * mips32-dsp.s: Run DSP testcase only for release 2 architecture. 2007-02-13 19:12:28 +00:00
Thiemo Seufer
f0a0d3b5e7 * mdmx-ob.s: Delete extraneous include. 2007-02-13 19:07:36 +00:00
Daniel Jacobowitz
6aba47ca06 Copyright updates for 2007. 2007-01-09 17:59:20 +00:00
Thiemo Seufer
a5e3001a40 * basic.exp: Fix spelling in comment. Use canonical form of target
patterns. Run DSP test only for DSP-capable ISAs. Check also mips32r2
	and mips64r2 if supported by the target.
2006-11-08 12:00:11 +00:00
Hans-Peter Nilsson
1654a6f728 * sim/cris/c/clone5.c, sim/cris/c/mprotect1.c,
sim/cris/c/rtsigprocmask1.c, sim/cris/c/rtsigsuspend1.c,
	sim/cris/c/sig7.c, sim/cris/c/sigreturn1.c,
	sim/cris/c/sigreturn2.c, sim/cris/c/syscall1.c,
	sim/cris/c/syscall2.c, sim/cris/c/sysctl2.c, sim/cris/c/fcntl1.c,
	sim/cris/c/readlink2.c: Add code to print ENOSYS if syscall being
	tested returns ENOSYS.  Add early exit where needed.  Change any
	existing code to print "xyzzy", not "pass".
	* sim/cris/asm/option3.ms, sim/cris/asm/option4.ms,
	sim/cris/c/clone6.c, sim/cris/c/fcntl2.c,
	sim/cris/c/mprotect2.c, sim/cris/c/readlink11.c,
	sim/cris/c/rtsigprocmask2.c, sim/cris/c/rtsigsuspend2.c,
	sim/cris/c/sig13.c, sim/cris/c/sigreturn3.c,
	sim/cris/c/sigreturn4.c, sim/cris/c/syscall3.c,
	sim/cris/c/syscall4.c, sim/cris/c/syscall5.c,
	sim/cris/c/syscall6.c, sim/cris/c/syscall7.c,
	sim/cris/c/syscall8.c, sim/cris/c/sysctl3.c: New tests.
2006-10-02 03:18:51 +00:00
Hans-Peter Nilsson
539a52558f * sim/cris/c/pipe2.c: Adjust expected output.
(process): Don't write as much to the pipe as to trig the
	inordinate-amount test in the sim pipe machinery.  Correct test of
	write return-value; check only that pipemax bytes were
	successfully written.  For error-case, emit strerror as well.
	(main): Add a second read.
2006-09-30 02:34:43 +00:00
Thiemo Seufer
6b637da758 * testutils.inc (setup): __start is also a valid start symbol. 2006-08-29 12:18:43 +00:00
Chao-ying Fu
dc6641a558 * mips32-dsp.s: Add some tests for shra_r.ph, shrav_r.ph, shra_r.w,
shrav_r.w.
2006-05-15 20:34:56 +00:00