diff options
author | Jay Monkman <jtm@smoothsmoothie.com> | 2004-08-03 05:01:51 +0000 |
---|---|---|
committer | Jay Monkman <jtm@smoothsmoothie.com> | 2004-08-03 05:01:51 +0000 |
commit | 02e708dc257687b6fe5eb624af9020e688094085 (patch) | |
tree | bf62686a2df10a6069e834c0d10e62c4a0159658 /c/src/lib/libbsp/m68k/csb360/startup/linkcmds | |
parent | 2004-08-02 Jay Monkman <jtm@lopingdog.com> (diff) | |
download | rtems-02e708dc257687b6fe5eb624af9020e688094085.tar.bz2 |
2004-08-03 Jay Monkman <jtm@lopingdog.com>
* .cvsignore, ChangeLog, Makefile.am, README, bsp_specs, configure.ac,
times, console/.cvsignore, console/console-io.c, include/.cvsignore,
include/bsp.h, include/coverhd.h, include/tm27.h, network/network.c,
start/.cvsignore, start/start.S, startup/.cvsignore,
startup/bspclean.c, startup/bspstart.c, startup/init5272.c,
startup/linkcmds: New files.
Diffstat (limited to 'c/src/lib/libbsp/m68k/csb360/startup/linkcmds')
-rw-r--r-- | c/src/lib/libbsp/m68k/csb360/startup/linkcmds | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/m68k/csb360/startup/linkcmds b/c/src/lib/libbsp/m68k/csb360/startup/linkcmds new file mode 100644 index 0000000000..2ff43f115a --- /dev/null +++ b/c/src/lib/libbsp/m68k/csb360/startup/linkcmds @@ -0,0 +1,149 @@ +/* + * This file contains GNU linker directives for the Cogent + * CSB360 development board. + * + * Copyright (C) 2004 Cogent Computer Systems + * Author: Jay Monkman <jtm@lopingdog.com> + * + * linkcmds,v 1.4 2003/01/20 20:19:50 joel Exp + */ + +/* + * Declare size of heap. + * A heap size of 0 means "Use all available memory for the heap". + * Initial stack located in on-chip SRAM and not declared there. + */ +_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0; +_RamSize = DEFINED(_RamSize) ? _RamSize : 31M; + +/* This is needed for _CPU_ISR_install_vector - +* WARNING: it MUST match BSP_RAMBAR !!!!!!!!!!! */ +_VBR = 0x20000000; + +/* + * Setup the memory map of the CSB360 board + * + * The "ram" section is placed in RAM after the space used by umon. + * + */ +MEMORY +{ + ram : ORIGIN = 0x00100000, LENGTH = 31M +} + +SECTIONS +{ + + /* + * Text, data and bss segments + */ + .text : + { + _RamBase = .; + __RamBase = .; + CREATE_OBJECT_SYMBOLS + *(.text) + + /* + * C++ constructors/destructors + */ + *(.gnu.linkonce.t.*) + + /* + * Initialization and finalization code. + */ + . = ALIGN (16); + PROVIDE (_init = .); + *crti.o(.init) + *(.init) + *crtn.o(.init) + . = ALIGN (16); + 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 + */ + . = ALIGN (16); + *crtbegin.o(.ctors) + *(.ctors) + *crtend.o(.ctors) + *crtbegin.o(.dtors) + *(.dtors) + *crtend.o(.dtors) + + /* + * Exception frame info + */ + . = ALIGN (16); + *(.eh_frame) + + /* + * Read-only data + */ + . = ALIGN (16); + _rodata_start = .; + *(.rodata*) + *(.gnu.linkonce.r*) + + . = ALIGN (16); + PROVIDE (etext = .); + + } > ram + + .data : + { + copy_start = .; + *(.shdata) + . = ALIGN (0x10); + *(.data) + . = ALIGN (0x10); + *(.gcc_exc) + *(.gcc_except_table) + *(.jcr) + . = ALIGN (0x10); + *(.gnu.linkonce.d*) + . = ALIGN (0x10); + _edata = .; + copy_end = .; + } > ram + + .bss : + { + clear_start = . ; + *(.shbss) + *(.bss) + *(COMMON) + . = ALIGN(0x10); + _end = .; + + clear_end = .; + + _WorkspaceBase = .; + __WorkspaceBase = .; + + } > ram + + .stab 0 (NOLOAD) : + { + *(.stab) + } + + .stabstr 0 (NOLOAD) : + { + *(.stabstr) + } + +} |