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

4.104.115
Last change on this file since 91b8fcfb was 91b8fcfb, checked in by Joel Sherrill <joel.sherrill@…>, on 09/16/08 at 21:14:25

2008-09-16 Joel Sherrill <joel.sherrill@…>

  • Makefile.am, startup/linkcmds: Use top level shared bsp_get_work_area() implementation.
  • startup/bspgetworkarea.c: Removed.
  • Property mode set to 100644
File size: 4.0 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
14RamBase = DEFINED(RamBase) ? RamBase : 0x80000000;
15RamSize = DEFINED(RamSize) ? RamSize : 32M;
16HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
17_StackSize = DEFINED(_StackSize) ? _StackSize : 0x4000;
18ClockRate = DEFINED(ClockRate) ? ClockRate : 12000000;
19
20MEMORY
21{
22   ram      : ORIGIN = 0x80020000, LENGTH = 4M
23}
24
25SECTIONS
26{
27    .text :
28    {
29       _ftext = . ;
30
31      */start.o(.text)
32
33      *(.text*)
34      *(.gnu.linkonce.t*)
35      *(.mips16.fn.*)
36      *(.mips16.call.*)
37      PROVIDE (__runtime_reloc_start = .);
38      *(.rel.sdata)
39      *(.rel.dyn)
40      PROVIDE (__runtime_reloc_stop = .);
41
42      /*
43       * Special FreeBSD sysctl sections.
44       */
45      . = ALIGN (16);
46      __start_set_sysctl_set = .;
47      *(set_sysctl_*);
48      __stop_set_sysctl_set = ABSOLUTE(.);
49      *(set_domain_*);
50      *(set_pseudo_*);
51
52      *(.gcc_except_table*)
53      *(.eh_frame_hdr)
54      *(.eh_frame)
55    } >ram 
56
57  .init :
58  {
59     KEEP(*(.init))
60
61  } > ram
62
63  .fini :
64  {
65     KEEP(*(.fini))
66
67  }  > ram
68
69
70  .ctors    :
71  {
72    /* gcc uses crtbegin.o to find the start of
73       the constructors, so we make sure it is
74       first.  Because this is a wildcard, it
75       doesn't matter if the user does not
76       actually link against crtbegin.o; the
77       linker won't look for a file to match a
78       wildcard.  The wildcard also means that it
79       doesn't matter which directory crtbegin.o
80       is in.  */
81
82    KEEP (*crtbegin.o(.ctors))
83
84    /* We don't want to include the .ctor section from
85       from the crtend.o file until after the sorted ctors.
86       The .ctor section from the crtend file contains the
87       end of ctors marker and it must be last */
88
89    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
90    KEEP (*(SORT(.ctors.*)))
91    KEEP (*(.ctors))
92  } >ram 
93
94  .dtors    :
95  {
96    KEEP (*crtbegin.o(.dtors))
97    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
98    KEEP (*(SORT(.dtors.*)))
99    KEEP (*(.dtors))
100
101    etext  =  .;
102    _etext  =  .;
103  } >ram 
104
105
106
107  .rdata :
108  {
109    *(.rdata)
110    *(.rodata)
111    *(.rodata.*)
112    *(.gnu.linkonce.r*)
113  } >ram 
114
115  .data :
116  {
117    _fdata = ALIGN(16);
118
119    *(.data)
120    *(.data.*)
121    *(.gnu.linkonce.d*)
122  } >ram 
123
124  .jcr :
125  {
126    . = ALIGN(8);
127    KEEP (*(.jcr))
128
129    _gp = ALIGN(16) + 0x7440;
130    __global = _gp;
131  } >ram
132
133  .lit8 :
134  {
135    *(.lit8)
136  } >ram 
137
138  .lit4 :
139  {
140    *(.lit4)
141  } >ram   
142
143  .sdata :   
144  {
145    *(.sdata*)
146    *(.gnu.linkonce.s*)
147  } >ram 
148
149  .sbss :
150  {
151   edata  =  .;
152   _edata  =  .;
153   _fbss = .;
154    *(.sbss*)
155    *(.scommon)
156  } >ram   
157
158
159  .bss :
160  {
161    _bss_start = . ;
162    *(.bss .bss.* .gnu.linkonce.b.*)
163    *(.reginfo)
164    *(COMMON)
165    . = ALIGN (64);
166    _stack_limit = .;
167    . += _StackSize;
168    __stack = .;
169    _stack_init = .;
170    _clear_end = .;
171    WorkAreaBase = .;
172    end = .;
173    _end = .;
174  } >ram   
175
176
177/*
178** DWARF debug sections.
179** Symbols in the DWARF debugging sections are relative to
180** the beginning of the section so we begin them at 0. 
181*/
182
183  /* DWARF 1 */
184  .debug          0 : { *(.debug) }
185  .line           0 : { *(.line) }
186
187  /* GNU DWARF 1 extensions */
188  .debug_srcinfo  0 : { *(.debug_srcinfo) }
189  .debug_sfnames  0 : { *(.debug_sfnames) }
190
191  /* DWARF 1.1 and DWARF 2 */
192  .debug_aranges  0 : { *(.debug_aranges) }
193  .debug_pubnames 0 : { *(.debug_pubnames) }
194
195  /* DWARF 2 */
196  .debug_info     0 : { *(.debug_info) }   
197  .debug_abbrev   0 : { *(.debug_abbrev) } 
198  .debug_line     0 : { *(.debug_line) }   
199  .debug_frame    0 : { *(.debug_frame)}   
200  .debug_str      0 : { *(.debug_str) }     
201  .debug_loc      0 : { *(.debug_loc) }     
202  .debug_macinfo  0 : { *(.debug_macinfo) }
203
204  /* SGI/MIPS DWARF 2 extensions */
205  .debug_weaknames 0 : { *(.debug_weaknames) }
206  .debug_funcnames 0 : { *(.debug_funcnames) }
207  .debug_typenames 0 : { *(.debug_typenames) }
208  .debug_varnames  0 : { *(.debug_varnames) } 
209}
Note: See TracBrowser for help on using the repository browser.