/* rtems-task-variable-add.c -- adding a task specific variable in RTEMS OS.

   Copyright 2010 The Go Authors. All rights reserved.
   Use of this source code is governed by a BSD-style
   license that can be found in the LICENSE file.  */

#include <assert.h>

#include <rtems/error.h>
#include <rtems/system.h>
#include <rtems/rtems/tasks.h>

/* RTEMS does not support GNU TLS extension __thread.  */
void
__wrap_rtems_task_variable_add (void **var)
{
  rtems_status_code sc = rtems_task_variable_add (RTEMS_SELF, var, NULL);
  if (sc != RTEMS_SUCCESSFUL)
    {
      rtems_error (sc, "rtems_task_variable_add failed");
      assert (0);
    }
}


/* rtems-task-variable-add.c -- adding a task specific variable in RTEMS OS.

   Copyright 2010 The Go Authors. All rights reserved.
   Use of this source code is governed by a BSD-style
   license that can be found in the LICENSE file.  */

#include <rtems/error.h>
#include <rtems/system.h>
#include <rtems/rtems/tasks.h>

/* RTEMS does not support GNU TLS extension __thread.  */
void
__wrap_rtems_task_variable_add (void **var)
{
  rtems_status_code sc = rtems_task_variable_add (RTEMS_SELF, var, NULL);
  if (sc != RTEMS_SUCCESSFUL)
    {
      rtems_error (sc, "rtems_task_variable_add failed");
    }
}


--- 
+++ 
@@ -3,6 +3,8 @@
    Copyright 2010 The Go Authors. All rights reserved.
    Use of this source code is governed by a BSD-style
    license that can be found in the LICENSE file.  */
+
+#include <assert.h>
 
 #include <rtems/error.h>
 #include <rtems/system.h>
@@ -16,6 +18,7 @@
   if (sc != RTEMS_SUCCESSFUL)
     {
       rtems_error (sc, "rtems_task_variable_add failed");
+      assert (0);
     }
 }
 
Add assert on rtems_task_variable_add error.

assert is used so that if rtems_task_variable_add fails, the error
is fatal.

R=iant
CC=gofrontend-dev, joel.sherrill
https://golang.org/cl/1684053
