From 252b5132c753830d5fd56823373aed85f2a0db63 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 3 May 1999 07:29:11 +0000 Subject: 19990502 sourceware import --- ld/scripttempl/README | 4 + ld/scripttempl/a29k.sc | 37 ++++++ ld/scripttempl/aix.sc | 55 +++++++++ ld/scripttempl/alpha.sc | 74 ++++++++++++ ld/scripttempl/aout.sc | 57 +++++++++ ld/scripttempl/armaout.sc | 35 ++++++ ld/scripttempl/armcoff.sc | 62 ++++++++++ ld/scripttempl/delta68.sc | 49 ++++++++ ld/scripttempl/ebmon29k.sc | 27 +++++ ld/scripttempl/elf.sc | 286 +++++++++++++++++++++++++++++++++++++++++++ ld/scripttempl/elfd10v.sc | 226 ++++++++++++++++++++++++++++++++++ ld/scripttempl/elfd30v.sc | 219 +++++++++++++++++++++++++++++++++ ld/scripttempl/elfppc.sc | 288 ++++++++++++++++++++++++++++++++++++++++++++ ld/scripttempl/go32coff.sc | 33 +++++ ld/scripttempl/h8300.sc | 69 +++++++++++ ld/scripttempl/h8300h.sc | 76 ++++++++++++ ld/scripttempl/h8300s.sc | 76 ++++++++++++ ld/scripttempl/h8500.sc | 62 ++++++++++ ld/scripttempl/h8500b.sc | 62 ++++++++++ ld/scripttempl/h8500c.sc | 59 +++++++++ ld/scripttempl/h8500m.sc | 61 ++++++++++ ld/scripttempl/h8500s.sc | 60 +++++++++ ld/scripttempl/hppaelf.sc | 38 ++++++ ld/scripttempl/i386beos.sc | 194 +++++++++++++++++++++++++++++ ld/scripttempl/i386coff.sc | 43 +++++++ ld/scripttempl/i386go32.sc | 46 +++++++ ld/scripttempl/i386lynx.sc | 46 +++++++ ld/scripttempl/i386msdos.sc | 38 ++++++ ld/scripttempl/i960.sc | 25 ++++ ld/scripttempl/m68kaux.sc | 46 +++++++ ld/scripttempl/m68kcoff.sc | 42 +++++++ ld/scripttempl/m68klynx.sc | 46 +++++++ ld/scripttempl/m88kbcs.sc | 49 ++++++++ ld/scripttempl/mcorepe.sc | 156 ++++++++++++++++++++++++ ld/scripttempl/mips.sc | 72 +++++++++++ ld/scripttempl/mipsbsd.sc | 30 +++++ ld/scripttempl/nw.sc | 131 ++++++++++++++++++++ ld/scripttempl/pe.sc | 151 +++++++++++++++++++++++ ld/scripttempl/ppcpe.sc | 198 ++++++++++++++++++++++++++++++ ld/scripttempl/psos.sc | 61 ++++++++++ ld/scripttempl/riscix.sc | 35 ++++++ ld/scripttempl/sa29200.sc | 44 +++++++ ld/scripttempl/sh.sc | 59 +++++++++ ld/scripttempl/sparccoff.sc | 48 ++++++++ ld/scripttempl/sparclynx.sc | 47 ++++++++ ld/scripttempl/st2000.sc | 26 ++++ ld/scripttempl/tic30aout.sc | 34 ++++++ ld/scripttempl/tic30coff.sc | 58 +++++++++ ld/scripttempl/tic80coff.sc | 74 ++++++++++++ ld/scripttempl/v850.sc | 204 +++++++++++++++++++++++++++++++ ld/scripttempl/vanilla.sc | 1 + ld/scripttempl/w65.sc | 58 +++++++++ ld/scripttempl/z8000.sc | 54 +++++++++ 53 files changed, 4131 insertions(+) create mode 100644 ld/scripttempl/README create mode 100644 ld/scripttempl/a29k.sc create mode 100644 ld/scripttempl/aix.sc create mode 100644 ld/scripttempl/alpha.sc create mode 100644 ld/scripttempl/aout.sc create mode 100644 ld/scripttempl/armaout.sc create mode 100644 ld/scripttempl/armcoff.sc create mode 100644 ld/scripttempl/delta68.sc create mode 100644 ld/scripttempl/ebmon29k.sc create mode 100644 ld/scripttempl/elf.sc create mode 100644 ld/scripttempl/elfd10v.sc create mode 100644 ld/scripttempl/elfd30v.sc create mode 100644 ld/scripttempl/elfppc.sc create mode 100644 ld/scripttempl/go32coff.sc create mode 100644 ld/scripttempl/h8300.sc create mode 100644 ld/scripttempl/h8300h.sc create mode 100644 ld/scripttempl/h8300s.sc create mode 100644 ld/scripttempl/h8500.sc create mode 100644 ld/scripttempl/h8500b.sc create mode 100644 ld/scripttempl/h8500c.sc create mode 100644 ld/scripttempl/h8500m.sc create mode 100644 ld/scripttempl/h8500s.sc create mode 100644 ld/scripttempl/hppaelf.sc create mode 100644 ld/scripttempl/i386beos.sc create mode 100644 ld/scripttempl/i386coff.sc create mode 100644 ld/scripttempl/i386go32.sc create mode 100644 ld/scripttempl/i386lynx.sc create mode 100644 ld/scripttempl/i386msdos.sc create mode 100644 ld/scripttempl/i960.sc create mode 100644 ld/scripttempl/m68kaux.sc create mode 100644 ld/scripttempl/m68kcoff.sc create mode 100644 ld/scripttempl/m68klynx.sc create mode 100644 ld/scripttempl/m88kbcs.sc create mode 100644 ld/scripttempl/mcorepe.sc create mode 100644 ld/scripttempl/mips.sc create mode 100644 ld/scripttempl/mipsbsd.sc create mode 100644 ld/scripttempl/nw.sc create mode 100644 ld/scripttempl/pe.sc create mode 100644 ld/scripttempl/ppcpe.sc create mode 100644 ld/scripttempl/psos.sc create mode 100644 ld/scripttempl/riscix.sc create mode 100644 ld/scripttempl/sa29200.sc create mode 100644 ld/scripttempl/sh.sc create mode 100644 ld/scripttempl/sparccoff.sc create mode 100644 ld/scripttempl/sparclynx.sc create mode 100644 ld/scripttempl/st2000.sc create mode 100644 ld/scripttempl/tic30aout.sc create mode 100644 ld/scripttempl/tic30coff.sc create mode 100644 ld/scripttempl/tic80coff.sc create mode 100644 ld/scripttempl/v850.sc create mode 100644 ld/scripttempl/vanilla.sc create mode 100644 ld/scripttempl/w65.sc create mode 100644 ld/scripttempl/z8000.sc (limited to 'ld/scripttempl') diff --git a/ld/scripttempl/README b/ld/scripttempl/README new file mode 100644 index 0000000..26ad2e9 --- /dev/null +++ b/ld/scripttempl/README @@ -0,0 +1,4 @@ +The files in this directory are linker script templates. +genscripts.sh sets some shell variables, then sources +EMULATION.sc, to generate EMULATION.{x,xr,xu,xn,xbn} -- the script +files for default, -r, -Ur, -n, -N. diff --git a/ld/scripttempl/a29k.sc b/ld/scripttempl/a29k.sc new file mode 100644 index 0000000..2825b1e --- /dev/null +++ b/ld/scripttempl/a29k.sc @@ -0,0 +1,37 @@ +cat <. +# These variables may be overridden by the emulation file. The +# defaults are appropriate for an Alpha running OSF/1. +test -z "$ENTRY" && ENTRY=__start +test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS" +if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then + DATA_ADDR=. +else + test -z "$DATA_ADDR" && DATA_ADDR=0x140000000 +fi +cat <. +test -z "$ENTRY" && ENTRY=_start +if test -z "${DATA_ADDR}"; then + if test "$LD_FLAG" = "N" || test "$LD_FLAG" = "n"; then + DATA_ADDR=. + fi +fi +cat < text} + + /* Internal text space or external memory */ + .text : + { + *(.text) + *(.gnu.linkonce.t*) + *(.init) + *(.fini) + ${RELOCATING+ _etext = . ; } + } ${RELOCATING+ > ${TEXT_MEMORY}} + + /* Internal data space */ + .srodata ${RELOCATING-0} : { *(.srodata) } ${RELOCATING+ > data} + .sdata ${RELOCATING-0} : { *(.sdata) } ${RELOCATING+ > data} + + /* Internal data space or external memory */ + .rodata ${RELOCATING-0} : { *(.rodata) } ${RELOCATING+ > ${DATA_MEMORY}} + + /* C++ exception support. */ + .eh_frame ${RELOCATING-0} : { *(.eh_frame) } ${RELOCATING+ > ${DATA_MEMORY}} + + ${RELOCATING+${CTOR}} + ${RELOCATING+${DTOR}} + + .data ${RELOCATING-0} : + { + *(.data) + *(.gnu.linkonce.d*) + ${CONSTRUCTING+CONSTRUCTORS} + ${RELOCATING+ _edata = . ; } + } ${RELOCATING+ > ${DATA_MEMORY}} + + /* External memory */ + .etext ${RELOCATING-0} : + { + ${RELOCATING+ PROVIDE (__etext_start = .) ; } + *(.etext) + ${RELOCATING+ PROVIDE (__etext_end = .) ; } + } ${RELOCATING+ > emem} + + .erodata ${RELOCATING-0} : { *(.erodata) } ${RELOCATING+ > emem} + .edata ${RELOCATING-0} : { *(.edata) } ${RELOCATING+ > emem} + + .sbss ${RELOCATING-0} : + { + ${RELOCATING+ PROVIDE (__sbss_start = .) ; } + *(.sbss) + ${RELOCATING+ PROVIDE (__sbss_end = .) ; } + } ${RELOCATING+ > data} + + .ebss ${RELOCATING-0} : + { + ${RELOCATING+ PROVIDE (__ebss_start = .) ; } + *(.ebss) + ${RELOCATING+ PROVIDE (__ebss_end = .) ; } + } ${RELOCATING+ > data} + + .bss ${RELOCATING-0} : + { + ${RELOCATING+ PROVIDE (__bss_start = .) ; } + *(.bss) + *(COMMON) + ${RELOCATING+ PROVIDE (__bss_end = .) ; } + ${RELOCATING+ _end = . ; } + } ${RELOCATING+ > ${DATA_MEMORY}} + + .eit_v ${RELOCATING-0} : + { + ${RELOCATING+ PROVIDE (__eit_start = .) ; } + *(.eit_v) + ${RELOCATING+ PROVIDE (__eit_end = .) ; } + } ${RELOCATING+ > eit} + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + + .comment 0 : { *(.comment) } + + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + + PROVIDE (__stack = ${STACK_START_ADDR}); +} +EOF + + + + diff --git a/ld/scripttempl/elfppc.sc b/ld/scripttempl/elfppc.sc new file mode 100644 index 0000000..ddab8f8 --- /dev/null +++ b/ld/scripttempl/elfppc.sc @@ -0,0 +1,288 @@ +# +# Unusual variables checked by this code: +# NOP - two byte opcode for no-op (defaults to 0) +# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start +# OTHER_READONLY_SECTIONS - other than .text .init .rodata ... +# (e.g., .PARISC.milli) +# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... +# (e.g., .PARISC.global) +# OTHER_SECTIONS - at the end +# EXECUTABLE_SYMBOLS - symbols that must be defined for an +# executable (e.g., _DYNAMIC_LINK) +# TEXT_START_SYMBOLS - symbols that appear at the start of the +# .text section. +# DATA_START_SYMBOLS - symbols that appear at the start of the +# .data section. +# OTHER_BSS_SYMBOLS - symbols that appear at the start of the +# .bss section besides __bss_start. +# +# When adding sections, do note that the names of some sections are used +# when specifying the start address of the next. +# +test -z "$ENTRY" && ENTRY=_start +test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT} +test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT} +test "$LD_FLAG" = "N" && DATA_ADDR=. +SBSS2=".sbss2 ${RELOCATING-0} : { *(.sbss2) }" +SDATA2=".sdata2 ${RELOCATING-0} : { *(.sdata2) }" +INTERP=".interp ${RELOCATING-0} : { *(.interp) }" +PLT=".plt ${RELOCATING-0} : { *(.plt) }" +CTOR=".ctors ${CONSTRUCTING-0} : + { + ${CONSTRUCTING+${CTOR_START}} + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + + KEEP (*crtbegin.o(.ctors)) + + /* We don't want to include the .ctor section from + from the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + ${CONSTRUCTING+${CTOR_END}} + }" + +DTOR=" .dtors ${CONSTRUCTING-0} : + { + ${CONSTRUCTING+${DTOR_START}} + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + ${CONSTRUCTING+${DTOR_END}} + }" + +cat < vectors} + +.text : { + *(.rodata) + *(.text) + *(.strings) + ${RELOCATING+ _etext = . ; } + } ${RELOCATING+ > ram} +.tors : { + ___ctors = . ; + *(.ctors) + ___ctors_end = . ; + ___dtors = . ; + *(.dtors) + ___dtors_end = . ; + } ${RELOCATING+ > ram} +.data : { + *(.data) + *(.tiny) + ${RELOCATING+ _edata = . ; } + } ${RELOCATING+ > ram} +.bss : { + ${RELOCATING+ _bss_start = . ;} + *(.bss) + *(COMMON) + ${RELOCATING+ _end = . ; } + } ${RELOCATING+ >ram} +.stack : { + ${RELOCATING+ _stack = . ; } + *(.stack) + } ${RELOCATING+ > topram} +.eight : { + *(.eight) + } ${RELOCATING+ > eight} +.stab 0 ${RELOCATING+(NOLOAD)} : { + [ .stab ] + } +.stabstr 0 ${RELOCATING+(NOLOAD)} : { + [ .stabstr ] + } +} +EOF diff --git a/ld/scripttempl/h8300h.sc b/ld/scripttempl/h8300h.sc new file mode 100644 index 0000000..d1cfd86 --- /dev/null +++ b/ld/scripttempl/h8300h.sc @@ -0,0 +1,76 @@ +cat < vectors} +.text : { + *(.rodata) + *(.text) + *(.strings) + ${RELOCATING+ _etext = . ; } + } ${RELOCATING+ > ram} +.tors : { + ___ctors = . ; + *(.ctors) + ___ctors_end = . ; + ___dtors = . ; + *(.dtors) + ___dtors_end = . ; + } ${RELOCATING+ > ram} +.data : { + *(.data) + ${RELOCATING+ _edata = . ; } + } ${RELOCATING+ > ram} +.bss : { + ${RELOCATING+ _bss_start = . ;} + *(.bss) + *(COMMON) + ${RELOCATING+ _end = . ; } + } ${RELOCATING+ >ram} +.stack : { + ${RELOCATING+ _stack = . ; } + *(.stack) + } ${RELOCATING+ > topram} +.tiny : { + *(.tiny) + } ${RELOCATING+ > tiny} +.eight : { + *(.eight) + } ${RELOCATING+ > eight} +.stab 0 ${RELOCATING+(NOLOAD)} : { + [ .stab ] + } +.stabstr 0 ${RELOCATING+(NOLOAD)} : { + [ .stabstr ] + } +} +EOF diff --git a/ld/scripttempl/h8300s.sc b/ld/scripttempl/h8300s.sc new file mode 100644 index 0000000..45474fc --- /dev/null +++ b/ld/scripttempl/h8300s.sc @@ -0,0 +1,76 @@ +cat < vectors} +.text : { + *(.rodata) + *(.text) + *(.strings) + ${RELOCATING+ _etext = . ; } + } ${RELOCATING+ > ram} +.tors : { + ___ctors = . ; + *(.ctors) + ___ctors_end = . ; + ___dtors = . ; + *(.dtors) + ___dtors_end = . ; + } ${RELOCATING+ > ram} +.data : { + *(.data) + ${RELOCATING+ _edata = . ; } + } ${RELOCATING+ > ram} +.bss : { + ${RELOCATING+ _bss_start = . ;} + *(.bss) + *(COMMON) + ${RELOCATING+ _end = . ; } + } ${RELOCATING+ >ram} +.stack : { + ${RELOCATING+ _stack = . ; } + *(.stack) + } ${RELOCATING+ > topram} +.tiny : { + *(.tiny) + } ${RELOCATING+ > tiny} +.eight : { + *(.eight) + } ${RELOCATING+ > eight} +.stab 0 ${RELOCATING+(NOLOAD)} : { + [ .stab ] + } +.stabstr 0 ${RELOCATING+(NOLOAD)} : { + [ .stabstr ] + } +} +EOF diff --git a/ld/scripttempl/h8500.sc b/ld/scripttempl/h8500.sc new file mode 100644 index 0000000..d6a39ee --- /dev/null +++ b/ld/scripttempl/h8500.sc @@ -0,0 +1,62 @@ +cat < 64k */ + +SECTIONS +{ +.text 0x10000 : + { + *(.text) + *(.strings) + ${RELOCATING+ _etext = . ; } + } ${RELOCATING+ > ram} + + +.data 0x20000 : + { + *(.data) + ${RELOCATING+ _edata = . ; } + } ${RELOCATING+ > ram} + +.rdata 0x30000 : { + *(.rdata); + ___ctors = . ; + *(.ctors) + ___ctors_end = . ; + ___dtors = . ; + *(.dtors) + ___dtors_end = . ; +} ${RELOCATING+ > ram} + +.bss 0x40000 : + { + ${RELOCATING+ __start_bss = . ; } + *(.bss) + *(COMMON) + ${RELOCATING+ _end = . ; } + } ${RELOCATING+ >ram} +.stack 0x5fff0 : + { + ${RELOCATING+ _stack = . ; } + *(.stack) + } ${RELOCATING+ > topram} + + .stab 0 ${RELOCATING+(NOLOAD)} : + { + [ .stab ] + } + .stabstr 0 ${RELOCATING+(NOLOAD)} : + { + [ .stabstr ] + } +} +EOF + + + + diff --git a/ld/scripttempl/h8500m.sc b/ld/scripttempl/h8500m.sc new file mode 100644 index 0000000..040a4a7 --- /dev/null +++ b/ld/scripttempl/h8500m.sc @@ -0,0 +1,61 @@ +cat <. +test -z "$ENTRY" && ENTRY=_start +# These are substituted in as variables in order to get '}' in a shell +# conditional expansion. +INIT='.init : { *(.init) }' +FINI='.fini : { *(.fini) }' +cat <. +# These variables may be overridden by the emulation file. The +# defaults are appropriate for a DECstation running Ultrix. +test -z "$ENTRY" && ENTRY=__start + +if [ -z "$EMBEDDED" ]; then + test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000 + SIZEOF_HEADERS" +else + test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000" +fi +if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then + DATA_ADDR=. +else + test -z "$DATA_ADDR" && DATA_ADDR=0x10000000 +fi +cat < ram} + ${CONSTRUCTING+${TORS}} + .data : + { + *(.data) + ${RELOCATING+ _edata = . ; } + } ${RELOCATING+ > ram} + .bss : + { + ${RELOCATING+ _bss_start = . ; } + *(.bss) + *(COMMON) + ${RELOCATING+ _end = . ; } + } ${RELOCATING+ > ram} + .stack ${RELOCATING+ 0x30000 } : + { + ${RELOCATING+ _stack = . ; } + *(.stack) + } ${RELOCATING+ > ram} + .stab 0 ${RELOCATING+(NOLOAD)} : + { + *(.stab) + } + .stabstr 0 ${RELOCATING+(NOLOAD)} : + { + *(.stabstr) + } +} +EOF + + + + diff --git a/ld/scripttempl/sparccoff.sc b/ld/scripttempl/sparccoff.sc new file mode 100644 index 0000000..6bbb7ad --- /dev/null +++ b/ld/scripttempl/sparccoff.sc @@ -0,0 +1,48 @@ +# Linker script for Sparc COFF. +# Based on i386coff.sc by Ian Taylor . +test -z "$ENTRY" && ENTRY=_start +cat < rom + +.const : +{ + *(.const) + __etext = . ; +} > rom + +.mdata : AT( ADDR(.const) + SIZEOF(.const) ) +{ + __data = . ; + *(.data); + __edata = . ; +} > ram + +.bss : +{ + __bss = . ; + *(.bss); + *(COMMON); + __ebss = . ; +} > ram + +.ram0 : +{ + *(ram0) +} > ramblk0 + +.ram1 : +{ + *(ram1) +} > ramblk1 + +} + +EOF diff --git a/ld/scripttempl/tic80coff.sc b/ld/scripttempl/tic80coff.sc new file mode 100644 index 0000000..2b6f653 --- /dev/null +++ b/ld/scripttempl/tic80coff.sc @@ -0,0 +1,74 @@ +# Linker script for TI TMS320C80 (tic80) COFF. +# +# Besides the shell variables set by the emulparams script, and the LD_FLAG +# variable, the genscripts.sh script will set the following variables for each +# time this script is run to generate one of the linker scripts for ldscripts: +# +# RELOCATING: Set to a non-empty string when the linker is going to be doing +# a final relocation. +# +# CONSTRUCTING: Set to a non-empty string when the linker is going to be +# building global constructor and destructor tables. +# +# DATA_ALIGNMENT: Set to an ALIGN expression when the output should be page +# aligned, or to "." when generating the -N script. +# +# CREATE_SHLIB: Set to a non-empty string when generating a script for +# the -shared linker arg. + +test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x80000 + SIZEOF_HEADERS" +test -z "$ENTRY" && ENTRY=__start + +cat < ram} + + +.tors : { + ___ctors = . ; + *(.ctors) + ___ctors_end = . ; + ___dtors = . ; + *(.dtors) + ___dtors_end = . ; +} ${RELOCATING+ > ram} + +.data : + { + *(.data) + ${RELOCATING+ _edata = . ; } + } ${RELOCATING+ > ram} +.bss : + { + ${RELOCATING+ _bss_start = . ; } + *(.bss) + *(COMMON) + ${RELOCATING+ _end = . ; } + } ${RELOCATING+ >ram} +.stack ${RELOCATING+ 0x30000 } : + { + ${RELOCATING+ _stack = . ; } + *(.stack) + } ${RELOCATING+ > ram} + .stab . (NOLOAD) : + { + [ .stab ] + } + .stabstr . (NOLOAD) : + { + [ .stabstr ] + } +} +EOF + + + + diff --git a/ld/scripttempl/z8000.sc b/ld/scripttempl/z8000.sc new file mode 100644 index 0000000..2b87930 --- /dev/null +++ b/ld/scripttempl/z8000.sc @@ -0,0 +1,54 @@ +cat <