From 6335022e2062931771857bf84711dedcc32bc247 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 11 Mar 1997 15:42:59 +0000 Subject: updates from John Gwynne --- c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM | 110 ++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM (limited to 'c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM') diff --git a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM new file mode 100644 index 0000000000..e879396c8c --- /dev/null +++ b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM @@ -0,0 +1,110 @@ +/* linkcmds + * + * linkcmds,v 1.1 1995/09/20 15:04:47 joel Exp + */ + +OUTPUT_ARCH(m68k) +STARTUP(except_vect_332_ROM.o) +__DYNAMIC = 0; + +/* + * ROM: + * +--------------------+ <- low memory + * | .text | + * | etext | + * | ctor list | the ctor and dtor lists are for + * | dtor list | C++ support + * | _endtext | + * | temporary .data | .data is moved to RAM by crt0 + * | | + * +--------------------+ <- high memory + * + * + * RAM: + * +--------------------+ <- low memory + * | .data | initialized data goes here + * | _sdata | + * | _edata | + * +--------------------+ + * | .bss | + * | __bss_start | start of bss, cleared by crt0 + * | _end | start of heap, used by sbrk() + * +--------------------+ + * | heap space | + * | _ENDHEAP | + * | stack space | + * | __stack | top of stack + * +--------------------+ <- high memory + */ + +MEMORY +{ + rom : ORIGIN = 0x00000, LENGTH = 256K + ram : ORIGIN = 0x80000, LENGTH = 256K +} + +__end_of_ram = 0xc0000; +_copy_data_from_rom = 1; + +/* + * + */ +SECTIONS +{ + .text : + { + CREATE_OBJECT_SYMBOLS + text_start = .; + _text_start = .; + *(.text) + etext = ALIGN(0x10); + _etext = .; + __CTOR_LIST__ = .; + LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) + *(.ctors) + LONG(0) + __CTOR_END__ = .; + __DTOR_LIST__ = .; + LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) + *(.dtors) + LONG(0) + __DTOR_END__ = .; + *(.lit) + *(.shdata) + _endtext = .; + } > rom + .data : + AT ( ADDR(.text) + SIZEOF( .text ) ) + { + data_start = .; + _data_start = .; + _sdata = . ; + *(.data) + CONSTRUCTORS + edata = ALIGN(0x10); + _edata = .; + } > ram + .shbss : + { + *(.shbss) + } > ram + .bss : + { + __bss_start = ALIGN(0x8); + bss_start = .; + _bss_start = .; + *(.bss) + *(COMMON) + end = .; + _end = ALIGN(0x8); + __end = ALIGN(0x8); + } > ram + .stab . (NOLOAD) : + { + [ .stab ] + } + .stabstr . (NOLOAD) : + { + [ .stabstr ] + } +} -- cgit v1.2.3