source: rtems/c/src/lib/libbsp/powerpc/papyrus/startup/linkcmds @ f35abd4

4.104.114.84.95
Last change on this file since f35abd4 was f35abd4, checked in by Joel Sherrill <joel.sherrill@…>, on 05/04/98 at 12:40:09

Corrected and added sections to link cleanly under powerpc-rtems (ELF).

  • Property mode set to 100644
File size: 2.5 KB
Line 
1/*
2 *  This file contains directives for the GNU linker which are specific
3 *  to the Papyrus.
4 *
5 *  $Id$
6 */
7
8OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc",
9              "elf32-powerpc")
10OUTPUT_ARCH(powerpc)
11 SEARCH_DIR(/usr/local/powerpc-rtems/lib);
12 
13ENTRY(download_entry)
14 
15MEMORY
16  {
17        RAM : ORIGIN = 0, LENGTH = 4M
18        FLASH : ORIGIN = 0xFF000000, LENGTH = 0x80000
19        EPROM : ORIGIN = 0xFFFE0000, LENGTH = 0x20000
20  }
21 
22/* Do we need any of these for elf?
23   __DYNAMIC = 0;    */
24
25SECTIONS
26{
27  .vectors 0x0100 :
28  {
29    *(.vectors)
30  }
31 
32  .text 0x20000 :
33  {
34     *(.entry)
35     *(.entry2)
36     *(.text)
37     *(.rodata)
38     *(.rodata1)
39     *(.descriptors)
40     *(rom_ver)
41     etext = ALIGN(0x10);
42     _etext = .;
43
44     __CTOR_LIST__ = .;
45     LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
46     *(.ctors)
47     LONG(0)
48     __CTOR_END__ = .;
49
50     __DTOR_LIST__ = .;
51     LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
52     *(.dtors)
53     LONG(0)
54     __DTOR_END__ = .;
55
56     *(.lit)
57     *(.shdata)
58     *(.init)
59     *(.fini)
60     _endtext = .;
61  } > RAM
62 
63  /* R/W Data */
64  .data :
65  {
66    *(.data)
67    *(.data1)
68    PROVIDE (__SDATA_START__ = .);
69    *(.sdata)
70  } > RAM
71 
72  PROVIDE (__EXCEPT_START__ = .);
73  .gcc_except_table   : { *(.gcc_except_table) } >RAM
74  PROVIDE (__EXCEPT_END__ = .);
75  __GOT_START__ = .;
76  .got :
77  {
78     s.got = .;
79     *(.got.plt) *(.got)
80  } > RAM
81  __GOT_END__ = .;
82
83  .got1           : { *(.got1)          } >RAM
84  PROVIDE (__GOT2_START__ = .);
85  PROVIDE (_GOT2_START_ = .);
86  .got2           :  { *(.got2)         } >RAM
87  PROVIDE (__GOT2_END__ = .);
88  PROVIDE (_GOT2_END_ = .);
89
90  PROVIDE (__FIXUP_START__ = .);
91  PROVIDE (_FIXUP_START_ = .);
92  .fixup          : { *(.fixup)         } >RAM
93  PROVIDE (_FIXUP_END_ = .);
94  PROVIDE (__FIXUP_END__ = .);
95 
96  PROVIDE (__SDATA2_START__ = .);
97  .sdata2         : { *(.sdata2)        } >RAM
98  .sbss2          : { *(.sbss2)         } >RAM
99  PROVIDE (__SBSS2_END__ = .);
100
101  .sbss2          : { *(.sbss2)         } >RAM
102  PROVIDE (__SBSS2_END__ = .);
103
104  __SBSS_START__ = .;
105  .bss :
106  {
107    bss.start = .;
108    *(.bss) *(.sbss) *(COMMON)
109    bss.end = ALIGN(4);
110  } > RAM
111  __SBSS_END__ = .;
112 
113  bss.size = bss.end - bss.start;
114  PROVIDE(_end = bss.end);
115
116  .line 0 : { *(.line) }
117  .debug 0 : { *(.debug) }
118  .debug_sfnames 0 : { *(.debug_sfnames) }
119  .debug_srcinfo 0 : { *(.debug_srcinfo) }
120  .debug_pubnames 0 : { *(.debug_pubnames) }
121  .debug_aranges 0 : { *(.debug_aranges) }
122  .debug_aregion 0 : { *(.debug_aregion) }
123  .debug_macinfo 0 : { *(.debug_macinfo) }
124  .stab 0 : { *(.stab) }
125  .stabstr 0 : { *(.stabstr) }
126}
127
128
Note: See TracBrowser for help on using the repository browser.