linker: arm: place priv.noinit at the end of RAM

This puts the priviledged stack at the end of RAM.
This combines PR #10507 and #10542.

Fixes #10473
Fixes #10474
Fixes #10515

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
Adithya Baglody 2018-10-19 10:15:19 -07:00 committed by Anas Nashif
commit 1fa8cf9279
3 changed files with 14 additions and 1 deletions

View file

@ -366,6 +366,8 @@ SECTIONS
#include <linker/priv_stacks.ld>
#include <linker/kobject.ld>
#include <linker/priv_stacks-noinit.ld>
__data_ram_end = .;

View file

@ -0,0 +1,10 @@
/*
* Copyright (c) 2017 Linaro Limited.
*
* SPDX-License-Identifier: Apache-2.0
*/
SECTION_DATA_PROLOGUE(priv_stacks_noinit,,)
{
*(".priv_stacks.noinit")
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)

View file

@ -655,7 +655,8 @@ class SizeCalculator:
"ccm_data", "usb_descriptor", "usb_data", "usb_bos_desc",
'log_backends_sections', 'log_dynamic_sections',
'log_const_sections',"app_smem", 'shell_root_cmds_sections',
'log_const_sections',"app_smem", "font_entry_sections"]
'log_const_sections',"app_smem", "font_entry_sections",
"priv_stacks_noinit"]
# These get copied into RAM only on non-XIP
ro_sections = ["text", "ctors", "init_array", "reset", "object_access",
"rodata", "devconfig", "net_l2", "vector", "_bt_settings_area"]