Browse Source

fw: try to sanitize the linker script somewhat

ld is really weird in how it handles certain constructs. Try to make
life at least a little easier for ourselves.
H. Peter Anvin 3 years ago
parent
commit
603f4418f8
6 changed files with 1288 additions and 1288 deletions
  1. BIN
      fpga/output_files/max80.jbc
  2. BIN
      fpga/output_files/max80.jic
  3. BIN
      fpga/output_files/max80.pof
  4. BIN
      fpga/output_files/max80.sof
  5. 1282 1282
      fw/boot.mif
  6. 6 6
      fw/max80.ld

BIN
fpga/output_files/max80.jbc


BIN
fpga/output_files/max80.jic


BIN
fpga/output_files/max80.pof


BIN
fpga/output_files/max80.sof


File diff suppressed because it is too large
+ 1282 - 1282
fw/boot.mif


+ 6 - 6
fw/max80.ld

@@ -8,7 +8,7 @@
 OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv",
               "elf32-littleriscv")
 OUTPUT_ARCH(riscv)
-ENTRY(_start)
+ENTRY(___reset)
 
 MEMORY
 {
@@ -51,12 +51,12 @@ SECTIONS
 	.null 0 : {
 		PROVIDE(___NULL = .);
 		KEEP (*(SORT_NONE(.null)))
-	} >SRAM
+	}
 
 	.init.reset _PC_RESET : ALIGN(4) {
 		PROVIDE (___reset = .);
 		KEEP (*(SORT_NONE(.init.reset)))
-	} >SRAM
+	}
 
 	.init.irq _PC_IRQ : ALIGN(4) {
 		PROVIDE (___irq = .);
@@ -81,16 +81,16 @@ SECTIONS
 	. = ALIGN(32);
 	__BSS_START__ = .;
 	PROVIDE (__bss_start = .);
-	.sbss : ALIGN(4) {
+	.sbss (NOLOAD) : ALIGN(4) {
 		*(.dynsbss)
 		*(.sbss .sbss.* .gnu.linkonce.sb.*)
 		*(.scommon)
 	}
-	.sbss2          : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
+	.sbss2 (NOLOAD) : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
 
 	HIDDEN($assert_zero_page = ASSERT((. <= 2048), "zero page overflow"));
 
-	.bss : {
+	.bss (NOLOAD) : {
 		*(.dynbss)
 		*(.bss .bss.* .gnu.linkonce.b.*)
 		*(COMMON)

Some files were not shown because too many files changed in this diff