summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-28 08:20:25 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-28 08:21:57 +0200
commit6a6580331df3e09516d50f37d4dd5fd57825c08a (patch)
treed36f19c6f554645074a75b9efe1389a590ac425c /cpukit/include/rtems/score
parentscore: Use PTHREAD_CANCELED for _Thread_Cancel() (diff)
downloadrtems-6a6580331df3e09516d50f37d4dd5fd57825c08a.tar.bz2
score: Allow linker garbage collection
Place the object control blocks in dedicated sections to allow a linker garbage collection. Update #4678.
Diffstat (limited to 'cpukit/include/rtems/score')
-rw-r--r--cpukit/include/rtems/score/objectdata.h2
-rw-r--r--cpukit/include/rtems/score/thread.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/cpukit/include/rtems/score/objectdata.h b/cpukit/include/rtems/score/objectdata.h
index ba2cb9c5b2..4bdd30f2c6 100644
--- a/cpukit/include/rtems/score/objectdata.h
+++ b/cpukit/include/rtems/score/objectdata.h
@@ -449,7 +449,7 @@ Objects_Information name##_Information = { \
#define OBJECTS_INFORMATION_DEFINE( name, api, cls, type, max, nl, ex ) \
static Objects_Control * \
name##_Local_table[ _Objects_Maximum_per_allocation( max ) ]; \
-static RTEMS_SECTION( ".noinit.rtems.content.objects" ) \
+static RTEMS_SECTION( ".noinit.rtems.content.objects." #name ) \
type \
name##_Objects[ _Objects_Maximum_per_allocation( max ) ]; \
Objects_Information name##_Information = { \
diff --git a/cpukit/include/rtems/score/thread.h b/cpukit/include/rtems/score/thread.h
index 16430347af..40fefbc79a 100644
--- a/cpukit/include/rtems/score/thread.h
+++ b/cpukit/include/rtems/score/thread.h
@@ -1151,10 +1151,10 @@ Objects_Control *_Thread_Allocate_unlimited( Objects_Information *information );
#define THREAD_INFORMATION_DEFINE( name, api, cls, max ) \
static Objects_Control * \
name##_Local_table[ _Objects_Maximum_per_allocation( max ) ]; \
-static RTEMS_SECTION( ".noinit.rtems.content.objects" ) \
+static RTEMS_SECTION( ".noinit.rtems.content.objects." #name ) \
Thread_Configured_control \
name##_Objects[ _Objects_Maximum_per_allocation( max ) ]; \
-static RTEMS_SECTION( ".noinit.rtems.content.objects" ) \
+static RTEMS_SECTION( ".noinit.rtems.content.objects." #name ) \
Thread_queue_Configured_heads \
name##_Heads[ _Objects_Maximum_per_allocation( max ) ]; \
Thread_Information name##_Information = { \