diff options
Diffstat (limited to 'c/src/lib/libbsp/i960/i960sim/startup/linkcmds')
-rw-r--r-- | c/src/lib/libbsp/i960/i960sim/startup/linkcmds | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/i960/i960sim/startup/linkcmds b/c/src/lib/libbsp/i960/i960sim/startup/linkcmds new file mode 100644 index 0000000000..1cdbef44cf --- /dev/null +++ b/c/src/lib/libbsp/i960/i960sim/startup/linkcmds @@ -0,0 +1,55 @@ +/* + * $Id$ + */ + +/* + * Declare some sizes. + */ +_RamBase = DEFINED(_RamBase) ? _RamBase : 0x0; +_RamSize = DEFINED(_RamSize) ? _RamSize : 1M; +_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000; +_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000; + +SECTIONS +{ + . = 0xa0008000; + .text : + { + CREATE_OBJECT_SYMBOLS + *(.text) + _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__ = .; + } + .data SIZEOF(.text) + ADDR(.text): + { + *(.data) + CONSTRUCTORS + _edata = .; + } + .bss SIZEOF(.data) + ADDR(.data): + { + _bss_start = .; + *(.bss) + *(COMMON) + . = ALIGN (64); + _stack_init = .; + . += _StackSize; + _clear_end = .; + _WorkspaceBase = .; + . += 512K; /* reserve some memory for workspace */ + _HeapBase = .; + . += _HeapSize; /* reserve some memory for heap */ + _end = .; + __end = .; + } +} |