source: rtems/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds @ f849f3e

4.104.114.84.95
Last change on this file since f849f3e was f849f3e, checked in by Joel Sherrill <joel.sherrill@…>, on 03/14/01 at 17:19:53

2001-02-22 Joel Sherrill <joel@…>

  • The Generic Mongoose-V BSP uses only the peripherals found on the Synova Mongoose-V CPU. This is a radiation hardened CPU based on the LSI Logic 33K.
  • .cvsignore, ChangeLog?, Makefile.am, README, bsp_specs, configure.in, clock/.cvsignore, clock/Makefile.am, clock/clockdrv.c, console/.cvsignore, console/Makefile.am, console/conscfg.c, include/.cvsignore, include/Makefile.am, include/bsp.h, start/.cvsignore, start/Makefile.am, start/regs.S, start/start.S, startup/.cvsignore, startup/Makefile.am, startup/bspstart.c, startup/linkcmds, timer/.cvsignore, timer/Makefile.am, timer/timer.c, wrapup/.cvsignore, wrapup/Makefile.am: New files.
  • Property mode set to 100644
File size: 3.7 KB
RevLine 
[f849f3e]1/*
2 *  Linker script for Mongoose-V prototyping board.
3 *  See README for address map details.
4 *
5 *  $Id$
6 */
7
8/*
9 * Declare some sizes.
10 */
11_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000000;
12_RamSize = DEFINED(_RamSize) ? _RamSize : 32M;
13HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
14_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
15ClockRate = DEFINED(ClockRate) ? ClockRate : 12000000;
16
17SECTIONS
18{
19    . = 0x80000000;
20    .text :
21    {
22       _ftext = . ;
23      *(.init)
24       eprol  =  .;
25      *(.text)
26      *(.text.*)
27      *(.gnu.linkonce.t*)
28      *(.mips16.fn.*)
29      *(.mips16.call.*)
30      PROVIDE (__runtime_reloc_start = .);
31      *(.rel.sdata)
32      PROVIDE (__runtime_reloc_stop = .);
33      *(.fini)
34       etext  =  .;
35       _etext  =  .;
36    } 
37  .ctors    :
38  {
39    /* gcc uses crtbegin.o to find the start of
40       the constructors, so we make sure it is
41       first.  Because this is a wildcard, it
42       doesn't matter if the user does not
43       actually link against crtbegin.o; the
44       linker won't look for a file to match a
45       wildcard.  The wildcard also means that it
46       doesn't matter which directory crtbegin.o
47       is in.  */
48
49    KEEP (*crtbegin.o(.ctors))
50
51    /* We don't want to include the .ctor section from
52       from the crtend.o file until after the sorted ctors.
53       The .ctor section from the crtend file contains the
54       end of ctors marker and it must be last */
55
56    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
57    KEEP (*(SORT(.ctors.*)))
58    KEEP (*(.ctors))
59  }
60
61  .dtors    :
62  {
63    KEEP (*crtbegin.o(.dtors))
64    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
65    KEEP (*(SORT(.dtors.*)))
66    KEEP (*(.dtors))
67  }
68
69    . = .;
70  .rdata : {
71    *(.rdata)
72    *(.rodata)
73    *(.rodata.*)
74    *(.gnu.linkonce.r*)
75  }
76   _fdata = ALIGN(16);
77  .data : {
78    *(.data)
79    *(.data.*)
80    *(.gnu.linkonce.d*)
81  }
82  . = ALIGN(8);
83  _gp = . + 0x8000;
84  __global = _gp;
85  .lit8 : {
86    *(.lit8)
87  }
88  .lit4 : {
89    *(.lit4)
90  }
91  .sdata : {
92    *(.sdata)
93    *(.sdata.*)
94    *(.gnu.linkonce.s*)
95  }
96  . = ALIGN(4);
97   edata  =  .;
98   _edata  =  .;
99   _fbss = .;
100  .sbss : {
101    *(.sbss)
102    *(.scommon)
103  }
104  .bss : {
105    _bss_start = . ;
106    *(.bss)
107    *(COMMON)
108    . = ALIGN (64);
109    _stack_limit = .;
110    . += _StackSize;
111    __stack = .;
112    _stack_init = .;
113    _clear_end = .;
114    WorkspaceBase = .;
115     /* HACK -- tied to value bspstart */
116    . += 4096K;    /* reserve some memory for workspace */
117    HeapBase = .;
118    . += HeapSize;    /* reserve some memory for heap */
119  }
120 end = .;
121 _end = .;
122
123
124/* Put starting stack in SRAM (8 Kb); this size is the same as the stack from
125      the original script (when everything was in SRAM). */
126   /* __stack = 0x8000A000; */
127  /* DWARF debug sections.
128     Symbols in the DWARF debugging sections are relative to
129     the beginning of the section so we begin them at 0.  */
130
131  /* DWARF 1 */
132  .debug          0 : { *(.debug) }
133  .line           0 : { *(.line) }
134
135  /* GNU DWARF 1 extensions */
136  .debug_srcinfo  0 : { *(.debug_srcinfo) }
137  .debug_sfnames  0 : { *(.debug_sfnames) }
138
139  /* DWARF 1.1 and DWARF 2 */
140  .debug_aranges  0 : { *(.debug_aranges) }
141  .debug_pubnames 0 : { *(.debug_pubnames) }
142
143  /* DWARF 2 */
144  .debug_info     0 : { *(.debug_info) }
145  .debug_abbrev   0 : { *(.debug_abbrev) }
146  .debug_line     0 : { *(.debug_line) }
147  .debug_frame    0 : { *(.debug_frame) }
148  .debug_str      0 : { *(.debug_str) }
149  .debug_loc      0 : { *(.debug_loc) }
150  .debug_macinfo  0 : { *(.debug_macinfo) }
151
152  /* SGI/MIPS DWARF 2 extensions */
153  .debug_weaknames 0 : { *(.debug_weaknames) }
154  .debug_funcnames 0 : { *(.debug_funcnames) }
155  .debug_typenames 0 : { *(.debug_typenames) }
156  .debug_varnames  0 : { *(.debug_varnames) }
157}
Note: See TracBrowser for help on using the repository browser.