From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 118527 invoked by alias); 1 Jun 2015 21:00:40 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 118179 invoked by uid 89); 1 Jun 2015 21:00:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.1 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 01 Jun 2015 21:00:34 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id DACFFCBDAA; Mon, 1 Jun 2015 20:50:23 +0000 (UTC) Received: from c64.redhat.com (vpn-230-103.phx2.redhat.com [10.3.230.103]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t51KoE5K030113; Mon, 1 Jun 2015 16:50:23 -0400 From: David Malcolm To: gcc-patches@gcc.gnu.org, binutils@sourceware.org Cc: David Malcolm Subject: [PATCH 13/16] ld/Makefile.am: Introduce a libld.la Date: Mon, 01 Jun 2015 21:00:00 -0000 Message-Id: <1433192664-50156-14-git-send-email-dmalcolm@redhat.com> In-Reply-To: <1433192664-50156-1-git-send-email-dmalcolm@redhat.com> References: <1433192664-50156-1-git-send-email-dmalcolm@redhat.com> X-IsSubscribed: yes X-SW-Source: 2015-06/txt/msg00025.txt.bz2 Similarly to "libgas.la" before , this introduces a libld.la, moving everything from "ld" into it, with ld built from ldmainmain.c. As before with the libgas.la patch, this patch isn't ready yet, but seems to be good enough for prototyping the libgccjit.so integration. --- ld/Makefile.am | 64 ++++++++++++++++++++++++---------------------------------- 1 file changed, 26 insertions(+), 38 deletions(-) diff --git a/ld/Makefile.am b/ld/Makefile.am index 55b62c5..71e4f8a 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -40,6 +40,7 @@ ELF_CLFAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \ WARN_CFLAGS = @WARN_CFLAGS@ NO_WERROR = @NO_WERROR@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +CFLAGS +=-fPIC # Conditionally enable the plugin interface. if ENABLE_PLUGINS @@ -132,11 +133,14 @@ CXX_FOR_TARGET = ` \ transform = s/^ld-new$$/$(installed_linker)/;@program_transform_name@ bin_PROGRAMS = ld-new +lib_LTLIBRARIES = libld.la info_TEXINFOS = ld.texinfo ld_TEXINFOS = configdoc.texi noinst_TEXINFOS = ldint.texinfo man_MANS = ld.1 +include_HEADERS = libld.h + AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \ -I $(top_srcdir)/../libiberty TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \ @@ -583,42 +587,23 @@ po/POTFILES.in: @MAINT@ Makefile for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \ && mv tmp $(srcdir)/po/POTFILES.in -ldmain.@OBJEXT@: ldmain.c config.status -if am__fastdepCC - $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \ +# FIXME: +# ldmain.lo wants: +# -DDEFAULT_EMULATION='"$(EMUL)"' \ +# -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \ +# -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ +# +# ldfile.lo wants: +# -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' +# +# Here we combine them all: +AM_CFLAGS += \ -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 + -DSCRIPTDIR='"$(scriptdir)"' -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 +eelf32_spu.lo: eelf32_spu.c if am__fastdepCC $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \ -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" eelf32_spu.c @@ -1999,19 +1984,22 @@ eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \ # We need this for automake to use YLWRAP. -EXTRA_ld_new_SOURCES = deffilep.y ldlex.l +EXTRA_libld_la_SOURCES = deffilep.y ldlex.l # Allow dependency tracking to work for these files, too. -EXTRA_ld_new_SOURCES += pep-dll.c pe-dll.c +EXTRA_libld_la_SOURCES += pep-dll.c pe-dll.c + +ld_new_SOURCES = ldmainmain.c -ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \ +libld_la_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) \ +libld_la_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \ $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP) -ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL) +libld_la_LIBADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL) +ld_new_LDADD = libld.la # Dependency tracking for the generated emulation files. -EXTRA_ld_new_SOURCES += $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES) +EXTRA_libld_la_SOURCES += $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES) # This is the real libbfd.a created by libtool. TESTBFDLIB = @TESTBFDLIB@ -- 1.8.5.3