[klee-dev] My forked KLEE using LLVM 3.6 passes regression and unit tests

Dan Liew dan at su-root.co.uk
Wed Apr 15 21:27:57 BST 2015


Hi Chase,

Thanks for taking this work on.

On 15 April 2015 at 20:43, Chace Clark <chace3 at tamu.edu> wrote:
> I have been working on updating KLEE to work using the newest stable version
> of LLVM (3.6).
>
> It now passes the same regression tests that the llvm 3.4.2 version does, as
> well as all the unit tests.
>
> I would love for these changes to be pushed to the main branch of KLEE.

So would I.

> What should i do to prepare before I submit a pull request to you guys?

1. Rebase your changes on the current KLEE master. I will not accept a
pull request that's full of merge commits.
2. Try to make your commits are as "single purpose" as possible (i.e.
don't try to do completely unrelated things in the same commit)
3. If possible run your patches through clang-format-diff (we use the
LLVM style) so there aren't any formatting issues.

You can use git-clang-format [1] to make this easier for you.

4. Enable TravisCI tests for LLVM 3.6. Look at the /.travis.yml file.
Hopefully it would just be a case of adding a few more configurations
the ``env`` key

- LLVM_VERSION=3.6 STP_VERSION=UPSTREAM KLEE_UCLIBC=0
DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1
- LLVM_VERSION=3.6 STP_VERSION=UPSTREAM KLEE_UCLIBC=1
DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1
- LLVM_VERSION=3.6 STP_VERSION=r940 KLEE_UCLIBC=0 DISABLE_ASSERTIONS=0
ENABLE_OPTIMIZED=1
- LLVM_VERSION=3.6 STP_VERSION=r940 KLEE_UCLIBC=1 DISABLE_ASSERTIONS=0
ENABLE_OPTIMIZED=1


The TravisCI build might not work straight away but doing this will
help us iron out these issues before your changes go into master.

Thanks,
Dan.



More information about the klee-dev mailing list