summaryrefslogtreecommitdiff
path: root/sys/arch/loongson/stand/boot/ld.script
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/loongson/stand/boot/ld.script')
-rw-r--r--sys/arch/loongson/stand/boot/ld.script28
1 files changed, 28 insertions, 0 deletions
diff --git a/sys/arch/loongson/stand/boot/ld.script b/sys/arch/loongson/stand/boot/ld.script
new file mode 100644
index 00000000000..50977c3f8df
--- /dev/null
+++ b/sys/arch/loongson/stand/boot/ld.script
@@ -0,0 +1,28 @@
+OUTPUT_FORMAT("elf64-tradlittlemips")
+OUTPUT_ARCH(mips)
+ENTRY(__start)
+
+SECTIONS
+{
+ /*
+ * Load at 30MB; should be more than enough to be able to load the
+ * kernel image without overwriting ourselves.
+ */
+ . = 0xffffffff81e20000 + SIZEOF_HEADERS;
+ .text : { *(.text .text.* .gnu.linkonce.t.*) }
+ PROVIDE (etext = .);
+ .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
+ _gp = ALIGN(16) + 0x7ff0;
+ .data : { *(.data .data.* .gnu.linkonce.d.*) }
+ PROVIDE (edata = .);
+ .sbss : { *(.sbss .sbss.* .gnu.linkonce.sb.* .scommon) }
+ .bss : { *(.bss .bss.* .gnu.linkonce.b.* COMMON) }
+ PROVIDE (_end = .);
+ PROVIDE (end = .);
+ /DISCARD/ :
+ {
+ *(.pdr)
+ *(.mdebug.abi64)
+ *(.MIPS.options)
+ }
+}