diff --git a/include/arch/arm/cortex_m/scripts/linker.cmd b/include/arch/arm/cortex_m/scripts/linker.cmd index a1004e34c6e..86793d252a3 100644 --- a/include/arch/arm/cortex_m/scripts/linker.cmd +++ b/include/arch/arm/cortex_m/scripts/linker.cmd @@ -85,10 +85,14 @@ SECTIONS KEEP(*(.security_frdm_k64f)) KEEP(*(".security_frdm_k64f.*")) + _image_text_start = .; + *(.text) *(".text.*") } GROUP_LINK_IN(ROMABLE_REGION) + _image_text_end = .; + SECTION_PROLOGUE (devconfig, (OPTIONAL),) { __devconfig_start = .; diff --git a/include/arch/x86/linker-common-sections.h b/include/arch/x86/linker-common-sections.h index 9e1be632b32..f66cc140f5e 100644 --- a/include/arch/x86/linker-common-sections.h +++ b/include/arch/x86/linker-common-sections.h @@ -64,6 +64,7 @@ SECTIONS GROUP_START(ROMABLE_REGION) _image_rom_start = PHYS_LOAD_ADDR; + _image_text_start = PHYS_LOAD_ADDR; SECTION_PROLOGUE(_TEXT_SECTION_NAME, (OPTIONAL),) { @@ -79,6 +80,8 @@ SECTIONS KEXEC_PGALIGN_PAD(MMU_PAGE_SIZE) } GROUP_LINK_IN(ROMABLE_REGION) + _image_text_end = .; + SECTION_PROLOGUE(_CTOR_SECTION_NAME, (OPTIONAL),) { /* diff --git a/include/linker-defs.h b/include/linker-defs.h index 00382f651f1..b34b55cc04f 100644 --- a/include/linker-defs.h +++ b/include/linker-defs.h @@ -117,6 +117,8 @@ extern char _image_rom_start[]; extern char _image_rom_end[]; extern char _image_ram_start[]; extern char _image_ram_end[]; +extern char _image_text_start[]; +extern char _image_text_end[]; /* end address of image. */ extern char _end[];