source: rtems/c/src/lib/libbsp/mips/csb350/startup/linkcmds @ 2b2e3ef5

4.104.115
Last change on this file since 2b2e3ef5 was 2b2e3ef5, checked in by Joel Sherrill <joel.sherrill@…>, on 04/27/10 at 17:11:10

2010-04-27 Joel Sherrill <joel.sherrill@…>

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