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

4.104.114.84.95
Last change on this file since 57ed393 was 57ed393, checked in by Joel Sherrill <joel.sherrill@…>, on Nov 8, 2001 at 11:46:58 PM

2001-11-08 Dennis Ehlin (ECS) <Dennis.Ehlin@…>

This modification is part of the submitted modifications necessary to
support the IBM PPC405 family. This submission was reviewed by
Thomas Doerfler <Thomas.Doerfler@…> who ensured it did
not negatively impact the ppc403 BSPs. The submission and tracking
process was captured as PR50.

  • ChangeLog?, Makefile.am, README, bsp_specs, bsp_specs.dl, configure.ac, times, dlentry/.cvsignore, dlentry/Makefile.am, dlentry/dlentry.S, include/.cvsignore, include/Makefile.am, include/bsp.h, include/bspopts.h.in, include/coverhd.h, startup/.cvsignore, startup/Makefile.am, startup/bspclean.c, startup/bspstart.c, startup/linkcmds, startup/linkcmds.dl, startup/setvec.c, wrapup/.cvsignore, wrapup/Makefile.am: New files that are part of the new gen405 BSP.
  • Property mode set to 100644
File size: 2.9 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 SEARCH_DIR(/usr/local/powerpc-rtems/lib);
16 
17ENTRY(download_entry)
18 
19MEMORY
20  {
21        RAM : ORIGIN = 0, LENGTH = 64M
22        FLASH : ORIGIN = 0xFFE00000, LENGTH = 16M
23  }
24SECTIONS
25{
26  .vectors 0x00000100 :
27  {
28    *(.vectors)
29  } > RAM
30 
31  .text :
32  {
33     text.start = . ;
34     *(.entry)
35     *(.entry2)
36     *(.text)
37     *(.rodata)
38     *(.rodata1)
39     *(.gnu.linkonce.r*)
40     *(.descriptors)
41     *(rom_ver)
42     etext = ALIGN(0x10);
43     _etext = .;
44
45     *(.gnu.linkonce.t*)
46
47     __CTOR_LIST__ = .;
48     LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
49     *(.ctors)
50     LONG(0)
51     __CTOR_END__ = .;
52
53     __DTOR_LIST__ = .;
54     LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
55     *(.dtors)
56     LONG(0)
57     __DTOR_END__ = .;
58
59     *(.lit)
60     *(.shdata)
61     *(.init)
62     *(.fini)
63     _endtext = ALIGN(0x10);
64     text.end = .;
65  } > RAM
66
67  text.size = text.end - text.start;
68
69  /* R/W Data */
70  .data :
71  {
72    *(.data)
73    *(.data1)
74     *(.gnu.linkonce.d*)
75    PROVIDE (__SDATA_START__ = .);
76    *(.sdata)
77  } > RAM
78 
79  PROVIDE (__EXCEPT_START__ = .);
80  .gcc_except_table   :
81  {
82        *(.gcc_except_table)
83  } >RAM
84  PROVIDE (__EXCEPT_END__ = .);
85
86  __GOT_START__ = .;
87  .got :
88  {
89     s.got = .;
90     *(.got.plt) *(.got)
91  } > RAM
92  __GOT_END__ = .;
93
94  .got1 :
95  {
96        *(.got1)               
97  } >RAM
98
99  PROVIDE (__GOT2_START__ = .);
100  PROVIDE (_GOT2_START_ = .);
101  .got2           : 
102  {
103        *(.got2)       
104  } >RAM
105  PROVIDE (__GOT2_END__ = .);
106  PROVIDE (_GOT2_END_ = .);
107
108  PROVIDE (__FIXUP_START__ = .);
109  PROVIDE (_FIXUP_START_ = .);
110  .fixup          : { *(.fixup)         } >RAM
111  PROVIDE (_FIXUP_END_ = .);
112  PROVIDE (__FIXUP_END__ = .);
113 
114  PROVIDE (__SDATA2_START__ = .);
115  .sdata2         : { *(.sdata2)        } >RAM
116  .sbss2          : { *(.sbss2)         } >RAM
117  PROVIDE (__SBSS2_END__ = .);
118
119  .sbss2          : { *(.sbss2)         } >RAM
120  PROVIDE (__SBSS2_END__ = .);
121
122  __SBSS_START__ = .;
123  .bss :
124  {
125    bss.start = .;
126    *(.bss) *(.sbss) *(COMMON)
127    bss.end = ALIGN(4);
128  } > RAM
129  __SBSS_END__ = .;
130 
131  bss.size = bss.end - bss.start;
132  PROVIDE(_end = bss.end);
133 
134  /* reserve 512K for heap */
135  heap.end = bss.end + 512K;
136  PROVIDE(_heap_end = heap.end);
137  /* reserve 64KByte for stack... */
138  stack.end = heap.end + 64K;
139  PROVIDE(_end = stack.end);
140
141  .line 0 : { *(.line) }
142  .debug 0 : { *(.debug) }
143  .debug_sfnames 0 : { *(.debug_sfnames) }
144  .debug_srcinfo 0 : { *(.debug_srcinfo) }
145  .debug_pubnames 0 : { *(.debug_pubnames) }
146  .debug_aranges 0 : { *(.debug_aranges) }
147  .debug_aregion 0 : { *(.debug_aregion) }
148  .debug_macinfo 0 : { *(.debug_macinfo) }
149  .stab 0 : { *(.stab) }
150  .stabstr 0 : { *(.stabstr) }
151
152}
Note: See TracBrowser for help on using the repository browser.