source: rtems/c/src/lib/libbsp/powerpc/eth_comm/startup/linkcmds @ ee733965

4.104.114.84.95
Last change on this file since ee733965 was ee733965, checked in by Joel Sherrill <joel.sherrill@…>, on 02/17/99 at 20:24:53

Jay Monkman <jmonkman@…> submitted the eth_comm BSP for a PPC860
based board.

  • Property mode set to 100644
File size: 2.8 KB
Line 
1/*
2 *  This file contains directives for the GNU linker which are specific
3 *  to the Ethernet-Comm Board
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(start)
14 
15MEMORY
16        {
17        ram : org = 0x0, l = 4M
18        dpram : org = 0xff000000, l = 16K
19        canbus : org = 0xff100000, l = 12K
20        flash : org = 0xfff00000, l = 512K
21        }
22
23
24SECTIONS
25{
26        .vectors :
27        {
28          *(.vectors)
29        } >ram
30
31        /*
32         * The stack will live in this area - between the vectors and
33         * the text section.
34         */
35       
36        .text 0x10000:
37        {
38             text.start = .;
39             *(.entry)
40             *(.entry2)
41             *(.text)
42             *(.rodata)
43             *(.rodata1)
44             *(.descriptors)
45             *(rom_ver)
46             etext = ALIGN(0x10);
47             _etext = .;
48       
49             __CTOR_LIST__ = .;
50             LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
51             *(.ctors)
52             LONG(0)
53             __CTOR_END__ = .;
54       
55             __DTOR_LIST__ = .;
56             LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
57             *(.dtors)
58             LONG(0)
59             __DTOR_END__ = .;
60       
61             *(.lit)
62             *(.shdata)
63             *(.init)
64             *(.fini)
65             _endtext = .;
66             text.end = .;
67        } > ram
68 
69        /* R/W Data */
70        .data :
71        {
72          *(.data)
73          *(.data1)
74          PROVIDE (__SDATA_START__ = .);
75          *(.sdata)
76        } > ram
77       
78        PROVIDE (__EXCEPT_START__ = .);
79        .gcc_except_table   : { *(.gcc_except_table) } >RAM
80        PROVIDE (__EXCEPT_END__ = .);
81        __GOT_START__ = .;
82        .got :
83        {
84           s.got = .;
85           *(.got.plt) *(.got)
86        } > ram
87        __GOT_END__ = .;
88       
89        .got1             : { *(.got1)          } >ram
90        PROVIDE (__GOT2_START__ = .);
91        PROVIDE (_GOT2_START_ = .);
92        .got2             :  { *(.got2)         } >ram
93        PROVIDE (__GOT2_END__ = .);
94        PROVIDE (_GOT2_END_ = .);
95       
96        PROVIDE (__FIXUP_START__ = .);
97        PROVIDE (_FIXUP_START_ = .);
98        .fixup    : { *(.fixup)         } >ram
99        PROVIDE (_FIXUP_END_ = .);
100        PROVIDE (__FIXUP_END__ = .);
101         
102        PROVIDE (__SDATA2_START__ = .);
103        .sdata2           : { *(.sdata2)        } >ram
104        .sbss2            : { *(.sbss2)         } >ram
105        PROVIDE (__SBSS2_END__ = .);
106       
107        .sbss2            : { *(.sbss2)         } >ram
108        PROVIDE (__SBSS2_END__ = .);
109       
110        __SBSS_START__ = .;
111        .bss :
112        {
113          bss.start = .;
114          *(.bss) *(.sbss) *(COMMON)
115          . = ALIGN(4);
116          bss.end = .;
117        } > ram
118        __SBSS_END__ = .;
119
120        bss.size = bss.end - bss.start;
121        text.size = text.end - text.start;
122        PROVIDE(_end = bss.end);
123       
124        dpram :
125        {
126          m860 = .;
127          _m860 = .;
128          . += (8 * 1024);
129        } >dpram
130
131        canbus :
132        {
133          canbus0 = .;
134          . += (0x1000);
135          canbus1 = .;
136          . += (0x1000);
137          canbus2 = .;
138          . += (0x1000);
139        } >canbus
140
141
142        .line 0 : { *(.line) }
143        .debug 0 : { *(.debug) }
144        .debug_sfnames 0 : { *(.debug_sfnames) }
145        .debug_srcinfo 0 : { *(.debug_srcinfo) }
146        .debug_pubnames 0 : { *(.debug_pubnames) }
147        .debug_aranges 0 : { *(.debug_aranges) }
148        .debug_aregion 0 : { *(.debug_aregion) }
149        .debug_macinfo 0 : { *(.debug_macinfo) }
150        .stab 0 : { *(.stab) }
151        .stabstr 0 : { *(.stabstr) }
152
153}
Note: See TracBrowser for help on using the repository browser.