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