aboutsummaryrefslogtreecommitdiff
path: root/bisect/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'bisect/README.txt')
-rw-r--r--bisect/README.txt41
1 files changed, 41 insertions, 0 deletions
diff --git a/bisect/README.txt b/bisect/README.txt
new file mode 100644
index 0000000..83abfb1
--- /dev/null
+++ b/bisect/README.txt
@@ -0,0 +1,41 @@
+LLVM Bisect Scripts
+===================
+
+These scripts help you bisect LLVM/Clang for problems on build, check
+and test-suite (on a specific test, not all of it). The only script
+you should use is 'bisect.pl', as that will call all others in the
+correct way for a given command line options.
+
+You can rely on the power of run.sh to build and test (either check-all
+or the test-suite), but you can also write your own test.sh script and
+pass it to bisect.pl.
+
+Usage:
+ $ ./bisect.sh [options] good_rev bad_rev
+
+Options:
+ -c checkout_script (default: ./checkout.sh)
+ -b build_script (default: ./run.sh)
+ -t test_script (default: empty)
+
+Notes:
+
+* If the test script is empty, the success status will come from the build
+ script. So, if you're bisecting a build issue, or your build script is
+ also testing (ex: ./run.sh -c), leaving the test script empty will work
+ as expected.
+
+* There is no support for Libc++, LLd etc. But it shouldn't be
+ too hard to add it to the list of checkout paths and symlinks on run.sh.
+
+* It assumes your test-suite checkout is correct and on the same directory,
+ please see the test-suite scripts to help you set it up. If you have your
+ own setup, please write an according test script.
+
+* The script creates a log for each checkout ($rev.log), so that you can tail
+ it while building. It will also move the log to .good and .bad once it
+ finishes, given run.sh or your test script's return status.
+
+* I *strongly* advise you to use ccache, since we *must* clean up the build
+ directory before *every* build to avoid carrying on problems (one of the
+ reasons I moved back from a proper bisect).