diff options
Diffstat (limited to 'c/src/lib/libbsp/m68k/mrm332/startup/linkcmds_ROM')
-rw-r--r-- | c/src/lib/libbsp/m68k/mrm332/startup/linkcmds_ROM | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/c/src/lib/libbsp/m68k/mrm332/startup/linkcmds_ROM b/c/src/lib/libbsp/m68k/mrm332/startup/linkcmds_ROM deleted file mode 100644 index 48b2f3f46e..0000000000 --- a/c/src/lib/libbsp/m68k/mrm332/startup/linkcmds_ROM +++ /dev/null @@ -1,212 +0,0 @@ -/* linkcmds - */ - -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 = 0x90000, LENGTH = 0x70000 - ram : ORIGIN = 0x03000, LENGTH = 0x7d000 -} - -RamBase = DEFINED(RamBase) ? RamBase : 0x003000; -RamSize = DEFINED(RamSize) ? RamSize : 0x7d000; -_RamEnd = RamBase + RamSize; - -__end_of_ram = 0x080000; -_copy_data_from_rom = 1; -HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0; -_StackSize = DEFINED(_StackSize) ? _StackSize : 0x2000; - -/* - * - */ -SECTIONS -{ - .text : - { - . = .; - CREATE_OBJECT_SYMBOLS - text_start = .; - _text_start = .; - *(.text*) - . = ALIGN (16); - - - /* - * Initialization and finalization code. - * - * Various files can provide initialization and finalization - * functions. crtbegin.o and crtend.o are two instances. The - * body of these functions are in .init and .fini sections. We - * accumulate the bodies here, and prepend function prologues - * from crti.o and function epilogues from crtn.o. crti.o must - * be linked first; crtn.o must be linked last. Because these - * are wildcards, it doesn't matter if the user does not - * actually link against crti.o and crtn.o; the linker won't - * look for a file to match a wildcard. The wildcard also - * means that it doesn't matter which directory crti.o and - * crtn.o are in. - */ - PROVIDE (_init = .); - *crti.o(.init) - *(.init) - *crtn.o(.init) - PROVIDE (_fini = .); - *crti.o(.fini) - *(.fini) - *crtn.o(.fini) - - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); - - /* - * C++ constructors/destructors - * - * gcc uses crtbegin.o to find the start of the constructors - * and destructors so we make sure it is first. Because this - * is a wildcard, it doesn't matter if the user does not - * actually link against crtbegin.o; the linker won't look for - * a file to match a wildcard. The wildcard also means that - * it doesn't matter which directory crtbegin.o is in. The - * constructor and destructor list are terminated in - * crtend.o. The same comments apply to it. - */ - . = ALIGN (16); - *crtbegin.o(.ctors) - *(.ctors) - *crtend.o(.ctors) - *crtbegin.o(.dtors) - *(.dtors) - *crtend.o(.dtors) - - *(.eh_frame) - . = ALIGN (16); - - /* - * Read-only data - */ - . = ALIGN (16); - _rodata_start = . ; - *(.rodata*) - *(.gnu.linkonce.r*) - - etext = ALIGN(0x10); - __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) - _etext = .; - _endtext = .; - } > rom - .tdata : { - _TLS_Data_begin = .; - *(.tdata .tdata.* .gnu.linkonce.td.*) - _TLS_Data_end = .; - } > rom - .tbss : { - _TLS_BSS_begin = .; - *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) - _TLS_BSS_end = .; - } > rom - _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin; - _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin; - _TLS_Size = _TLS_BSS_end - _TLS_Data_begin; - _TLS_Alignment = ALIGNOF (.tdata); - .gcc_exc : - AT ( ADDR(.tdata) + SIZEOF( .tdata ) ) - { - *(.gcc_exc) - } > ram - .data : - { - data_start = .; - _data_start = .; - _copy_start = .; - _sdata = . ; - *(.data) - *(.gnu.linkonce.d*) - *(.gcc_except_table*) - *(.jcr) - - CONSTRUCTORS - edata = ALIGN(0x10); - _edata = .; - } > ram - .shbss : - { - *(.shbss) - } > ram - .bss : - { - __bss_start = ALIGN(0x8); - bss_start = .; - _bss_start = .; - _clear_start = .; - *(.shbss) - *(.dynbss) - *(.bss* .gnu.linkonce.b.*) - *(COMMON) - . = ALIGN (16); - end = .; - _end = ALIGN(0x8); - __end = ALIGN(0x8); - - WorkAreaBase = . + _StackSize; - } > ram - .stab . (NOLOAD) : - { - [ .stab ] - } - .stabstr . (NOLOAD) : - { - [ .stabstr ] - } -} |