From 2a9ea95d682586d2b0c31da28d82a73d786c7c0a Mon Sep 17 00:00:00 2001 From: obrien Date: Fri, 12 May 2000 23:15:20 +0000 Subject: Import of Binutils 2.10 snapshot. --- contrib/binutils/ld/emulparams/armaoutb.sh | 7 +++ contrib/binutils/ld/emulparams/armaoutl.sh | 7 +++ contrib/binutils/ld/emulparams/armcoff.sh | 6 ++ contrib/binutils/ld/emulparams/armelf.sh | 22 +++++++ contrib/binutils/ld/emulparams/armelf_linux.sh | 19 ++++++ contrib/binutils/ld/emulparams/armelf_linux26.sh | 20 ++++++ contrib/binutils/ld/emulparams/armelf_oabi.sh | 21 +++++++ contrib/binutils/ld/emulparams/armnbsd.sh | 7 +++ contrib/binutils/ld/emulparams/armpe.sh | 9 +++ contrib/binutils/ld/emulparams/coff_sparc.sh | 7 +++ contrib/binutils/ld/emulparams/elf32_sparc.sh | 1 + contrib/binutils/ld/emulparams/elf32bmipn32.sh | 75 ++++++++++++++++++++++ contrib/binutils/ld/emulparams/elf32ebmip.sh | 1 - contrib/binutils/ld/emulparams/elf32elmip.sh | 1 - contrib/binutils/ld/emulparams/elf32lppc.sh | 8 +++ contrib/binutils/ld/emulparams/elf32ppc.sh | 8 +++ contrib/binutils/ld/emulparams/elf32ppclinux.sh | 8 +++ contrib/binutils/ld/emulparams/elf64_sparc.sh | 34 ++++++++++ contrib/binutils/ld/emulparams/elf64bmip.sh | 79 ++++++++++++++++++++++++ contrib/binutils/ld/emulparams/i386pe.sh | 3 + contrib/binutils/ld/emulparams/i386pe_posix.sh | 9 +++ contrib/binutils/ld/emulparams/ppcmacos.sh | 4 ++ contrib/binutils/ld/emulparams/ppcnw.sh | 7 +++ contrib/binutils/ld/emulparams/ppcpe.sh | 7 +++ contrib/binutils/ld/emulparams/sparcaout.sh | 8 +++ contrib/binutils/ld/emulparams/sparclinux.sh | 7 +++ contrib/binutils/ld/emulparams/sparcnbsd.sh | 5 ++ 27 files changed, 388 insertions(+), 2 deletions(-) create mode 100644 contrib/binutils/ld/emulparams/armaoutb.sh create mode 100644 contrib/binutils/ld/emulparams/armaoutl.sh create mode 100644 contrib/binutils/ld/emulparams/armcoff.sh create mode 100644 contrib/binutils/ld/emulparams/armelf.sh create mode 100644 contrib/binutils/ld/emulparams/armelf_linux.sh create mode 100644 contrib/binutils/ld/emulparams/armelf_linux26.sh create mode 100644 contrib/binutils/ld/emulparams/armelf_oabi.sh create mode 100644 contrib/binutils/ld/emulparams/armnbsd.sh create mode 100644 contrib/binutils/ld/emulparams/armpe.sh create mode 100644 contrib/binutils/ld/emulparams/coff_sparc.sh create mode 100755 contrib/binutils/ld/emulparams/elf32bmipn32.sh create mode 100644 contrib/binutils/ld/emulparams/elf32lppc.sh create mode 100644 contrib/binutils/ld/emulparams/elf32ppc.sh create mode 100644 contrib/binutils/ld/emulparams/elf32ppclinux.sh create mode 100755 contrib/binutils/ld/emulparams/elf64bmip.sh create mode 100644 contrib/binutils/ld/emulparams/i386pe_posix.sh create mode 100644 contrib/binutils/ld/emulparams/ppcmacos.sh create mode 100644 contrib/binutils/ld/emulparams/ppcnw.sh create mode 100644 contrib/binutils/ld/emulparams/ppcpe.sh create mode 100644 contrib/binutils/ld/emulparams/sparcaout.sh create mode 100644 contrib/binutils/ld/emulparams/sparclinux.sh create mode 100644 contrib/binutils/ld/emulparams/sparcnbsd.sh (limited to 'contrib/binutils/ld/emulparams') diff --git a/contrib/binutils/ld/emulparams/armaoutb.sh b/contrib/binutils/ld/emulparams/armaoutb.sh new file mode 100644 index 0000000..59ab6f1 --- /dev/null +++ b/contrib/binutils/ld/emulparams/armaoutb.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=armaout +OUTPUT_FORMAT="a.out-arm-big" +HEADER_START_ADDR=0x8000 +TEXT_START_ADDR=0x8000 +NONPAGED_TEXT_START_ADDRESS=0x8000 +TARGET_PAGE_SIZE=32768 +ARCH=arm diff --git a/contrib/binutils/ld/emulparams/armaoutl.sh b/contrib/binutils/ld/emulparams/armaoutl.sh new file mode 100644 index 0000000..9501f33 --- /dev/null +++ b/contrib/binutils/ld/emulparams/armaoutl.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=armaout +OUTPUT_FORMAT="a.out-arm-little" +HEADER_START_ADDR=0x8000 +TEXT_START_ADDR=0x8000 +NONPAGED_TEXT_START_ADDRESS=0x8000 +TARGET_PAGE_SIZE=32768 +ARCH=arm diff --git a/contrib/binutils/ld/emulparams/armcoff.sh b/contrib/binutils/ld/emulparams/armcoff.sh new file mode 100644 index 0000000..91df7d3 --- /dev/null +++ b/contrib/binutils/ld/emulparams/armcoff.sh @@ -0,0 +1,6 @@ +ARCH=arm +SCRIPT_NAME=armcoff +OUTPUT_FORMAT="coff-arm-little" +LITTLE_OUTPUT_FORMAT="coff-arm-little" +BIG_OUTPUT_FORMAT="coff-arm-big" +TEMPLATE_NAME=armcoff diff --git a/contrib/binutils/ld/emulparams/armelf.sh b/contrib/binutils/ld/emulparams/armelf.sh new file mode 100644 index 0000000..8c79b64 --- /dev/null +++ b/contrib/binutils/ld/emulparams/armelf.sh @@ -0,0 +1,22 @@ +MACHINE= +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-littlearm" +BIG_OUTPUT_FORMAT="elf32-bigarm" +LITTLE_OUTPUT_FORMAT="elf32-littlearm" +TEXT_START_ADDR=0x8000 +TEMPLATE_NAME=armelf +OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' +OTHER_BSS_SYMBOLS='__bss_start__ = .;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' + +GENERATE_SHLIB_SCRIPT=yes + +ARCH=arm +MACHINE= +MAXPAGESIZE=256 +ENTRY=_start +EMBEDDED=yes + +# Hmmm, there's got to be a better way. This sets the stack to the +# top of the simulator memory (2^19 bytes). +OTHER_RELOCATING_SECTIONS='.stack 0x80000 : { _stack = .; *(.stack) }' diff --git a/contrib/binutils/ld/emulparams/armelf_linux.sh b/contrib/binutils/ld/emulparams/armelf_linux.sh new file mode 100644 index 0000000..a85e8bd --- /dev/null +++ b/contrib/binutils/ld/emulparams/armelf_linux.sh @@ -0,0 +1,19 @@ +ARCH=arm +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-littlearm" +BIG_OUTPUT_FORMAT="elf32-bigarm" +LITTLE_OUTPUT_FORMAT="elf32-littlearm" +MAXPAGESIZE=0x8000 +TEMPLATE_NAME=armelf +GENERATE_SHLIB_SCRIPT=yes + +DATA_START_SYMBOLS='__data_start = . ;'; +OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' +OTHER_BSS_SYMBOLS='__bss_start__ = .;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' + +# This needs to be high enough so that we can load ld.so below it, +# yet low enough to stay away from the mmap area at 0x40000000. +# Also, it is small enough so that relocs which are pointing +# at absolute 0 will still be fixed up. +TEXT_START_ADDR=0x02000000 diff --git a/contrib/binutils/ld/emulparams/armelf_linux26.sh b/contrib/binutils/ld/emulparams/armelf_linux26.sh new file mode 100644 index 0000000..36d1b0e --- /dev/null +++ b/contrib/binutils/ld/emulparams/armelf_linux26.sh @@ -0,0 +1,20 @@ +ARCH=arm +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-littlearm" +BIG_OUTPUT_FORMAT="elf32-bigarm" +LITTLE_OUTPUT_FORMAT="elf32-littlearm" +MAXPAGESIZE=0x8000 +TEMPLATE_NAME=armelf +GENERATE_SHLIB_SCRIPT=yes + +DATA_START_SYMBOLS='__data_start = . ;'; +OTHER_BSS_SYMBOLS='__bss_start__ = .;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' + +# This needs to be high enough so that we can load ld.so below it, +# yet low enough to stay away from the mmap area at 0x01100000. +# Also, it is small enough so that relocs which are pointing +# at absolute 0 will still be fixed up. +# These values give us about 0.5MB for ld.so, 16.5MB for user +# programs, and 15MB for mmap which seems a reasonable compromise. +TEXT_START_ADDR=0x00080000 diff --git a/contrib/binutils/ld/emulparams/armelf_oabi.sh b/contrib/binutils/ld/emulparams/armelf_oabi.sh new file mode 100644 index 0000000..d568328 --- /dev/null +++ b/contrib/binutils/ld/emulparams/armelf_oabi.sh @@ -0,0 +1,21 @@ +MACHINE= +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-littlearm-oabi" +BIG_OUTPUT_FORMAT="elf32-bigarm-oabi" +LITTLE_OUTPUT_FORMAT="elf32-littlearm-oabi" +TEXT_START_ADDR=0x8000 +TEMPLATE_NAME=armelf_oabi +OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' +OTHER_BSS_SYMBOLS='__bss_start__ = .;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' + + +ARCH=arm +MACHINE= +MAXPAGESIZE=256 +ENTRY=_start +EMBEDDED=yes + +# Hmmm, there's got to be a better way. This sets the stack to the +# top of the simulator memory (2^19 bytes). +OTHER_RELOCATING_SECTIONS='.stack 0x80000 : { _stack = .; *(.stack) }' diff --git a/contrib/binutils/ld/emulparams/armnbsd.sh b/contrib/binutils/ld/emulparams/armnbsd.sh new file mode 100644 index 0000000..fc27791 --- /dev/null +++ b/contrib/binutils/ld/emulparams/armnbsd.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=aout +TEXT_START_ADDR=0x1020 +OUTPUT_FORMAT="a.out-arm-netbsd" +TARGET_PAGE_SIZE=0x1000 +ARCH=arm +EXECUTABLE_SYMBOLS='__DYNAMIC = 0;' +NONPAGED_TEXT_START_ADDR=0x1000 diff --git a/contrib/binutils/ld/emulparams/armpe.sh b/contrib/binutils/ld/emulparams/armpe.sh new file mode 100644 index 0000000..257c9de --- /dev/null +++ b/contrib/binutils/ld/emulparams/armpe.sh @@ -0,0 +1,9 @@ +ARCH=arm +SCRIPT_NAME=pe +OUTPUT_FORMAT="pei-arm-little" +LITTLE_OUTPUT_FORMAT="pei-arm-little" +BIG_OUTPUT_FORMAT="pei-arm-big" +TEMPLATE_NAME=pe +ENTRY="_mainCRTStartup" +SUBSYSTEM=PE_DEF_SUBSYSTEM +INITIAL_SYMBOL_CHAR=\"_\" diff --git a/contrib/binutils/ld/emulparams/coff_sparc.sh b/contrib/binutils/ld/emulparams/coff_sparc.sh new file mode 100644 index 0000000..0cf852a --- /dev/null +++ b/contrib/binutils/ld/emulparams/coff_sparc.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=sparccoff +OUTPUT_FORMAT="coff-sparc" +# following are dubious (borrowed from sparc lynx) +TARGET_PAGE_SIZE=0x1000 +TEXT_START_ADDR=0 +NONPAGED_TEXT_START_ADDR=0x1000 +ARCH=sparc diff --git a/contrib/binutils/ld/emulparams/elf32_sparc.sh b/contrib/binutils/ld/emulparams/elf32_sparc.sh index 3a1a7f2..74e2326 100644 --- a/contrib/binutils/ld/emulparams/elf32_sparc.sh +++ b/contrib/binutils/ld/emulparams/elf32_sparc.sh @@ -3,6 +3,7 @@ OUTPUT_FORMAT="elf32-sparc" TEXT_START_ADDR=0x10000 MAXPAGESIZE=0x10000 NONPAGED_TEXT_START_ADDR=0x10000 +ALIGNMENT=8 ARCH=sparc MACHINE= TEMPLATE_NAME=elf32 diff --git a/contrib/binutils/ld/emulparams/elf32bmipn32.sh b/contrib/binutils/ld/emulparams/elf32bmipn32.sh new file mode 100755 index 0000000..56f42a9 --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf32bmipn32.sh @@ -0,0 +1,75 @@ +# This is an ELF platform. +SCRIPT_NAME=elf + +# Handle both big- and little-ended 32-bit MIPS objects. +ARCH=mips +OUTPUT_FORMAT="elf32-bigmips" +BIG_OUTPUT_FORMAT="elf32-bigmips" +LITTLE_OUTPUT_FORMAT="elf32-littlemips" + +TEMPLATE_NAME=elf32 + +TEXT_START_ADDR=0x10000000 +MAXPAGESIZE=0x100000 +ENTRY=__start + +# GOT-related settings. +OTHER_GOT_SYMBOLS=' + _gp = ALIGN(16) + 0x7ff0; +' +OTHER_GOT_SECTIONS=' + .lit8 : { *(.lit8) } + .lit4 : { *(.lit4) } + .srdata : { *(.srdata) } +' + +# Magic symbols. +TEXT_START_SYMBOLS='_ftext = . ;' +DATA_START_SYMBOLS='_fdata = . ;' +OTHER_BSS_SYMBOLS='_fbss = .;' +# IRIX6 defines these symbols. 0x34 is the size of the ELF header. +EXECUTABLE_SYMBOLS=" + __dso_displacement = 0; + __elf_header = ${TEXT_START_ADDR}; + __program_header_table = ${TEXT_START_ADDR} + 0x34; +" + +# There are often dynamic relocations against the .rodata section. +# Setting DT_TEXTREL in the .dynamic section does not convince the +# IRIX6 linker to permit relocations against the text segment. +# Following the IRIX linker, we simply put .rodata in the data +# segment. +WRITABLE_RODATA= + +OTHER_RELOCATING_SECTIONS=' + .MIPS.events.text : + { + *(.MIPS.events.text) + *(.MIPS.events.gnu.linkonce.t*) + } + .MIPS.content.text : + { + *(.MIPS.content.text) + *(.MIPS.content.gnu.linkonce.t*) + } + .MIPS.events.data : + { + *(.MIPS.events.data) + *(.MIPS.events.gnu.linkonce.d*) + } + .MIPS.content.data : + { + *(.MIPS.content.data) + *(.MIPS.content.gnu.linkonce.d*) + } + .MIPS.events.rodata : + { + *(.MIPS.events.rodata) + *(.MIPS.events.gnu.linkonce.r*) + } + .MIPS.content.rodata : + { + *(.MIPS.content.rodata) + *(.MIPS.content.gnu.linkonce.r*) + } +' diff --git a/contrib/binutils/ld/emulparams/elf32ebmip.sh b/contrib/binutils/ld/emulparams/elf32ebmip.sh index a6b80a9..00ea8fd 100644 --- a/contrib/binutils/ld/emulparams/elf32ebmip.sh +++ b/contrib/binutils/ld/emulparams/elf32ebmip.sh @@ -6,7 +6,6 @@ TEXT_START_ADDR=0x0400000 MAXPAGESIZE=0x40000 NONPAGED_TEXT_START_ADDR=0x0400000 SHLIB_TEXT_START_ADDR=0x5ffe0000 -INITIAL_READONLY_SECTIONS='.reginfo : { *(.reginfo) }' OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)' OTHER_GOT_SYMBOLS=' _gp = ALIGN(16) + 0x7ff0; diff --git a/contrib/binutils/ld/emulparams/elf32elmip.sh b/contrib/binutils/ld/emulparams/elf32elmip.sh index 313d74a..cf008c8 100644 --- a/contrib/binutils/ld/emulparams/elf32elmip.sh +++ b/contrib/binutils/ld/emulparams/elf32elmip.sh @@ -6,7 +6,6 @@ TEXT_START_ADDR=0x0400000 MAXPAGESIZE=0x40000 NONPAGED_TEXT_START_ADDR=0x0400000 SHLIB_TEXT_START_ADDR=0x5ffe0000 -INITIAL_READONLY_SECTIONS='.reginfo : { *(.reginfo) }' OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)' OTHER_GOT_SYMBOLS=' _gp = ALIGN(16) + 0x7ff0; diff --git a/contrib/binutils/ld/emulparams/elf32lppc.sh b/contrib/binutils/ld/emulparams/elf32lppc.sh new file mode 100644 index 0000000..edffc61 --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf32lppc.sh @@ -0,0 +1,8 @@ +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes +SCRIPT_NAME=elfppc +OUTPUT_FORMAT="elf32-powerpcle" +TEXT_START_ADDR=0x40000 +MAXPAGESIZE=0x40000 +ARCH=powerpc +MACHINE= diff --git a/contrib/binutils/ld/emulparams/elf32ppc.sh b/contrib/binutils/ld/emulparams/elf32ppc.sh new file mode 100644 index 0000000..3e3880c --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf32ppc.sh @@ -0,0 +1,8 @@ +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes +SCRIPT_NAME=elfppc +OUTPUT_FORMAT="elf32-powerpc" +TEXT_START_ADDR=0x01800000 +MAXPAGESIZE=0x10000 +ARCH=powerpc +MACHINE= diff --git a/contrib/binutils/ld/emulparams/elf32ppclinux.sh b/contrib/binutils/ld/emulparams/elf32ppclinux.sh new file mode 100644 index 0000000..9996c7b --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf32ppclinux.sh @@ -0,0 +1,8 @@ +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes +SCRIPT_NAME=elfppc +OUTPUT_FORMAT="elf32-powerpc" +TEXT_START_ADDR=0x10000000 +MAXPAGESIZE=0x10000 +ARCH=powerpc +MACHINE= diff --git a/contrib/binutils/ld/emulparams/elf64_sparc.sh b/contrib/binutils/ld/emulparams/elf64_sparc.sh index d0fbdfd..2ab2e4f 100644 --- a/contrib/binutils/ld/emulparams/elf64_sparc.sh +++ b/contrib/binutils/ld/emulparams/elf64_sparc.sh @@ -10,3 +10,37 @@ MACHINE= DATA_PLT= GENERATE_SHLIB_SCRIPT=yes NOP=0x01000000 + +if [ "x${host}" = "x${target}" ]; then + case " $EMULATION_LIBPATH " in + *" ${EMULATION_NAME} "*) + # Native, and default or emulation requesting LIB_PATH. + + # Linux and Solaris modify the default library search path + # to first include a 64-bit specific directory. It's put + # in slightly different places on the two systems. + case "$target" in + sparc*-linux*) + suffix=64 ;; + sparc*-solaris*) + suffix=/sparcv9 ;; + esac + + if [ -n "${suffix}" ]; then + + LIB_PATH=/lib${suffix}:/lib + LIB_PATH=${LIB_PATH}:/usr/lib${suffix}:/usr/lib + if [ -n "${NATIVE_LIB_DIRS}" ]; then + LIB_PATH=${LIB_PATH}:`echo ${NATIVE_LIB_DIRS} | sed s/:/${suffix}:/g`${suffix}:${NATIVE_LIB_DIRS} + fi + if [ "${libdir}" != /usr/lib ]; then + LIB_PATH=${LIB_PATH}:${libdir}${suffix}:${libdir} + fi + if [ "${libdir}" != /usr/local/lib ]; then + LIB_PATH=${LIB_PATH}:/usr/local/lib${suffix}:/usr/local/lib + fi + + fi + ;; + esac +fi diff --git a/contrib/binutils/ld/emulparams/elf64bmip.sh b/contrib/binutils/ld/emulparams/elf64bmip.sh new file mode 100755 index 0000000..a4852d5 --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf64bmip.sh @@ -0,0 +1,79 @@ +# This is an ELF platform. +SCRIPT_NAME=elf + +# Handle both big- and little-ended 32-bit MIPS objects. +ARCH=mips +OUTPUT_FORMAT="elf64-bigmips" +BIG_OUTPUT_FORMAT="elf64-bigmips" +LITTLE_OUTPUT_FORMAT="elf64-littlemips" + +# Note that the elf32 template is used for 64-bit emulations as well +# as 32-bit emulations. +ELFSIZE=64 +TEMPLATE_NAME=elf32 + +TEXT_START_ADDR=0x10000000 +MAXPAGESIZE=0x100000 +ENTRY=__start + +# GOT-related settings. +OTHER_GOT_SYMBOLS=' + _gp = ALIGN(16) + 0x7ff0; +' +OTHER_GOT_SECTIONS=' + .lit8 : { *(.lit8) } + .lit4 : { *(.lit4) } + .srdata : { *(.srdata) } +' + +# Magic symbols. +TEXT_START_SYMBOLS='_ftext = . ;' +DATA_START_SYMBOLS='_fdata = . ;' +OTHER_BSS_SYMBOLS='_fbss = .;' +# IRIX6 defines these symbols. 0x40 is the size of the ELF header. +EXECUTABLE_SYMBOLS=" + __dso_displacement = 0; + __elf_header = ${TEXT_START_ADDR}; + __program_header_table = ${TEXT_START_ADDR} + 0x40; +" + +# There are often dynamic relocations against the .rodata section. +# Setting DT_TEXTREL in the .dynamic section does not convince the +# IRIX6 linker to permit relocations against the text segment. +# Following the IRIX linker, we simply put .rodata in the data +# segment. +WRITABLE_RODATA= + + +OTHER_RELOCATING_SECTIONS=' + .MIPS.events.text : + { + *(.MIPS.events.text) + *(.MIPS.events.gnu.linkonce.t*) + } + .MIPS.content.text : + { + *(.MIPS.content.text) + *(.MIPS.content.gnu.linkonce.t*) + } + .MIPS.events.data : + { + *(.MIPS.events.data) + *(.MIPS.events.gnu.linkonce.d*) + } + .MIPS.content.data : + { + *(.MIPS.content.data) + *(.MIPS.content.gnu.linkonce.d*) + } + .MIPS.events.rodata : + { + *(.MIPS.events.rodata) + *(.MIPS.events.gnu.linkonce.r*) + } + .MIPS.content.rodata : + { + *(.MIPS.content.rodata) + *(.MIPS.content.gnu.linkonce.r*) + } +' diff --git a/contrib/binutils/ld/emulparams/i386pe.sh b/contrib/binutils/ld/emulparams/i386pe.sh index 188a8ad..a8add23 100644 --- a/contrib/binutils/ld/emulparams/i386pe.sh +++ b/contrib/binutils/ld/emulparams/i386pe.sh @@ -3,3 +3,6 @@ SCRIPT_NAME=pe OUTPUT_FORMAT="pei-i386" RELOCATEABLE_OUTPUT_FORMAT="pe-i386" TEMPLATE_NAME=pe +ENTRY="_mainCRTStartup" +SUBSYSTEM=PE_DEF_SUBSYSTEM +INITIAL_SYMBOL_CHAR=\"_\" diff --git a/contrib/binutils/ld/emulparams/i386pe_posix.sh b/contrib/binutils/ld/emulparams/i386pe_posix.sh new file mode 100644 index 0000000..37f51b5 --- /dev/null +++ b/contrib/binutils/ld/emulparams/i386pe_posix.sh @@ -0,0 +1,9 @@ +ARCH=i386 +SCRIPT_NAME=pe +OUTPUT_FORMAT="pei-i386" +RELOCATEABLE_OUTPUT_FORMAT="pe-i386" +TEMPLATE_NAME=pe +ENTRY="___PosixProcessStartup" +SUBSYSTEM=7 +EXECUTABLE_NAME=a.out +INITIAL_SYMBOL_CHAR=\"_\" diff --git a/contrib/binutils/ld/emulparams/ppcmacos.sh b/contrib/binutils/ld/emulparams/ppcmacos.sh new file mode 100644 index 0000000..b6b800c --- /dev/null +++ b/contrib/binutils/ld/emulparams/ppcmacos.sh @@ -0,0 +1,4 @@ +TEMPLATE_NAME=aix +SCRIPT_NAME=aix +OUTPUT_FORMAT="xcoff-powermac" +ARCH=powerpc diff --git a/contrib/binutils/ld/emulparams/ppcnw.sh b/contrib/binutils/ld/emulparams/ppcnw.sh new file mode 100644 index 0000000..c3ead43 --- /dev/null +++ b/contrib/binutils/ld/emulparams/ppcnw.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=nw +OUTPUT_FORMAT="elf32-powerpc" +TEXT_START_ADDR=0x0400000 +DATA_ADDR=0x10000000 +MAXPAGESIZE=0x40000 +NONPAGED_TEXT_START_ADDR=0x0400000 +ARCH=powerpc diff --git a/contrib/binutils/ld/emulparams/ppcpe.sh b/contrib/binutils/ld/emulparams/ppcpe.sh new file mode 100644 index 0000000..a2d09ef --- /dev/null +++ b/contrib/binutils/ld/emulparams/ppcpe.sh @@ -0,0 +1,7 @@ +ARCH=powerpc +SCRIPT_NAME=ppcpe +OUTPUT_FORMAT="pei-powerpcle" +TEMPLATE_NAME=pe +ENTRY="_mainCRTStartup" +SUBSYSTEM=PE_DEF_SUBSYSTEM +INITIAL_SYMBOL_CHAR=\"_\" diff --git a/contrib/binutils/ld/emulparams/sparcaout.sh b/contrib/binutils/ld/emulparams/sparcaout.sh new file mode 100644 index 0000000..429b925 --- /dev/null +++ b/contrib/binutils/ld/emulparams/sparcaout.sh @@ -0,0 +1,8 @@ +SCRIPT_NAME=aout +OUTPUT_FORMAT="a.out-sunos-big" +BIG_OUTPUT_FORMAT="a.out-sunos-big" +LITTLE_OUTPUT_FORMAT="a.out-sparc-little" +TEXT_START_ADDR=0x2020 +TARGET_PAGE_SIZE=0x2000 +NONPAGED_TEXT_START_ADDR=0x2000 +ARCH=sparc diff --git a/contrib/binutils/ld/emulparams/sparclinux.sh b/contrib/binutils/ld/emulparams/sparclinux.sh new file mode 100644 index 0000000..7ccb0be --- /dev/null +++ b/contrib/binutils/ld/emulparams/sparclinux.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=aout +OUTPUT_FORMAT="a.out-sparc-linux" +TARGET_PAGE_SIZE=0x1000 +TEXT_START_ADDR=0x1020 +NONPAGED_TEXT_START_ADDR=0 +ARCH=sparc +TEMPLATE_NAME=linux diff --git a/contrib/binutils/ld/emulparams/sparcnbsd.sh b/contrib/binutils/ld/emulparams/sparcnbsd.sh new file mode 100644 index 0000000..f27daf3 --- /dev/null +++ b/contrib/binutils/ld/emulparams/sparcnbsd.sh @@ -0,0 +1,5 @@ +SCRIPT_NAME=aout +TEXT_START_ADDR=0x1020 +OUTPUT_FORMAT="a.out-sparc-netbsd" +TARGET_PAGE_SIZE=0x1000 +ARCH=sparc -- cgit v1.1