This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


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

Re: [PATCH] Use the LTO linker plugin by default


Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> It does use the host compiler for me, too.
>
>> but maybe _that_ is the issue for you? (see also how it uses
>> -static-libgcc, for me it doesn't even depend on libgcc_s)
>
> But as you can see above, libtool, being its usual helpful self, simply
> drops -static-libgcc ;-(  If I use -Wc,-static-libgcc, all seems fine.

The following patch implements this.  The override is necessary to avoid
LDFLAGS passed in from the toplevel to replace the Makefile value.

Bootstraps on i386-pc-solaris2.10 and x86_64-unknown-linux-gnu are now
well beyond stage1.  Ok for mainline if they pass?

Thanks
	Rainer


2014-03-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (comma): New variable
	(LDFLAGS): Prefix -static-libgcc with -Wc.

# HG changeset patch
# Parent baa4e95100d168dd4133db86c265fd35739647aa
Fix Solaris bootstrap with GNU ld/LTO

diff --git a/lto-plugin/Makefile.am b/lto-plugin/Makefile.am
--- a/lto-plugin/Makefile.am
+++ b/lto-plugin/Makefile.am
@@ -15,6 +15,10 @@ libexecsub_LTLIBRARIES = liblto_plugin.l
 gcc_build_dir = ../$(host_subdir)/gcc
 in_gcc_libs = $(foreach lib, $(libexecsub_LTLIBRARIES), $(gcc_build_dir)/$(lib))
 
+# Need to protect -static-libgcc from libtool
+comma = ,
+override LDFLAGS = $(patsubst -static-libgcc,-Wc$(comma)-static-libgcc,@LDFLAGS@)
+
 # Can be removed when libiberty becomes a normal convenience library
 Wc=-Wc,
 
-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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