diff --git a/variants/arduino_zero/linker_scripts/gcc/flash.ld b/variants/arduino_zero/linker_scripts/gcc/flash.ld
index 246dec3ed5221f0d51930374fd1dc3a3e2d3cae2..273b2beab0eef2e9110d6dc37ed59d9e7abf8fba 100644
--- a/variants/arduino_zero/linker_scripts/gcc/flash.ld
+++ b/variants/arduino_zero/linker_scripts/gcc/flash.ld
@@ -182,10 +182,12 @@ SECTIONS
 
 	/* Set stack top to end of RAM, and stack limit move down by
 	 * size of stack_dummy section */
-	__StackTop = ORIGIN(RAM) + LENGTH(RAM);
+	__StackTop = ORIGIN(RAM) + LENGTH(RAM) ;
 	__StackLimit = __StackTop - SIZEOF(.stack_dummy);
 	PROVIDE(__stack = __StackTop);
 
+	__ram_end__ = ORIGIN(RAM) + LENGTH(RAM) -1 ;
+
 	/* Check if data + heap + stack exceeds RAM limit */
 	ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
 }
diff --git a/variants/arduino_zero/linker_scripts/gcc/flash_with_bootloader.ld b/variants/arduino_zero/linker_scripts/gcc/flash_with_bootloader.ld
index 246dec3ed5221f0d51930374fd1dc3a3e2d3cae2..8975430bc149feee0def443ffe1bc9f341061007 100644
--- a/variants/arduino_zero/linker_scripts/gcc/flash_with_bootloader.ld
+++ b/variants/arduino_zero/linker_scripts/gcc/flash_with_bootloader.ld
@@ -186,6 +186,8 @@ SECTIONS
 	__StackLimit = __StackTop - SIZEOF(.stack_dummy);
 	PROVIDE(__stack = __StackTop);
 
+	__ram_end__ = ORIGIN(RAM) + LENGTH(RAM) -1 ;
+
 	/* Check if data + heap + stack exceeds RAM limit */
 	ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
 }