Update merge script and HOWTO_MERGE documentation.
authorMartin Liska <mliska@suse.cz>
Wed, 31 Oct 2018 11:09:26 +0000 (12:09 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Wed, 31 Oct 2018 11:09:26 +0000 (11:09 +0000)
2018-10-31  Martin Liska  <mliska@suse.cz>

* HOWTO_MERGE: Enhance documentation.
* merge.sh: Add support for git as well.

From-SVN: r265664

libsanitizer/ChangeLog
libsanitizer/HOWTO_MERGE
libsanitizer/merge.sh

index 37104d0ec6a4202e592d6a9beff7afd372425488..d93e7db9ee1d6ba09f9f4f3cc035bd9ece5b7de9 100644 (file)
@@ -1,3 +1,8 @@
+2018-10-31  Martin Liska  <mliska@suse.cz>
+
+       * HOWTO_MERGE: Enhance documentation.
+       * merge.sh: Add support for git as well.
+
 2018-08-02  Martin Liska  <mliska@suse.cz>
 
        PR sanitizer/86022
index 81121aa385ff029c38583f8e2dbd746883ea7bee..a47a26a4a746c01b811da1a06db284e1cfffcdd2 100644 (file)
@@ -3,7 +3,8 @@ 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.
+* Run merge.sh script from libsanitizer directory.  The script accepts one
+  argument that is control version system (svn or git).
 * 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
@@ -20,7 +21,7 @@ general list of actions required to perform the merge:
 * Update ASan testsuite with corresponding tests from lib/asan/tests directory.
   Not all tests can be migrated easily, so you don't need them all to be adapted.
 * Modify configure.ac file if needed (e.g. if you need to add link against new
-  library for sanitizer lilbs).
+  library for sanitizer libs).
 * Add new target platforms in configure.tgt script if needed.
 * Bump SONAME for sanitizer libraries in asan/tsan/ubsan libtool-version files
   if ABI has changed.
@@ -30,7 +31,9 @@ general list of actions required to perform the merge:
 * Run regression testing on at least three platforms (e.g. x86-linux-gnu, x86_64-linux-gnu,
   aarch64-linux-gnu, arm-linux-gnueabi).
 * Run {A, UB}San bootstrap on at least three platforms.
-* Compare ABI of corresponding libclang_rt-asan and newly build libasan libraries.
+* Compare ABI of corresponding libclang_rt.asan and newly build libasan libraries.
+  Similarly you can compare latest GCC release with the newly built libraries
+  (libasan.so.*, libubsan.so.*, libtsan.so*).
   You can use a pretty good libabigail tool (https://sourceware.org/libabigail/index.html)
   to perform such a comparision.  Note, that the list of exported symbols may differ,
   e.g. because libasan currently does not include UBSan runtime.
index 2e5ec2527b80cea138af16a331c0c2dd13cf71aa..fa340bedbac89871f9bb24e49218d7d8cf9d8da7 100755 (executable)
@@ -4,6 +4,8 @@
 
 # This script merges libsanitizer sources from upstream.
 
+VCS=${1:-svn}
+
 get_upstream() {
   rm -rf upstream
   #cp -rf orig upstream
@@ -46,10 +48,10 @@ merge() {
     elif [ -f $upstream_path/$f ]; then
       echo "FOUND IN UPSTREAM :" $f
       cp -v $upstream_path/$f $local_path
-      svn add $local_path/$f
+      $VCS add $local_path/$f
     elif [ -f $local_path/$f ]; then
       echo "FOUND IN LOCAL    :" $f
-      svn remove $local_path/$f
+      $VCS rm $local_path/$f
     fi
   done