summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/binutils/ld
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2004-06-16 07:09:44 +0000
committerobrien <obrien@FreeBSD.org>2004-06-16 07:09:44 +0000
commitc15b182a8c9d192b8bd7b065d50f26fdc66e57bb (patch)
tree1d994d80dc9d835f3cdaf765535ae861867b19c9 /gnu/usr.bin/binutils/ld
parent77e70076440e09568096be35d7dee1a7d58373bc (diff)
downloadFreeBSD-src-c15b182a8c9d192b8bd7b065d50f26fdc66e57bb.zip
FreeBSD-src-c15b182a8c9d192b8bd7b065d50f26fdc66e57bb.tar.gz
Updated Bmake framework for Binutils 2.15.
Diffstat (limited to 'gnu/usr.bin/binutils/ld')
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile5
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile.alpha20
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile.amd6414
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile.i38614
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile.ia6411
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile.powerpc9
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile.sparc6411
-rw-r--r--gnu/usr.bin/binutils/ld/config.h11
-rwxr-xr-xgnu/usr.bin/binutils/ld/genscripts.sh78
9 files changed, 113 insertions, 60 deletions
diff --git a/gnu/usr.bin/binutils/ld/Makefile b/gnu/usr.bin/binutils/ld/Makefile
index 56f652e..c33c79d 100644
--- a/gnu/usr.bin/binutils/ld/Makefile
+++ b/gnu/usr.bin/binutils/ld/Makefile
@@ -10,9 +10,12 @@ SRCS+= ldcref.c ldctor.c ldemul.c ldemul-list.h ldexp.c ldfile.c \
ldgram.y ldlang.c ldlex.l ldmain.c ldmisc.c \
ldver.c ldwrite.c lexsup.c mri.c
-WARNS?= 1
+WARNS?= 0 # ldemul.h problem (`struct option' declared inside parameter list)
CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}/usr/libdata\"
CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\"
+CFLAGS+= -DBINDIR=\"${BINDIR}\" -DTARGET_SYSTEM_ROOT=\"${DESTDIR}\"
+CFLAGS+= -DTOOLBINDIR=\"${DESTDIR}/${BINDIR}/libexec\"
+CFLAGS+= -D_GNU_SOURCE
CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd
NOSHARED?= yes
DPADD= ${RELTOP}/libbfd/libbfd.a
diff --git a/gnu/usr.bin/binutils/ld/Makefile.alpha b/gnu/usr.bin/binutils/ld/Makefile.alpha
index 9e64f92..d10d1a9 100644
--- a/gnu/usr.bin/binutils/ld/Makefile.alpha
+++ b/gnu/usr.bin/binutils/ld/Makefile.alpha
@@ -1,7 +1,5 @@
# $FreeBSD$
-TARGET_TUPLE?= alpha-unknown-freebsd
-
.if ${TARGET_ARCH} == "alpha"
NATIVE_EMULATION= elf64alpha_fbsd
HOST= ${TARGET_TUPLE}
@@ -14,24 +12,32 @@ _alpha_path= \"/usr/cross/alpha-freebsd/usr/lib\"
EMS+= ${NATIVE_EMULATION} elf64alpha alpha
LDSCRIPTS+= ${NATIVE_EMULATION}.x ${NATIVE_EMULATION}.xbn ${NATIVE_EMULATION}.xn ${NATIVE_EMULATION}.xr \
${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu alpha.x alpha.xbn \
- alpha.xn alpha.xr alpha.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc
+ ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc \
+ ${NATIVE_EMULATION}.xd ${NATIVE_EMULATION}.xdc \
+ elf64alpha.x elf64alpha.xbn elf64alpha.xc elf64alpha.xd \
+ elf64alpha.xdc elf64alpha.xn elf64alpha.xr elf64alpha.xs \
+ elf64alpha.xsc elf64alpha.xu \
+ alpha.xn alpha.xr alpha.xu alpha.x alpha.xbn
SRCS+= e${NATIVE_EMULATION}.c eelf64alpha.c ealpha.c
CLEANFILES+= e${NATIVE_EMULATION}.c eelf64alpha.c ealpha.c
e${NATIVE_EMULATION}.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em \
scripttempl/elf.sc genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_alpha_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- ${NATIVE_EMULATION} "" ${NATIVE_EMULATION} ${TARGET_TUPLE}
+ ${NATIVE_EMULATION} "" no ${NATIVE_EMULATION} ${TARGET_TUPLE}
eelf64alpha.c: emulparams/elf64alpha.sh emultempl/elf32.em \
scripttempl/elf.sc genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_alpha_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- elf64alpha "" elf64alpha ${TARGET_TUPLE}
+ ${NATIVE_EMULATION} "" no elf64alpha ${TARGET_TUPLE}
-ealpha.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em scripttempl/elf.sc \
+ealpha.c: emulparams/alpha.sh emultempl/generic.em scripttempl/alpha.sc \
genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_alpha_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- ${NATIVE_EMULATION} "" alpha ${TARGET_TUPLE}
+ ${NATIVE_EMULATION} "" no alpha ${TARGET_TUPLE}
diff --git a/gnu/usr.bin/binutils/ld/Makefile.amd64 b/gnu/usr.bin/binutils/ld/Makefile.amd64
index cbb2433..8c4afe4 100644
--- a/gnu/usr.bin/binutils/ld/Makefile.amd64
+++ b/gnu/usr.bin/binutils/ld/Makefile.amd64
@@ -1,7 +1,5 @@
# $FreeBSD$
-TARGET_TUPLE?= x86_64-obrien-freebsd
-
NATIVE_EMULATION= elf_x86_64_fbsd
HOST= ${TARGET_TUPLE}
CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
@@ -9,26 +7,30 @@ CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
_amd64_path= \"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
EMS+= ${NATIVE_EMULATION}
LDSCRIPTS+= ${NATIVE_EMULATION}.x ${NATIVE_EMULATION}.xbn ${NATIVE_EMULATION}.xn ${NATIVE_EMULATION}.xr \
- ${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc
+ ${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc \
+ ${NATIVE_EMULATION}.xd ${NATIVE_EMULATION}.xdc
SRCS+= e${NATIVE_EMULATION}.c
CLEANFILES+= e${NATIVE_EMULATION}.c
e${NATIVE_EMULATION}.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em scripttempl/elf.sc \
genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_amd64_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- "${NATIVE_EMULATION}" "" ${NATIVE_EMULATION} "${TARGET_TUPLE}"
+ "${NATIVE_EMULATION}" "" no ${NATIVE_EMULATION} "${TARGET_TUPLE}"
X86_EMULATION= elf_i386_fbsd
_i386_path= \"${TOOLS_PREFIX}/usr/lib/i386\"
EMS+= ${X86_EMULATION}
LDSCRIPTS+= ${X86_EMULATION}.x ${X86_EMULATION}.xbn ${X86_EMULATION}.xn ${X86_EMULATION}.xr \
- ${X86_EMULATION}.xs ${X86_EMULATION}.xu ${X86_EMULATION}.xc ${X86_EMULATION}.xsc
+ ${X86_EMULATION}.xs ${X86_EMULATION}.xu ${X86_EMULATION}.xc ${X86_EMULATION}.xsc \
+ ${X86_EMULATION}.xd ${X86_EMULATION}.xdc
SRCS+= e${X86_EMULATION}.c
CLEANFILES+= e${X86_EMULATION}.c
e${X86_EMULATION}.c: emulparams/${X86_EMULATION}.sh emultempl/elf32.em scripttempl/elf.sc \
genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_i386_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- "${X86_EMULATION}" "" ${X86_EMULATION} "${TARGET_TUPLE}"
+ "${X86_EMULATION}" "" no ${X86_EMULATION} "${TARGET_TUPLE}"
diff --git a/gnu/usr.bin/binutils/ld/Makefile.i386 b/gnu/usr.bin/binutils/ld/Makefile.i386
index d21ee42..51ea188 100644
--- a/gnu/usr.bin/binutils/ld/Makefile.i386
+++ b/gnu/usr.bin/binutils/ld/Makefile.i386
@@ -1,7 +1,5 @@
# $FreeBSD$
-TARGET_TUPLE?= i386-unknown-freebsd
-
.if ${TARGET_ARCH} == "i386"
NATIVE_EMULATION= elf_i386_fbsd
HOST= ${TARGET_TUPLE}
@@ -13,15 +11,17 @@ _i386_path= \"/usr/cross/i386-freebsd/usr/lib\"
.endif
EMS+= ${NATIVE_EMULATION}
LDSCRIPTS+= ${NATIVE_EMULATION}.x ${NATIVE_EMULATION}.xbn ${NATIVE_EMULATION}.xn ${NATIVE_EMULATION}.xr \
- ${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc
+ ${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc \
+ ${NATIVE_EMULATION}.xd ${NATIVE_EMULATION}.xdc
SRCS+= e${NATIVE_EMULATION}.c
CLEANFILES+= e${NATIVE_EMULATION}.c
e${NATIVE_EMULATION}.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em scripttempl/elf.sc \
genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_i386_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- "${NATIVE_EMULATION}" "" ${NATIVE_EMULATION} "${TARGET_TUPLE}"
+ "${NATIVE_EMULATION}" "" no ${NATIVE_EMULATION} "${TARGET_TUPLE}"
.if defined(BINUTILSDISTDIR) && exists(${BINUTILSDISTDIR})
EMS+= i386pe
@@ -36,7 +36,7 @@ CLEANFILES+= ei386pe.c
ei386pe.c: emulparams/i386pe.sh emultempl/pe.em scripttempl/pe.sc \
genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${BINUTILSDISTDIR}/ld \
- /usr/cross/winnt/lib ${HOST} ${TARGET_TUPLE}winnt \
- ${TARGET_TUPLE}winnt i386pe "" i386pe \
- ${TARGET_TUPLE}winnt
+ /usr/cross/winnt/lib ${TOOLS_PREFIX}/usr/cross/winnt ${HOST} ${TARGET_TUPLE}-winnt \
+ ${TARGET_TUPLE}-winnt i386pe "" no i386pe \
+ ${TARGET_TUPLE}-winnt
.endif
diff --git a/gnu/usr.bin/binutils/ld/Makefile.ia64 b/gnu/usr.bin/binutils/ld/Makefile.ia64
index d10937d..5a11991 100644
--- a/gnu/usr.bin/binutils/ld/Makefile.ia64
+++ b/gnu/usr.bin/binutils/ld/Makefile.ia64
@@ -1,7 +1,5 @@
# $FreeBSD$
-TARGET_TUPLE?= ia64-unknown-freebsd
-
.if ${TARGET_ARCH} == "ia64"
NATIVE_EMULATION= elf64_ia64_fbsd
HOST= ${TARGET_TUPLE}
@@ -14,20 +12,23 @@ _ia64_path= \"/usr/cross/ia64-freebsd/usr/lib\"
EMS+= ${NATIVE_EMULATION}
LDSCRIPTS+= ${NATIVE_EMULATION}.x ${NATIVE_EMULATION}.xbn ${NATIVE_EMULATION}.xn ${NATIVE_EMULATION}.xr \
- ${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc
+ ${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc \
+ ${NATIVE_EMULATION}.xd ${NATIVE_EMULATION}.xdc
SRCS+= e${NATIVE_EMULATION}.c
CLEANFILES+= e${NATIVE_EMULATION}.c
e${NATIVE_EMULATION}.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em \
scripttempl/elf.sc genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_ia64_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- "${NATIVE_EMULATION}" "" ${NATIVE_EMULATION} "${TARGET_TUPLE}"
+ "${NATIVE_EMULATION}" "" no ${NATIVE_EMULATION} "${TARGET_TUPLE}"
SRCS+= eelf64_ia64.c
CLEANFILES+= eelf64_ia64.c
eelf64_ia64.c: emulparams/elf64_ia64.sh emultempl/elf32.em \
scripttempl/elf.sc genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_ia64_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- "elf64_ia64" "" elf64_ia64 ${TARGET_TUPLE}
+ "elf64_ia64" "" no elf64_ia64 ${TARGET_TUPLE}
diff --git a/gnu/usr.bin/binutils/ld/Makefile.powerpc b/gnu/usr.bin/binutils/ld/Makefile.powerpc
index 12a2bac..82f8380 100644
--- a/gnu/usr.bin/binutils/ld/Makefile.powerpc
+++ b/gnu/usr.bin/binutils/ld/Makefile.powerpc
@@ -1,7 +1,5 @@
# $FreeBSD$
-TARGET_TUPLE?= powerpc-unknown-freebsd
-
.if ${TARGET_ARCH} == "powerpc"
NATIVE_EMULATION= elf32ppc
HOST= ${TARGET_TUPLE}
@@ -18,12 +16,15 @@ LDSCRIPTS+= ${NATIVE_EMULATION}.x \
${NATIVE_EMULATION}.xr \
${NATIVE_EMULATION}.xs \
${NATIVE_EMULATION}.xu \
- ${NATIVE_EMULATION}.xsc
+ ${NATIVE_EMULATION}.xsc \
+ ${NATIVE_EMULATION}.xd \
+ ${NATIVE_EMULATION}.xdc
SRCS+= e${NATIVE_EMULATION}.c
CLEANFILES+= e${NATIVE_EMULATION}.c
e${NATIVE_EMULATION}.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em \
scripttempl/elf.sc genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_powerpc_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- ${NATIVE_EMULATION} "" ${NATIVE_EMULATION} ${TARGET_TUPLE}
+ ${NATIVE_EMULATION} "" no ${NATIVE_EMULATION} ${TARGET_TUPLE}
diff --git a/gnu/usr.bin/binutils/ld/Makefile.sparc64 b/gnu/usr.bin/binutils/ld/Makefile.sparc64
index ab39e59..53042bf 100644
--- a/gnu/usr.bin/binutils/ld/Makefile.sparc64
+++ b/gnu/usr.bin/binutils/ld/Makefile.sparc64
@@ -1,7 +1,5 @@
# $FreeBSD$
-TARGET_TUPLE?= sparc64-unknown-freebsd
-
.if ${TARGET_ARCH} == "sparc64"
NATIVE_EMULATION= elf64_sparc_fbsd
HOST= ${TARGET_TUPLE}
@@ -14,15 +12,17 @@ _sparc_path= \"/usr/cross/sparc-freebsd/usr/lib\"
EMS+= ${NATIVE_EMULATION} elf64_sparc
LDSCRIPTS+= ${NATIVE_EMULATION}.x ${NATIVE_EMULATION}.xbn ${NATIVE_EMULATION}.xn ${NATIVE_EMULATION}.xr \
- ${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc
+ ${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc \
+ ${NATIVE_EMULATION}.xd ${NATIVE_EMULATION}.xdc
SRCS+= e${NATIVE_EMULATION}.c
CLEANFILES+= e${NATIVE_EMULATION}.c
e${NATIVE_EMULATION}.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em \
scripttempl/elf.sc genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_sparc_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- ${NATIVE_EMULATION} "" ${NATIVE_EMULATION} ${TARGET_TUPLE}
+ ${NATIVE_EMULATION} "" no ${NATIVE_EMULATION} ${TARGET_TUPLE}
.for BITS in 64 32
@@ -37,7 +37,8 @@ CLEANFILES+= eelf${BITS}_sparc.c
eelf${BITS}_sparc.c: emulparams/elf${BITS}_sparc.sh emultempl/elf32.em \
scripttempl/elf.sc genscripts.sh stringify.sed
sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_sparc_path} \
+ ${TOOLS_PREFIX}/usr \
${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
- elf${BITS}_sparc "" elf${BITS}_sparc ${TARGET_TUPLE}
+ elf${BITS}_sparc "" no elf${BITS}_sparc ${TARGET_TUPLE}
.endfor # BITS
diff --git a/gnu/usr.bin/binutils/ld/config.h b/gnu/usr.bin/binutils/ld/config.h
index d4f30d8..c645f91 100644
--- a/gnu/usr.bin/binutils/ld/config.h
+++ b/gnu/usr.bin/binutils/ld/config.h
@@ -73,6 +73,9 @@
/* Define if you have the putenv function. */
#define HAVE_PUTENV 1
+/* Define if you have the realpath function. */
+#define HAVE_REALPATH 1
+
/* Define if you have the sbrk function. */
#define HAVE_SBRK 1
@@ -130,12 +133,6 @@
/* Define if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
-/* Define if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
/* Define if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
@@ -146,7 +143,7 @@
#define PACKAGE "ld"
/* Version number of package */
-/* #define VERSION "2.13.2" */
+/* #define VERSION "2.15" */
/* Define if you have the stpcpy function */
#define HAVE_STPCPY 1
diff --git a/gnu/usr.bin/binutils/ld/genscripts.sh b/gnu/usr.bin/binutils/ld/genscripts.sh
index 125e18e..181a96c 100755
--- a/gnu/usr.bin/binutils/ld/genscripts.sh
+++ b/gnu/usr.bin/binutils/ld/genscripts.sh
@@ -15,20 +15,32 @@
# hoops for all possible combinations of paths, just use the libdir
# argument in place of LIB_PATH.
#
-# The host, target and target_alias arguments are not used in this version.
+# The exec_prefix, target_alias, use_sysroot, NATIVE_LIB_DIRS, TOOL_LIB, CUSTOMIZER_SCRIPT
+# arguments are not used in this version.
#
srcdir=$1
libdir=$2
-host=$3
-target=$4
-target_alias=$5
-EMULATION_LIBPATH=$6
-NATIVE_LIB_DIRS=$7
-EMULATION_NAME=$8
+exec_prefix=$3
+host=$4
+target=$5
+target_alias=$6
+EMULATION_LIBPATH=$7
+NATIVE_LIB_DIRS=$8
+use_sysroot=$9
+shift 9
+EMULATION_NAME=$1
+TOOL_LIB=$2
+CUSTOMIZER_SCRIPT=$3
+
+# Create the 'CUSTOMIZER_SCRIPT' knob to better sync this script with
+# FSF BU ver 2.15 which allows for a more generic emulparams processing.
+# To reduce the diff, I also include the ${EMULATION_NAME} parameter in uses
+# of 'CUSTOMIZER_SCRIPT'.
+CUSTOMIZER_SCRIPT="${srcdir}/emulparams/${EMULATION_NAME}.sh"
# Include the emulation-specific parameters:
-. ${srcdir}/emulparams/${EMULATION_NAME}.sh
+. ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
if test -d ldscripts; then
true
@@ -36,6 +48,10 @@ else
mkdir ldscripts
fi
+# Set some flags for the emultempl scripts. USE_LIBPATH will
+# be set for any libpath-using emulation.
+ USE_LIBPATH=yes
+
# Set the library search path, for libraries named by -lfoo.
# If LIB_PATH is defined (e.g., by Makefile) and non-empty, it is used.
# Otherwise, the default is set here.
@@ -44,7 +60,7 @@ fi
# To force a logically empty LIB_PATH, do LIBPATH=":".
LIB_SEARCH_DIRS=`echo ${libdir} | sed -e 's/:/ /g' -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\1);/g'`
-#2.13 LIB_SEARCH_DIRS=`echo ${libdir} | sed -e 's/:/ /g' -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\\"\1\\");/g'`
+#2.13: LIB_SEARCH_DIRS=`echo ${libdir} | sed -e 's/:/ /g' -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\\"\1\\");/g'`
# Generate 5 or 6 script files from a master script template in
# ${srcdir}/scripttempl/${SCRIPT_NAME}.sh. Which one of the 5 or 6
@@ -71,7 +87,8 @@ if [ "x$SCRIPT_NAME" = "xelf" ]; then
GENERATE_COMBRELOC_SCRIPT=yes
fi
-SEGMENT_SIZE=${SEGMENT_SIZE-${TARGET_PAGE_SIZE}}
+#2.13: SEGMENT_SIZE=${SEGMENT_SIZE-${TARGET_PAGE_SIZE}}
+SEGMENT_SIZE=${SEGMENT_SIZE-${MAXPAGESIZE-${TARGET_PAGE_SIZE}}}
# Determine DATA_ALIGNMENT for the 5 variants, using
# values specified in the emulparams/<emulation>.sh file or default.
@@ -86,7 +103,7 @@ LD_FLAG=r
DATA_ALIGNMENT=${DATA_ALIGNMENT_r}
DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
( echo "/* Script for ld -r: link without relocation */"
- . ${srcdir}/emulparams/${EMULATION_NAME}.sh
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xr
@@ -94,7 +111,7 @@ LD_FLAG=u
DATA_ALIGNMENT=${DATA_ALIGNMENT_u}
CONSTRUCTING=" "
( echo "/* Script for ld -Ur: link w/out relocation, do create constructors */"
- . ${srcdir}/emulparams/${EMULATION_NAME}.sh
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xu
@@ -102,7 +119,7 @@ LD_FLAG=
DATA_ALIGNMENT=${DATA_ALIGNMENT_}
RELOCATING=" "
( echo "/* Default linker script, for normal executables */"
- . ${srcdir}/emulparams/${EMULATION_NAME}.sh
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.x
@@ -110,14 +127,14 @@ LD_FLAG=n
DATA_ALIGNMENT=${DATA_ALIGNMENT_n}
TEXT_START_ADDR=${NONPAGED_TEXT_START_ADDR-${TEXT_START_ADDR}}
( echo "/* Script for -n: mix text and data on same page */"
- . ${srcdir}/emulparams/${EMULATION_NAME}.sh
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xn
LD_FLAG=N
DATA_ALIGNMENT=${DATA_ALIGNMENT_N}
( echo "/* Script for -N: mix text and data on same page; don't align data */"
- . ${srcdir}/emulparams/${EMULATION_NAME}.sh
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xbn
@@ -126,7 +143,7 @@ if test -n "$GENERATE_COMBRELOC_SCRIPT"; then
LD_FLAG=c
COMBRELOC=ldscripts/${EMULATION_NAME}.xc.tmp
( echo "/* Script for -z combreloc: combine and sort reloc sections */"
- . ${srcdir}/emulparams/${EMULATION_NAME}.sh
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xc
rm -f ${COMBRELOC}
@@ -140,7 +157,7 @@ if test -n "$GENERATE_SHLIB_SCRIPT"; then
# Note that TEXT_START_ADDR is set to NONPAGED_TEXT_START_ADDR.
(
echo "/* Script for ld --shared: link shared library */"
- . ${srcdir}/emulparams/${EMULATION_NAME}.sh
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xs
if test -n "$GENERATE_COMBRELOC_SCRIPT"; then
@@ -148,12 +165,37 @@ if test -n "$GENERATE_SHLIB_SCRIPT"; then
DATA_ALIGNMENT=${DATA_ALIGNMENT_sc-${DATA_ALIGNMENT}}
COMBRELOC=ldscripts/${EMULATION_NAME}.xc.tmp
( echo "/* Script for --shared -z combreloc: shared library, combine & sort relocs */"
- . ${srcdir}/emulparams/${EMULATION_NAME}.sh
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xsc
rm -f ${COMBRELOC}
COMBRELOC=
fi
+ unset CREATE_SHLIB
+fi
+
+if test -n "$GENERATE_PIE_SCRIPT"; then
+ LD_FLAG=pie
+ DATA_ALIGNMENT=${DATA_ALIGNMENT_s-${DATA_ALIGNMENT_}}
+ CREATE_PIE=" "
+ # Note that TEXT_START_ADDR is set to NONPAGED_TEXT_START_ADDR.
+ (
+ echo "/* Script for ld -pie: link position independent executable */"
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+ ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xd
+ if test -n "$GENERATE_COMBRELOC_SCRIPT"; then
+ LD_FLAG=cpie
+ DATA_ALIGNMENT=${DATA_ALIGNMENT_sc-${DATA_ALIGNMENT}}
+ COMBRELOC=ldscripts/${EMULATION_NAME}.xc.tmp
+ ( echo "/* Script for -pie -z combreloc: position independent executable, combine & sort relocs */"
+ . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+ ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xdc
+ rm -f ${COMBRELOC}
+ COMBRELOC=
+ fi
+ unset CREATE_PIE
fi
case " $EMULATION_LIBPATH " in
OpenPOWER on IntegriCloud