source: rtems/c/src/lib/libbsp/m68k/sim68000/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.8 KB
Line 
1/*
2 * MC68302 Linker command file
3 *
4 */
5
6/*
7 * Declare some sizes.
8 */
9_RomBase = DEFINED(_RomBase) ? _RomBase : 0x0;
10_RomSize = DEFINED(_RomSize) ? _RomSize : 512K;
11RamBase = DEFINED(RamBase) ? RamBase : 0x80000;
12RamSize = DEFINED(RamSize) ? RamSize : 128K;
13HeapSize = DEFINED(HeapSize) ? HeapSize : 0;
14_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
15
16/*
17 * Declare on-board memory.
18 */
19MEMORY {
20          eprom : ORIGIN = 0x00000000, LENGTH = 512K
21          ram : ORIGIN = 0x00040000, LENGTH = 128K
22}
23SECTIONS
24{
25        ram : {
26                . = .;
27        } >ram
28
29        /*
30         * Text, data and bss segments
31         */
32        .text 0x0 : {
33                *(.text*)
34
35                /*
36                 * C++ constructors/destructors
37                 */
38                *(.gnu.linkonce.t.*)
39
40                /*
41                 * Initialization and finalization code.
42                 *
43                 * Various files can provide initialization and finalization
44                 * functions.  crtbegin.o and crtend.o are two instances. The
45                 * body of these functions are in .init and .fini sections. We
46                 * accumulate the bodies here, and prepend function prologues
47                 * from crti.o and function epilogues from crtn.o. crti.o must
48                 * be linked first; crtn.o must be linked last.  Because these
49                 * are wildcards, it doesn't matter if the user does not
50                 * actually link against crti.o and crtn.o; the linker won't
51                 * look for a file to match a wildcard.  The wildcard also
52                 * means that it doesn't matter which directory crti.o and
53                 * crtn.o are in.
54                 */
55                PROVIDE (_init = .);
56                *crti.o(.init)
57                *(.init)
58                *crtn.o(.init)
59                PROVIDE (_fini = .);
60                *crti.o(.fini)
61                *(.fini)
62                *crtn.o(.fini)
63
64                /*
65                 * Special FreeBSD sysctl sections.
66                 */
67                . = ALIGN (16);
68                __start_set_sysctl_set = .;
69                *(set_sysctl_*);
70                __stop_set_sysctl_set = ABSOLUTE(.);
71                *(set_domain_*);
72                *(set_pseudo_*);
73
74                /*
75                 * C++ constructors/destructors
76                 *
77                 * gcc uses crtbegin.o to find the start of the constructors
78                 * and destructors so we make sure it is first.  Because this
79                 * is a wildcard, it doesn't matter if the user does not
80                 * actually link against crtbegin.o; the linker won't look for
81                 * a file to match a wildcard.  The wildcard also means that
82                 * it doesn't matter which directory crtbegin.o is in. The
83                 * constructor and destructor list are terminated in
84                 * crtend.o.  The same comments apply to it.
85                 */
86                . = ALIGN (16);
87                *crtbegin.o(.ctors)
88                *(.ctors)
89                *crtend.o(.ctors)
90                *crtbegin.o(.dtors)
91                *(.dtors)
92                *crtend.o(.dtors)
93
94                /*
95                 * Exception frame info
96                 */
97                . = ALIGN (16);
98                *(.eh_frame)
99
100                /*
101                 * Read-only data
102                 */
103                . = ALIGN (16);
104                _rodata_start = .;
105                *(.rodata*)
106                *(.gnu.linkonce.r*)
107
108                 . = ALIGN (16);
109                PROVIDE (_etext = .);
110        }
111        .data 0x80000 : AT (ADDR(.text) + SIZEOF (.text)) {
112                PROVIDE (_copy_start = .);
113                *(.data*)
114                *(.gnu.linkonce.d*)
115                *(.gcc_except_table*)
116                *(.jcr)
117                . = ALIGN (16);
118                PROVIDE (_edata = .);
119                PROVIDE (_copy_end = .);
120        }
121        .bss ADDR(.data) + SIZEOF(.data) : {
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        }
136
137  /* Stabs debugging sections.  */
138  .stab 0 : { *(.stab) }
139  .stabstr 0 : { *(.stabstr) }
140  .stab.excl 0 : { *(.stab.excl) }
141  .stab.exclstr 0 : { *(.stab.exclstr) }
142  .stab.index 0 : { *(.stab.index) }
143  .stab.indexstr 0 : { *(.stab.indexstr) }
144  .comment 0 : { *(.comment) }
145
146  /* DWARF debug sections.
147     Symbols in the DWARF debugging sections are relative to the beginning
148     of the section so we begin them at 0.  */
149  /* DWARF 1 */
150  .debug          0 : { *(.debug) }
151  .line           0 : { *(.line) }
152 
153  /* GNU DWARF 1 extensions */
154  .debug_srcinfo  0 : { *(.debug_srcinfo) }
155  .debug_sfnames  0 : { *(.debug_sfnames) }
156 
157  /* DWARF 1.1 and DWARF 2 */
158  .debug_aranges  0 : { *(.debug_aranges) }
159  .debug_pubnames 0 : { *(.debug_pubnames) }
160 
161  /* DWARF 2 */
162  .debug_info     0 : { *(.debug_info) }
163  .debug_abbrev   0 : { *(.debug_abbrev) }
164  .debug_line     0 : { *(.debug_line) }
165  .debug_frame    0 : { *(.debug_frame) }
166  .debug_str      0 : { *(.debug_str) }
167  .debug_loc      0 : { *(.debug_loc) }
168  .debug_macinfo  0 : { *(.debug_macinfo) }
169 
170  /* SGI/MIPS DWARF 2 extensions */
171  .debug_weaknames 0 : { *(.debug_weaknames) }
172  .debug_funcnames 0 : { *(.debug_funcnames) }
173  .debug_typenames 0 : { *(.debug_typenames) }
174  .debug_varnames  0 : { *(.debug_varnames) }
175  /* These must appear regardless of  .  */
176}
177
178/* _VBR = 0xFFFFFFFF;            * indicates VBR table is in ROM */
179_VBR = 0x0;                     /* indicates VBR table is in RAM */
180
Note: See TracBrowser for help on using the repository browser.