From cef5647a1542ac8520df07f15216a35ee35881ac Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Thu, 29 Nov 2018 22:19:40 -0500 Subject: base cross compiler files --- arm-stmos/binutils-files/ld/Makefile.am | 2001 ++++++++++++++++++++ arm-stmos/binutils-files/ld/configure.tgt | 868 +++++++++ .../binutils-files/ld/emulparams/armelf_stmos.sh | 37 + 3 files changed, 2906 insertions(+) create mode 100644 arm-stmos/binutils-files/ld/Makefile.am create mode 100644 arm-stmos/binutils-files/ld/configure.tgt create mode 100644 arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh (limited to 'arm-stmos/binutils-files/ld') diff --git a/arm-stmos/binutils-files/ld/Makefile.am b/arm-stmos/binutils-files/ld/Makefile.am new file mode 100644 index 0000000..414f948 --- /dev/null +++ b/arm-stmos/binutils-files/ld/Makefile.am @@ -0,0 +1,2001 @@ +## Process this file with automake to generate Makefile.in +# +# Copyright (C) 2012-2018 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING3. If not see +# . +# + +AUTOMAKE_OPTIONS = dejagnu no-texinfo.tex no-dist foreign info-in-builddir +ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd +TEXINFO_TEX = ../texinfo/texinfo.tex + +SUBDIRS = po + +tooldir = $(exec_prefix)/$(target_alias) + +YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi` +YFLAGS = -d +LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi` + +# Automake 1.10+ disables lex and yacc output file regeneration if +# maintainer mode is disabled. Avoid this. +am__skiplex = +am__skipyacc = + +ELF_CLFAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \ + -DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \ + -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ +WARN_CFLAGS = @WARN_CFLAGS@ +NO_WERROR = @NO_WERROR@ +AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) + +# Conditionally enable the plugin interface. +if ENABLE_PLUGINS +PLUGIN_C = plugin.c +PLUGIN_H = plugin.h +PLUGIN_OBJECT = plugin.@OBJEXT@ +PLUGIN_CFLAGS = -DENABLE_PLUGINS +else +PLUGIN_C = +PLUGIN_H = +PLUGIN_OBJECT = +PLUGIN_CFLAGS = +endif + +# We put the scripts in the directory $(scriptdir)/ldscripts. +# We can't put the scripts in $(datadir) because the SEARCH_DIR +# directives need to be different for native and cross linkers. +scriptdir = $(tooldir)/lib + +EMUL = @EMUL@ +EMULATION_OFILES = @EMULATION_OFILES@ +EMUL_EXTRA_OFILES = @EMUL_EXTRA_OFILES@ + + +# Search path to override the default search path for -lfoo libraries. +# If LIB_PATH is empty, the ones in the script (if any) are left alone. +# (The default is usually /lib:/usr/lib:/usr/local/lib, unless building +# a cross-linker, in which case the default is empty. See genscripts.sh.) +# Otherwise, they are replaced with the ones given in LIB_PATH, +# which may have the form: LIB_PATH=/lib:/usr/local/lib. This can be set +# when the linker is configured via the --with-lib-path configure switch. +LIB_PATH = @LIB_PATH@ + +BASEDIR = $(srcdir)/.. +BFDDIR = $(BASEDIR)/bfd +INCDIR = $(BASEDIR)/include + +# What version of the manual to build +DOCVER = gen + +# Options to extract the man page from ld.texi +MANCONF = -Dman + +TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) + +POD2MAN = pod2man --center="GNU Development Tools" \ + --release="binutils-$(VERSION)" --section=1 + +# Setup the testing framework, if you have one +EXPECT = expect +RUNTEST = runtest +RUNTESTFLAGS = + +CC_FOR_TARGET = ` \ + if [ -f $$r/../gcc/xgcc ] ; then \ + if [ -f $$r/../newlib/Makefile ] ; then \ + echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ + else \ + echo $$r/../gcc/xgcc -B$$r/../gcc/; \ + fi; \ + else \ + if [ "@host@" = "@target@" ] ; then \ + echo $(CC); \ + else \ + echo gcc | sed '$(transform)'; \ + fi; \ + fi` + +CXX_FOR_TARGET = ` \ + if [ -f $$r/../gcc/g++ ] ; then \ + if [ -f $$r/../newlib/Makefile ] ; then \ + echo $$r/../gcc/g++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ + else \ + echo $$r/../gcc/g++ -B$$r/../gcc/; \ + fi; \ + elif [ -f $$r/../gcc/xg++ ] ; then \ + if [ -f $$r/../newlib/Makefile ] ; then \ + echo $$r/../gcc/xg++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ + else \ + echo $$r/../gcc/xg++ -B$$r/../gcc/; \ + fi; \ + else \ + if [ "@host@" = "@target@" ] ; then \ + echo $(CXX); \ + else \ + echo g++ | sed '$(transform)'; \ + fi; \ + fi` + +# Strip out sanitization options as we want to test building binaries without any extra paraphernalia +CFLAGS_FOR_TARGET = `echo $(CFLAGS) | sed -e 's/-fsanitize=address//g' -e 's/-fsanitize=undefined//g'` +CXXFLAGS_FOR_TARGET = `echo $(CXXFLAGS) | sed -e 's/-fsanitize=address//g' -e 's/-fsanitize=undefined//g'` + +transform = s/^ld-new$$/$(installed_linker)/;@program_transform_name@ +bin_PROGRAMS = ld-new +info_TEXINFOS = ld.texi +ld_TEXINFOS = configdoc.texi +noinst_TEXINFOS = ldint.texi +man_MANS = ld.1 + +AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \ + -I $(top_srcdir)/../libiberty +TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \ + -I $(top_srcdir)/../libiberty + +AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) \ + @INCINTL@ $(HDEFINES) $(CFLAGS) $(PLUGIN_CFLAGS) \ + -DLOCALEDIR="\"$(datadir)/locale\"" + +BFDLIB = ../bfd/libbfd.la +LIBIBERTY = ../libiberty/libiberty.a + +ALL_EMULATION_SOURCES = \ + eaix5ppc.c \ + eaix5rs6.c \ + eaixppc.c \ + eaixrs6.c \ + ealpha.c \ + ealphavms.c \ + earcv2elf.c \ + earcv2elfx.c \ + earcelf.c \ + earcelf_prof.c \ + earclinux.c \ + earclinux_nps.c \ + earclinux_prof.c \ + earm_wince_pe.c \ + earmelf.c \ + earmelf_stmos.c \ + earmelf_fbsd.c \ + earmelf_fuchsia.c \ + earmelf_linux.c \ + earmelf_linux_eabi.c \ + earmelf_linux_fdpiceabi.c \ + earmelf_nacl.c \ + earmelf_nbsd.c \ + earmelf_phoenix.c \ + earmelf_vxworks.c \ + earmelfb.c \ + earmelfb_fbsd.c \ + earmelfb_fuchsia.c \ + earmelfb_linux.c \ + earmelfb_linux_eabi.c \ + earmelfb_linux_fdpiceabi.c \ + earmelfb_nacl.c \ + earmelfb_nbsd.c \ + earmnto.c \ + earmpe.c \ + earmsymbian.c \ + eavr1.c \ + eavr2.c \ + eavr25.c \ + eavr3.c \ + eavr31.c \ + eavr35.c \ + eavr4.c \ + eavr5.c \ + eavr51.c \ + eavr6.c \ + eavrxmega1.c \ + eavrxmega2.c \ + eavrxmega3.c \ + eavrxmega4.c \ + eavrxmega5.c \ + eavrxmega6.c \ + eavrxmega7.c \ + eavrtiny.c \ + ecrisaout.c \ + ecriself.c \ + ecrislinux.c \ + ed10velf.c \ + ed30v_e.c \ + ed30v_o.c \ + ed30velf.c \ + eelf32_dlx.c \ + eelf32_sparc.c \ + eelf32_sparc_sol2.c \ + eelf32_sparc_vxworks.c \ + eelf32_spu.c \ + eelf32_tic6x_be.c \ + eelf32_tic6x_le.c \ + eelf32_tic6x_linux_be.c \ + eelf32_tic6x_linux_le.c \ + eelf32_tic6x_elf_be.c \ + eelf32_tic6x_elf_le.c \ + eelf32am33lin.c \ + eelf32bfin.c \ + eelf32bfinfd.c \ + eelf32cr16.c \ + eelf32cr16c.c \ + eelf32crx.c \ + eelf32epiphany.c \ + eelf32epiphany_4x4.c \ + eelf32fr30.c \ + eelf32frv.c \ + eelf32frvfd.c \ + eelf32ft32.c \ + eelf32ip2k.c \ + eelf32iq10.c \ + eelf32iq2000.c \ + eelf32lm32.c \ + eelf32lm32fd.c \ + eelf32lppc.c \ + eelf32lppclinux.c \ + eelf32lppcnto.c \ + eelf32lppcsim.c \ + eelf32m32c.c \ + eelf32mb_linux.c \ + eelf32mbel_linux.c \ + eelf32mcore.c \ + eelf32mep.c \ + eelf32metag.c \ + eelf32microblazeel.c \ + eelf32microblaze.c \ + eelf32moxie.c \ + emoxiebox.c \ + eelf32mt.c \ + eelf32or1k.c \ + eelf32or1k_linux.c \ + eelf32ppc.c \ + eelf32ppc_fbsd.c \ + eelf32ppclinux.c \ + eelf32ppcnto.c \ + eelf32ppcsim.c \ + eelf32ppcvxworks.c \ + eelf32ppcwindiss.c \ + eelf32lriscv.c \ + eelf32lriscv_ilp32f.c \ + eelf32lriscv_ilp32.c \ + eelf32rl78.c \ + eelf32rx.c \ + eelf32tilegx.c \ + eelf32tilegx_be.c \ + eelf32tilepro.c \ + eelf32vax.c \ + eelf32visium.c \ + eelf32xc16x.c \ + eelf32xc16xl.c \ + eelf32xc16xs.c \ + eelf32xstormy16.c \ + eelf32xtensa.c \ + eelf_i386.c \ + eelf_i386_be.c \ + eelf_i386_chaos.c \ + eelf_i386_fbsd.c \ + eelf_i386_ldso.c \ + eelf_i386_nacl.c \ + eelf_i386_sol2.c \ + eelf_i386_vxworks.c \ + eelf_iamcu.c \ + eelf_s390.c \ + eh8300elf.c \ + eh8300elf_linux.c \ + eh8300helf.c \ + eh8300helf_linux.c \ + eh8300hnelf.c \ + eh8300self.c \ + eh8300self_linux.c \ + eh8300snelf.c \ + eh8300sxelf.c \ + eh8300sxelf_linux.c \ + eh8300sxnelf.c \ + ehppaelf.c \ + ehppalinux.c \ + ehppanbsd.c \ + ehppaobsd.c \ + ei386beos.c \ + ei386bsd.c \ + ei386go32.c \ + ei386lynx.c \ + ei386moss.c \ + ei386msdos.c \ + ei386nto.c \ + ei386pe.c \ + ei386pe_posix.c \ + em32relf.c \ + em32relf_linux.c \ + em32rlelf.c \ + em32rlelf_linux.c \ + em68hc11elf.c \ + em68hc11elfb.c \ + em68hc12elf.c \ + em68hc12elfb.c \ + em68kelf.c \ + em68kelfnbsd.c \ + em9s12zelf.c \ + emcorepe.c \ + emn10200.c \ + emn10300.c \ + emsp430elf.c \ + emsp430X.c \ + ends32elf.c \ + ends32elf16m.c \ + ends32elf_linux.c \ + ends32belf.c \ + ends32belf16m.c \ + ends32belf_linux.c \ + ens32knbsd.c \ + enios2elf.c \ + enios2linux.c \ + epc532macha.c \ + epdp11.c \ + epjelf.c \ + epjlelf.c \ + eppclynx.c \ + eppcmacos.c \ + eppcpe.c \ + epruelf.c \ + escore3_elf.c \ + escore7_elf.c \ + esh.c \ + eshelf.c \ + eshelf_fd.c \ + eshelf_linux.c \ + eshelf_nbsd.c \ + eshelf_nto.c \ + eshelf_uclinux.c \ + eshelf_vxworks.c \ + eshl.c \ + eshlelf.c \ + eshlelf_fd.c \ + eshlelf_linux.c \ + eshlelf_nbsd.c \ + eshlelf_nto.c \ + eshlelf_vxworks.c \ + eshpe.c \ + etic30aout.c \ + etic30coff.c \ + etic3xcoff.c \ + etic3xcoff_onchip.c \ + etic4xcoff.c \ + etic54xcoff.c \ + etic80coff.c \ + ev850.c \ + ev850_rh850.c \ + evanilla.c \ + evaxnbsd.c \ + exgateelf.c \ + ez80.c \ + ez8001.c \ + ez8002.c + +ALL_EMULATIONS = $(ALL_EMULATION_SOURCES:.c=.@OBJEXT@) + +ALL_64_EMULATION_SOURCES = \ + eaarch64elf.c \ + eaarch64elf32.c \ + eaarch64elfb.c \ + eaarch64elf32b.c \ + eaarch64cloudabi.c \ + eaarch64cloudabib.c \ + eaarch64fbsd.c \ + eaarch64fbsdb.c \ + eaarch64linux.c \ + eaarch64linuxb.c \ + eaarch64linux32.c \ + eaarch64linux32b.c \ + eelf32_x86_64.c \ + eelf32_x86_64_nacl.c \ + eelf32b4300.c \ + eelf32bmip.c \ + eelf32bmipn32.c \ + eelf32bsmip.c \ + eelf32btsmip.c \ + eelf32btsmip_fbsd.c \ + eelf32btsmipn32.c \ + eelf32btsmipn32_fbsd.c \ + eelf32ebmip.c \ + eelf32ebmipvxworks.c \ + eelf32elmip.c \ + eelf32elmipvxworks.c \ + eelf32l4300.c \ + eelf32lmip.c \ + eelf32lr5900.c \ + eelf32lr5900n32.c \ + eelf32lsmip.c \ + eelf32ltsmip.c \ + eelf32ltsmip_fbsd.c \ + eelf32ltsmipn32.c \ + eelf32ltsmipn32_fbsd.c \ + eelf32mipswindiss.c \ + eelf64_aix.c \ + eelf64_ia64.c \ + eelf64_ia64_fbsd.c \ + eelf64_ia64_vms.c \ + eelf64_s390.c \ + eelf64_sparc.c \ + eelf64_sparc_fbsd.c \ + eelf64_sparc_sol2.c \ + eelf64alpha.c \ + eelf64alpha_fbsd.c \ + eelf64alpha_nbsd.c \ + eelf64bmip.c \ + eelf64btsmip.c \ + eelf64btsmip_fbsd.c \ + eelf64hppa.c \ + eelf64lppc.c \ + eelf64lriscv.c \ + eelf64lriscv_lp64f.c \ + eelf64lriscv_lp64.c \ + eelf64ltsmip.c \ + eelf64ltsmip_fbsd.c \ + eelf64mmix.c \ + eelf64ppc.c \ + eelf64ppc_fbsd.c \ + eelf64rdos.c \ + eelf64tilegx.c \ + eelf64tilegx_be.c \ + eelf_l1om.c \ + eelf_l1om_fbsd.c \ + eelf_k1om.c \ + eelf_k1om_fbsd.c \ + eelf_x86_64.c \ + eelf_x86_64_cloudabi.c \ + eelf_x86_64_fbsd.c \ + eelf_x86_64_nacl.c \ + eelf_x86_64_sol2.c \ + ehppa64linux.c \ + ei386pep.c \ + emmo.c + +ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@) + +ALL_EMUL_EXTRA_OFILES = \ + deffilep.@OBJEXT@ \ + pe-dll.@OBJEXT@ + +ALL_64_EMUL_EXTRA_OFILES = \ + pep-dll.@OBJEXT@ + +CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \ + ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \ + mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c \ + $(PLUGIN_C) ldbuildid.c + +HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \ + ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \ + ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h \ + elf-hints-local.h $(PLUGIN_H) ldbuildid.h + +GENERATED_CFILES = ldgram.c ldlex.c deffilep.c +GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h + +# Require an early dependency on the generated headers, as the dependency +# tracking will not cause them to be built beforehand. +BUILT_SOURCES = $(GENERATED_HFILES) + +OFILES = ldgram.@OBJEXT@ ldlex-wrapper.@OBJEXT@ lexsup.@OBJEXT@ ldlang.@OBJEXT@ \ + mri.@OBJEXT@ ldctor.@OBJEXT@ ldmain.@OBJEXT@ $(PLUGIN_OBJECT) \ + ldwrite.@OBJEXT@ ldexp.@OBJEXT@ ldemul.@OBJEXT@ ldver.@OBJEXT@ ldmisc.@OBJEXT@ \ + ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} \ + ldbuildid.@OBJEXT@ + +STAGESTUFF = *.@OBJEXT@ ldscripts/* e*.c + +# Disable -Werror, if it has been enabled, since old versions of bison/ +# yacc will produce working code which contain compile time warnings. +ldgram.@OBJEXT@: ldgram.c +if am__fastdepCC + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR) + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +else +if AMDEP + source='ldgram.c' object='$@' libtool=no @AMDEPBACKSLASH@ + DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +endif + $(COMPILE) -c `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR) +endif + +ldlex-wrapper.@OBJEXT@: ldlex-wrapper.c ldlex.c +if am__fastdepCC + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/ldlex-wrapper.c $(NO_WERROR) + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +else +if AMDEP + source='ldlex-wrapper.c' object='$@' libtool=no @AMDEPBACKSLASH@ + DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +endif + $(COMPILE) -c $(srcdir)/ldlex-wrapper.c $(NO_WERROR) +endif + +deffilep.@OBJEXT@: deffilep.c +if am__fastdepCC + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR) + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +else +if AMDEP + source='deffilep.c' object='$@' libtool=no @AMDEPBACKSLASH@ + DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +endif + $(COMPILE) -c `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR) +endif + +SRC_POTFILES = $(CFILES) $(HFILES) +BLD_POTFILES = $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES) + +po/SRC-POTFILES.in: @MAINT@ Makefile + for f in $(SRC_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \ + && mv $@-tmp $(srcdir)/po/SRC-POTFILES.in + +po/BLD-POTFILES.in: @MAINT@ Makefile $(BLD_POTFILES) + for f in $(BLD_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \ + && mv $@-tmp $(srcdir)/po/BLD-POTFILES.in + +ldmain.@OBJEXT@: ldmain.c config.status +if am__fastdepCC + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \ + -DDEFAULT_EMULATION='"$(EMUL)"' \ + -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \ + -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \ + $(srcdir)/ldmain.c + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +else +if AMDEP + source='ldmain.c' object='$@' libtool=no @AMDEPBACKSLASH@ + DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +endif + $(COMPILE) -c -DDEFAULT_EMULATION='"$(EMUL)"' \ + -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \ + -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \ + $(srcdir)/ldmain.c +endif + +ldfile.@OBJEXT@: ldfile.c config.status +if am__fastdepCC + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \ + -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \ + $(srcdir)/ldfile.c + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +else +if AMDEP + source='ldfile.c' object='$@' libtool=no @AMDEPBACKSLASH@ + DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +endif + $(COMPILE) -c -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' \ + -DTOOLBINDIR='"$(tooldir)/bin"' \ + $(srcdir)/ldfile.c +endif + +eelf32_spu.@OBJEXT@: eelf32_spu.c +if am__fastdepCC + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \ + -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" eelf32_spu.c + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +else +if AMDEP + source='eelf32_spu.c' object='$@' libtool=no @AMDEPBACKSLASH@ + DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +endif + $(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \ + eelf32_spu.c +endif + +ldemul-list.h: Makefile + (echo "/* This file is automatically generated. DO NOT EDIT! */";\ + for f in `echo " " ${EMULATION_OFILES} "" \ + | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \ + echo "extern ld_emulation_xfer_type ld_$${f}_emulation;"; \ + done;\ + echo "";\ + echo "#define EMULATION_LIST \\";\ + for f in `echo " " ${EMULATION_OFILES} "" \ + | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \ + echo " &ld_$${f}_emulation, \\"; \ + done;\ + echo " 0") >ldemul-tmp.h + mv ldemul-tmp.h ldemul-list.h + +stringify.sed: ${srcdir}/emultempl/$(STRINGIFY) + cp ${srcdir}/emultempl/$(STRINGIFY) stringify.sed + +# These all start with e so 'make clean' can find them. + +GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ @enable_initfini_array@ +GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed +ELF_DEPS = $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/elf-generic.em $(srcdir)/scripttempl/DWARF.sc +ELF_GEN_DEPS = $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em $(srcdir)/emultempl/genelf.em $(srcdir)/scripttempl/DWARF.sc +ELF_X86_DEPS = $(ELF_DEPS) $(srcdir)/emulparams/plt_unwind.sh \ + $(srcdir)/emulparams/extern_protected_data.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emulparams/reloc_overflow.sh \ + $(srcdir)/emulparams/call_nop.sh \ + $(srcdir)/emulparams/cet.sh + +@TDIRS@ + +# We can't use pattern rules as we don't want to depend on GNU +# make, or else these rules could have been expressed in one +# two-liner: 'e%.c:' and ' ${GENSCRIPTS} $* "$(tdir_$*)"'. +# (The recursive variable expansion is portable.) + +run-genscripts: + ${GENSCRIPTS} $(script_target) "$($(script_tdirname))" + +.PHONY: run-genscripts + +$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): + base=`echo $@ | sed -e 's,e\(.*\).c,\1,'`; \ + $(MAKE) run-genscripts "script_target=$$base" "script_tdirname=tdir_$$base" + +eaix5ppc.c: $(srcdir)/emulparams/aix5ppc.sh \ + $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} + +eaix5rs6.c: $(srcdir)/emulparams/aix5rs6.sh \ + $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} + +eaixppc.c: $(srcdir)/emulparams/aixppc.sh \ + $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} + +eaixrs6.c: $(srcdir)/emulparams/aixrs6.sh \ + $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} + +ealpha.c: $(srcdir)/emulparams/alpha.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/alpha.sc ${GEN_DEPENDS} + +ealphavms.c: $(srcdir)/emulparams/alphavms.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/vms.em \ + $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/alphavms.sc ${GEN_DEPENDS} + +earcv2elf.c: $(srcdir)/emulparams/arcv2elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elfarcv2.sc ${GEN_DEPENDS} + +earcv2elfx.c: $(srcdir)/emulparams/arcv2elfx.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elfarcv2.sc ${GEN_DEPENDS} + +earcelf.c: $(srcdir)/emulparams/arcelf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elfarc.sc ${GEN_DEPENDS} + +earcelf_prof.c: $(srcdir)/emulparams/arcelf_prof.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elfarc.sc ${GEN_DEPENDS} + +#for linux on arc +earclinux.c: $(srcdir)/emulparams/arclinux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/arclinux.em \ + $(srcdir)/scripttempl/arclinux.sc ${GEN_DEPENDS} + +earclinux_nps.c: $(srcdir)/emulparams/arclinux_nps.sh \ + $(srcdir)/emulparams/arc-nps.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/arclinux.em \ + $(srcdir)/scripttempl/arclinux.sc ${GEN_DEPENDS} + +earclinux_prof.c: $(srcdir)/emulparams/arclinux_prof.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/arclinux.em \ + $(srcdir)/scripttempl/arclinux.sc ${GEN_DEPENDS} + +earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} + +earmelf.c: $(srcdir)/emulparams/armelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_stmos.c: $(srcdir)/emulparams/armelf_stmos.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \ + $(srcdir)/emulparams/armelf.sh $(srcdir)/emulparams/elf_fbsd.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_fuchsia.c: $(srcdir)/emulparams/armelf_fuchsia.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_linux_fdpiceabi.c: $(srcdir)/emulparams/armelf_linux_fdpiceabi.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \ + $(srcdir)/emulparams/armelf_linux_eabi.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(srcdir)/emulparams/elf_nacl.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \ + $(srcdir)/emulparams/armelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_phoenix.c: $(srcdir)/emulparams/armelf_phoenix.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \ + $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \ + $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \ + $(srcdir)/emulparams/armelf_fbsd.sh \ + $(srcdir)/emulparams/armelf.sh $(srcdir)/emulparams/elf_fbsd.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelfb_fuchsia.c: $(srcdir)/emulparams/armelfb_fuchsia.sh \ + $(srcdir)/emulparams/armelf_fuchsia.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelfb_linux_eabi.c: $(srcdir)/emulparams/armelfb_linux_eabi.sh \ + $(srcdir)/emulparams/armelf_linux_eabi.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelfb_linux_fdpiceabi.c: $(srcdir)/emulparams/armelfb_linux_fdpiceabi.sh \ + $(srcdir)/emulparams/armelf_linux_fdpiceabi.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \ + $(srcdir)/emulparams/armelf_nacl.sh \ + $(srcdir)/emulparams/armelf_linux_eabi.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(srcdir)/emulparams/elf_nacl.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh \ + $(srcdir)/emulparams/armelf_nbsd.sh \ + $(srcdir)/emulparams/armelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmnto.c: $(srcdir)/emulparams/armnto.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +earmpe.c: $(srcdir)/emulparams/armpe.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} + +earmsymbian.c: $(srcdir)/emulparams/armsymbian.sh \ + $(srcdir)/emulparams/armelf.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/armbpabi.sc \ + ${GEN_DEPENDS} + +eavr1.c: $(srcdir)/emulparams/avr1.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr2.c: $(srcdir)/emulparams/avr2.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr25.c: $(srcdir)/emulparams/avr25.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr3.c: $(srcdir)/emulparams/avr3.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr31.c: $(srcdir)/emulparams/avr31.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr35.c: $(srcdir)/emulparams/avr35.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr4.c: $(srcdir)/emulparams/avr4.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr5.c: $(srcdir)/emulparams/avr5.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr51.c: $(srcdir)/emulparams/avr51.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavr6.c: $(srcdir)/emulparams/avr6.sh $(srcdir)/emultempl/avrelf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \ + $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavrxmega2.c: $(srcdir)/emulparams/avrxmega2.sh \ + $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavrxmega3.c: $(srcdir)/emulparams/avrxmega3.sh \ + $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavrxmega4.c: $(srcdir)/emulparams/avrxmega4.sh \ + $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavrxmega5.c: $(srcdir)/emulparams/avrxmega5.sh \ + $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavrxmega6.c: $(srcdir)/emulparams/avrxmega6.sh \ + $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavrxmega7.c: $(srcdir)/emulparams/avrxmega7.sh \ + $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +eavrtiny.c: $(srcdir)/emulparams/avrtiny.sh \ + $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \ + ${GEN_DEPENDS} + +ecrisaout.c: $(srcdir)/emulparams/crisaout.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/crisaout.sc ${GEN_DEPENDS} + +ecriself.c: $(srcdir)/emulparams/criself.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ecrislinux.c: $(srcdir)/emulparams/crislinux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ed10velf.c: $(srcdir)/emulparams/d10velf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elfd10v.sc ${GEN_DEPENDS} + +ed30v_e.c: $(srcdir)/emulparams/d30v_e.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS} + +ed30v_o.c: $(srcdir)/emulparams/d30v_o.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS} + +ed30velf.c: $(srcdir)/emulparams/d30velf.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS} + +eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS} + +eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32_sparc_sol2.c: $(srcdir)/emulparams/elf32_sparc_sol2.sh \ + $(srcdir)/emulparams/elf32_sparc.sh \ + $(srcdir)/emulparams/solaris2.sh \ + $(srcdir)/emultempl/solaris2.em $(ELF_DEPS) \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \ + $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \ + $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \ + $(srcdir)/emultempl/spu_ovl.@OBJEXT@_c $(srcdir)/emultempl/spu_icache.@OBJEXT@_c \ + ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_ovl.S + if ../gas/as-new --version \ + | grep 'target.*spu' >/dev/null 2>/dev/null; then \ + cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s; \ + ../gas/as-new -o spu_ovl.@OBJEXT@ spu_ovl.s; \ + ../binutils/bin2c $@; \ + fi +$(srcdir)/emultempl/spu_icache.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_icache.S + if ../gas/as-new --version \ + | grep 'target.*spu' >/dev/null 2>/dev/null; then \ + cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_icache.S spu_icache.s; \ + ../gas/as-new -o spu_icache.@OBJEXT@ spu_icache.s; \ + ../binutils/bin2c $@; \ + fi +eelf32_tic6x_be.c: $(srcdir)/emulparams/elf32_tic6x_be.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ + ${GEN_DEPENDS} + +eelf32_tic6x_elf_be.c: $(srcdir)/emulparams/elf32_tic6x_elf_be.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ + ${GEN_DEPENDS} + +eelf32_tic6x_elf_le.c: $(srcdir)/emulparams/elf32_tic6x_elf_le.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ + ${GEN_DEPENDS} + +eelf32_tic6x_le.c: $(srcdir)/emulparams/elf32_tic6x_le.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ + ${GEN_DEPENDS} + +eelf32_tic6x_linux_be.c: $(srcdir)/emulparams/elf32_tic6x_linux_be.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ + ${GEN_DEPENDS} + +eelf32_tic6x_linux_le.c: $(srcdir)/emulparams/elf32_tic6x_linux_le.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ + ${GEN_DEPENDS} + +eelf32am33lin.c: $(srcdir)/emulparams/elf32am33lin.sh \ + $(srcdir)/emulparams/elf32am33lin.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +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/elf32bfin.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/bfin.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh \ + $(srcdir)/emulparams/elf32bfin.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/bfin.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \ + $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) $(srcdir)/emultempl/irix.em \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32btsmip.c: $(srcdir)/emulparams/elf32btsmip.sh \ + $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32btsmip_fbsd.c: $(srcdir)/emulparams/elf32btsmip_fbsd.sh \ + $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32btsmipn32_fbsd.c: $(srcdir)/emulparams/elf32btsmipn32_fbsd.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32cr16.c: $(srcdir)/emulparams/elf32cr16.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/cr16elf.em \ + $(srcdir)/scripttempl/elf32cr16.sc ${GEN_DEPENDS} + +eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS} + +eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \ + $(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS} + +eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \ + $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ebmipvxworks.c: $(srcdir)/emulparams/elf32ebmipvxworks.sh \ + $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emulparams/vxworks.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \ + $(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \ + $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32elmipvxworks.c: $(srcdir)/emulparams/elf32elmipvxworks.sh \ + $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emulparams/vxworks.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \ + $(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32lr5900.c: $(srcdir)/emulparams/elf32lr5900.sh \ + $(srcdir)/emulparams/elf32bmip.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32lr5900n32.c: $(srcdir)/emulparams/elf32lr5900n32.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32epiphany.c: $(srcdir)/emulparams/elf32epiphany.sh \ + $(ELF_DEPS) ${GEN_DEPENDS} + +eelf32epiphany_4x4.c: $(srcdir)/emulparams/elf32epiphany_4x4.sh \ + $(srcdir)/emultempl/elf32.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/epiphany_4x4.sc ${GEN_DEPENDS} + +eelf32fr30.c: $(srcdir)/emulparams/elf32fr30.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32frv.c: $(srcdir)/emulparams/elf32frv.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \ + $(srcdir)/emulparams/elf32frv.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ft32.c: $(srcdir)/emulparams/elf32ft32.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ip2k.c: $(srcdir)/emulparams/elf32ip2k.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS} + +eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS} + +eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \ + $(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \ + $(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \ + $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32lppc.c: $(srcdir)/emulparams/elf32lppc.sh \ + $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/elf32ppc.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32lppclinux.c: $(srcdir)/emulparams/elf32lppclinux.sh \ + $(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \ + $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \ + $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32lppcsim.c: $(srcdir)/emulparams/elf32lppcsim.sh \ + $(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \ + $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32lriscv.c: $(srcdir)/emulparams/elf32lriscv.sh \ + $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32lriscv_ilp32f.c: $(srcdir)/emulparams/elf32lriscv_ilp32f.sh \ + $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32lriscv_ilp32.c: $(srcdir)/emulparams/elf32lriscv_ilp32.sh \ + $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \ + $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \ + $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32ltsmip_fbsd.c: $(srcdir)/emulparams/elf32ltsmip_fbsd.sh \ + $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \ + $(srcdir)/emulparams/elf32btsmipn32.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ltsmipn32_fbsd.c: $(srcdir)/emulparams/elf32ltsmipn32_fbsd.sh \ + $(srcdir)/emulparams/elf32btsmipn32.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32mbel_linux.c: $(srcdir)/emulparams/elf32mbel_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS} + +eelf32metag.c: $(srcdir)/emulparams/elf32metag.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/metagelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32microblazeel.c: $(srcdir)/emulparams/elf32microblazeel.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS} + +eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS} + +eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +emoxiebox.c: $(srcdir)/emulparams/moxiebox.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32or1k.c: $(srcdir)/emulparams/elf32or1k.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32or1k_linux.c: $(srcdir)/emulparams/elf32or1k_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \ + $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ppc_fbsd.c: $(srcdir)/emulparams/elf32ppc_fbsd.sh \ + $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \ + $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \ + $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \ + $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ppcvxworks.c: $(srcdir)/emulparams/elf32ppcvxworks.sh \ + $(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emulparams/vxworks.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \ + $(srcdir)/emultempl/vxworks.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32rl78.c: $(srcdir)/emulparams/elf32rl78.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32tilegx.c: $(srcdir)/emulparams/elf32tilegx.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32tilegx_be.c: $(srcdir)/emulparams/elf32tilegx_be.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32tilepro.c: $(srcdir)/emulparams/elf32tilepro.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32visium.c: $(srcdir)/emulparams/elf32visium.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/visium.sc ${GEN_DEPENDS} + +eelf32xc16x.c: $(srcdir)/emulparams/elf32xc16x.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32xc16xl.c: $(srcdir)/emulparams/elf32xc16xl.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32xc16xs.c: $(srcdir)/emulparams/elf32xc16xs.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32xstormy16.c: $(srcdir)/emulparams/elf32xstormy16.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/xstormy16.sc ${GEN_DEPENDS} + +eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/xtensaelf.em $(INCDIR)/xtensa-config.h \ + $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/xtensa.h \ + $(srcdir)/scripttempl/elfxtensa.sc ${GEN_DEPENDS} + +eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf_chaos.sc ${GEN_DEPENDS} + +eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \ + $(srcdir)/emulparams/elf_i386.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_i386_nacl.c: $(srcdir)/emulparams/elf_i386_nacl.sh \ + $(srcdir)/emulparams/elf_i386.sh \ + $(srcdir)/emulparams/elf_nacl.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_i386_sol2.c: $(srcdir)/emulparams/elf_i386_sol2.sh \ + $(srcdir)/emulparams/solaris2.sh \ + $(srcdir)/emultempl/solaris2.em \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_i386_vxworks.c: $(srcdir)/emulparams/elf_i386_vxworks.sh \ + $(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_iamcu.c: $(srcdir)/emulparams/elf_iamcu.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300elf_linux.c: $(srcdir)/emulparams/h8300elf_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300helf.c: $(srcdir)/emulparams/h8300helf.sh \ + $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300helf_linux.c: $(srcdir)/emulparams/h8300helf_linux.sh \ + $(srcdir)/emulparams/h8300elf_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300hnelf.c: $(srcdir)/emulparams/h8300hnelf.sh \ + $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300self.c: $(srcdir)/emulparams/h8300self.sh \ + $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300self_linux.c: $(srcdir)/emulparams/h8300self_linux.sh \ + $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300snelf.c: $(srcdir)/emulparams/h8300snelf.sh \ + $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300sxelf.c: $(srcdir)/emulparams/h8300sxelf.sh \ + $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300sxelf_linux.c: $(srcdir)/emulparams/h8300sxelf_linux.sh \ + $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eh8300sxnelf.c: $(srcdir)/emulparams/h8300sxnelf.sh \ + $(srcdir)/emulparams/h8300elf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ehppaelf.c: $(srcdir)/emulparams/hppaelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \ + $(srcdir)/scripttempl/hppaelf.sc ${GEN_DEPENDS} + +ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ehppanbsd.c: $(srcdir)/emulparams/hppanbsd.sh \ + $(srcdir)/emulparams/hppaelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ehppaobsd.c: $(srcdir)/emulparams/hppaobsd.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ei386beos.c: $(srcdir)/emulparams/i386beos.sh \ + $(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc ${GEN_DEPENDS} + +ei386bsd.c: $(srcdir)/emulparams/i386bsd.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + +ei386go32.c: $(srcdir)/emulparams/i386go32.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc ${GEN_DEPENDS} + +ei386lynx.c: $(srcdir)/emulparams/i386lynx.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ei386moss.c: $(srcdir)/emulparams/i386moss.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ei386msdos.c: $(srcdir)/emulparams/i386msdos.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386msdos.sc ${GEN_DEPENDS} + +ei386nto.c: $(srcdir)/emulparams/i386nto.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ei386pe.c: $(srcdir)/emulparams/i386pe.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} + +ei386pe_posix.c: $(srcdir)/emulparams/i386pe_posix.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} + +ei386pep.c: $(srcdir)/emulparams/i386pep.sh \ + $(srcdir)/emultempl/pep.em $(srcdir)/scripttempl/pep.sc ${GEN_DEPENDS} + +em32relf.c: $(srcdir)/emulparams/m32relf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +em32relf_linux.c: $(srcdir)/emulparams/m32relf_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +em32rlelf.c: $(srcdir)/emulparams/m32rlelf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +em68hc11elf.c: $(srcdir)/emulparams/m68hc11elf.sh \ + $(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \ + $(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS} + +em68hc11elfb.c: $(srcdir)/emulparams/m68hc11elfb.sh \ + $(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \ + $(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS} + +em68hc12elf.c: $(srcdir)/emulparams/m68hc12elf.sh \ + $(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \ + $(srcdir)/scripttempl/elfm68hc12.sc ${GEN_DEPENDS} + +em68hc12elfb.c: $(srcdir)/emulparams/m68hc12elfb.sh \ + $(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \ + $(srcdir)/scripttempl/elfm68hc12.sc ${GEN_DEPENDS} + +em68kelf.c: $(srcdir)/emulparams/m68kelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +em68kelfnbsd.c: $(srcdir)/emulparams/m68kelfnbsd.sh \ + $(srcdir)/emulparams/m68kelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +em9s12zelf.c: $(srcdir)/emulparams/m9s12zelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/generic.em \ + $(srcdir)/scripttempl/elfm9s12z.sc ${GEN_DEPENDS} + +emcorepe.c: $(srcdir)/emulparams/mcorepe.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} + +emn10200.c: $(srcdir)/emulparams/mn10200.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +emn10300.c: $(srcdir)/emulparams/mn10300.sh \ + $(srcdir)/emulparams/mn10200.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +emsp430elf.c: $(srcdir)/emulparams/msp430elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/msp430.em \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS} + +emsp430X.c: $(srcdir)/emulparams/msp430elf.sh $(srcdir)/emulparams/msp430X.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/msp430.em \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS} + +ends32elf.c: $(srcdir)/emulparams/nds32elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} + +ends32elf16m.c: $(srcdir)/emulparams/nds32elf16m.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} + +ends32belf.c: $(srcdir)/emulparams/nds32belf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} + +ends32belf16m.c: $(srcdir)/emulparams/nds32belf16m.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} + +ends32elf_linux.c: $(srcdir)/emulparams/nds32elf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} + +ends32belf_linux.c: $(srcdir)/emulparams/nds32belf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} + +enios2elf.c: $(srcdir)/emulparams/nios2elf.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/nios2elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +enios2linux.c: $(srcdir)/emulparams/nios2linux.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/nios2elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/netbsd.em \ + $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + +eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64cloudabib.c: $(srcdir)/emulparams/aarch64cloudabib.sh $(srcdir)/emulparams/aarch64cloudabi.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64fbsd.c: $(srcdir)/emulparams/aarch64fbsd.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64fbsdb.c: $(srcdir)/emulparams/aarch64fbsdb.sh $(srcdir)/emulparams/aarch64fbsd.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64linuxb.c: $(srcdir)/emulparams/aarch64linuxb.sh $(srcdir)/emulparams/aarch64linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64linux32.c: $(srcdir)/emulparams/aarch64linux32.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eaarch64linux32b.c: $(srcdir)/emulparams/aarch64linux32b.sh $(srcdir)/emulparams/aarch64linux32.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +epc532macha.c: $(srcdir)/emulparams/pc532macha.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + +epdp11.c: $(srcdir)/emulparams/pdp11.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + +epjelf.c: $(srcdir)/emulparams/pjelf.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +epjlelf.c: $(srcdir)/emulparams/pjlelf.sh $(srcdir)/emulparams/pjelf.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eppclynx.c: $(srcdir)/emulparams/ppclynx.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eppcmacos.c: $(srcdir)/emulparams/ppcmacos.sh \ + $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} + +eppcpe.c: $(srcdir)/emulparams/ppcpe.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/ppcpe.sc ${GEN_DEPENDS} + +epruelf.c: $(srcdir)/emulparams/pruelf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/pru.sc \ + $(srcdir)/emultempl/pruelf.em ${GEN_DEPENDS} + +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/score3_elf.sh \ + $(srcdir)/emulparams/score7_elf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +esh.c: $(srcdir)/emulparams/sh.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS} + +eshelf.c: $(srcdir)/emulparams/shelf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshelf_fd.c: $(srcdir)/emulparams/shelf_fd.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \ + $(srcdir)/emulparams/shlelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshelf_nbsd.c: $(srcdir)/emulparams/shelf_nbsd.sh \ + $(srcdir)/emulparams/shelf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshelf_nto.c: $(srcdir)/emulparams/shelf_nto.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshelf_uclinux.c: $(srcdir)/emulparams/shelf_uclinux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshelf_vxworks.c: $(srcdir)/emulparams/shelf_vxworks.sh \ + $(srcdir)/emulparams/vxworks.sh $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc \ + $(srcdir)/emultempl/vxworks.em ${GEN_DEPENDS} + +eshl.c: $(srcdir)/emulparams/shl.sh \ + $(srcdir)/emulparams/sh.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS} + +eshlelf.c: $(srcdir)/emulparams/shlelf.sh \ + $(srcdir)/emulparams/shelf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshlelf_fd.c: $(srcdir)/emulparams/shlelf_fd.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshlelf_linux.c: $(srcdir)/emulparams/shlelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshlelf_nbsd.c: $(srcdir)/emulparams/shlelf_nbsd.sh \ + $(srcdir)/emulparams/shelf_nbsd.sh \ + $(srcdir)/emulparams/shelf.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshlelf_nto.c: $(srcdir)/emulparams/shlelf_nto.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eshlelf_vxworks.c: $(srcdir)/emulparams/shlelf_vxworks.sh \ + $(srcdir)/emulparams/shelf_vxworks.sh $(srcdir)/emulparams/vxworks.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/vxworks.em \ + ${GEN_DEPENDS} + +eshpe.c: $(srcdir)/emulparams/shpe.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} + +etic30aout.c: $(srcdir)/emulparams/tic30aout.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30aout.sc ${GEN_DEPENDS} + +etic30coff.c: $(srcdir)/emulparams/tic30coff.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30coff.sc ${GEN_DEPENDS} + +etic3xcoff.c: $(srcdir)/emulparams/tic3xcoff.sh \ + $(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS} + +etic3xcoff_onchip.c: $(srcdir)/emulparams/tic3xcoff_onchip.sh \ + $(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS} + +etic4xcoff.c: $(srcdir)/emulparams/tic4xcoff.sh \ + $(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS} + +etic54xcoff.c: $(srcdir)/emulparams/tic54xcoff.sh \ + $(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic54xcoff.sc ${GEN_DEPENDS} + +etic80coff.c: $(srcdir)/emulparams/tic80coff.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic80coff.sc ${GEN_DEPENDS} + +ev850.c: $(srcdir)/emulparams/v850.sh $(srcdir)/emultempl/v850elf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/v850.sc ${GEN_DEPENDS} + +ev850_rh850.c: $(srcdir)/emulparams/v850_rh850.sh $(srcdir)/emultempl/v850elf.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/v850_rh850.sc ${GEN_DEPENDS} + +evanilla.c: $(srcdir)/emulparams/vanilla.sh \ + $(srcdir)/emultempl/vanilla.em $(srcdir)/scripttempl/vanilla.sc ${GEN_DEPENDS} + +evaxnbsd.c: $(srcdir)/emulparams/vaxnbsd.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + +exgateelf.c: $(srcdir)/emulparams/xgateelf.sh \ + $(srcdir)/emultempl/generic.em $(ELF_DEPS) \ + $(srcdir)/scripttempl/elfxgate.sc ${GEN_DEPENDS} + +ez80.c: $(srcdir)/emulparams/z80.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/z80.em \ + $(srcdir)/scripttempl/z80.sc ${GEN_DEPENDS} + +ez8001.c: $(srcdir)/emulparams/z8001.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS} + +ez8002.c: $(srcdir)/emulparams/z8002.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS} + +eelf32_x86_64.c: $(srcdir)/emulparams/elf32_x86_64.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf32_x86_64_nacl.c: $(srcdir)/emulparams/elf32_x86_64_nacl.sh \ + $(srcdir)/emulparams/elf32_x86_64.sh \ + $(srcdir)/emulparams/elf_nacl.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \ + $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \ + $(srcdir)/emulparams/elf64_ia64.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \ + $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64_ia64_vms.c: $(srcdir)/emulparams/elf64_ia64_vms.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/vms.em \ + $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/ia64vms.sc ${GEN_DEPENDS} + +eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \ + $(srcdir)/emultempl/s390.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \ + $(srcdir)/emulparams/elf64_sparc.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64_sparc_sol2.c: $(srcdir)/emulparams/elf64_sparc_sol2.sh \ + $(srcdir)/emulparams/elf64_sparc.sh \ + $(srcdir)/emulparams/solaris2.sh \ + $(srcdir)/emultempl/solaris2.em \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \ + $(srcdir)/emulparams/elf64alpha.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \ + $(srcdir)/emulparams/elf64alpha.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \ + $(srcdir)/emulparams/elf64bmip-defs.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \ + $(srcdir)/emulparams/elf64bmip-defs.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64btsmip_fbsd.c: $(srcdir)/emulparams/elf64btsmip_fbsd.sh \ + $(srcdir)/emulparams/elf64bmip-defs.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS} + +eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \ + $(srcdir)/emulparams/elf64ppc.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64lriscv.c: $(srcdir)/emulparams/elf64lriscv.sh \ + $(srcdir)/emulparams/elf64lriscv-defs.sh \ + $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf64lriscv_lp64f.c: $(srcdir)/emulparams/elf64lriscv_lp64f.sh \ + $(srcdir)/emulparams/elf64lriscv-defs.sh \ + $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf64lriscv_lp64.c: $(srcdir)/emulparams/elf64lriscv_lp64.sh \ + $(srcdir)/emulparams/elf64lriscv-defs.sh \ + $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \ + ${GEN_DEPENDS} + +eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \ + $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64ltsmip_fbsd.c: $(srcdir)/emulparams/elf64ltsmip_fbsd.sh \ + $(srcdir)/emulparams/elf64btsmip_fbsd.sh $(srcdir)/emulparams/elf64bmip-defs.sh \ + $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \ + $(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \ + $(srcdir)/emulparams/dynamic_undefined_weak.sh \ + $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64rdos.c: $(srcdir)/emulparams/elf64rdos.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf64tilegx_be.c: $(srcdir)/emulparams/elf64tilegx_be.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_l1om_fbsd.c: $(srcdir)/emulparams/elf_l1om_fbsd.sh \ + $(srcdir)/emulparams/elf_l1om.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_k1om.c: $(srcdir)/emulparams/elf_k1om.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \ + $(srcdir)/emulparams/elf_k1om.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_x86_64_cloudabi.c: $(srcdir)/emulparams/elf_x86_64_cloudabi.sh \ + $(srcdir)/emulparams/elf_x86_64.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \ + $(srcdir)/emulparams/elf_x86_64.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_x86_64_nacl.c: $(srcdir)/emulparams/elf_x86_64_nacl.sh \ + $(srcdir)/emulparams/elf_x86_64.sh \ + $(srcdir)/emulparams/elf_nacl.sh \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +eelf_x86_64_sol2.c: $(srcdir)/emulparams/elf_x86_64_sol2.sh \ + $(srcdir)/emulparams/elf_x86_64.sh \ + $(srcdir)/emulparams/solaris2.sh \ + $(srcdir)/emultempl/solaris2.em \ + $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + +emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \ + $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em \ + $(srcdir)/emultempl/mmo.em $(srcdir)/scripttempl/DWARF.sc \ + $(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS} + + +# We need this for automake to use YLWRAP. +EXTRA_ld_new_SOURCES = deffilep.y ldlex.l +# Allow dependency tracking to work for these files, too. +EXTRA_ld_new_SOURCES += pep-dll.c pe-dll.c + +ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \ + ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c $(PLUGIN_C) \ + ldbuildid.c +ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \ + $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP) +ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL) + +# Dependency tracking for the generated emulation files. +EXTRA_ld_new_SOURCES += $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES) + +# This is the real libbfd.a created by libtool. +TESTBFDLIB = @TESTBFDLIB@ + +check-DEJAGNU: site.exp + srcroot=`cd $(srcdir) && pwd`; export srcroot; \ + r=`pwd`; export r; \ + LC_ALL=C; export LC_ALL; \ + EXPECT=$(EXPECT); export EXPECT; \ + runtest=$(RUNTEST); \ + if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ + $$runtest --tool $(DEJATOOL) --srcdir $${srcroot}/testsuite \ + CC="$(CC_FOR_TARGET)" CFLAGS="$(CFLAGS_FOR_TARGET)" \ + CXX="$(CXX_FOR_TARGET)" CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \ + CC_FOR_HOST="$(CC)" CFLAGS_FOR_HOST="$(CFLAGS)" \ + OFILES="$(OFILES)" BFDLIB="$(TESTBFDLIB)" \ + LIBIBERTY="$(LIBIBERTY) $(LIBINTL)" LIBS="$(LIBS)" \ + DO_COMPARE="`echo '$(do_compare)' | sed -e 's,\\$$,,g'`" \ + $(RUNTESTFLAGS); \ + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ + fi + +# +# Build a dummy plugin using libtool. +# +if ENABLE_PLUGINS +noinst_LTLIBRARIES = libldtestplug.la libldtestplug2.la \ + libldtestplug3.la libldtestplug4.la +libldtestplug_la_SOURCES = testplug.c +libldtestplug_la_CFLAGS= -g -O2 +libldtestplug_la_LDFLAGS = -no-undefined -rpath /nowhere +libldtestplug2_la_SOURCES = testplug2.c +libldtestplug2_la_CFLAGS= -g -O2 +libldtestplug2_la_LDFLAGS = -no-undefined -rpath /nowhere +libldtestplug3_la_SOURCES = testplug3.c +libldtestplug3_la_CFLAGS= -g -O2 +libldtestplug3_la_LDFLAGS = -no-undefined -rpath /nowhere +libldtestplug4_la_SOURCES = testplug4.c +libldtestplug4_la_CFLAGS= -g -O2 +libldtestplug4_la_LDFLAGS = -no-undefined -rpath /nowhere +endif + +# DOCUMENTATION TARGETS +# Manual configuration file; not usually attached to normal configuration, +# because almost all configs use "gen" version of manual. +# Set DOCVER above to change. +configdoc.texi: ${DOCVER}-doc.texi + cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi + chmod u+w ./configdoc.texi + +# Build the man page from the texinfo file +# The sed command removes the no-adjust Nroff command so that +# the man output looks standard. +ld.1: $(srcdir)/ld.texi configdoc.texi + touch $@ + -$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texi > ld.pod + -($(POD2MAN) ld.pod | \ + sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || \ + (rm -f $@.T$$$$ && exit 1) + rm -f ld.pod + +MAINTAINERCLEANFILES = configdoc.texi ld.1 + +# We want to reconfigure if configure.host or configure.tgt changes. +# development.sh is used to determine -Werror default. +CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host $(srcdir)/configure.tgt \ + $(BFDDIR)/development.sh + +MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \ + ldemul-list.h crtbegin.@OBJEXT@ crtend.@OBJEXT@ ld.log ld.sum +mostlyclean-local: + -rm -rf tmpdir +CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 spu_ovl.s spu_ovl.@OBJEXT@ spu_icache.s spu_icache.@OBJEXT@ + +.PHONY: install-exec-local install-data-local + +install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS + $(mkinstalldirs) $(DESTDIR)$(tooldir)/bin + n=`echo $(installed_linker) | sed '$(transform)'`; \ + if test "$(bindir)" != "$(tooldir)/bin"; then \ + rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \ + ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \ + || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \ + fi; \ + if test "x$(install_as_default)" = "xyes"; then \ + ld=`echo ld | sed '$(transform)'`; \ + rm -f $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \ + ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT) >/dev/null 2>/dev/null \ + || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \ + if test "$(bindir)" != "$(tooldir)/bin"; then \ + rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \ + ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \ + || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \ + fi; \ + fi + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts + for f in ldscripts/* ; do \ + $(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \ + done + +# Stuff that should be included in a distribution. The diststuff +# target is run by the taz target in ../Makefile.in. +EXTRA_DIST = ldgram.c ldgram.h ldlex.c emultempl/spu_ovl.@OBJEXT@_c \ + emultempl/spu_icache.@OBJEXT@_c deffilep.c deffilep.h $(man_MANS) +diststuff: info $(EXTRA_DIST) + +# Both info (ld.info) and ld.1 depend on configdoc.texi. +# But info isn't a direct target. Make info-recursive to depend on +# ld.1 to support parallel build. +info-recursive: ld.1 + +DISTCLEANFILES = tdirs site.exp site.bak stringify.sed +distclean-local: + rm -rf ldscripts + +MAINTAINERCLEANFILES += ld.info diff --git a/arm-stmos/binutils-files/ld/configure.tgt b/arm-stmos/binutils-files/ld/configure.tgt new file mode 100644 index 0000000..2ae4904 --- /dev/null +++ b/arm-stmos/binutils-files/ld/configure.tgt @@ -0,0 +1,868 @@ +# configure.tgt +# +# Copyright (C) 2013-2018 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING3. If not see +# . + +# This is the linker target specific file. This is invoked by the +# autoconf generated configure script. Putting it in a separate shell +# file lets us skip running autoconf when modifying target specific +# information. + +# This file switches on the shell variable ${targ}, and sets the +# following shell variables: +# targ_emul name of linker emulation to use +# targ_extra_emuls additional linker emulations to provide +# targ_extra_libpath additional linker emulations using LIB_PATH +# targ_extra_ofiles additional host-compiled objects needed by the emulation +# targ64_extra_emuls additional linker emulations to provide if +# --enable-64-bit-bfd is given or if host is 64 bit. +# targ64_extra_libpath additional linker emulations using LIB_PATH if +# --enable-64-bit-bfd is given or if host is 64 bit. +# NATIVE_LIB_DIRS library directories to search on this host +# (if we are a native or sysrooted linker) + +targ_extra_emuls= +targ_extra_libpath= +targ_extra_ofiles= +targ64_extra_emuls= +targ64_extra_libpath= + +# Please try to keep this table in alphabetic order - it makes it +# much easier to lookup a specific archictecture. Naturally any +# architecture variants should be kept together even if their names +# break the alpha sorting. +case "${targ}" in +aarch64_be-*-elf) targ_emul=aarch64elfb + targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;; +aarch64-*-elf | aarch64-*-rtems*) + targ_emul=aarch64elf + targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;; +aarch64-*-cloudabi*) targ_emul=aarch64cloudabi + targ_extra_emuls=aarch64cloudabib ;; +aarch64-*-freebsd*) targ_emul=aarch64fbsd + targ_extra_emuls="aarch64fbsdb aarch64elf" ;; +aarch64-*-fuchsia*) targ_emul=aarch64elf + targ_extra_emuls="aarch64elfb armelf armelfb" ;; +aarch64_be-*-linux-gnu_ilp32) + targ_emul=aarch64linux32b + targ_extra_libpath="aarch64linuxb aarch64linux aarch64linux32 armelfb_linux_eabi armelf_linux_eabi" + targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;; +aarch64-*-linux-gnu_ilp32) + targ_emul=aarch64linux32 + targ_extra_libpath="aarch64linux aarch64linuxb aarch64linux32b armelfb_linux_eabi armelf_linux_eabi" + targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;; +aarch64_be-*-linux*) targ_emul=aarch64linuxb + targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi" + targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;; +aarch64-*-linux*) targ_emul=aarch64linux + targ_extra_libpath="aarch64linuxb aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi" + targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;; +alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) + targ_emul=elf64alpha_fbsd + targ_extra_emuls="elf64alpha alpha" + tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'` ;; +alpha*-*-linux*ecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha + tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` ;; +alpha*-*-linux-*) targ_emul=elf64alpha targ_extra_emuls=alpha + tdir_alpha=`echo ${targ_alias} | sed -e 's/linux\(-gnu\)*/linux\1ecoff/'` ;; +alpha*-*-osf*) targ_emul=alpha ;; +alpha*-*-gnu*) targ_emul=elf64alpha ;; +alpha*-*-netbsd*) targ_emul=elf64alpha_nbsd ;; +alpha*-*-openbsd*) targ_emul=elf64alpha ;; +alpha*-*-*vms*) targ_emul=alphavms + ;; +arc*-*-elf*) targ_emul=arcelf + targ_extra_emuls="arcelf_prof arclinux arclinux_nps arclinux_prof arcv2elf arcv2elfx" + ;; +arc*-*-linux*) case "${with_cpu}" in + nps400) targ_emul=arclinux_nps + targ_extra_emuls=arclinux + ;; + *) targ_emul=arclinux + targ_extra_emuls=arclinux_nps + ;; + esac + targ_extra_emuls="${targ_extra_emuls} arclinux_prof arcelf arcelf_prof arcv2elf arcv2elfx" + ;; +arm*-*-cegcc*) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" + LIB_PATH='${tooldir}/lib/w32api' ;; +arm-wince-pe | arm-*-wince | arm*-*-mingw32ce*) + targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; +arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; +arm*b-*-freebsd*) targ_emul=armelfb_fbsd + targ_extra_emuls="armelf_fbsd armelf" ;; +arm*-*-freebsd* | arm-*-kfreebsd*-gnu) + targ_emul=armelf_fbsd + targ_extra_emuls="armelfb_fbsd armelf" ;; +armeb-*-netbsdelf*) targ_emul=armelfb_nbsd; + targ_extra_emuls="armelf_nbsd armelf" ;; +arm-*-netbsdelf*) targ_emul=armelf_nbsd; + targ_extra_emuls="armelfb_nbsd armelf" ;; +arm-*-nto*) targ_emul=armnto ;; +arm-*-phoenix*) targ_emul=armelf ;; +armeb-*-elf | armeb-*-eabi*) + targ_emul=armelfb ;; +arm-*-elf | arm*-*-eabi* | arm-*-rtems*) + targ_emul=armelf ;; +arm-*-stmos*) targ_emul=armelf_stmos; + targ_extra_emuls=armelf ;; +arm*-*-symbianelf*) targ_emul=armsymbian;; +arm-*-kaos*) targ_emul=armelf ;; +arm9e-*-elf) targ_emul=armelf ;; +arm*b-*-linux-*eabi*) targ_emul=armelfb_linux_eabi + targ_extra_emuls=armelf_linux_eabi + targ_extra_libpath=$targ_extra_emuls + ;; +arm*b-*-linux-*) targ_emul=armelfb_linux + targ_extra_emuls="armelfb armelf armelf_linux" + targ_extra_libpath="armelf_linux" + ;; +arm*-*-linux-*eabi*) targ_emul=armelf_linux_eabi + targ_extra_emuls="armelfb_linux_eabi" + targ_extra_libpath=$targ_extra_emuls + ;; +arm*-*-uclinuxfdpiceabi) + targ_emul=armelf_linux_eabi + targ_extra_emuls="armelfb_linux_eabi armelf_linux_fdpiceabi armelfb_linux_fdpiceabi" + targ_extra_libpath=$targ_extra_emuls + ;; +arm*-*-linux-*) targ_emul=armelf_linux + targ_extra_emuls="armelf armelfb armelfb_linux" + targ_extra_libpath="armelfb_linux" + ;; +arm*b-*-nacl*) targ_emul=armelfb_nacl + targ_extra_emuls="armelf_nacl elf_i386_nacl" + targ_extra_libpath=$targ_extra_emuls + targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl" + targ64_extra_libpath=$targ64_extra_emuls + ;; +arm*-*-nacl*) targ_emul=armelf_nacl + targ_extra_emuls="armelfb_nacl elf_i386_nacl" + targ_extra_libpath=$targ_extra_emuls + targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl" + targ64_extra_libpath=$targ64_extra_emuls + ;; +arm*-*-uclinux*eabi*) targ_emul=armelf_linux_eabi + targ_extra_emuls=armelfb_linux_eabi + targ_extra_libpath=$targ_extra_emuls + ;; +arm*-*-uclinux*) targ_emul=armelf_linux + targ_extra_emuls="armelf armelfb armelfb_linux" + targ_extra_libpath="armelfb_linux" + ;; +arm-*-vxworks) targ_emul=armelf_vxworks ;; +arm*-*-conix*) targ_emul=armelf ;; +arm*-*-fuchsia*) targ_emul=armelf_fuchsia + targ_extra_emuls="armelfb_fuchsia armelf armelfb" + ;; +avr-*-*) targ_emul=avr2 + targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny" + ;; +bfin-*-elf | bfin-*-rtems*) + targ_emul=elf32bfin + targ_extra_emuls="elf32bfinfd" + targ_extra_libpath=$targ_extra_emuls + ;; +bfin-*-uclinux*) targ_emul=elf32bfin; + targ_extra_emuls="elf32bfinfd" + targ_extra_libpath=$targ_extra_emuls + ;; +bfin-*-linux-uclibc*) targ_emul=elf32bfinfd; + targ_extra_emuls="elf32bfin" + targ_extra_libpath=$targ_extra_emuls + ;; +cr16-*-elf*) targ_emul=elf32cr16 ;; +cr16c-*-elf*) targ_emul=elf32cr16c + ;; +cris-*-*aout*) targ_emul=crisaout + targ_extra_emuls="criself crislinux" + targ_extra_libpath=$targ_extra_emuls ;; +cris-*-linux-* | crisv32-*-linux-*) + targ_emul=crislinux ;; +cris-*-* | crisv32-*-*) targ_emul=criself + targ_extra_emuls="crisaout crislinux" + targ_extra_libpath=$targ_extra_emuls + ;; +crx-*-elf*) targ_emul=elf32crx + ;; +d10v-*-*) targ_emul=d10velf ;; +d30v-*-*ext*) targ_emul=d30v_e; targ_extra_emuls="d30velf d30v_o" ;; +d30v-*-*onchip*) targ_emul=d30v_o; targ_extra_emuls="d30velf d30v_e" ;; +d30v-*-*) targ_emul=d30velf; targ_extra_emuls="d30v_e d30v_o" + ;; +dlx-*-elf*) targ_emul=elf32_dlx + ;; +epiphany-*-*) targ_emul=elf32epiphany + targ_extra_emuls="elf32epiphany_4x4" + ;; +fido*-*-elf*) targ_emul=m68kelf ;; +fr30-*-*) targ_emul=elf32fr30 + ;; +frv-*-*linux*) targ_emul=elf32frvfd ;; +frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd" + ;; +moxie-*-moxiebox*) targ_emul=moxiebox + ;; +moxie-*-*) targ_emul=elf32moxie + ;; +h8300-*-elf* | h8300-*-rtems*) + targ_emul=h8300elf; + targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf" ;; +h8300-*-linux*) + targ_emul=h8300elf_linux; + targ_extra_emuls="h8300helf_linux h8300self_linux h8300sxelf_linux" ;; +hppa*64*-*-linux-*) targ_emul=hppa64linux ;; +hppa*64*-hpux*) targ_emul=elf64hppa ;; +hppa*-*-linux-*) targ_emul=hppalinux ;; +hppa*-*-*elf*) targ_emul=hppaelf ;; +hppa*-*-lites*) targ_emul=hppaelf ;; +hppa*-*-netbsd*) targ_emul=hppanbsd ;; +hppa*-*-openbsd*) targ_emul=hppaobsd + ;; +i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; +i[3-7]86-*-go32) targ_emul=i386go32 ;; +i[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;; +i[3-7]86-*-lynxos*) targ_emul=i386lynx ;; +i[3-7]86-*-aros*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +i[3-7]86-*-rdos*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +x86_64-*-rdos*) targ_emul=elf64rdos ;; +x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi ;; +i[3-7]86-*-bsd) targ_emul=i386bsd ;; +i[3-7]86-*-bsd386) targ_emul=i386bsd ;; +i[3-7]86-*-bsdi*) targ_emul=i386bsd ;; +i[3-7]86-*-linux-*) targ_emul=elf_i386 + targ_extra_emuls="elf_iamcu" + targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om" + targ64_extra_libpath="elf_x86_64 elf32_x86_64" ;; +x86_64-*-linux-gnux32) targ_emul=elf32_x86_64 + targ_extra_emuls="elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om" + targ_extra_libpath="elf_i386 elf_iamcu elf_x86_64 elf_l1om elf_k1om" + tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;; +x86_64-*-linux-*) targ_emul=elf_x86_64 + targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om" + targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om" + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; +i[3-7]86-*-redox*) targ_emul=elf_i386 + targ_extra_emuls=elf_x86_64 ;; +x86_64-*-redox*) targ_emul=elf_x86_64 + targ_extra_emuls=elf_i386 ;; +i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2 + targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om" + targ_extra_libpath=$targ_extra_emuls + ;; +x86_64-*-solaris2*) + targ_emul=elf_x86_64_sol2 + targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om" + targ_extra_libpath=$targ_extra_emuls + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; +i[3-7]86-*-unixware) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso + targ_extra_emuls="elf_i386" + targ_extra_libpath=$targ_extra_emuls + ;; +i[3-7]86-*-netbsdelf* | \ +i[3-7]86-*-netbsd*-gnu* | \ +i[3-7]86-*-knetbsd*-gnu) + targ_emul=elf_i386 + targ_extra_emuls="elf_iamcu" ;; +i[3-7]86-*-netbsdpe*) targ_emul=i386pe + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +x86_64-*-netbsd*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" + tdir_elf_iamcu=`echo ${targ_alias} | \ + sed -e 's/x86_64/i386/'` + case "${tdir_elf_iamcu}" in + *-netbsdelf*) ;; + *) tdir_elf_iamcu=`echo ${tdir_elf_iamcu} | \ + sed -e 's/netbsd/netbsdelf/'`;; + esac + tdir_elf_i386=`echo ${targ_alias} | \ + sed -e 's/x86_64/i386/'` + case "${tdir_elf_i386}" in + *-netbsdelf*) ;; + *) tdir_elf_i386=`echo ${tdir_elf_i386} | \ + sed -e 's/netbsd/netbsdelf/'`;; + esac ;; +i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu + targ_extra_emuls=elf_i386 ;; +i[3-7]86-*-elf* | i[3-7]86-*-rtems*) + targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*) + targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" + targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` + ;; +i[3-7]86-*-kaos*) targ_emul=elf_i386 ;; +i[3-7]86-*-dragonfly*) targ_emul=elf_i386 + targ_extra_emuls="elf_iamcu i386bsd" ;; +x86_64-*-dragonfly*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" ;; +i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) + targ_emul=elf_i386_fbsd + targ_extra_emuls="elf_i386 elf_iamcu i386bsd" ;; +x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) + targ_emul=elf_x86_64_fbsd + targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_l1om_fbsd elf_k1om elf_k1om_fbsd" + targ_extra_libpath="elf_i386_fbsd" + tdir_elf_i386_fbsd=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` + tdir_elf_iamcu=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` + tdir_elf_i386=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` ;; +i[3-7]86-*-gnu*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +i[3-7]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; +i[3-7]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; +i[3-7]86-*-winnt*) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +i[3-7]86-*-pe) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +i[3-7]86-*-cygwin*) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ; + test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; +i[3-7]86-*-mingw32*) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ; + targ_extra_emuls=i386pe ; + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; +x86_64-*-cygwin) targ_emul=i386pep ; + targ_extra_emuls=i386pe + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" + test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; +x86_64-*-mingw*) targ_emul=i386pep ; + targ_extra_emuls=i386pe + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; +i[3-7]86-*-interix*) targ_emul=i386pe_posix; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +i[3-7]86-*-beospe*) targ_emul=i386beos ;; +i[3-7]86-*-beos*) targ_emul=elf_i386_be ;; +i[3-7]86-*-vxworks*) targ_emul=elf_i386_vxworks ;; +i[3-7]86-*-chaos) targ_emul=elf_i386_chaos + ;; +i[3-7]86-*-nacl*) targ_emul=elf_i386_nacl + targ_extra_emuls="armelf_nacl armelfb_nacl" + targ_extra_libpath=$targ_extra_emuls + targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl" + targ64_extra_libpath=$targ64_extra_emuls + ;; +x86_64-*-nacl*) targ_emul=elf32_x86_64_nacl + targ_extra_emuls="elf_i386_nacl elf_x86_64_nacl armelf_nacl armelfb_nacl" + targ_extra_libpath=$targ_extra_emuls + tdir_elf_i386_nacl=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` + ;; +ia16-*-elf*) targ_emul=elf_i386 targ_extra_emuls=i386msdos ;; +ia64-*-elf*) targ_emul=elf64_ia64 ;; +ia64-*-freebsd* | ia64-*-kfreebsd*-gnu) + targ_emul=elf64_ia64_fbsd + targ_extra_emuls="elf64_ia64" ;; +ia64-*-netbsd*) targ_emul=elf64_ia64 ;; +ia64-*-linux*) targ_emul=elf64_ia64 ;; +ia64-*-*vms*) targ_emul=elf64_ia64_vms ;; +ia64-*-aix*) targ_emul=elf64_aix + ;; +ip2k-*-elf) targ_emul=elf32ip2k + ;; +iq2000-*-elf) targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10" + ;; +lm32-*-*linux*) targ_emul=elf32lm32fd ;; +lm32-*-*) targ_emul=elf32lm32 ; targ_extra_emuls="elf32lm32fd" + ;; +m32c-*-elf | m32c-*-rtems*) + targ_emul=elf32m32c + ;; +m32r*le-*-elf*) targ_emul=m32rlelf ;; +m32r*-*-elf* | m32r*-*-rtems*) + targ_emul=m32relf ;; +m32r*le-*-linux-*) targ_emul=m32rlelf_linux ;; +m32r*-*-linux-*) targ_emul=m32relf_linux + ;; +m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf + targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; +m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf + targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;; +m68*-*-netbsdelf*) targ_emul=m68kelfnbsd ;; +m68*-*-*) targ_emul=m68kelf ;; +s12z-*-*) targ_emul=m9s12zelf + ;; +mcore-*-pe) targ_emul=mcorepe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +mcore-*-elf) targ_emul=elf32mcore + ;; +mep-*-elf) targ_emul=elf32mep ;; +metag-*-*) targ_emul=elf32metag ;; +microblazeel*-linux*) targ_emul="elf32mbel_linux" + targ_extra_emuls="elf32mb_linux" + ;; +microblaze*-linux*) targ_emul="elf32mb_linux" + targ_extra_emuls="elf32mbel_linux" + ;; +microblazeel*) targ_emul=elf32microblazeel + targ_extra_emuls=elf32microblaze + ;; +microblaze*) targ_emul=elf32microblaze + targ_extra_emuls=elf32microblazeel + ;; +mips*-sgi-irix5*) targ_emul=elf32bsmip ;; +mips*-sgi-irix6*) targ_emul=elf32bmipn32 + targ_extra_emuls="elf32bsmip elf64bmip" + targ_extra_libpath=$targ_extra_emuls ;; +mips*el-*-netbsd*) targ_emul=elf32ltsmip + targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip" + ;; +mips*-*-netbsd*) targ_emul=elf32btsmip + targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" + ;; +mips64el-*-openbsd*) targ_emul=elf64ltsmip + targ_extra_emuls=elf64btsmip + ;; +mips64-*-openbsd*) targ_emul=elf64btsmip + targ_extra_emuls=elf64ltsmip + ;; +mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;; +mips*vr4300-*-elf*) targ_emul=elf32b4300 ;; +mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;; +mips*vr4100-*-elf*) targ_emul=elf32b4300 ;; +mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;; +mips*vr5000-*-elf*) targ_emul=elf32b4300 ;; +mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*) + targ_emul=elf32ltsmip + targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;; +mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) + targ_emul=elf32btsmip + targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;; +mips64*el-ps2-elf*) targ_emul=elf32lr5900n32 + targ_extra_emuls="elf32lr5900" + targ_extra_libpath=$targ_extra_emuls ;; +mips*el-ps2-elf*) targ_emul=elf32lr5900 + targ_extra_emuls="elf32lr5900n32" + targ_extra_libpath=$targ_extra_emuls ;; +mips*el-*-elf*) targ_emul=elf32elmip ;; +mips*-*-elf* | mips*-*-rtems*) + targ_emul=elf32ebmip ;; +mips*el-*-vxworks*) targ_emul=elf32elmipvxworks + targ_extra_emuls="elf32ebmipvxworks" ;; +mips*-*-vxworks*) targ_emul=elf32ebmipvxworks + targ_extra_emuls="elf32elmipvxworks" ;; +mips*-*-windiss) targ_emul=elf32mipswindiss ;; +mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 + targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" + targ_extra_libpath=$targ_extra_emuls ;; +mips64*-*-linux-*) targ_emul=elf32btsmipn32 + targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" + targ_extra_libpath=$targ_extra_emuls ;; +mips*el-*-linux-*) targ_emul=elf32ltsmip + targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" + targ_extra_libpath=$targ_extra_emuls ;; +mips*-*-linux-*) targ_emul=elf32btsmip + targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" + targ_extra_libpath=$targ_extra_emuls ;; +mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) + targ_emul=elf32ltsmipn32_fbsd + targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmip_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd" + targ_extra_libpath=$targ_extra_emuls ;; +mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) + targ_emul=elf32btsmipn32_fbsd + targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmip_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd" + targ_extra_libpath=$targ_extra_emuls ;; +mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu) + targ_emul=elf32ltsmip_fbsd + targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmipn32_fbsd elf32btsmip_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd" + targ_extra_libpath=$targ_extra_emuls ;; +mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) + targ_emul=elf32btsmip_fbsd + targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmipn32_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd" + targ_extra_libpath=$targ_extra_emuls ;; +mips*-*-sysv4*) targ_emul=elf32btsmip + ;; +mmix-*-*) targ_emul=mmo + targ_extra_emuls=elf64mmix + ;; +am33_2.0-*-linux*) targ_emul=elf32am33lin ;; +mn10200-*-*) targ_emul=mn10200 ;; +mn10300-*-*) targ_emul=mn10300 + ;; +mt-*elf) targ_emul=elf32mt + ;; +msp430-*-*) targ_emul=msp430elf + targ_extra_emuls="msp430X" + ;; +nds32*le-*-elf*) targ_emul=nds32elf + targ_extra_emuls="nds32elf16m nds32belf nds32belf16m" + ;; +nds32*be-*-elf*) targ_emul=nds32belf + targ_extra_emuls="nds32elf nds32elf16m nds32belf16m" + ;; +nds32*le-*-linux-gnu*) targ_emul=nds32elf_linux ;; +nds32*be-*-linux-gnu*) targ_emul=nds32belf_linux ;; +nios2*-*-linux*) targ_emul=nios2linux ;; +nios2*-*-*) targ_emul=nios2elf ;; +ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; +ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd + ;; +or1k-*-elf | or1knd-*-elf | or1k-*-rtems* | or1knd-*-rtems*) + targ_emul=elf32or1k ;; +or1k-*-linux* | or1knd-*-linux*) targ_emul=elf32or1k_linux ;; +pdp11-*-*) targ_emul=pdp11 + ;; +pjl*-*-*) targ_emul=pjlelf + targ_extra_emuls="elf_i386 elf_iamcu" ;; +pj*-*-*) targ_emul=pjelf + ;; +powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu) + targ_emul=elf32ppc_fbsd + targ_extra_emuls="elf32ppc elf32ppcsim" + targ_extra_libpath=elf32ppc; + tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;; +powerpc64-*-freebsd*) + targ_emul=elf64ppc_fbsd + targ_extra_emuls="elf64ppc elf32ppc_fbsd elf32ppc" + targ_extra_libpath="elf32ppc_fbsd elf32ppc" + tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` + tdir_elf32ppc_fbsd=$tdir_elf32ppc + ;; +powerpc-*-vxworks*) + targ_emul=elf32ppcvxworks + targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;; +powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \ + | powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \ + | powerpc*-*-rtems* \ + | powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*) + case "${targ}" in + powerpc64*) + targ_emul=elf64ppc + targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" + targ_extra_libpath="elf32ppc elf32ppclinux" ;; + *linux*) + targ_emul=elf32ppclinux + targ_extra_emuls="elf32ppc elf32ppcsim" + targ_extra_libpath=elf32ppc + targ64_extra_emuls=elf64ppc + targ64_extra_libpath=elf64ppc ;; + *) + targ_emul=elf32ppc + targ_extra_emuls="elf32ppclinux elf32ppcsim" + targ_extra_libpath=elf32ppclinux + targ64_extra_emuls=elf64ppc + targ64_extra_libpath=elf64ppc ;; + esac + td=tdir_elf32ppc + td64=tdir_elf64ppc + s=s/ppc/lppc/g + case "${targ}" in + powerpcle-* | powerpc64le-*) + for z in td td64 targ_emul targ_extra_emuls \ + targ_extra_libpath targ64_extra_emuls \ + targ64_extra_libpath + do + eval ${z}=\"\`echo \$${z} \| sed -e $s\`\" + done + s=s/lppc/ppc/g ;; + esac + # Why oh why did we set tooldir based on target_alias + # rather than on target? + eval tdir_${targ_emul}="${targ_alias}" + cpu=`echo "${targ_alias}" | sed -e 's/-.*//'` + rest=`echo "${targ_alias}" | sed -e 's/^[^-]*//'` + le=le + case "${cpu}" in + *little) le=little + esac + ta32=`echo "${cpu}" | sed -e s/64//`"${rest}" + ta64=`echo "${cpu}" | sed -e 's/64//;s/$/64/;s/'${le}'64$/64'${le}'/;s/be64$/64be/'`"${rest}" + eval test -n \"\$${td}\" || eval ${td}="${ta32}" + eval test -n \"\$${td}linux\" || eval ${td}linux="${ta32}" + eval test -n \"\$${td}sim\" || eval ${td}sim="${ta32}" + eval test -n \"\$${td64}\" || eval ${td64}="${ta64}" + # Now provide the other endian + for z in targ_extra_emuls targ_extra_libpath + do + eval ${z}=\"\$${z} \`echo ${targ_emul} \$${z} \| sed -e $s\`\" + done + for z in targ64_extra_emuls targ64_extra_libpath + do + eval ${z}=\"\$${z} \`echo \$${z} \| sed -e $s\`\" + done + td=`echo "${td}" | sed -e $s` + td64=`echo "${td64}" | sed -e $s` + case "${targ}" in + powerpcle-* | powerpc64le-*) + cpu=`echo "${cpu}" | sed -e s/${le}\$//` ;; + *) + cpu=`echo "${cpu}" | sed -e s/be\$//`${le} ;; + esac + ta32=`echo "${cpu}" | sed -e s/64//`"${rest}" + ta64=`echo "${cpu}" | sed -e 's/64//;s/$/64/;s/'${le}'64$/64'${le}/`"${rest}" + eval test -n \"\$${td}\" || eval ${td}="${ta32}" + eval test -n \"\$${td}linux\" || eval ${td}linux="${ta32}" + eval test -n \"\$${td}sim\" || eval ${td}sim="${ta32}" + eval test -n \"\$${td64}\" || eval ${td64}="${ta64}" + ;; +powerpc-*-nto*) targ_emul=elf32ppcnto ;; +powerpcle-*-nto*) targ_emul=elf32lppcnto ;; +powerpc-*-macos*) targ_emul=ppcmacos ;; +powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*) + targ_emul=ppcpe + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +powerpc-*-aix[5-9]*) targ_emul=aix5ppc ;; +powerpc-*-aix*) targ_emul=aixppc ;; +powerpc-*-beos*) targ_emul=aixppc ;; +powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;; +powerpc-*-lynxos*) targ_emul=ppclynx ;; +pru*-*-*) targ_emul=pruelf ;; +riscv32*-*-linux*) targ_emul=elf32lriscv + targ_extra_emuls="elf32lriscv_ilp32f elf32lriscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64" + targ_extra_libpath=$targ_extra_emuls ;; +riscv-*-* | riscv32*-*-*) + targ_emul=elf32lriscv + targ_extra_emuls="elf64lriscv" + targ_extra_libpath=$targ_extra_emuls ;; +riscv64*-*-linux*) targ_emul=elf64lriscv + targ_extra_emuls="elf64lriscv_lp64f elf64lriscv_lp64 elf32lriscv elf32lriscv_ilp32f elf32lriscv_ilp32" + targ_extra_libpath=$targ_extra_emuls ;; +riscv64*-*-*) targ_emul=elf64lriscv + targ_extra_emuls="elf32lriscv" + targ_extra_libpath=$targ_extra_emuls ;; +rs6000-*-aix[5-9]*) targ_emul=aix5rs6 ;; +rs6000-*-aix*) targ_emul=aixrs6 + ;; +rl78-*-*) targ_emul=elf32rl78 ;; +rx-*-*) targ_emul=elf32rx ;; +s390x-*-linux*) targ_emul=elf64_s390 + targ_extra_emuls=elf_s390 + targ_extra_libpath=$targ_extra_emuls + tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; +s390x-*-tpf*) targ_emul=elf64_s390 + tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; +s390-*-linux*) targ_emul=elf_s390 + targ64_extra_emuls=elf64_s390 + targ64_extra_libpath=elf64_s390 + tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` + ;; +score-*-elf) targ_emul=score7_elf + targ_extra_emuls=score3_elf ;; +sh-*-linux*) targ_emul=shlelf_linux + targ_extra_emuls="shelf_linux shlelf_fd shelf_fd" + targ_extra_libpath=shelf_linux ;; +sh*eb-*-linux*) targ_emul=shelf_linux + targ_extra_emuls="shelf_fd" ;; +sh*-*-linux*) targ_emul=shlelf_linux + targ_extra_emuls="shlelf_fd" ;; +sh*l*-*-netbsdelf*) targ_emul=shlelf_nbsd + targ_extra_emuls=shelf_nbsd ;; +sh*-*-netbsdelf*) targ_emul=shelf_nbsd + targ_extra_emuls=shlelf_nbsd ;; +shle*-*-elf* | sh[1234]*le*-*-elf | shle*-*-kaos*) + targ_emul=shlelf + targ_extra_emuls="shelf shl sh" ;; +sh-*-elf* | sh[1234]*-*-elf | sh-*-rtems* | sh-*-kaos*) + targ_emul=shelf + targ_extra_emuls="shlelf sh shl" ;; +sh-*-uclinux* | sh[12]-*-uclinux*) + targ_emul=shelf_uclinux + targ_extra_emuls="shelf shlelf sh shl shelf_fd shlelf_fd" ;; +sh-*-vxworks) targ_emul=shelf_vxworks + targ_extra_emuls=shlelf_vxworks ;; +sh-*-nto*) targ_emul=shelf_nto + targ_extra_emuls=shlelf_nto ;; +sh-*-pe) targ_emul=shpe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +sh-*-*) targ_emul=sh; targ_extra_emuls=shl ;; +sparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu) + targ_emul=elf64_sparc_fbsd + targ_extra_emuls="elf64_sparc elf32_sparc" + targ_extra_libpath=$targ_extra_emuls + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; +sparc64-*-linux-*) targ_emul=elf64_sparc + targ_extra_emuls="elf32_sparc" + targ_extra_libpath=elf32_sparc + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; +sparc64-*-*bsd*) targ_emul=elf64_sparc + targ_extra_emuls="elf32_sparc" ;; +sparc64-*-solaris2* | sparcv9-*-solaris2*) + targ_emul=elf64_sparc_sol2 + targ_extra_emuls="elf64_sparc elf32_sparc_sol2 elf32_sparc" + targ_extra_libpath=$targ_extra_emuls + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; +sparc64-*-*) targ_emul=elf64_sparc ;; +sparc*-*-linux-*) targ_emul=elf32_sparc + targ_extra_emuls="elf64_sparc" + targ_extra_libpath=elf64_sparc + tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;; +sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) + targ_emul=elf32_sparc_sol2 + targ_extra_emuls=elf32_sparc ;; +sparc-*-solaris2*) targ_emul=elf32_sparc_sol2 + targ_extra_emuls="elf32_sparc elf64_sparc_sol2 elf64_sparc" + targ_extra_libpath=$targ_extra_emuls + tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;; +sparc*-*-vxworks*) targ_emul=elf32_sparc_vxworks ;; +sparc*-*-*) targ_emul=elf32_sparc ;; +spu-*-elf*) targ_emul=elf32_spu ;; +tic30-*-*aout*) targ_emul=tic30aout ;; +tic30-*-*coff*) targ_emul=tic30coff ;; +tic4x-*-* | c4x-*-*) targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;; +tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;; +tic6x-*-elf) targ_emul=elf32_tic6x_elf_le + targ_extra_emuls="elf32_tic6x_elf_be elf32_tic6x_le elf32_tic6x_be" + targ_extra_libpath=$targ_extra_emuls + ;; +tic6x-*-uclinux) targ_emul=elf32_tic6x_linux_le + targ_extra_emuls="elf32_tic6x_linux_be elf32_tic6x_le elf32_tic6x_be" + targ_extra_libpath=$targ_extra_emuls + ;; +tic80-*-*) targ_emul=tic80coff + ;; +tilegx-*-*) targ_emul=elf64tilegx + targ_extra_emuls="elf64tilegx_be elf32tilegx elf32tilegx_be" + targ_extra_libpath=$targ_extra_emuls ;; +tilegxbe-*-*) targ_emul=elf64tilegx_be + targ_extra_emuls="elf64tilegx elf32tilegx elf32tilegx_be" + targ_extra_libpath=$targ_extra_emuls ;; +tilepro-*-*) targ_emul=elf32tilepro ;; +ft32-*-*) targ_emul=elf32ft32 + ;; +v850*-*-*) targ_emul=v850_rh850 + targ_extra_emuls=v850 + ;; +vax-*-netbsdelf*) targ_emul=elf32vax + targ_extra_emuls=vaxnbsd ;; +vax-*-netbsdaout* | vax-*-netbsd*) + targ_emul=vaxnbsd + targ_extra_emuls=elf32vax ;; +vax-*-linux-*) targ_emul=elf32vax + ;; +visium-*-elf) targ_emul=elf32visium + ;; +xc16x-*-elf) targ_emul=elf32xc16x + targ_extra_emuls="elf32xc16xl elf32xc16xs" + ;; +xstormy16-*-*) targ_emul=elf32xstormy16 + ;; +xtensa*-*-*) targ_emul=elf32xtensa + ;; +xgate-*-*) targ_emul=xgateelf + ;; +z80-*-coff) targ_emul=z80 + ;; +z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 + ;; +*-*-ieee*) targ_emul=vanilla + ;; +*) + echo 2>&1 "*** ld does not support target ${targ}" + echo 2>&1 "*** see ld/configure.tgt for supported targets" + exit 1 + +esac + +NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib' +case "${target}" in + +*-*-dragonfly*) + NATIVE_LIB_DIRS='/lib /usr/lib /usr/pkg/lib /usr/local/lib' + ;; + +*-*-freebsd*) + NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib' + ;; + +hppa*64*-*-hpux11*) + NATIVE_LIB_DIRS=/usr/lib/pa20_64 + ;; + +i[3-7]86-*-sysv4*) + NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' + ;; + +i[3-7]86-*-solaris*) + NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' + ;; + +i[3-7]86-pc-interix*) + NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib' + ;; + +ia64-*-aix*) + NATIVE_LIB_DIRS='/usr/local/lib /usr/lib/ia64l64 /lib /usr/lib' + ;; + +sparc*-*-solaris2*) + NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' + ;; + +spu-*-elf*) + # This allows to build a pair of PPU/SPU toolchains with common sysroot. + NATIVE_LIB_DIRS='/lib' + ;; + +i[03-9x]86-*-cygwin* | x86_64-*-cygwin*) + NATIVE_LIB_DIRS='/usr/lib /usr/lib/w32api' + ;; + +*-*-linux*) + ;; + +*-*-netbsd*) + ;; + +alpha*-*-*) + NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' + ;; + +esac + +case "${target}" in +frv-*-* | hppa*-*-* | ia64-*-* | mips*-*-*) + # Don't enable -z relro by default since many relro tests fail on these + # targets: + # FAIL: strip -z relro (relro1) + # FAIL: strip -z relro -shared (relro1) + # FAIL: objcopy -z relro (relro1) + # FAIL: objcopy -z relro -shared (relro1) + # FAIL: objcopy -z relro (tdata1) + # FAIL: objcopy -shared -z relro (tdata1) + # FAIL: objcopy -z relro (tdata2) + # FAIL: objcopy -shared -z relro (tdata2) + # FAIL: objcopy -z relro (tdata3) + # FAIL: objcopy -shared -z relro (tdata3) + # FAIL: objcopy -shared -z relro (tbss1) + # FAIL: objcopy -shared -z relro (tbss2) + # FAIL: objcopy -shared -z relro (tbss3) + ;; +*-*-linux*) + if test ${ac_default_ld_z_relro} = unset; then + ac_default_ld_z_relro=1 + fi + ;; +esac + +# Enable -z separate-code by default for Linux/x86. +case "${target}" in +i[3-7]86-*-linux-* | x86_64-*-linux-*) + if test ${ac_default_ld_z_separate_code} = unset; then + ac_default_ld_z_separate_code=1 + fi + ;; +esac diff --git a/arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh b/arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh new file mode 100644 index 0000000..8e7c863 --- /dev/null +++ b/arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh @@ -0,0 +1,37 @@ +GENERATE_SHLIB_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes + +MACHINE= +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-littlearm" +BIG_OUTPUT_FORMAT="elf32-bigarm" +LITTLE_OUTPUT_FORMAT="elf32-littlearm" +TEXT_START_ADDR=0x1000 +TEMPLATE_NAME=elf32 +EXTRA_EM_FILE=armelf +OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" +OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' +ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' +OTHER_READONLY_SECTIONS=" + .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) } + ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); } + .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) } + ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }" + +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};" + +ARCH=arm +MACHINE= +MAXPAGESIZE=0x1000 +#MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +ENTRY=_start +EMBEDDED=yes + +# This sets the stack to the top of the simulator memory (2^19 bytes). +STACK_ADDR=0x10000 + +# ARM does not support .s* sections. +NO_SMALL_DATA=yes -- cgit v1.2.3