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

4.104.114.84.95
Last change on this file since ddd9abf was 0ea3293, checked in by Joel Sherrill <joel.sherrill@…>, on 03/01/02 at 16:21:52

2002-02-27 Greg Menke <gregory.menke@…>

  • start/start.S: Added kseg1 test to enable cache flush code
  • bsp_specs: Added -qnostartfile to disable including bsp's start.o
  • startup/bspstart.c: Made clear_cache actually work, tweaked cpu init to only turn on whats needed.
  • startup/gdb-support.c: Added calls to uart 2 for gdb stub I/O and a handy init function.
  • Property mode set to 100644
File size: 3.7 KB
Line 
1/*
2 *  Linker script for Mongoose-V prototyping board.
3 *  See README for address map details.
4 *
5 *  $Id$
6 */
7
8/*    . = 0x80020000; */
9
10/*
11 * Declare some sizes.
12 */
13
14_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000000;
15_RamSize = DEFINED(_RamSize) ? _RamSize : 32M;
16HeapSize = DEFINED(HeapSize) ? HeapSize : 0x40000;
17_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
18ClockRate = DEFINED(ClockRate) ? ClockRate : 12000000;
19
20
21
22MEMORY
23{
24   ram      : ORIGIN = 0x80020000, LENGTH = 4M
25}
26
27SECTIONS
28{
29    .text :
30    {
31       _ftext = . ;
32      *(.init)
33       eprol  =  .;
34      *(.text)
35      *(.text.*)
36      *(.gnu.linkonce.t*)
37      *(.mips16.fn.*)
38      *(.mips16.call.*)
39      PROVIDE (__runtime_reloc_start = .);
40      *(.rel.sdata)
41      *(.rel.dyn)
42      PROVIDE (__runtime_reloc_stop = .);
43      *(.fini)
44      *(.gcc_except_table)
45    } >ram 
46
47  .ctors    :
48  {
49    /* gcc uses crtbegin.o to find the start of
50       the constructors, so we make sure it is
51       first.  Because this is a wildcard, it
52       doesn't matter if the user does not
53       actually link against crtbegin.o; the
54       linker won't look for a file to match a
55       wildcard.  The wildcard also means that it
56       doesn't matter which directory crtbegin.o
57       is in.  */
58
59    KEEP (*crtbegin.o(.ctors))
60
61    /* We don't want to include the .ctor section from
62       from the crtend.o file until after the sorted ctors.
63       The .ctor section from the crtend file contains the
64       end of ctors marker and it must be last */
65
66    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
67    KEEP (*(SORT(.ctors.*)))
68    KEEP (*(.ctors))
69  } >ram 
70
71  .dtors    :
72  {
73    KEEP (*crtbegin.o(.dtors))
74    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
75    KEEP (*(SORT(.dtors.*)))
76    KEEP (*(.dtors))
77
78    etext  =  .;
79    _etext  =  .;
80  } >ram 
81
82
83
84  .rdata :
85  {
86    *(.rdata)
87    *(.rodata)
88    *(.rodata.*)
89    *(.gnu.linkonce.r*)
90  } >ram 
91
92  .data :
93  {
94    _fdata = ALIGN(16);
95
96    *(.data)
97    *(.data.*)
98    *(.gnu.linkonce.d*)
99  } >ram 
100
101
102  .lit8 :
103  {
104    . = ALIGN(8);
105
106    _gp = . + 0x8000;
107    __global = _gp;
108    *(.lit8)
109  } >ram 
110
111  .lit4 :
112  {
113    *(.lit4)
114  } >ram   
115
116  .sdata :   
117  {
118    *(.sdata)
119    *(.sdata.*)
120    *(.gnu.linkonce.s*)
121  } >ram 
122
123  .sbss :
124  {
125   edata  =  .;
126   _edata  =  .;
127   _fbss = .;
128    *(.sbss)
129    *(.scommon)
130  } >ram   
131
132
133  .bss :
134  {
135    _bss_start = . ;
136    *(.bss)
137    *(.reginfo)
138    *(COMMON)
139    . = ALIGN (64);
140    _stack_limit = .;
141    . += _StackSize;
142    __stack = .;
143    _stack_init = .;
144    _clear_end = .;
145    HeapBase = .;
146    . += HeapSize;    /* reserve some memory for heap */
147    WorkspaceBase = .;
148    end = .;
149    _end = .;
150  } >ram   
151
152
153/*
154** DWARF debug sections.
155** Symbols in the DWARF debugging sections are relative to
156** the beginning of the section so we begin them at 0. 
157*/
158
159  /* DWARF 1 */
160  .debug          0 : { *(.debug) }
161  .line           0 : { *(.line) }
162
163  /* GNU DWARF 1 extensions */
164  .debug_srcinfo  0 : { *(.debug_srcinfo) }
165  .debug_sfnames  0 : { *(.debug_sfnames) }
166
167  /* DWARF 1.1 and DWARF 2 */
168  .debug_aranges  0 : { *(.debug_aranges) }
169  .debug_pubnames 0 : { *(.debug_pubnames) }
170
171  /* DWARF 2 */
172  .debug_info     0 : { *(.debug_info) }   
173  .debug_abbrev   0 : { *(.debug_abbrev) } 
174  .debug_line     0 : { *(.debug_line) }   
175  .debug_frame    0 : { *(.debug_frame)}   
176  .debug_str      0 : { *(.debug_str) }     
177  .debug_loc      0 : { *(.debug_loc) }     
178  .debug_macinfo  0 : { *(.debug_macinfo) }
179
180  /* SGI/MIPS DWARF 2 extensions */
181  .debug_weaknames 0 : { *(.debug_weaknames) }
182  .debug_funcnames 0 : { *(.debug_funcnames) }
183  .debug_typenames 0 : { *(.debug_typenames) }
184  .debug_varnames  0 : { *(.debug_varnames) } 
185}
Note: See TracBrowser for help on using the repository browser.