<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems-testing (2010-08-04)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-08-04 Joel Sherrill <joel.sherrill@oarcorp.com>

        * do_coverage: Add remove_unwanted_symbols.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems-testing/rtems-coverage/ChangeLog.diff?r1=text&tr1=1.288&r2=text&tr2=1.289&diff_format=h">M</a></td><td width='1%'>1.289</td><td width='100%'>rtems-coverage/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems-testing/rtems-coverage/do_coverage.diff?r1=text&tr1=1.71&r2=text&tr2=1.72&diff_format=h">M</a></td><td width='1%'>1.72</td><td width='100%'>rtems-coverage/do_coverage</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems-testing/rtems-coverage/ChangeLog:1.288 rtems-testing/rtems-coverage/ChangeLog:1.289
--- rtems-testing/rtems-coverage/ChangeLog:1.288        Mon Aug  2 11:28:03 2010
+++ rtems-testing/rtems-coverage/ChangeLog      Wed Aug  4 08:35:20 2010
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2010-08-04    Joel Sherrill <joel.sherrill@oarcorp.com>
+
+       * do_coverage: Add remove_unwanted_symbols.
+
</font> 2010-08-02        Joel Sherrill <joel.sherrilL@OARcorp.com>
 
        * Explanations.txt: Update. Remove old ones and add a number of new

<font color='#006600'>diff -u rtems-testing/rtems-coverage/do_coverage:1.71 rtems-testing/rtems-coverage/do_coverage:1.72
--- rtems-testing/rtems-coverage/do_coverage:1.71       Wed Jul 14 11:29:00 2010
+++ rtems-testing/rtems-coverage/do_coverage    Wed Aug  4 08:35:20 2010
</font><font color='#997700'>@@ -534,6 +534,17 @@
</font>   fi
 }
 
<font color='#000088'>+# remove symbols we do not want coverage on.
+# NOTE: As of 4 August 2010, we do not have any.
+remove_unwanted_symbols()
+{
+  cat
+#  sed -e '/IMFS_print_node/d' \
+#      -e '/IMFS_dump_directory/d' \
+#      -e '/IMFS_dump/d' \
+#      -e '/IMFS_memfile_maximum_size/d'
+}
+
</font> # Now we are ready to start doing real work
 start=`date`
 
<font color='#997700'>@@ -713,7 +724,8 @@
</font>       results_dir=${outputDir}
     fi
 
<font color='#880000'>-    generate_symbols >${BASEDIR}/${BSP}-tests/rtems.syms
</font><font color='#000088'>+    generate_symbols | remove_unwanted_symbols \
+      >${BASEDIR}/${BSP}-tests/rtems.syms
</font>     syms=`cat ${BASEDIR}/${BSP}-tests/rtems.syms | wc -l`
     if [ ${syms} -eq 0 ] ; then
       fatal "no symbols found"
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-08-04 Vinu Rajashekhar <vinutheraj@gmail.com>

        * do_one, rundeja: Add support for libgo testing.
        * rtems_libgo_init.c: New file.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems-testing/gcc/ChangeLog.diff?r1=text&tr1=1.15&r2=text&tr2=1.16&diff_format=h">M</a></td><td width='1%'>1.16</td><td width='100%'>gcc/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems-testing/gcc/do_one.diff?r1=text&tr1=1.16&r2=text&tr2=1.17&diff_format=h">M</a></td><td width='1%'>1.17</td><td width='100%'>gcc/do_one</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems-testing/gcc/rtems_libgo_init.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">gcc/rtems_libgo_init.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems-testing/gcc/rundeja.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>gcc/rundeja</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems-testing/gcc/ChangeLog:1.15 rtems-testing/gcc/ChangeLog:1.16
--- rtems-testing/gcc/ChangeLog:1.15    Thu Jul 22 06:39:24 2010
+++ rtems-testing/gcc/ChangeLog Wed Aug  4 09:01:51 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-08-04    Vinu Rajashekhar <vinutheraj@gmail.com>
+
+       * do_one, rundeja: Add support for libgo testing.
+       * rtems_libgo_init.c: New file.
+
</font> 2010-07-22        Vinu Rajashekhar <vinutheraj@gmail.com>
 
        * do_one: Add Go support. Plus some cleanup from Joel.

<font color='#006600'>diff -u rtems-testing/gcc/do_one:1.16 rtems-testing/gcc/do_one:1.17
--- rtems-testing/gcc/do_one:1.16       Thu Jul 22 06:39:24 2010
+++ rtems-testing/gcc/do_one    Wed Aug  4 09:01:51 2010
</font><font color='#997700'>@@ -50,6 +50,7 @@
</font> run_gcctests=no
 run_acats=no
 run_gccgotests=no
<font color='#000088'>+run_libgotests=no
</font> # Do we send email to gcc-testresults with the test results?
 do_mail=yes
 # Are we noisy when running?
<font color='#997700'>@@ -77,6 +78,7 @@
</font>   -v - verbose
   -M - do NOT email test results to gcc-testresults
   -o - run GCC Go tests
<font color='#000088'>+  -t - run libgo tests
</font> EOF
 }
 
<font color='#997700'>@@ -95,7 +97,7 @@
</font>   esac
 }
 
<font color='#880000'>-while getopts bdDnv1cmargioCATMG OPT
</font><font color='#000088'>+while getopts bdDnv1cmargiotCATMG OPT
</font> do
     case "$OPT" in
         A) do_binutils="yes"
<font color='#997700'>@@ -105,6 +107,7 @@
</font>            do_multilib="yes"
            do_ada="yes"
            do_gccgo="yes"
<font color='#000088'>+           do_gccgo_multilib="yes"
</font>            do_rtems="yes"
            ;;
         d) do_cleanup=`toggle ${do_cleanup}` ;;
<font color='#997700'>@@ -132,6 +135,7 @@
</font>         v) verbose=`toggle ${verbose}` ;;
         M) do_mail=`toggle ${do_mail}` ;;
         o) run_gccgotests=`toggle ${run_gccgotests}` ;;
<font color='#000088'>+        t) run_libgotests=`toggle ${run_libgotests}` ;;
</font>         *) fatal ;;
     esac
 done
<font color='#997700'>@@ -172,6 +176,7 @@
</font>   echo "Run GCC Tests : " ${run_gcctests}
   echo "Run ACATS     : " ${run_acats}
   echo "Run Go Tests  : " ${run_gccgotests}
<font color='#000088'>+  echo "Do libgo Tests: " ${run_libgotests}
</font>   echo "Email Tests   : " ${do_mail}
   echo "Native GCC    : " `type gcc`
   echo "PATH          : " ${PATH}
<font color='#997700'>@@ -719,17 +724,17 @@
</font>   cp testsuite/go/go.log testsuite/go/go.sum ${RDIR}
 
   if [ ${do_mail} = "yes" ] ; then
<font color='#880000'>-    echo Sending test results to GCC community..
</font><font color='#000088'>+    echo Sending Go test results to GCC community..
</font>     ${DIR}/contrib/test_summary -m gcc-testresults@gcc.gnu.org | sh
     if [ $? -ne 0 ] ; then
<font color='#880000'>-      echo "Failed to email GCC Test Results to GCC Community .. bailing"
</font><font color='#000088'>+      echo "Failed to email GCC Go Test Results to GCC Community .. bailing"
</font>       exit 1
     fi
 
<font color='#880000'>-    echo Sending test results to RTEMS community..
</font><font color='#000088'>+    echo Sending Go test results to RTEMS community..
</font>     ${GCCDIR}/contrib/test_summary -o -m rtems-tooltestresults@rtems.org | sh
     if [ $? -ne 0 ] ; then
<font color='#880000'>-      echo "Failed to email GCC Test Results to RTEMS Community .. bailing"
</font><font color='#000088'>+      echo "Failed to email GCC GO Test Results to RTEMS Community .. bailing"
</font>       exit 1
     fi
   fi
<font color='#997700'>@@ -738,6 +743,21 @@
</font>   echo Skipping GCC Go DejaGNU tests for ${cpu}/${bsp}
 fi
 
<font color='#000088'>+##### Do the libgo tests
+if [ ${run_libgotests} = "yes" ] ; then
+  echo "Running libgo DejaGNU tests..."
+  cd ${BASEDIR}/b-gccgo1-${cpu} || exit 1
+  time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} libgo \
+    >${LOGDIR}/${cpu}-libgotests-${bsp}.log 2>&1
+
+  RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
+  mkdir -p ${RDIR}
+  cp ${TARGET}-${bsp}/libgo/testsuite/libgo-all.log \
+    ${TARGET}-${bsp}/libgo/testsuite/libgo-all.sum ${RDIR}
+else
+  echo Skipping libgo DejaGNU tests for ${cpu}/${bsp}
+fi
+
</font> if [ ${do_gccgo} = "yes" ] ; then<span style="background-color: #FF0000"> </span>
   test ${do_cleanup} = "yes" && rm -rf b-gccgo1-${cpu}
 fi

<font color='#006600'>diff -u /dev/null rtems-testing/gcc/rtems_libgo_init.c:1.1
--- /dev/null   Wed Aug  4 09:10:04 2010
+++ rtems-testing/gcc/rtems_libgo_init.c        Wed Aug  4 09:01:52 2010
</font><font color='#997700'>@@ -0,0 +1,206 @@
</font><font color='#000088'>+/*
+ *  Init for libgo testing.
+ */
+
+#include <rtems.h>
+#include <bsp.h>
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <rtems/rtems_bsdnet.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include "networkconfig.h"
+
+#include <rtems/libcsupport.h>
+#include <rtems/imfs.h>
+#include <rtems/untar.h>
+/*
+ *  The tarfile image is built automatically externally.
+ */
+#include "FilesystemImage.h"
+#include "FilesystemImage.c"
+
+static void fileio_print_free_heap(void)
+{
+  printf("--- unused dynamic memory: %lu bytes ---\n",
+        (unsigned long) malloc_free_space());
+}
+
+/*
+ * Set up first argument
+ */
+static int   argc     = 1;
+static char  arg0[20] = "rtems";
+static char *argv[20] = { arg0 };
+
+#if defined(MAIN_USE_REQUIRES_COMMAND_LINE)
+
+#define COMMAND_LINE_MAXIMUM 200
+
+#include <stdio.h>
+#include <ctype.h>
+
+void parse_arguments(
+  char   *buffer,
+  size_t  maximum_length
+)
+{
+  char   *cp;
+  char   *linebuf = buffer;
+  size_t  length;
+
+  for (;;) {
+
+    #if defined(MAIN_COMMAND_LINE)
+      strncpy (linebuf, MAIN_COMMAND_LINE, maximum_length);
+    #else
+      /*
+       * Read a line
+       */
+      printf (">>> %s ", argv[0]);
+      fflush (stdout);
+      fgets (linebuf, maximum_length, stdin);
+
+      length = strnlen( linebuf, maximum_length );
+      if ( linebuf[length - 1] == '\n' || linebuf[length - 1] == '\r' ) {
+        linebuf[length - 1] = '\0';
+      }
+    #endif
+
+    /*
+     * Break line into arguments
+     */
+    cp = linebuf;
+    for (;;) {
+      while (isspace (*cp))
+        *cp++ = '\0';
+      if (*cp == '\0')
+        break;
+      if (argc >= ((sizeof argv / sizeof argv[0]) - 1)) {
+        printf ("Too many arguments.\n");
+        argc = 0;
+        break;
+      }
+      argv[argc++] = cp;
+      while (!isspace (*cp)) {
+        if (*cp == '\0')
+          break;
+        cp++;
+      }
+    }
+    if (argc > 1) {
+      argv[argc] = NULL;
+      break;
+    }
+    printf ("You must give some arguments!\n");
+  }
+
+  #if defined(DEBUG_COMMAND_LINE_ARGUMENTS)
+    {
+      int   i;
+      for (i=0; i<argc ; i++ ) {
+        printf( "argv[%d] = ***%s***\n", i, argv[i] );
+      }
+      printf( "\n" );
+    }
+  #endif<span style="background-color: #FF0000"> </span>
+}
+
+
+#endif
+
+int main( int, char ** );
+
+void *POSIX_Init(
+  void *argument
+)
+{
+  //printk("Initializing Network\n");
+  rtems_bsdnet_initialize_network ();
+  //rtems_bsdnet_show_inet_routes ();
+#if defined(MAIN_USE_REQUIRES_COMMAND_LINE)
+  char command_line[ COMMAND_LINE_MAXIMUM ];
+  parse_arguments( command_line, COMMAND_LINE_MAXIMUM );
+#endif
+<span style="background-color: #FF0000">  </span>
+  int status;
+
+  printf( "\nmaking the libgo_test_workdir directory\n" );
+  status = mkdir( "/libgo_test_workdir", 0777 );
+  printf( "mkdir() status : %d\n\n", status );
+
+  printf("=============== Loading filesystem image ===============\n");<span style="background-color: #FF0000">   </span>
+  //status = Untar_FromMemory((char *)FilesystemImage, FilesystemImage_size);
+  status = rtems_tarfs_load ("/libgo_test_workdir", (uint8_t *) FilesystemImage, (size_t) FilesystemImage_size);
+       printf ("rtems_tarfs_load status : %d\n\n", status);
+<span style="background-color: #FF0000">  </span>
+  printf( "\nchdir to the libgo_test_workdir directory\n" );
+  status = chdir( "/libgo_test_workdir" );
+  printf( "chdir() status : %d\n\n", status );
+<span style="background-color: #FF0000">  </span>
+       printf( "\nMaking /tmp directory\n" );
+  status = mkdir( "/tmp", 0777 );
+  printf( "mkdir() status : %d\n\n", status );
+
+  printf("============== Look at Local Filesystem ==============\n");
+  printf( "PWD: " );
+  //pwd();
+
+  printf( "\n--->ls /\n" );
+  //ls("/");
+<span style="background-color: #FF0000">  </span>
+  main(argc, argv);
+  exit(0);
+  return 0;
+}
+
+/* configuration information */
+
+/* NOTICE: the clock driver is explicitly disabled */
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+
+#define CONFIGURE_POSIX_INIT_THREAD_TABLE
+// Works with 32 Mb too, this is faster<span style="background-color: #FF0000"> </span>
+//#define CONFIGURE_EXECUTIVE_RAM_SIZE (5 * 1024 * 1024)
+#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 500
+#define CONFIGURE_MAXIMUM_POSIX_THREADS 400
+#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES  500
+#define CONFIGURE_MAXIMUM_TASK_VARIABLES (2 * 400)
+#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES 1
+#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS 10
+#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE (32 * 1024)
+#define CONFIGURE_MINIMUM_TASK_STACK_SIZE (4 * 1024)
+//#define CONFIGURE_MEMORY_OVERHEAD (4 * 1024)
+
+//#define CONFIGURE_MICROSECONDS_PER_TICK 1000
+#define CONFIGURE_TICKS_PER_TIMESLICE   50
+#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1000)
+
+#define CONFIGURE_MAXIMUM_TASKS 20
+#define CONFIGURE_MAXIMUM_SEMAPHORES 20
+//#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES    20
+
+#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 20
+
+#define CONFIGURE_PIPES_ENABLED TRUE
+#define CONFIGURE_MAXIMUM_PIPES 20
+//#define CONFIGURE_MAXIMUM_BARRIERS 20
+
+#define CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY TRUE
+//#define BSP_ZERO_WORKSPACE_AUTOMATICALLY 1
+#define CONFIGURE_UNIFIED_WORK_AREAS
+//#define CONFIGURE_MALLOC_DIRTY
+//#define CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY 1
+#define CONFIGURE_STACK_CHECKER_ENABLED TRUE
+
+#define CONFIGURE_MALLOC_STATISTICS
+
+#define CONFIGURE_INIT
+
+#include <rtems/confdefs.h>
+
+/* end of file */
</font>
<font color='#006600'>diff -u rtems-testing/gcc/rundeja:1.12 rtems-testing/gcc/rundeja:1.13
--- rtems-testing/gcc/rundeja:1.12      Wed Jul 21 07:41:37 2010
+++ rtems-testing/gcc/rundeja   Wed Aug  4 09:01:52 2010
</font><font color='#997700'>@@ -111,7 +111,18 @@
</font>   echo "set boards_dir ${SCRIPTDIR}/dejagnu/boards" >${dfile}
 fi
 
<font color='#880000'>-if [ $2 = gccgo ] ; then
</font><font color='#000088'>+if [ $2 = libgo ] ; then
+  rtems_libgo_init=${SCRIPTDIR}/gcc/rtems_libgo_init.c
+  rtems_bin2c=${INSTALL}/bin/rtems-bin2c
+  make check-target-libgo RUNTESTFLAGS="\
+  SIM=${BSP_SIM} \
+  RTEMS_MAKEFILE_PATH=${rtemsdir} \
+  RTEMS_LIBGO_INIT=${rtems_libgo_init} \
+  RTEMS_BIN2C=${rtems_bin2c} \
+  RTEMS_CONFIG_OBJ= \
+  --target_board=rtems-${CPU}-${DEJABSP} \
+  "
+elif [ $2 = gccgo ] ; then
</font>   RTEMS_MAKEFILE_PATH=${rtemsdir} \
   SCRIPTDIR=${SCRIPTDIR} \
     make -f ${SCRIPTDIR}/gcc/Makefile.rtems_gccgoinit
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>