From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 58083 invoked by alias); 6 Sep 2019 14:46:37 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 57957 invoked by uid 89); 6 Sep 2019 14:46:36 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-23.2 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LOTSOFHASH,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy=N, AGE X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr140078.outbound.protection.outlook.com (HELO EUR01-VE1-obe.outbound.protection.outlook.com) (40.107.14.78) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 06 Sep 2019 14:46:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/FtEiL45sfHS0Tx6sQ8zFtpeYgqhqlvucL8rcrTSWmM=; b=eiSueJ50qIMWX9tP5kNxo91EKuc865j0zErlrbklJSyNkxYvHeckIhaTsfdOwGfpB8qbXKjGc9HhOEitaAFCFx8O/ZIlLunLUNUjbKbPwolS8QUsZVA0Xuua0E5VwxD6xciZPbY8ozogMjGk1PF1guc5MwPT17jx3WWXih3heY8= Received: from VE1PR08CA0006.eurprd08.prod.outlook.com (2603:10a6:803:104::19) by HE1PR0801MB1644.eurprd08.prod.outlook.com (2603:10a6:3:85::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2241.15; Fri, 6 Sep 2019 14:46:16 +0000 Received: from VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::207) by VE1PR08CA0006.outlook.office365.com (2603:10a6:803:104::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2241.14 via Frontend Transport; Fri, 6 Sep 2019 14:46:16 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT046.mail.protection.outlook.com (10.152.19.226) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2241.14 via Frontend Transport; Fri, 6 Sep 2019 14:46:15 +0000 Received: ("Tessian outbound f83cc93ed55d:v27"); Fri, 06 Sep 2019 14:46:15 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1b472d3db582b835 X-CR-MTA-TID: 64aa7808 Received: from 79d384fca878.1 (cr-mta-lb-1.cr-mta-net [104.47.13.58]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 52FCFCFC-DFDC-4225-96F2-2036CFAF5ED0.1; Fri, 06 Sep 2019 14:46:09 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 79d384fca878.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 06 Sep 2019 14:46:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i2zJVrq+dJJEfroBO8PygMjXOkudm8pBuXGefhXm121Rl2qDyxY4zmdsD771pfzX0hw8vXaA/wpwzzQhZBcceGiq8CwEC+4iSeNpj99GZBJUyfYN3b+co4ebD7ViG4kuSBeI6Z3lxuQN3LJG+iCRr5tApIYg8ld8EJBxLhzuXuRLjTWZnmCZ6IjVpwmmkIG4hGYNoJqovhkkyEY+aBVU5TUlLiJdgF0Da0K3VGtooOE6FSb/jWgVcQITYFw3Y+xhQzq+lqWysZhrUIatnLIJH6qvavwWH/uCykKMCljtitS2cw1tA6F8Cilw7NCgpe7dxmC82lI8hoIG5Dr2Uzv6yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/FtEiL45sfHS0Tx6sQ8zFtpeYgqhqlvucL8rcrTSWmM=; b=JMGWKze15GhFG8Bisqq3q6RpNsU/+Qjsm4N7pbpDSS7hNLns2gMpO86JBjRtmsCdmk04OTdXAseOYzUD4cqqI4npaafLnW41/6OlsEgGo+UqooXGsxO4LsbHwhtJvaeToOHX6UhQaLZTHhy4bCchM0XFCiWT3GPOd2jeNUEnJyEp0+nlh0bRuLjybBgOBJ0HQ063w98kQUx6g02CUalbicfmLTidESRzgkV5UPWhe69OLqvf83BOcwHfe0LJUfZSxYAzW0CVxgaVKGnMvXqtJANxawkjjr9Q9+LBHJGkQfsDUrUhhex8tItc1ZI1N49I8KCRYPglz7c9YDmXrjMnyg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/FtEiL45sfHS0Tx6sQ8zFtpeYgqhqlvucL8rcrTSWmM=; b=eiSueJ50qIMWX9tP5kNxo91EKuc865j0zErlrbklJSyNkxYvHeckIhaTsfdOwGfpB8qbXKjGc9HhOEitaAFCFx8O/ZIlLunLUNUjbKbPwolS8QUsZVA0Xuua0E5VwxD6xciZPbY8ozogMjGk1PF1guc5MwPT17jx3WWXih3heY8= Received: from VI1PR08MB5471.eurprd08.prod.outlook.com (52.133.246.83) by VI1PR08MB3392.eurprd08.prod.outlook.com (20.177.58.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2241.14; Fri, 6 Sep 2019 14:46:06 +0000 Received: from VI1PR08MB5471.eurprd08.prod.outlook.com ([fe80::206a:65bd:e6a9:536b]) by VI1PR08MB5471.eurprd08.prod.outlook.com ([fe80::206a:65bd:e6a9:536b%2]) with mapi id 15.20.2241.018; Fri, 6 Sep 2019 14:46:06 +0000 From: Matthew Malcomson To: "gcc-patches@gcc.gnu.org" CC: "mliska@suse.cz" , "dodji@redhat.com" , nd , "kcc@google.com" , "jakub@redhat.com" , "dvyukov@google.com" Subject: [RFC][PATCH 2/X][libsanitizer] Tie the hwasan library into our build system Date: Fri, 06 Sep 2019 14:46:00 -0000 Message-ID: References: <156778058239.16148.17480879484406897649.scripted-patch-series@arm.com> In-Reply-To: <156778058239.16148.17480879484406897649.scripted-patch-series@arm.com> Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Matthew.Malcomson@arm.com; X-Microsoft-Antispam-Untrusted: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(49563074)(7193020);SRVR:VI1PR08MB3392; x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:4941;OLM:4941; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(376002)(39860400002)(136003)(396003)(346002)(366004)(54534003)(199004)(189003)(66476007)(66556008)(64756008)(66446008)(7696005)(81166006)(52536014)(5660300002)(2501003)(14454004)(25786009)(52116002)(55016002)(478600001)(86362001)(4326008)(99936001)(8936002)(81156014)(6916009)(66946007)(71200400001)(71190400001)(8676002)(66616009)(3846002)(446003)(476003)(6116002)(33656002)(11346002)(76176011)(30864003)(2906002)(53936002)(186003)(9686003)(6436002)(66066001)(256004)(53946003)(14444005)(5024004)(5640700003)(54906003)(386003)(6506007)(44832011)(486006)(7736002)(74316002)(305945005)(316002)(99286004)(26005)(2351001)(102836004)(2004002)(579004)(559001)(569006);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR08MB3392;H:VI1PR08MB5471.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info-Original: rsWb1rU0Dwu6hj9O6vaFcNqA/QUckEWxECTUpjPBG3S/bb0SRszu3TZsdvGdNP3jFTRzG9f32mVYXVX1n5aFAPjEbsgeWGpKOC+rwzHDQHvqTeZ57rehtY5O6hlQOrrEYHhq+rsMSCJapQv+q8SsbdTxUEKomckizk/zyRdnw2Owdbzvmxqq7QyA7rWQyk5QceVfeLQFlexjDobYu1hZCzDRrJFYDe7Hd2gtM5Oxjc8/ifKxN4s+SUc7XxeykjY7Gj1uk/XbNH/pWY8R9HeNKUQi45S6crJqIITkGX0vXuexqcKHaRIzppyS9MQ5tnoe7JgDiE93TbjThvjOvhYugpQmN9oZKV7QK/T+zhTr7WSk253vZY3kYhpU8NA2Qw965uP2Gi5cKYmBMtWD39Cf2gS/QwYP/2f7/r4h3SdI5c8= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_VI1PR08MB54719CC69A06D7C67A59E4E1E0BA0VI1PR08MB5471eurp_" MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Matthew.Malcomson@arm.com; Return-Path: Matthew.Malcomson@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: bb64d4f1-a201-43d3-5eb5-08d732d8f28a X-IsSubscribed: yes X-SW-Source: 2019-09/txt/msg00394.txt.bz2 --_002_VI1PR08MB54719CC69A06D7C67A59E4E1E0BA0VI1PR08MB5471eurp_ Content-Type: text/plain; charset="us-ascii" Content-ID: <2099175F3E1A6D4FB542FBB1E03590E7@eurprd08.prod.outlook.com> Content-Transfer-Encoding: quoted-printable Content-length: 45868 This patch does tries to tie libhwasan into the GCC build system in the same way that the other sanitizer runtime libraries are handled. libsanitizer/ChangeLog: 2019-09-06 Matthew Malcomson * Makefile.am: Build libhwasan. * Makefile.in: Build libhwasan. * asan/Makefile.in: Build libhwasan. * configure: Build libhwasan. * configure.ac: Build libhwasan. * hwasan/Makefile.am: New file. * hwasan/Makefile.in: New file. * hwasan/libtool-version: New file. * interception/Makefile.in: Build libhwasan. * libbacktrace/Makefile.in: Build libhwasan. * libsanitizer.spec.in: Build libhwasan. * lsan/Makefile.in: Build libhwasan. * merge.sh: Build libhwasan. * sanitizer_common/Makefile.in: Build libhwasan. * tsan/Makefile.in: Build libhwasan. * ubsan/Makefile.in: Build libhwasan. ############### Attachment also inlined for ease of reply ##########= ##### diff --git a/libsanitizer/Makefile.am b/libsanitizer/Makefile.am index 65ed1e712378ef453f820f86c4d3221f9dee5f2c..2a7e8e1debe838719db0f0fad21= 8b2543cc3111b 100644 --- a/libsanitizer/Makefile.am +++ b/libsanitizer/Makefile.am @@ -14,11 +14,12 @@ endif if LIBBACKTRACE_SUPPORTED SUBDIRS +=3D libbacktrace endif -SUBDIRS +=3D lsan asan ubsan +SUBDIRS +=3D lsan asan ubsan hwasan nodist_saninclude_HEADERS +=3D \ include/sanitizer/lsan_interface.h \ include/sanitizer/asan_interface.h \ - include/sanitizer/tsan_interface.h + include/sanitizer/tsan_interface.h \ + include/sanitizer/hwasan_interface.h if TSAN_SUPPORTED SUBDIRS +=3D tsan endif diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in index 0d789b3a59d21ea2e5a23057ca3afe15425feec4..404ddcedde5428e0bc6d8ebc5f6= 568f99741ce2a 100644 --- a/libsanitizer/Makefile.in +++ b/libsanitizer/Makefile.in @@ -92,7 +92,8 @@ target_triplet =3D @target@ @SANITIZER_SUPPORTED_TRUE@am__append_1 =3D include/sanitizer/common_interf= ace_defs.h \ @SANITIZER_SUPPORTED_TRUE@ include/sanitizer/lsan_interface.h \ @SANITIZER_SUPPORTED_TRUE@ include/sanitizer/asan_interface.h \ -@SANITIZER_SUPPORTED_TRUE@ include/sanitizer/tsan_interface.h +@SANITIZER_SUPPORTED_TRUE@ include/sanitizer/tsan_interface.h \ +@SANITIZER_SUPPORTED_TRUE@ include/sanitizer/hwasan_interface.h @SANITIZER_SUPPORTED_TRUE@@USING_MAC_INTERPOSE_FALSE@am__append_2 =3D inte= rception @LIBBACKTRACE_SUPPORTED_TRUE@@SANITIZER_SUPPORTED_TRUE@am__append_3 =3D li= bbacktrace @SANITIZER_SUPPORTED_TRUE@@TSAN_SUPPORTED_TRUE@am__append_4 =3D tsan @@ -206,7 +207,7 @@ ETAGS =3D etags CTAGS =3D ctags CSCOPE =3D cscope DIST_SUBDIRS =3D sanitizer_common interception libbacktrace lsan asan \ - ubsan tsan + ubsan hwasan tsan ACLOCAL =3D @ACLOCAL@ ALLOC_FILE =3D @ALLOC_FILE@ AMTAR =3D @AMTAR@ @@ -328,6 +329,7 @@ install_sh =3D @install_sh@ libdir =3D @libdir@ libexecdir =3D @libexecdir@ link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ link_liblsan =3D @link_liblsan@ link_libtsan =3D @link_libtsan@ link_libubsan =3D @link_libubsan@ @@ -341,6 +343,7 @@ pdfdir =3D @pdfdir@ prefix =3D @prefix@ program_transform_name =3D @program_transform_name@ psdir =3D @psdir@ +runstatedir =3D @runstatedir@ sbindir =3D @sbindir@ sharedstatedir =3D @sharedstatedir@ srcdir =3D @srcdir@ @@ -361,7 +364,7 @@ sanincludedir =3D $(libdir)/gcc/$(target_alias)/$(gcc_v= ersion)/include/sanitizer nodist_saninclude_HEADERS =3D $(am__append_1) @SANITIZER_SUPPORTED_TRUE@SUBDIRS =3D sanitizer_common $(am__append_2) \ @SANITIZER_SUPPORTED_TRUE@ $(am__append_3) lsan asan ubsan \ -@SANITIZER_SUPPORTED_TRUE@ $(am__append_4) +@SANITIZER_SUPPORTED_TRUE@ hwasan $(am__append_4) gcc_version :=3D $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) =20 # Work around what appears to be a GNU make bug handling MAKEFLAGS diff --git a/libsanitizer/asan/Makefile.in b/libsanitizer/asan/Makefile.in index 926ff7d7491c9713a43b12bf575e023368526767..d61da1c5567e400a9b9b614f123= 2f3e9fa10e06a 100644 --- a/libsanitizer/asan/Makefile.in +++ b/libsanitizer/asan/Makefile.in @@ -352,6 +352,7 @@ install_sh =3D @install_sh@ libdir =3D @libdir@ libexecdir =3D @libexecdir@ link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ link_liblsan =3D @link_liblsan@ link_libtsan =3D @link_libtsan@ link_libubsan =3D @link_libubsan@ @@ -365,6 +366,7 @@ pdfdir =3D @pdfdir@ prefix =3D @prefix@ program_transform_name =3D @program_transform_name@ psdir =3D @psdir@ +runstatedir =3D @runstatedir@ sbindir =3D @sbindir@ sharedstatedir =3D @sharedstatedir@ srcdir =3D @srcdir@ diff --git a/libsanitizer/configure b/libsanitizer/configure index 2d25147adbaaa3578388cf75763e6178302aa3dc..7a4779831bc871c8ed552ed9aee= 1249a6a25f21a 100755 --- a/libsanitizer/configure +++ b/libsanitizer/configure @@ -657,6 +657,7 @@ USING_MAC_INTERPOSE_TRUE link_liblsan link_libubsan link_libtsan +link_libhwasan link_libasan LSAN_SUPPORTED_FALSE LSAN_SUPPORTED_TRUE @@ -779,6 +780,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -868,6 +870,7 @@ datadir=3D'${datarootdir}' sysconfdir=3D'${prefix}/etc' sharedstatedir=3D'${prefix}/com' localstatedir=3D'${prefix}/var' +runstatedir=3D'${localstatedir}/run' includedir=3D'${prefix}/include' oldincludedir=3D'/usr/include' docdir=3D'${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1120,6 +1123,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=3Dyes ;; =20 + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=3Drunstatedir ;; + -runstatedir=3D* | --runstatedir=3D* | --runstatedi=3D* | --runstated=3D= * \ + | --runstate=3D* | --runstat=3D* | --runsta=3D* | --runst=3D* | --runs= =3D* \ + | --run=3D* | --ru=3D* | --r=3D*) + runstatedir=3D$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=3Dsbindir ;; -sbindir=3D* | --sbindir=3D* | --sbindi=3D* | --sbind=3D* | --sbin=3D* \ @@ -1257,7 +1269,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=3D\$$ac_var # Remove trailing slashes. @@ -1410,6 +1422,7 @@ Fine tuning of the installation directories: --sysconfdir=3DDIR read-only single-machine data [PREFIX/etc] --sharedstatedir=3DDIR modifiable architecture-independent data [PREF= IX/com] --localstatedir=3DDIR modifiable single-machine data [PREFIX/var] + --runstatedir=3DDIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=3DDIR object code libraries [EPREFIX/lib] --includedir=3DDIR C header files [PREFIX/include] --oldincludedir=3DDIR C header files for non-gcc [/usr/include] @@ -12329,7 +12342,7 @@ else lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 lt_status=3D$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12332 "configure" +#line 12345 "configure" #include "confdefs.h" =20 #if HAVE_DLFCN_H @@ -12435,7 +12448,7 @@ else lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 lt_status=3D$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12438 "configure" +#line 12451 "configure" #include "confdefs.h" =20 #if HAVE_DLFCN_H @@ -15906,6 +15919,10 @@ fi link_libasan=3D$link_sanitizer_common =20 =20 +# Set up the set of additional libraries that we need to link against for = libhwasan. +link_libhwasan=3D$link_sanitizer_common + + # Set up the set of additional libraries that we need to link against for = libtsan. link_libtsan=3D$link_sanitizer_common =20 @@ -16776,7 +16793,7 @@ ac_config_files=3D"$ac_config_files Makefile libsan= itizer.spec libbacktrace/backtr ac_config_headers=3D"$ac_config_headers config.h" =20 =20 -ac_config_files=3D"$ac_config_files interception/Makefile sanitizer_common= /Makefile libbacktrace/Makefile lsan/Makefile asan/Makefile ubsan/Makefile" +ac_config_files=3D"$ac_config_files interception/Makefile sanitizer_common= /Makefile libbacktrace/Makefile lsan/Makefile asan/Makefile hwasan/Makefile= ubsan/Makefile" =20 =20 if test "x$TSAN_SUPPORTED" =3D "xyes"; then @@ -18053,6 +18070,7 @@ do "libbacktrace/Makefile") CONFIG_FILES=3D"$CONFIG_FILES libbacktrace/Ma= kefile" ;; "lsan/Makefile") CONFIG_FILES=3D"$CONFIG_FILES lsan/Makefile" ;; "asan/Makefile") CONFIG_FILES=3D"$CONFIG_FILES asan/Makefile" ;; + "hwasan/Makefile") CONFIG_FILES=3D"$CONFIG_FILES hwasan/Makefile" ;; "ubsan/Makefile") CONFIG_FILES=3D"$CONFIG_FILES ubsan/Makefile" ;; "tsan/Makefile") CONFIG_FILES=3D"$CONFIG_FILES tsan/Makefile" ;; =20 @@ -19988,6 +20006,17 @@ _EOF . ${multi_basedir}/config-ml.in { ml_norecursion=3D; unset ml_norecursion;} ;; + "hwasan/Makefile":F) cat > vpsed$$ << \_EOF +s!`test -f '$<' || echo '$(srcdir)/'`!! +_EOF + sed -f vpsed$$ $ac_file > tmp$$ + mv tmp$$ $ac_file + rm vpsed$$ + echo 'MULTISUBDIR =3D' >> $ac_file + ml_norecursion=3Dyes + . ${multi_basedir}/config-ml.in + { ml_norecursion=3D; unset ml_norecursion;} + ;; "ubsan/Makefile":F) cat > vpsed$$ << \_EOF s!`test -f '$<' || echo '$(srcdir)/'`!! _EOF diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac index 8aac33cb5c980db77e31e8d799ab5a12f3e3a404..02c0c235171e4c8249821c5db91= 414f8e4bfb3ee 100644 --- a/libsanitizer/configure.ac +++ b/libsanitizer/configure.ac @@ -111,6 +111,10 @@ AC_CHECK_LIB(dl, dlsym, link_libasan=3D$link_sanitizer_common AC_SUBST(link_libasan) =20 +# Set up the set of additional libraries that we need to link against for = libhwasan. +link_libhwasan=3D$link_sanitizer_common +AC_SUBST(link_libhwasan) + # Set up the set of additional libraries that we need to link against for = libtsan. link_libtsan=3D$link_sanitizer_common AC_SUBST(link_libtsan) @@ -339,7 +343,7 @@ AH_BOTTOM([#include "libbacktrace/backtrace-rename.h"]) AC_CONFIG_FILES([Makefile libsanitizer.spec libbacktrace/backtrace-support= ed.h]) AC_CONFIG_HEADER(config.h) =20 -AC_CONFIG_FILES(AC_FOREACH([DIR], [interception sanitizer_common libbacktr= ace lsan asan ubsan], [DIR/Makefile ]), +AC_CONFIG_FILES(AC_FOREACH([DIR], [interception sanitizer_common libbacktr= ace lsan asan hwasan ubsan], [DIR/Makefile ]), [cat > vpsed$$ << \_EOF s!`test -f '$<' || echo '$(srcdir)/'`!! _EOF diff --git a/libsanitizer/hwasan/Makefile.am b/libsanitizer/hwasan/Makefile= .am new file mode 100644 index 0000000000000000000000000000000000000000..3754f435ce0342f5c8051f6ea44= 273bb811c9659 --- /dev/null +++ b/libsanitizer/hwasan/Makefile.am @@ -0,0 +1,81 @@ +AM_CPPFLAGS =3D -I $(top_srcdir)/include -I $(top_srcdir) +=20 +# May be used by toolexeclibdir. +gcc_version :=3D $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + +DEFS =3D -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_M= ACROS -D__STDC_LIMIT_MACROS -DCAN_SANITIZE_UB=3D0 +AM_CXXFLAGS =3D -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -= Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-po= inter -funwind-tables -fvisibility=3Dhidden -Wno-variadic-macros -fno-ipa-i= cf +AM_CXXFLAGS +=3D $(LIBSTDCXX_RAW_CXX_CXXFLAGS) +AM_CXXFLAGS +=3D -std=3Dgnu++11 +AM_CXXFLAGS +=3D $(EXTRA_CXXFLAGS) +ACLOCAL_AMFLAGS =3D -I $(top_srcdir) -I $(top_srcdir)/config + +toolexeclib_LTLIBRARIES =3D libhwasan.la + +hwasan_files =3D \ + hwasan_allocator.cc \ + hwasan.cc \ + hwasan_dynamic_shadow.cc \ + hwasan_interceptors.cc \ + hwasan_linux.cc \ + hwasan_new_delete.cc \ + hwasan_poisoning.cc \ + hwasan_report.cc \ + hwasan_thread.cc \ + hwasan_thread_list.cc + +libhwasan_la_SOURCES =3D $(hwasan_files) +libhwasan_la_LIBADD =3D $(top_builddir)/sanitizer_common/libsanitizer_comm= on.la +if !USING_MAC_INTERPOSE +libhwasan_la_LIBADD +=3D $(top_builddir)/interception/libinterception.la +endif +if LIBBACKTRACE_SUPPORTED +libhwasan_la_LIBADD +=3D $(top_builddir)/libbacktrace/libsanitizer_libback= trace.la +endif +libhwasan_la_LIBADD +=3D $(LIBSTDCXX_RAW_CXX_LDFLAGS) + +libhwasan_la_LDFLAGS =3D -version-info `grep -v '^\#' $(srcdir)/libtool-ve= rsion` $(link_libhwasan) + +# Work around what appears to be a GNU make bug handling MAKEFLAGS +# values defined in terms of make variables, as is the case for CC and +# friends when we are called from the top level Makefile. +AM_MAKEFLAGS =3D \ + "AR_FLAGS=3D$(AR_FLAGS)" \ + "CC_FOR_BUILD=3D$(CC_FOR_BUILD)" \ + "CFLAGS=3D$(CFLAGS)" \ + "CXXFLAGS=3D$(CXXFLAGS)" \ + "CFLAGS_FOR_BUILD=3D$(CFLAGS_FOR_BUILD)" \ + "CFLAGS_FOR_TARGET=3D$(CFLAGS_FOR_TARGET)" \ + "INSTALL=3D$(INSTALL)" \ + "INSTALL_DATA=3D$(INSTALL_DATA)" \ + "INSTALL_PROGRAM=3D$(INSTALL_PROGRAM)" \ + "INSTALL_SCRIPT=3D$(INSTALL_SCRIPT)" \ + "JC1FLAGS=3D$(JC1FLAGS)" \ + "LDFLAGS=3D$(LDFLAGS)" \ + "LIBCFLAGS=3D$(LIBCFLAGS)" \ + "LIBCFLAGS_FOR_TARGET=3D$(LIBCFLAGS_FOR_TARGET)" \ + "MAKE=3D$(MAKE)" \ + "MAKEINFO=3D$(MAKEINFO) $(MAKEINFOFLAGS)" \ + "PICFLAG=3D$(PICFLAG)" \ + "PICFLAG_FOR_TARGET=3D$(PICFLAG_FOR_TARGET)" \ + "SHELL=3D$(SHELL)" \ + "RUNTESTFLAGS=3D$(RUNTESTFLAGS)" \ + "exec_prefix=3D$(exec_prefix)" \ + "infodir=3D$(infodir)" \ + "libdir=3D$(libdir)" \ + "prefix=3D$(prefix)" \ + "includedir=3D$(includedir)" \ + "AR=3D$(AR)" \ + "AS=3D$(AS)" \ + "LD=3D$(LD)" \ + "LIBCFLAGS=3D$(LIBCFLAGS)" \ + "NM=3D$(NM)" \ + "PICFLAG=3D$(PICFLAG)" \ + "RANLIB=3D$(RANLIB)" \ + "DESTDIR=3D$(DESTDIR)" + +MAKEOVERRIDES=3D + +## ################################################################ + + diff --git a/libsanitizer/hwasan/Makefile.in b/libsanitizer/hwasan/Makefile= .in new file mode 100644 index 0000000000000000000000000000000000000000..f89bc9e440502fcf8072d67aa61= a4b63cd490b40 --- /dev/null +++ b/libsanitizer/hwasan/Makefile.in @@ -0,0 +1,736 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH =3D @srcdir@ +am__is_gnu_make =3D { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option =3D \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=3Dno; \ + sane_makeflags=3D$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=3D$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=3D\\; \ + sane_makeflags=3D`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=3Dno; \ + strip_trailopt () \ + { \ + flg=3D`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next =3D yes && { skip_next=3Dno; continue; }; \ + case $$flg in \ + *=3D*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=3Dyes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=3Dyes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=3Dyes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=3Dyes;; \ + -[JT]) skip_next=3Dyes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=3Dyes; break;; \ + esac; \ + done; \ + test $$has_opt =3D yes +am__make_dryrun =3D (target_option=3Dn; $(am__make_running_with_option)) +am__make_keepgoing =3D (target_option=3Dk; $(am__make_running_with_option)) +pkgdatadir =3D $(datadir)/@PACKAGE@ +pkgincludedir =3D $(includedir)/@PACKAGE@ +pkglibdir =3D $(libdir)/@PACKAGE@ +pkglibexecdir =3D $(libexecdir)/@PACKAGE@ +am__cd =3D CDPATH=3D"$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA =3D $(install_sh) -c -m 644 +install_sh_PROGRAM =3D $(install_sh) -c +install_sh_SCRIPT =3D $(install_sh) -c +INSTALL_HEADER =3D $(INSTALL_DATA) +transform =3D $(program_transform_name) +NORMAL_INSTALL =3D : +PRE_INSTALL =3D : +POST_INSTALL =3D : +NORMAL_UNINSTALL =3D : +PRE_UNINSTALL =3D : +POST_UNINSTALL =3D : +build_triplet =3D @build@ +host_triplet =3D @host@ +target_triplet =3D @target@ +@USING_MAC_INTERPOSE_FALSE@am__append_1 =3D $(top_builddir)/interception/l= ibinterception.la +@LIBBACKTRACE_SUPPORTED_TRUE@am__append_2 =3D $(top_builddir)/libbacktrace= /libsanitizer_libbacktrace.la +subdir =3D hwasan +ACLOCAL_M4 =3D $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/libstdc++-raw-cxx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/../config/enable.m4 \ + $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac +am__configure_deps =3D $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON =3D $(srcdir)/Makefile.am +mkinstalldirs =3D $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER =3D $(top_builddir)/config.h +CONFIG_CLEAN_FILES =3D +CONFIG_CLEAN_VPATH_FILES =3D +am__vpath_adj_setup =3D srcdirstrip=3D`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj =3D case $$p in \ + $(srcdir)/*) f=3D`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=3D$$p;; \ + esac; +am__strip_dir =3D f=3D`echo $$p | sed -e 's|^.*/||'`; +am__install_max =3D 40 +am__nobase_strip_setup =3D \ + srcdirstrip=3D`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip =3D \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list =3D $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' |= \ + $(AWK) 'BEGIN { files["."] =3D "" } { files[$$2] =3D files[$$2] " " $$1;= \ + if (++n[$$2] =3D=3D $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] =3D 0; files[$$2] =3D "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list =3D \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir =3D { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs =3D "$(DESTDIR)$(toolexeclibdir)" +LTLIBRARIES =3D $(toolexeclib_LTLIBRARIES) +am__DEPENDENCIES_1 =3D +libhwasan_la_DEPENDENCIES =3D \ + $(top_builddir)/sanitizer_common/libsanitizer_common.la \ + $(am__append_1) $(am__append_2) $(am__DEPENDENCIES_1) +am__objects_1 =3D hwasan_allocator.lo hwasan.lo hwasan_dynamic_shadow.lo \ + hwasan_interceptors.lo hwasan_linux.lo hwasan_new_delete.lo \ + hwasan_poisoning.lo hwasan_report.lo hwasan_thread.lo \ + hwasan_thread_list.lo +am_libhwasan_la_OBJECTS =3D $(am__objects_1) +libhwasan_la_OBJECTS =3D $(am_libhwasan_la_OBJECTS) +AM_V_lt =3D $(am__v_lt_@AM_V@) +am__v_lt_ =3D $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 =3D --silent +am__v_lt_1 =3D=20 +libhwasan_la_LINK =3D $(LIBTOOL) $(AM_V_lt) --tag=3DCXX $(AM_LIBTOOLFLAGS)= \ + $(LIBTOOLFLAGS) --mode=3Dlink $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(libhwasan_la_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P =3D $(am__v_P_@AM_V@) +am__v_P_ =3D $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 =3D false +am__v_P_1 =3D : +AM_V_GEN =3D $(am__v_GEN_@AM_V@) +am__v_GEN_ =3D $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 =3D @echo " GEN " $@; +am__v_GEN_1 =3D=20 +AM_V_at =3D $(am__v_at_@AM_V@) +am__v_at_ =3D $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 =3D @ +am__v_at_1 =3D=20 +DEFAULT_INCLUDES =3D -I.@am__isrc@ -I$(top_builddir) +depcomp =3D $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe =3D depfiles +am__mv =3D mv -f +CXXCOMPILE =3D $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE =3D $(LIBTOOL) $(AM_V_lt) --tag=3DCXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=3Dcompile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX =3D $(am__v_CXX_@AM_V@) +am__v_CXX_ =3D $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 =3D @echo " CXX " $@; +am__v_CXX_1 =3D=20 +CXXLD =3D $(CXX) +CXXLINK =3D $(LIBTOOL) $(AM_V_lt) --tag=3DCXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=3Dlink $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD =3D $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ =3D $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 =3D @echo " CXXLD " $@; +am__v_CXXLD_1 =3D=20 +SOURCES =3D $(libhwasan_la_SOURCES) +am__can_run_installinfo =3D \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files =3D $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input =3D $(AWK) '\ + BEGIN { nonempty =3D 0; } \ + { items[$$0] =3D 1; nonempty =3D 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files =3D \ + list=3D'$(am__tagged_files)'; \ + unique=3D`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS =3D etags +CTAGS =3D ctags +ACLOCAL =3D @ACLOCAL@ +ALLOC_FILE =3D @ALLOC_FILE@ +AMTAR =3D @AMTAR@ +AM_DEFAULT_VERBOSITY =3D @AM_DEFAULT_VERBOSITY@ +AR =3D @AR@ +AUTOCONF =3D @AUTOCONF@ +AUTOHEADER =3D @AUTOHEADER@ +AUTOMAKE =3D @AUTOMAKE@ +AWK =3D @AWK@ +BACKTRACE_SUPPORTED =3D @BACKTRACE_SUPPORTED@ +BACKTRACE_SUPPORTS_THREADS =3D @BACKTRACE_SUPPORTS_THREADS@ +BACKTRACE_USES_MALLOC =3D @BACKTRACE_USES_MALLOC@ +CC =3D @CC@ +CCAS =3D @CCAS@ +CCASDEPMODE =3D @CCASDEPMODE@ +CCASFLAGS =3D @CCASFLAGS@ +CCDEPMODE =3D @CCDEPMODE@ +CFLAGS =3D @CFLAGS@ +CPP =3D @CPP@ +CPPFLAGS =3D @CPPFLAGS@ +CXX =3D @CXX@ +CXXCPP =3D @CXXCPP@ +CXXDEPMODE =3D @CXXDEPMODE@ +CXXFLAGS =3D @CXXFLAGS@ +CYGPATH_W =3D @CYGPATH_W@ +DEFS =3D -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_M= ACROS -D__STDC_LIMIT_MACROS -DCAN_SANITIZE_UB=3D0 +DEPDIR =3D @DEPDIR@ +DSYMUTIL =3D @DSYMUTIL@ +DUMPBIN =3D @DUMPBIN@ +ECHO_C =3D @ECHO_C@ +ECHO_N =3D @ECHO_N@ +ECHO_T =3D @ECHO_T@ +EGREP =3D @EGREP@ +EXEEXT =3D @EXEEXT@ +EXTRA_ASFLAGS =3D @EXTRA_ASFLAGS@ +EXTRA_CFLAGS =3D @EXTRA_CFLAGS@ +EXTRA_CXXFLAGS =3D @EXTRA_CXXFLAGS@ +FGREP =3D @FGREP@ +FORMAT_FILE =3D @FORMAT_FILE@ +GREP =3D @GREP@ +INSTALL =3D @INSTALL@ +INSTALL_DATA =3D @INSTALL_DATA@ +INSTALL_PROGRAM =3D @INSTALL_PROGRAM@ +INSTALL_SCRIPT =3D @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM =3D @INSTALL_STRIP_PROGRAM@ +LD =3D @LD@ +LDFLAGS =3D @LDFLAGS@ +LIBOBJS =3D @LIBOBJS@ +LIBS =3D @LIBS@ +LIBSTDCXX_RAW_CXX_CXXFLAGS =3D @LIBSTDCXX_RAW_CXX_CXXFLAGS@ +LIBSTDCXX_RAW_CXX_LDFLAGS =3D @LIBSTDCXX_RAW_CXX_LDFLAGS@ +LIBTOOL =3D @LIBTOOL@ +LIPO =3D @LIPO@ +LN_S =3D @LN_S@ +LTLIBOBJS =3D @LTLIBOBJS@ +MAINT =3D @MAINT@ +MAKEINFO =3D @MAKEINFO@ +MKDIR_P =3D @MKDIR_P@ +NM =3D @NM@ +NMEDIT =3D @NMEDIT@ +OBJDUMP =3D @OBJDUMP@ +OBJEXT =3D @OBJEXT@ +OTOOL =3D @OTOOL@ +OTOOL64 =3D @OTOOL64@ +PACKAGE =3D @PACKAGE@ +PACKAGE_BUGREPORT =3D @PACKAGE_BUGREPORT@ +PACKAGE_NAME =3D @PACKAGE_NAME@ +PACKAGE_STRING =3D @PACKAGE_STRING@ +PACKAGE_TARNAME =3D @PACKAGE_TARNAME@ +PACKAGE_URL =3D @PACKAGE_URL@ +PACKAGE_VERSION =3D @PACKAGE_VERSION@ +PATH_SEPARATOR =3D @PATH_SEPARATOR@ +RANLIB =3D @RANLIB@ +RPC_DEFS =3D @RPC_DEFS@ +SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS =3D @SANITIZER_COMMON_TARGET_DEP= ENDENT_OBJECTS@ +SED =3D @SED@ +SET_MAKE =3D @SET_MAKE@ +SHELL =3D @SHELL@ +STRIP =3D @STRIP@ +TSAN_TARGET_DEPENDENT_OBJECTS =3D @TSAN_TARGET_DEPENDENT_OBJECTS@ +VERSION =3D @VERSION@ +VIEW_FILE =3D @VIEW_FILE@ +abs_builddir =3D @abs_builddir@ +abs_srcdir =3D @abs_srcdir@ +abs_top_builddir =3D @abs_top_builddir@ +abs_top_srcdir =3D @abs_top_srcdir@ +ac_ct_CC =3D @ac_ct_CC@ +ac_ct_CXX =3D @ac_ct_CXX@ +ac_ct_DUMPBIN =3D @ac_ct_DUMPBIN@ +am__include =3D @am__include@ +am__leading_dot =3D @am__leading_dot@ +am__quote =3D @am__quote@ +am__tar =3D @am__tar@ +am__untar =3D @am__untar@ +bindir =3D @bindir@ +build =3D @build@ +build_alias =3D @build_alias@ +build_cpu =3D @build_cpu@ +build_os =3D @build_os@ +build_vendor =3D @build_vendor@ +builddir =3D @builddir@ +datadir =3D @datadir@ +datarootdir =3D @datarootdir@ +docdir =3D @docdir@ +dvidir =3D @dvidir@ +enable_shared =3D @enable_shared@ +enable_static =3D @enable_static@ +exec_prefix =3D @exec_prefix@ +get_gcc_base_ver =3D @get_gcc_base_ver@ +host =3D @host@ +host_alias =3D @host_alias@ +host_cpu =3D @host_cpu@ +host_os =3D @host_os@ +host_vendor =3D @host_vendor@ +htmldir =3D @htmldir@ +includedir =3D @includedir@ +infodir =3D @infodir@ +install_sh =3D @install_sh@ +libdir =3D @libdir@ +libexecdir =3D @libexecdir@ +link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ +link_liblsan =3D @link_liblsan@ +link_libtsan =3D @link_libtsan@ +link_libubsan =3D @link_libubsan@ +localedir =3D @localedir@ +localstatedir =3D @localstatedir@ +mandir =3D @mandir@ +mkdir_p =3D @mkdir_p@ +multi_basedir =3D @multi_basedir@ +oldincludedir =3D @oldincludedir@ +pdfdir =3D @pdfdir@ +prefix =3D @prefix@ +program_transform_name =3D @program_transform_name@ +psdir =3D @psdir@ +runstatedir =3D @runstatedir@ +sbindir =3D @sbindir@ +sharedstatedir =3D @sharedstatedir@ +srcdir =3D @srcdir@ +sysconfdir =3D @sysconfdir@ +target =3D @target@ +target_alias =3D @target_alias@ +target_cpu =3D @target_cpu@ +target_noncanonical =3D @target_noncanonical@ +target_os =3D @target_os@ +target_vendor =3D @target_vendor@ +toolexecdir =3D @toolexecdir@ +toolexeclibdir =3D @toolexeclibdir@ +top_build_prefix =3D @top_build_prefix@ +top_builddir =3D @top_builddir@ +top_srcdir =3D @top_srcdir@ +AM_CPPFLAGS =3D -I $(top_srcdir)/include -I $(top_srcdir) + +# May be used by toolexeclibdir. +gcc_version :=3D $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) +AM_CXXFLAGS =3D -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic \ + -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti \ + -fomit-frame-pointer -funwind-tables -fvisibility=3Dhidden \ + -Wno-variadic-macros -fno-ipa-icf \ + $(LIBSTDCXX_RAW_CXX_CXXFLAGS) -std=3Dgnu++11 $(EXTRA_CXXFLAGS) +ACLOCAL_AMFLAGS =3D -I $(top_srcdir) -I $(top_srcdir)/config +toolexeclib_LTLIBRARIES =3D libhwasan.la +hwasan_files =3D \ + hwasan_allocator.cc \ + hwasan.cc \ + hwasan_dynamic_shadow.cc \ + hwasan_interceptors.cc \ + hwasan_linux.cc \ + hwasan_new_delete.cc \ + hwasan_poisoning.cc \ + hwasan_report.cc \ + hwasan_thread.cc \ + hwasan_thread_list.cc + +libhwasan_la_SOURCES =3D $(hwasan_files) +libhwasan_la_LIBADD =3D \ + $(top_builddir)/sanitizer_common/libsanitizer_common.la \ + $(am__append_1) $(am__append_2) $(LIBSTDCXX_RAW_CXX_LDFLAGS) +libhwasan_la_LDFLAGS =3D -version-info `grep -v '^\#' $(srcdir)/libtool-ve= rsion` $(link_libhwasan) + +# Work around what appears to be a GNU make bug handling MAKEFLAGS +# values defined in terms of make variables, as is the case for CC and +# friends when we are called from the top level Makefile. +AM_MAKEFLAGS =3D \ + "AR_FLAGS=3D$(AR_FLAGS)" \ + "CC_FOR_BUILD=3D$(CC_FOR_BUILD)" \ + "CFLAGS=3D$(CFLAGS)" \ + "CXXFLAGS=3D$(CXXFLAGS)" \ + "CFLAGS_FOR_BUILD=3D$(CFLAGS_FOR_BUILD)" \ + "CFLAGS_FOR_TARGET=3D$(CFLAGS_FOR_TARGET)" \ + "INSTALL=3D$(INSTALL)" \ + "INSTALL_DATA=3D$(INSTALL_DATA)" \ + "INSTALL_PROGRAM=3D$(INSTALL_PROGRAM)" \ + "INSTALL_SCRIPT=3D$(INSTALL_SCRIPT)" \ + "JC1FLAGS=3D$(JC1FLAGS)" \ + "LDFLAGS=3D$(LDFLAGS)" \ + "LIBCFLAGS=3D$(LIBCFLAGS)" \ + "LIBCFLAGS_FOR_TARGET=3D$(LIBCFLAGS_FOR_TARGET)" \ + "MAKE=3D$(MAKE)" \ + "MAKEINFO=3D$(MAKEINFO) $(MAKEINFOFLAGS)" \ + "PICFLAG=3D$(PICFLAG)" \ + "PICFLAG_FOR_TARGET=3D$(PICFLAG_FOR_TARGET)" \ + "SHELL=3D$(SHELL)" \ + "RUNTESTFLAGS=3D$(RUNTESTFLAGS)" \ + "exec_prefix=3D$(exec_prefix)" \ + "infodir=3D$(infodir)" \ + "libdir=3D$(libdir)" \ + "prefix=3D$(prefix)" \ + "includedir=3D$(includedir)" \ + "AR=3D$(AR)" \ + "AS=3D$(AS)" \ + "LD=3D$(LD)" \ + "LIBCFLAGS=3D$(LIBCFLAGS)" \ + "NM=3D$(NM)" \ + "PICFLAG=3D$(PICFLAG)" \ + "RANLIB=3D$(RANLIB)" \ + "DESTDIR=3D$(DESTDIR)" + +MAKEOVERRIDES =3D=20 +all: all-am + +.SUFFIXES: +.SUFFIXES: .cc .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am_= _configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hwasan/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign hwasan/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(= am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__dep= files_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEP= ENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list=3D'$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list= =3D; \ + list2=3D; for p in $$list; do \ + if test -f $$p; then \ + list2=3D"$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=3Dinstall $= (INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=3Dinstall $(INSTAL= L) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \ + } + +uninstall-toolexeclibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list=3D'$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list= =3D; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=3Duninstall= rm -f '$(DESTDIR)$(toolexeclibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=3Duninstall rm -f = "$(DESTDIR)$(toolexeclibdir)/$$f"; \ + done + +clean-toolexeclibLTLIBRARIES: + -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES) + @list=3D'$(toolexeclib_LTLIBRARIES)'; \ + locs=3D`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libhwasan.la: $(libhwasan_la_OBJECTS) $(libhwasan_la_DEPENDENCIES) $(EXTRA= _libhwasan_la_DEPENDENCIES)=20 + $(AM_V_CXXLD)$(libhwasan_la_LINK) -rpath $(toolexeclibdir) $(libhwasan_la= _OBJECTS) $(libhwasan_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_allocator.Plo@am__= quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_dynamic_shadow.Plo= @am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_interceptors.Plo@a= m__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_linux.Plo@am__quot= e@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_new_delete.Plo@am_= _quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_poisoning.Plo@am__= quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_report.Plo@am__quo= te@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_thread.Plo@am__quo= te@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwasan_thread_list.Plo@am= __quote@ + +.cc.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR= )/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source=3D'$<' object=3D'$@' = libtool=3Dno @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=3D$(DEPDIR) $(CXXDEPMODE) $(depc= omp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cc.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR= )/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source=3D'$<' object=3D'$@' = libtool=3Dno @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=3D$(DEPDIR) $(CXXDEPMODE) $(depc= omp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYG= PATH_W) '$<'` + +.cc.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPD= IR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source=3D'$<' object=3D'$@' = libtool=3Dyes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=3D$(DEPDIR) $(CXXDEPMODE) $(depc= omp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=3D`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=3D$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=3D`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list=3D'$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir=3D"$(srcdir)" ;; \ + *) sdir=3D$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(toolexeclibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM=3D"$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM=3D"$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=3D= -s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM=3D"$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM=3D"$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=3D= -s \ + "INSTALL_PROGRAM_ENV=3DSTRIPPROG=3D'$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . =3D "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f= $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-toolexeclibLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-toolexeclibLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-toolexeclibLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-toolexeclibLTLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip install-toolexeclibLTLIBRARIES \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am \ + uninstall-toolexeclibLTLIBRARIES + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libsanitizer/hwasan/libtool-version b/libsanitizer/hwasan/libt= ool-version new file mode 100644 index 0000000000000000000000000000000000000000..204fdd2d8e5fe21a5a9f9e23d6a= 6cf17d353362a --- /dev/null +++ b/libsanitizer/hwasan/libtool-version @@ -0,0 +1,6 @@ +# This file is used to maintain libtool version info for libmudflap. See +# the libtool manual to understand the meaning of the fields. This is +# a separate file so that version updates don't involve re-running +# automake. +# CURRENT:REVISION:AGE +0:0:0 diff --git a/libsanitizer/interception/Makefile.in b/libsanitizer/intercept= ion/Makefile.in index 08a33e0e567b808a9390589b27469f13ab645878..f1fe41710a22763416452384f4b= cbb3b14c4916e 100644 --- a/libsanitizer/interception/Makefile.in +++ b/libsanitizer/interception/Makefile.in @@ -300,6 +300,7 @@ install_sh =3D @install_sh@ libdir =3D @libdir@ libexecdir =3D @libexecdir@ link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ link_liblsan =3D @link_liblsan@ link_libtsan =3D @link_libtsan@ link_libubsan =3D @link_libubsan@ @@ -313,6 +314,7 @@ pdfdir =3D @pdfdir@ prefix =3D @prefix@ program_transform_name =3D @program_transform_name@ psdir =3D @psdir@ +runstatedir =3D @runstatedir@ sbindir =3D @sbindir@ sharedstatedir =3D @sharedstatedir@ srcdir =3D @srcdir@ diff --git a/libsanitizer/libbacktrace/Makefile.in b/libsanitizer/libbacktr= ace/Makefile.in index f0e190a81d82ddc86a3e39a5dc41e864190582c0..ba1bcc4b1a6d1ac27e767622190= 30b39c6242851 100644 --- a/libsanitizer/libbacktrace/Makefile.in +++ b/libsanitizer/libbacktrace/Makefile.in @@ -350,6 +350,7 @@ install_sh =3D @install_sh@ libdir =3D @libdir@ libexecdir =3D @libexecdir@ link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ link_liblsan =3D @link_liblsan@ link_libtsan =3D @link_libtsan@ link_libubsan =3D @link_libubsan@ @@ -363,6 +364,7 @@ pdfdir =3D @pdfdir@ prefix =3D @prefix@ program_transform_name =3D @program_transform_name@ psdir =3D @psdir@ +runstatedir =3D @runstatedir@ sbindir =3D @sbindir@ sharedstatedir =3D @sharedstatedir@ srcdir =3D @srcdir@ diff --git a/libsanitizer/libsanitizer.spec.in b/libsanitizer/libsanitizer.= spec.in index a4fa87d8dfc51549b0f932b31a610db1a2e86c29..70a33574d7b1d494c4875cfc41f= 29606bde2172e 100644 --- a/libsanitizer/libsanitizer.spec.in +++ b/libsanitizer/libsanitizer.spec.in @@ -3,6 +3,8 @@ =20 *link_libasan: @link_libasan@ =20 +*link_libhwasan: @link_libhwasan@ + *link_libtsan: @link_libtsan@ =20 *link_libubsan: @link_libubsan@ diff --git a/libsanitizer/lsan/Makefile.in b/libsanitizer/lsan/Makefile.in index a11baed30c85327f43f05888017bc5a028c92b1b..68c40849ecb9a4eb8e95035386b= 37810ca443f74 100644 --- a/libsanitizer/lsan/Makefile.in +++ b/libsanitizer/lsan/Makefile.in @@ -345,6 +345,7 @@ install_sh =3D @install_sh@ libdir =3D @libdir@ libexecdir =3D @libexecdir@ link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ link_liblsan =3D @link_liblsan@ link_libtsan =3D @link_libtsan@ link_libubsan =3D @link_libubsan@ @@ -358,6 +359,7 @@ pdfdir =3D @pdfdir@ prefix =3D @prefix@ program_transform_name =3D @program_transform_name@ psdir =3D @psdir@ +runstatedir =3D @runstatedir@ sbindir =3D @sbindir@ sharedstatedir =3D @sharedstatedir@ srcdir =3D @srcdir@ diff --git a/libsanitizer/merge.sh b/libsanitizer/merge.sh index fa340bedbac89871f9bb24e49218d7d8cf9d8da7..383079965fec34fcd1e6310c832= ade078b51820d 100755 --- a/libsanitizer/merge.sh +++ b/libsanitizer/merge.sh @@ -69,6 +69,7 @@ CUR_REV=3D$(get_current_rev) echo Current upstream revision: $CUR_REV merge include/sanitizer include/sanitizer merge lib/asan asan +merge lib/hwasan hwasan merge lib/lsan lsan merge lib/tsan/rtl tsan merge lib/sanitizer_common sanitizer_common diff --git a/libsanitizer/sanitizer_common/Makefile.in b/libsanitizer/sanit= izer_common/Makefile.in index d33d2227938b6d261c0f1c3eaaa06d2c075863f0..2b8f7db1f5e16e8b999f2e68330= c9f90d5a0345c 100644 --- a/libsanitizer/sanitizer_common/Makefile.in +++ b/libsanitizer/sanitizer_common/Makefile.in @@ -365,6 +365,7 @@ install_sh =3D @install_sh@ libdir =3D @libdir@ libexecdir =3D @libexecdir@ link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ link_liblsan =3D @link_liblsan@ link_libtsan =3D @link_libtsan@ link_libubsan =3D @link_libubsan@ @@ -378,6 +379,7 @@ pdfdir =3D @pdfdir@ prefix =3D @prefix@ program_transform_name =3D @program_transform_name@ psdir =3D @psdir@ +runstatedir =3D @runstatedir@ sbindir =3D @sbindir@ sharedstatedir =3D @sharedstatedir@ srcdir =3D @srcdir@ diff --git a/libsanitizer/tsan/Makefile.in b/libsanitizer/tsan/Makefile.in index cb4f0f9fef07e075c78af7c305cfbb165eea2774..327134e7ce75eb74d3847ea8fa7= bca35c4380634 100644 --- a/libsanitizer/tsan/Makefile.in +++ b/libsanitizer/tsan/Makefile.in @@ -375,6 +375,7 @@ install_sh =3D @install_sh@ libdir =3D @libdir@ libexecdir =3D @libexecdir@ link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ link_liblsan =3D @link_liblsan@ link_libtsan =3D @link_libtsan@ link_libubsan =3D @link_libubsan@ @@ -388,6 +389,7 @@ pdfdir =3D @pdfdir@ prefix =3D @prefix@ program_transform_name =3D @program_transform_name@ psdir =3D @psdir@ +runstatedir =3D @runstatedir@ sbindir =3D @sbindir@ sharedstatedir =3D @sharedstatedir@ srcdir =3D @srcdir@ diff --git a/libsanitizer/ubsan/Makefile.in b/libsanitizer/ubsan/Makefile.in index b1ba31a50e6b030ddc8db8489d60b5383bb72c6e..fbda21c705bbaf2e94a1aa87a1b= 5296f146a8686 100644 --- a/libsanitizer/ubsan/Makefile.in +++ b/libsanitizer/ubsan/Makefile.in @@ -339,6 +339,7 @@ install_sh =3D @install_sh@ libdir =3D @libdir@ libexecdir =3D @libexecdir@ link_libasan =3D @link_libasan@ +link_libhwasan =3D @link_libhwasan@ link_liblsan =3D @link_liblsan@ link_libtsan =3D @link_libtsan@ link_libubsan =3D @link_libubsan@ @@ -352,6 +353,7 @@ pdfdir =3D @pdfdir@ prefix =3D @prefix@ program_transform_name =3D @program_transform_name@ psdir =3D @psdir@ +runstatedir =3D @runstatedir@ sbindir =3D @sbindir@ sharedstatedir =3D @sharedstatedir@ srcdir =3D @srcdir@ --_002_VI1PR08MB54719CC69A06D7C67A59E4E1E0BA0VI1PR08MB5471eurp_ Content-Type: application/gzip; name="hwasan-implementation01.patch.gz" Content-Description: hwasan-implementation01.patch.gz Content-Disposition: attachment; filename="hwasan-implementation01.patch.gz"; size=11137; creation-date="Fri, 06 Sep 2019 14:46:06 GMT"; modification-date="Fri, 06 Sep 2019 14:46:06 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 15100 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 96iQmkIhrfwfZeyd/w+O7NFTr6kAAA== --_002_VI1PR08MB54719CC69A06D7C67A59E4E1E0BA0VI1PR08MB5471eurp_--