This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA:] fix PR ld/16963, missing SEARCH_DIR for non-sysroot cross-builds


bfin, msp, and score all used an extra parameter to genscripts.sh
to select a "customizer_script" different from the standard one
named from the emulation.  Which is why your 2014-05-28 patch caused
http://lists.gnu.org/archive/html/bug-binutils/2014-06/msg00001.html
This patch renames the scripts to avoid the need of a
customizer_script param, tidying them in the process.

	* emulparams/elf32bfin.sh: Rename from bfin.sh.
	* emulparams/elf32bfinfd.sh: Update to suit.
	* emulparams/msp430.sh: Rename from msp430all.sh.  Remove
	MSP430_NAME and msp430X vars.
	* emulparams/msp430X.sh: New.
	* emulparams/score3_elf.sh: Rename from scoreelf.sh.  Remove
	SCORE_NAME and score7_elf ARCH setting.
	* emulparams/score7_elf.sh: New.
	* Makefile.am (eelf32bfin.c, eelf32bfinfd.c): Update dependencies.
	(emsp430.c, emsp430X.c, escore3_elf.c, escore7_elf.c): Likewise.
	* Makefile.in: Regenerate.
	* genscripts.sh: Delete customizer_script param.

diff --git a/ld/Makefile.am b/ld/Makefile.am
index d66801b..24ba3e1 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -942,12 +942,12 @@ eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
   $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
   $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
-eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \
+eelf32bfin.c: $(srcdir)/emulparams/elf32bfin.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/bfin.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
 eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh \
-  $(srcdir)/emulparams/bfin.sh \
+  $(srcdir)/emulparams/elf32bfin.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/bfin.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
@@ -1480,13 +1480,11 @@ emn10300.c: $(srcdir)/emulparams/mn10300.sh \
   $(srcdir)/emulparams/mn10200.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
-emsp430.c: $(srcdir)/emulparams/msp430all.sh \
-  $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
-  ${GEN_DEPENDS}
+emsp430.c: $(srcdir)/emulparams/msp430.sh \
+  $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS}
 
-emsp430X.c: $(srcdir)/emulparams/msp430all.sh \
-  $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
-  ${GEN_DEPENDS}
+emsp430X.c: $(srcdir)/emulparams/msp430.sh $(srcdir)/emulparams/msp430X.sh \
+  $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS}
 
 ends32elf.c: $(srcdir)/emulparams/nds32elf.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
@@ -1586,11 +1584,12 @@ eppcpe.c: $(srcdir)/emulparams/ppcpe.sh \
 eriscix.c: $(srcdir)/emulparams/riscix.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
 
-escore3_elf.c: $(srcdir)/emulparams/scoreelf.sh \
+escore3_elf.c: $(srcdir)/emulparams/score3_elf.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
-escore7_elf.c: $(srcdir)/emulparams/scoreelf.sh \
+escore7_elf.c: $(srcdir)/emulparams/score3_elf.sh \
+  $(srcdir)/emulparams/score7_elf.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
diff --git a/ld/emulparams/bfin.sh b/ld/emulparams/bfin.sh
deleted file mode 100644
index 6c0bb40..0000000
--- a/ld/emulparams/bfin.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-SCRIPT_NAME=elf
-OUTPUT_FORMAT="elf32-bfin"
-TEXT_START_ADDR=0x0
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-TARGET_PAGE_SIZE=0x1000
-ARCH=bfin
-MACHINE=
-TEMPLATE_NAME=elf32
-GENERATE_SHLIB_SCRIPT=yes
-EMBEDDED=yes
-USER_LABEL_PREFIX=_
-EXTRA_EM_FILE=bfin
diff --git a/ld/emulparams/elf32bfin.sh b/ld/emulparams/elf32bfin.sh
new file mode 100644
index 0000000..6c0bb40
--- /dev/null
+++ b/ld/emulparams/elf32bfin.sh
@@ -0,0 +1,12 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-bfin"
+TEXT_START_ADDR=0x0
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+TARGET_PAGE_SIZE=0x1000
+ARCH=bfin
+MACHINE=
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+EMBEDDED=yes
+USER_LABEL_PREFIX=_
+EXTRA_EM_FILE=bfin
diff --git a/ld/emulparams/elf32bfinfd.sh b/ld/emulparams/elf32bfinfd.sh
index 26f8f47..4c96bc9 100644
--- a/ld/emulparams/elf32bfinfd.sh
+++ b/ld/emulparams/elf32bfinfd.sh
@@ -1,4 +1,4 @@
-. ${srcdir}/emulparams/bfin.sh
+. ${srcdir}/emulparams/elf32bfin.sh
 unset STACK_ADDR
 OUTPUT_FORMAT="elf32-bfinfdpic"
 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
diff --git a/ld/emulparams/msp430.sh b/ld/emulparams/msp430.sh
new file mode 100644
index 0000000..b459698
--- /dev/null
+++ b/ld/emulparams/msp430.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# This called by genscripts_extra.sh
+
+SCRIPT_NAME=elf32msp430
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-msp430"
+MACHINE=
+MAXPAGESIZE=1
+EMBEDDED=yes
+
+ARCH=msp:14
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+STACK=0x600
diff --git a/ld/emulparams/msp430X.sh b/ld/emulparams/msp430X.sh
new file mode 100644
index 0000000..fea669b
--- /dev/null
+++ b/ld/emulparams/msp430X.sh
@@ -0,0 +1,8 @@
+. ${srcdir}/emulparams/msp430.sh
+
+ARCH=MSP430x43
+ROM_START=0x02000
+ROM_SIZE=0x0dfe0
+RAM_START=0x10000
+RAM_SIZE=0x30000
+STACK=0x600
diff --git a/ld/emulparams/msp430all.sh b/ld/emulparams/msp430all.sh
deleted file mode 100644
index 1f1eef8..0000000
--- a/ld/emulparams/msp430all.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-# This called by genscripts_extra.sh
-
-MSP430_NAME=${EMULATION_NAME}
-
-SCRIPT_NAME=elf32msp430
-TEMPLATE_NAME=generic
-EXTRA_EM_FILE=genelf
-OUTPUT_FORMAT="elf32-msp430"
-MACHINE=
-MAXPAGESIZE=1
-EMBEDDED=yes
-
-if [ "${MSP430_NAME}" = "msp430" ] ; then
-ARCH=msp:14
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430X" ] ; then
-ARCH=MSP430x43
-ROM_START=0x02000
-ROM_SIZE=0x0dfe0
-RAM_START=0x10000
-RAM_SIZE=0x30000
-STACK=0x600
-fi
diff --git a/ld/emulparams/score3_elf.sh b/ld/emulparams/score3_elf.sh
new file mode 100644
index 0000000..4636cd3
--- /dev/null
+++ b/ld/emulparams/score3_elf.sh
@@ -0,0 +1,33 @@
+MACHINE=
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=scoreelf
+OUTPUT_FORMAT="elf32-bigscore"
+BIG_OUTPUT_FORMAT="elf32-bigscore"
+LITTLE_OUTPUT_FORMAT="elf32-littlescore"
+NO_RELA_RELOCS=yes
+GROUP="-lm -lc -lglsim -lgcc -lstdc++"
+
+TEXT_START_ADDR=0x00000000
+MAXPAGESIZE=256
+NONPAGED_TEXT_START_ADDR=0x0400000
+SHLIB_TEXT_START_ADDR=0x5ffe0000
+OTHER_GOT_SYMBOLS='
+  _gp = ALIGN(16) + 0x3ff0;
+'
+
+OTHER_BSS_START_SYMBOLS='_bss_start__ = . + ALIGN(4);'
+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+SDATA_START_SYMBOLS='_sdata_begin = . ;'
+OTHER_BSS_SYMBOLS='
+  _bss_start = ALIGN(4) ;
+'
+# This sets the stack to the top of the simulator memory (2^19 bytes).
+STACK_ADDR=0x8000000
+
+ARCH=score3
+MACHINE=
+ENTRY=_start
+EMBEDDED=yes
+GENERATE_SHLIB_SCRIPT=yes
diff --git a/ld/emulparams/score7_elf.sh b/ld/emulparams/score7_elf.sh
new file mode 100644
index 0000000..9b7ce9b
--- /dev/null
+++ b/ld/emulparams/score7_elf.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/score3_elf.sh
+ARCH=score7
diff --git a/ld/emulparams/scoreelf.sh b/ld/emulparams/scoreelf.sh
deleted file mode 100644
index 3a7ed31..0000000
--- a/ld/emulparams/scoreelf.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-MACHINE=
-SCRIPT_NAME=elf
-TEMPLATE_NAME=elf32
-EXTRA_EM_FILE=scoreelf
-OUTPUT_FORMAT="elf32-bigscore"
-BIG_OUTPUT_FORMAT="elf32-bigscore"
-LITTLE_OUTPUT_FORMAT="elf32-littlescore"
-NO_RELA_RELOCS=yes
-GROUP="-lm -lc -lglsim -lgcc -lstdc++"
-
-TEXT_START_ADDR=0x00000000
-MAXPAGESIZE=256
-NONPAGED_TEXT_START_ADDR=0x0400000
-SHLIB_TEXT_START_ADDR=0x5ffe0000
-OTHER_GOT_SYMBOLS='
-  _gp = ALIGN(16) + 0x3ff0;
-'
-
-OTHER_BSS_START_SYMBOLS='_bss_start__ = . + ALIGN(4);'
-OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
-DATA_START_SYMBOLS='_fdata = . ;'
-SDATA_START_SYMBOLS='_sdata_begin = . ;'
-OTHER_BSS_SYMBOLS='
-  _bss_start = ALIGN(4) ;
-'
-# This sets the stack to the top of the simulator memory (2^19 bytes).
-STACK_ADDR=0x8000000
-
-SCORE_NAME=${EMULATION_NAME}
-if [ "${SCORE_NAME}" = "score3_elf" ] ; then
-ARCH=score3
-fi
-
-if [ "${SCORE_NAME}" = "score7_elf" ] ; then
-ARCH=score7
-fi
-
-MACHINE=
-ENTRY=_start
-EMBEDDED=yes
-GENERATE_SHLIB_SCRIPT=yes
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
index 4436070..499607a 100755
--- a/ld/genscripts.sh
+++ b/ld/genscripts.sh
@@ -33,8 +33,7 @@
 #          enable_initfini_array \
 #          this_emulation \
 # optional:
-#          tool_dir \
-#          customizer_script
+#          tool_dir
 #
 # Sample usage:
 #
@@ -93,14 +92,9 @@ use_sysroot=$1
 ENABLE_INITFINI_ARRAY=$2
 EMULATION_NAME=$3
 TOOL_LIB=$4
-CUSTOMIZER_SCRIPT=$5
-
-if [ "x${CUSTOMIZER_SCRIPT}" = "x" ] ; then
-  CUSTOMIZER_SCRIPT=${EMULATION_NAME}
-fi
-CUSTOMIZER_SCRIPT="${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh"
 
 # Include the emulation-specific parameters:
+CUSTOMIZER_SCRIPT="${srcdir}/emulparams/${EMULATION_NAME}.sh"
 . ${CUSTOMIZER_SCRIPT}
 
 if test -d ldscripts; then

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]