source: rtems/c/src/lib/libbsp/arm/vegaplus/startup/linkcmds @ cc3de44e

4.104.114.84.95
Last change on this file since cc3de44e was cc3de44e, checked in by Joel Sherrill <joel.sherrill@…>, on Mar 3, 2004 at 2:20:36 PM

2004-03-03 Joel Sherrill <joel@…>

  • startup/linkcmds: Add more memory so tests can link. This is a generic BSP for a CPU model so OK to do this.
  • Property mode set to 100644
File size: 7.0 KB
Line 
1OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
2              "elf32-littlearm")
3OUTPUT_ARCH(arm)
4ENTRY(_start)
5MEMORY {
6/* Settings as submitted which won't match an arbitrary user board
7   and are not enough to link every test case so changed to link all tests.
8        FLASH (rx)  : ORIGIN = 0x200000, LENGTH = 512K
9        RAM   (!rx) : ORIGIN = 0x400000, LENGTH = 128K
10*/
11        FLASH (rx)  : ORIGIN = 0x200000, LENGTH = 1024K
12        RAM   (!rx) : ORIGIN = 0x600000, LENGTH = 128K
13}
14
15/* Do we need any of these for elf?
16   __DYNAMIC = 0;    */
17SECTIONS
18{
19  /* Read-only sections, merged into text segment: */
20/*  . = 0 + SIZEOF_HEADERS;*/
21  .hash          : { *(.hash)                   } > FLASH
22  .dynsym        : { *(.dynsym)                 } > FLASH
23  .dynstr        : { *(.dynstr)                 } > FLASH
24  .gnu.version   : { *(.gnu.version)            } > FLASH
25  .gnu.version_d   : { *(.gnu.version_d)        } > FLASH
26  .gnu.version_r   : { *(.gnu.version_r)        } > FLASH
27  .rel.init      : { *(.rel.init)               } > FLASH
28  .rela.init     : { *(.rela.init)              } > FLASH
29  .rel.text      :
30    {
31      *(.rel.text)
32      *(.rel.text.*)
33      *(.rel.gnu.linkonce.t*)
34    } > FLASH
35  .rela.text     :
36    {
37      *(.rela.text)
38      *(.rela.text.*)
39      *(.rela.gnu.linkonce.t*)
40    } > FLASH
41  .rel.fini      : { *(.rel.fini)       } > FLASH
42  .rela.fini     : { *(.rela.fini)      } > FLASH
43  .rel.rodata    :
44    {
45      *(.rel.rodata)
46      *(.rel.rodata.*)
47      *(.rel.gnu.linkonce.r*)
48    } > FLASH
49  .rela.rodata   :
50    {
51      *(.rela.rodata)
52      *(.rela.rodata.*)
53      *(.rela.gnu.linkonce.r*)
54    } > FLASH
55  .rel.data      :
56    {
57      *(.rel.data)
58      *(.rel.data.*)
59      *(.rel.gnu.linkonce.d*)
60    } > FLASH
61  .rela.data     :
62    {
63      *(.rela.data)
64      *(.rela.data.*)
65      *(.rela.gnu.linkonce.d*)
66    } > FLASH
67  .rel.ctors     : { *(.rel.ctors)      } > FLASH
68  .rela.ctors    : { *(.rela.ctors)     } > FLASH
69  .rel.dtors     : { *(.rel.dtors)      } > FLASH
70  .rela.dtors    : { *(.rela.dtors)     } > FLASH
71  .rel.got       : { *(.rel.got)        } > FLASH
72  .rela.got      : { *(.rela.got)       } > FLASH
73  .rel.sdata     :
74    {
75      *(.rel.sdata)
76      *(.rel.sdata.*)
77      *(.rel.gnu.linkonce.s*)
78    } > FLASH
79  .rela.sdata     :
80    {
81      *(.rela.sdata)
82      *(.rela.sdata.*)
83      *(.rela.gnu.linkonce.s*)
84    } > FLASH
85  .rel.sbss      : { *(.rel.sbss)               } > FLASH
86  .rela.sbss     : { *(.rela.sbss)              } > FLASH
87  .rel.bss       : { *(.rel.bss)                } > FLASH
88  .rela.bss      : { *(.rela.bss)               } > FLASH
89  .rel.plt       : { *(.rel.plt)                } > FLASH
90  .rela.plt      : { *(.rela.plt)               } > FLASH
91  .init          :
92  {
93    KEEP (*(.init))
94  } > FLASH   /*=0*/
95  .plt      : { *(.plt) } > FLASH
96  .text      :
97  {
98    *(.text)
99    *(.text.*)
100    *(.stub)
101
102    /*
103     * Special FreeBSD sysctl sections.
104     */
105    . = ALIGN (16);
106    __start_set_sysctl_set = .;
107    *(set_sysctl_*);
108    __stop_set_sysctl_set = ABSOLUTE(.);
109    *(set_domain_*);
110    *(set_pseudo_*);
111
112    /* .gnu.warning sections are handled specially by elf32.em.  */
113    *(.gnu.warning)
114    *(.gnu.linkonce.t*)
115    *(.glue_7t) *(.glue_7)
116  } > FLASH  /*=0*/
117  _etext = .;
118  PROVIDE (etext = .);
119  .fini      :
120  {
121    KEEP (*(.fini))
122  } > FLASH  /*=0*/
123  .rodata   : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) } > FLASH
124  .rodata1   : { *(.rodata1) } > FLASH
125  _erodata = ABSOLUTE(.);
126  PROVIDE (erodata =  ABSOLUTE(.));
127  /* Adjust the address for the data segment.  We want to adjust up to
128     the same address within the page on the next page up.  */
129  . = ALIGN(256);
130  _begdata = ALIGN(256);
131  .arm_end_text :
132  {
133    . = ALIGN(256);
134    _initdata = ALIGN(256);
135  } > FLASH     
136  .data : AT (_begdata)
137  {
138    *(.data*)
139    *(.jcr)
140    *(.gnu.linkonce.d*)
141    SORT(CONSTRUCTORS)
142  } > RAM
143  .data1   : { *(.data1) } > RAM
144  .eh_frame : { *(.eh_frame) } > RAM
145  .gcc_except_table : { *(.gcc_except_table) } > RAM
146  .ctors   :
147  {
148    /* gcc uses crtbegin.o to find the start of
149       the constructors, so we make sure it is
150       first.  Because this is a wildcard, it
151       doesn't matter if the user does not
152       actually link against crtbegin.o; the
153       linker won't look for a file to match a
154       wildcard.  The wildcard also means that it
155       doesn't matter which directory crtbegin.o
156       is in.  */
157    KEEP (*crtbegin.o(.ctors))
158    /* We don't want to include the .ctor section from
159       from the crtend.o file until after the sorted ctors.
160       The .ctor section from the crtend file contains the
161       end of ctors marker and it must be last */
162    KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
163    KEEP (*(SORT(.ctors.*)))
164    KEEP (*(.ctors))
165  } > RAM
166   .dtors         :
167  {
168    KEEP (*crtbegin.o(.dtors))
169    KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
170    KEEP (*(SORT(.dtors.*)))
171    KEEP (*(.dtors))
172  } > RAM
173  .got           : { *(.got.plt) *(.got) } > RAM
174  .dynamic       : { *(.dynamic) } > RAM
175  /* We want the small data sections together, so single-instruction offsets
176     can access them all, and initialized data all before uninitialized, so
177     we can shorten the on-disk segment size.  */
178  .sdata     :
179  {
180    *(.sdata)
181    *(.sdata.*)
182    *(.gnu.linkonce.s.*)
183  } > RAM
184  .arm_data :
185  { 
186  _edata = .;
187  __bss_start = .;
188  __bss_start__ = .;
189  } > RAM
190  .sbss      :
191  {
192    *(.dynsbss)
193    *(.sbss)
194    *(.sbss.*)
195    *(.scommon)
196  } > RAM
197  .bss       :
198  {
199   *(.dynbss)
200   *(.bss)
201   *(.bss.*)
202   *(COMMON)
203   /* Align here to ensure that the .bss section occupies space up to
204      _end.  Align after .bss to ensure correct alignment even if the
205      .bss section disappears because there are no input sections.  */
206   . = ALIGN(32 / 8);
207  } > RAM
208  . = ALIGN(32 / 8);
209  .arm_end :
210  {
211  _end = .;
212  _bss_end__ = . ;
213  __bss_end__ = . ;
214  __end__ = . ;
215  } > RAM
216  /* Stabs debugging sections.  */
217  .stab 0 : { *(.stab) }
218  .stabstr 0 : { *(.stabstr) }
219  .stab.excl 0 : { *(.stab.excl) }
220  .stab.exclstr 0 : { *(.stab.exclstr) }
221  .stab.index 0 : { *(.stab.index) }
222  .stab.indexstr 0 : { *(.stab.indexstr) }
223  .comment 0 : { *(.comment) }
224  /* DWARF debug sections.
225     Symbols in the DWARF debugging sections are relative to the beginning
226     of the section so we begin them at 0.  */
227  /* DWARF 1 */
228  .debug          0 : { *(.debug) }
229  .line           0 : { *(.line) }
230  /* GNU DWARF 1 extensions */
231  .debug_srcinfo  0 : { *(.debug_srcinfo) }
232  .debug_sfnames  0 : { *(.debug_sfnames) }
233  /* DWARF 1.1 and DWARF 2 */
234  .debug_aranges  0 : { *(.debug_aranges) }
235  .debug_pubnames 0 : { *(.debug_pubnames) }
236  /* DWARF 2 */
237  .debug_info     0 : { *(.debug_info) }
238  .debug_abbrev   0 : { *(.debug_abbrev) }
239  .debug_line     0 : { *(.debug_line) }
240  .debug_frame    0 : { *(.debug_frame) }
241  .debug_str      0 : { *(.debug_str) }
242  .debug_loc      0 : { *(.debug_loc) }
243  .debug_macinfo  0 : { *(.debug_macinfo) }
244  /* SGI/MIPS DWARF 2 extensions */
245  .debug_weaknames 0 : { *(.debug_weaknames) }
246  .debug_funcnames 0 : { *(.debug_funcnames) }
247  .debug_typenames 0 : { *(.debug_typenames) }
248  .debug_varnames  0 : { *(.debug_varnames) }
249  /*.stack 0x80000 : { _stack = .; *(.stack) }*/
250  /* These must appear regardless of  .  */
251}
252
253
254
255
Note: See TracBrowser for help on using the repository browser.