mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-25 23:24:59 +08:00
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.
This commit is contained in:
@@ -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 )
|
||||
|
||||
RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION(
|
||||
char _ISR_Stack_area_begin[ _CONFIGURE_INTERRUPT_STACK_AREA_SIZE ]
|
||||
RTEMS_ALIGNED( CPU_INTERRUPT_STACK_ALIGNMENT )
|
||||
RTEMS_SECTION( ".rtemsstack.interrupt" );
|
||||
|
||||
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 */
|
||||
|
||||
Reference in New Issue
Block a user