summaryrefslogtreecommitdiff
path: root/libsanitizer
diff options
context:
space:
mode:
authorchefmax <chefmax@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-21 07:53:22 +0000
committerchefmax <chefmax@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-21 07:53:22 +0000
commite18652ec7ac4c11d54c6595268ff62bf0e5ebdf4 (patch)
tree547850eb9642d80a02fc54faccadf92a604f2c32 /libsanitizer
parente57d6cc3a6f32edfa42ad7a7c99fd13f69226bc0 (diff)
libsanitizer/
* HOWTO_MERGE: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229116 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libsanitizer')
-rw-r--r--libsanitizer/ChangeLog4
-rw-r--r--libsanitizer/HOWTO_MERGE26
2 files changed, 30 insertions, 0 deletions
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
index 2ed4cc321913..cead59d6ebb6 100644
--- a/libsanitizer/ChangeLog
+++ b/libsanitizer/ChangeLog
@@ -1,5 +1,9 @@
2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+ * HOWTO_MERGE: New file.
+
+2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+
* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we
compiled code with GCC when extracting the caller PC for ARM if no
valid frame pointer is available.
diff --git a/libsanitizer/HOWTO_MERGE b/libsanitizer/HOWTO_MERGE
new file mode 100644
index 000000000000..5d68e06789d6
--- /dev/null
+++ b/libsanitizer/HOWTO_MERGE
@@ -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.