From 07e6abe5d5a1813298805bea2bf9d62ad895aaaa Mon Sep 17 00:00:00 2001
From: Uros Majstorovic <majstor@majstor.org>
Date: Sun, 4 Sep 2022 18:31:42 +0200
Subject: fixed linker script

---
 fw/fe310/bsp/default.lds | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/fw/fe310/bsp/default.lds b/fw/fe310/bsp/default.lds
index 7beb458..e8026f9 100644
--- a/fw/fe310/bsp/default.lds
+++ b/fw/fe310/bsp/default.lds
@@ -145,11 +145,6 @@ SECTIONS
 	 * memory into a read-write-capable memory such as data tightly-integrated
 	 * memory (DTIM) or another main memory, as well as the BSS, stack, and
 	 * heap.
-	 *
-	 * You might notice that .data, .tdata, .tbss, .tbss_space, and .bss all
-	 * have an apparently unnecessary ALIGN at their top. This is because
-	 * the implementation of _start in Freedom Metal libgloss depends on the
-	 * ADDR and LOADADDR being 8-byte aligned.
 	 */
 
 	.data : {
@@ -179,7 +174,7 @@ SECTIONS
 	.stack (NOLOAD) : ALIGN(16) {
 		. += __stack_size;
 		PROVIDE( _sp = . );
-	} >ram :ram
+	} >ram AT>ram :ram
 
 	PROVIDE( metal_segment_stack_start = ADDR(.stack) );
 	PROVIDE( metal_segment_stack_end = ADDR(.stack) + SIZEOF(.stack) );
@@ -191,7 +186,7 @@ SECTIONS
 		. = LENGTH(ram) - ( . - ORIGIN(ram));
 		PROVIDE( _heap_end = . );
 		PROVIDE( __heap_end = . );
-	} >ram :ram
+	} >ram AT>ram :ram
 
 	PROVIDE( metal_segment_heap_start = ADDR(.heap) );
 	PROVIDE( metal_segment_heap_end = ADDR(.heap) + SIZEOF(.heap) );
-- 
cgit v1.2.3