source: rtems/c/src/lib/libbsp/powerpc/gen405/startup/linkcmds @ c112b70b

4.104.114.84.95
Last change on this file since c112b70b was c112b70b, checked in by Ralf Corsepius <ralf.corsepius@…>, on Dec 15, 2003 at 8:06:07 AM

2003-12-15 Ralf Corsepius <corsepiu@…>

  • startup/linkcmds: Remove SEARCH_DIR.
  • startup/linkcmds.dl: Remove SEARCH_DIR.
  • Property mode set to 100644
File size: 3.1 KB
Line 
1/*
2 *  This file contains directives for the GNU linker which are specific
3 *  to the gen405
4 *  This file is intended to be used together with dlentry.s
5 *  it will generate downloadable code
6 *
7 *  Modifications for gen405 by Dennis Ehlin
8 *
9 *  $Id$
10 */
11
12OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc",
13              "elf32-powerpc")
14OUTPUT_ARCH(powerpc)
15 
16ENTRY(download_entry)
17 
18MEMORY
19  {
20        RAM : ORIGIN = 0, LENGTH = 64M
21        FLASH : ORIGIN = 0xFFE00000, LENGTH = 16M
22  }
23SECTIONS
24{
25  .vectors 0x00000100 :
26  {
27    *(.vectors)
28  } > RAM
29 
30  .text :
31  {
32     text.start = . ;
33     *(.entry)
34     *(.entry2)
35     *(.text)
36     *(.rodata*)
37     *(.rodata1)
38
39     /*
40      * Special FreeBSD sysctl sections.
41      */
42     . = ALIGN (16);
43     __start_set_sysctl_set = .;
44     *(set_sysctl_*);
45     __stop_set_sysctl_set = ABSOLUTE(.);
46     *(set_domain_*);
47     *(set_pseudo_*);
48
49     *(.eh_frame)
50     *(.gnu.linkonce.r*)
51     *(.descriptors)
52     *(rom_ver)
53     etext = ALIGN(0x10);
54     _etext = .;
55
56     *(.gnu.linkonce.t*)
57
58     __CTOR_LIST__ = .;
59     LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
60     *(.ctors)
61     LONG(0)
62     __CTOR_END__ = .;
63
64     __DTOR_LIST__ = .;
65     LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
66     *(.dtors)
67     LONG(0)
68     __DTOR_END__ = .;
69
70     *(.lit)
71     *(.shdata)
72     _init = .; __init = .; *(.init)
73     _fini = .; __fini = .; *(.fini)
74     _endtext = ALIGN(0x10);
75     text.end = .;
76  } > RAM
77
78  text.size = text.end - text.start;
79
80  /* R/W Data */
81  .data :
82  {
83    *(.data)
84    *(.data1)
85     *(.data.* .gnu.linkonce.d*)
86    PROVIDE (__SDATA_START__ = .);
87    *(.sdata)
88    *(.gnu.linkonce.s.*)
89  } > RAM
90 
91  PROVIDE (__EXCEPT_START__ = .);
92  .gcc_except_table   :
93  {
94        *(.gcc_except_table)
95  } >RAM
96  PROVIDE (__EXCEPT_END__ = .);
97
98  __GOT_START__ = .;
99  .got :
100  {
101     s.got = .;
102     *(.got.plt) *(.got)
103  } > RAM
104  __GOT_END__ = .;
105
106  .got1 :
107  {
108        *(.got1)               
109  } >RAM
110
111  PROVIDE (__GOT2_START__ = .);
112  PROVIDE (_GOT2_START_ = .);
113  .got2           : 
114  {
115        *(.got2)       
116  } >RAM
117  PROVIDE (__GOT2_END__ = .);
118  PROVIDE (_GOT2_END_ = .);
119
120  PROVIDE (__FIXUP_START__ = .);
121  PROVIDE (_FIXUP_START_ = .);
122  .fixup          : { *(.fixup)         } >RAM
123  PROVIDE (_FIXUP_END_ = .);
124  PROVIDE (__FIXUP_END__ = .);
125 
126  PROVIDE (__SDATA2_START__ = .);
127  .sdata2         : { *(.sdata2) *(.gnu.linkonce.s2.*)  } >RAM
128  .sbss2          : { *(.sbss2) *(.gnu.linkonce.sb2.*)  } >RAM
129  PROVIDE (__SBSS2_END__ = .);
130
131  __SBSS_START__ = .;
132  .bss :
133  {
134    bss.start = .;
135    *(.bss) *(.sbss) *(COMMON)
136    bss.end = ALIGN(4);
137  } > RAM
138  __SBSS_END__ = .;
139 
140  bss.size = bss.end - bss.start;
141  PROVIDE(_end = bss.end);
142 
143  /* reserve 512K for heap */
144  heap.end = bss.end + 512K;
145  PROVIDE(_heap_end = heap.end);
146  /* reserve 64KByte for stack... */
147  stack.end = heap.end + 64K;
148  PROVIDE(_end = stack.end);
149
150  .line 0 : { *(.line) }
151  .debug 0 : { *(.debug) }
152  .debug_sfnames 0 : { *(.debug_sfnames) }
153  .debug_srcinfo 0 : { *(.debug_srcinfo) }
154  .debug_pubnames 0 : { *(.debug_pubnames) }
155  .debug_aranges 0 : { *(.debug_aranges) }
156  .debug_aregion 0 : { *(.debug_aregion) }
157  .debug_macinfo 0 : { *(.debug_macinfo) }
158  .stab 0 : { *(.stab) }
159  .stabstr 0 : { *(.stabstr) }
160
161}
Note: See TracBrowser for help on using the repository browser.