[rtems commit] config: Fix _ISR_Stack_area_end
Sebastian Huber
sebh at rtems.org
Wed Apr 8 17:22:59 UTC 2020
Module: rtems
Branch: master
Commit: 099ab00d160be82952d59de6ad7ef18896adb420
Changeset: http://git.rtems.org/rtems/commit/?id=099ab00d160be82952d59de6ad7ef18896adb420
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Sun Apr 5 10:31:24 2020 +0200
config: Fix _ISR_Stack_area_end
In the previous implementation, the _ISR_Stack_area_begin and
_ISR_Stack_area_end symbols were in different sections. If they do not
have the same alignment, then the following linker directive could
separate them:
*(SORT_BY_ALIGNMENT (SORT_BY_NAME (.rtemsstack*)))
Do not use different sections and instead define _ISR_Stack_area_end
directly.
Update #3799.
---
cpukit/include/rtems/confdefs/percpu.h | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/cpukit/include/rtems/confdefs/percpu.h b/cpukit/include/rtems/confdefs/percpu.h
index 730571b..f3a9a4f 100644
--- a/cpukit/include/rtems/confdefs/percpu.h
+++ b/cpukit/include/rtems/confdefs/percpu.h
@@ -93,14 +93,17 @@ RTEMS_DEFINE_GLOBAL_SYMBOL(
CONFIGURE_INTERRUPT_STACK_SIZE
);
-char _ISR_Stack_area_begin[
- _CONFIGURE_MAXIMUM_PROCESSORS * CONFIGURE_INTERRUPT_STACK_SIZE
-] RTEMS_ALIGNED( CPU_INTERRUPT_STACK_ALIGNMENT )
-RTEMS_SECTION( ".rtemsstack.interrupt.begin" );
+#define _CONFIGURE_INTERRUPT_STACK_AREA_SIZE \
+ ( CONFIGURE_INTERRUPT_STACK_SIZE * _CONFIGURE_MAXIMUM_PROCESSORS )
+
+char _ISR_Stack_area_begin[ _CONFIGURE_INTERRUPT_STACK_AREA_SIZE ]
+RTEMS_ALIGNED( CPU_INTERRUPT_STACK_ALIGNMENT )
+RTEMS_SECTION( ".rtemsstack.interrupt" );
-RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION(
+RTEMS_DEFINE_GLOBAL_SYMBOL(
_ISR_Stack_area_end,
- ".rtemsstack.interrupt.end"
+ RTEMS_SYMBOL_NAME( _ISR_Stack_area_begin )
+ + _CONFIGURE_INTERRUPT_STACK_AREA_SIZE
);
/* Thread stack size configuration */
More information about the vc
mailing list