diff options
author | Jakub Jelinek <jakub@redhat.com> | 2014-04-17 14:23:28 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2014-04-17 14:23:28 +0200 |
commit | ffe7f7a75f2e5709f2678d01bf1a92890304c346 (patch) | |
tree | 939f1ccdf6369001e5600ee2c4b597483c98bc23 | |
parent | 79896351cbd1ba94a66b867694b335127ee72449 (diff) | |
download | gcc-ffe7f7a75f2e5709f2678d01bf1a92890304c346.zip gcc-ffe7f7a75f2e5709f2678d01bf1a92890304c346.tar.gz gcc-ffe7f7a75f2e5709f2678d01bf1a92890304c346.tar.bz2 |
re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
* libtool-ldflags: Also prefix -static-lib*, -shared-lib*
and -B* options with -Xcompiler.
lto-plugin/
* Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables.
* Makefile.in: Regenerated.
From-SVN: r209475
-rw-r--r-- | ChangeLog | 6 | ||||
-rwxr-xr-x | libtool-ldflags | 7 | ||||
-rw-r--r-- | lto-plugin/ChangeLog | 6 | ||||
-rw-r--r-- | lto-plugin/Makefile.am | 4 | ||||
-rw-r--r-- | lto-plugin/Makefile.in | 8 |
5 files changed, 25 insertions, 6 deletions
@@ -1,3 +1,9 @@ +2014-04-17 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/56781 + * libtool-ldflags: Also prefix -static-lib*, -shared-lib* + and -B* options with -Xcompiler. + 2014-04-04 Eric Botcazou <ebotcazou@adacore.com> PR bootstrap/60620 diff --git a/libtool-ldflags b/libtool-ldflags index e32e37b..5de9e29 100755 --- a/libtool-ldflags +++ b/libtool-ldflags @@ -2,7 +2,7 @@ # Script to translate LDFLAGS into a form suitable for use with libtool. -# Copyright (C) 2005 Free Software Foundation, Inc. +# Copyright (C) 2005-2014 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 @@ -36,14 +36,15 @@ prev_arg= for arg do case $arg in - -f*|--*) + -f*|--*|-static-lib*|-shared-lib*|-B*) # Libtool does not ascribe any special meaning options # that begin with -f or with a double-dash. So, it will # think these options are linker options, and prefix them # with "-Wl,". Then, the compiler driver will ignore the # options. So, we prefix these options with -Xcompiler to # make clear to libtool that they are in fact compiler - # options. + # options. Similarly for e.g. -static-libstdc++, or + # -B/some/path. case $prev_arg in -Xpreprocessor|-Xcompiler|-Xlinker) # This option is already prefixed; don't prefix it again. diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog index de0db1d..a801542 100644 --- a/lto-plugin/ChangeLog +++ b/lto-plugin/ChangeLog @@ -1,3 +1,9 @@ +2014-04-17 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/56781 + * Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables. + * Makefile.in: Regenerated. + 2014-04-02 Richard Biener <rguenther@suse.de> * lto-plugin.c (onload): Fail to load if -fno-use-linker-plugin diff --git a/lto-plugin/Makefile.am b/lto-plugin/Makefile.am index e3391bc..507e027 100644 --- a/lto-plugin/Makefile.am +++ b/lto-plugin/Makefile.am @@ -18,6 +18,7 @@ in_gcc_libs = $(foreach lib, $(libexecsub_LTLIBRARIES), $(gcc_build_dir)/$(lib)) # Can be removed when libiberty becomes a normal convenience library Wc=-Wc, +LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) liblto_plugin_la_SOURCES = lto-plugin.c liblto_plugin_la_LIBADD = \ @@ -28,6 +29,9 @@ liblto_plugin_la_LDFLAGS = $(AM_LDFLAGS) \ $(if $(wildcard ../libiberty/pic/libiberty.a),,-Wc,../libiberty/libiberty.a) liblto_plugin_la_DEPENDENCIES = $(if $(wildcard \ ../libiberty/pic/libiberty.a),../libiberty/pic/libiberty.a,) +liblto_plugin_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(liblto_plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@ all-local: $(in_gcc_libs) diff --git a/lto-plugin/Makefile.in b/lto-plugin/Makefile.in index a70de62..3739866 100644 --- a/lto-plugin/Makefile.in +++ b/lto-plugin/Makefile.in @@ -84,9 +84,6 @@ am__installdirs = "$(DESTDIR)$(libexecsubdir)" LTLIBRARIES = $(libexecsub_LTLIBRARIES) am_liblto_plugin_la_OBJECTS = lto-plugin.lo liblto_plugin_la_OBJECTS = $(am_liblto_plugin_la_OBJECTS) -liblto_plugin_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(liblto_plugin_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = am__depfiles_maybe = @@ -239,6 +236,7 @@ in_gcc_libs = $(foreach lib, $(libexecsub_LTLIBRARIES), $(gcc_build_dir)/$(lib)) # Can be removed when libiberty becomes a normal convenience library Wc = -Wc, +LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) liblto_plugin_la_SOURCES = lto-plugin.c liblto_plugin_la_LIBADD = \ $(if $(wildcard ../libiberty/pic/libiberty.a),$(Wc)../libiberty/pic/libiberty.a,) @@ -251,6 +249,10 @@ liblto_plugin_la_LDFLAGS = $(AM_LDFLAGS) \ liblto_plugin_la_DEPENDENCIES = $(if $(wildcard \ ../libiberty/pic/libiberty.a),../libiberty/pic/libiberty.a,) +liblto_plugin_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(liblto_plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@ + all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am |