170e618ef5
This is an analogous option to --bootstrap-asan to configure. It allows bootstrapping GCC using HWASAN. For the same reasons as for ASAN we have to avoid using the HWASAN sanitizer when compiling libiberty and the lto-plugin. Also add a function to query whether -fsanitize=hwaddress has been passed. ChangeLog: * configure: Regenerate. * configure.ac: Add --bootstrap-hwasan option. config/ChangeLog: * bootstrap-hwasan.mk: New file. gcc/ChangeLog: * doc/install.texi: Document new option. libiberty/ChangeLog: * configure: Regenerate. * configure.ac: Avoid using sanitizer. lto-plugin/ChangeLog: * Makefile.am: Avoid using sanitizer. * Makefile.in: Regenerate.
53 lines
2.3 KiB
Makefile
53 lines
2.3 KiB
Makefile
## Process this file with automake to produce Makefile.in.
|
|
|
|
ACLOCAL_AMFLAGS = -I .. -I ../config
|
|
AUTOMAKE_OPTIONS = no-dependencies
|
|
|
|
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
|
|
target_noncanonical := @target_noncanonical@
|
|
libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix)
|
|
|
|
AM_CPPFLAGS = -I$(top_srcdir)/../include $(DEFS)
|
|
AM_CFLAGS = @ac_lto_plugin_warn_cflags@ $(CET_HOST_FLAGS)
|
|
AM_LDFLAGS = @ac_lto_plugin_ldflags@
|
|
AM_LIBTOOLFLAGS = --tag=disable-static
|
|
override CFLAGS := $(filter-out -fsanitize=address -fsanitize=hwaddress,$(CFLAGS))
|
|
override LDFLAGS := $(filter-out -fsanitize=address -fsanitize=hwaddress,$(LDFLAGS))
|
|
|
|
libexecsub_LTLIBRARIES = liblto_plugin.la
|
|
gcc_build_dir = @gcc_build_dir@
|
|
in_gcc_libs = $(foreach lib, $(libexecsub_LTLIBRARIES), $(gcc_build_dir)/$(lib))
|
|
|
|
liblto_plugin_la_SOURCES = lto-plugin.c
|
|
# Note that we intentionally override the bindir supplied by ACX_LT_HOST_FLAGS.
|
|
liblto_plugin_la_LDFLAGS = $(AM_LDFLAGS) \
|
|
$(lt_host_flags) -module -avoid-version -bindir $(libexecsubdir)
|
|
# Can be simplified when libiberty becomes a normal convenience library.
|
|
libiberty = $(with_libiberty)/libiberty.a
|
|
libiberty_noasan = $(with_libiberty)/noasan/libiberty.a
|
|
libiberty_pic = $(with_libiberty)/pic/libiberty.a
|
|
Wc=-Wc,
|
|
liblto_plugin_la_LIBADD = \
|
|
$(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
|
$(if $(wildcard $(libiberty_pic)),$(Wc)$(libiberty_pic),))
|
|
liblto_plugin_la_LDFLAGS += \
|
|
$(if $(wildcard $(libiberty_noasan)),, \
|
|
$(if $(wildcard $(libiberty_pic)),,-Wc,$(libiberty)))
|
|
liblto_plugin_la_DEPENDENCIES = \
|
|
$(if $(wildcard $(libiberty_noasan)),$(libiberty_noasan), \
|
|
$(if $(wildcard $(libiberty_pic)),$(libiberty_pic),))
|
|
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
|
|
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)
|
|
|
|
$(in_gcc_libs) : $(gcc_build_dir)/%: %
|
|
@if test "X`dlname=; . ./$*; echo dlname:$$dlname`" = "Xdlname:"; then \
|
|
echo WARNING: $* is static, not copying to $@ >&2 ; \
|
|
else \
|
|
$(mkinstalldirs) $(gcc_build_dir) && \
|
|
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $* `pwd`/$@ ; \
|
|
fi
|