mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-16 04:53:45 +08:00
6c19b93bcd
* pe-dll.c: Formatting, whitespace fixes. * NEWS: Whitespace fixes. * configure.ac: Likewise. * configure.tgt: Likewise. * deffilep.y: Likewise. * genscripts.sh: Likewise. * ld.texinfo: Likewise. * ldgram.y: Likewise. * ldlang.c: Likewise. * ldlex.l: Likewise. * lexsup.c: Likewise. * plugin.c: Likewise. * emulparams/arc-endianness.sh: Likewise. * emulparams/elf32_x86_64.sh: Likewise. * emulparams/elf64mmix.sh: Likewise. * emulparams/elf_x86_64.sh: Likewise. * emulparams/h8300elf.sh: Likewise. * emulparams/h8300elf_linux.sh: Likewise. * emulparams/vxworks.sh: Likewise. * emultempl/aarch64elf.em: Likewise. * emultempl/aix.em: Likewise. * emultempl/armelf.em: Likewise. * emultempl/avrelf.em: Likewise. * emultempl/beos.em: Likewise. * emultempl/hppaelf.em: Likewise. * emultempl/m68kcoff.em: Likewise. * emultempl/m68kelf.em: Likewise. * emultempl/metagelf.em: Likewise. * emultempl/msp430.em: Likewise. * emultempl/nds32elf.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/pep.em: Likewise. * emultempl/ppc64elf.em: Likewise. * emultempl/sh64elf.em: Likewise. * emultempl/spu_ovl.S: Likewise. * emultempl/spuelf.em: Likewise. * emultempl/tic6xdsbt.em: Likewise. * emultempl/ticoff.em: Likewise. * emultempl/vms.em: Likewise. * po/Make-in: Likewise. * scripttempl/DWARF.sc: Likewise. * scripttempl/aix.sc: Likewise. * scripttempl/alpha.sc: Likewise. * scripttempl/alphavms.sc: Likewise. * scripttempl/aout.sc: Likewise. * scripttempl/arclinux.sc: Likewise. * scripttempl/armaout.sc: Likewise. * scripttempl/armbpabi.sc: Likewise. * scripttempl/armcoff.sc: Likewise. * scripttempl/avr.sc: Likewise. * scripttempl/crisaout.sc: Likewise. * scripttempl/delta68.sc: Likewise. * scripttempl/dlx.sc: Likewise. * scripttempl/elf.sc: Likewise. * scripttempl/elf32cr16.sc: Likewise. * scripttempl/elf32cr16c.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/elf32msp430.sc: Likewise. * scripttempl/elf32msp430_3.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf32xc16x.sc: Likewise. * scripttempl/elf32xc16xl.sc: Likewise. * scripttempl/elf32xc16xs.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfarc.sc: Likewise. * scripttempl/elfarcv2.sc: Likewise. * scripttempl/elfd10v.sc: Likewise. * scripttempl/elfd30v.sc: Likewise. * scripttempl/elfi370.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/elfmicroblaze.sc: Likewise. * scripttempl/elfxgate.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/epiphany_4x4.sc: Likewise. * scripttempl/epocpe.sc: Likewise. * scripttempl/h8300.sc: Likewise. * scripttempl/h8300h.sc: Likewise. * scripttempl/h8300hn.sc: Likewise. * scripttempl/h8300s.sc: Likewise. * scripttempl/h8300sn.sc: Likewise. * scripttempl/h8300sx.sc: Likewise. * scripttempl/h8300sxn.sc: Likewise. * scripttempl/h8500.sc: Likewise. * scripttempl/h8500b.sc: Likewise. * scripttempl/h8500c.sc: Likewise. * scripttempl/h8500m.sc: Likewise. * scripttempl/h8500s.sc: Likewise. * scripttempl/hppaelf.sc: Likewise. * scripttempl/i386beos.sc: Likewise. * scripttempl/i386coff.sc: Likewise. * scripttempl/i386go32.sc: Likewise. * scripttempl/i386msdos.sc: Likewise. * scripttempl/i860coff.sc: Likewise. * scripttempl/i960.sc: Likewise. * scripttempl/ia64vms.sc: Likewise. * scripttempl/ip2k.sc: Likewise. * scripttempl/iq2000.sc: Likewise. * scripttempl/m68kaux.sc: Likewise. * scripttempl/m68kcoff.sc: Likewise. * scripttempl/m88kbcs.sc: Likewise. * scripttempl/mcorepe.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/mips.sc: Likewise. * scripttempl/mipsbsd.sc: Likewise. * scripttempl/mmo.sc: Likewise. * scripttempl/moxie.sc: Likewise. * scripttempl/nds32elf.sc: Likewise. * scripttempl/nw.sc: Likewise. * scripttempl/pe.sc: Likewise. * scripttempl/pep.sc: Likewise. * scripttempl/pj.sc: Likewise. * scripttempl/ppcpe.sc: Likewise. * scripttempl/psos.sc: Likewise. * scripttempl/riscix.sc: Likewise. * scripttempl/sh.sc: Likewise. * scripttempl/sparccoff.sc: Likewise. * scripttempl/st2000.sc: Likewise. * scripttempl/tic30aout.sc: Likewise. * scripttempl/tic30coff.sc: Likewise. * scripttempl/tic4xcoff.sc: Likewise. * scripttempl/tic54xcoff.sc: Likewise. * scripttempl/tic80coff.sc: Likewise. * scripttempl/v850.sc: Likewise. * scripttempl/v850_rh850.sc: Likewise. * scripttempl/vanilla.sc: Likewise. * scripttempl/visium.sc: Likewise. * scripttempl/w65.sc: Likewise. * scripttempl/xstormy16.sc: Likewise. * scripttempl/z80.sc: Likewise. * scripttempl/z8000.sc: Likewise. * configure: Regenerate.
146 lines
5.0 KiB
Scala
146 lines
5.0 KiB
Scala
# Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
|
#
|
|
# Copying and distribution of this file, with or without modification,
|
|
# are permitted in any medium without royalty provided the copyright
|
|
# notice and this notice are preserved.
|
|
|
|
cat <<EOF
|
|
/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
|
|
|
Copying and distribution of this script, with or without modification,
|
|
are permitted in any medium without royalty provided the copyright
|
|
notice and this notice are preserved. */
|
|
|
|
OUTPUT_FORMAT("a.out-cris")
|
|
OUTPUT_ARCH(cris)
|
|
${RELOCATING+ENTRY (__start)}
|
|
SECTIONS
|
|
{
|
|
.text ${RELOCATING+ ${TEXT_START_ADDR}}:
|
|
{
|
|
CREATE_OBJECT_SYMBOLS;
|
|
${CONSTRUCTING+ __Stext = .;}
|
|
${RELOCATING+*(.startup)}
|
|
*(.text)
|
|
${CONSTRUCTING+__start = DEFINED(__start) ? __start :
|
|
DEFINED(_start) ? _start :
|
|
DEFINED(start) ? start :
|
|
DEFINED(.startup) ? .startup + 2 : 2;}
|
|
${RELOCATING+*(.text.*)}
|
|
${RELOCATING+*(.gnu.linkonce.t*)}
|
|
${RELOCATING+*(.rodata)}
|
|
${RELOCATING+*(.rodata.*)}
|
|
${RELOCATING+*(.gnu.linkonce.r*)}
|
|
|
|
/* Do not "provide" init-start and fini-start symbols; they might be
|
|
referred to weakly, so the linker would not override the zero
|
|
default.
|
|
FIXME: It's somewhat unexpected to have code emitted by the linker
|
|
script. Some other mechanism could probably do better. */
|
|
${CONSTRUCTING+ . = ALIGN (2);}
|
|
${CONSTRUCTING+ ___init__start = .;}
|
|
${CONSTRUCTING+ PROVIDE (___do_global_ctors = .);}
|
|
${CONSTRUCTING+ SHORT (0xe1fc); /* push srp */}
|
|
${CONSTRUCTING+ SHORT (0xbe7e);}
|
|
${CONSTRUCTING+ *(.init)}
|
|
${CONSTRUCTING+ SHORT (0x0d3e); /* jump [sp+] */}
|
|
${CONSTRUCTING+ PROVIDE (__init__end = .);}
|
|
${CONSTRUCTING+ PROVIDE (___init__end = .);}
|
|
|
|
${CONSTRUCTING+ . = ALIGN (2);}
|
|
${CONSTRUCTING+ ___fini__start = .;}
|
|
${CONSTRUCTING+ PROVIDE (___do_global_dtors = .);}
|
|
${CONSTRUCTING+ SHORT (0xe1fc); /* push srp */}
|
|
${CONSTRUCTING+ SHORT (0xbe7e);}
|
|
${CONSTRUCTING+ *(.fini)}
|
|
${CONSTRUCTING+ SHORT (0x0d3e); /* jump [sp+] */}
|
|
${CONSTRUCTING+ PROVIDE (__fini__end = .);}
|
|
${CONSTRUCTING+ ___fini__end = .;}
|
|
|
|
/* Cater to linking from ELF. */
|
|
${CONSTRUCTING+ PROVIDE(___ctors = .);}
|
|
${CONSTRUCTING+ ___elf_ctors_dtors_begin = .;}
|
|
${CONSTRUCTING+ KEEP (*crtbegin.o(.ctors))}
|
|
${CONSTRUCTING+ KEEP (*crtbegin?.o(.ctors))}
|
|
${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o) .ctors))}
|
|
${CONSTRUCTING+ KEEP (*(SORT(.ctors.*)))}
|
|
${CONSTRUCTING+ KEEP (*(.ctors))}
|
|
${CONSTRUCTING+ PROVIDE(___ctors_end = .);}
|
|
|
|
${CONSTRUCTING+ PROVIDE(___dtors = .);}
|
|
${CONSTRUCTING+ KEEP (*crtbegin.o(.dtors))}
|
|
${CONSTRUCTING+ KEEP (*crtbegin?.o(.dtors))}
|
|
${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o) .dtors))}
|
|
${CONSTRUCTING+ KEEP (*(SORT(.dtors.*)))}
|
|
${CONSTRUCTING+ KEEP (*(.dtors))}
|
|
${CONSTRUCTING+ PROVIDE(___dtors_end = .);}
|
|
${CONSTRUCTING+ ___elf_ctors_dtors_end = .;}
|
|
|
|
/* We include objects that force alignment of the data segment.
|
|
Unfortunately that sometimes causes a gap between .text and .data,
|
|
which is not detectable since .data does not have a start address
|
|
of itself in the a.out header. This should only matter for
|
|
testing; for production use, .data is at a "known" location.
|
|
We assume .data does not get an alignment larger than 32 bytes. */
|
|
${CONSTRUCTING+. = ALIGN (32);}
|
|
|
|
${CONSTRUCTING+ __Etext = .;}
|
|
|
|
/* Deprecated, use __Etext. */
|
|
${CONSTRUCTING+ PROVIDE(_etext = .);}
|
|
}
|
|
|
|
/* Any dot-relative start-expression (such as "ALIGN(2)", also including
|
|
the "default" .data alignment expression) will use the initial, raw
|
|
size of .text and will be incorrect if the alignment used is less
|
|
than the alignment for .text (which might depend on input and obj
|
|
format). FIXME: Seems like a bug in ld. Seems hard to fix. Seems
|
|
unimportant. */
|
|
.data :
|
|
{
|
|
${CONSTRUCTING+ __Sdata = .;}
|
|
*(.data);
|
|
${RELOCATING+*(.data.*)}
|
|
${RELOCATING+*(.gnu.linkonce.d*)}
|
|
${RELOCATING+*(.eh_frame) /* FIXME: Make .text */}
|
|
${RELOCATING+*(.gcc_except_table)}
|
|
|
|
/* See comment at ALIGN before __Etext. */
|
|
${CONSTRUCTING+. = ALIGN (32);}
|
|
|
|
${CONSTRUCTING+ __Edata = .;}
|
|
|
|
/* Deprecated, use __Edata. */
|
|
${CONSTRUCTING+ PROVIDE(_edata = .);}
|
|
}
|
|
|
|
.bss :
|
|
{
|
|
/* Deprecated, use __Sbss. */
|
|
${CONSTRUCTING+ PROVIDE(_bss_start = .);}
|
|
|
|
${CONSTRUCTING+ __Sbss = .;}
|
|
*(.bss)
|
|
${RELOCATING+*(.bss.*)}
|
|
*(COMMON)
|
|
${CONSTRUCTING+ __Ebss = .;}
|
|
|
|
/* Deprecated, use __Ebss or __Eall as appropriate. */
|
|
${CONSTRUCTING+ PROVIDE(_end = .);}
|
|
${CONSTRUCTING+ PROVIDE(__end = .);}
|
|
}
|
|
${CONSTRUCTING+ __Eall = .;}
|
|
|
|
/* Unfortunately, stabs are not mappable from ELF to a.out.
|
|
It can probably be fixed with some amount of work. */
|
|
/DISCARD/ :
|
|
{ *(.stab) *(.stab*) *(.debug) *(.debug*) *(.comment) *(.gnu.warning.*) }
|
|
|
|
/* For the rsim and xsim simulators. */
|
|
${CONSTRUCTING+ PROVIDE(__Endmem = 0x10000000);}
|
|
|
|
/* For elinux. */
|
|
${CONSTRUCTING+ PROVIDE(__Stacksize = 0);}
|
|
}
|
|
EOF
|