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
This commit is contained in:
Jakub Jelinek 2014-04-17 14:23:28 +02:00 committed by Jakub Jelinek
parent 79896351cb
commit ffe7f7a75f
5 changed files with 25 additions and 6 deletions

View File

@ -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> 2014-04-04 Eric Botcazou <ebotcazou@adacore.com>
PR bootstrap/60620 PR bootstrap/60620

View File

@ -2,7 +2,7 @@
# Script to translate LDFLAGS into a form suitable for use with libtool. # 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 # 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 # it under the terms of the GNU General Public License as published by
@ -36,14 +36,15 @@ prev_arg=
for arg for arg
do do
case $arg in case $arg in
-f*|--*) -f*|--*|-static-lib*|-shared-lib*|-B*)
# Libtool does not ascribe any special meaning options # Libtool does not ascribe any special meaning options
# that begin with -f or with a double-dash. So, it will # that begin with -f or with a double-dash. So, it will
# think these options are linker options, and prefix them # think these options are linker options, and prefix them
# with "-Wl,". Then, the compiler driver will ignore the # with "-Wl,". Then, the compiler driver will ignore the
# options. So, we prefix these options with -Xcompiler to # options. So, we prefix these options with -Xcompiler to
# make clear to libtool that they are in fact compiler # 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 case $prev_arg in
-Xpreprocessor|-Xcompiler|-Xlinker) -Xpreprocessor|-Xcompiler|-Xlinker)
# This option is already prefixed; don't prefix it again. # This option is already prefixed; don't prefix it again.

View File

@ -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> 2014-04-02 Richard Biener <rguenther@suse.de>
* lto-plugin.c (onload): Fail to load if -fno-use-linker-plugin * lto-plugin.c (onload): Fail to load if -fno-use-linker-plugin

View File

@ -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 # Can be removed when libiberty becomes a normal convenience library
Wc=-Wc, Wc=-Wc,
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
liblto_plugin_la_SOURCES = lto-plugin.c liblto_plugin_la_SOURCES = lto-plugin.c
liblto_plugin_la_LIBADD = \ liblto_plugin_la_LIBADD = \
@ -28,6 +29,9 @@ liblto_plugin_la_LDFLAGS = $(AM_LDFLAGS) \
$(if $(wildcard ../libiberty/pic/libiberty.a),,-Wc,../libiberty/libiberty.a) $(if $(wildcard ../libiberty/pic/libiberty.a),,-Wc,../libiberty/libiberty.a)
liblto_plugin_la_DEPENDENCIES = $(if $(wildcard \ liblto_plugin_la_DEPENDENCIES = $(if $(wildcard \
../libiberty/pic/libiberty.a),../libiberty/pic/libiberty.a,) ../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) all-local: $(in_gcc_libs)

View File

@ -84,9 +84,6 @@ am__installdirs = "$(DESTDIR)$(libexecsubdir)"
LTLIBRARIES = $(libexecsub_LTLIBRARIES) LTLIBRARIES = $(libexecsub_LTLIBRARIES)
am_liblto_plugin_la_OBJECTS = lto-plugin.lo am_liblto_plugin_la_OBJECTS = lto-plugin.lo
liblto_plugin_la_OBJECTS = $(am_liblto_plugin_la_OBJECTS) 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@ DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = depcomp =
am__depfiles_maybe = 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 # Can be removed when libiberty becomes a normal convenience library
Wc = -Wc, Wc = -Wc,
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
liblto_plugin_la_SOURCES = lto-plugin.c liblto_plugin_la_SOURCES = lto-plugin.c
liblto_plugin_la_LIBADD = \ liblto_plugin_la_LIBADD = \
$(if $(wildcard ../libiberty/pic/libiberty.a),$(Wc)../libiberty/pic/libiberty.a,) $(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 \ liblto_plugin_la_DEPENDENCIES = $(if $(wildcard \
../libiberty/pic/libiberty.a),../libiberty/pic/libiberty.a,) ../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 all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am $(MAKE) $(AM_MAKEFLAGS) all-am