From edf84efc4eae005d0e543e13cc51a751296e6aad Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 9 Apr 2014 17:12:30 +0100 Subject: [PATCH] Remove remaining default manifest support. * Makefile.am (default-manifest.o): Remove rule. (EMUL_EXTRA_BINARIES): Delete. (ALL_EMUL_EXTRA_BINARIES): Delete. (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES. (install-data-local): Remove EMUL_EXTRA_BINARIES. * Makefile.in: Regenerate. * configure.in (all_emul_extra_binaries): Delete. (EMUL_EXTRA_BINARIES): Remove. * configure: Regenerate. * configure.tgt (target_extra_binaries): Delete. * emultempl/default-manifest.rc: Delete. * ld.texinfo: Remove discussion of default manifest. * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete. * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete. --- ld/ChangeLog | 17 +++++++++++++++++ ld/Makefile.am | 13 +++---------- ld/Makefile.in | 12 +++--------- ld/configure | 17 ++--------------- ld/configure.in | 12 ------------ ld/configure.tgt | 8 -------- ld/emulparams/i386pe.sh | 1 - ld/emulparams/i386pep.sh | 1 - ld/emultempl/default-manifest.rc | 28 ---------------------------- ld/ld.texinfo | 8 -------- ld/ldmain.c | 7 +++++++ 11 files changed, 32 insertions(+), 92 deletions(-) delete mode 100644 ld/emultempl/default-manifest.rc diff --git a/ld/ChangeLog b/ld/ChangeLog index 447e4a71ce9..67dcf23dd9d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,20 @@ +2014-04-09 Nick Clifton + + * Makefile.am (default-manifest.o): Remove rule. + (EMUL_EXTRA_BINARIES): Delete. + (ALL_EMUL_EXTRA_BINARIES): Delete. + (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES. + (install-data-local): Remove EMUL_EXTRA_BINARIES. + * Makefile.in: Regenerate. + * configure.in (all_emul_extra_binaries): Delete. + (EMUL_EXTRA_BINARIES): Remove. + * configure: Regenerate. + * configure.tgt (target_extra_binaries): Delete. + * emultempl/default-manifest.rc: Delete. + * ld.texinfo: Remove discussion of default manifest. + * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete. + * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete. + 2014-04-09 Alan Modra * emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h. diff --git a/ld/Makefile.am b/ld/Makefile.am index 3e2dc1af64b..331e5924341 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -59,7 +59,6 @@ scriptdir = $(tooldir)/lib EMUL = @EMUL@ EMULATION_OFILES = @EMULATION_OFILES@ EMUL_EXTRA_OFILES = @EMUL_EXTRA_OFILES@ -EMUL_EXTRA_BINARIES = @EMUL_EXTRA_BINARIES@ # Search path to override the default search path for -lfoo libraries. @@ -491,8 +490,6 @@ ALL_EMUL_EXTRA_OFILES = \ pe-dll.@OBJEXT@ \ pep-dll.@OBJEXT@ -ALL_EMUL_EXTRA_BINARIES = - 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 \ @@ -1926,10 +1923,6 @@ eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)" -# Rule to create a manifest file for Cygwin and Mingw. -default-manifest.o: $(srcdir)/emultempl/default-manifest.rc - ${WINDRES_FOR_TARGET} -o $@ $< - # 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. @@ -1938,7 +1931,7 @@ 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) $(EMUL_EXTRA_BINARIES) \ +ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \ $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP) ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL) @@ -2085,9 +2078,9 @@ install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS fi; \ fi -install-data-local: $(EMUL_EXTRA_BINARIES) +install-data-local: $(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts - for f in ldscripts/* $(EMUL_EXTRA_BINARIES); do \ + for f in ldscripts/* ; do \ $(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \ done diff --git a/ld/Makefile.in b/ld/Makefile.in index 4f54c26cdce..823f91b0058 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -219,7 +219,6 @@ EGREP = @EGREP@ EMUL = @EMUL@ EMULATION_LIBPATH = @EMULATION_LIBPATH@ EMULATION_OFILES = @EMULATION_OFILES@ -EMUL_EXTRA_BINARIES = @EMUL_EXTRA_BINARIES@ EMUL_EXTRA_OFILES = @EMUL_EXTRA_OFILES@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ @@ -796,7 +795,6 @@ ALL_EMUL_EXTRA_OFILES = \ pe-dll.@OBJEXT@ \ pep-dll.@OBJEXT@ -ALL_EMUL_EXTRA_BINARIES = 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 \ @@ -842,7 +840,7 @@ ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmai 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) $(EMUL_EXTRA_BINARIES) \ +ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \ $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP) ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL) @@ -3360,10 +3358,6 @@ eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)" -# Rule to create a manifest file for Cygwin and Mingw. -default-manifest.o: $(srcdir)/emultempl/default-manifest.rc - ${WINDRES_FOR_TARGET} -o $@ $< - check-DEJAGNU: site.exp srcroot=`cd $(srcdir) && pwd`; export srcroot; \ r=`pwd`; export r; \ @@ -3449,9 +3443,9 @@ install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS fi; \ fi -install-data-local: $(EMUL_EXTRA_BINARIES) +install-data-local: $(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts - for f in ldscripts/* $(EMUL_EXTRA_BINARIES); do \ + for f in ldscripts/* ; do \ $(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \ done diststuff: info $(EXTRA_DIST) diff --git a/ld/configure b/ld/configure index 30c6a36397b..b6c324605ee 100755 --- a/ld/configure +++ b/ld/configure @@ -605,7 +605,6 @@ LIBOBJS TESTBFDLIB EMULATION_LIBPATH LIB_PATH -EMUL_EXTRA_BINARIES EMUL_EXTRA_OFILES EMULATION_OFILES EMUL @@ -12194,7 +12193,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12197 "configure" +#line 12196 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12300,7 +12299,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12303 "configure" +#line 12302 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -16838,7 +16837,6 @@ all_targets= EMUL= all_emuls= all_emul_extras= -all_emul_extra_binaries= all_libpath= rm -f tdirs @@ -16947,14 +16945,6 @@ do esac done - for i in $targ_extra_binaries; do - case " $all_emul_extra_binaries " in - *" ${i} "*) ;; - *) - all_emul_extra_binaries="$all_emul_extra_binaries ${i}" - ;; - esac - done fi done @@ -16970,17 +16960,14 @@ if test x${all_targets} = xtrue; then EMULATION_OFILES='$(ALL_EMULATIONS)' fi EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)' - EMUL_EXTRA_BINARIES='$(ALL_EMUL_EXTRA_BINARIES)' else EMULATION_OFILES=$all_emuls EMUL_EXTRA_OFILES=$all_emul_extras - EMUL_EXTRA_BINARIES=$all_emul_extra_binaries fi - EMULATION_LIBPATH=$all_libpath diff --git a/ld/configure.in b/ld/configure.in index 13979987b89..d8607e21520 100644 --- a/ld/configure.in +++ b/ld/configure.in @@ -275,7 +275,6 @@ all_targets= EMUL= all_emuls= all_emul_extras= -all_emul_extra_binaries= all_libpath= dnl We need to get an arbitrary number of tdir definitions into @@ -355,14 +354,6 @@ do esac done - for i in $targ_extra_binaries; do - case " $all_emul_extra_binaries " in - *" ${i} "*) ;; - *) - all_emul_extra_binaries="$all_emul_extra_binaries ${i}" - ;; - esac - done fi done @@ -378,15 +369,12 @@ if test x${all_targets} = xtrue; then EMULATION_OFILES='$(ALL_EMULATIONS)' fi EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)' - EMUL_EXTRA_BINARIES='$(ALL_EMUL_EXTRA_BINARIES)' else EMULATION_OFILES=$all_emuls EMUL_EXTRA_OFILES=$all_emul_extras - EMUL_EXTRA_BINARIES=$all_emul_extra_binaries fi AC_SUBST(EMULATION_OFILES) AC_SUBST(EMUL_EXTRA_OFILES) -AC_SUBST(EMUL_EXTRA_BINARIES) AC_SUBST(LIB_PATH) EMULATION_LIBPATH=$all_libpath diff --git a/ld/configure.tgt b/ld/configure.tgt index 7a0c09b4a0b..ff8ed67c842 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -27,7 +27,6 @@ # 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 -# targ_extra_binaries additional target-built binaries 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 @@ -310,30 +309,23 @@ i[3-7]86-*-gnu*) targ_emul=elf_i386 ;; 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_binaries="default-manifest.o" ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-pe) targ_emul=i386pe ; - targ_extra_binaries="default-manifest.o" ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-cygwin*) targ_emul=i386pe ; - targ_extra_binaries="default-manifest.o" ; 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_binaries="default-manifest.o" ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ; targ_extra_emuls=i386pe ; - targ_extra_binaries="default-manifest.o" ; targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; x86_64-*-cygwin) targ_emul=i386pep ; targ_extra_emuls=i386pe - targ_extra_binaries="default-manifest.o" ; 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_binaries="default-manifest.o" ; 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" ;; diff --git a/ld/emulparams/i386pe.sh b/ld/emulparams/i386pe.sh index 6e3c790fcfa..38191ecb24c 100644 --- a/ld/emulparams/i386pe.sh +++ b/ld/emulparams/i386pe.sh @@ -7,4 +7,3 @@ SUBSYSTEM=PE_DEF_SUBSYSTEM INITIAL_SYMBOL_CHAR=\"_\" TARGET_PAGE_SIZE=0x1000 GENERATE_AUTO_IMPORT_SCRIPT=1 -DEFAULT_MANIFEST="default-manifest.o" diff --git a/ld/emulparams/i386pep.sh b/ld/emulparams/i386pep.sh index c84ce44d125..76a980287c7 100644 --- a/ld/emulparams/i386pep.sh +++ b/ld/emulparams/i386pep.sh @@ -7,4 +7,3 @@ SUBSYSTEM=PE_DEF_SUBSYSTEM INITIAL_SYMBOL_CHAR=\"_\" TARGET_PAGE_SIZE=0x1000 GENERATE_AUTO_IMPORT_SCRIPT=1 -DEFAULT_MANIFEST="default-manifest.o" diff --git a/ld/emultempl/default-manifest.rc b/ld/emultempl/default-manifest.rc deleted file mode 100644 index 122f5e8d356..00000000000 --- a/ld/emultempl/default-manifest.rc +++ /dev/null @@ -1,28 +0,0 @@ -LANGUAGE 0, 0 - -/* CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST MOVEABLE PURE DISCARDABLE */ -1 24 MOVEABLE PURE DISCARDABLE -BEGIN - "\n" - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n" -END diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 7d2de3b0eb9..e3d046941a8 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -7599,14 +7599,6 @@ tools will be able to process object files employing this GNU extension, but will fail to respect the alignment instructions, and may issue noisy warnings about unknown linker directives. -@cindex default manifest -@item default manifest -The linker will automatically add a default manifest to the .rsrc -section of any fully linked cygwin or MingGW binary. This manifest is -necessary in order to be able to execute the binary under Windows 8 -(or later). An application can supply its own manifest, and if it -does so then this manifest will be used in preference to the default -one. @end table @ifclear GENERIC diff --git a/ld/ldmain.c b/ld/ldmain.c index b132dae62df..4c7ea68f41e 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -432,7 +432,14 @@ main (int argc, char **argv) output_cref (config.map_file != NULL ? config.map_file : stdout); if (nocrossref_list != NULL) check_nocrossrefs (); +#if 0 + { + struct bfd_link_hash_entry * h; + h = bfd_link_hash_lookup (link_info.hash, "__image_base__", 0,0,1); + fprintf (stderr, "lookup = %p val %lx\n", h, h ? h->u.def.value : 1); + } +#endif lang_finish (); /* Even if we're producing relocatable output, some non-fatal errors should -- 2.30.2