Index: testsuites/sptests/ChangeLog
===================================================================
--- testsuites/sptests/ChangeLog	(revision af690b857361dff9fca3b944e1b52ca0d2027ee7)
+++ testsuites/sptests/ChangeLog	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
@@ -1,2 +1,8 @@
+2009-07-09	Joel Sherrill <joel.sherrill@OARcorp.com>
+
+	* Makefile.am, configure.ac: Add test for timespec divide by zero.
+	* sp58/.cvsignore, sp58/Makefile.am, sp58/init.c, sp58/sp58.doc,
+	sp58/sp58.scn: New files.
+
 2009-07-09	Joel Sherrill <joel.sherrill@OARcorp.com>
 
Index: testsuites/sptests/Makefile.am
===================================================================
--- testsuites/sptests/Makefile.am	(revision af690b857361dff9fca3b944e1b52ca0d2027ee7)
+++ testsuites/sptests/Makefile.am	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
@@ -9,4 +9,5 @@
     sp29 sp30 sp31 sp32 sp33 sp34 sp35 sp37 sp38 sp39 sp40 sp41 sp42 sp43 \
     sp44 sp45 sp46 sp47 sp48 sp49 sp50 sp51 sp52 sp53 sp54 sp55 sp56 sp57 \
+    sp58 \
     spchain spobjgetnext spprintk spsize spstkalloc spwatchdog spwkspace \
     spfatal01 spfatal02 spfatal03 spfatal04 spfatal05 spfatal06 spfatal07 \
Index: testsuites/sptests/configure.ac
===================================================================
--- testsuites/sptests/configure.ac	(revision af690b857361dff9fca3b944e1b52ca0d2027ee7)
+++ testsuites/sptests/configure.ac	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
@@ -84,4 +84,5 @@
 sp56/Makefile
 sp57/Makefile
+sp58/Makefile
 spchain/Makefile
 spfatal01/Makefile
Index: testsuites/sptests/sp58/.cvsignore
===================================================================
--- testsuites/sptests/sp58/.cvsignore	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
+++ testsuites/sptests/sp58/.cvsignore	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
Index: testsuites/sptests/sp58/Makefile.am
===================================================================
--- testsuites/sptests/sp58/Makefile.am	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
+++ testsuites/sptests/sp58/Makefile.am	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
@@ -0,0 +1,28 @@
+##
+## $Id$
+##
+
+MANAGERS = all
+
+rtems_tests_PROGRAMS = sp58
+sp58_SOURCES = init.c
+
+dist_rtems_tests_DATA = sp58.scn
+dist_rtems_tests_DATA += sp58.doc
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+sp58_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
+
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+
+LINK_OBJS = $(sp58_OBJECTS) $(sp58_LDADD)
+LINK_LIBS = $(sp58_LDLIBS)
+
+sp58$(EXEEXT): $(sp58_OBJECTS) $(sp58_DEPENDENCIES)
+	@rm -f sp58$(EXEEXT)
+	$(make-exe)
+
+include $(top_srcdir)/../automake/local.am
Index: testsuites/sptests/sp58/init.c
===================================================================
--- testsuites/sptests/sp58/init.c	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
+++ testsuites/sptests/sp58/init.c	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
@@ -0,0 +1,64 @@
+/*
+ *  COPYRIGHT (c) 1989-2009.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#include <tmacros.h>
+
+#include <sys/types.h>
+#include <rtems/score/timespec.h>
+#include <rtems/score/threadq.h>
+
+void timespec_divide_by_zero(void)
+{
+  struct timespec      t1;
+  struct timespec      zero;
+  uint32_t             ival_percentage;
+  uint32_t             fval_percentage;
+
+  t1.tv_sec  = 1;
+  t1.tv_nsec = 0;
+
+  zero.tv_sec  = 0;
+  zero.tv_nsec = 0;
+
+  ival_percentage = 1234;
+  fval_percentage = 5678;
+
+  puts( "Init - _Timespec_Divide - by zero" );
+  _Timespec_Divide( &t1, &zero, &ival_percentage, &fval_percentage );
+  rtems_test_assert( ival_percentage == 0 );
+  rtems_test_assert( fval_percentage == 0 );
+  
+}
+
+rtems_task Init(
+  rtems_task_argument ignored
+)
+{
+  puts( "\n\n*** TEST 58 ***" );
+
+  timespec_divide_by_zero();
+
+  puts( "*** END OF TEST 58 ***" );
+  rtems_test_exit(0);
+}
+
+/* configuration information */
+
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+
+#define CONFIGURE_MAXIMUM_TASKS  1
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+#include <rtems/confdefs.h>
+
+/* global variables */
Index: testsuites/sptests/sp58/sp58.scn
===================================================================
--- testsuites/sptests/sp58/sp58.scn	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
+++ testsuites/sptests/sp58/sp58.scn	(revision d5ae827a35f837830f49f9cc05a60bb21d01f9c8)
@@ -0,0 +1,3 @@
+*** TEST 58 ***
+Init - _Timespec_Divide - by zero
+*** END OF TEST 58 ***
