From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 76628 invoked by alias); 20 Oct 2015 12:02:07 -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 76593 invoked by uid 89); 20 Oct 2015 12:02:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.5 required=5.0 tests=AWL,BAYES_50,RP_MATCHES_RCVD,SPF_HELO_PASS,URIBL_BLACK autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Tue, 20 Oct 2015 12:01:56 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 7ABFBC0C18B7; Tue, 20 Oct 2015 12:01:55 +0000 (UTC) Received: from tucnak.zalov.cz (ovpn-116-53.ams2.redhat.com [10.36.116.53]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t9KC1rXO030266 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 20 Oct 2015 08:01:54 -0400 Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.15.2/8.15.2) with ESMTP id t9KC1ptT024424; Tue, 20 Oct 2015 14:01:52 +0200 Received: (from jakub@localhost) by tucnak.zalov.cz (8.15.2/8.15.2/Submit) id t9KC1lLY024422; Tue, 20 Oct 2015 14:01:47 +0200 Date: Tue, 20 Oct 2015 12:06:00 -0000 From: Jakub Jelinek To: Maxim Ostapenko Cc: Kostya Serebryany , GCC Patches , Dmitry Vyukov , Marek Polacek , Yury Gribov , Slava Garbuzov , Vyacheslav Barinov Subject: Re: [PATCH v2 6/6] Libsanitizer merge from upstream r250806 (was r249633). Message-ID: <20151020120147.GB478@tucnak.redhat.com> Reply-To: Jakub Jelinek References: <56262292.3030803@partner.samsung.com> <562625A8.3030007@partner.samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <562625A8.3030007@partner.samsung.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-IsSubscribed: yes X-SW-Source: 2015-10/txt/msg01867.txt.bz2 On Tue, Oct 20, 2015 at 02:29:44PM +0300, Maxim Ostapenko wrote: > In this patch, I'm trying to add a general instruction how to perform the > merge. This is just a documentation patch, any suggestions and opinions are > welcome. I'd add a line that the diff in lib/asan/tests tests since the last merge to those tests (looking at gcc/testsuite/ChangeLog*, the 2014-05-30 entry mentions r209283) should be incorporated into the gcc testsuite too (if possible). Otherwise, LGTM. > Index: libsanitizer/HOWTO_MERGE > =================================================================== > --- libsanitizer/HOWTO_MERGE (revision 0) > +++ libsanitizer/HOWTO_MERGE (working copy) > @@ -0,0 +1,26 @@ > +In general, merging process should not be very difficult, but we need to > +track various ABI changes and GCC-specific patches carefully. Here is a > +general list of actions required to perform the merge: > + > +- Checkout recent GCC tree. > +- Run merge.sh script from libsanitizer directory. > +- Modify Makefile.am files into asan/tsan/lsan/ubsan/sanitizer_common/interception > + directories if needed. In particular, you may need to add new source files > + and remove old ones in source files list, add new flags to {C, CXX}FLAGS if > + needed and update DEFS with new defined variables. > +- Apply all needed GCC-specific patches to libsanitizer (note that some of > + them might be already included to upstream). > +- Apply all necessary compiler changes. Be especially careful here, you must > + not break ABI between compiler and library. > +- Modify configure.ac file if needed (e.g. if you need to add link against new > + library for sanitizer lilbs). > +- Remove unused (deleted by merge) files from all source and include > + directories. Be especially careful with headers, because they aren't listed > + in Makefiles explicitly. > +- Regenerate configure script and all Makefiles by autoreconf. You should use > + exactly the same autotools version as for other GCC directories (current > + version is 2.64, https://www.gnu.org/software/automake/faq/autotools-faq.html > + for details how to install/use it). > +- Run regression testing on at least three platforms (e.g. x86-linux-gnu, > + x86_64-linux-gnu, aarch64-linux-gnu). > +- Run {A, UB}San bootstrap on at least three platforms. Jakub