OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [c/] [src/] [lib/] [libbsp/] [arm/] [vegaplus/] [startup/] [linkcmds] - Blame information for rev 1765

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.