diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-06-19 15:10:36 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-06-27 08:58:16 +0200 |
commit | 715d6167e07a46f5bc37f42993c209450484bbe8 (patch) | |
tree | a2b7b713ecfe5d6bbe80db74f79dfeba62e64a8b /bsps/powerpc/shared/start | |
parent | score: Add CPU_INTERRUPT_STACK_ALIGNMENT (diff) | |
download | rtems-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/start')
-rw-r--r-- | bsps/powerpc/shared/start/linkcmds.base | 11 | ||||
-rw-r--r-- | bsps/powerpc/shared/start/linkcmds.share | 4 |
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)); |