summaryrefslogtreecommitdiff
path: root/core/cortex-m/ec.lds.S
diff options
context:
space:
mode:
Diffstat (limited to 'core/cortex-m/ec.lds.S')
-rw-r--r--core/cortex-m/ec.lds.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/cortex-m/ec.lds.S b/core/cortex-m/ec.lds.S
index dabdedf860..2a9a9b2fe0 100644
--- a/core/cortex-m/ec.lds.S
+++ b/core/cortex-m/ec.lds.S
@@ -59,8 +59,10 @@ MEMORY
#ifdef CONFIG_CHIP_MEMORY_REGIONS
#define REGION(name, attr, start, size) \
name(attr) : ORIGIN = (start), LENGTH = (size)
+#define REGION_LOAD REGION
#include "memory_regions.inc"
#undef REGION
+#undef REGION_LOAD
#endif /* CONFIG_MEMORY_REGIONS */
}
SECTIONS
@@ -406,10 +408,18 @@ SECTIONS
#define REGION(name, attr, start, size) \
.name(NOLOAD) : { \
__##name##_start = .; \
+ KEEP(*(SORT(.name.keep.*))) \
+ *(SORT(.name.*)) \
+ } > name
+#define REGION_LOAD(name, attr, start, size) \
+ .name : { \
+ __##name##_start = .; \
+ KEEP(*(SORT(.name.keep.*))) \
*(SORT(.name.*)) \
} > name
#include "memory_regions.inc"
#undef REGION
+#undef REGION_LOAD
#endif /* CONFIG_CHIP_MEMORY_REGIONS */
#if !(defined(SECTION_IS_RO) && defined(CONFIG_FLASH))