diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-04-05 10:31:24 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-04-08 19:22:34 +0200 |
commit | 099ab00d160be82952d59de6ad7ef18896adb420 (patch) | |
tree | c57ab2c47f32feefefe01c505094c332c0725c35 /cpukit/include/rtems/confdefs/percpu.h | |
parent | score: Add and use RTEMS_SYMBOL_NAME() (diff) | |
download | rtems-099ab00d160be82952d59de6ad7ef18896adb420.tar.bz2 |
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.
Diffstat (limited to '')
-rw-r--r-- | cpukit/include/rtems/confdefs/percpu.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/cpukit/include/rtems/confdefs/percpu.h b/cpukit/include/rtems/confdefs/percpu.h index 730571b54a..f3a9a4f3e7 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 */ |