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;