<!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 (2011-12-13)</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>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-12-13 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * psxconfig01/init.c: Create more objects.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/psxtests/ChangeLog.diff?r1=text&tr1=1.380&r2=text&tr2=1.381&diff_format=h">M</a></td><td width='1%'>1.381</td><td width='100%'>testsuites/psxtests/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/psxtests/psxconfig01/init.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>testsuites/psxtests/psxconfig01/init.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/psxtests/ChangeLog:1.380 rtems/testsuites/psxtests/ChangeLog:1.381
--- rtems/testsuites/psxtests/ChangeLog:1.380   Tue Dec 13 03:40:07 2011
+++ rtems/testsuites/psxtests/ChangeLog Tue Dec 13 04:02:35 2011
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2011-12-13    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * psxconfig01/init.c: Create more objects.
+
</font> 2011-12-13        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * psx07/init.c: Remove unused var "clock_allowed".

<font color='#006600'>diff -u rtems/testsuites/psxtests/psxconfig01/init.c:1.2 rtems/testsuites/psxtests/psxconfig01/init.c:1.3
--- rtems/testsuites/psxtests/psxconfig01/init.c:1.2    Fri Dec  9 10:44:15 2011
+++ rtems/testsuites/psxtests/psxconfig01/init.c        Tue Dec 13 04:02:36 2011
</font><font color='#997700'>@@ -30,39 +30,16 @@
</font> 
 #include <sys/stat.h>
 #include <fcntl.h>
<font color='#000088'>+#include <inttypes.h>
+#include <mqueue.h>
</font> #include <pthread.h>
<font color='#000088'>+#include <semaphore.h>
+#include <signal.h>
</font> #include <stdio.h>
<font color='#880000'>-#include <inttypes.h>
-
-#define MQ_0_COUNT 2
-#define MQ_1_COUNT 3
-#define MQ_2_COUNT 5
-#define MQ_3_COUNT 7
-#define MQ_4_COUNT 11
-#define MQ_5_COUNT 13
-#define MQ_6_COUNT 17
-
-#define MQ_0_SIZE 101
-#define MQ_1_SIZE 103
-#define MQ_2_SIZE 107
-#define MQ_3_SIZE 109
-#define MQ_4_SIZE 113
-#define MQ_5_SIZE 127
-#define MQ_6_SIZE 131
-
-#define CONFIGURE_MESSAGE_BUFFER_MEMORY \
-  CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_0_COUNT, MQ_0_SIZE) \
-    + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_1_COUNT, MQ_1_SIZE) \
-    + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_2_COUNT, MQ_2_SIZE) \
-    + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_3_COUNT, MQ_3_SIZE) \
-    + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_4_COUNT, MQ_4_SIZE) \
-    + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_5_COUNT, MQ_5_SIZE) \
-    + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_6_COUNT, MQ_6_SIZE)
</font><font color='#000088'>+#include <time.h>
</font> 
<font color='#880000'>-#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 17
</font><font color='#000088'>+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
</font> 
<font color='#880000'>-#define CONFIGURE_MAXIMUM_BARRIERS 31
-#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 7
</font> #define CONFIGURE_MAXIMUM_PARTITIONS 37
 #define CONFIGURE_MAXIMUM_PERIODS 41
 #define CONFIGURE_MAXIMUM_REGIONS 43
<font color='#997700'>@@ -70,42 +47,144 @@
</font> #define CONFIGURE_MAXIMUM_TASKS 11
 #define CONFIGURE_MAXIMUM_TASK_VARIABLES 13
 #define CONFIGURE_MAXIMUM_TIMERS 59
<font color='#000088'>+#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 17
</font> 
<font color='#000088'>+#define CONFIGURE_MAXIMUM_POSIX_BARRIERS 31
</font> #define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 29
 #define CONFIGURE_MAXIMUM_POSIX_KEYS 23
<font color='#000088'>+#define POSIX_MQ_COUNT 5
</font> #define CONFIGURE_MAXIMUM_POSIX_MUTEXES 19
<font color='#000088'>+#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS 7
+#define CONFIGURE_MAXIMUM_POSIX_RWLOCKS 31
+#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES 41
+#define CONFIGURE_MAXIMUM_POSIX_SPINLOCKS 17
</font> #define CONFIGURE_MAXIMUM_POSIX_THREADS 3
<font color='#000088'>+#define CONFIGURE_MAXIMUM_POSIX_TIMERS 47
</font> 
<font color='#880000'>-static const uint8_t mq_counts [CONFIGURE_MAXIMUM_MESSAGE_QUEUES] = {
-  MQ_0_COUNT,
-  MQ_1_COUNT,
-  MQ_2_COUNT,
-  MQ_3_COUNT,
-  MQ_4_COUNT,
-  MQ_5_COUNT,
-  MQ_6_COUNT
-};
-
-static const uint8_t mq_sizes [CONFIGURE_MAXIMUM_MESSAGE_QUEUES] = {
-  MQ_0_SIZE,
-  MQ_1_SIZE,
-  MQ_2_SIZE,
-  MQ_3_SIZE,
-  MQ_4_SIZE,
-  MQ_5_SIZE,
-  MQ_6_SIZE
-};
</font><font color='#000088'>+#ifndef CONFIGURE_MAXIMUM_TASKS
+  #define CONFIGURE_MAXIMUM_TASKS 1
+#endif
+
+#ifdef CONFIGURE_MAXIMUM_MESSAGE_QUEUES
+  #define MQ_0_COUNT 2
+  #define MQ_1_COUNT 3
+  #define MQ_2_COUNT 5
+  #define MQ_3_COUNT 7
+  #define MQ_4_COUNT 11
+  #define MQ_5_COUNT 13
+  #define MQ_6_COUNT 17
+
+  #define MQ_0_SIZE 101
+  #define MQ_1_SIZE 103
+  #define MQ_2_SIZE 107
+  #define MQ_3_SIZE 109
+  #define MQ_4_SIZE 113
+  #define MQ_5_SIZE 127
+  #define MQ_6_SIZE 131
+
+  #define MQ_BUFFER_MEMORY \
+    (CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_0_COUNT, MQ_0_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_1_COUNT, MQ_1_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_2_COUNT, MQ_2_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_3_COUNT, MQ_3_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_4_COUNT, MQ_4_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_5_COUNT, MQ_5_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(MQ_6_COUNT, MQ_6_SIZE))
+
+  static const uint8_t mq_counts [CONFIGURE_MAXIMUM_MESSAGE_QUEUES] = {
+    MQ_0_COUNT,
+    MQ_1_COUNT,
+    MQ_2_COUNT,
+    MQ_3_COUNT,
+    MQ_4_COUNT,
+    MQ_5_COUNT,
+    MQ_6_COUNT
+  };
+
+  static const uint8_t mq_sizes [CONFIGURE_MAXIMUM_MESSAGE_QUEUES] = {
+    MQ_0_SIZE,
+    MQ_1_SIZE,
+    MQ_2_SIZE,
+    MQ_3_SIZE,
+    MQ_4_SIZE,
+    MQ_5_SIZE,
+    MQ_6_SIZE
+  };
+#else
+  #define MQ_BUFFER_MEMORY 0
+#endif
+
+#ifdef POSIX_MQ_COUNT
+  #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS POSIX_MQ_COUNT
+  #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES POSIX_MQ_COUNT
+
+  #define POSIX_MQ_0_COUNT 2
+  #define POSIX_MQ_1_COUNT 3
+  #define POSIX_MQ_2_COUNT 5
+  #define POSIX_MQ_3_COUNT 7
+  #define POSIX_MQ_4_COUNT 11
+
+  #define POSIX_MQ_0_SIZE 137
+  #define POSIX_MQ_1_SIZE 139
+  #define POSIX_MQ_2_SIZE 149
+  #define POSIX_MQ_3_SIZE 151
+  #define POSIX_MQ_4_SIZE 157
+
+  #define POSIX_MQ_BUFFER_MEMORY \
+    (CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(POSIX_MQ_0_COUNT, POSIX_MQ_0_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(POSIX_MQ_1_COUNT, POSIX_MQ_1_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(POSIX_MQ_2_COUNT, POSIX_MQ_2_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(POSIX_MQ_3_COUNT, POSIX_MQ_3_SIZE) \
+      + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(POSIX_MQ_4_COUNT, POSIX_MQ_4_SIZE))
+
+  static const uint8_t posix_mq_counts [POSIX_MQ_COUNT] = {
+    POSIX_MQ_0_COUNT,
+    POSIX_MQ_1_COUNT,
+    POSIX_MQ_2_COUNT,
+    POSIX_MQ_3_COUNT,
+    POSIX_MQ_4_COUNT
+  };
+
+  static const uint8_t posix_mq_sizes [POSIX_MQ_COUNT] = {
+    POSIX_MQ_0_SIZE,
+    POSIX_MQ_1_SIZE,
+    POSIX_MQ_2_SIZE,
+    POSIX_MQ_3_SIZE,
+    POSIX_MQ_4_SIZE
+  };
+#else
+  #define POSIX_MQ_BUFFER_MEMORY 0
+#endif
+
+#define CONFIGURE_MESSAGE_BUFFER_MEMORY \
+  (MQ_BUFFER_MEMORY + POSIX_MQ_BUFFER_MEMORY)
</font> 
 typedef struct {
   uint64_t data [16];
 } area;
 
<font color='#880000'>-static area partition_areas [CONFIGURE_MAXIMUM_PARTITIONS];
</font><font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_PARTITIONS
+  static area partition_areas [CONFIGURE_MAXIMUM_PARTITIONS];
+#endif
+
+#ifdef CONFIGURE_MAXIMUM_REGIONS
+  static area region_areas [CONFIGURE_MAXIMUM_REGIONS];
+#endif
</font> 
<font color='#880000'>-static area region_areas [CONFIGURE_MAXIMUM_REGIONS];
</font><font color='#000088'>+static char posix_name [NAME_MAX];
</font> 
 static void *task_var;
 
<font color='#000088'>+static char *get_posix_name(char a, char b, char c, int i)
+{
+  posix_name [NAME_MAX - 5] = a;
+  posix_name [NAME_MAX - 4] = b;
+  posix_name [NAME_MAX - 3] = c;
+  posix_name [NAME_MAX - 2] = 'A' + i;
+
+  return posix_name;
+}
+
</font> static void task_var_dtor(void *var __attribute__((unused)))
 {
   /* Do nothing */
<font color='#997700'>@@ -143,37 +222,48 @@
</font>   );
 }
 
<font color='#880000'>-rtems_task Init(rtems_task_argument argument)
</font><font color='#000088'>+static rtems_task Init(rtems_task_argument argument)
</font> {
   rtems_status_code sc = RTEMS_SUCCESSFUL;
<font color='#000088'>+  int eno = 0;
+  int rv = 0;
</font>   rtems_id id = RTEMS_ID_NONE;
   rtems_name name = rtems_build_name('C', 'O', 'N', 'F');
   rtems_extensions_table table;
<font color='#880000'>-  int oflag = O_WRONLY | O_CREAT | O_TRUNC;
-  mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
-  int fd_a = open("/a", oflag, mode);
-  int fd_b = open("/b", oflag, mode);
</font>   int i = 0;
<font color='#880000'>-  int eno = 0;
</font> 
   puts("\n\n*** POSIX TEST CONFIG 01 ***");
 
<font color='#000088'>+  memset(posix_name, 'P', sizeof(posix_name) - 1);
+
</font>   print_info();
 
<font color='#880000'>-  rtems_test_assert(fd_a == 3);
-  rtems_test_assert(fd_b == 4);
</font><font color='#000088'>+#ifdef CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
+  for (i = 3; i < CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS; ++i) {
+    int oflag = O_WRONLY | O_CREAT | O_TRUNC;
+    mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
+    char path [] = { 'F', 'I', 'L', 'E', 'A' + i, '\0' };
+    int fd = open(path, oflag, mode);
+    rtems_test_assert(fd == i);
+  }
+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_USER_EXTENSIONS
</font>   memset(&table, 0, sizeof(table));
   for (i = 0; i < CONFIGURE_MAXIMUM_USER_EXTENSIONS; ++i) {
     sc = rtems_extension_create(name, &table, &id);
     directive_failed(sc, "rtems_extension_create");
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_BARRIERS
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_BARRIERS; ++i) {
     sc = rtems_barrier_create(name, RTEMS_DEFAULT_ATTRIBUTES, 1, &id);
     directive_failed(sc, "rtems_barrier_create");
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_MESSAGE_QUEUES
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_MESSAGE_QUEUES; ++i) {
     sc = rtems_message_queue_create(
       name,
<font color='#997700'>@@ -184,7 +274,9 @@
</font>     );
     directive_failed(sc, "rtems_message_queue_create");
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_PARTITIONS
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_PARTITIONS; ++i) {
     sc = rtems_partition_create(
       name,
<font color='#997700'>@@ -196,12 +288,16 @@
</font>     );
     directive_failed(sc, "rtems_partition_create");
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_PERIODS
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_PERIODS; ++i) {
     sc = rtems_rate_monotonic_create(name, &id);
     directive_failed(sc, "rtems_rate_monotonic_create");
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_REGIONS
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_REGIONS; ++i) {
     sc = rtems_region_create(
       name,
<font color='#997700'>@@ -213,7 +309,9 @@
</font>     );
     directive_failed(sc, "rtems_region_create");
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_SEMAPHORES
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_SEMAPHORES; ++i) {
     sc = rtems_semaphore_create(
       name,
<font color='#997700'>@@ -224,8 +322,10 @@
</font>     );
     directive_failed(sc, "rtems_semaphore_create");
   }
<font color='#000088'>+#endif
</font> 
<font color='#880000'>-  for (i = 0; i < CONFIGURE_MAXIMUM_TASKS - 1; ++i) {
</font><font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_TASKS
+  for (i = 1; i < CONFIGURE_MAXIMUM_TASKS; ++i) {
</font>     sc = rtems_task_create(
       name,
       RTEMS_MINIMUM_PRIORITY,
<font color='#997700'>@@ -236,40 +336,110 @@
</font>     );
     directive_failed(sc, "rtems_task_create");
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_TASK_VARIABLES
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_TASK_VARIABLES; ++i) {
     sc = rtems_task_variable_add(RTEMS_SELF, &task_var, task_var_dtor);
     directive_failed(sc, "rtems_task_variable_add");
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_TIMERS
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_TIMERS; ++i) {
     sc = rtems_timer_create(name, &id);
     directive_failed(sc, "rtems_timer_create");
   }
<font color='#000088'>+#endif
+
+#ifdef CONFIGURE_MAXIMUM_POSIX_BARRIERS
+  for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_BARRIERS; ++i) {
+    pthread_barrier_t barrier;
+    eno = pthread_barrier_init(&barrier, NULL, 1);
+    rtems_test_assert(eno == 0);
+  }
+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES; ++i) {
     pthread_cond_t cond;
     eno = pthread_cond_init(&cond, NULL);
     rtems_test_assert(eno == 0);
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_POSIX_KEYS
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_KEYS; ++i) {
     pthread_key_t key;
     eno = pthread_key_create(&key, posix_key_dtor);
     rtems_test_assert(eno == 0);
   }
<font color='#000088'>+#endif
</font> 
<font color='#000088'>+#ifdef POSIX_MQ_COUNT
+  for (i = 0; i < POSIX_MQ_COUNT; ++i) {
+    int oflag = O_RDWR | O_CREAT | O_EXCL;
+    mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
+    struct mq_attr attr = {
+      .mq_maxmsg = posix_mq_counts [i],
+      .mq_msgsize = posix_mq_sizes [i]
+    };
+    char *path = get_posix_name('M', 'S', 'Q', i);
+    mqd_t mq = mq_open(path, oflag, mode, &attr);
+    rtems_test_assert(mq >= 0);
+  }
+#endif
+
+#ifdef CONFIGURE_MAXIMUM_POSIX_MUTEXES
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_MUTEXES; ++i) {
     pthread_mutex_t mutex;
     eno = pthread_mutex_init(&mutex, NULL);
     rtems_test_assert(eno == 0);
   }
<font color='#000088'>+#endif
+
+#ifdef CONFIGURE_MAXIMUM_POSIX_RWLOCKS
+  for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_RWLOCKS; ++i) {
+    pthread_rwlock_t rwlock;
+    eno = pthread_rwlock_init(&rwlock, NULL);
+    rtems_test_assert(eno == 0);
+  }
+#endif
+
+#ifdef CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
+  for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_SEMAPHORES; ++i) {
+    int oflag = O_RDWR | O_CREAT | O_EXCL;
+    mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
+    unsigned int value = 0;
+    char *path = get_posix_name('S', 'E', 'M', i);
+    sem_t *sem = sem_open(path, oflag, mode, value);
+    rtems_test_assert(sem != SEM_FAILED);
+  }
+#endif
+
+#ifdef CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
+  for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_SPINLOCKS; ++i) {
+    pthread_spinlock_t spinlock;
+    eno = pthread_spin_init(&spinlock, 0);
+    rtems_test_assert(eno == 0);
+  }
+#endif
</font> 
<font color='#000088'>+#ifdef CONFIGURE_MAXIMUM_POSIX_THREADS
</font>   for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_THREADS; ++i) {
     pthread_t thread;
     eno = pthread_create(&thread, NULL, posix_thread, NULL);
     rtems_test_assert(eno == 0);
   }
<font color='#000088'>+#endif
+
+#ifdef CONFIGURE_MAXIMUM_POSIX_TIMERS
+  for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_TIMERS; ++i) {
+    timer_t timer_id;
+    rv = timer_create(CLOCK_REALTIME, NULL, &timer_id);
+    rtems_test_assert(rv == 0);
+  }
+#endif
</font> 
   printf("object creation done\n");
   print_info();
<font color='#997700'>@@ -282,8 +452,6 @@
</font> #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
 
<font color='#880000'>-#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
-
</font> #define CONFIGURE_MAXIMUM_DRIVERS 2
 
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
</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>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-12-13 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * score/include/rtems/score/wkspace.h, score/src/wkstringduplicate.c:
        Changed parameter of _Workspace_String_duplicate() to avoid strnlen().
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.3087&r2=text&tr2=1.3088&diff_format=h">M</a></td><td width='1%'>1.3088</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/include/rtems/score/wkspace.h.diff?r1=text&tr1=1.34&r2=text&tr2=1.35&diff_format=h">M</a></td><td width='1%'>1.35</td><td width='100%'>cpukit/score/include/rtems/score/wkspace.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/wkstringduplicate.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>cpukit/score/src/wkstringduplicate.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.3087 rtems/cpukit/ChangeLog:1.3088
--- rtems/cpukit/ChangeLog:1.3087       Tue Dec 13 00:47:21 2011
+++ rtems/cpukit/ChangeLog      Tue Dec 13 04:06:53 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-12-13    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * score/include/rtems/score/wkspace.h, score/src/wkstringduplicate.c:
+       Changed parameter of _Workspace_String_duplicate() to avoid strnlen().
+
</font> 2011-12-13        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Check for getrusage.h decl.

<font color='#006600'>diff -u rtems/cpukit/score/include/rtems/score/wkspace.h:1.34 rtems/cpukit/score/include/rtems/score/wkspace.h:1.35
--- rtems/cpukit/score/include/rtems/score/wkspace.h:1.34       Mon Dec 12 09:17:33 2011
+++ rtems/cpukit/score/include/rtems/score/wkspace.h    Tue Dec 13 04:06:53 2011
</font><font color='#997700'>@@ -102,18 +102,15 @@
</font> /**
  * @brief Duplicates the @a string with memory from the Workspace.
  *
<font color='#880000'>- * If the @a string length exceeds @a maxlen, then the additional characters
- * will be discarded.
- *
</font>  * @param[in] string Pointer to zero terminated string.
<font color='#880000'>- * @param[in] maxlen Maximum length of the duplicated string.
</font><font color='#000088'>+ * @param[in] len Length of the string (equal to strlen(string)).
</font>  *
  * @return NULL Not enough memory.
  * @return other Duplicated string.
  */
 char *_Workspace_String_duplicate(
   const char *string,
<font color='#880000'>-  size_t maxlen
</font><font color='#000088'>+  size_t len
</font> );
 
 #ifndef __RTEMS_APPLICATION__

<font color='#006600'>diff -u rtems/cpukit/score/src/wkstringduplicate.c:1.1 rtems/cpukit/score/src/wkstringduplicate.c:1.2
--- rtems/cpukit/score/src/wkstringduplicate.c:1.1      Mon Dec 12 09:17:33 2011
+++ rtems/cpukit/score/src/wkstringduplicate.c  Tue Dec 13 04:06:53 2011
</font><font color='#997700'>@@ -24,15 +24,14 @@
</font> 
 char *_Workspace_String_duplicate(
   const char *string,
<font color='#880000'>-  size_t maxlen
</font><font color='#000088'>+  size_t len
</font> )
 {
<font color='#880000'>-  size_t n = strnlen(string, maxlen);
-  char *dup = _Workspace_Allocate(n + 1);
</font><font color='#000088'>+  char *dup = _Workspace_Allocate(len + 1);
</font> 
   if (dup != NULL) {
<font color='#880000'>-    dup [n] = '\0';
-    memcpy(dup, string, n);
</font><font color='#000088'>+    dup [len] = '\0';
+    memcpy(dup, string, len);
</font>   }
 
   return dup;
</pre>
<p> </p>
<a name='cs3'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>ralf</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-12-13 Ralf Corsépius <ralf.corsepius@rtems.org>

        * tm30/init.c: Make benchmark_barrier_create,
        benchmark_barrier_ident, benchmark_barrier_delete static.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/tmtests/ChangeLog.diff?r1=text&tr1=1.103&r2=text&tr2=1.104&diff_format=h">M</a></td><td width='1%'>1.104</td><td width='100%'>testsuites/tmtests/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/tmtests/tm30/init.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>testsuites/tmtests/tm30/init.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/tmtests/ChangeLog:1.103 rtems/testsuites/tmtests/ChangeLog:1.104
--- rtems/testsuites/tmtests/ChangeLog:1.103    Thu Dec  8 15:38:45 2011
+++ rtems/testsuites/tmtests/ChangeLog  Tue Dec 13 03:54:50 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-12-13    Ralf Corsépius <ralf.corsepius@rtems.org>
+
+       * tm30/init.c: Make benchmark_barrier_create,
+       benchmark_barrier_ident, benchmark_barrier_delete static.
+
</font> 2011-12-08        Joel Sherrill <joel.sherrill@oarcorp.com>
 
        PR 1589/build

<font color='#006600'>diff -u rtems/testsuites/tmtests/tm30/init.c:1.2 rtems/testsuites/tmtests/tm30/init.c:1.3
--- rtems/testsuites/tmtests/tm30/init.c:1.2    Tue Feb 22 03:57:14 2011
+++ rtems/testsuites/tmtests/tm30/init.c        Tue Dec 13 03:54:51 2011
</font><font color='#997700'>@@ -21,7 +21,7 @@
</font> 
 rtems_id barrier[ OPERATION_COUNT ];
 
<font color='#880000'>-void benchmark_barrier_create(
</font><font color='#000088'>+static void benchmark_barrier_create(
</font>   int    iteration,
   void  *argument
 )
<font color='#997700'>@@ -37,7 +37,7 @@
</font>   directive_failed(status, "rtems_barrier_create");
 }
 
<font color='#880000'>-void benchmark_barrier_ident(
</font><font color='#000088'>+static void benchmark_barrier_ident(
</font>   int    iteration,
   void  *argument
 )
<font color='#997700'>@@ -49,7 +49,7 @@
</font>   directive_failed(status, "rtems_barrier_ident");
 }
 
<font color='#880000'>-void benchmark_barrier_delete(
</font><font color='#000088'>+static void benchmark_barrier_delete(
</font>   int    iteration,
   void  *argument
 )
</pre>
<p> </p>
<a name='cs4'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>ralf</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-12-13 Ralf Corsépius <ralf.corsepius@rtems.org>

        * sp31/task1.c: Make Do_nothing static.
        * sprbtree01/init.c: Make test_compare_function, rb_assert static.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/ChangeLog.diff?r1=text&tr1=1.502&r2=text&tr2=1.503&diff_format=h">M</a></td><td width='1%'>1.503</td><td width='100%'>testsuites/sptests/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/sp31/task1.c.diff?r1=text&tr1=1.18&r2=text&tr2=1.19&diff_format=h">M</a></td><td width='1%'>1.19</td><td width='100%'>testsuites/sptests/sp31/task1.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/sprbtree01/init.c.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>testsuites/sptests/sprbtree01/init.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/sptests/ChangeLog:1.502 rtems/testsuites/sptests/ChangeLog:1.503
--- rtems/testsuites/sptests/ChangeLog:1.502    Mon Dec 12 09:18:18 2011
+++ rtems/testsuites/sptests/ChangeLog  Tue Dec 13 04:02:30 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-12-13    Ralf Corsépius <ralf.corsepius@rtems.org>
+
+       * sp31/task1.c: Make Do_nothing static.
+       * sprbtree01/init.c: Make test_compare_function, rb_assert static.
+
</font> 2011-12-12        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * spwkspace/init.c: Test _Workspace_String_duplicate().

<font color='#006600'>diff -u rtems/testsuites/sptests/sp31/task1.c:1.18 rtems/testsuites/sptests/sp31/task1.c:1.19
--- rtems/testsuites/sptests/sp31/task1.c:1.18  Sun Jul 24 17:10:18 2011
+++ rtems/testsuites/sptests/sp31/task1.c       Tue Dec 13 04:02:30 2011
</font><font color='#997700'>@@ -32,7 +32,7 @@
</font>   TSR_fired = 1;
 }
 
<font color='#880000'>-rtems_timer_service_routine Do_nothing(
</font><font color='#000088'>+static rtems_timer_service_routine Do_nothing(
</font>   rtems_id  ignored_id,
   void     *ignored_address
 )

<font color='#006600'>diff -u rtems/testsuites/sptests/sprbtree01/init.c:1.8 rtems/testsuites/sptests/sprbtree01/init.c:1.9
--- rtems/testsuites/sptests/sprbtree01/init.c:1.8      Thu Sep 29 11:20:49 2011
+++ rtems/testsuites/sptests/sprbtree01/init.c  Tue Dec 13 04:02:30 2011
</font><font color='#997700'>@@ -27,7 +27,7 @@
</font>   rtems_rbtree_node Node;
 } test_node;
 
<font color='#880000'>-int test_compare_function (
</font><font color='#000088'>+static int test_compare_function (
</font>   rtems_rbtree_node* n1,
   rtems_rbtree_node* n2
 )
<font color='#997700'>@@ -44,7 +44,7 @@
</font>  * recursively checks tree. if the tree is built properly it should only<span style="background-color: #FF0000"> </span>
  * be a depth of 7 function calls for 100 entries in the tree.<span style="background-color: #FF0000"> </span>
  */
<font color='#880000'>-int rb_assert ( rtems_rbtree_node *root )
</font><font color='#000088'>+static int rb_assert ( rtems_rbtree_node *root )
</font> {
   int lh, rh;
 
</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>