summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2022-09-27 08:40:39 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-10-14 07:29:41 +0200
commit0307c81aa0cad729477e483e9cebd0b52ef67818 (patch)
tree17cffdba93619ead879c187f9f332b9cdb18444e
parentlibmisc/rtems-fdt: Fix return error values (diff)
downloadrtems-0307c81aa0cad729477e483e9cebd0b52ef67818.tar.bz2
sptls0*: Enable stack checker
The thread-local storage area is located close to other stacks. Try to detect overwrites.
-rw-r--r--testsuites/sptests/sptls01/init.c4
-rw-r--r--testsuites/sptests/sptls02/init.cc4
-rw-r--r--testsuites/sptests/sptls03/init.c4
3 files changed, 12 insertions, 0 deletions
diff --git a/testsuites/sptests/sptls01/init.c b/testsuites/sptests/sptls01/init.c
index efd0fb4c6c..64860ec9c9 100644
--- a/testsuites/sptests/sptls01/init.c
+++ b/testsuites/sptests/sptls01/init.c
@@ -30,6 +30,7 @@
#endif
#include <rtems/bspIo.h>
+#include <rtems/stackchk.h>
#include <rtems/sysinit.h>
#include "tmacros.h"
@@ -109,6 +110,7 @@ static void Init(rtems_task_argument arg)
{
test();
+ rtems_test_assert(!rtems_stack_checker_is_blown());
TEST_END();
rtems_test_exit(0);
@@ -123,6 +125,8 @@ RTEMS_SYSINIT_ITEM(
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
+#define CONFIGURE_STACK_CHECKER_ENABLED
+
#define CONFIGURE_MAXIMUM_TASKS 2
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
diff --git a/testsuites/sptests/sptls02/init.cc b/testsuites/sptests/sptls02/init.cc
index 712358f978..e4791cffd6 100644
--- a/testsuites/sptests/sptls02/init.cc
+++ b/testsuites/sptests/sptls02/init.cc
@@ -36,6 +36,7 @@
#include <rtems.h>
#include <rtems/libcsupport.h>
+#include <rtems/stackchk.h>
#include <tmacros.h>
@@ -288,6 +289,7 @@ extern "C" void Init(rtems_task_argument arg)
testWorkerTask();
rtems_test_assert(rtems_resource_snapshot_check(&snapshot));
+ rtems_test_assert(!rtems_stack_checker_is_blown());
TEST_END();
@@ -297,6 +299,8 @@ extern "C" void Init(rtems_task_argument arg)
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
+#define CONFIGURE_STACK_CHECKER_ENABLED
+
#define CONFIGURE_MAXIMUM_TASKS 2
#define CONFIGURE_MAXIMUM_SEMAPHORES 3
diff --git a/testsuites/sptests/sptls03/init.c b/testsuites/sptests/sptls03/init.c
index 6625327f45..119c0cb29c 100644
--- a/testsuites/sptests/sptls03/init.c
+++ b/testsuites/sptests/sptls03/init.c
@@ -29,6 +29,7 @@
#include "config.h"
#endif
+#include <rtems/stackchk.h>
#include <rtems/score/thread.h>
#include "tmacros.h"
@@ -55,6 +56,7 @@ static void Init(rtems_task_argument arg)
test();
+ rtems_test_assert(!rtems_stack_checker_is_blown());
TEST_END();
rtems_test_exit(0);
@@ -75,6 +77,8 @@ static void Init(rtems_task_argument arg)
*/
#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY
+#define CONFIGURE_STACK_CHECKER_ENABLED
+
#define CONFIGURE_MAXIMUM_TASKS 1
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION