summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/shared
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-06-19 15:10:36 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-06-27 08:58:16 +0200
commit715d6167e07a46f5bc37f42993c209450484bbe8 (patch)
treea2b7b713ecfe5d6bbe80db74f79dfeba62e64a8b /bsps/powerpc/shared
parentscore: Add CPU_INTERRUPT_STACK_ALIGNMENT (diff)
downloadrtems-715d6167e07a46f5bc37f42993c209450484bbe8.tar.bz2
bsps: Support .rtemsstack.* linker input sections
Use a dedicated memory region or place it between the BSS and workspace. Update #3459.
Diffstat (limited to 'bsps/powerpc/shared')
-rw-r--r--bsps/powerpc/shared/start/linkcmds.base11
-rw-r--r--bsps/powerpc/shared/start/linkcmds.share4
2 files changed, 10 insertions, 5 deletions
diff --git a/bsps/powerpc/shared/start/linkcmds.base b/bsps/powerpc/shared/start/linkcmds.base
index 25a6414855..fa49edf7dd 100644
--- a/bsps/powerpc/shared/start/linkcmds.base
+++ b/bsps/powerpc/shared/start/linkcmds.base
@@ -319,12 +319,13 @@ SECTIONS {
} > REGION_BSS AT > REGION_BSS
bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
- .rwextra : ALIGN_WITH_INPUT {
- bsp_section_rwextra_begin = .;
+ .rtemsstack (NOLOAD) : ALIGN_WITH_INPUT {
+ bsp_section_rtemsstack_begin = .;
*(.bsp_rwextra)
- bsp_section_rwextra_end = .;
- } > REGION_RWEXTRA AT > REGION_RWEXTRA
- bsp_section_rwextra_size = bsp_section_rwextra_end - bsp_section_rwextra_begin;
+ *(SORT(.rtemsstack.*))
+ bsp_section_rtemsstack_end = .;
+ } > REGION_RTEMSSTACK AT > REGION_RTEMSSTACK
+ bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
.work : ALIGN_WITH_INPUT {
/*
diff --git a/bsps/powerpc/shared/start/linkcmds.share b/bsps/powerpc/shared/start/linkcmds.share
index 59f538e3a2..e2a3a16fbe 100644
--- a/bsps/powerpc/shared/start/linkcmds.share
+++ b/bsps/powerpc/shared/start/linkcmds.share
@@ -98,6 +98,10 @@ SECTIONS
_TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
_TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } >CODE
+
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
. = ALIGN(0x10000) + (. & (0x10000 - 1));