source: trunk/binutils/ld/scripttempl/elf32avr.sc@ 3003

Last change on this file since 3003 was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.3 KB
Line 
1cat <<EOF
2OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}")
3OUTPUT_ARCH(${ARCH})
4
5MEMORY
6{
7 text (rx) : ORIGIN = 0, LENGTH = $TEXT_LENGTH
8 data (rw!x) : ORIGIN = (0x800000 + $DATA_START), LENGTH = $DATA_LENGTH
9 eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = $EEPROM_LENGTH
10}
11
12SECTIONS
13{
14 /* Read-only sections, merged into text segment: */
15 ${TEXT_DYNAMIC+${DYNAMIC}}
16 .hash ${RELOCATING-0} : { *(.hash) }
17 .dynsym ${RELOCATING-0} : { *(.dynsym) }
18 .dynstr ${RELOCATING-0} : { *(.dynstr) }
19 .gnu.version ${RELOCATING-0} : { *(.gnu.version) }
20 .gnu.version_d ${RELOCATING-0} : { *(.gnu.version_d) }
21 .gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r) }
22
23 .rel.init ${RELOCATING-0} : { *(.rel.init) }
24 .rela.init ${RELOCATING-0} : { *(.rela.init) }
25 .rel.text ${RELOCATING-0} :
26 {
27 *(.rel.text)
28 ${RELOCATING+*(.rel.text.*)}
29 ${RELOCATING+*(.rel.gnu.linkonce.t*)}
30 }
31 .rela.text ${RELOCATING-0} :
32 {
33 *(.rela.text)
34 ${RELOCATING+*(.rela.text.*)}
35 ${RELOCATING+*(.rela.gnu.linkonce.t*)}
36 }
37 .rel.fini ${RELOCATING-0} : { *(.rel.fini) }
38 .rela.fini ${RELOCATING-0} : { *(.rela.fini) }
39 .rel.rodata ${RELOCATING-0} :
40 {
41 *(.rel.rodata)
42 ${RELOCATING+*(.rel.rodata.*)}
43 ${RELOCATING+*(.rel.gnu.linkonce.r*)}
44 }
45 .rela.rodata ${RELOCATING-0} :
46 {
47 *(.rela.rodata)
48 ${RELOCATING+*(.rela.rodata.*)}
49 ${RELOCATING+*(.rela.gnu.linkonce.r*)}
50 }
51 .rel.data ${RELOCATING-0} :
52 {
53 *(.rel.data)
54 ${RELOCATING+*(.rel.data.*)}
55 ${RELOCATING+*(.rel.gnu.linkonce.d*)}
56 }
57 .rela.data ${RELOCATING-0} :
58 {
59 *(.rela.data)
60 ${RELOCATING+*(.rela.data.*)}
61 ${RELOCATING+*(.rela.gnu.linkonce.d*)}
62 }
63 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) }
64 .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) }
65 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) }
66 .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) }
67 .rel.got ${RELOCATING-0} : { *(.rel.got) }
68 .rela.got ${RELOCATING-0} : { *(.rela.got) }
69 .rel.bss ${RELOCATING-0} : { *(.rel.bss) }
70 .rela.bss ${RELOCATING-0} : { *(.rela.bss) }
71 .rel.plt ${RELOCATING-0} : { *(.rel.plt) }
72 .rela.plt ${RELOCATING-0} : { *(.rela.plt) }
73
74 /* Internal text space or external memory */
75 .text :
76 {
77 *(.init)
78 *(.progmem.gcc*)
79 *(.progmem*)
80 ${RELOCATING+. = ALIGN(2);}
81 *(.text)
82 ${RELOCATING+. = ALIGN(2);}
83 *(.text.*)
84 ${RELOCATING+. = ALIGN(2);}
85 *(.fini)
86 ${RELOCATING+ _etext = . ; }
87 } ${RELOCATING+ > text}
88
89 .data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))}
90 {
91 ${RELOCATING+ PROVIDE (__data_start = .) ; }
92 *(.data)
93 *(.gnu.linkonce.d*)
94 ${RELOCATING+. = ALIGN(2);}
95 ${RELOCATING+ _edata = . ; }
96 } ${RELOCATING+ > data}
97
98 .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
99 {
100 ${RELOCATING+ PROVIDE (__bss_start = .) ; }
101 *(.bss)
102 *(COMMON)
103 ${RELOCATING+ PROVIDE (__bss_end = .) ; }
104 ${RELOCATING+ _end = . ; }
105 } ${RELOCATING+ > data}
106
107 .eeprom ${RELOCATING-0}:
108 ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text) + SIZEOF (.data))}
109 {
110 *(.eeprom*)
111 ${RELOCATING+ __eeprom_end = . ; }
112 } ${RELOCATING+ > eeprom}
113
114 /* Stabs debugging sections. */
115 .stab 0 : { *(.stab) }
116 .stabstr 0 : { *(.stabstr) }
117 .stab.excl 0 : { *(.stab.excl) }
118 .stab.exclstr 0 : { *(.stab.exclstr) }
119 .stab.index 0 : { *(.stab.index) }
120 .stab.indexstr 0 : { *(.stab.indexstr) }
121 .comment 0 : { *(.comment) }
122
123 /* DWARF debug sections.
124 Symbols in the DWARF debugging sections are relative to the beginning
125 of the section so we begin them at 0. */
126
127 /* DWARF 1 */
128 .debug 0 : { *(.debug) }
129 .line 0 : { *(.line) }
130
131 /* GNU DWARF 1 extensions */
132 .debug_srcinfo 0 : { *(.debug_srcinfo) }
133 .debug_sfnames 0 : { *(.debug_sfnames) }
134
135 /* DWARF 1.1 and DWARF 2 */
136 .debug_aranges 0 : { *(.debug_aranges) }
137 .debug_pubnames 0 : { *(.debug_pubnames) }
138
139 /* DWARF 2 */
140 .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
141 .debug_abbrev 0 : { *(.debug_abbrev) }
142 .debug_line 0 : { *(.debug_line) }
143 .debug_frame 0 : { *(.debug_frame) }
144 .debug_str 0 : { *(.debug_str) }
145 .debug_loc 0 : { *(.debug_loc) }
146 .debug_macinfo 0 : { *(.debug_macinfo) }
147
148 PROVIDE (__stack = ${STACK}) ;
149}
150EOF
151
Note: See TracBrowser for help on using the repository browser.