summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/ld/emulparams
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/binutils/ld/emulparams')
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/armcoff.sh2
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/armpe.sh3
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh1
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh10
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh8
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh10
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh8
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh4
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh44
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386go32.sh4
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386pe.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh3
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/sun4.sh1
13 files changed, 79 insertions, 24 deletions
diff --git a/gnu/usr.bin/binutils/ld/emulparams/armcoff.sh b/gnu/usr.bin/binutils/ld/emulparams/armcoff.sh
index 9ef6ac44698..91df7d3c41d 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/armcoff.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/armcoff.sh
@@ -3,4 +3,4 @@ SCRIPT_NAME=armcoff
OUTPUT_FORMAT="coff-arm-little"
LITTLE_OUTPUT_FORMAT="coff-arm-little"
BIG_OUTPUT_FORMAT="coff-arm-big"
-#TEMPLATE_NAME=armcoff
+TEMPLATE_NAME=armcoff
diff --git a/gnu/usr.bin/binutils/ld/emulparams/armpe.sh b/gnu/usr.bin/binutils/ld/emulparams/armpe.sh
index 22468050e54..257c9ded5f5 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/armpe.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/armpe.sh
@@ -4,3 +4,6 @@ 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/gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh
index 1397f38c181..3279fc3b6b2 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh
+++ b/gnu/usr.bin/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
TEMPLATE_NAME=elf32
DATA_PLT=
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh
index 147ec2d5086..24f8d98eab0 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh
@@ -1,15 +1,15 @@
-SCRIPT_NAME=elfmips
+SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-bigmips"
BIG_OUTPUT_FORMAT="elf32-bigmips"
LITTLE_OUTPUT_FORMAT="elf32-littlemips"
TEXT_START_ADDR=0xa0020000
-DATA_ADDR=.
MAXPAGESIZE=0x40000
-OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+INITIAL_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
OTHER_GOT_SYMBOLS='
_gp = ALIGN(16) + 0x7ff0;
'
-OTHER_READWRITE_SECTIONS='
+OTHER_GOT_SECTIONS='
.lit8 : { *(.lit8) }
.lit4 : { *(.lit4) }
'
@@ -22,7 +22,7 @@ OTHER_SECTIONS='
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
'
ARCH=mips
-MACHINE=4000
+MACHINE=
TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
DYNAMIC_LINK=false
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh
index 2bcb2956450..ffe82628150 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh
@@ -1,4 +1,4 @@
-SCRIPT_NAME=elfmips
+SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-bigmips"
BIG_OUTPUT_FORMAT="elf32-bigmips"
LITTLE_OUTPUT_FORMAT="elf32-littlemips"
@@ -7,11 +7,13 @@ DATA_ADDR=0x10000000
MAXPAGESIZE=0x40000
NONPAGED_TEXT_START_ADDR=0x0400000
SHLIB_TEXT_START_ADDR=0x5ffe0000
-OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+TEXT_DYNAMIC=
+INITIAL_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
OTHER_GOT_SYMBOLS='
_gp = ALIGN(16) + 0x7ff0;
'
-OTHER_READWRITE_SECTIONS='
+OTHER_GOT_SECTIONS='
.lit8 : { *(.lit8) }
.lit4 : { *(.lit4) }
'
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh
index fdf31b134e3..690de88b3aa 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh
@@ -1,15 +1,15 @@
-SCRIPT_NAME=elfmips
+SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-littlemips"
BIG_OUTPUT_FORMAT="elf32-bigmips"
LITTLE_OUTPUT_FORMAT="elf32-littlemips"
TEXT_START_ADDR=0xa0020000
-DATA_ADDR=.
MAXPAGESIZE=0x40000
-OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+INITIAL_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
OTHER_GOT_SYMBOLS='
_gp = ALIGN(16) + 0x7ff0;
'
-OTHER_READWRITE_SECTIONS='
+OTHER_GOT_SECTIONS='
.lit8 : { *(.lit8) }
.lit4 : { *(.lit4) }
'
@@ -22,7 +22,7 @@ OTHER_SECTIONS='
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
'
ARCH=mips
-MACHINE=4000
+MACHINE=
TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
DYNAMIC_LINK=false
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh
index 4be75dd430e..a686a9f2449 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh
@@ -1,4 +1,4 @@
-SCRIPT_NAME=elfmips
+SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-littlemips"
BIG_OUTPUT_FORMAT="elf32-bigmips"
LITTLE_OUTPUT_FORMAT="elf32-littlemips"
@@ -7,11 +7,13 @@ DATA_ADDR=0x10000000
MAXPAGESIZE=0x40000
NONPAGED_TEXT_START_ADDR=0x0400000
SHLIB_TEXT_START_ADDR=0x5ffe0000
-OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+TEXT_DYNAMIC=
+INITIAL_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
OTHER_GOT_SYMBOLS='
_gp = ALIGN(16) + 0x7ff0;
'
-OTHER_READWRITE_SECTIONS='
+OTHER_GOT_SECTIONS='
.lit8 : { *(.lit8) }
.lit4 : { *(.lit4) }
'
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh
index 4c1e7b31949..fcafd1139ee 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh
@@ -2,6 +2,6 @@ TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
SCRIPT_NAME=elfppc
OUTPUT_FORMAT="elf32-powerpc"
-TEXT_START_ADDR=0x40000
-MAXPAGESIZE=0x40000
+TEXT_START_ADDR=0x01800000
+MAXPAGESIZE=0x10000
ARCH=powerpc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh b/gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh
index 4a9dc0b767a..2ab2e4fabb9 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh
@@ -1,6 +1,46 @@
SCRIPT_NAME=elf
+ELFSIZE=64
+TEMPLATE_NAME=elf32
OUTPUT_FORMAT="elf64-sparc"
-TEXT_START_ADDR=0x100200
+TEXT_START_ADDR=0x100000
MAXPAGESIZE=0x100000
-NONPAGED_TEXT_START_ADDR=0x100200
+NONPAGED_TEXT_START_ADDR=0x100000
ARCH="sparc:v9"
+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/gnu/usr.bin/binutils/ld/emulparams/i386go32.sh b/gnu/usr.bin/binutils/ld/emulparams/i386go32.sh
index 52649a1e5d9..0ef16c4d37c 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/i386go32.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386go32.sh
@@ -1,8 +1,8 @@
SCRIPT_NAME=i386go32
-OUTPUT_FORMAT="coff-i386"
+OUTPUT_FORMAT="coff-go32"
TEXT_START_ADDR=0x10a8
TARGET_PAGE_SIZE=0x1000
-SEGMENT_SIZE=0x1000
+SEGMENT_SIZE=0x200
NONPAGED_TEXT_START_ADDR=0x0
ARCH=i386
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386pe.sh b/gnu/usr.bin/binutils/ld/emulparams/i386pe.sh
index 1249064a420..a8add23d6d1 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/i386pe.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386pe.sh
@@ -1,5 +1,8 @@
ARCH=i386
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/gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh b/gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh
index 655282d3fc3..a2d09ef2238 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh
@@ -2,3 +2,6 @@ ARCH=powerpc
SCRIPT_NAME=ppcpe
OUTPUT_FORMAT="pei-powerpcle"
TEMPLATE_NAME=pe
+ENTRY="_mainCRTStartup"
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"_\"
diff --git a/gnu/usr.bin/binutils/ld/emulparams/sun4.sh b/gnu/usr.bin/binutils/ld/emulparams/sun4.sh
index e2b15260178..bd42775331b 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/sun4.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/sun4.sh
@@ -3,5 +3,6 @@ OUTPUT_FORMAT="a.out-sunos-big"
TEXT_START_ADDR=0x2020
TARGET_PAGE_SIZE=0x2000
NONPAGED_TEXT_START_ADDR=0x2000
+ALIGNMENT=8
ARCH=sparc
TEMPLATE_NAME=sunos