forked from Imagelibrary/rtems
score: Fix _ISR_Stack_area_end
The _ISR_Stack_area_begin and _ISR_Stack_area_end symbols are in different sections. They must have the same alignment, otherwise the following linker directive could separate them: *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.rtemsstack*))) Update #3799.
This commit is contained in:
@@ -1014,6 +1014,7 @@ librtemscpu_a_SOURCES += score/src/chainnodecount.c
|
|||||||
librtemscpu_a_SOURCES += score/src/debugisthreaddispatchingallowed.c
|
librtemscpu_a_SOURCES += score/src/debugisthreaddispatchingallowed.c
|
||||||
librtemscpu_a_SOURCES += score/src/interr.c
|
librtemscpu_a_SOURCES += score/src/interr.c
|
||||||
librtemscpu_a_SOURCES += score/src/isr.c
|
librtemscpu_a_SOURCES += score/src/isr.c
|
||||||
|
librtemscpu_a_SOURCES += score/src/isrstackareaend.c
|
||||||
librtemscpu_a_SOURCES += score/src/wkspace.c
|
librtemscpu_a_SOURCES += score/src/wkspace.c
|
||||||
librtemscpu_a_SOURCES += score/src/wkspaceisunifieddefault.c
|
librtemscpu_a_SOURCES += score/src/wkspaceisunifieddefault.c
|
||||||
librtemscpu_a_SOURCES += score/src/wkstringduplicate.c
|
librtemscpu_a_SOURCES += score/src/wkstringduplicate.c
|
||||||
|
|||||||
@@ -98,11 +98,6 @@ char _ISR_Stack_area_begin[
|
|||||||
] RTEMS_ALIGNED( CPU_INTERRUPT_STACK_ALIGNMENT )
|
] RTEMS_ALIGNED( CPU_INTERRUPT_STACK_ALIGNMENT )
|
||||||
RTEMS_SECTION( ".rtemsstack.interrupt.begin" );
|
RTEMS_SECTION( ".rtemsstack.interrupt.begin" );
|
||||||
|
|
||||||
RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION(
|
|
||||||
_ISR_Stack_area_end,
|
|
||||||
".rtemsstack.interrupt.end"
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Thread stack size configuration */
|
/* Thread stack size configuration */
|
||||||
|
|
||||||
#ifndef CONFIGURE_MINIMUM_TASK_STACK_SIZE
|
#ifndef CONFIGURE_MINIMUM_TASK_STACK_SIZE
|
||||||
|
|||||||
36
cpukit/score/src/isrstackareaend.c
Normal file
36
cpukit/score/src/isrstackareaend.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* SPDX-License-Identifier: BSD-2-Clause */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <rtems/score/isr.h>
|
||||||
|
|
||||||
|
RTEMS_SECTION( ".rtemsstack.interrupt.end" )
|
||||||
|
RTEMS_ALIGNED( CPU_INTERRUPT_STACK_ALIGNMENT )
|
||||||
|
const char _ISR_Stack_area_end[ 0 ];
|
||||||
Reference in New Issue
Block a user