source: rtems/c/src/lib/libbsp/mips/csb350/startup/linkcmds @ 7cde240

4.104.114.84.9
Last change on this file since 7cde240 was 7cde240, checked in by Jay Monkman <jtm@…>, on Feb 25, 2005 at 5:18:07 AM

2005-02-24 Jay Monkman <jtm@…>

  • acinclude.m4: Added csb350 to list of BSPs.
  • csb350/Makefile.am, csb350/README, csb350/bsp_specs, csb350/configure.ac, csb350/times, csb350/clock/clockdrv.c, csb350/console/console-io.c, csb350/include/bsp.h, csb350/include/tm27.h, csb350/network/network.c, csb350/start/regs.S, csb350/start/start.S, csb350/startup/bspclean.c, csb350/startup/bspstart.c, csb350/startup/linkcmds, csb350/timer/timer.c: New BSP.
  • Property mode set to 100644
File size: 3.9 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_StackSize = DEFINED(_StackSize) ? _StackSize : 0x4000;
14
15_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0x80400000;
16_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 12M;
17
18
19MEMORY
20{
21   ram      : ORIGIN = 0x80400000, LENGTH = 4M
22}
23
24SECTIONS
25{
26    .text :
27    {
28       _ftext = . ;
29
30      */start.o(.text)
31
32      *(.text)
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    *(.sdata.*)
147    *(.gnu.linkonce.s*)
148  } >ram 
149
150  .sbss :
151  {
152   edata  =  .;
153   _edata  =  .;
154   _fbss = .;
155    *(.sbss)
156    *(.scommon)
157  } >ram   
158
159
160  .bss :
161  {
162    _bss_start = . ;
163    *(.bss)
164    *(.reginfo)
165    *(COMMON)
166    . = ALIGN (64);
167    _stack_limit = .;
168    . += _StackSize;
169    __stack = .;
170    _stack_init = .;
171    _clear_end = .;
172    end = .;
173    _end = .;
174    . = ALIGN (1024);
175    _bss_free_start = .;
176   
177  } >ram   
178
179
180/*
181** DWARF debug sections.
182** Symbols in the DWARF debugging sections are relative to
183** the beginning of the section so we begin them at 0. 
184*/
185
186  /* DWARF 1 */
187  .debug          0 : { *(.debug) }
188  .line           0 : { *(.line) }
189
190  /* GNU DWARF 1 extensions */
191  .debug_srcinfo  0 : { *(.debug_srcinfo) }
192  .debug_sfnames  0 : { *(.debug_sfnames) }
193
194  /* DWARF 1.1 and DWARF 2 */
195  .debug_aranges  0 : { *(.debug_aranges) }
196  .debug_pubnames 0 : { *(.debug_pubnames) }
197
198  /* DWARF 2 */
199  .debug_info     0 : { *(.debug_info) }   
200  .debug_abbrev   0 : { *(.debug_abbrev) } 
201  .debug_line     0 : { *(.debug_line) }   
202  .debug_frame    0 : { *(.debug_frame)}   
203  .debug_str      0 : { *(.debug_str) }     
204  .debug_loc      0 : { *(.debug_loc) }     
205  .debug_macinfo  0 : { *(.debug_macinfo) }
206
207  /* SGI/MIPS DWARF 2 extensions */
208  .debug_weaknames 0 : { *(.debug_weaknames) }
209  .debug_funcnames 0 : { *(.debug_funcnames) }
210  .debug_typenames 0 : { *(.debug_typenames) }
211  .debug_varnames  0 : { *(.debug_varnames) } 
212}
Note: See TracBrowser for help on using the repository browser.