Changeset 609 for branches/GNU/src/binutils/ld/scripttempl
- Timestamp:
- Aug 16, 2003, 6:59:22 PM (22 years ago)
- Location:
- branches/GNU/src/binutils/ld/scripttempl
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/binutils/ld/scripttempl/aix.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 3 3 # unimportant. The native linker aligns the sections on boundaries 4 4 # specified by the -H option. 5 5 6 cat <<EOF 6 OUTPUT_FORMAT("${OUTPUT_FORMAT}")7 7 OUTPUT_ARCH(${ARCH}) 8 8 ${RELOCATING+${LIB_SEARCH_DIRS}} … … 11 11 { 12 12 .pad 0 : { *(.pad) } 13 14 . = 0x10000000; 13 15 .text ${RELOCATING-0} : { 14 16 ${RELOCATING+PROVIDE (_text = .);} … … 23 25 ${RELOCATING+PROVIDE (_etext = .);} 24 26 } 25 .data 0 : { 27 . = ALIGN (0x10000000); 28 .data . : { 26 29 ${RELOCATING+PROVIDE (_data = .);} 27 30 *(.data) 28 31 *(.rw) 29 32 *(.sv) 33 *(.sv64) 34 *(.sv3264) 30 35 *(.ua) 31 36 . = ALIGN(4); … … 46 51 ${RELOCATING+PROVIDE (end = .);} 47 52 } 48 .loader 0 : { 53 54 .loader : { 49 55 *(.loader) 50 56 } 51 .debug 0 : { 57 58 .debug : { 52 59 *(.debug) 53 60 } -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/armaout.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 21 21 *(.data) 22 22 ${CONSTRUCTING+CONSTRUCTORS} 23 ${RELOCATING+_edata = .;}24 ${RELOCATING+__edata = .;}23 ${RELOCATING+_edata = ${DATA_ALIGNMENT};} 24 ${RELOCATING+__edata = ${DATA_ALIGNMENT};} 25 25 } 26 .bss ${RELOCATING+ SIZEOF(.data) + ADDR (.data)} :26 .bss ${RELOCATING+${DATA_ALIGNMENT}} : 27 27 { 28 28 ${RELOCATING+ __bss_start = .}; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/armcoff.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 7 7 fi 8 8 fi 9 10 # These are substituted in as variables in order to get '}' in a shell 11 # conditional expansion. 12 CTOR='.ctor : { 13 *(SORT(.ctors.*)) 14 *(.ctor) 15 }' 16 DTOR='.dtor : { 17 *(SORT(.dtors.*)) 18 *(.dtor) 19 }' 20 9 21 cat <<EOF 10 22 OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", "${LITTLE_OUTPUT_FORMAT}") … … 21 33 .text ${RELOCATING+ 0x8000} : { 22 34 *(.init) 23 *(.text )35 *(.text*) 24 36 *(.glue_7t) 25 37 *(.glue_7) … … 31 43 *(.fini) 32 44 ${RELOCATING+ etext = .;} 45 ${RELOCATING+ _etext = .;} 33 46 } 34 .data ${RELOCATING+${DATA_ADDR-0x40000 + ( .& 0xfffc0fff)}} : {47 .data ${RELOCATING+${DATA_ADDR-0x40000 + (ALIGN(0x8) & 0xfffc0fff)}} : { 35 48 ${RELOCATING+ __data_start__ = . ;} 36 *(.data) 49 *(.data*) 50 51 ${RELOCATING+*(.gcc_exc*)} 52 ${RELOCATING+___EH_FRAME_BEGIN__ = . ;} 53 ${RELOCATING+*(.eh_fram*)} 54 ${RELOCATING+___EH_FRAME_END__ = . ;} 55 ${RELOCATING+LONG(0);} 56 37 57 ${RELOCATING+ __data_end__ = . ;} 38 58 ${RELOCATING+ edata = .;} 39 59 ${RELOCATING+ _edata = .;} 40 60 } 41 .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : 61 ${CONSTRUCTING+${RELOCATING-$CTOR}} 62 ${CONSTRUCTING+${RELOCATING-$DTOR}} 63 .bss ${RELOCATING+ ALIGN(0x8)} : 42 64 { 43 65 ${RELOCATING+ __bss_start__ = . ;} -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/crisaout.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 49 49 ${CONSTRUCTING+ PROVIDE(___ctors = .);} 50 50 ${CONSTRUCTING+ ___elf_ctors_dtors_begin = .;} 51 ${CONSTRUCTING+ KEEP (*crtbegin .o(.ctors))}52 ${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend .o) .ctors))}51 ${CONSTRUCTING+ KEEP (*crtbegin*.o(.ctors))} 52 ${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend*.o) .ctors))} 53 53 ${CONSTRUCTING+ KEEP (*(SORT(.ctors.*)))} 54 54 ${CONSTRUCTING+ KEEP (*(.ctors))} … … 56 56 57 57 ${CONSTRUCTING+ PROVIDE(___dtors = .);} 58 ${CONSTRUCTING+ KEEP (*crtbegin .o(.dtors))}59 ${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend .o) .dtors))}58 ${CONSTRUCTING+ KEEP (*crtbegin*.o(.dtors))} 59 ${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend*.o) .dtors))} 60 60 ${CONSTRUCTING+ KEEP (*(SORT(.dtors.*)))} 61 61 ${CONSTRUCTING+ KEEP (*(.dtors))} -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/elf.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 # 2 2 # Unusual variables checked by this code: 3 # NOP - two byte opcode for no-op (defaults to 0) 3 # NOP - four byte opcode for no-op (defaults to 0) 4 # NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not 5 # empty. 4 6 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start 5 7 # INITIAL_READONLY_SECTIONS - at start of text segment … … 18 20 # .data section. 19 21 # OTHER_GOT_SYMBOLS - symbols defined just before .got. 20 # OTHER_GOT_SECTIONS - sections just after .got and .sdata. 22 # OTHER_GOT_SECTIONS - sections just after .got. 23 # OTHER_SDATA_SECTIONS - sections just after .sdata. 21 24 # OTHER_BSS_SYMBOLS - symbols that appear at the start of the 22 25 # .bss section besides __bss_start. … … 33 36 # FINI_START, FINI_END - statements just before and just after 34 37 # combination of .fini sections. 38 # STACK_ADDR - start of a .stack section. 39 # OTHER_END_SYMBOLS - symbols to place right at the end of the script. 35 40 # 36 41 # When adding sections, do note that the names of some sections are used … … 55 60 # .sdata2 .gnu.linkonce.s2.foo 56 61 # .sbss2 .gnu.linkonce.sb2.foo 62 # .debug_info .gnu.linkonce.wi.foo 63 # .tdata .gnu.linkonce.td.foo 64 # .tbss .gnu.linkonce.tb.foo 57 65 # 58 66 # Each of these can also have corresponding .rel.* and .rela.* sections. … … 65 73 test -z "${ALIGNMENT}" && ALIGNMENT="${ELFSIZE} / 8" 66 74 test "$LD_FLAG" = "N" && DATA_ADDR=. 67 INTERP=".interp ${RELOCATING-0} : { *(.interp) }" 68 PLT=".plt ${RELOCATING-0} : { *(.plt) }" 69 DYNAMIC=".dynamic ${RELOCATING-0} : { *(.dynamic) }" 70 RODATA=".rodata ${RELOCATING-0} : { *(.rodata) ${RELOCATING+*(.rodata.*)} ${RELOCATING+*(.gnu.linkonce.r.*)} }" 71 SBSS2=".sbss2 ${RELOCATING-0} : { *(.sbss2) ${RELOCATING+*(.sbss2.*)} ${RELOCATING+*(.gnu.linkonce.sb2.*)} }" 72 SDATA2=".sdata2 ${RELOCATING-0} : { *(.sdata2) ${RELOCATING+*(.sdata2.*)} ${RELOCATING+*(.gnu.linkonce.s2.*)} }" 73 CTOR=".ctors ${CONSTRUCTING-0} : 75 test -n "$CREATE_SHLIB" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE="" 76 test -z "$CREATE_SHLIB" && test -n "$DATA_ADDR" && COMMONPAGESIZE="" 77 DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))" 78 DATA_SEGMENT_END="" 79 if test -n "${COMMONPAGESIZE}"; then 80 DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})" 81 DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);" 82 fi 83 INTERP=".interp ${RELOCATING-0} : { *(.interp) }" 84 PLT=".plt ${RELOCATING-0} : { *(.plt) }" 85 DYNAMIC=".dynamic ${RELOCATING-0} : { *(.dynamic) }" 86 RODATA=".rodata ${RELOCATING-0} : { *(.rodata${RELOCATING+ .rodata.* .gnu.linkonce.r.*}) }" 87 if test -z "${NO_SMALL_DATA}"; then 88 SBSS=".sbss ${RELOCATING-0} : 89 { 90 ${RELOCATING+PROVIDE (__sbss_start = .);} 91 ${RELOCATING+PROVIDE (___sbss_start = .);} 92 *(.dynsbss) 93 *(.sbss${RELOCATING+ .sbss.* .gnu.linkonce.sb.*}) 94 *(.scommon) 95 ${RELOCATING+PROVIDE (__sbss_end = .);} 96 ${RELOCATING+PROVIDE (___sbss_end = .);} 97 }" 98 SBSS2=".sbss2 ${RELOCATING-0} : { *(.sbss2${RELOCATING+ .sbss2.* .gnu.linkonce.sb2.*}) }" 99 SDATA="/* We want the small data sections together, so single-instruction offsets 100 can access them all, and initialized data all before uninitialized, so 101 we can shorten the on-disk segment size. */ 102 .sdata ${RELOCATING-0} : 103 { 104 ${RELOCATING+${SDATA_START_SYMBOLS}} 105 *(.sdata${RELOCATING+ .sdata.* .gnu.linkonce.s.*}) 106 }" 107 SDATA2=".sdata2 ${RELOCATING-0} : { *(.sdata2${RELOCATING+ .sdata2.* .gnu.linkonce.s2.*}) }" 108 REL_SDATA=".rel.sdata ${RELOCATING-0} : { *(.rel.sdata${RELOCATING+ .rel.sdata.* .rel.gnu.linkonce.s.*}) } 109 .rela.sdata ${RELOCATING-0} : { *(.rela.sdata${RELOCATING+ .rela.sdata.* .rela.gnu.linkonce.s.*}) }" 110 REL_SBSS=".rel.sbss ${RELOCATING-0} : { *(.rel.sbss${RELOCATING+ .rel.sbss.* .rel.gnu.linkonce.sb.*}) } 111 .rela.sbss ${RELOCATING-0} : { *(.rela.sbss${RELOCATING+ .rela.sbss.* .rela.gnu.linkonce.sb.*}) }" 112 REL_SDATA2=".rel.sdata2 ${RELOCATING-0} : { *(.rel.sdata2${RELOCATING+ .rel.sdata2.* .rel.gnu.linkonce.s2.*}) } 113 .rela.sdata2 ${RELOCATING-0} : { *(.rela.sdata2${RELOCATING+ .rela.sdata2.* .rela.gnu.linkonce.s2.*}) }" 114 REL_SBSS2=".rel.sbss2 ${RELOCATING-0} : { *(.rel.sbss2${RELOCATING+ .rel.sbss2.* .rel.gnu.linkonce.sb2.*}) } 115 .rela.sbss2 ${RELOCATING-0} : { *(.rela.sbss2${RELOCATING+ .rela.sbss2.* .rela.gnu.linkonce.sb2.*}) }" 116 fi 117 CTOR=".ctors ${CONSTRUCTING-0} : 74 118 { 75 119 ${CONSTRUCTING+${CTOR_START}} … … 84 128 is in. */ 85 129 86 KEEP (*crtbegin .o(.ctors))130 KEEP (*crtbegin*.o(.ctors)) 87 131 88 132 /* We don't want to include the .ctor section from … … 91 135 end of ctors marker and it must be last */ 92 136 93 KEEP (*(EXCLUDE_FILE (*crtend .o $OTHER_EXCLUDE_FILES) .ctors))137 KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors)) 94 138 KEEP (*(SORT(.ctors.*))) 95 139 KEEP (*(.ctors)) 96 140 ${CONSTRUCTING+${CTOR_END}} 97 141 }" 98 99 DTOR=" .dtors ${CONSTRUCTING-0} : 142 DTOR=".dtors ${CONSTRUCTING-0} : 100 143 { 101 144 ${CONSTRUCTING+${DTOR_START}} 102 KEEP (*crtbegin .o(.dtors))103 KEEP (*(EXCLUDE_FILE (*crtend .o $OTHER_EXCLUDE_FILES) .dtors))145 KEEP (*crtbegin*.o(.dtors)) 146 KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors)) 104 147 KEEP (*(SORT(.dtors.*))) 105 148 KEEP (*(.dtors)) 106 149 ${CONSTRUCTING+${DTOR_END}} 150 }" 151 STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} : 152 { 153 ${RELOCATING+_stack = .;} 154 *(.stack) 107 155 }" 108 156 … … 138 186 ${INITIAL_READONLY_SECTIONS} 139 187 ${TEXT_DYNAMIC+${DYNAMIC}} 140 .hash ${RELOCATING-0} : { *(.hash) } 141 .dynsym ${RELOCATING-0} : { *(.dynsym) } 142 .dynstr ${RELOCATING-0} : { *(.dynstr) } 143 .gnu.version ${RELOCATING-0} : { *(.gnu.version) } 144 .gnu.version_d ${RELOCATING-0} : { *(.gnu.version_d) } 145 .gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r) } 146 147 .rel.init ${RELOCATING-0} : { *(.rel.init) } 148 .rela.init ${RELOCATING-0} : { *(.rela.init) } 149 .rel.text ${RELOCATING-0} : 188 .hash ${RELOCATING-0} : { *(.hash) } 189 .dynsym ${RELOCATING-0} : { *(.dynsym) } 190 .dynstr ${RELOCATING-0} : { *(.dynstr) } 191 .gnu.version ${RELOCATING-0} : { *(.gnu.version) } 192 .gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) } 193 .gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) } 194 195 EOF 196 if [ "x$COMBRELOC" = x ]; then 197 COMBRELOCCAT=cat 198 else 199 COMBRELOCCAT="cat > $COMBRELOC" 200 fi 201 eval $COMBRELOCCAT <<EOF 202 .rel.init ${RELOCATING-0} : { *(.rel.init) } 203 .rela.init ${RELOCATING-0} : { *(.rela.init) } 204 .rel.text ${RELOCATING-0} : { *(.rel.text${RELOCATING+ .rel.text.* .rel.gnu.linkonce.t.*}) } 205 .rela.text ${RELOCATING-0} : { *(.rela.text${RELOCATING+ .rela.text.* .rela.gnu.linkonce.t.*}) } 206 .rel.fini ${RELOCATING-0} : { *(.rel.fini) } 207 .rela.fini ${RELOCATING-0} : { *(.rela.fini) } 208 .rel.rodata ${RELOCATING-0} : { *(.rel.rodata${RELOCATING+ .rel.rodata.* .rel.gnu.linkonce.r.*}) } 209 .rela.rodata ${RELOCATING-0} : { *(.rela.rodata${RELOCATING+ .rela.rodata.* .rela.gnu.linkonce.r.*}) } 210 ${OTHER_READONLY_RELOC_SECTIONS} 211 .rel.data ${RELOCATING-0} : { *(.rel.data${RELOCATING+ .rel.data.* .rel.gnu.linkonce.d.*}) } 212 .rela.data ${RELOCATING-0} : { *(.rela.data${RELOCATING+ .rela.data.* .rela.gnu.linkonce.d.*}) } 213 .rel.tdata ${RELOCATING-0} : { *(.rel.tdata${RELOCATING+ .rel.tdata.* .rel.gnu.linkonce.td.*}) } 214 .rela.tdata ${RELOCATING-0} : { *(.rela.tdata${RELOCATING+ .rela.tdata.* .rela.gnu.linkonce.td.*}) } 215 .rel.tbss ${RELOCATING-0} : { *(.rel.tbss${RELOCATING+ .rel.tbss.* .rel.gnu.linkonce.tb.*}) } 216 .rela.tbss ${RELOCATING-0} : { *(.rela.tbss${RELOCATING+ .rela.tbss.* .rela.gnu.linkonce.tb.*}) } 217 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) } 218 .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) } 219 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) } 220 .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) } 221 .rel.got ${RELOCATING-0} : { *(.rel.got) } 222 .rela.got ${RELOCATING-0} : { *(.rela.got) } 223 ${OTHER_GOT_RELOC_SECTIONS} 224 ${REL_SDATA} 225 ${REL_SBSS} 226 ${REL_SDATA2} 227 ${REL_SBSS2} 228 .rel.bss ${RELOCATING-0} : { *(.rel.bss${RELOCATING+ .rel.bss.* .rel.gnu.linkonce.b.*}) } 229 .rela.bss ${RELOCATING-0} : { *(.rela.bss${RELOCATING+ .rela.bss.* .rela.gnu.linkonce.b.*}) } 230 EOF 231 if [ -n "$COMBRELOC" ]; then 232 cat <<EOF 233 .rel.dyn ${RELOCATING-0} : 150 234 { 151 *(.rel.text) 152 ${RELOCATING+*(.rel.text.*)} 153 ${RELOCATING+*(.rel.gnu.linkonce.t.*)} 235 EOF 236 sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC 237 cat <<EOF 154 238 } 155 .rela. text${RELOCATING-0} :239 .rela.dyn ${RELOCATING-0} : 156 240 { 157 *(.rela.text) 158 ${RELOCATING+*(.rela.text.*)} 159 ${RELOCATING+*(.rela.gnu.linkonce.t.*)} 241 EOF 242 sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC 243 cat <<EOF 160 244 } 161 .rel.fini ${RELOCATING-0} : { *(.rel.fini) } 162 .rela.fini ${RELOCATING-0} : { *(.rela.fini) } 163 .rel.rodata ${RELOCATING-0} : 164 { 165 *(.rel.rodata) 166 ${RELOCATING+*(.rel.rodata.*)} 167 ${RELOCATING+*(.rel.gnu.linkonce.r.*)} 168 } 169 .rela.rodata ${RELOCATING-0} : 170 { 171 *(.rela.rodata) 172 ${RELOCATING+*(.rela.rodata.*)} 173 ${RELOCATING+*(.rela.gnu.linkonce.r.*)} 174 } 175 ${OTHER_READONLY_RELOC_SECTIONS} 176 .rel.data ${RELOCATING-0} : 177 { 178 *(.rel.data) 179 ${RELOCATING+*(.rel.data.*)} 180 ${RELOCATING+*(.rel.gnu.linkonce.d.*)} 181 } 182 .rela.data ${RELOCATING-0} : 183 { 184 *(.rela.data) 185 ${RELOCATING+*(.rela.data.*)} 186 ${RELOCATING+*(.rela.gnu.linkonce.d.*)} 187 } 188 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) } 189 .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) } 190 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) } 191 .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) } 192 .rel.got ${RELOCATING-0} : { *(.rel.got) } 193 .rela.got ${RELOCATING-0} : { *(.rela.got) } 194 ${OTHER_GOT_RELOC_SECTIONS} 195 .rel.sdata ${RELOCATING-0} : 196 { 197 *(.rel.sdata) 198 ${RELOCATING+*(.rel.sdata.*)} 199 ${RELOCATING+*(.rel.gnu.linkonce.s.*)} 200 } 201 .rela.sdata ${RELOCATING-0} : 202 { 203 *(.rela.sdata) 204 ${RELOCATING+*(.rela.sdata.*)} 205 ${RELOCATING+*(.rela.gnu.linkonce.s.*)} 206 } 207 .rel.sbss ${RELOCATING-0} : 208 { 209 *(.rel.sbss) 210 ${RELOCATING+*(.rel.sbss.*)} 211 ${RELOCATING+*(.rel.gnu.linkonce.sb.*)} 212 } 213 .rela.sbss ${RELOCATING-0} : 214 { 215 *(.rela.sbss) 216 ${RELOCATING+*(.rela.sbss.*)} 217 ${RELOCATING+*(.rel.gnu.linkonce.sb.*)} 218 } 219 .rel.sdata2 ${RELOCATING-0} : 220 { 221 *(.rel.sdata2) 222 ${RELOCATING+*(.rel.sdata2.*)} 223 ${RELOCATING+*(.rel.gnu.linkonce.s2.*)} 224 } 225 .rela.sdata2 ${RELOCATING-0} : 226 { 227 *(.rela.sdata2) 228 ${RELOCATING+*(.rela.sdata2.*)} 229 ${RELOCATING+*(.rela.gnu.linkonce.s2.*)} 230 } 231 .rel.sbss2 ${RELOCATING-0} : 232 { 233 *(.rel.sbss2) 234 ${RELOCATING+*(.rel.sbss2.*)} 235 ${RELOCATING+*(.rel.gnu.linkonce.sb2.*)} 236 } 237 .rela.sbss2 ${RELOCATING-0} : 238 { 239 *(.rela.sbss2) 240 ${RELOCATING+*(.rela.sbss2.*)} 241 ${RELOCATING+*(.rela.gnu.linkonce.sb2.*)} 242 } 243 .rel.bss ${RELOCATING-0} : 244 { 245 *(.rel.bss) 246 ${RELOCATING+*(.rel.bss.*)} 247 ${RELOCATING+*(.rel.gnu.linkonce.b.*)} 248 } 249 .rela.bss ${RELOCATING-0} : 250 { 251 *(.rela.bss) 252 ${RELOCATING+*(.rela.bss.*)} 253 ${RELOCATING+*(.rela.gnu.linkonce.b.*)} 254 } 255 .rel.plt ${RELOCATING-0} : { *(.rel.plt) } 256 .rela.plt ${RELOCATING-0} : { *(.rela.plt) } 245 EOF 246 fi 247 cat <<EOF 248 .rel.plt ${RELOCATING-0} : { *(.rel.plt) } 249 .rela.plt ${RELOCATING-0} : { *(.rela.plt) } 257 250 ${OTHER_PLT_RELOC_SECTIONS} 258 251 259 .init ${RELOCATING-0} :252 .init ${RELOCATING-0} : 260 253 { 261 254 ${RELOCATING+${INIT_START}} … … 265 258 266 259 ${DATA_PLT-${BSS_PLT-${PLT}}} 267 .text ${RELOCATING-0} :260 .text ${RELOCATING-0} : 268 261 { 269 262 ${RELOCATING+${TEXT_START_SYMBOLS}} 270 *(.text) 271 ${RELOCATING+*(.text.*)} 272 *(.stub) 263 *(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*}) 273 264 /* .gnu.warning sections are handled specially by elf32.em. */ 274 265 *(.gnu.warning) 275 ${RELOCATING+*(.gnu.linkonce.t.*)}276 266 ${RELOCATING+${OTHER_TEXT_SECTIONS}} 277 267 } =${NOP-0} 278 .fini ${RELOCATING-0} :268 .fini ${RELOCATING-0} : 279 269 { 280 270 ${RELOCATING+${FINI_START}} … … 286 276 ${RELOCATING+PROVIDE (etext = .);} 287 277 ${WRITABLE_RODATA-${RODATA}} 288 .rodata1 ${RELOCATING-0} : { *(.rodata1) }278 .rodata1 ${RELOCATING-0} : { *(.rodata1) } 289 279 ${CREATE_SHLIB-${SDATA2}} 290 280 ${CREATE_SHLIB-${SBSS2}} 291 ${RELOCATING+${OTHER_READONLY_SECTIONS}} 281 ${OTHER_READONLY_SECTIONS} 282 .eh_frame_hdr : { *(.eh_frame_hdr) } 292 283 293 284 /* Adjust the address for the data segment. We want to adjust up to 294 285 the same address within the page on the next page up. */ 295 ${CREATE_SHLIB-${RELOCATING+. = ${DATA_ADDR-ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))};}} 296 ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))};}} 297 298 .data ${RELOCATING-0} : 286 ${CREATE_SHLIB-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}} 287 ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}} 288 289 /* Ensure the __preinit_array_start label is properly aligned. We 290 could instead move the label definition inside the section, but 291 the linker would then create the section even if it turns out to 292 be empty, which isn't pretty. */ 293 ${RELOCATING+. = ALIGN(${ALIGNMENT});} 294 ${RELOCATING+${CREATE_SHLIB-PROVIDE (__preinit_array_start = .);}} 295 .preinit_array ${RELOCATING-0} : { *(.preinit_array) } 296 ${RELOCATING+${CREATE_SHLIB-PROVIDE (__preinit_array_end = .);}} 297 298 ${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_start = .);}} 299 .init_array ${RELOCATING-0} : { *(.init_array) } 300 ${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_end = .);}} 301 302 ${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_start = .);}} 303 .fini_array ${RELOCATING-0} : { *(.fini_array) } 304 ${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_end = .);}} 305 306 .data ${RELOCATING-0} : 299 307 { 300 308 ${RELOCATING+${DATA_START_SYMBOLS}} 301 *(.data) 302 ${RELOCATING+*(.data.*)} 303 ${RELOCATING+*(.gnu.linkonce.d.*)} 309 *(.data${RELOCATING+ .data.* .gnu.linkonce.d.*}) 304 310 ${CONSTRUCTING+SORT(CONSTRUCTORS)} 305 311 } 306 .data1 ${RELOCATING-0} : { *(.data1) } 307 .eh_frame : { KEEP (*(.eh_frame)) } 308 .gcc_except_table : { *(.gcc_except_table) } 312 .data1 ${RELOCATING-0} : { *(.data1) } 313 .tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) } 314 .tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} } 315 .eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) } 316 .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) } 309 317 ${WRITABLE_RODATA+${RODATA}} 310 ${RELOCATING+${OTHER_READWRITE_SECTIONS}} 318 ${OTHER_READWRITE_SECTIONS} 319 ${TEXT_DYNAMIC-${DYNAMIC}} 311 320 ${RELOCATING+${CTOR}} 312 321 ${RELOCATING+${DTOR}} 322 .jcr ${RELOCATING-0} : { KEEP (*(.jcr)) } 313 323 ${DATA_PLT+${PLT}} 314 324 ${RELOCATING+${OTHER_GOT_SYMBOLS}} 315 .got ${RELOCATING-0} : { *(.got.plt) *(.got) } 325 .got ${RELOCATING-0} : { *(.got.plt) *(.got) } 326 ${OTHER_GOT_SECTIONS} 316 327 ${CREATE_SHLIB+${SDATA2}} 317 328 ${CREATE_SHLIB+${SBSS2}} 318 ${TEXT_DYNAMIC-${DYNAMIC}} 319 /* We want the small data sections together, so single-instruction offsets 320 can access them all, and initialized data all before uninitialized, so 321 we can shorten the on-disk segment size. */ 322 .sdata ${RELOCATING-0} : 323 { 324 ${RELOCATING+${SDATA_START_SYMBOLS}} 325 *(.sdata) 326 ${RELOCATING+*(.sdata.*)} 327 ${RELOCATING+*(.gnu.linkonce.s.*)} 328 } 329 ${RELOCATING+${OTHER_GOT_SECTIONS}} 329 ${SDATA} 330 ${OTHER_SDATA_SECTIONS} 330 331 ${RELOCATING+_edata = .;} 331 332 ${RELOCATING+PROVIDE (edata = .);} 332 333 ${RELOCATING+__bss_start = .;} 333 334 ${RELOCATING+${OTHER_BSS_SYMBOLS}} 334 .sbss ${RELOCATING-0} : 335 { 336 ${RELOCATING+PROVIDE (__sbss_start = .);} 337 ${RELOCATING+PROVIDE (___sbss_start = .);} 338 *(.dynsbss) 339 *(.sbss) 340 ${RELOCATING+*(.sbss.*)} 341 ${RELOCATING+*(.gnu.linkonce.sb.*)} 342 *(.scommon) 343 ${RELOCATING+PROVIDE (__sbss_end = .);} 344 ${RELOCATING+PROVIDE (___sbss_end = .);} 345 } 335 ${SBSS} 346 336 ${BSS_PLT+${PLT}} 347 .bss ${RELOCATING-0} :337 .bss ${RELOCATING-0} : 348 338 { 349 339 *(.dynbss) 350 *(.bss) 351 ${RELOCATING+*(.bss.*)} 352 ${RELOCATING+*(.gnu.linkonce.b.*)} 340 *(.bss${RELOCATING+ .bss.* .gnu.linkonce.b.*}) 353 341 *(COMMON) 354 342 /* Align here to ensure that the .bss section occupies space up to … … 357 345 ${RELOCATING+. = ALIGN(${ALIGNMENT});} 358 346 } 359 ${ RELOCATING+${OTHER_BSS_SECTIONS}}347 ${OTHER_BSS_SECTIONS} 360 348 ${RELOCATING+. = ALIGN(${ALIGNMENT});} 361 349 ${RELOCATING+_end = .;} 362 350 ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} 363 351 ${RELOCATING+PROVIDE (end = .);} 352 ${RELOCATING+${DATA_SEGMENT_END}} 364 353 365 354 /* Stabs debugging sections. */ 366 .stab 0 : { *(.stab) }367 .stabstr 0 : { *(.stabstr) }368 .stab.excl 0 : { *(.stab.excl) }369 .stab.exclstr 0 : { *(.stab.exclstr) }370 .stab.index 0 : { *(.stab.index) }355 .stab 0 : { *(.stab) } 356 .stabstr 0 : { *(.stabstr) } 357 .stab.excl 0 : { *(.stab.excl) } 358 .stab.exclstr 0 : { *(.stab.exclstr) } 359 .stab.index 0 : { *(.stab.index) } 371 360 .stab.indexstr 0 : { *(.stab.indexstr) } 372 361 373 .comment 0 : { *(.comment) }362 .comment 0 : { *(.comment) } 374 363 375 364 /* DWARF debug sections. … … 390 379 391 380 /* DWARF 2 */ 392 .debug_info 0 : { *(.debug_info ) *(.gnu.linkonce.wi.*) }381 .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } 393 382 .debug_abbrev 0 : { *(.debug_abbrev) } 394 383 .debug_line 0 : { *(.debug_line) } … … 404 393 .debug_varnames 0 : { *(.debug_varnames) } 405 394 406 ${RELOCATING+${OTHER_RELOCATING_SECTIONS}} 407 408 /* These must appear regardless of ${RELOCATING}. */ 395 ${STACK_ADDR+${STACK}} 409 396 ${OTHER_SECTIONS} 397 ${RELOCATING+${OTHER_END_SYMBOLS}} 410 398 } 411 399 EOF -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/elf32avr.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 6 6 { 7 7 text (rx) : ORIGIN = 0, LENGTH = $TEXT_LENGTH 8 data (rw!x) : ORIGIN = 0x800060, LENGTH = $DATA_LENGTH8 data (rw!x) : ORIGIN = (0x800000 + $DATA_START), LENGTH = $DATA_LENGTH 9 9 eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = $EEPROM_LENGTH 10 10 } -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/elfd10v.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 21 21 is in. */ 22 22 23 KEEP (*crtbegin .o(.ctors))23 KEEP (*crtbegin*.o(.ctors)) 24 24 25 25 /* We don't want to include the .ctor section from … … 28 28 end of ctors marker and it must be last */ 29 29 30 KEEP (*(EXCLUDE_FILE (*crtend .o) .ctors))30 KEEP (*(EXCLUDE_FILE (*crtend*.o) .ctors)) 31 31 KEEP (*(SORT(.ctors.*))) 32 32 KEEP (*(.ctors)) … … 37 37 { 38 38 ${CONSTRUCTING+${DTOR_START}} 39 KEEP (*crtbegin .o(.dtors))40 KEEP (*(EXCLUDE_FILE (*crtend .o) .dtors))39 KEEP (*crtbegin*.o(.dtors)) 40 KEEP (*(EXCLUDE_FILE (*crtend*.o) .dtors)) 41 41 KEEP (*(SORT(.dtors.*))) 42 42 KEEP (*(.dtors)) … … 66 66 MEMORY 67 67 { 68 UNIFIED : org = 0, len = 0x1000000 69 INSN : org = 0x1000000, len = 0x40000 70 DATA : org = 0x2000004, len = 0x7FFC 71 STACK : org = 0x2007FFE, len = 4 68 /* These are the values for the D10V-TS3 board. 69 There are other memory regions available on 70 the TS3 (eg ROM, FLASH, etc) but these are not 71 used by this script. */ 72 73 INSN : org = 0x01000000, len = 256K 74 DATA : org = 0x02000000, len = 48K 75 76 /* This is a fake memory region at the top of the 77 on-chip RAM, used as the start of the 78 (descending) stack. */ 79 80 STACK : org = 0x0200BFFC, len = 4 72 81 } 73 82 74 83 SECTIONS 75 84 { 76 .text :85 .text ${RELOCATING+${TEXT_START_ADDR}} : 77 86 { 78 87 ${RELOCATING+${TEXT_START_SYMBOLS}} 79 88 KEEP (*(.init)) 89 KEEP (*(.init.*)) 80 90 KEEP (*(.fini)) 91 KEEP (*(.fini.*)) 81 92 *(.text) 82 93 *(.text.*) … … 88 99 } ${RELOCATING+ >INSN} =${NOP-0} 89 100 90 .rodata ${RELOCATING-0} : { 91 *(.rodata) *(.gnu.linkonce.r*) 101 .rodata ${RELOCATING+${READONLY_START_ADDR}} : { 102 *(.rodata) 103 *(.gnu.linkonce.r*) 104 *(.rodata.*) 92 105 } ${RELOCATING+ >DATA} 93 .rodata1 ${RELOCATING-0} : { *(.rodata1) } ${RELOCATING+ >DATA} 106 107 .rodata1 ${RELOCATING-0} : { 108 *(.rodata1) 109 *(.rodata1.*) 110 } ${RELOCATING+ >DATA} 94 111 95 112 .data ${RELOCATING-0} : … … 101 118 ${CONSTRUCTING+CONSTRUCTORS} 102 119 } ${RELOCATING+ >DATA} 103 .data1 ${RELOCATING-0} : { *(.data1) } ${RELOCATING+ >DATA} 120 121 .data1 ${RELOCATING-0} : { 122 *(.data1) 123 *(.data1.*) 124 } ${RELOCATING+ >DATA} 125 104 126 ${RELOCATING+${CTOR} >DATA} 105 127 ${RELOCATING+${DTOR} >DATA} … … 108 130 can access them all, and initialized data all before uninitialized, so 109 131 we can shorten the on-disk segment size. */ 110 .sdata ${RELOCATING-0} : { *(.sdata) } ${RELOCATING+ >DATA} 132 .sdata ${RELOCATING-0} : { 133 *(.sdata) 134 *(.sdata.*) 135 } ${RELOCATING+ >DATA} 136 111 137 ${RELOCATING+_edata = .;} 112 138 ${RELOCATING+PROVIDE (edata = .);} … … 116 142 { 117 143 *(.dynbss) 144 *(.dynbss.*) 118 145 *(.bss) 146 *(.bss.*) 119 147 *(COMMON) 120 148 } ${RELOCATING+ >DATA} 149 121 150 ${RELOCATING+_end = . ;} 122 151 ${RELOCATING+PROVIDE (end = .);} -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/elfd30v.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 13 13 is in. */ 14 14 15 KEEP (*crtbegin .o(.ctors))15 KEEP (*crtbegin*.o(.ctors)) 16 16 17 17 /* We don't want to include the .ctor section from … … 20 20 end of ctors marker and it must be last */ 21 21 22 KEEP (*(EXCLUDE_FILE (*crtend .o) .ctors))22 KEEP (*(EXCLUDE_FILE (*crtend*.o) .ctors)) 23 23 KEEP (*(SORT(.ctors.*))) 24 24 KEEP (*(.ctors)) … … 29 29 { 30 30 ${CONSTRUCTING+ __DTOR_LIST__ = .; } 31 KEEP (*crtbegin .o(.dtors))32 KEEP (*(EXCLUDE_FILE (*crtend .o) .dtors))31 KEEP (*crtbegin*.o(.dtors)) 32 KEEP (*(EXCLUDE_FILE (*crtend*.o) .dtors)) 33 33 KEEP (*(SORT(.dtors.*))) 34 34 KEEP (*(.dtors)) … … 59 59 .gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r) } 60 60 61 .rel.text ${RELOCATING-0} : { *(.rel.text) *(.rel.gnu.linkonce.t*) } 61 62 .rela.text ${RELOCATING-0} : { *(.rela.text) *(.rela.gnu.linkonce.t*) } 63 .rel.data ${RELOCATING-0} : { *(.rel.data) *(.rel.gnu.linkonce.d*) } 62 64 .rela.data ${RELOCATING-0} : { *(.rela.data) *(.rela.gnu.linkonce.d*) } 65 .rel.rodata ${RELOCATING-0} : { *(.rel.rodata) *(.rel.gnu.linkonce.r*) } 63 66 .rela.rodata ${RELOCATING-0} : { *(.rela.rodata) *(.rela.gnu.linkonce.r*) } 67 .rel.stext ${RELOCATING-0} : { *(.rel.stest) } 64 68 .rela.stext ${RELOCATING-0} : { *(.rela.stest) } 69 .rel.etext ${RELOCATING-0} : { *(.rel.etest) } 65 70 .rela.etext ${RELOCATING-0} : { *(.rela.etest) } 71 .rel.sdata ${RELOCATING-0} : { *(.rel.sdata) } 66 72 .rela.sdata ${RELOCATING-0} : { *(.rela.sdata) } 73 .rel.edata ${RELOCATING-0} : { *(.rel.edata) } 67 74 .rela.edata ${RELOCATING-0} : { *(.rela.edata) } 75 .rel.eit_v ${RELOCATING-0} : { *(.rel.eit_v) } 68 76 .rela.eit_v ${RELOCATING-0} : { *(.rela.eit_v) } 77 .rel.sbss ${RELOCATING-0} : { *(.rel.sbss) } 69 78 .rela.sbss ${RELOCATING-0} : { *(.rela.sbss) } 79 .rel.ebss ${RELOCATING-0} : { *(.rel.ebss) } 70 80 .rela.ebss ${RELOCATING-0} : { *(.rela.ebss) } 81 .rel.srodata ${RELOCATING-0} : { *(.rel.srodata) } 71 82 .rela.srodata ${RELOCATING-0} : { *(.rela.srodata) } 83 .rel.erodata ${RELOCATING-0} : { *(.rel.erodata) } 72 84 .rela.erodata ${RELOCATING-0} : { *(.rela.erodata) } 85 .rel.got ${RELOCATING-0} : { *(.rel.got) } 73 86 .rela.got ${RELOCATING-0} : { *(.rela.got) } 87 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) } 74 88 .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) } 89 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) } 75 90 .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) } 91 .rel.init ${RELOCATING-0} : { *(.rel.init) } 76 92 .rela.init ${RELOCATING-0} : { *(.rela.init) } 93 .rel.fini ${RELOCATING-0} : { *(.rel.fini) } 77 94 .rela.fini ${RELOCATING-0} : { *(.rela.fini) } 95 .rel.bss ${RELOCATING-0} : { *(.rel.bss) } 78 96 .rela.bss ${RELOCATING-0} : { *(.rela.bss) } 97 .rel.plt ${RELOCATING-0} : { *(.rel.plt) } 79 98 .rela.plt ${RELOCATING-0} : { *(.rela.plt) } 80 81 .rel.data ${RELOCATING-0} : { *(.rel.data) *(.rel.gnu.linkonce.d*) }82 .rel.rodata ${RELOCATING-0} : { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }83 .rel.stext ${RELOCATING-0} : { *(.rel.stest) }84 .rel.etext ${RELOCATING-0} : { *(.rel.etest) }85 .rel.sdata ${RELOCATING-0} : { *(.rel.sdata) }86 .rel.edata ${RELOCATING-0} : { *(.rel.edata) }87 .rel.sbss ${RELOCATING-0} : { *(.rel.sbss) }88 .rel.ebss ${RELOCATING-0} : { *(.rel.ebss) }89 .rel.eit_v ${RELOCATING-0} : { *(.rel.eit_v) }90 .rel.srodata ${RELOCATING-0} : { *(.rel.srodata) }91 .rel.erodata ${RELOCATING-0} : { *(.rel.erodata) }92 .rel.got ${RELOCATING-0} : { *(.rel.got) }93 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) }94 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) }95 .rel.init ${RELOCATING-0} : { *(.rel.init) }96 .rel.fini ${RELOCATING-0} : { *(.rel.fini) }97 .rel.bss ${RELOCATING-0} : { *(.rel.bss) }98 .rel.plt ${RELOCATING-0} : { *(.rel.plt) }99 99 100 100 .init ${RELOCATING-0} : { *(.init) } =${NOP-0} … … 124 124 .eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) } ${RELOCATING+ > ${DATA_MEMORY}} 125 125 .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) } ${RELOCATING+ > ${DATA_MEMORY}} 126 127 /* Java class registration support. */ 128 .jcr ${RELOCATING-0} : { KEEP (*(.jcr)) } ${RELOCATING+ >${DATA_MEMORY}} 126 129 127 130 ${RELOCATING+${CTOR}} -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/elfi370.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 3 3 # 4 4 # Unusual variables checked by this code: 5 # NOP - twobyte opcode for no-op (defaults to 0)5 # NOP - four byte opcode for no-op (defaults to 0) 6 6 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start 7 7 # OTHER_READONLY_SECTIONS - other than .text .init .rodata ... … … 93 93 ${CREATE_SHLIB-${SDATA2}} 94 94 ${CREATE_SHLIB-${SBSS2}} 95 ${ RELOCATING+${OTHER_READONLY_SECTIONS}}95 ${OTHER_READONLY_SECTIONS} 96 96 97 97 /* Adjust the address for the data segment. We want to adjust up to … … 119 119 } 120 120 .data1 ${RELOCATING-0} : { *(.data1) } 121 ${ RELOCATING+${OTHER_READWRITE_SECTIONS}}121 ${OTHER_READWRITE_SECTIONS} 122 122 123 123 .got1 ${RELOCATING-0} : { *(.got1) } … … 213 213 .debug_varnames 0 : { *(.debug_varnames) } 214 214 215 /* These must appear regardless of ${RELOCATING}. */216 215 ${OTHER_SECTIONS} 217 216 } -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/elfm68hc11.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 # 2 2 # Unusual variables checked by this code: 3 # NOP - twobyte opcode for no-op (defaults to 0)3 # NOP - four byte opcode for no-op (defaults to 0) 4 4 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start 5 5 # OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... … … 27 27 CTOR=".ctors ${CONSTRUCTING-0} : 28 28 { 29 ${CONSTRUCTING+ __CTOR_LIST__ = .; }29 ${CONSTRUCTING+ PROVIDE (__CTOR_LIST__ = .); } 30 30 ${CONSTRUCTING+${CTOR_START}} 31 31 *(.ctors) … … 40 40 41 41 ${CONSTRUCTING+${CTOR_END}} 42 ${CONSTRUCTING+ __CTOR_END__ = .; }43 } ${RELOCATING+ > ${ DATA_MEMORY}}"42 ${CONSTRUCTING+ PROVIDE(__CTOR_END__ = .); } 43 } ${RELOCATING+ > ${TEXT_MEMORY}}" 44 44 45 45 DTOR=" .dtors ${CONSTRUCTING-0} : 46 46 { 47 ${CONSTRUCTING+ __DTOR_LIST__ = .; }47 ${CONSTRUCTING+ PROVIDE(__DTOR_LIST__ = .); } 48 48 *(.dtors) 49 49 /* … … 52 52 KEEP (*(SORT(.dtors.*))) 53 53 KEEP (*(.dtors)) */ 54 ${CONSTRUCTING+ __DTOR_END__ = .; }55 } ${RELOCATING+ > ${ DATA_MEMORY}}"54 ${CONSTRUCTING+ PROVIDE(__DTOR_END__ = .); } 55 } ${RELOCATING+ > ${TEXT_MEMORY}}" 56 56 57 57 … … 76 76 .vectors DEFINED (vectors_addr) ? vectors_addr : 0xffc0 : 77 77 { 78 *(.vectors)78 KEEP (*(.vectors)) 79 79 }" 80 80 … … 101 101 text (rx) : ORIGIN = ${ROM_START_ADDR}, LENGTH = ${ROM_SIZE} 102 102 data : ORIGIN = ${RAM_START_ADDR}, LENGTH = ${RAM_SIZE} 103 eeprom : ORIGIN = ${EEPROM_START_ADDR}, LENGTH = ${EEPROM_SIZE} 103 104 } 104 105 … … 111 112 STARTUP_CODE=" 112 113 /* Startup code. */ 113 *(.install0) /* Section should setup the stack pointer. */ 114 *(.install1) /* Place holder for applications. */ 115 *(.install2) /* Optional installation of data sections in RAM. */ 116 *(.install3) /* Place holder for applications. */ 117 *(.install4) /* Section that calls the main. */ 114 KEEP (*(.install0)) /* Section should setup the stack pointer. */ 115 KEEP (*(.install1)) /* Place holder for applications. */ 116 KEEP (*(.install2)) /* Optional installation of data sections in RAM. */ 117 KEEP (*(.install3)) /* Place holder for applications. */ 118 KEEP (*(.install4)) /* Section that calls the main. */ 119 " 120 121 FINISH_CODE=" 122 /* Finish code. */ 123 KEEP (*(.fini0)) /* Beginning of finish code (_exit symbol). */ 124 KEEP (*(.fini1)) /* Place holder for applications. */ 125 KEEP (*(.fini2)) /* C++ destructors. */ 126 KEEP (*(.fini3)) /* Place holder for applications. */ 127 KEEP (*(.fini4)) /* Runtime exit. */ 118 128 " 119 129 … … 138 148 " 139 149 150 FINISH_RELOC=" 151 .fini0 0 : { *(.fini0) } 152 .fini1 0 : { *(.fini1) } 153 .fini2 0 : { *(.fini2) } 154 .fini3 0 : { *(.fini3) } 155 .fini4 0 : { *(.fini4) } 156 " 157 140 158 BSS_DATA_RELOC=" 141 159 .data1 0 : { *(.data1) } … … 147 165 .sbss 0 : { *(.sbss) } 148 166 .scommon 0 : { *(.scommon) } 167 " 168 169 SOFT_REGS_RELOC=" 170 .softregs 0 : { *(.softregs) } 149 171 " 150 172 … … 171 193 .gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r) } 172 194 173 .rela.text ${RELOCATING-0} : { *(.rela.text) *(.rela.gnu.linkonce.t*) } 174 .rela.data ${RELOCATING-0} : { *(.rela.data) *(.rela.gnu.linkonce.d*) } 175 .rela.rodata ${RELOCATING-0} : { *(.rela.rodata) *(.rela.gnu.linkonce.r*) } 195 .rel.text ${RELOCATING-0} : 196 { 197 *(.rel.text) 198 ${RELOCATING+*(.rel.text.*)} 199 ${RELOCATING+*(.rel.gnu.linkonce.t.*)} 200 } 201 .rela.text ${RELOCATING-0} : 202 { 203 *(.rela.text) 204 ${RELOCATING+*(.rela.text.*)} 205 ${RELOCATING+*(.rela.gnu.linkonce.t.*)} 206 } 207 .rel.data ${RELOCATING-0} : 208 { 209 *(.rel.data) 210 ${RELOCATING+*(.rel.data.*)} 211 ${RELOCATING+*(.rel.gnu.linkonce.d.*)} 212 } 213 .rela.data ${RELOCATING-0} : 214 { 215 *(.rela.data) 216 ${RELOCATING+*(.rela.data.*)} 217 ${RELOCATING+*(.rela.gnu.linkonce.d.*)} 218 } 219 .rel.rodata ${RELOCATING-0} : 220 { 221 *(.rel.rodata) 222 ${RELOCATING+*(.rel.rodata.*)} 223 ${RELOCATING+*(.rel.gnu.linkonce.r.*)} 224 } 225 .rela.rodata ${RELOCATING-0} : 226 { 227 *(.rela.rodata) 228 ${RELOCATING+*(.rela.rodata.*)} 229 ${RELOCATING+*(.rela.gnu.linkonce.r.*)} 230 } 231 .rel.sdata ${RELOCATING-0} : 232 { 233 *(.rel.sdata) 234 ${RELOCATING+*(.rel.sdata.*)} 235 ${RELOCATING+*(.rel.gnu.linkonce.s.*)} 236 } 237 .rela.sdata ${RELOCATING-0} : 238 { 239 *(.rela.sdata) 240 ${RELOCATING+*(.rela.sdata.*)} 241 ${RELOCATING+*(.rela.gnu.linkonce.s.*)} 242 } 243 .rel.sbss ${RELOCATING-0} : 244 { 245 *(.rel.sbss) 246 ${RELOCATING+*(.rel.sbss.*)} 247 ${RELOCATING+*(.rel.gnu.linkonce.sb.*)} 248 } 249 .rela.sbss ${RELOCATING-0} : 250 { 251 *(.rela.sbss) 252 ${RELOCATING+*(.rela.sbss.*)} 253 ${RELOCATING+*(.rel.gnu.linkonce.sb.*)} 254 } 255 .rel.bss ${RELOCATING-0} : 256 { 257 *(.rel.bss) 258 ${RELOCATING+*(.rel.bss.*)} 259 ${RELOCATING+*(.rel.gnu.linkonce.b.*)} 260 } 261 .rela.bss ${RELOCATING-0} : 262 { 263 *(.rela.bss) 264 ${RELOCATING+*(.rela.bss.*)} 265 ${RELOCATING+*(.rela.gnu.linkonce.b.*)} 266 } 267 .rel.stext ${RELOCATING-0} : { *(.rel.stest) } 176 268 .rela.stext ${RELOCATING-0} : { *(.rela.stest) } 269 .rel.etext ${RELOCATING-0} : { *(.rel.etest) } 177 270 .rela.etext ${RELOCATING-0} : { *(.rela.etest) } 271 .rel.sdata ${RELOCATING-0} : { *(.rel.sdata) } 178 272 .rela.sdata ${RELOCATING-0} : { *(.rela.sdata) } 273 .rel.edata ${RELOCATING-0} : { *(.rel.edata) } 179 274 .rela.edata ${RELOCATING-0} : { *(.rela.edata) } 275 .rel.eit_v ${RELOCATING-0} : { *(.rel.eit_v) } 180 276 .rela.eit_v ${RELOCATING-0} : { *(.rela.eit_v) } 181 .rel a.sbss ${RELOCATING-0} : { *(.rela.sbss) }277 .rel.ebss ${RELOCATING-0} : { *(.rel.ebss) } 182 278 .rela.ebss ${RELOCATING-0} : { *(.rela.ebss) } 279 .rel.srodata ${RELOCATING-0} : { *(.rel.srodata) } 183 280 .rela.srodata ${RELOCATING-0} : { *(.rela.srodata) } 281 .rel.erodata ${RELOCATING-0} : { *(.rel.erodata) } 184 282 .rela.erodata ${RELOCATING-0} : { *(.rela.erodata) } 283 .rel.got ${RELOCATING-0} : { *(.rel.got) } 185 284 .rela.got ${RELOCATING-0} : { *(.rela.got) } 285 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) } 186 286 .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) } 287 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) } 187 288 .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) } 289 .rel.init ${RELOCATING-0} : { *(.rel.init) } 188 290 .rela.init ${RELOCATING-0} : { *(.rela.init) } 291 .rel.fini ${RELOCATING-0} : { *(.rel.fini) } 189 292 .rela.fini ${RELOCATING-0} : { *(.rela.fini) } 190 .rel a.bss ${RELOCATING-0} : { *(.rela.bss) }293 .rel.plt ${RELOCATING-0} : { *(.rel.plt) } 191 294 .rela.plt ${RELOCATING-0} : { *(.rela.plt) } 192 193 .rel.data ${RELOCATING-0} : { *(.rel.data) *(.rel.gnu.linkonce.d*) }194 .rel.rodata ${RELOCATING-0} : { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }195 .rel.stext ${RELOCATING-0} : { *(.rel.stest) }196 .rel.etext ${RELOCATING-0} : { *(.rel.etest) }197 .rel.sdata ${RELOCATING-0} : { *(.rel.sdata) }198 .rel.edata ${RELOCATING-0} : { *(.rel.edata) }199 .rel.sbss ${RELOCATING-0} : { *(.rel.sbss) }200 .rel.ebss ${RELOCATING-0} : { *(.rel.ebss) }201 .rel.eit_v ${RELOCATING-0} : { *(.rel.eit_v) }202 .rel.srodata ${RELOCATING-0} : { *(.rel.srodata) }203 .rel.erodata ${RELOCATING-0} : { *(.rel.erodata) }204 .rel.got ${RELOCATING-0} : { *(.rel.got) }205 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) }206 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) }207 .rel.init ${RELOCATING-0} : { *(.rel.init) }208 .rel.fini ${RELOCATING-0} : { *(.rel.fini) }209 .rel.bss ${RELOCATING-0} : { *(.rel.bss) }210 .rel.plt ${RELOCATING-0} : { *(.rel.plt) }211 295 212 296 /* Concatenate .page0 sections. Put them in the page0 memory bank … … 215 299 { 216 300 *(.page0) 301 ${RELOCATING+*(.softregs)} 217 302 } ${RELOCATING+ > page0} 218 303 … … 229 314 230 315 ${RELOCATING-${INSTALL_RELOC}} 316 ${RELOCATING-${FINISH_RELOC}} 231 317 232 318 .text ${RELOCATING-0}: … … 237 323 ${RELOCATING+*(.init)} 238 324 *(.text) 239 *(.fini)325 ${RELOCATING+*(.text.*)} 240 326 /* .gnu.warning sections are handled specially by elf32.em. */ 241 327 *(.gnu.warning) 242 *(.gnu.linkonce.t*) 328 ${RELOCATING+*(.gnu.linkonce.t.*)} 329 330 ${RELOCATING+${FINISH_CODE}} 243 331 244 332 ${RELOCATING+_etext = .;} … … 249 337 .eh_frame ${RELOCATING-0} : 250 338 { 251 *(.eh_frame)339 KEEP (*(.eh_frame)) 252 340 } ${RELOCATING+ > ${TEXT_MEMORY}} 253 341 … … 255 343 { 256 344 *(.rodata) 257 *(.gnu.linkonce.r*) 345 ${RELOCATING+*(.rodata.*)} 346 ${RELOCATING+*(.gnu.linkonce.r*)} 258 347 } ${RELOCATING+ > ${TEXT_MEMORY}} 259 348 … … 261 350 { 262 351 *(.rodata1) 352 } ${RELOCATING+ > ${TEXT_MEMORY}} 353 354 /* Constructor and destructor tables are in ROM. */ 355 ${RELOCATING+${CTOR}} 356 ${RELOCATING+${DTOR}} 357 358 .jcr ${RELOCATING-0} : 359 { 360 KEEP (*(.jcr)) 263 361 } ${RELOCATING+ > ${TEXT_MEMORY}} 264 362 … … 279 377 ${RELOCATING+*(.sdata)} 280 378 *(.data) 379 ${RELOCATING+*(.data.*)} 281 380 ${RELOCATING+*(.data1)} 282 *(.gnu.linkonce.d*)381 ${RELOCATING+*(.gnu.linkonce.d.*)} 283 382 ${CONSTRUCTING+CONSTRUCTORS} 284 383 … … 300 399 /* Relocation for some bss and data sections. */ 301 400 ${RELOCATING-${BSS_DATA_RELOC}} 401 ${RELOCATING-${SOFT_REGS_RELOC}} 302 402 303 403 .bss ${RELOCATING-0} : … … 309 409 *(.dynbss) 310 410 *(.bss) 411 ${RELOCATING+*(.bss.*)} 412 ${RELOCATING+*(.gnu.linkonce.b.*)} 311 413 *(COMMON) 312 414 ${RELOCATING+PROVIDE (_end = .);} … … 315 417 ${RELOCATING+PROVIDE (__bss_size = SIZEOF(.bss));} 316 418 317 ${RELOCATING+${CTOR}} 318 ${RELOCATING+${DTOR}} 419 .eeprom ${RELOCATING-0} : 420 { 421 *(.eeprom) 422 *(.eeprom.*) 423 } ${RELOCATING+ > ${EEPROM_MEMORY}} 319 424 320 425 ${RELOCATING+${VECTORS}} -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/elfm68hc12.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 # 2 2 # Unusual variables checked by this code: 3 # NOP - twobyte opcode for no-op (defaults to 0)3 # NOP - four byte opcode for no-op (defaults to 0) 4 4 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start 5 5 # OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... … … 27 27 CTOR=".ctors ${CONSTRUCTING-0} : 28 28 { 29 ${CONSTRUCTING+ __CTOR_LIST__ = .; }29 ${CONSTRUCTING+ PROVIDE (__CTOR_LIST__ = .); } 30 30 ${CONSTRUCTING+${CTOR_START}} 31 31 *(.ctors) … … 40 40 41 41 ${CONSTRUCTING+${CTOR_END}} 42 ${CONSTRUCTING+ __CTOR_END__ = .; }43 } ${RELOCATING+ > ${ DATA_MEMORY}}"42 ${CONSTRUCTING+ PROVIDE(__CTOR_END__ = .); } 43 } ${RELOCATING+ > ${TEXT_MEMORY}}" 44 44 45 45 DTOR=" .dtors ${CONSTRUCTING-0} : 46 46 { 47 ${CONSTRUCTING+ __DTOR_LIST__ = .; }47 ${CONSTRUCTING+ PROVIDE(__DTOR_LIST__ = .); } 48 48 *(.dtors) 49 49 /* … … 52 52 KEEP (*(SORT(.dtors.*))) 53 53 KEEP (*(.dtors)) */ 54 ${CONSTRUCTING+ __DTOR_END__ = .; }55 } ${RELOCATING+ > ${ DATA_MEMORY}}"54 ${CONSTRUCTING+ PROVIDE(__DTOR_END__ = .); } 55 } ${RELOCATING+ > ${TEXT_MEMORY}}" 56 56 57 57 … … 76 76 .vectors DEFINED (vectors_addr) ? vectors_addr : 0xffc0 : 77 77 { 78 *(.vectors)78 KEEP (*(.vectors)) 79 79 }" 80 80 … … 111 111 STARTUP_CODE=" 112 112 /* Startup code. */ 113 *(.install0) /* Section should setup the stack pointer. */ 114 *(.install1) /* Place holder for applications. */ 115 *(.install2) /* Optional installation of data sections in RAM. */ 116 *(.install3) /* Place holder for applications. */ 117 *(.install4) /* Section that calls the main. */ 113 KEEP (*(.install0)) /* Section should setup the stack pointer. */ 114 KEEP (*(.install1)) /* Place holder for applications. */ 115 KEEP (*(.install2)) /* Optional installation of data sections in RAM. */ 116 KEEP (*(.install3)) /* Place holder for applications. */ 117 KEEP (*(.install4)) /* Section that calls the main. */ 118 " 119 120 FINISH_CODE=" 121 /* Finish code. */ 122 KEEP (*(.fini0)) /* Beginning of finish code (_exit symbol). */ 123 KEEP (*(.fini1)) /* Place holder for applications. */ 124 KEEP (*(.fini2)) /* C++ destructors. */ 125 KEEP (*(.fini3)) /* Place holder for applications. */ 126 KEEP (*(.fini4)) /* Runtime exit. */ 118 127 " 119 128 … … 138 147 " 139 148 149 FINISH_RELOC=" 150 .fini0 0 : { *(.fini0) } 151 .fini1 0 : { *(.fini1) } 152 .fini2 0 : { *(.fini2) } 153 .fini3 0 : { *(.fini3) } 154 .fini4 0 : { *(.fini4) } 155 " 156 140 157 BSS_DATA_RELOC=" 141 158 .data1 0 : { *(.data1) } … … 147 164 .sbss 0 : { *(.sbss) } 148 165 .scommon 0 : { *(.scommon) } 166 " 167 168 SOFT_REGS_RELOC=" 169 .softregs 0 : { *(.softregs) } 149 170 " 150 171 … … 171 192 .gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r) } 172 193 173 .rela.text ${RELOCATING-0} : { *(.rela.text) *(.rela.gnu.linkonce.t*) } 174 .rela.data ${RELOCATING-0} : { *(.rela.data) *(.rela.gnu.linkonce.d*) } 175 .rela.rodata ${RELOCATING-0} : { *(.rela.rodata) *(.rela.gnu.linkonce.r*) } 194 .rel.text ${RELOCATING-0} : 195 { 196 *(.rel.text) 197 ${RELOCATING+*(.rel.text.*)} 198 ${RELOCATING+*(.rel.gnu.linkonce.t.*)} 199 } 200 .rela.text ${RELOCATING-0} : 201 { 202 *(.rela.text) 203 ${RELOCATING+*(.rela.text.*)} 204 ${RELOCATING+*(.rela.gnu.linkonce.t.*)} 205 } 206 .rel.data ${RELOCATING-0} : 207 { 208 *(.rel.data) 209 ${RELOCATING+*(.rel.data.*)} 210 ${RELOCATING+*(.rel.gnu.linkonce.d.*)} 211 } 212 .rela.data ${RELOCATING-0} : 213 { 214 *(.rela.data) 215 ${RELOCATING+*(.rela.data.*)} 216 ${RELOCATING+*(.rela.gnu.linkonce.d.*)} 217 } 218 .rel.rodata ${RELOCATING-0} : 219 { 220 *(.rel.rodata) 221 ${RELOCATING+*(.rel.rodata.*)} 222 ${RELOCATING+*(.rel.gnu.linkonce.r.*)} 223 } 224 .rela.rodata ${RELOCATING-0} : 225 { 226 *(.rela.rodata) 227 ${RELOCATING+*(.rela.rodata.*)} 228 ${RELOCATING+*(.rela.gnu.linkonce.r.*)} 229 } 230 .rel.sdata ${RELOCATING-0} : 231 { 232 *(.rel.sdata) 233 ${RELOCATING+*(.rel.sdata.*)} 234 ${RELOCATING+*(.rel.gnu.linkonce.s.*)} 235 } 236 .rela.sdata ${RELOCATING-0} : 237 { 238 *(.rela.sdata) 239 ${RELOCATING+*(.rela.sdata.*)} 240 ${RELOCATING+*(.rela.gnu.linkonce.s.*)} 241 } 242 .rel.sbss ${RELOCATING-0} : 243 { 244 *(.rel.sbss) 245 ${RELOCATING+*(.rel.sbss.*)} 246 ${RELOCATING+*(.rel.gnu.linkonce.sb.*)} 247 } 248 .rela.sbss ${RELOCATING-0} : 249 { 250 *(.rela.sbss) 251 ${RELOCATING+*(.rela.sbss.*)} 252 ${RELOCATING+*(.rel.gnu.linkonce.sb.*)} 253 } 254 .rel.bss ${RELOCATING-0} : 255 { 256 *(.rel.bss) 257 ${RELOCATING+*(.rel.bss.*)} 258 ${RELOCATING+*(.rel.gnu.linkonce.b.*)} 259 } 260 .rela.bss ${RELOCATING-0} : 261 { 262 *(.rela.bss) 263 ${RELOCATING+*(.rela.bss.*)} 264 ${RELOCATING+*(.rela.gnu.linkonce.b.*)} 265 } 266 .rel.stext ${RELOCATING-0} : { *(.rel.stest) } 176 267 .rela.stext ${RELOCATING-0} : { *(.rela.stest) } 268 .rel.etext ${RELOCATING-0} : { *(.rel.etest) } 177 269 .rela.etext ${RELOCATING-0} : { *(.rela.etest) } 270 .rel.sdata ${RELOCATING-0} : { *(.rel.sdata) } 178 271 .rela.sdata ${RELOCATING-0} : { *(.rela.sdata) } 272 .rel.edata ${RELOCATING-0} : { *(.rel.edata) } 179 273 .rela.edata ${RELOCATING-0} : { *(.rela.edata) } 274 .rel.eit_v ${RELOCATING-0} : { *(.rel.eit_v) } 180 275 .rela.eit_v ${RELOCATING-0} : { *(.rela.eit_v) } 181 .rel a.sbss ${RELOCATING-0} : { *(.rela.sbss) }276 .rel.ebss ${RELOCATING-0} : { *(.rel.ebss) } 182 277 .rela.ebss ${RELOCATING-0} : { *(.rela.ebss) } 278 .rel.srodata ${RELOCATING-0} : { *(.rel.srodata) } 183 279 .rela.srodata ${RELOCATING-0} : { *(.rela.srodata) } 280 .rel.erodata ${RELOCATING-0} : { *(.rel.erodata) } 184 281 .rela.erodata ${RELOCATING-0} : { *(.rela.erodata) } 282 .rel.got ${RELOCATING-0} : { *(.rel.got) } 185 283 .rela.got ${RELOCATING-0} : { *(.rela.got) } 284 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) } 186 285 .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) } 286 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) } 187 287 .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) } 288 .rel.init ${RELOCATING-0} : { *(.rel.init) } 188 289 .rela.init ${RELOCATING-0} : { *(.rela.init) } 290 .rel.fini ${RELOCATING-0} : { *(.rel.fini) } 189 291 .rela.fini ${RELOCATING-0} : { *(.rela.fini) } 190 .rel a.bss ${RELOCATING-0} : { *(.rela.bss) }292 .rel.plt ${RELOCATING-0} : { *(.rel.plt) } 191 293 .rela.plt ${RELOCATING-0} : { *(.rela.plt) } 192 193 .rel.data ${RELOCATING-0} : { *(.rel.data) *(.rel.gnu.linkonce.d*) }194 .rel.rodata ${RELOCATING-0} : { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }195 .rel.stext ${RELOCATING-0} : { *(.rel.stest) }196 .rel.etext ${RELOCATING-0} : { *(.rel.etest) }197 .rel.sdata ${RELOCATING-0} : { *(.rel.sdata) }198 .rel.edata ${RELOCATING-0} : { *(.rel.edata) }199 .rel.sbss ${RELOCATING-0} : { *(.rel.sbss) }200 .rel.ebss ${RELOCATING-0} : { *(.rel.ebss) }201 .rel.eit_v ${RELOCATING-0} : { *(.rel.eit_v) }202 .rel.srodata ${RELOCATING-0} : { *(.rel.srodata) }203 .rel.erodata ${RELOCATING-0} : { *(.rel.erodata) }204 .rel.got ${RELOCATING-0} : { *(.rel.got) }205 .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) }206 .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) }207 .rel.init ${RELOCATING-0} : { *(.rel.init) }208 .rel.fini ${RELOCATING-0} : { *(.rel.fini) }209 .rel.bss ${RELOCATING-0} : { *(.rel.bss) }210 .rel.plt ${RELOCATING-0} : { *(.rel.plt) }211 294 212 295 /* Concatenate .page0 sections. Put them in the page0 memory bank … … 229 312 230 313 ${RELOCATING-${INSTALL_RELOC}} 314 ${RELOCATING-${FINISH_RELOC}} 231 315 232 316 .text ${RELOCATING-0}: … … 237 321 ${RELOCATING+*(.init)} 238 322 *(.text) 239 *(.fini)323 ${RELOCATING+*(.text.*)} 240 324 /* .gnu.warning sections are handled specially by elf32.em. */ 241 325 *(.gnu.warning) 242 *(.gnu.linkonce.t*) 326 ${RELOCATING+*(.gnu.linkonce.t.*)} 327 328 ${RELOCATING+${FINISH_CODE}} 243 329 244 330 ${RELOCATING+_etext = .;} … … 249 335 .eh_frame ${RELOCATING-0} : 250 336 { 251 *(.eh_frame)337 KEEP (*(.eh_frame)) 252 338 } ${RELOCATING+ > ${TEXT_MEMORY}} 253 339 … … 255 341 { 256 342 *(.rodata) 257 *(.gnu.linkonce.r*) 343 ${RELOCATING+*(.rodata.*)} 344 ${RELOCATING+*(.gnu.linkonce.r*)} 258 345 } ${RELOCATING+ > ${TEXT_MEMORY}} 259 346 … … 261 348 { 262 349 *(.rodata1) 350 } ${RELOCATING+ > ${TEXT_MEMORY}} 351 352 /* Constructor and destructor tables are in ROM. */ 353 ${RELOCATING+${CTOR}} 354 ${RELOCATING+${DTOR}} 355 356 .jcr ${RELOCATING-0} : 357 { 358 KEEP (*(.jcr)) 263 359 } ${RELOCATING+ > ${TEXT_MEMORY}} 264 360 … … 279 375 ${RELOCATING+*(.sdata)} 280 376 *(.data) 377 ${RELOCATING+*(.data.*)} 281 378 ${RELOCATING+*(.data1)} 282 *(.gnu.linkonce.d*)379 ${RELOCATING+*(.gnu.linkonce.d.*)} 283 380 ${CONSTRUCTING+CONSTRUCTORS} 284 381 … … 300 397 /* Relocation for some bss and data sections. */ 301 398 ${RELOCATING-${BSS_DATA_RELOC}} 399 ${RELOCATING-${SOFT_REGS_RELOC}} 302 400 303 401 .bss ${RELOCATING-0} : 304 402 { 305 403 ${RELOCATING+__bss_start = .;} 404 ${RELOCATING+*(.softregs)} 306 405 ${RELOCATING+*(.sbss)} 307 406 ${RELOCATING+*(.scommon)} … … 309 408 *(.dynbss) 310 409 *(.bss) 410 ${RELOCATING+*(.bss.*)} 411 ${RELOCATING+*(.gnu.linkonce.b.*)} 311 412 *(COMMON) 312 413 ${RELOCATING+PROVIDE (_end = .);} … … 315 416 ${RELOCATING+PROVIDE (__bss_size = SIZEOF(.bss));} 316 417 317 ${RELOCATING+${CTOR}} 318 ${RELOCATING+${DTOR}} 418 .eeprom ${RELOCATING-0} : 419 { 420 *(.eeprom) 421 *(.eeprom.*) 422 } ${RELOCATING+ > ${EEPROM_MEMORY}} 319 423 320 424 ${RELOCATING+${VECTORS}} -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/h8300.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 39 39 } ${RELOCATING+ > vectors} 40 40 41 .init : 42 { 43 *(.init) 44 } ${RELOCATING+ > ram} 45 41 46 .text : 42 47 { 43 48 *(.rodata) 44 49 *(.text) 50 *(.text.*) 45 51 *(.strings) 46 52 ${RELOCATING+ _etext = . ; } … … 52 58 { 53 59 *(.data) 60 *(.data.*) 54 61 *(.tiny) 55 62 ${RELOCATING+ _edata = . ; } -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/i386go32.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 24 24 .text ${RELOCATING+ ${TARGET_PAGE_SIZE}+SIZEOF_HEADERS} : { 25 25 *(.text) 26 ${RELOCATING+*(.text.*)} 26 27 ${RELOCATING+*(.gnu.linkonce.t*)} 27 28 *(.const*) … … 41 42 djgpp_last_dtor = . ;} 42 43 *(.data) 44 ${RELOCATING+*(.data.*)} 43 45 44 46 ${RELOCATING+*(.gcc_exc*)} … … 56 58 .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : 57 59 { 58 *(.bss )60 *(.bss${RELOCATING+ .bss.* .gnu.linkonce.b.*}) 59 61 *(COMMON) 60 62 ${RELOCATING+ end = . ; PROVIDE(_end = .) ;} 61 63 ${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});} 62 64 } 65 /* Stabs debugging sections. */ 66 .stab 0 : { *(.stab) } 67 .stabstr 0 : { *(.stabstr) } 63 68 /* DWARF 2 */ 64 69 .debug_aranges 0 : { *(.debug_aranges) } -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/nw.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 # 2 2 # Unusual variables checked by this code: 3 # NOP - twobyte opcode for no-op (defaults to 0)3 # NOP - four byte opcode for no-op (defaults to 0) 4 4 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start 5 5 # OTHER_READONLY_SECTIONS - other than .text .init .ctors .rodata ... … … 88 88 .rodata ${RELOCATING-0} : { *(.rodata) } 89 89 .rodata1 ${RELOCATING-0} : { *(.rodata1) } 90 ${ RELOCATING+${OTHER_READONLY_SECTIONS}}90 ${OTHER_READONLY_SECTIONS} 91 91 92 92 /* Read-write section, merged into data segment: */ … … 99 99 } 100 100 .data1 ${RELOCATING-0} : { *(.data1) } 101 ${ RELOCATING+${OTHER_READWRITE_SECTIONS}}101 ${OTHER_READWRITE_SECTIONS} 102 102 .got ${RELOCATING-0} : { *(.got.plt) *(.got) } 103 103 .dynamic ${RELOCATING-0} : { *(.dynamic) } … … 126 126 .stabstr 0 : { *(.stabstr) } 127 127 128 /* These must appear regardless of ${RELOCATING}. */129 128 ${OTHER_SECTIONS} 130 129 } -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/pe.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 55 55 *(.glue_7) 56 56 ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ; 57 LONG (-1); *( .ctors); *(.ctor); LONG (0); }57 LONG (-1); *(SORT(.ctors.*)); *(.ctors); *(.ctor); LONG (0); } 58 58 ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ; 59 LONG (-1); *( .dtors); *(.dtor); LONG (0); }59 LONG (-1); *(SORT(.dtors.*)); *(.dtors); *(.dtor); LONG (0); } 60 60 ${RELOCATING+ *(.fini)} 61 61 /* ??? Why is .gcc_exc here? */ 62 62 ${RELOCATING+ *(.gcc_exc)} 63 ${RELOCATING+ etext = .;}63 ${RELOCATING+PROVIDE (etext = .);} 64 64 *(.gcc_except_table) 65 65 } … … 86 86 ${R_RDATA} 87 87 *(.eh_frame) 88 ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;} 89 ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;} 90 *(.rdata_runtime_pseudo_reloc) 91 ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;} 92 ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;} 88 93 } 89 94 … … 128 133 { 129 134 /* end is deprecated, don't use it */ 130 ${RELOCATING+ end = .;}131 ${RELOCATING+ _end = .;}135 ${RELOCATING+PROVIDE (end = .);} 136 ${RELOCATING+PROVIDE ( _end = .);} 132 137 ${RELOCATING+ __end__ = .;} 133 138 } -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/sh.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 30 30 { 31 31 *(.data) 32 ${RELOCATING+*(.gcc_exc*)} 33 ${RELOCATING+___EH_FRAME_BEGIN__ = . ;} 34 ${RELOCATING+*(.eh_fram*)} 35 ${RELOCATING+___EH_FRAME_END__ = . ;} 36 ${RELOCATING+LONG(0);} 32 37 ${RELOCATING+ _edata = . ; } 33 38 } ${RELOCATING+ > ram} -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/ld/scripttempl/v850.sc
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 5 5 ENTRY(_start) 6 6 SEARCH_DIR(.); 7 EXTERN(__ctbp __ep __gp); 7 8 SECTIONS 8 9 { … … 43 44 .rel.rodata : { *(.rel.rodata) } 44 45 .rela.rodata : { *(.rela.rodata) } 46 .rel.gcc_except_table : { *(.rel.gcc_except_table) } 47 .rela.gcc_except_table : { *(.rela.gcc_except_table) } 45 48 .rel.got : { *(.rel.got) } 46 49 .rela.got : { *(.rela.got) } … … 116 119 ${CONSTRUCTING+___dtors_end = .;} 117 120 } 121 .jcr : 122 { 123 KEEP (*(.jcr)) 124 } 125 126 .gcc_except_table : { *(.gcc_except_table) } 118 127 119 128 .got : { *(.got.plt) *(.got) } -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.