From 790a20edf691842d77e9e13dd2291d3f170282e7 Mon Sep 17 00:00:00 2001 From: occheung Date: Fri, 8 Oct 2021 14:28:38 +0800 Subject: [PATCH] linker: generate stack guard + symbol --- artiq/compiler/kernel.ld | 3 +++ artiq/firmware/runtime/runtime.ld | 5 ++++- artiq/firmware/satman/satman.ld | 4 +++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/artiq/compiler/kernel.ld b/artiq/compiler/kernel.ld index 6523d631a..fafbea2af 100644 --- a/artiq/compiler/kernel.ld +++ b/artiq/compiler/kernel.ld @@ -50,4 +50,7 @@ SECTIONS . = ALIGN(4); _end = .; } + + . = ALIGN(0x1000); + _sstack_guard = .; } diff --git a/artiq/firmware/runtime/runtime.ld b/artiq/firmware/runtime/runtime.ld index 81138fea3..9f60bf3ac 100644 --- a/artiq/firmware/runtime/runtime.ld +++ b/artiq/firmware/runtime/runtime.ld @@ -69,8 +69,11 @@ SECTIONS _ebss = .; } > runtime - .stack (NOLOAD) : ALIGN(16) + .stack (NOLOAD) : ALIGN(0x1000) { + _sstack_guard = .; + . += 0x1000; + _estack = .; . += 0x10000; _fstack = . - 16; } > runtime diff --git a/artiq/firmware/satman/satman.ld b/artiq/firmware/satman/satman.ld index bf7ef51d0..37de797c2 100644 --- a/artiq/firmware/satman/satman.ld +++ b/artiq/firmware/satman/satman.ld @@ -58,8 +58,10 @@ SECTIONS _ebss = .; } > main_ram - .stack (NOLOAD) : ALIGN(16) + .stack (NOLOAD) : ALIGN(0x1000) { + _sstack_guard = .; + . += 0x1000; _estack = .; . += 0x10000; _fstack = . - 16;