bsps: Support .rtemsstack.* linker input sections

Use a dedicated memory region or place it between the BSS and workspace.

Update #3459.
This commit is contained in:
Sebastian Huber
2018-06-19 15:10:36 +02:00
parent c8df844cf3
commit 715d6167e0
78 changed files with 266 additions and 77 deletions

View File

@@ -180,9 +180,13 @@ SECTIONS
. = ALIGN (16);
PROVIDE (end = .);
_clear_end = .;
} >ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }

View File

@@ -180,7 +180,10 @@ SECTIONS
. = ALIGN (16);
PROVIDE (end = .);
_clear_end = .;
}
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
}
/* Stabs debugging sections. */

View File

@@ -179,9 +179,13 @@ SECTIONS
. = ALIGN (16);
PROVIDE (end = .);
_clear_end = .;
} >ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }

View File

@@ -155,12 +155,13 @@ SECTIONS
_end = .;
clear_end = .;
WorkAreaBase = .;
WorkAreaBase = .;
} > ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram
.stab 0 (NOLOAD) :
{
*(.stab)

View File

@@ -191,7 +191,10 @@ SECTIONS {
. = ALIGN (16);
_stack_init = .;
_clear_end = .;
} >ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram

View File

@@ -155,7 +155,10 @@ SECTIONS {
. = ALIGN (16);
_stack_init = .;
_clear_end = .;
} >ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram

View File

@@ -157,7 +157,10 @@ SECTIONS {
. = ALIGN (16);
_stack_init = .;
_clear_end = .;
} >myram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >myram

View File

@@ -155,7 +155,10 @@ SECTIONS {
. = ALIGN (16);
_stack_init = .;
_clear_end = .;
} >ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram

View File

@@ -188,10 +188,11 @@ SECTIONS
_end = .;
clear_end = .;
} > ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
WorkAreaBase = .;
} > ram
.stab 0 (NOLOAD) :

View File

@@ -188,10 +188,11 @@ SECTIONS
_end = .;
clear_end = .;
} > ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
WorkAreaBase = .;
} > ram
.stab 0 (NOLOAD) :

View File

@@ -179,6 +179,10 @@ SECTIONS
. += _StackSize;
. = ALIGN (16);
PROVIDE(_StackInit = .);
} >sram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
PROVIDE(WorkAreaBase = .);
} >sram

View File

@@ -179,6 +179,10 @@ SECTIONS
. += _StackSize;
. = ALIGN (16);
PROVIDE(_StackInit = .);
} >sram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
PROVIDE(WorkAreaBase = .);
} >sram

View File

@@ -187,7 +187,10 @@ SECTIONS
. = ALIGN (16);
PROVIDE (end = .);
_clear_end = .;
} > dram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} > dram
/* Stabs debugging sections. */

View File

@@ -192,7 +192,10 @@ SECTIONS
. = ALIGN (16);
PROVIDE (end = .);
_clear_end = .;
} >ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram
/* Stabs debugging sections. */

View File

@@ -187,9 +187,13 @@ SECTIONS
. = ALIGN (16);
PROVIDE (end = .);
_clear_end = .;
} >ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }

View File

@@ -180,6 +180,10 @@ SECTIONS
PROVIDE (_end = .);
_clear_end = .;
} > dram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} > dram

View File

@@ -176,6 +176,10 @@ SECTIONS
PROVIDE (_end = .);
_clear_end = .;
} > dram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} > dram

View File

@@ -198,7 +198,9 @@ SECTIONS
. = ALIGN (16);
_stack_init = .;
_clear_end = .;
} > ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} > ram
.stab . (NOLOAD) :

View File

@@ -257,6 +257,10 @@ SECTIONS {
} > REGION_DATA AT > REGION_DATA
bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
.rtemsstack (NOLOAD) : ALIGN_WITH_INPUT {
*(SORT(.rtemsstack.*))
} > REGION_DATA AT > REGION_DATA
.work : ALIGN_WITH_INPUT {
/*
* The work section will occupy the remaining REGION_DATA region and

View File

@@ -196,6 +196,10 @@ SECTIONS
. = ALIGN (16);
PROVIDE (end = .);
_clear_end = .;
} >ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
} >ram