* scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN):

Handle these defines.
	* emulparams/criself.sh, * emulparams/crislinux.sh,
	* emulparams/elf32am33lin.sh, * emulparams/elf32fr30.sh,
	* emulparams/elf32_i860.sh, * emulparams/elf32ip2k.sh,
	* emulparams/elf32mcore.sh, * emulparams/elf32ppccommon.sh,
	* emulparams/elf32ppcwindiss.sh, * emulparams/elf32_sparc.sh,
	* emulparams/elf32_spu.sh, * emulparams/elf32vax.sh,
	* emulparams/elf64alpha.sh, * emulparams/elf64mmix.sh,
	* emulparams/elf64ppc.sh, * emulparams/elf64_s390.sh,
	* emulparams/elf64_sparc.sh, * emulparams/elf_s390.sh,
	* emulparams/elf_x86_64.sh, * emulparams/h8300elf.sh,
	* emulparams/hppa64linux.sh, * emulparams/hppalinux.sh,
	* emulparams/m68kelf.sh, * emulparams/mn10200.sh,
	* emulparams/pjelf.sh, * emulparams/ppclynx.sh,
	* emulparams/shelf32.sh, * emulparams/shelf_nto.sh,
	* emulparams/shelf.sh, * emulparams/shelf_vxworks.sh,
	* emulparams/shlelf32_linux.sh, * emulparams/shlelf_linux.sh,
	* emulparams/shlelf_nto.sh (NO_REL_RELOCS): Set.
	* emulparams/arcelf.sh, * emulparams/elf32_i960.sh,
	* emulparams/elf32openrisc.sh, * emulparams/elf_i386_be.sh,
	* emulparams/elf_i386_ldso.sh, * emulparams/elf_i386.sh,
	* emulparams/elf_i386_vxworks.sh, * emulparams/i386lynx.sh,
	* emulparams/i386moss.sh, * emulparams/i386nto.sh,
	* emulparams/or32elf.sh, * emulparams/scoreelf.sh (NO_RELA_RELOCS): Set.
This commit is contained in:
Alan Modra
2008-10-22 05:20:44 +00:00
parent 11d5096372
commit 485cf67968
47 changed files with 123 additions and 8 deletions

View File

@ -1,3 +1,31 @@
2008-10-22 Alan Modra <amodra@bigpond.net.au>
* scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN):
Handle these defines.
* emulparams/criself.sh, * emulparams/crislinux.sh,
* emulparams/elf32am33lin.sh, * emulparams/elf32fr30.sh,
* emulparams/elf32_i860.sh, * emulparams/elf32ip2k.sh,
* emulparams/elf32mcore.sh, * emulparams/elf32ppccommon.sh,
* emulparams/elf32ppcwindiss.sh, * emulparams/elf32_sparc.sh,
* emulparams/elf32_spu.sh, * emulparams/elf32vax.sh,
* emulparams/elf64alpha.sh, * emulparams/elf64mmix.sh,
* emulparams/elf64ppc.sh, * emulparams/elf64_s390.sh,
* emulparams/elf64_sparc.sh, * emulparams/elf_s390.sh,
* emulparams/elf_x86_64.sh, * emulparams/h8300elf.sh,
* emulparams/hppa64linux.sh, * emulparams/hppalinux.sh,
* emulparams/m68kelf.sh, * emulparams/mn10200.sh,
* emulparams/pjelf.sh, * emulparams/ppclynx.sh,
* emulparams/shelf32.sh, * emulparams/shelf_nto.sh,
* emulparams/shelf.sh, * emulparams/shelf_vxworks.sh,
* emulparams/shlelf32_linux.sh, * emulparams/shlelf_linux.sh,
* emulparams/shlelf_nto.sh (NO_REL_RELOCS): Set.
* emulparams/arcelf.sh, * emulparams/elf32_i960.sh,
* emulparams/elf32openrisc.sh, * emulparams/elf_i386_be.sh,
* emulparams/elf_i386_ldso.sh, * emulparams/elf_i386.sh,
* emulparams/elf_i386_vxworks.sh, * emulparams/i386lynx.sh,
* emulparams/i386moss.sh, * emulparams/i386nto.sh,
* emulparams/or32elf.sh, * emulparams/scoreelf.sh (NO_RELA_RELOCS): Set.
2008-10-22 Alan Modra <amodra@bigpond.net.au> 2008-10-22 Alan Modra <amodra@bigpond.net.au>
* ldlang.c (lang_output_section_find_by_flags): Handle non-alloc * ldlang.c (lang_output_section_find_by_flags): Handle non-alloc

View File

@ -4,6 +4,7 @@ EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-littlearc" OUTPUT_FORMAT="elf32-littlearc"
LITTLE_OUTPUT_FORMAT="elf32-littlearc" LITTLE_OUTPUT_FORMAT="elf32-littlearc"
BIG_OUTPUT_FORMAT="elf32-bigarc" BIG_OUTPUT_FORMAT="elf32-bigarc"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x0 TEXT_START_ADDR=0x0
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=arc ARCH=arc

View File

@ -5,6 +5,7 @@ TEMPLATE_NAME=elf32
# Symbols have underscore prepended. # Symbols have underscore prepended.
OUTPUT_FORMAT="elf32-us-cris" OUTPUT_FORMAT="elf32-us-cris"
NO_REL_RELOCS=yes
ARCH=cris ARCH=cris
MAXPAGESIZE=32 MAXPAGESIZE=32
ENTRY=__start ENTRY=__start

View File

@ -2,6 +2,7 @@
MACHINE= MACHINE=
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-cris" OUTPUT_FORMAT="elf32-cris"
NO_REL_RELOCS=yes
ARCH=cris ARCH=cris
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32

View File

@ -5,6 +5,7 @@ EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-i860-little" OUTPUT_FORMAT="elf32-i860-little"
BIG_OUTPUT_FORMAT="elf32-i860" BIG_OUTPUT_FORMAT="elf32-i860"
LITTLE_OUTPUT_FORMAT="elf32-i860-little" LITTLE_OUTPUT_FORMAT="elf32-i860-little"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0 TEXT_START_ADDR=0
PAGE_SIZE=0x1000 PAGE_SIZE=0x1000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"

View File

@ -1,6 +1,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
OUTPUT_FORMAT="elf32-i960" OUTPUT_FORMAT="elf32-i960"
NO_RELA_RELOCS=yes
ARCH=i960 ARCH=i960
MACHINE= MACHINE=
TEXT_START_ADDR=0 TEXT_START_ADDR=0

View File

@ -3,6 +3,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-sparc" OUTPUT_FORMAT="elf32-sparc"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x10000 TEXT_START_ADDR=0x10000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -2,6 +2,7 @@ SCRIPT_NAME=elf
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
EXTRA_EM_FILE=spuelf EXTRA_EM_FILE=spuelf
OUTPUT_FORMAT="elf32-spu" OUTPUT_FORMAT="elf32-spu"
NO_REL_RELOCS=yes
ARCH=spu ARCH=spu
MACHINE= MACHINE=
ALIGNMENT=16 ALIGNMENT=16

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-am33lin" OUTPUT_FORMAT="elf32-am33lin"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x8000000 TEXT_START_ADDR=0x8000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=mn10300 ARCH=mn10300

View File

@ -3,6 +3,7 @@ SCRIPT_NAME=elf
TEMPLATE_NAME=generic TEMPLATE_NAME=generic
EXTRA_EM_FILE=genelf EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-fr30" OUTPUT_FORMAT="elf32-fr30"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x10000 TEXT_START_ADDR=0x10000
ARCH=fr30 ARCH=fr30
MAXPAGESIZE=256 MAXPAGESIZE=256

View File

@ -2,6 +2,7 @@ TEMPLATE_NAME=elf32
MACHINE= MACHINE=
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-ip2k" OUTPUT_FORMAT="elf32-ip2k"
NO_REL_RELOCS=yes
# See also `include/elf/ip2k.h' # See also `include/elf/ip2k.h'
DATA_ADDR=0x01000100 DATA_ADDR=0x01000100
TEXT_START_ADDR=0x02010000 TEXT_START_ADDR=0x02010000

View File

@ -2,6 +2,7 @@ SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-mcore-little" OUTPUT_FORMAT="elf32-mcore-little"
BIG_OUTPUT_FORMAT="elf32-mcore-big" BIG_OUTPUT_FORMAT="elf32-mcore-big"
LITTLE_OUTPUT_FORMAT="elf32-mcore-little" LITTLE_OUTPUT_FORMAT="elf32-mcore-little"
NO_REL_RELOCS=yes
PAGE_SIZE=0x1000 PAGE_SIZE=0x1000
TARGET_PAGE_SIZE=0x400 TARGET_PAGE_SIZE=0x400
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"

View File

@ -1,6 +1,7 @@
MACHINE= MACHINE=
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-openrisc" OUTPUT_FORMAT="elf32-openrisc"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x10000 TEXT_START_ADDR=0x10000
ARCH=openrisc ARCH=openrisc
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"

View File

@ -5,6 +5,7 @@ GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes GENERATE_PIE_SCRIPT=yes
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-powerpc" OUTPUT_FORMAT="elf32-powerpc"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x01800000 TEXT_START_ADDR=0x01800000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -1,6 +1,7 @@
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-powerpc" OUTPUT_FORMAT="elf32-powerpc"
NO_REL_RELOCS=yes
ARCH=powerpc ARCH=powerpc
MACHINE= MACHINE=
EMBEDDED=yes EMBEDDED=yes

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-vax" OUTPUT_FORMAT="elf32-vax"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x10000 TEXT_START_ADDR=0x10000
case ${LD_FLAG} in case ${LD_FLAG} in
n|N) TEXT_START_ADDR=0x1000 ;; n|N) TEXT_START_ADDR=0x1000 ;;

View File

@ -1,6 +1,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
ELFSIZE=64 ELFSIZE=64
OUTPUT_FORMAT="elf64-s390" OUTPUT_FORMAT="elf64-s390"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x80000000 TEXT_START_ADDR=0x80000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -2,6 +2,7 @@ SCRIPT_NAME=elf
ELFSIZE=64 ELFSIZE=64
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
OUTPUT_FORMAT="elf64-sparc" OUTPUT_FORMAT="elf64-sparc"
NO_REL_RELOCS=yes
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
ARCH="sparc:v9" ARCH="sparc:v9"

View File

@ -4,6 +4,7 @@ ELFSIZE=64
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
EXTRA_EM_FILE=alphaelf EXTRA_EM_FILE=alphaelf
OUTPUT_FORMAT="elf64-alpha" OUTPUT_FORMAT="elf64-alpha"
NO_REL_RELOCS=yes
TEXT_START_ADDR="0x120000000" TEXT_START_ADDR="0x120000000"
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -3,6 +3,7 @@ GENERATE_SHLIB_SCRIPT=yes
ELFSIZE=64 ELFSIZE=64
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf64-mmix" OUTPUT_FORMAT="elf64-mmix"
NO_REL_RELOCS=yes
ENTRY=_start. ENTRY=_start.
# Default to 0 as mmixal does. # Default to 0 as mmixal does.

View File

@ -5,6 +5,7 @@ GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes GENERATE_PIE_SCRIPT=yes
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf64-powerpc" OUTPUT_FORMAT="elf64-powerpc"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x10000000 TEXT_START_ADDR=0x10000000
#SEGMENT_SIZE=0x10000000 #SEGMENT_SIZE=0x10000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-i386" OUTPUT_FORMAT="elf32-i386"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x08048000 TEXT_START_ADDR=0x08048000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-i386" OUTPUT_FORMAT="elf32-i386"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x80000000 TEXT_START_ADDR=0x80000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=i386 ARCH=i386

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-i386" OUTPUT_FORMAT="elf32-i386"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x08048000 TEXT_START_ADDR=0x08048000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=i386 ARCH=i386

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-i386-vxworks" OUTPUT_FORMAT="elf32-i386-vxworks"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x08048000 TEXT_START_ADDR=0x08048000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-s390" OUTPUT_FORMAT="elf32-s390"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x00400000 TEXT_START_ADDR=0x00400000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -1,6 +1,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
ELFSIZE=64 ELFSIZE=64
OUTPUT_FORMAT="elf64-x86-64" OUTPUT_FORMAT="elf64-x86-64"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x400000 TEXT_START_ADDR=0x400000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -3,6 +3,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-h8300" OUTPUT_FORMAT="elf32-h8300"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x100 TEXT_START_ADDR=0x100
MAXPAGESIZE=2 MAXPAGESIZE=2
TARGET_PAGE_SIZE=128 TARGET_PAGE_SIZE=128

View File

@ -5,6 +5,7 @@ SCRIPT_NAME=elf
ELFSIZE=64 ELFSIZE=64
# FIXME: this output format is for hpux. # FIXME: this output format is for hpux.
OUTPUT_FORMAT="elf64-hppa-linux" OUTPUT_FORMAT="elf64-hppa-linux"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x10000 TEXT_START_ADDR=0x10000
TARGET_PAGE_SIZE=0x10000 TARGET_PAGE_SIZE=0x10000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"

View File

@ -4,6 +4,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
ELFSIZE=32 ELFSIZE=32
OUTPUT_FORMAT="elf32-hppa-linux" OUTPUT_FORMAT="elf32-hppa-linux"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x10000 TEXT_START_ADDR=0x10000
TARGET_PAGE_SIZE=0x10000 TARGET_PAGE_SIZE=0x10000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-i386" OUTPUT_FORMAT="elf32-i386"
NO_RELA_RELOCS=yes
ENTRY=_main ENTRY=_main
TEXT_BASE=0x0 TEXT_BASE=0x0
DYN_TEXT_BASE=0x00400000 DYN_TEXT_BASE=0x00400000

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-i386" OUTPUT_FORMAT="elf32-i386"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x00002000 TEXT_START_ADDR=0x00002000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=i386 ARCH=i386

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-i386" OUTPUT_FORMAT="elf32-i386"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x08048000 TEXT_START_ADDR=0x08048000
TEXT_START_SYMBOLS='_btext = .;' TEXT_START_SYMBOLS='_btext = .;'
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-m68k" OUTPUT_FORMAT="elf32-m68k"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x80000000 TEXT_START_ADDR=0x80000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -5,6 +5,7 @@ SCRIPT_NAME=elf
TEMPLATE_NAME=generic TEMPLATE_NAME=generic
EXTRA_EM_FILE=genelf EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-mn10200" OUTPUT_FORMAT="elf32-mn10200"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x0 TEXT_START_ADDR=0x0
ARCH=mn10200 ARCH=mn10200
MACHINE= MACHINE=

View File

@ -2,6 +2,7 @@ SCRIPT_NAME=elf
TEMPLATE_NAME=generic TEMPLATE_NAME=generic
EXTRA_EM_FILE=genelf EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-or32" OUTPUT_FORMAT="elf32-or32"
NO_RELA_RELOCS=yes
TEXT_START_ADDR=0x1000000 TEXT_START_ADDR=0x1000000
TARGET_PAGE_SIZE=0x1000000 TARGET_PAGE_SIZE=0x1000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"

View File

@ -2,6 +2,7 @@ SCRIPT_NAME=elf
TEMPLATE_NAME=generic TEMPLATE_NAME=generic
EXTRA_EM_FILE=genelf EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-pj" OUTPUT_FORMAT="elf32-pj"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x1000000 TEXT_START_ADDR=0x1000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=pj ARCH=pj

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-powerpc" OUTPUT_FORMAT="elf32-powerpc"
NO_REL_RELOCS=yes
TEXT_BASE=0x00002000 TEXT_BASE=0x00002000
DYN_TEXT_BASE=0x00400000 DYN_TEXT_BASE=0x00400000
TEXT_START_ADDR="(DEFINED(_DYNAMIC) ? ${DYN_TEXT_BASE} : ${TEXT_BASE})" TEXT_START_ADDR="(DEFINED(_DYNAMIC) ? ${DYN_TEXT_BASE} : ${TEXT_BASE})"

View File

@ -4,6 +4,7 @@ TEMPLATE_NAME=elf32
OUTPUT_FORMAT="elf32-bigscore" OUTPUT_FORMAT="elf32-bigscore"
BIG_OUTPUT_FORMAT="elf32-bigscore" BIG_OUTPUT_FORMAT="elf32-bigscore"
LITTLE_OUTPUT_FORMAT="elf32-littlescore" LITTLE_OUTPUT_FORMAT="elf32-littlescore"
NO_RELA_RELOCS=yes
GROUP="-lm -lc -lglsim -lgcc -lstdc++" GROUP="-lm -lc -lglsim -lgcc -lstdc++"
TEXT_START_ADDR=0x00000000 TEXT_START_ADDR=0x00000000

View File

@ -3,6 +3,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-sh" OUTPUT_FORMAT="elf32-sh"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x1000 TEXT_START_ADDR=0x1000
MAXPAGESIZE=128 MAXPAGESIZE=128
ARCH=sh ARCH=sh

View File

@ -2,6 +2,7 @@
# sh[l]elf(32|64).sh parameter scripts. # sh[l]elf(32|64).sh parameter scripts.
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT=${OUTPUT_FORMAT-"elf32-sh64"} OUTPUT_FORMAT=${OUTPUT_FORMAT-"elf32-sh64"}
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x1000 TEXT_START_ADDR=0x1000
MAXPAGESIZE=128 MAXPAGESIZE=128
ARCH=sh ARCH=sh

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-sh" OUTPUT_FORMAT="elf32-sh"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x08040000 TEXT_START_ADDR=0x08040000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=sh ARCH=sh

View File

@ -2,6 +2,7 @@
# shlelf_vxworks.sh # shlelf_vxworks.sh
SCRIPT_NAME=elf SCRIPT_NAME=elf
NO_REL_RELOCS=yes
BIG_OUTPUT_FORMAT="elf32-sh-vxworks" BIG_OUTPUT_FORMAT="elf32-sh-vxworks"
LITTLE_OUTPUT_FORMAT="elf32-shl-vxworks" LITTLE_OUTPUT_FORMAT="elf32-shl-vxworks"
OUTPUT_FORMAT="$BIG_OUTPUT_FORMAT" OUTPUT_FORMAT="$BIG_OUTPUT_FORMAT"

View File

@ -3,6 +3,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-sh64-linux" OUTPUT_FORMAT="elf32-sh64-linux"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x400000 TEXT_START_ADDR=0x400000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -3,6 +3,7 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-sh-linux" OUTPUT_FORMAT="elf32-sh-linux"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x400000 TEXT_START_ADDR=0x400000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"

View File

@ -1,5 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-shl" OUTPUT_FORMAT="elf32-shl"
NO_REL_RELOCS=yes
TEXT_START_ADDR=0x08040000 TEXT_START_ADDR=0x08040000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=sh ARCH=sh

View File

@ -36,6 +36,9 @@
# DATA_PLT - .plt should be in data segment, not text segment. # DATA_PLT - .plt should be in data segment, not text segment.
# PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement. # PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement.
# BSS_PLT - .plt should be in bss segment # BSS_PLT - .plt should be in bss segment
# NO_REL_RELOCS - Don't include .rel.* sections in script
# NO_RELA_RELOCS - Don't include .rela.* sections in script
# NON_ALLOC_DYN - Place dynamic sections after data segment.
# TEXT_DYNAMIC - .dynamic in text segment, not data segment. # TEXT_DYNAMIC - .dynamic in text segment, not data segment.
# EMBEDDED - whether this is for an embedded system. # EMBEDDED - whether this is for an embedded system.
# SHLIB_TEXT_START_ADDR - if set, add to SIZEOF_HEADERS to set # SHLIB_TEXT_START_ADDR - if set, add to SIZEOF_HEADERS to set
@ -268,6 +271,11 @@ SECTIONS
${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}} ${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}}
${INITIAL_READONLY_SECTIONS} ${INITIAL_READONLY_SECTIONS}
.note.gnu.build-id : { *(.note.gnu.build-id) } .note.gnu.build-id : { *(.note.gnu.build-id) }
EOF
test -n "${RELOCATING+0}" || unset NON_ALLOC_DYN
test -z "${NON_ALLOC_DYN}" || TEXT_DYNAMIC=
cat > ldscripts/dyntmp.$$ <<EOF
${TEXT_DYNAMIC+${DYNAMIC}} ${TEXT_DYNAMIC+${DYNAMIC}}
.hash ${RELOCATING-0} : { *(.hash) } .hash ${RELOCATING-0} : { *(.hash) }
.gnu.hash ${RELOCATING-0} : { *(.gnu.hash) } .gnu.hash ${RELOCATING-0} : { *(.gnu.hash) }
@ -276,10 +284,10 @@ SECTIONS
.gnu.version ${RELOCATING-0} : { *(.gnu.version) } .gnu.version ${RELOCATING-0} : { *(.gnu.version) }
.gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) } .gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) }
.gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) } .gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) }
EOF EOF
if [ "x$COMBRELOC" = x ]; then if [ "x$COMBRELOC" = x ]; then
COMBRELOCCAT=cat COMBRELOCCAT="cat >> ldscripts/dyntmp.$$"
else else
COMBRELOCCAT="cat > $COMBRELOC" COMBRELOCCAT="cat > $COMBRELOC"
fi fi
@ -316,27 +324,45 @@ eval $COMBRELOCCAT <<EOF
.rela.bss ${RELOCATING-0} : { *(.rela.bss${RELOCATING+ .rela.bss.* .rela.gnu.linkonce.b.*}) } .rela.bss ${RELOCATING-0} : { *(.rela.bss${RELOCATING+ .rela.bss.* .rela.gnu.linkonce.b.*}) }
${REL_LARGE} ${REL_LARGE}
EOF EOF
if [ -n "$COMBRELOC" ]; then if [ -n "$COMBRELOC" ]; then
cat <<EOF cat >> ldscripts/dyntmp.$$ <<EOF
.rel.dyn ${RELOCATING-0} : .rel.dyn ${RELOCATING-0} :
{ {
EOF EOF
sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$
cat <<EOF cat >> ldscripts/dyntmp.$$ <<EOF
} }
.rela.dyn ${RELOCATING-0} : .rela.dyn ${RELOCATING-0} :
{ {
EOF EOF
sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$
cat <<EOF cat >> ldscripts/dyntmp.$$ <<EOF
} }
EOF EOF
fi fi
cat <<EOF
cat >> ldscripts/dyntmp.$$ <<EOF
.rel.plt ${RELOCATING-0} : { *(.rel.plt) } .rel.plt ${RELOCATING-0} : { *(.rel.plt) }
.rela.plt ${RELOCATING-0} : { *(.rela.plt) } .rela.plt ${RELOCATING-0} : { *(.rela.plt) }
${OTHER_PLT_RELOC_SECTIONS} ${OTHER_PLT_RELOC_SECTIONS}
EOF
if test -z "${NON_ALLOC_DYN}"; then
if test -z "${NO_REL_RELOCS}${NO_RELA_RELOCS}"; then
cat ldscripts/dyntmp.$$
else
if test -z "${NO_REL_RELOCS}"; then
sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d' -e '/^[ ]*\.rela\./d' ldscripts/dyntmp.$$
fi
if test -z "${NO_RELA_RELOCS}"; then
sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d' -e '/^[ ]*\.rel\./d' ldscripts/dyntmp.$$
fi
fi
rm -f ldscripts/dyntmp.$$
fi
cat <<EOF
.init ${RELOCATING-0} : .init ${RELOCATING-0} :
{ {
${RELOCATING+${INIT_START}} ${RELOCATING+${INIT_START}}
@ -464,7 +490,23 @@ cat <<EOF
${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+${OTHER_END_SYMBOLS}}
${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}} ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
${RELOCATING+${DATA_SEGMENT_END}} ${RELOCATING+${DATA_SEGMENT_END}}
EOF
if test -n "${NON_ALLOC_DYN}"; then
if test -z "${NO_REL_RELOCS}${NO_RELA_RELOCS}"; then
cat ldscripts/dyntmp.$$
else
if test -z "${NO_REL_RELOCS}"; then
sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d' -e '/^[ ]*\.rela\./d' ldscripts/dyntmp.$$
fi
if test -z "${NO_RELA_RELOCS}"; then
sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d' -e '/^[ ]*\.rel\./d' ldscripts/dyntmp.$$
fi
fi
rm -f ldscripts/dyntmp.$$
fi
cat <<EOF
/* Stabs debugging sections. */ /* Stabs debugging sections. */
.stab 0 : { *(.stab) } .stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) } .stabstr 0 : { *(.stabstr) }