From: Wei Mi <wmi@google.com>
To: Andrew Pinski <pinskia@gmail.com>
Cc: gcc-patches@gcc.gnu.org, Diego Novillo <dnovillo@google.com>,
David Li <davidxl@google.com>
Subject: Re: [asan] migrate runtime from llvm
Date: Tue, 16 Oct 2012 06:45:00 -0000 [thread overview]
Message-ID: <CA+4CFy5S1cyAc+GzvoceBy_aR-ZGqqrtikhx89RiO3_ygwi=1w@mail.gmail.com> (raw)
In-Reply-To: <CA+=Sn1mD6sQbt=p7wkSxY43Zyo-yRyxNEaj2RxEtmUCrzxV8qA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 338 bytes --]
>
> This is a good start. Can you send a patch out without including
> libasan so at least the toplevel parts can be reviewed easier?
> Also the changelog entry for gcc.c go under the gcc/ChangeLog rather
> than the toplevel one.
>
> Thanks,
> Andrew Pinski
Sure, I attach it. Thanks for pointing out the changelog error.
Thanks,
Wei.
[-- Attachment #2: patch.wo.libasan.txt --]
[-- Type: text/plain, Size: 26972 bytes --]
Index: Makefile.in
===================================================================
--- Makefile.in (revision 192487)
+++ Makefile.in (working copy)
@@ -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_libasan)$(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/$(TAR
TARGET_LIB_PATH_libmudflap = $$r/$(TARGET_SUBDIR)/libmudflap/.libs:
@endif target-libmudflap
+@if target-libasan
+TARGET_LIB_PATH_libasan = $$r/$(TARGET_SUBDIR)/libasan/.libs:
+@endif target-libasan
+
@if target-libssp
TARGET_LIB_PATH_libssp = $$r/$(TARGET_SUBDIR)/libssp/.libs:
@endif target-libssp
@@ -914,6 +918,7 @@ configure-host: \
configure-target: \
maybe-configure-target-libstdc++-v3 \
maybe-configure-target-libmudflap \
+ maybe-configure-target-libasan \
maybe-configure-target-libssp \
maybe-configure-target-newlib \
maybe-configure-target-libgcc \
@@ -1062,6 +1067,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-libasan
all-target: maybe-all-target-libssp
all-target: maybe-all-target-newlib
@if target-libgcc-no-bootstrap
@@ -1152,6 +1158,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-libasan
info-target: maybe-info-target-libssp
info-target: maybe-info-target-newlib
info-target: maybe-info-target-libgcc
@@ -1233,6 +1240,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-libasan
dvi-target: maybe-dvi-target-libssp
dvi-target: maybe-dvi-target-newlib
dvi-target: maybe-dvi-target-libgcc
@@ -1314,6 +1322,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-libasan
pdf-target: maybe-pdf-target-libssp
pdf-target: maybe-pdf-target-newlib
pdf-target: maybe-pdf-target-libgcc
@@ -1395,6 +1404,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-libasan
html-target: maybe-html-target-libssp
html-target: maybe-html-target-newlib
html-target: maybe-html-target-libgcc
@@ -1476,6 +1486,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-libasan
TAGS-target: maybe-TAGS-target-libssp
TAGS-target: maybe-TAGS-target-newlib
TAGS-target: maybe-TAGS-target-libgcc
@@ -1557,6 +1568,7 @@ install-info-host: maybe-install-info-lt
install-info-target: maybe-install-info-target-libstdc++-v3
install-info-target: maybe-install-info-target-libmudflap
+install-info-target: maybe-install-info-target-libasan
install-info-target: maybe-install-info-target-libssp
install-info-target: maybe-install-info-target-newlib
install-info-target: maybe-install-info-target-libgcc
@@ -1638,6 +1650,7 @@ install-pdf-host: maybe-install-pdf-lto-
install-pdf-target: maybe-install-pdf-target-libstdc++-v3
install-pdf-target: maybe-install-pdf-target-libmudflap
+install-pdf-target: maybe-install-pdf-target-libasan
install-pdf-target: maybe-install-pdf-target-libssp
install-pdf-target: maybe-install-pdf-target-newlib
install-pdf-target: maybe-install-pdf-target-libgcc
@@ -1719,6 +1732,7 @@ install-html-host: maybe-install-html-lt
install-html-target: maybe-install-html-target-libstdc++-v3
install-html-target: maybe-install-html-target-libmudflap
+install-html-target: maybe-install-html-target-libasan
install-html-target: maybe-install-html-target-libssp
install-html-target: maybe-install-html-target-newlib
install-html-target: maybe-install-html-target-libgcc
@@ -1800,6 +1814,7 @@ installcheck-host: maybe-installcheck-lt
installcheck-target: maybe-installcheck-target-libstdc++-v3
installcheck-target: maybe-installcheck-target-libmudflap
+installcheck-target: maybe-installcheck-target-libasan
installcheck-target: maybe-installcheck-target-libssp
installcheck-target: maybe-installcheck-target-newlib
installcheck-target: maybe-installcheck-target-libgcc
@@ -1881,6 +1896,7 @@ mostlyclean-host: maybe-mostlyclean-lto-
mostlyclean-target: maybe-mostlyclean-target-libstdc++-v3
mostlyclean-target: maybe-mostlyclean-target-libmudflap
+mostlyclean-target: maybe-mostlyclean-target-libasan
mostlyclean-target: maybe-mostlyclean-target-libssp
mostlyclean-target: maybe-mostlyclean-target-newlib
mostlyclean-target: maybe-mostlyclean-target-libgcc
@@ -1962,6 +1978,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-libasan
clean-target: maybe-clean-target-libssp
clean-target: maybe-clean-target-newlib
clean-target: maybe-clean-target-libgcc
@@ -2043,6 +2060,7 @@ distclean-host: maybe-distclean-lto-plug
distclean-target: maybe-distclean-target-libstdc++-v3
distclean-target: maybe-distclean-target-libmudflap
+distclean-target: maybe-distclean-target-libasan
distclean-target: maybe-distclean-target-libssp
distclean-target: maybe-distclean-target-newlib
distclean-target: maybe-distclean-target-libgcc
@@ -2124,6 +2142,7 @@ maintainer-clean-host: maybe-maintainer-
maintainer-clean-target: maybe-maintainer-clean-target-libstdc++-v3
maintainer-clean-target: maybe-maintainer-clean-target-libmudflap
+maintainer-clean-target: maybe-maintainer-clean-target-libasan
maintainer-clean-target: maybe-maintainer-clean-target-libssp
maintainer-clean-target: maybe-maintainer-clean-target-newlib
maintainer-clean-target: maybe-maintainer-clean-target-libgcc
@@ -2260,6 +2279,7 @@ check-host: \
check-target: \
maybe-check-target-libstdc++-v3 \
maybe-check-target-libmudflap \
+ maybe-check-target-libasan \
maybe-check-target-libssp \
maybe-check-target-newlib \
maybe-check-target-libgcc \
@@ -2414,6 +2434,7 @@ install-host: \
install-target: \
maybe-install-target-libstdc++-v3 \
maybe-install-target-libmudflap \
+ maybe-install-target-libasan \
maybe-install-target-libssp \
maybe-install-target-newlib \
maybe-install-target-libgcc \
@@ -2515,6 +2536,7 @@ install-strip-host: \
install-strip-target: \
maybe-install-strip-target-libstdc++-v3 \
maybe-install-strip-target-libmudflap \
+ maybe-install-strip-target-libasan \
maybe-install-strip-target-libssp \
maybe-install-strip-target-newlib \
maybe-install-strip-target-libgcc \
@@ -32337,6 +32359,463 @@ maintainer-clean-target-libmudflap:
+.PHONY: configure-target-libasan maybe-configure-target-libasan
+maybe-configure-target-libasan:
+@if gcc-bootstrap
+configure-target-libasan: stage_current
+@endif gcc-bootstrap
+@if target-libasan
+maybe-configure-target-libasan: configure-target-libasan
+configure-target-libasan:
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libasan..."; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libasan ; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libasan/multilib.tmp 2> /dev/null ; \
+ if test -r $(TARGET_SUBDIR)/libasan/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libasan/multilib.tmp $(TARGET_SUBDIR)/libasan/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libasan/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libasan/Makefile; \
+ mv $(TARGET_SUBDIR)/libasan/multilib.tmp $(TARGET_SUBDIR)/libasan/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libasan/multilib.tmp $(TARGET_SUBDIR)/libasan/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libasan/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libasan ; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo Configuring in $(TARGET_SUBDIR)/libasan; \
+ cd "$(TARGET_SUBDIR)/libasan" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libasan/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libasan"; \
+ libsrcdir="$$s/libasan"; \
+ 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-libasan
+
+
+
+
+
+.PHONY: all-target-libasan maybe-all-target-libasan
+maybe-all-target-libasan:
+@if gcc-bootstrap
+all-target-libasan: stage_current
+@endif gcc-bootstrap
+@if target-libasan
+TARGET-target-libasan=all
+maybe-all-target-libasan: all-target-libasan
+all-target-libasan: configure-target-libasan
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-target-libasan))
+@endif target-libasan
+
+
+
+
+
+.PHONY: check-target-libasan maybe-check-target-libasan
+maybe-check-target-libasan:
+@if target-libasan
+maybe-check-target-libasan: check-target-libasan
+
+check-target-libasan:
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+
+@endif target-libasan
+
+.PHONY: install-target-libasan maybe-install-target-libasan
+maybe-install-target-libasan:
+@if target-libasan
+maybe-install-target-libasan: install-target-libasan
+
+install-target-libasan: installdirs
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+
+@endif target-libasan
+
+.PHONY: install-strip-target-libasan maybe-install-strip-target-libasan
+maybe-install-strip-target-libasan:
+@if target-libasan
+maybe-install-strip-target-libasan: install-strip-target-libasan
+
+install-strip-target-libasan: installdirs
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip)
+
+@endif target-libasan
+
+# Other targets (info, dvi, pdf, etc.)
+
+.PHONY: maybe-info-target-libasan info-target-libasan
+maybe-info-target-libasan:
+@if target-libasan
+maybe-info-target-libasan: info-target-libasan
+
+info-target-libasan: \
+ configure-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing info in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-dvi-target-libasan dvi-target-libasan
+maybe-dvi-target-libasan:
+@if target-libasan
+maybe-dvi-target-libasan: dvi-target-libasan
+
+dvi-target-libasan: \
+ configure-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing dvi in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-pdf-target-libasan pdf-target-libasan
+maybe-pdf-target-libasan:
+@if target-libasan
+maybe-pdf-target-libasan: pdf-target-libasan
+
+pdf-target-libasan: \
+ configure-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing pdf in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-html-target-libasan html-target-libasan
+maybe-html-target-libasan:
+@if target-libasan
+maybe-html-target-libasan: html-target-libasan
+
+html-target-libasan: \
+ configure-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing html in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-TAGS-target-libasan TAGS-target-libasan
+maybe-TAGS-target-libasan:
+@if target-libasan
+maybe-TAGS-target-libasan: TAGS-target-libasan
+
+TAGS-target-libasan: \
+ configure-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-install-info-target-libasan install-info-target-libasan
+maybe-install-info-target-libasan:
+@if target-libasan
+maybe-install-info-target-libasan: install-info-target-libasan
+
+install-info-target-libasan: \
+ configure-target-libasan \
+ info-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/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)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-install-pdf-target-libasan install-pdf-target-libasan
+maybe-install-pdf-target-libasan:
+@if target-libasan
+maybe-install-pdf-target-libasan: install-pdf-target-libasan
+
+install-pdf-target-libasan: \
+ configure-target-libasan \
+ pdf-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/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)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-install-html-target-libasan install-html-target-libasan
+maybe-install-html-target-libasan:
+@if target-libasan
+maybe-install-html-target-libasan: install-html-target-libasan
+
+install-html-target-libasan: \
+ configure-target-libasan \
+ html-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/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)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-installcheck-target-libasan installcheck-target-libasan
+maybe-installcheck-target-libasan:
+@if target-libasan
+maybe-installcheck-target-libasan: installcheck-target-libasan
+
+installcheck-target-libasan: \
+ configure-target-libasan
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-mostlyclean-target-libasan mostlyclean-target-libasan
+maybe-mostlyclean-target-libasan:
+@if target-libasan
+maybe-mostlyclean-target-libasan: mostlyclean-target-libasan
+
+mostlyclean-target-libasan:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-clean-target-libasan clean-target-libasan
+maybe-clean-target-libasan:
+@if target-libasan
+maybe-clean-target-libasan: clean-target-libasan
+
+clean-target-libasan:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing clean in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-distclean-target-libasan distclean-target-libasan
+maybe-distclean-target-libasan:
+@if target-libasan
+maybe-distclean-target-libasan: distclean-target-libasan
+
+distclean-target-libasan:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+.PHONY: maybe-maintainer-clean-target-libasan maintainer-clean-target-libasan
+maybe-maintainer-clean-target-libasan:
+@if target-libasan
+maybe-maintainer-clean-target-libasan: maintainer-clean-target-libasan
+
+maintainer-clean-target-libasan:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libasan/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)/libasan" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libasan && \
+ $(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-libasan
+
+
+
+
+
.PHONY: configure-target-libssp maybe-configure-target-libssp
maybe-configure-target-libssp:
@if gcc-bootstrap
@@ -44591,6 +45070,7 @@ configure-stage4-target-libstdc++-v3: ma
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-libasan: stage_last
configure-target-libssp: stage_last
configure-target-newlib: stage_last
configure-stage1-target-libgcc: maybe-all-stage1-gcc
@@ -44626,6 +45106,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-libasan: maybe-all-gcc
configure-target-libssp: maybe-all-gcc
configure-target-newlib: maybe-all-gcc
configure-target-libgcc: maybe-all-gcc
@@ -45405,6 +45886,7 @@ configure-stagefeedback-target-libgomp:
@if gcc-no-bootstrap
configure-target-libstdc++-v3: maybe-all-target-libgcc
configure-target-libmudflap: maybe-all-target-libgcc
+configure-target-libasan: 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
@@ -45431,6 +45913,8 @@ configure-target-libstdc++-v3: maybe-all
configure-target-libmudflap: maybe-all-target-newlib maybe-all-target-libgloss
+configure-target-libasan: maybe-all-target-newlib maybe-all-target-libgloss
+
configure-target-libssp: maybe-all-target-newlib maybe-all-target-libgloss
Index: configure.ac
===================================================================
--- configure.ac (revision 192487)
+++ configure.ac (working copy)
@@ -160,6 +160,7 @@ target_libraries="target-libgcc \
target-libitm \
target-libstdc++-v3 \
target-libmudflap \
+ target-libasan \
target-libssp \
target-libquadmath \
target-libgfortran \
Index: configure
===================================================================
--- configure (revision 192487)
+++ configure (working copy)
@@ -2725,6 +2725,7 @@ target_libraries="target-libgcc \
target-libitm \
target-libstdc++-v3 \
target-libmudflap \
+ target-libasan \
target-libssp \
target-libquadmath \
target-libgfortran \
Index: gcc/gcc.c
===================================================================
--- gcc/gcc.c (revision 192487)
+++ gcc/gcc.c (working copy)
@@ -679,6 +679,7 @@ proper position among the other output f
%{fgnu-tm:%:include(libitm.spec)%(link_itm)}\
%(mflib) " STACK_SPLIT_SPEC "\
%{fprofile-arcs|fprofile-generate*|coverage:-lgcov}\
+ %{fasan|coverage:-lasan -lpthread -ldl -lstdc++}\
%{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
%{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}"
#endif
Index: Makefile.def
===================================================================
--- Makefile.def (revision 192487)
+++ Makefile.def (working copy)
@@ -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= libasan; lib_path=.libs; };
target_modules = { module= libssp; lib_path=.libs; };
target_modules = { module= newlib; };
target_modules = { module= libgcc; bootstrap=true; no_check=true; };
next prev parent reply other threads:[~2012-10-16 6:40 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-16 6:40 Wei Mi
2012-10-16 6:40 ` Andrew Pinski
2012-10-16 6:45 ` Wei Mi [this message]
2012-10-16 7:47 ` Andrew Pinski
2012-10-16 15:27 ` Jakub Jelinek
2012-10-18 17:00 ` Wei Mi
2012-10-18 18:28 ` Jakub Jelinek
2012-10-18 20:25 ` Wei Mi
2012-10-19 3:49 ` Wei Mi
2012-10-19 17:43 ` Xinliang David Li
2012-10-19 18:52 ` Diego Novillo
2012-10-19 19:02 ` Wei Mi
2012-10-19 20:28 ` Xinliang David Li
2012-10-19 20:41 ` Diego Novillo
2012-10-20 2:08 ` Wei Mi
2012-10-20 2:33 ` Wei Mi
2012-10-25 16:49 ` Xinliang David Li
2012-10-25 16:51 ` Jakub Jelinek
2012-10-25 16:53 ` Xinliang David Li
2012-10-25 16:55 ` Diego Novillo
2012-10-25 16:56 ` Xinliang David Li
2012-10-25 17:00 ` Jakub Jelinek
2012-10-25 17:13 ` Xinliang David Li
2012-10-25 17:27 ` Jakub Jelinek
2012-10-25 18:08 ` Xinliang David Li
2012-10-25 18:11 ` Diego Novillo
2012-10-18 18:22 ` Xinliang David Li
2012-10-18 18:32 ` Jakub Jelinek
2012-10-18 19:29 ` Xinliang David Li
2012-10-18 19:45 ` Xinliang David Li
[not found] ` <CAN=P9piGAbcEmLLVF+77jJvOHAh3dFpEWMgrYqAHqKynrfFNeQ@mail.gmail.com>
2012-10-19 5:14 ` Xinliang David Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CA+4CFy5S1cyAc+GzvoceBy_aR-ZGqqrtikhx89RiO3_ygwi=1w@mail.gmail.com' \
--to=wmi@google.com \
--cc=davidxl@google.com \
--cc=dnovillo@google.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=pinskia@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).