Allow ld target customiser script to force on disk scripts
Alan Modra
amodra@gmail.com
Fri Jan 17 00:08:00 GMT 2014
On Fri, Jan 17, 2014 at 08:58:50AM +1030, Alan Modra wrote:
> On Thu, Jan 16, 2014 at 12:19:16PM -0700, Tom Tromey wrote:
> > ld/genscripts.sh now prints the environment:
> >
>
> In emulparams/nds32elf.sh we have
>
> # Instruct genscripts.sh not to compile scripts in by COMPILE_IN
> # in order to use external linker scripts files.
> EMULATION_LIBPATH=
>
> That runs foul of the following in genscripts.sh.
>
> # We need it for testsuite.
> set $EMULATION_LIBPATH
>
> So, breakage from a new port.
Mucking with EMULATION_LIBPATH has unwanted side effects. Allow nds32
emulparams scripts to disable compiled-in scripts naturally, by
setting COMPILE_IN=no.
* genscripts.sh (COMPILE_IN): Don't set if already set.
* emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
COMPILE_IN=no.
* emulparams/nds32elf16m.sh: Likewise.
* emulparams/nds32elf_linux.sh: Likewise.
* emultempl/aix.em: Test COMPILE_IN value is "yes".
* emultempl/armcoff.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/generic.em: Likewise.
* emultempl/gld960.em: Likewise.
* emultempl/gld960c.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/lnk960.em: Likewise.
* emultempl/m68kcoff.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/ticoff.em: Likewise.
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
index eeb6d73..d240f99 100755
--- a/ld/genscripts.sh
+++ b/ld/genscripts.sh
@@ -413,8 +413,8 @@ if test -n "$GENERATE_AUTO_IMPORT_SCRIPT"; then
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xa
fi
-case " $EMULATION_LIBPATH " in
- *" ${EMULATION_NAME} "*) COMPILE_IN=true;;
+case "$COMPILE_IN: $EMULATION_LIBPATH " in
+ :*" ${EMULATION_NAME} "*) COMPILE_IN=yes;;
esac
# PR ld/5652:
diff --git a/ld/emulparams/nds32elf.sh b/ld/emulparams/nds32elf.sh
index c12048d..3a27351 100644
--- a/ld/emulparams/nds32elf.sh
+++ b/ld/emulparams/nds32elf.sh
@@ -14,6 +14,5 @@ MAXPAGESIZE=0x20
EMBEDDED=yes
COMMONPAGESIZE=0x20
-# Instruct genscripts.sh not to compile scripts in by COMPILE_IN
-# in order to use external linker scripts files.
-EMULATION_LIBPATH=
+# Use external linker script files.
+COMPILE_IN=no
diff --git a/ld/emulparams/nds32elf16m.sh b/ld/emulparams/nds32elf16m.sh
index 7d3b063..8993a18 100644
--- a/ld/emulparams/nds32elf16m.sh
+++ b/ld/emulparams/nds32elf16m.sh
@@ -14,6 +14,5 @@ MAXPAGESIZE=0x20
EMBEDDED=yes
COMMONPAGESIZE=0x20
-# Instruct genscripts.sh not to compile scripts in by COMPILE_IN
-# in order to use external linker scripts files.
-EMULATION_LIBPATH=
+# Use external linker script files.
+COMPILE_IN=no
diff --git a/ld/emulparams/nds32elf_linux.sh b/ld/emulparams/nds32elf_linux.sh
index 6d89f79..39d3e89 100644
--- a/ld/emulparams/nds32elf_linux.sh
+++ b/ld/emulparams/nds32elf_linux.sh
@@ -31,6 +31,5 @@ fi
GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes
-# Instruct genscripts.sh not to compile scripts in by COMPILE_IN
-# in order to use external linker scripts files.
-EMULATION_LIBPATH=
+# Use external linker script files.
+COMPILE_IN=no
diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em
index aa72ce6..084bb66 100644
--- a/ld/emultempl/aix.em
+++ b/ld/emultempl/aix.em
@@ -1399,7 +1399,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/armcoff.em b/ld/emultempl/armcoff.em
index 20bff14..7c90378 100644
--- a/ld/emultempl/armcoff.em
+++ b/ld/emultempl/armcoff.em
@@ -205,7 +205,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 569c7f7..a4f04f1 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -2017,7 +2017,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/generic.em b/ld/emultempl/generic.em
index dce2bff..53754f0 100644
--- a/ld/emultempl/generic.em
+++ b/ld/emultempl/generic.em
@@ -81,7 +81,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/gld960.em b/ld/emultempl/gld960.em
index 4ba3eec..7e8552f 100644
--- a/ld/emultempl/gld960.em
+++ b/ld/emultempl/gld960.em
@@ -74,7 +74,7 @@ static char *
gld960_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/gld960c.em b/ld/emultempl/gld960c.em
index 1999ea8..39fe1f2 100644
--- a/ld/emultempl/gld960c.em
+++ b/ld/emultempl/gld960c.em
@@ -87,7 +87,7 @@ static char *
gld960_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/linux.em b/ld/emultempl/linux.em
index 61c7df4..5cf5bfa 100644
--- a/ld/emultempl/linux.em
+++ b/ld/emultempl/linux.em
@@ -131,7 +131,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/lnk960.em b/ld/emultempl/lnk960.em
index e556d43..1951c36 100644
--- a/ld/emultempl/lnk960.em
+++ b/ld/emultempl/lnk960.em
@@ -268,7 +268,7 @@ static char *
lnk960_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/m68kcoff.em b/ld/emultempl/m68kcoff.em
index f68866c..f34490d 100644
--- a/ld/emultempl/m68kcoff.em
+++ b/ld/emultempl/m68kcoff.em
@@ -165,7 +165,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/sunos.em b/ld/emultempl/sunos.em
index af11027..14bf5af 100644
--- a/ld/emultempl/sunos.em
+++ b/ld/emultempl/sunos.em
@@ -960,7 +960,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
diff --git a/ld/emultempl/ticoff.em b/ld/emultempl/ticoff.em
index dff1d70..3b952a4 100644
--- a/ld/emultempl/ticoff.em
+++ b/ld/emultempl/ticoff.em
@@ -106,7 +106,7 @@ gld_${EMULATION_NAME}_before_parse(void)
static char *
gld_${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list