source: rtems/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds @ 9b4422a2

4.115
Last change on this file since 9b4422a2 was 9b4422a2, checked in by Joel Sherrill <joel.sherrill@…>, on 05/03/12 at 15:09:24

Remove All CVS Id Strings Possible Using a Script

Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines

next to each other after Id string line removed.

+ remove entire comment blocks which only exited to

contain CVS Ids

+ If the processing left a blank line at the top of

a file, it was removed.

  • Property mode set to 100644
File size: 4.2 KB
Line 
1/*
2 * This file contains GNU linker directives for a generic MC68360 board.
3 * Variations in memory size and allocation can be made by
4 * overriding some values with linker command-line arguments.
5 *
6 * Saskatchewan Accelerator Laboratory
7 * University of Saskatchewan
8 * Saskatoon, Saskatchewan, CANADA
9 * eric@skatter.usask.ca
10 */
11
12/*
13 * Declare some sizes.
14 * A heap size of 0 means `use all available memory for the heap'.
15 */
16RamBase = DEFINED(RamBase) ? RamBase : 0x0;
17RamSize = DEFINED(RamSize) ? RamSize : 64M;
18HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
19_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
20
21/*
22 * Declare on-board memory.
23 */
24MEMORY {
25          ram : ORIGIN = 0x00000000, LENGTH = 64M
26          rom : ORIGIN = 0x0F000000, LENGTH = 1M
27        dpram : ORIGIN = 0x0E000000, LENGTH = 8k
28}
29
30/*
31 * Load objects
32 */
33SECTIONS {
34        /*
35         * Boot PROM
36         */
37        rom : {
38                _RomBase = .;
39        } >rom
40
41        /*
42         * Dynamic RAM
43         */
44        ram : {
45                RamBase = .;
46        } >ram
47
48        /*
49         * Text, data and bss segments
50         */
51        .text : {
52                *(.text*)
53
54                /*
55                 * C++ constructors/destructors
56                 */
57                *(.gnu.linkonce.t.*)
58
59                /*
60                 * Initialization and finalization code.
61                 */
62                PROVIDE (_init = .);
63                *crti.o(.init)
64                *(.init)
65                *crtn.o(.init)
66                PROVIDE (_fini = .);
67                *crti.o(.fini)
68                *(.fini)
69                *crtn.o(.fini)
70
71                /*
72                 * Special FreeBSD sysctl sections.
73                 */
74                . = ALIGN (16);
75                __start_set_sysctl_set = .;
76                *(set_sysctl_*);
77                __stop_set_sysctl_set = ABSOLUTE(.);
78                *(set_domain_*);
79                *(set_pseudo_*);
80
81                /*
82                 * C++ constructors/destructors
83                 */
84                . = ALIGN (16);
85                *crtbegin.o(.ctors)
86                *(.ctors)
87                *crtend.o(.ctors)
88                *crtbegin.o(.dtors)
89                *(.dtors)
90                *crtend.o(.dtors)
91
92                /*
93                 * Exception frame info
94                 */
95                . = ALIGN (16);
96                *(.eh_frame)
97
98                /*
99                 * Read-only data
100                 */
101                . = ALIGN (16);
102                _rodata_start = . ;
103                *(.rodata*)
104                *(.gnu.linkonce.r*)
105
106                 . = ALIGN (16);
107                PROVIDE (etext = .);
108        } >ram
109        .data : {
110                _copy_start = .;
111                *(.data*)
112                *(.gnu.linkonce.d*)
113                *(.gcc_except_table*)
114                *(.jcr)
115                . = ALIGN (16);
116                PROVIDE (edata = .);
117                _copy_end = .;
118        } >ram
119        .bss : {
120                M68Kvec = .;
121                . += (256 * 4);
122                _clear_start = .;
123                *(.dynbss)
124                *(.bss* .gnu.linkonce.b.*)
125                *(COMMON)
126                . = ALIGN (16);
127                PROVIDE (end = .);
128
129                . += _StackSize;
130                . = ALIGN (16);
131                _stack_init = .;
132                _clear_end = .;
133
134                WorkAreaBase = .;
135        } >ram
136
137        /*
138         * On-chip memory/peripherals
139         */
140        dpram : {
141                m360 = .;
142                . += (8 * 1024);
143        } >dpram
144
145  /* Stabs debugging sections.  */
146  .stab 0 : { *(.stab) }
147  .stabstr 0 : { *(.stabstr) }
148  .stab.excl 0 : { *(.stab.excl) }
149  .stab.exclstr 0 : { *(.stab.exclstr) }
150  .stab.index 0 : { *(.stab.index) }
151  .stab.indexstr 0 : { *(.stab.indexstr) }
152  .comment 0 : { *(.comment) }
153
154  /* DWARF debug sections.
155     Symbols in the DWARF debugging sections are relative to the beginning
156     of the section so we begin them at 0.  */
157  /* DWARF 1 */
158  .debug          0 : { *(.debug) }
159  .line           0 : { *(.line) }
160 
161  /* GNU DWARF 1 extensions */
162  .debug_srcinfo  0 : { *(.debug_srcinfo) }
163  .debug_sfnames  0 : { *(.debug_sfnames) }
164 
165  /* DWARF 1.1 and DWARF 2 */
166  .debug_aranges  0 : { *(.debug_aranges) }
167  .debug_pubnames 0 : { *(.debug_pubnames) }
168 
169  /* DWARF 2 */
170  .debug_info     0 : { *(.debug_info) }
171  .debug_abbrev   0 : { *(.debug_abbrev) }
172  .debug_line     0 : { *(.debug_line) }
173  .debug_frame    0 : { *(.debug_frame) }
174  .debug_str      0 : { *(.debug_str) }
175  .debug_loc      0 : { *(.debug_loc) }
176  .debug_macinfo  0 : { *(.debug_macinfo) }
177 
178  /* SGI/MIPS DWARF 2 extensions */
179  .debug_weaknames 0 : { *(.debug_weaknames) }
180  .debug_funcnames 0 : { *(.debug_funcnames) }
181  .debug_typenames 0 : { *(.debug_typenames) }
182  .debug_varnames  0 : { *(.debug_varnames) }
183  /* These must appear regardless of  .  */
184}
Note: See TracBrowser for help on using the repository browser.