From 5094cf211647455091f6c42406f397d78b0c83f6 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 15 Nov 2012 00:16:49 +0000 Subject: [PATCH] Sync toplevel files with GCC 2012-11-13 Richard Henderson * configure.ac: Move libsanitizer logic to subdirectory. * configure: Regenerate. 2012-11-13 Dodji Seketeli * configure.ac: Enable libsanitizer just on x86 linux for now. * configure: Re-generate. 2012-11-13 David Edelsohn * configure.ac: Merge libquadmath sections. * configure: Regenerate. 2012-11-12 Wei Mi * configure.ac: Add libsanitizer to target_libraries. * Makefile.def: Ditto. * configure: Regenerate. * Makefile.in: Regenerate. --- ChangeLog | 22 +++ Makefile.def | 2 + Makefile.in | 487 ++++++++++++++++++++++++++++++++++++++++++++++++++- configure | 30 +++- configure.ac | 27 ++- 5 files changed, 553 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 831ab768f..7c1ac2e00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2012-11-13 Richard Henderson + + * configure.ac: Move libsanitizer logic to subdirectory. + * configure: Regenerate. + +2012-11-13 Dodji Seketeli + + * configure.ac: Enable libsanitizer just on x86 linux for now. + * configure: Re-generate. + +2012-11-13 David Edelsohn + + * configure.ac: Merge libquadmath sections. + * configure: Regenerate. + +2012-11-12 Wei Mi + + * configure.ac: Add libsanitizer to target_libraries. + * Makefile.def: Ditto. + * configure: Regenerate. + * Makefile.in: Regenerate. + 2012-11-03 H.J. Lu * configure: Regenerated. diff --git a/Makefile.def b/Makefile.def index c22388a07..1ea63ac10 100644 --- a/Makefile.def +++ b/Makefile.def @@ -119,6 +119,7 @@ target_modules = { module= libstdc++-v3; lib_path=src/.libs; raw_cxx=true; }; target_modules = { module= libmudflap; lib_path=.libs; }; +target_modules = { module= libsanitizer; lib_path=.libs; }; target_modules = { module= libssp; lib_path=.libs; }; target_modules = { module= newlib; }; target_modules = { module= libgcc; bootstrap=true; no_check=true; }; @@ -503,6 +504,7 @@ dependencies = { module=all-target-libjava; on=all-target-libffi; }; dependencies = { module=configure-target-libobjc; on=configure-target-boehm-gc; }; dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; }; dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; }; +dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; }; // parallel_list.o and parallel_settings.o depend on omp.h, which is // generated by the libgomp configure. Unfortunately, due to the use of // recursive make, we can't be that specific. diff --git a/Makefile.in b/Makefile.in index 321fec9cf..636b2ba18 100644 --- a/Makefile.in +++ b/Makefile.in @@ -575,7 +575,7 @@ all: # This is the list of directories that may be needed in RPATH_ENVVAR # so that programs built for the target machine work. -TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(TARGET_LIB_PATH_libitm)$(TARGET_LIB_PATH_libatomic)$(HOST_LIB_PATH_gcc) +TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libsanitizer)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(TARGET_LIB_PATH_libitm)$(TARGET_LIB_PATH_libatomic)$(HOST_LIB_PATH_gcc) @if target-libstdc++-v3 TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs: @@ -585,6 +585,10 @@ TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs: TARGET_LIB_PATH_libmudflap = $$r/$(TARGET_SUBDIR)/libmudflap/.libs: @endif target-libmudflap +@if target-libsanitizer +TARGET_LIB_PATH_libsanitizer = $$r/$(TARGET_SUBDIR)/libsanitizer/.libs: +@endif target-libsanitizer + @if target-libssp TARGET_LIB_PATH_libssp = $$r/$(TARGET_SUBDIR)/libssp/.libs: @endif target-libssp @@ -920,6 +924,7 @@ configure-host: \ configure-target: \ maybe-configure-target-libstdc++-v3 \ maybe-configure-target-libmudflap \ + maybe-configure-target-libsanitizer \ maybe-configure-target-libssp \ maybe-configure-target-newlib \ maybe-configure-target-libgcc \ @@ -1068,6 +1073,7 @@ all-host: maybe-all-lto-plugin all-target: maybe-all-target-libstdc++-v3 @endif target-libstdc++-v3-no-bootstrap all-target: maybe-all-target-libmudflap +all-target: maybe-all-target-libsanitizer all-target: maybe-all-target-libssp all-target: maybe-all-target-newlib @if target-libgcc-no-bootstrap @@ -1158,6 +1164,7 @@ info-host: maybe-info-lto-plugin info-target: maybe-info-target-libstdc++-v3 info-target: maybe-info-target-libmudflap +info-target: maybe-info-target-libsanitizer info-target: maybe-info-target-libssp info-target: maybe-info-target-newlib info-target: maybe-info-target-libgcc @@ -1239,6 +1246,7 @@ dvi-host: maybe-dvi-lto-plugin dvi-target: maybe-dvi-target-libstdc++-v3 dvi-target: maybe-dvi-target-libmudflap +dvi-target: maybe-dvi-target-libsanitizer dvi-target: maybe-dvi-target-libssp dvi-target: maybe-dvi-target-newlib dvi-target: maybe-dvi-target-libgcc @@ -1320,6 +1328,7 @@ pdf-host: maybe-pdf-lto-plugin pdf-target: maybe-pdf-target-libstdc++-v3 pdf-target: maybe-pdf-target-libmudflap +pdf-target: maybe-pdf-target-libsanitizer pdf-target: maybe-pdf-target-libssp pdf-target: maybe-pdf-target-newlib pdf-target: maybe-pdf-target-libgcc @@ -1401,6 +1410,7 @@ html-host: maybe-html-lto-plugin html-target: maybe-html-target-libstdc++-v3 html-target: maybe-html-target-libmudflap +html-target: maybe-html-target-libsanitizer html-target: maybe-html-target-libssp html-target: maybe-html-target-newlib html-target: maybe-html-target-libgcc @@ -1482,6 +1492,7 @@ TAGS-host: maybe-TAGS-lto-plugin TAGS-target: maybe-TAGS-target-libstdc++-v3 TAGS-target: maybe-TAGS-target-libmudflap +TAGS-target: maybe-TAGS-target-libsanitizer TAGS-target: maybe-TAGS-target-libssp TAGS-target: maybe-TAGS-target-newlib TAGS-target: maybe-TAGS-target-libgcc @@ -1563,6 +1574,7 @@ install-info-host: maybe-install-info-lto-plugin install-info-target: maybe-install-info-target-libstdc++-v3 install-info-target: maybe-install-info-target-libmudflap +install-info-target: maybe-install-info-target-libsanitizer install-info-target: maybe-install-info-target-libssp install-info-target: maybe-install-info-target-newlib install-info-target: maybe-install-info-target-libgcc @@ -1644,6 +1656,7 @@ install-pdf-host: maybe-install-pdf-lto-plugin install-pdf-target: maybe-install-pdf-target-libstdc++-v3 install-pdf-target: maybe-install-pdf-target-libmudflap +install-pdf-target: maybe-install-pdf-target-libsanitizer install-pdf-target: maybe-install-pdf-target-libssp install-pdf-target: maybe-install-pdf-target-newlib install-pdf-target: maybe-install-pdf-target-libgcc @@ -1725,6 +1738,7 @@ install-html-host: maybe-install-html-lto-plugin install-html-target: maybe-install-html-target-libstdc++-v3 install-html-target: maybe-install-html-target-libmudflap +install-html-target: maybe-install-html-target-libsanitizer install-html-target: maybe-install-html-target-libssp install-html-target: maybe-install-html-target-newlib install-html-target: maybe-install-html-target-libgcc @@ -1806,6 +1820,7 @@ installcheck-host: maybe-installcheck-lto-plugin installcheck-target: maybe-installcheck-target-libstdc++-v3 installcheck-target: maybe-installcheck-target-libmudflap +installcheck-target: maybe-installcheck-target-libsanitizer installcheck-target: maybe-installcheck-target-libssp installcheck-target: maybe-installcheck-target-newlib installcheck-target: maybe-installcheck-target-libgcc @@ -1887,6 +1902,7 @@ mostlyclean-host: maybe-mostlyclean-lto-plugin mostlyclean-target: maybe-mostlyclean-target-libstdc++-v3 mostlyclean-target: maybe-mostlyclean-target-libmudflap +mostlyclean-target: maybe-mostlyclean-target-libsanitizer mostlyclean-target: maybe-mostlyclean-target-libssp mostlyclean-target: maybe-mostlyclean-target-newlib mostlyclean-target: maybe-mostlyclean-target-libgcc @@ -1968,6 +1984,7 @@ clean-host: maybe-clean-lto-plugin clean-target: maybe-clean-target-libstdc++-v3 clean-target: maybe-clean-target-libmudflap +clean-target: maybe-clean-target-libsanitizer clean-target: maybe-clean-target-libssp clean-target: maybe-clean-target-newlib clean-target: maybe-clean-target-libgcc @@ -2049,6 +2066,7 @@ distclean-host: maybe-distclean-lto-plugin distclean-target: maybe-distclean-target-libstdc++-v3 distclean-target: maybe-distclean-target-libmudflap +distclean-target: maybe-distclean-target-libsanitizer distclean-target: maybe-distclean-target-libssp distclean-target: maybe-distclean-target-newlib distclean-target: maybe-distclean-target-libgcc @@ -2130,6 +2148,7 @@ maintainer-clean-host: maybe-maintainer-clean-lto-plugin maintainer-clean-target: maybe-maintainer-clean-target-libstdc++-v3 maintainer-clean-target: maybe-maintainer-clean-target-libmudflap +maintainer-clean-target: maybe-maintainer-clean-target-libsanitizer maintainer-clean-target: maybe-maintainer-clean-target-libssp maintainer-clean-target: maybe-maintainer-clean-target-newlib maintainer-clean-target: maybe-maintainer-clean-target-libgcc @@ -2266,6 +2285,7 @@ check-host: \ check-target: \ maybe-check-target-libstdc++-v3 \ maybe-check-target-libmudflap \ + maybe-check-target-libsanitizer \ maybe-check-target-libssp \ maybe-check-target-newlib \ maybe-check-target-libgcc \ @@ -2420,6 +2440,7 @@ install-host: \ install-target: \ maybe-install-target-libstdc++-v3 \ maybe-install-target-libmudflap \ + maybe-install-target-libsanitizer \ maybe-install-target-libssp \ maybe-install-target-newlib \ maybe-install-target-libgcc \ @@ -2521,6 +2542,7 @@ install-strip-host: \ install-strip-target: \ maybe-install-strip-target-libstdc++-v3 \ maybe-install-strip-target-libmudflap \ + maybe-install-strip-target-libsanitizer \ maybe-install-strip-target-libssp \ maybe-install-strip-target-newlib \ maybe-install-strip-target-libgcc \ @@ -32154,6 +32176,463 @@ maintainer-clean-target-libmudflap: +.PHONY: configure-target-libsanitizer maybe-configure-target-libsanitizer +maybe-configure-target-libsanitizer: +@if gcc-bootstrap +configure-target-libsanitizer: stage_current +@endif gcc-bootstrap +@if target-libsanitizer +maybe-configure-target-libsanitizer: configure-target-libsanitizer +configure-target-libsanitizer: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + echo "Checking multilib configuration for libsanitizer..."; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libsanitizer ; \ + $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libsanitizer/multilib.tmp 2> /dev/null ; \ + if test -r $(TARGET_SUBDIR)/libsanitizer/multilib.out; then \ + if cmp -s $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; then \ + rm -f $(TARGET_SUBDIR)/libsanitizer/multilib.tmp; \ + else \ + rm -f $(TARGET_SUBDIR)/libsanitizer/Makefile; \ + mv $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; \ + fi; \ + else \ + mv $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; \ + fi; \ + test ! -f $(TARGET_SUBDIR)/libsanitizer/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libsanitizer ; \ + $(NORMAL_TARGET_EXPORTS) \ + echo Configuring in $(TARGET_SUBDIR)/libsanitizer; \ + cd "$(TARGET_SUBDIR)/libsanitizer" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(TARGET_SUBDIR)/libsanitizer/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/libsanitizer"; \ + libsrcdir="$$s/libsanitizer"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ + --target=${target_alias} $${srcdiroption} \ + || exit 1 +@endif target-libsanitizer + + + + + +.PHONY: all-target-libsanitizer maybe-all-target-libsanitizer +maybe-all-target-libsanitizer: +@if gcc-bootstrap +all-target-libsanitizer: stage_current +@endif gcc-bootstrap +@if target-libsanitizer +TARGET-target-libsanitizer=all +maybe-all-target-libsanitizer: all-target-libsanitizer +all-target-libsanitizer: configure-target-libsanitizer + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \ + $(TARGET-target-libsanitizer)) +@endif target-libsanitizer + + + + + +.PHONY: check-target-libsanitizer maybe-check-target-libsanitizer +maybe-check-target-libsanitizer: +@if target-libsanitizer +maybe-check-target-libsanitizer: check-target-libsanitizer + +check-target-libsanitizer: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + +@endif target-libsanitizer + +.PHONY: install-target-libsanitizer maybe-install-target-libsanitizer +maybe-install-target-libsanitizer: +@if target-libsanitizer +maybe-install-target-libsanitizer: install-target-libsanitizer + +install-target-libsanitizer: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + +@endif target-libsanitizer + +.PHONY: install-strip-target-libsanitizer maybe-install-strip-target-libsanitizer +maybe-install-strip-target-libsanitizer: +@if target-libsanitizer +maybe-install-strip-target-libsanitizer: install-strip-target-libsanitizer + +install-strip-target-libsanitizer: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip) + +@endif target-libsanitizer + +# Other targets (info, dvi, pdf, etc.) + +.PHONY: maybe-info-target-libsanitizer info-target-libsanitizer +maybe-info-target-libsanitizer: +@if target-libsanitizer +maybe-info-target-libsanitizer: info-target-libsanitizer + +info-target-libsanitizer: \ + configure-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing info in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + info) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-dvi-target-libsanitizer dvi-target-libsanitizer +maybe-dvi-target-libsanitizer: +@if target-libsanitizer +maybe-dvi-target-libsanitizer: dvi-target-libsanitizer + +dvi-target-libsanitizer: \ + configure-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing dvi in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + dvi) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-pdf-target-libsanitizer pdf-target-libsanitizer +maybe-pdf-target-libsanitizer: +@if target-libsanitizer +maybe-pdf-target-libsanitizer: pdf-target-libsanitizer + +pdf-target-libsanitizer: \ + configure-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing pdf in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + pdf) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-html-target-libsanitizer html-target-libsanitizer +maybe-html-target-libsanitizer: +@if target-libsanitizer +maybe-html-target-libsanitizer: html-target-libsanitizer + +html-target-libsanitizer: \ + configure-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing html in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + html) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-TAGS-target-libsanitizer TAGS-target-libsanitizer +maybe-TAGS-target-libsanitizer: +@if target-libsanitizer +maybe-TAGS-target-libsanitizer: TAGS-target-libsanitizer + +TAGS-target-libsanitizer: \ + configure-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + TAGS) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-install-info-target-libsanitizer install-info-target-libsanitizer +maybe-install-info-target-libsanitizer: +@if target-libsanitizer +maybe-install-info-target-libsanitizer: install-info-target-libsanitizer + +install-info-target-libsanitizer: \ + configure-target-libsanitizer \ + info-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-info in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-info) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-install-pdf-target-libsanitizer install-pdf-target-libsanitizer +maybe-install-pdf-target-libsanitizer: +@if target-libsanitizer +maybe-install-pdf-target-libsanitizer: install-pdf-target-libsanitizer + +install-pdf-target-libsanitizer: \ + configure-target-libsanitizer \ + pdf-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-pdf in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-pdf) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-install-html-target-libsanitizer install-html-target-libsanitizer +maybe-install-html-target-libsanitizer: +@if target-libsanitizer +maybe-install-html-target-libsanitizer: install-html-target-libsanitizer + +install-html-target-libsanitizer: \ + configure-target-libsanitizer \ + html-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-html in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-html) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-installcheck-target-libsanitizer installcheck-target-libsanitizer +maybe-installcheck-target-libsanitizer: +@if target-libsanitizer +maybe-installcheck-target-libsanitizer: installcheck-target-libsanitizer + +installcheck-target-libsanitizer: \ + configure-target-libsanitizer + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + installcheck) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-mostlyclean-target-libsanitizer mostlyclean-target-libsanitizer +maybe-mostlyclean-target-libsanitizer: +@if target-libsanitizer +maybe-mostlyclean-target-libsanitizer: mostlyclean-target-libsanitizer + +mostlyclean-target-libsanitizer: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + mostlyclean) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-clean-target-libsanitizer clean-target-libsanitizer +maybe-clean-target-libsanitizer: +@if target-libsanitizer +maybe-clean-target-libsanitizer: clean-target-libsanitizer + +clean-target-libsanitizer: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing clean in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + clean) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-distclean-target-libsanitizer distclean-target-libsanitizer +maybe-distclean-target-libsanitizer: +@if target-libsanitizer +maybe-distclean-target-libsanitizer: distclean-target-libsanitizer + +distclean-target-libsanitizer: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + distclean) \ + || exit 1 + +@endif target-libsanitizer + +.PHONY: maybe-maintainer-clean-target-libsanitizer maintainer-clean-target-libsanitizer +maybe-maintainer-clean-target-libsanitizer: +@if target-libsanitizer +maybe-maintainer-clean-target-libsanitizer: maintainer-clean-target-libsanitizer + +maintainer-clean-target-libsanitizer: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libsanitizer" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libsanitizer && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + maintainer-clean) \ + || exit 1 + +@endif target-libsanitizer + + + + + .PHONY: configure-target-libssp maybe-configure-target-libssp maybe-configure-target-libssp: @if gcc-bootstrap @@ -44390,6 +44869,7 @@ configure-stage4-target-libstdc++-v3: maybe-all-stage4-gcc configure-stageprofile-target-libstdc++-v3: maybe-all-stageprofile-gcc configure-stagefeedback-target-libstdc++-v3: maybe-all-stagefeedback-gcc configure-target-libmudflap: stage_last +configure-target-libsanitizer: stage_last configure-target-libssp: stage_last configure-target-newlib: stage_last configure-stage1-target-libgcc: maybe-all-stage1-gcc @@ -44425,6 +44905,7 @@ configure-target-libatomic: stage_last @if gcc-no-bootstrap configure-target-libstdc++-v3: maybe-all-gcc configure-target-libmudflap: maybe-all-gcc +configure-target-libsanitizer: maybe-all-gcc configure-target-libssp: maybe-all-gcc configure-target-newlib: maybe-all-gcc configure-target-libgcc: maybe-all-gcc @@ -45166,6 +45647,7 @@ configure-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp configure-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp configure-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp configure-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp +configure-target-libsanitizer: maybe-all-target-libstdc++-v3 all-target-libstdc++-v3: maybe-configure-target-libgomp all-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp @@ -45204,6 +45686,7 @@ configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-target-libgcc @if gcc-no-bootstrap configure-target-libstdc++-v3: maybe-all-target-libgcc configure-target-libmudflap: maybe-all-target-libgcc +configure-target-libsanitizer: maybe-all-target-libgcc configure-target-libssp: maybe-all-target-libgcc configure-target-newlib: maybe-all-target-libgcc configure-target-libbacktrace: maybe-all-target-libgcc @@ -45230,6 +45713,8 @@ configure-target-libstdc++-v3: maybe-all-target-newlib maybe-all-target-libgloss configure-target-libmudflap: maybe-all-target-newlib maybe-all-target-libgloss +configure-target-libsanitizer: maybe-all-target-newlib maybe-all-target-libgloss + configure-target-libssp: maybe-all-target-newlib maybe-all-target-libgloss diff --git a/configure b/configure index 95828ae39..45e521e99 100755 --- a/configure +++ b/configure @@ -2773,6 +2773,7 @@ target_libraries="target-libgcc \ target-libitm \ target-libstdc++-v3 \ target-libmudflap \ + target-libsanitizer \ target-libssp \ target-libquadmath \ target-libgfortran \ @@ -3195,8 +3196,30 @@ $as_echo "yes" >&6; } fi fi +# Disable libsanitizer on unsupported systems. +if test -d ${srcdir}/libsanitizer; then + if test x$enable_libsanitizer = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsanitizer support" >&5 +$as_echo_n "checking for libsanitizer support... " >&6; } + if (srcdir=${srcdir}/libsanitizer; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + noconfigdirs="$noconfigdirs target-libsanitizer" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + fi +fi + # Disable libquadmath for some systems. case "${target}" in + avr-*-*) + noconfigdirs="$noconfigdirs target-libquadmath" + ;; # libquadmath is unused on AIX and libquadmath build process use of # LD_LIBRARY_PATH can break AIX bootstrap. powerpc-*-aix* | rs6000-*-aix*) @@ -3221,13 +3244,6 @@ case "${target}" in ;; esac -# Disable libquadmath for some systems. -case "${target}" in - avr-*-*) - noconfigdirs="$noconfigdirs target-libquadmath" - ;; -esac - # Disable libstdc++-v3 for some systems. # Allow user to override this if they pass --enable-libstdc++-v3 if test "${ENABLE_LIBSTDCXX}" = "default" ; then diff --git a/configure.ac b/configure.ac index c346c2cd5..91ccb3dd0 100644 --- a/configure.ac +++ b/configure.ac @@ -160,6 +160,7 @@ target_libraries="target-libgcc \ target-libitm \ target-libstdc++-v3 \ target-libmudflap \ + target-libsanitizer \ target-libssp \ target-libquadmath \ target-libgfortran \ @@ -537,8 +538,27 @@ if test -d ${srcdir}/libitm; then fi fi +# Disable libsanitizer on unsupported systems. +if test -d ${srcdir}/libsanitizer; then + if test x$enable_libsanitizer = x; then + AC_MSG_CHECKING([for libsanitizer support]) + if (srcdir=${srcdir}/libsanitizer; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + AC_MSG_RESULT([no]) + noconfigdirs="$noconfigdirs target-libsanitizer" + else + AC_MSG_RESULT([yes]) + fi + fi +fi + # Disable libquadmath for some systems. case "${target}" in + avr-*-*) + noconfigdirs="$noconfigdirs target-libquadmath" + ;; # libquadmath is unused on AIX and libquadmath build process use of # LD_LIBRARY_PATH can break AIX bootstrap. powerpc-*-aix* | rs6000-*-aix*) @@ -563,13 +583,6 @@ case "${target}" in ;; esac -# Disable libquadmath for some systems. -case "${target}" in - avr-*-*) - noconfigdirs="$noconfigdirs target-libquadmath" - ;; -esac - # Disable libstdc++-v3 for some systems. # Allow user to override this if they pass --enable-libstdc++-v3 if test "${ENABLE_LIBSTDCXX}" = "default" ; then