<div dir="auto">Will this need to be added as an expected fail on other architectures? <div dir="auto"><br></div><div dir="auto">Just wondering how many bsp test configuration files need touching </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 12, 2023, 4:55 PM Kinsey Moore <<a href="mailto:kinsey.moore@oarcorp.com">kinsey.moore@oarcorp.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This adds a test verifying basic TLS functionality in loadable modules<br>
now that at least one architecture supports it.<br>
---<br>
 spec/build/testsuites/libtests/dl11.yml |  38 +++++++<br>
 spec/build/testsuites/libtests/grp.yml  |   2 +<br>
 testsuites/libtests/dl11/dl-load.c      | 142 ++++++++++++++++++++++++<br>
 testsuites/libtests/dl11/dl-load.h      |  33 ++++++<br>
 testsuites/libtests/dl11/dl11-o1.c      |  43 +++++++<br>
 testsuites/libtests/dl11/dl11.doc       |  44 ++++++++<br>
 testsuites/libtests/dl11/dl11.scn       |   6 +<br>
 testsuites/libtests/dl11/init.c         | 103 +++++++++++++++++<br>
 8 files changed, 411 insertions(+)<br>
 create mode 100644 spec/build/testsuites/libtests/dl11.yml<br>
 create mode 100644 testsuites/libtests/dl11/dl-load.c<br>
 create mode 100644 testsuites/libtests/dl11/dl-load.h<br>
 create mode 100644 testsuites/libtests/dl11/dl11-o1.c<br>
 create mode 100644 testsuites/libtests/dl11/dl11.doc<br>
 create mode 100644 testsuites/libtests/dl11/dl11.scn<br>
 create mode 100644 testsuites/libtests/dl11/init.c<br>
<br>
diff --git a/spec/build/testsuites/libtests/dl11.yml b/spec/build/testsuites/libtests/dl11.yml<br>
new file mode 100644<br>
index 0000000000..6eaaeaeecc<br>
--- /dev/null<br>
+++ b/spec/build/testsuites/libtests/dl11.yml<br>
@@ -0,0 +1,38 @@<br>
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause<br>
+build-type: script<br>
+cflags: []<br>
+copyrights:<br>
+- Copyright (C) 2023 On-Line Applications Research (OAR)<br>
+cppflags: []<br>
+do-build: |<br>
+  path = "testsuites/libtests/dl11/"<br>
+  objs = []<br>
+  objs.append(self.cc(bld, bic, path + "dl11-o1.c"))<br>
+  tar = path + "dl11.tar"<br>
+  self.tar(bld, objs, [path], tar)<br>
+  tar_c, tar_h = self.bin2c(bld, tar)<br>
+  objs = []<br>
+  objs.append(self.cc(bld, bic, tar_c))<br>
+  objs.append(self.cc(bld, bic, path + "init.c", deps=[tar_h], cppflags=bld.env.TEST_DL11_CPPFLAGS))<br>
+  objs.append(self.cc(bld, bic, path + "dl-load.c"))<br>
+  dl11_pre = path + "dl11.pre"<br>
+  self.link_cc(bld, bic, objs, dl11_pre)<br>
+  dl11_sym_o = path + "dl11-sym.o"<br>
+  objs.append(dl11_sym_o)<br>
+  self.rtems_syms(bld, dl11_pre, dl11_sym_o)<br>
+  self.link_cc(bld, bic, objs, "testsuites/libtests/dl11.exe")<br>
+do-configure: null<br>
+enabled-by:<br>
+- and:<br>
+  - not: TEST_DL11_EXCLUDE<br>
+  - BUILD_LIBDL<br>
+includes:<br>
+- testsuites/libtests/dl11<br>
+ldflags: []<br>
+links: []<br>
+prepare-build: null<br>
+prepare-configure: null<br>
+stlib: []<br>
+type: build<br>
+use-after: []<br>
+use-before: []<br>
diff --git a/spec/build/testsuites/libtests/grp.yml b/spec/build/testsuites/libtests/grp.yml<br>
index 9d91df75a0..8f2cadb890 100644<br>
--- a/spec/build/testsuites/libtests/grp.yml<br>
+++ b/spec/build/testsuites/libtests/grp.yml<br>
@@ -110,6 +110,8 @@ links:<br>
   uid: dl09<br>
 - role: build-dependency<br>
   uid: dl10<br>
+- role: build-dependency<br>
+  uid: dl11<br>
 - role: build-dependency<br>
   uid: dumpbuf01<br>
 - role: build-dependency<br>
diff --git a/testsuites/libtests/dl11/dl-load.c b/testsuites/libtests/dl11/dl-load.c<br>
new file mode 100644<br>
index 0000000000..aee1517269<br>
--- /dev/null<br>
+++ b/testsuites/libtests/dl11/dl-load.c<br>
@@ -0,0 +1,142 @@<br>
+/* SPDX-License-Identifier: BSD-2-Clause */<br>
+<br>
+/*<br>
+ * Copyright (C) 2023 On-Line Applications Research Corporation (OAR).<br>
+ *<br>
+ * Redistribution and use in source and binary forms, with or without<br>
+ * modification, are permitted provided that the following conditions<br>
+ * are met:<br>
+ * 1. Redistributions of source code must retain the above copyright<br>
+ *    notice, this list of conditions and the following disclaimer.<br>
+ * 2. Redistributions in binary form must reproduce the above copyright<br>
+ *    notice, this list of conditions and the following disclaimer in the<br>
+ *    documentation and/or other materials provided with the distribution.<br>
+ *<br>
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"<br>
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE<br>
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE<br>
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE<br>
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR<br>
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF<br>
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS<br>
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN<br>
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)<br>
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE<br>
+ * POSSIBILITY OF SUCH DAMAGE.<br>
+ */<br>
+<br>
+#include <errno.h><br>
+#include <stdio.h><br>
+<br>
+#include <dlfcn.h><br>
+<br>
+#include "dl-load.h"<br>
+<br>
+#include <rtems/rtl/rtl-shell.h><br>
+#include <rtems/rtl/rtl-trace.h><br>
+<br>
+#define TEST_TRACE 0<br>
+#if TEST_TRACE<br>
+ #define DEBUG_TRACE (RTEMS_RTL_TRACE_DETAIL | \<br>
+                      RTEMS_RTL_TRACE_WARNING | \<br>
+                      RTEMS_RTL_TRACE_LOAD | \<br>
+                      RTEMS_RTL_TRACE_UNLOAD | \<br>
+                      RTEMS_RTL_TRACE_SYMBOL | \<br>
+                      RTEMS_RTL_TRACE_RELOC | \<br>
+                      RTEMS_RTL_TRACE_ALLOCATOR | \<br>
+                      RTEMS_RTL_TRACE_UNRESOLVED | \<br>
+                      RTEMS_RTL_TRACE_ARCHIVES | \<br>
+                      RTEMS_RTL_TRACE_DEPENDENCY)<br>
+ #define DL_DEBUG_TRACE DEBUG_TRACE /* RTEMS_RTL_TRACE_ALL */<br>
+ #define DL_RTL_CMDS    1<br>
+#else<br>
+ #define DL_DEBUG_TRACE 0<br>
+ #define DL_RTL_CMDS    0<br>
+#endif<br>
+<br>
+static void dl_load_dump (void)<br>
+{<br>
+#if DL_RTL_CMDS<br>
+  char* list[] = { "rtl", "list", NULL };<br>
+  char* sym[] = { "rtl", "sym", NULL };<br>
+  printf ("RTL List:\n");<br>
+  rtems_rtl_shell_command (2, list);<br>
+  printf ("RTL Sym:\n");<br>
+  rtems_rtl_shell_command (2, sym);<br>
+#endif<br>
+}<br>
+<br>
+typedef int (*int_call_t)(void);<br>
+typedef int* (*ptr_call_t)(void);<br>
+<br>
+int dl_load_test(void)<br>
+{<br>
+  void*  handle;<br>
+  int_call_t int_call;<br>
+  ptr_call_t ptr_call;<br>
+  int    int_call_ret;<br>
+  int*   ptr_call_ret;<br>
+  int    unresolved;<br>
+  char*  message = "loaded";<br>
+<br>
+#if DL_DEBUG_TRACE<br>
+  rtems_rtl_trace_set_mask (DL_DEBUG_TRACE);<br>
+#endif<br>
+<br>
+  printf("load: /dl11-o1.o\n");<br>
+<br>
+  handle = dlopen ("/dl11-o1.o", RTLD_NOW | RTLD_GLOBAL);<br>
+  if (!handle)<br>
+  {<br>
+    printf("dlopen failed: %s\n", dlerror());<br>
+    return 1;<br>
+  }<br>
+<br>
+  if (dlinfo (handle, RTLD_DI_UNRESOLVED, &unresolved) < 0)<br>
+    message = "dlinfo error checking unresolved status";<br>
+  else if (unresolved)<br>
+    message = "has unresolved externals";<br>
+<br>
+  printf ("handle: %p %s\n", handle, message);<br>
+<br>
+  dl_load_dump ();<br>
+<br>
+  ptr_call = dlsym (handle, "get_errno_ptr");<br>
+  if (ptr_call == NULL)<br>
+  {<br>
+    printf("dlsym failed: symbol get_errno_ptr not found\n");<br>
+    return 1;<br>
+  }<br>
+<br>
+  int_call = dlsym (handle, "get_errno_val");<br>
+  if (int_call == NULL)<br>
+  {<br>
+    printf("dlsym failed: symbol get_errno_val not found\n");<br>
+    return 1;<br>
+  }<br>
+<br>
+  ptr_call_ret = ptr_call ();<br>
+  if (ptr_call_ret != &errno)<br>
+  {<br>
+    printf("dlsym ptr_call failed: ret value bad\n");<br>
+    return 1;<br>
+  }<br>
+<br>
+  errno = 12345;<br>
+  int_call_ret = int_call ();<br>
+  if (int_call_ret != 12345)<br>
+  {<br>
+    printf("dlsym int_call failed: ret value bad\n");<br>
+    return 1;<br>
+  }<br>
+<br>
+  if (dlclose (handle) < 0)<br>
+  {<br>
+    printf("dlclose failed: %s\n", dlerror());<br>
+    return 1;<br>
+  }<br>
+<br>
+  printf ("handle: %p closed\n", handle);<br>
+<br>
+  return 0;<br>
+}<br>
diff --git a/testsuites/libtests/dl11/dl-load.h b/testsuites/libtests/dl11/dl-load.h<br>
new file mode 100644<br>
index 0000000000..142b195626<br>
--- /dev/null<br>
+++ b/testsuites/libtests/dl11/dl-load.h<br>
@@ -0,0 +1,33 @@<br>
+/* SPDX-License-Identifier: BSD-2-Clause */<br>
+<br>
+/*<br>
+ * Copyright (c) 2014 Chris Johns <<a href="mailto:chrisj@rtems.org" target="_blank" rel="noreferrer">chrisj@rtems.org</a>>.  All rights reserved.<br>
+ *<br>
+ * Redistribution and use in source and binary forms, with or without<br>
+ * modification, are permitted provided that the following conditions<br>
+ * are met:<br>
+ * 1. Redistributions of source code must retain the above copyright<br>
+ *    notice, this list of conditions and the following disclaimer.<br>
+ * 2. Redistributions in binary form must reproduce the above copyright<br>
+ *    notice, this list of conditions and the following disclaimer in the<br>
+ *    documentation and/or other materials provided with the distribution.<br>
+ *<br>
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"<br>
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE<br>
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE<br>
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE<br>
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR<br>
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF<br>
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS<br>
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN<br>
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)<br>
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE<br>
+ * POSSIBILITY OF SUCH DAMAGE.<br>
+ */<br>
+<br>
+#if !defined(_DL_LOAD_H_)<br>
+#define _DL_LOAD_H_<br>
+<br>
+int dl_load_test(void);<br>
+<br>
+#endif<br>
diff --git a/testsuites/libtests/dl11/dl11-o1.c b/testsuites/libtests/dl11/dl11-o1.c<br>
new file mode 100644<br>
index 0000000000..e8fe0cf180<br>
--- /dev/null<br>
+++ b/testsuites/libtests/dl11/dl11-o1.c<br>
@@ -0,0 +1,43 @@<br>
+/* SPDX-License-Identifier: BSD-2-Clause */<br>
+<br>
+/*<br>
+ * Copyright (C) 2023 On-Line Applications Research Corporation (OAR).<br>
+ *<br>
+ * Redistribution and use in source and binary forms, with or without<br>
+ * modification, are permitted provided that the following conditions<br>
+ * are met:<br>
+ * 1. Redistributions of source code must retain the above copyright<br>
+ *    notice, this list of conditions and the following disclaimer.<br>
+ * 2. Redistributions in binary form must reproduce the above copyright<br>
+ *    notice, this list of conditions and the following disclaimer in the<br>
+ *    documentation and/or other materials provided with the distribution.<br>
+ *<br>
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"<br>
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE<br>
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE<br>
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE<br>
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR<br>
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF<br>
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS<br>
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN<br>
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)<br>
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE<br>
+ * POSSIBILITY OF SUCH DAMAGE.<br>
+ */<br>
+<br>
+#include <rtems/test-info.h><br>
+#include <errno.h><br>
+<br>
+int get_errno_val (void);<br>
+int *get_errno_ptr (void);<br>
+<br>
+int get_errno_val (void)<br>
+{<br>
+  return errno;<br>
+}<br>
+<br>
+int *get_errno_ptr (void)<br>
+{<br>
+  return &errno;<br>
+}<br>
+<br>
diff --git a/testsuites/libtests/dl11/dl11.doc b/testsuites/libtests/dl11/dl11.doc<br>
new file mode 100644<br>
index 0000000000..0fffe1cfd3<br>
--- /dev/null<br>
+++ b/testsuites/libtests/dl11/dl11.doc<br>
@@ -0,0 +1,44 @@<br>
+# SPDX-License-Identifier: BSD-2-Clause<br>
+<br>
+# Copyright (C) 2023 On-Line Applications Research Corporation (OAR).<br>
+#<br>
+# Redistribution and use in source and binary forms, with or without<br>
+# modification, are permitted provided that the following conditions<br>
+# are met:<br>
+# 1. Redistributions of source code must retain the above copyright<br>
+#    notice, this list of conditions and the following disclaimer.<br>
+# 2. Redistributions in binary form must reproduce the above copyright<br>
+#    notice, this list of conditions and the following disclaimer in the<br>
+#    documentation and/or other materials provided with the distribution.<br>
+#<br>
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"<br>
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE<br>
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE<br>
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE<br>
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR<br>
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF<br>
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS<br>
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN<br>
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)<br>
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE<br>
+# POSSIBILITY OF SUCH DAMAGE.<br>
+#<br>
+<br>
+This file describes the directives and concepts tested by this test set.<br>
+<br>
+test set name: dl11<br>
+<br>
+directives:<br>
+<br>
+  dlopen<br>
+  dlinfo<br>
+  dlsym<br>
+  dlclose<br>
+<br>
+concepts:<br>
+<br>
++ Load a single ELF object file.<br>
++ Check there are no unreolved externals.<br>
++ Locate the get_errno_val and get_errno_ptr symbols.<br>
++ Call the functions that use TLS variables and verify relocated symbols.<br>
++ Unload the ELF file.<br>
diff --git a/testsuites/libtests/dl11/dl11.scn b/testsuites/libtests/dl11/dl11.scn<br>
new file mode 100644<br>
index 0000000000..43048c91d2<br>
--- /dev/null<br>
+++ b/testsuites/libtests/dl11/dl11.scn<br>
@@ -0,0 +1,6 @@<br>
+*** BEGIN OF TEST libdl (RTL) 11 ***<br>
+load: /dl11-o1.o<br>
+handle: 0x40118e60 loaded<br>
+handle: 0x40118e60 closed<br>
+<br>
+*** END OF TEST libdl (RTL) 11 ***<br>
diff --git a/testsuites/libtests/dl11/init.c b/testsuites/libtests/dl11/init.c<br>
new file mode 100644<br>
index 0000000000..91f529b055<br>
--- /dev/null<br>
+++ b/testsuites/libtests/dl11/init.c<br>
@@ -0,0 +1,103 @@<br>
+/* SPDX-License-Identifier: BSD-2-Clause */<br>
+<br>
+/*<br>
+ * Copyright (c) 2014 Chris Johns <<a href="mailto:chrisj@rtems.org" target="_blank" rel="noreferrer">chrisj@rtems.org</a>>.  All rights reserved.<br>
+ *<br>
+ * Redistribution and use in source and binary forms, with or without<br>
+ * modification, are permitted provided that the following conditions<br>
+ * are met:<br>
+ * 1. Redistributions of source code must retain the above copyright<br>
+ *    notice, this list of conditions and the following disclaimer.<br>
+ * 2. Redistributions in binary form must reproduce the above copyright<br>
+ *    notice, this list of conditions and the following disclaimer in the<br>
+ *    documentation and/or other materials provided with the distribution.<br>
+ *<br>
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"<br>
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE<br>
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE<br>
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE<br>
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR<br>
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF<br>
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS<br>
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN<br>
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)<br>
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE<br>
+ * POSSIBILITY OF SUCH DAMAGE.<br>
+ */<br>
+<br>
+#ifdef HAVE_CONFIG_H<br>
+#include "config.h"<br>
+#endif<br>
+<br>
+#include "tmacros.h"<br>
+<br>
+#include <errno.h><br>
+#include <string.h><br>
+#include <stdint.h><br>
+#include <unistd.h><br>
+<br>
+#include <rtems/rtl/rtl.h><br>
+#include <rtems/imfs.h><br>
+<br>
+#include "dl-load.h"<br>
+<br>
+const char rtems_test_name[] = "libdl (RTL) 11";<br>
+<br>
+/* forward declarations to avoid warnings */<br>
+static rtems_task Init(rtems_task_argument argument);<br>
+<br>
+#include "dl11-tar.h"<br>
+<br>
+#define TARFILE_START dl11_tar<br>
+#define TARFILE_SIZE  dl11_tar_size<br>
+<br>
+static int test(void)<br>
+{<br>
+  int ret;<br>
+  ret = dl_load_test();<br>
+  if (ret)<br>
+    rtems_test_exit(ret);<br>
+  return 0;<br>
+}<br>
+<br>
+static void Init(rtems_task_argument arg)<br>
+{<br>
+  int te;<br>
+<br>
+  TEST_BEGIN();<br>
+<br>
+  te = rtems_tarfs_load("/", (void *)TARFILE_START, (size_t)TARFILE_SIZE);<br>
+  if (te != 0)<br>
+  {<br>
+    printf("untar failed: %d\n", te);<br>
+    rtems_test_exit(1);<br>
+    exit (1);<br>
+  }<br>
+<br>
+  test();<br>
+<br>
+  TEST_END();<br>
+<br>
+  rtems_test_exit(0);<br>
+}<br>
+<br>
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER<br>
+#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER<br>
+<br>
+#define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 4<br>
+<br>
+#define CONFIGURE_MAXIMUM_TASKS 1<br>
+<br>
+#define CONFIGURE_MAXIMUM_SEMAPHORES 1<br>
+<br>
+#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION<br>
+<br>
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE<br>
+<br>
+#define CONFIGURE_INIT_TASK_STACK_SIZE (CONFIGURE_MINIMUM_TASK_STACK_SIZE + (4U * 1024U))<br>
+<br>
+#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT<br>
+<br>
+#define CONFIGURE_INIT<br>
+<br>
+#include <rtems/confdefs.h><br>
-- <br>
2.30.2<br>
<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank" rel="noreferrer">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div>