Hello community, here is the log from the commit of package klee for openSUSE:Factory checked in at 2018-09-24 13:13:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/klee (Old) and /work/SRC/openSUSE:Factory/.klee.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "klee" Mon Sep 24 13:13:11 2018 rev:12 rq:637042 version:1.4.0+20180920 Changes: -------- --- /work/SRC/openSUSE:Factory/klee/klee.changes 2018-09-03 10:36:21.780864785 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/klee.changes 2018-09-24 13:13:11.965713357 +0200 @@ -1,0 +2,69 @@ +Fri Sep 21 11:24:38 UTC 2018 - jsl...@suse.com + +- Update to version 1.4.0+20180920: + * Removed unused file + * Removed unused --sym-files 0 0 argument from FD_Fail test and rewrote the test to use FileCheck instead of grep + * Updated IoCtl test to use --sym-stdin instead of --sym-files 0 x to make stdin symbolic and removed unused arguments to main. + * Updated DirSeek test to use --sym-stdin instead of --sym-files 0 x to make stdin symbolic. + * Silence an uninitialized variable compiler warning (and a tiny formatting change) + * travis: enable LLVM 4 testing + * llvm4: gep_type_iterator has no operator* + * llvm4: PointerType is not SequentialType + * llvm4: use chrono helpers from LLVM + * llvm4: errorOr and similar + * llvm4: APFloat members are functions + * llvm4: handle different header names + * travis CI: add LLVM 3.9 build tests + * llvm39: switch KLEE_RUNTIME_BUILD_TYPE to Debug+Asserts + * cmake: find_llvm, fix libraries with llvm-config 3.9 + * llvm: make KLEE compile against LLVM 3.9 + * Add testcase to run POSIX environment and main without arguments + * Add POSIX runtime as dependency for the test case + * Unify the error message if that function has not been found. + * Fix generation of global constructors and destructors + * POSIX: Add invocation of klee_init_env into wrapper before calling main + * Fix missing includes and declarations + * Use FileCheck and LINE instead of grep if possible + * llvm36.patch: fix build for newer glibc/gcc versions + * runtime: fix memory error in canonicalize_file_name + * Build on trusty without sudo - uses faster Docker infrastructure from TravisCI + * Avoid Vararg non-deterministic allocation +- removed (in upstream): + * 0001-llvm-make-KLEE-compile-against-LLVM-3.9.patch + * 0002-cmake-find_llvm-fix-libraries-with-llvm-config-3.9.patch + * 0003-llvm39-switch-KLEE_RUNTIME_BUILD_TYPE-to-Debug-Asser.patch + * 0004-llvm40-handle-different-header-names.patch + * 0005-llvm-APFloat-members-are-functions-in-LLVM-4.0.patch + * 0006-llvm40-errorOr-and-similar.patch + * 0007-llvm-use-chrono-helpers-from-LLVM-4.0.patch + * 0008-llvm-PointerType-is-not-SequentialType-in-LLVM-4.patch + * 0009-llvm40-gep_type_iterator-has-no-operator.patch +- removed (not needed): + * 0017-llvm50-Intrinsic-objectsize-has-three-arguments.patch +- renamed: + * 0010-llvm50-avoid-on-function-arg_begin.patch + -> 0001-llvm5-avoid-on-function-arg_begin.patch + * 0011-llvm50-integerPartWidth-is-from-llvm-APFloatBase.patch + -> 0002-llvm5-integerPartWidth-is-from-llvm-APFloatBase.patch + * 0012-llvm50-handle-getOrInsertFunction-terminator.patch + -> 0003-llvm5-handle-getOrInsertFunction-terminator.patch + * 0013-llvm50-SwitchInst-case-functions-now-return-pointers.patch + -> 0004-llvm5-SwitchInst-case-functions-now-return-pointers.patch + * 0014-llvm50-handle-new-file_magic-s-location.patch + -> 0005-llvm5-handle-new-file_magic-s-location.patch + * 0015-llvm50-use-MutableArrayRef-for-APFloat-convertToInte.patch + -> 0006-llvm5-use-MutableArrayRef-for-APFloat-convertToInteg.patch + * 0016-llvm50-AllocaInst-takes-address-space.patch + -> 0007-llvm5-Intrinsic-objectsize-has-three-arguments.patch + * 0018-llvm50-test-change-objectsize.patch + -> 0008-llvm5-test-change-objectsize.patch + * 0019-llvm50-test-add-disable-O0-optnone-to-O0.patch + -> 0009-llvm5-test-add-disable-O0-optnone-to-O0.patch + * 0020-llvm50-CallSite.paramHasAttr-is-indexed-from-0.patch + -> 0010-llvm5-CallSite.paramHasAttr-is-indexed-from-0.patch + * 0021-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch + -> 0011-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch + * 0022-llvm6-handle-headers-renaming.patch + -> 0012-llvm6-handle-headers-renaming.patch + +------------------------------------------------------------------- Old: ---- 0001-llvm-make-KLEE-compile-against-LLVM-3.9.patch 0002-cmake-find_llvm-fix-libraries-with-llvm-config-3.9.patch 0003-llvm39-switch-KLEE_RUNTIME_BUILD_TYPE-to-Debug-Asser.patch 0004-llvm40-handle-different-header-names.patch 0005-llvm-APFloat-members-are-functions-in-LLVM-4.0.patch 0006-llvm40-errorOr-and-similar.patch 0007-llvm-use-chrono-helpers-from-LLVM-4.0.patch 0008-llvm-PointerType-is-not-SequentialType-in-LLVM-4.patch 0009-llvm40-gep_type_iterator-has-no-operator.patch 0010-llvm50-avoid-on-function-arg_begin.patch 0011-llvm50-integerPartWidth-is-from-llvm-APFloatBase.patch 0012-llvm50-handle-getOrInsertFunction-terminator.patch 0013-llvm50-SwitchInst-case-functions-now-return-pointers.patch 0014-llvm50-handle-new-file_magic-s-location.patch 0015-llvm50-use-MutableArrayRef-for-APFloat-convertToInte.patch 0016-llvm50-AllocaInst-takes-address-space.patch 0017-llvm50-Intrinsic-objectsize-has-three-arguments.patch 0018-llvm50-test-change-objectsize.patch 0019-llvm50-test-add-disable-O0-optnone-to-O0.patch 0020-llvm50-CallSite.paramHasAttr-is-indexed-from-0.patch 0021-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch 0022-llvm6-handle-headers-renaming.patch klee-1.4.0+20180829.tar.xz New: ---- 0001-llvm5-avoid-on-function-arg_begin.patch 0002-llvm5-integerPartWidth-is-from-llvm-APFloatBase.patch 0003-llvm5-handle-getOrInsertFunction-terminator.patch 0004-llvm5-SwitchInst-case-functions-now-return-pointers.patch 0005-llvm5-handle-new-file_magic-s-location.patch 0006-llvm5-use-MutableArrayRef-for-APFloat-convertToInteg.patch 0007-llvm5-Intrinsic-objectsize-has-three-arguments.patch 0008-llvm5-test-change-objectsize.patch 0009-llvm5-test-add-disable-O0-optnone-to-O0.patch 0010-llvm5-CallSite.paramHasAttr-is-indexed-from-0.patch 0011-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch 0012-llvm6-handle-headers-renaming.patch klee-1.4.0+20180920.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ klee.spec ++++++ --- /var/tmp/diff_new_pack.ETwrP3/_old 2018-09-24 13:13:12.665712134 +0200 +++ /var/tmp/diff_new_pack.ETwrP3/_new 2018-09-24 13:13:12.669712128 +0200 @@ -19,7 +19,7 @@ %define llvm_version_minor 0 %define llvm_version %{llvm_version_major} -%define version_unconverted 1.4.0+20180829 +%define version_unconverted 1.4.0+20180920 %ifarch %{ix86} x86_64 %define with_uclibc 1 @@ -31,7 +31,7 @@ Summary: LLVM Execution Engine License: NCSA Group: Development/Languages/Other -Version: 1.4.0+20180829 +Version: 1.4.0+20180920 Release: 0 Url: http://klee.github.io/ Source0: %{name}-%{version}.tar.xz @@ -39,28 +39,18 @@ Source2: https://raw.githubusercontent.com/llvm-mirror/llvm/release_%{llvm_version_major}%{llvm_version_minor}/utils/not/not.cpp Source3: https://raw.githubusercontent.com/llvm-mirror/llvm/release_%{llvm_version_major}%{llvm_version_minor}/utils/FileCheck/FileCheck.cpp -Patch201: 0001-llvm-make-KLEE-compile-against-LLVM-3.9.patch -Patch202: 0002-cmake-find_llvm-fix-libraries-with-llvm-config-3.9.patch -Patch203: 0003-llvm39-switch-KLEE_RUNTIME_BUILD_TYPE-to-Debug-Asser.patch -Patch204: 0004-llvm40-handle-different-header-names.patch -Patch205: 0005-llvm-APFloat-members-are-functions-in-LLVM-4.0.patch -Patch206: 0006-llvm40-errorOr-and-similar.patch -Patch207: 0007-llvm-use-chrono-helpers-from-LLVM-4.0.patch -Patch208: 0008-llvm-PointerType-is-not-SequentialType-in-LLVM-4.patch -Patch209: 0009-llvm40-gep_type_iterator-has-no-operator.patch -Patch210: 0010-llvm50-avoid-on-function-arg_begin.patch -Patch211: 0011-llvm50-integerPartWidth-is-from-llvm-APFloatBase.patch -Patch212: 0012-llvm50-handle-getOrInsertFunction-terminator.patch -Patch213: 0013-llvm50-SwitchInst-case-functions-now-return-pointers.patch -Patch214: 0014-llvm50-handle-new-file_magic-s-location.patch -Patch215: 0015-llvm50-use-MutableArrayRef-for-APFloat-convertToInte.patch -Patch216: 0016-llvm50-AllocaInst-takes-address-space.patch -Patch217: 0017-llvm50-Intrinsic-objectsize-has-three-arguments.patch -Patch218: 0018-llvm50-test-change-objectsize.patch -Patch219: 0019-llvm50-test-add-disable-O0-optnone-to-O0.patch -Patch220: 0020-llvm50-CallSite.paramHasAttr-is-indexed-from-0.patch -Patch221: 0021-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch -Patch222: 0022-llvm6-handle-headers-renaming.patch +Patch201: 0001-llvm5-avoid-on-function-arg_begin.patch +Patch202: 0002-llvm5-integerPartWidth-is-from-llvm-APFloatBase.patch +Patch203: 0003-llvm5-handle-getOrInsertFunction-terminator.patch +Patch204: 0004-llvm5-SwitchInst-case-functions-now-return-pointers.patch +Patch205: 0005-llvm5-handle-new-file_magic-s-location.patch +Patch206: 0006-llvm5-use-MutableArrayRef-for-APFloat-convertToInteg.patch +Patch207: 0007-llvm5-Intrinsic-objectsize-has-three-arguments.patch +Patch208: 0008-llvm5-test-change-objectsize.patch +Patch209: 0009-llvm5-test-add-disable-O0-optnone-to-O0.patch +Patch210: 0010-llvm5-CallSite.paramHasAttr-is-indexed-from-0.patch +Patch211: 0011-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch +Patch212: 0012-llvm6-handle-headers-renaming.patch BuildRequires: clang%{llvm_version} BuildRequires: cmake ++++++ 0010-llvm50-avoid-on-function-arg_begin.patch -> 0001-llvm5-avoid-on-function-arg_begin.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0010-llvm50-avoid-on-function-arg_begin.patch 2018-09-03 10:36:21.528864134 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0001-llvm5-avoid-on-function-arg_begin.patch 2018-09-24 13:13:11.781713679 +0200 @@ -1,11 +1,11 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Mon, 15 Jan 2018 10:35:19 +0100 -Subject: llvm50: avoid ++ on function->arg_begin() +Subject: llvm5: avoid ++ on function->arg_begin() Patch-mainline: no Starting with llvm 5, arguments of a function are not an iterator, but -an array. So they cannot be incremented in-place. Use +1 to construct a -new one instead. +an array. So they cannot be incremented in-place. Add a local auto +variable and increment that. Otherwise we see: ../tools/klee/main.cpp:661:23: error: expression is not assignable @@ -14,37 +14,23 @@ Signed-off-by: Jiri Slaby <jirisl...@gmail.com> --- - tools/klee/main.cpp | 8 ++++++++ - 1 file changed, 8 insertions(+) + tools/klee/main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/klee/main.cpp b/tools/klee/main.cpp -index c7dc517a8eee..883be83a4130 100644 +index 1de5fbeb7e0e..3be619138bd6 100644 --- a/tools/klee/main.cpp +++ b/tools/klee/main.cpp -@@ -655,7 +655,11 @@ static void initEnv(Module *mainModule) { - Instruction *firstInst = &*(mainFn->begin()->begin()); - - Value *oldArgc = &*(mainFn->arg_begin()); -+#if LLVM_VERSION_CODE >= LLVM_VERSION(5, 0) -+ Value *oldArgv = &*(mainFn->arg_begin() + 1); -+#else - Value *oldArgv = &*(++mainFn->arg_begin()); -+#endif - - AllocaInst* argcPtr = - new AllocaInst(oldArgc->getType(), "argcPtr", firstInst); -@@ -1057,7 +1061,11 @@ createLibCWrapper(std::vector<std::unique_ptr<llvm::Module>> &modules, +@@ -1036,7 +1036,8 @@ createLibCWrapper(std::vector<std::unique_ptr<llvm::Module>> &modules, args.push_back( llvm::ConstantExpr::getBitCast(inModuleRefernce, ft->getParamType(0))); args.push_back(&*(stub->arg_begin())); // argc -+#if LLVM_VERSION_CODE >= LLVM_VERSION(5, 0) -+ args.push_back(&*(stub->arg_begin() + 1)); // argv -+#else - args.push_back(&*(++stub->arg_begin())); // argv -+#endif +- args.push_back(&*(++stub->arg_begin())); // argv ++ auto arg_it = stub->arg_begin(); ++ args.push_back(&*(++arg_it)); // argv args.push_back(Constant::getNullValue(ft->getParamType(3))); // app_init args.push_back(Constant::getNullValue(ft->getParamType(4))); // app_fini args.push_back(Constant::getNullValue(ft->getParamType(5))); // rtld_fini -- -2.18.0 +2.19.0 ++++++ 0011-llvm50-integerPartWidth-is-from-llvm-APFloatBase.patch -> 0002-llvm5-integerPartWidth-is-from-llvm-APFloatBase.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0011-llvm50-integerPartWidth-is-from-llvm-APFloatBase.patch 2018-09-03 10:36:21.536864154 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0002-llvm5-integerPartWidth-is-from-llvm-APFloatBase.patch 2018-09-24 13:13:11.793713658 +0200 @@ -1,6 +1,6 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Mon, 15 Jan 2018 10:09:20 +0100 -Subject: llvm50: integerPartWidth is from llvm::APFloatBase +Subject: llvm5: integerPartWidth is from llvm::APFloatBase Patch-mainline: no Otherwise we see: @@ -28,5 +28,5 @@ } } -- -2.18.0 +2.19.0 ++++++ 0012-llvm50-handle-getOrInsertFunction-terminator.patch -> 0003-llvm5-handle-getOrInsertFunction-terminator.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0012-llvm50-handle-getOrInsertFunction-terminator.patch 2018-09-03 10:36:21.548864185 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0003-llvm5-handle-getOrInsertFunction-terminator.patch 2018-09-24 13:13:11.805713637 +0200 @@ -1,6 +1,6 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Mon, 15 Jan 2018 10:27:54 +0100 -Subject: llvm50: handle getOrInsertFunction terminator +Subject: llvm5: handle getOrInsertFunction terminator Patch-mainline: no llvm 5 does not terminate getOrInsertFunction parameters with NULL, take @@ -13,8 +13,7 @@ include/klee/Config/Version.h | 6 ++++++ lib/Module/Checks.cpp | 8 ++++---- lib/Module/IntrinsicCleaner.cpp | 3 ++- - tools/klee/main.cpp | 4 ++-- - 4 files changed, 14 insertions(+), 7 deletions(-) + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/include/klee/Config/Version.h b/include/klee/Config/Version.h index 532051602fe3..a02ce28baaae 100644 @@ -71,21 +70,6 @@ F->setDoesNotReturn(); F->setDoesNotThrow(); -diff --git a/tools/klee/main.cpp b/tools/klee/main.cpp -index 883be83a4130..c0805f457717 100644 ---- a/tools/klee/main.cpp -+++ b/tools/klee/main.cpp -@@ -675,8 +675,8 @@ static void initEnv(Module *mainModule) { - cast<Function>(mainModule->getOrInsertFunction("klee_init_env", - Type::getVoidTy(ctx), - argcPtr->getType(), -- argvPtr->getType(), -- NULL)); -+ argvPtr->getType() -+ KLEE_LLVM_GOIF_TERMINATOR)); - assert(initEnvFn); - std::vector<Value*> args; - args.push_back(argcPtr); -- -2.18.0 +2.19.0 ++++++ 0013-llvm50-SwitchInst-case-functions-now-return-pointers.patch -> 0004-llvm5-SwitchInst-case-functions-now-return-pointers.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0013-llvm50-SwitchInst-case-functions-now-return-pointers.patch 2018-09-03 10:36:21.560864216 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0004-llvm5-SwitchInst-case-functions-now-return-pointers.patch 2018-09-24 13:13:11.821713608 +0200 @@ -1,6 +1,6 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Mon, 15 Jan 2018 10:38:35 +0100 -Subject: llvm50: SwitchInst case functions now return pointers +Subject: llvm5: SwitchInst case functions now return pointers Patch-mainline: no Starting llvm 5, SwitchInst->findCaseValue() now has to be dereferenced @@ -15,7 +15,7 @@ 1 file changed, 4 insertions(+) diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp -index 51d36b352e5c..75af0fd09bd8 100644 +index 04fd6941d34a..64d0f66e4073 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -1673,7 +1673,11 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) { @@ -31,5 +31,5 @@ } else { // Handle possible different branch targets -- -2.18.0 +2.19.0 ++++++ 0014-llvm50-handle-new-file_magic-s-location.patch -> 0005-llvm5-handle-new-file_magic-s-location.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0014-llvm50-handle-new-file_magic-s-location.patch 2018-09-03 10:36:21.572864247 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0005-llvm5-handle-new-file_magic-s-location.patch 2018-09-24 13:13:11.833713587 +0200 @@ -1,6 +1,6 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Mon, 15 Jan 2018 10:42:53 +0100 -Subject: llvm50: handle new file_magic's location +Subject: llvm5: handle new file_magic's location Patch-mainline: no llvm 5, moved file_magic to BinaryFormat in commit @@ -12,7 +12,7 @@ 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/Module/ModuleUtil.cpp b/lib/Module/ModuleUtil.cpp -index 7f4bdb49380a..f1dbdb13bcff 100644 +index bfec9e7dc7ff..ecc114460a3f 100644 --- a/lib/Module/ModuleUtil.cpp +++ b/lib/Module/ModuleUtil.cpp @@ -14,6 +14,9 @@ @@ -25,7 +25,7 @@ #include "llvm/IR/Function.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/IntrinsicInst.h" -@@ -380,13 +383,19 @@ bool klee::loadFile(const std::string &fileName, LLVMContext &context, +@@ -381,13 +384,19 @@ bool klee::loadFile(const std::string &fileName, LLVMContext &context, MemoryBuffer *Buffer = bufferErr->get(); #endif @@ -46,7 +46,7 @@ SMDiagnostic Err; #if LLVM_VERSION_CODE >= LLVM_VERSION(3, 6) std::unique_ptr<llvm::Module> module(parseIR(Buffer, Err, context)); -@@ -403,7 +412,11 @@ bool klee::loadFile(const std::string &fileName, LLVMContext &context, +@@ -404,7 +413,11 @@ bool klee::loadFile(const std::string &fileName, LLVMContext &context, return true; } @@ -59,5 +59,5 @@ Expected<std::unique_ptr<object::Binary> > archOwner = object::createBinary(Buffer, &context); -- -2.18.0 +2.19.0 ++++++ 0006-llvm5-use-MutableArrayRef-for-APFloat-convertToInteg.patch ++++++ From: Jiri Slaby <jirisl...@gmail.com> Date: Mon, 15 Jan 2018 11:07:47 +0100 Subject: llvm5: use MutableArrayRef for APFloat::convertToInteger Patch-mainline: no In llvm 5, since commit 957caa243d9270df37a566aedae3f1244e7b62ef, the first parameter to APFloat::convertToInteger is MutableArrayRef. So handle that. Signed-off-by: Jiri Slaby <jirisl...@gmail.com> --- lib/Core/Executor.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index 64d0f66e4073..b5d7e6ce8f6c 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -2326,7 +2326,12 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) { llvm::APFloat Arg(*fpWidthToSemantics(arg->getWidth()), arg->getAPValue()); uint64_t value = 0; bool isExact = true; - Arg.convertToInteger(&value, resultType, false, +#if LLVM_VERSION_CODE >= LLVM_VERSION(5, 0) + auto valueRef = makeMutableArrayRef(value); +#else + uint64_t *valueRef = &value; +#endif + Arg.convertToInteger(valueRef, resultType, false, llvm::APFloat::rmTowardZero, &isExact); bindLocal(ki, state, ConstantExpr::alloc(value, resultType)); break; @@ -2343,7 +2348,12 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) { uint64_t value = 0; bool isExact = true; - Arg.convertToInteger(&value, resultType, true, +#if LLVM_VERSION_CODE >= LLVM_VERSION(5, 0) + auto valueRef = makeMutableArrayRef(value); +#else + uint64_t *valueRef = &value; +#endif + Arg.convertToInteger(valueRef, resultType, true, llvm::APFloat::rmTowardZero, &isExact); bindLocal(ki, state, ConstantExpr::alloc(value, resultType)); break; -- 2.19.0 ++++++ 0017-llvm50-Intrinsic-objectsize-has-three-arguments.patch -> 0007-llvm5-Intrinsic-objectsize-has-three-arguments.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0017-llvm50-Intrinsic-objectsize-has-three-arguments.patch 2018-09-03 10:36:21.604864330 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0007-llvm5-Intrinsic-objectsize-has-three-arguments.patch 2018-09-24 13:13:11.853713553 +0200 @@ -1,6 +1,6 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Wed, 23 May 2018 15:01:34 +0200 -Subject: llvm50: Intrinsic::objectsize has three arguments +Subject: llvm5: Intrinsic::objectsize has three arguments Patch-mainline: no Modify the IntrinsicCleaner accordingly. @@ -14,7 +14,7 @@ 1 file changed, 16 insertions(+) diff --git a/lib/Module/IntrinsicCleaner.cpp b/lib/Module/IntrinsicCleaner.cpp -index ab16a2654492..19807ce08583 100644 +index ab16a2654492..ee65be69e543 100644 --- a/lib/Module/IntrinsicCleaner.cpp +++ b/lib/Module/IntrinsicCleaner.cpp @@ -227,13 +227,29 @@ bool IntrinsicCleanerPass::runOnBasicBlock(BasicBlock &b, Module &M) { @@ -35,9 +35,9 @@ "Second argument is not an i1"); + +#if LLVM_VERSION_CODE >= LLVM_VERSION(5, 0) -+ Value *nullArg = ii->getArgOperand(2); ++ auto nullArg = ii->getArgOperand(2); + assert(nullArg && "Failed to get second argument"); -+ ConstantInt *nullArgAsInt = dyn_cast<ConstantInt>(nullArg); ++ auto nullArgAsInt = dyn_cast<ConstantInt>(nullArg); + assert(nullArgAsInt && "Third arg is not a ConstantInt"); + assert(nullArgAsInt->getBitWidth() == 1 && + "Third argument is not an i1"); @@ -48,5 +48,5 @@ IntegerType *intType = dyn_cast<IntegerType>(ii->getType()); assert(intType && "intrinsic does not have integer return type"); -- -2.18.0 +2.19.0 ++++++ 0018-llvm50-test-change-objectsize.patch -> 0008-llvm5-test-change-objectsize.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0018-llvm50-test-change-objectsize.patch 2018-09-03 10:36:21.612864351 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0008-llvm5-test-change-objectsize.patch 2018-09-24 13:13:11.865713532 +0200 @@ -1,6 +1,6 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Wed, 23 May 2018 14:54:48 +0200 -Subject: llvm50: test, change objectsize +Subject: llvm5: test, change objectsize Patch-mainline: no @llvm.objectsize has now three aguments, so fix the tests accordingly. @@ -95,5 +95,5 @@ declare void @abort() noreturn nounwind -- -2.18.0 +2.19.0 ++++++ 0019-llvm50-test-add-disable-O0-optnone-to-O0.patch -> 0009-llvm5-test-add-disable-O0-optnone-to-O0.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0019-llvm50-test-add-disable-O0-optnone-to-O0.patch 2018-09-03 10:36:21.652864454 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0009-llvm5-test-add-disable-O0-optnone-to-O0.patch 2018-09-24 13:13:11.877713511 +0200 @@ -1,6 +1,6 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Sun, 27 May 2018 10:26:43 +0200 -Subject: llvm50: test, add -disable-O0-optnone to -O0 +Subject: llvm5: test, add -disable-O0-optnone to -O0 Patch-mainline: no Otherwise optimizations done in klee won't have any effect. @@ -213,7 +213,7 @@ // RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error --no-externals %t1.bc diff --git a/test/CXX/StaticConstructor.cpp b/test/CXX/StaticConstructor.cpp -index 56fcb97be385..5332dc0b7846 100644 +index c184526e3601..3c61aec45acb 100644 --- a/test/CXX/StaticConstructor.cpp +++ b/test/CXX/StaticConstructor.cpp @@ -1,4 +1,4 @@ @@ -223,7 +223,7 @@ // RUN: %klee --output-dir=%t.klee-out --libc=klee --no-output --exit-on-error %t1.bc diff --git a/test/CXX/StaticDestructor.cpp b/test/CXX/StaticDestructor.cpp -index adc449a5c1f7..608525083bbb 100644 +index 2cf01e3b6d33..15520fc48504 100644 --- a/test/CXX/StaticDestructor.cpp +++ b/test/CXX/StaticDestructor.cpp @@ -1,6 +1,6 @@ @@ -233,7 +233,7 @@ +// RUN: %llvmgxx %s -emit-llvm -g %O0opt -c -o %t1.bc // RUN: rm -rf %t.klee-out // RUN: %klee --output-dir=%t.klee-out --optimize=false --libc=klee --no-output %t1.bc 2> %t1.log - // RUN: grep ":17: memory error" %t1.log + // RUN: FileCheck --input-file %t1.log %s diff --git a/test/CXX/Trivial.cpp b/test/CXX/Trivial.cpp index 2b8ceed36cb9..18845820c067 100644 --- a/test/CXX/Trivial.cpp @@ -375,7 +375,7 @@ // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc diff --git a/test/Feature/InAndOutOfBounds.c b/test/Feature/InAndOutOfBounds.c -index 6eb8784a7353..5f10835f4a6d 100644 +index 9b913609c046..3c6fe37ec8aa 100644 --- a/test/Feature/InAndOutOfBounds.c +++ b/test/Feature/InAndOutOfBounds.c @@ -1,4 +1,4 @@ @@ -395,7 +395,7 @@ // RUN: %klee --output-dir=%t.klee-out %t1.bc diff --git a/test/Feature/KleeReportError.c b/test/Feature/KleeReportError.c -index 4e21df1870f7..665d194607bd 100644 +index 96879a5571f9..b83472549a7b 100644 --- a/test/Feature/KleeReportError.c +++ b/test/Feature/KleeReportError.c @@ -1,4 +1,4 @@ @@ -450,7 +450,7 @@ // RUN: %klee --output-dir=%t.klee-out --optimize=0 --exit-on-error %t1.bc > %t2.out diff --git a/test/Feature/MultipleFreeResolution.c b/test/Feature/MultipleFreeResolution.c -index 704057f93891..63b7c1ab3645 100644 +index 5c7dfdd8c941..540324a596a8 100644 --- a/test/Feature/MultipleFreeResolution.c +++ b/test/Feature/MultipleFreeResolution.c @@ -1,4 +1,4 @@ @@ -496,7 +496,7 @@ // RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log // RUN: diff %t1.res %t1.log diff --git a/test/Feature/OneFreeError.c b/test/Feature/OneFreeError.c -index 4f5a8c8c0153..76e85d6b3516 100644 +index 64a0425dc11d..e68f333f7232 100644 --- a/test/Feature/OneFreeError.c +++ b/test/Feature/OneFreeError.c @@ -1,4 +1,4 @@ @@ -506,7 +506,7 @@ // RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s // RUN: test -f %t.klee-out/test000001.ptr.err diff --git a/test/Feature/OneOutOfBounds.c b/test/Feature/OneOutOfBounds.c -index 85fb2a79599e..444820c9b878 100644 +index 88a2ae435418..01fa0f922f68 100644 --- a/test/Feature/OneOutOfBounds.c +++ b/test/Feature/OneOutOfBounds.c @@ -1,4 +1,4 @@ @@ -536,7 +536,7 @@ // RUN: %klee --output-dir=%t.klee-out %t1.bc // RUN: ls %t.klee-out/ | grep .ktest | wc -l | grep 4 diff --git a/test/Feature/OvershiftCheck.c b/test/Feature/OvershiftCheck.c -index 09cbf8ba0f6b..00e5530ad8d5 100644 +index ace54cee98f4..0a5cfc3b9704 100644 --- a/test/Feature/OvershiftCheck.c +++ b/test/Feature/OvershiftCheck.c @@ -1,4 +1,4 @@ @@ -544,7 +544,7 @@ +// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc // RUN: rm -rf %t.klee-out // RUN: %klee --output-dir=%t.klee-out -check-overshift %t.bc 2> %t.log - // RUN: grep -c "overshift error" %t.log + // RUN: FileCheck --input-file %t.log %s diff --git a/test/Feature/PreferCex.c b/test/Feature/PreferCex.c index a765eea8b4af..8d88a3ce79bc 100644 --- a/test/Feature/PreferCex.c @@ -621,7 +621,7 @@ // RUN: %klee --output-dir=%t.klee-out --max-solver-time=1 %t1.bc // FIXME: This test occasionally fails when using Z3 4.4.1 but diff --git a/test/Feature/SourceMapping.c b/test/Feature/SourceMapping.c -index 9835d7018b97..1927d2d6b8da 100644 +index bc13652d91e4..aa849c5f88c4 100644 --- a/test/Feature/SourceMapping.c +++ b/test/Feature/SourceMapping.c @@ -1,7 +1,7 @@ @@ -644,16 +644,15 @@ // RUN: %klee --output-dir=%t.klee-out %t.bc | FileCheck %s diff --git a/test/Feature/Vararg.c b/test/Feature/Vararg.c -index a78b784e3f62..11416c3730aa 100644 +index 9f4e9dabb00e..239ec9a35bde 100644 --- a/test/Feature/Vararg.c +++ b/test/Feature/Vararg.c -@@ -1,5 +1,5 @@ - // REQUIRES: not-darwin --// RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -+// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc +@@ -1,4 +1,4 @@ +-// RUN: %llvmgcc %s -emit-llvm -O0 -c -g -o %t1.bc ++// RUN: %llvmgcc %s -emit-llvm %O0opt -c -g -o %t1.bc // RUN: rm -rf %t.klee-out - // RUN: %klee --output-dir=%t.klee-out %t1.bc > %t2.out - // RUN: grep "types: (52, 37, 2.00, (9,12,15))" %t2.out + // This test needs deterministic allocation with enough spacing between the allocations. + // Otherwise, if by coincidence the allocated vararg memory object is directly before another valid memory object, diff --git a/test/Feature/WithLibc.c b/test/Feature/WithLibc.c index 0eca8213f384..8c07041d89f6 100644 --- a/test/Feature/WithLibc.c @@ -675,7 +674,7 @@ // RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 -check-overshift=0 %t.bc // RUN: not grep "ASSERTION FAIL" %t.klee-out/messages.txt diff --git a/test/Feature/consecutive_divide_by_zero.c b/test/Feature/consecutive_divide_by_zero.c -index 31124ea4611c..157f5e1cf604 100644 +index ebe0dcb54307..b44572aa7187 100644 --- a/test/Feature/consecutive_divide_by_zero.c +++ b/test/Feature/consecutive_divide_by_zero.c @@ -1,4 +1,4 @@ @@ -683,7 +682,7 @@ +// RUN: %llvmgcc -emit-llvm -c -g %O0opt %s -o %t.bc // RUN: rm -rf %t.klee-out // RUN: %klee --output-dir=%t.klee-out -check-div-zero -emit-all-errors=0 %t.bc 2> %t.log - // RUN: grep "completed paths = 3" %t.log + // RUN: FileCheck --input-file=%t.log %s diff --git a/test/Feature/const_array_opt1.c b/test/Feature/const_array_opt1.c index ac43bdf7fd4b..b466e56ce784 100644 --- a/test/Feature/const_array_opt1.c @@ -725,7 +724,7 @@ // RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 %t.bc // RUN: grep "KLEE: done: explored paths = 5" %t.klee-out/info diff --git a/test/Feature/ubsan_signed_overflow.c b/test/Feature/ubsan_signed_overflow.c -index c89065ebf957..03073ae7f39e 100644 +index 8d01f7d36045..f4636c335f90 100644 --- a/test/Feature/ubsan_signed_overflow.c +++ b/test/Feature/ubsan_signed_overflow.c @@ -1,4 +1,4 @@ @@ -735,7 +734,7 @@ // RUN: %klee --output-dir=%t.klee-out %t.bc 2>&1 | FileCheck %s diff --git a/test/Feature/ubsan_unsigned_overflow.c b/test/Feature/ubsan_unsigned_overflow.c -index 1300ffcc195c..c96909bb3a66 100644 +index e2d9592c37f2..4c783b4c32e7 100644 --- a/test/Feature/ubsan_unsigned_overflow.c +++ b/test/Feature/ubsan_unsigned_overflow.c @@ -1,4 +1,4 @@ @@ -873,7 +872,7 @@ // RUN: %gentmp %t.klee-out-tmp // RUN: %klee --output-dir=%t.klee-out --run-in=%t.klee-out-tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t2.log diff --git a/test/Runtime/POSIX/DirSeek.c b/test/Runtime/POSIX/DirSeek.c -index 4c68a30c546c..4cb91b7016e0 100644 +index 821ff8f58a89..449714b95b9f 100644 --- a/test/Runtime/POSIX/DirSeek.c +++ b/test/Runtime/POSIX/DirSeek.c @@ -1,4 +1,4 @@ @@ -893,15 +892,15 @@ // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 diff --git a/test/Runtime/POSIX/FD_Fail.c b/test/Runtime/POSIX/FD_Fail.c -index 2ee1a1a260d6..9a73e60f202e 100644 +index 018f43f8a552..74f94bf6e754 100644 --- a/test/Runtime/POSIX/FD_Fail.c +++ b/test/Runtime/POSIX/FD_Fail.c @@ -1,4 +1,4 @@ -// RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc +// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc // RUN: rm -rf %t.klee-out - // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t1.bc --sym-files 0 0 --max-fail 1 > %t.log - // RUN: grep -q "fread(): ok" %t.log + // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t1.bc --max-fail 1 | FileCheck %s + diff --git a/test/Runtime/POSIX/FD_Fail2.c b/test/Runtime/POSIX/FD_Fail2.c index c1c2cc5fd9de..8fef1eda6df1 100644 --- a/test/Runtime/POSIX/FD_Fail2.c @@ -944,7 +943,7 @@ // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t1.bc --sym-files 1 1 diff --git a/test/Runtime/POSIX/FreeArgv.c b/test/Runtime/POSIX/FreeArgv.c -index 8f812b5d946f..ff07024358d5 100644 +index 7a5445a3a206..fff1b2c46280 100644 --- a/test/Runtime/POSIX/FreeArgv.c +++ b/test/Runtime/POSIX/FreeArgv.c @@ -1,4 +1,4 @@ @@ -974,17 +973,17 @@ // RUN: %klee --output-dir=%t.klee-out --libc=klee --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 diff --git a/test/Runtime/POSIX/Ioctl.c b/test/Runtime/POSIX/Ioctl.c -index f1caaf77dea2..8ab5d49ac8fc 100644 +index c8937a371fd0..61af8662132a 100644 --- a/test/Runtime/POSIX/Ioctl.c +++ b/test/Runtime/POSIX/Ioctl.c @@ -1,4 +1,4 @@ -// RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc +// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc // RUN: rm -rf %t.klee-out - // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t.bc --sym-files 0 4 + // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t.bc --sym-stdin 4 diff --git a/test/Runtime/POSIX/Isatty.c b/test/Runtime/POSIX/Isatty.c -index fdfc6ceb0301..7fe44dcf031a 100644 +index b9232e01eb7f..6501a4a39252 100644 --- a/test/Runtime/POSIX/Isatty.c +++ b/test/Runtime/POSIX/Isatty.c @@ -1,4 +1,4 @@ @@ -1384,7 +1383,7 @@ // RUN: %klee --output-dir=%t.klee-out %t1.bc diff --git a/test/regression/2014-07-04-unflushed-error-report.c b/test/regression/2014-07-04-unflushed-error-report.c -index 0518fb4d4566..f9547c176df9 100644 +index 0b98944ac78f..a0404db68c0a 100644 --- a/test/regression/2014-07-04-unflushed-error-report.c +++ b/test/regression/2014-07-04-unflushed-error-report.c @@ -1,4 +1,4 @@ @@ -1499,10 +1498,11 @@ // RUN: %klee --output-dir=%t.klee-out --entry-point=entry %t.bc diff --git a/test/regression/2016-08-12-empty-file.c b/test/regression/2016-08-12-empty-file.c -index b965027837f8..a4f1b19cb15d 100644 +index 56695fe1200c..8165f9242223 100644 --- a/test/regression/2016-08-12-empty-file.c +++ b/test/regression/2016-08-12-empty-file.c -@@ -1,4 +1,4 @@ +@@ -1,5 +1,5 @@ + // REQUIRES: posix-runtime -// RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t.bc +// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc // RUN: rm -rf %t.klee-out @@ -1560,5 +1560,5 @@ // RUN: %klee -stop-after-n-instructions=1 --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s -- -2.18.0 +2.19.0 ++++++ 0020-llvm50-CallSite.paramHasAttr-is-indexed-from-0.patch -> 0010-llvm5-CallSite.paramHasAttr-is-indexed-from-0.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0020-llvm50-CallSite.paramHasAttr-is-indexed-from-0.patch 2018-09-03 10:36:21.668864496 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0010-llvm5-CallSite.paramHasAttr-is-indexed-from-0.patch 2018-09-24 13:13:11.889713490 +0200 @@ -1,6 +1,6 @@ From: Jiri Slaby <jirisl...@gmail.com> Date: Fri, 20 Jul 2018 10:06:29 +0200 -Subject: llvm50: CallSite.paramHasAttr is indexed from 0 +Subject: llvm5: CallSite.paramHasAttr is indexed from 0 Patch-mainline: no Since LLVM 5 commit 1f8f0490690b, CallSite.paramHasAttr is indexed from @@ -13,7 +13,7 @@ 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp -index 46fd2be42351..f05561e7fe82 100644 +index b5d7e6ce8f6c..96285f74a462 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -1543,7 +1543,11 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) { @@ -42,5 +42,5 @@ arguments[i] = SExtExpr::create(arguments[i], to); } else { -- -2.18.0 +2.19.0 ++++++ 0021-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch -> 0011-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0021-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch 2018-09-03 10:36:21.688864547 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0011-llvm6-SetVersionPrinter-now-passes-down-a-stream.patch 2018-09-24 13:13:11.901713469 +0200 @@ -81,5 +81,5 @@ llvm::cl::PrintVersionMessage(); } -- -2.18.0 +2.19.0 ++++++ 0022-llvm6-handle-headers-renaming.patch -> 0012-llvm6-handle-headers-renaming.patch ++++++ --- /work/SRC/openSUSE:Factory/klee/0022-llvm6-handle-headers-renaming.patch 2018-09-03 10:36:21.696864568 +0200 +++ /work/SRC/openSUSE:Factory/.klee.new/0012-llvm6-handle-headers-renaming.patch 2018-09-24 13:13:11.909713455 +0200 @@ -33,5 +33,5 @@ using namespace llvm; -- -2.18.0 +2.19.0 ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.ETwrP3/_old 2018-09-24 13:13:12.821711862 +0200 +++ /var/tmp/diff_new_pack.ETwrP3/_new 2018-09-24 13:13:12.821711862 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/klee/klee.git</param> - <param name="changesrevision">b893d2158ce001da97f2c741ac8320b4c3b9ed53</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">4efd7f6b443f187f5a844227339383ce5593e865</param></service></servicedata> \ No newline at end of file ++++++ klee-1.4.0+20180829.tar.xz -> klee-1.4.0+20180920.tar.xz ++++++ ++++ 1684 lines of diff (skipped)