From 26a9fad667614c55bfdb73ebabd3a9c3fb59edb6 Mon Sep 17 00:00:00 2001
From: Paolo Pisati
Date: Tue, 10 Jul 2018 17:29:37 +0000
Subject: [PATCH] v68-banked: import missing fuzix.ld from v68
Signed-off-by: Paolo Pisati
---
Kernel/platform-v68-banked/fuzix.ld | 87 +++++++++++++++++++++++++++++
1 file changed, 87 insertions(+)
create mode 100644 Kernel/platform-v68-banked/fuzix.ld
diff --git a/Kernel/platform-v68-banked/fuzix.ld b/Kernel/platform-v68-banked/fuzix.ld
new file mode 100644
index 00000000..b02ba91e
--- /dev/null
+++ b/Kernel/platform-v68-banked/fuzix.ld
@@ -0,0 +1,87 @@
+STARTUP(crt0.o)
+OUTPUT_ARCH(m68k)
+
+SEARCH_DIR(.)
+
+MEMORY
+{
+ ram (rwx) : ORIGIN = 0x2000, LENGTH = 0x80000-0x2000
+}
+
+/*
+ * stick everything in ram (of course)
+ */
+SECTIONS
+{
+ .text :
+ {
+ CREATE_OBJECT_SYMBOLS
+ *(.text .text.*)
+
+ . = ALIGN(0x4);
+ /* These are for running static constructors and destructors under ELF. */
+ KEEP (*crtbegin.o(.ctors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ KEEP (*crtbegin.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+
+ *(.rodata .rodata.*)
+
+ . = ALIGN(0x4);
+ *(.gcc_except_table)
+
+ . = ALIGN(0x4);
+ *(.eh_frame)
+
+ . = ALIGN(0x4);
+ __INIT_SECTION__ = . ;
+ LONG (0x4e560000) /* linkw %fp,#0 */
+ *(.init)
+ SHORT (0x4e5e) /* unlk %fp */
+ SHORT (0x4e75) /* rts */
+
+ . = ALIGN(0x4);
+ __FINI_SECTION__ = . ;
+ LONG (0x4e560000) /* linkw %fp,#0 */
+ *(.fini)
+ SHORT (0x4e5e) /* unlk %fp */
+ SHORT (0x4e75) /* rts */
+
+ . = ALIGN(0x4);
+ _etext = .;
+ *(.lit)
+ } > ram
+
+ .data :
+ {
+ *(.got.plt) *(.got)
+ *(.shdata)
+ *(.data .data.*)
+ _edata = .;
+ } > ram
+
+ .bss :
+ {
+ . = ALIGN(0x4);
+ __bss_start = . ;
+ *(.shbss)
+ *(.bss .bss.*)
+ *(COMMON)
+ _end = ALIGN (0x8);
+ __end = _end;
+ } > ram
+
+ .stab 0 (NOLOAD) :
+ {
+ *(.stab)
+ }
+
+ .stabstr 0 (NOLOAD) :
+ {
+ *(.stabstr)
+ }
+}
--
2.34.1