From e03b1ed9a65d35c79fdd0884ad8d281edde48c89da4b40412a01fde28f60d582 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Fri, 4 Oct 2019 11:00:00 +0000 Subject: [PATCH] up to 2.0+20190920 & add 0001-runtime-workaround-for-glibc-2.30.patch OBS-URL: https://build.opensuse.org/package/show/devel:tools:statica/klee?expand=0&rev=73 --- 0001-runtime-workaround-for-glibc-2.30.patch | 39 ++++++++++++++++++++ _servicedata | 2 +- klee-2.0+20190507.tar.xz | 3 -- klee-2.0+20190920.tar.xz | 3 ++ klee.changes | 19 ++++++++++ klee.spec | 7 ++-- 6 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 0001-runtime-workaround-for-glibc-2.30.patch delete mode 100644 klee-2.0+20190507.tar.xz create mode 100644 klee-2.0+20190920.tar.xz diff --git a/0001-runtime-workaround-for-glibc-2.30.patch b/0001-runtime-workaround-for-glibc-2.30.patch new file mode 100644 index 0000000..f0bea7b --- /dev/null +++ b/0001-runtime-workaround-for-glibc-2.30.patch @@ -0,0 +1,39 @@ +From 0a0805f3fac9c763489188d3bcc7fe1718a7a37c Mon Sep 17 00:00:00 2001 +From: Jiri Slaby +Date: Fri, 4 Oct 2019 12:46:17 +0200 +Subject: [PATCH] runtime: workaround for glibc 2.30 + +glibc 2.30 moved definition of getdents64 to dirent_ext.h. It became +visible and conflicts with our definition: + +runtime/POSIX/fd_64.c:112:5: error: conflicting types for 'getdents64' +int getdents64(unsigned int fd, struct dirent *dirp, unsigned int count) { + ^ +/usr/include/bits/dirent_ext.h:29:18: note: previous declaration is here +extern __ssize_t getdents64 (int __fd, void *__buffer, size_t __length) + ^ + +But according to the kernel (and manual), the parameter is unsigned. +So we are correct, but glibc defines it wrong. +--- + runtime/POSIX/fd_64.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/runtime/POSIX/fd_64.c b/runtime/POSIX/fd_64.c +index 61d9dc6f..7691538f 100644 +--- a/runtime/POSIX/fd_64.c ++++ b/runtime/POSIX/fd_64.c +@@ -109,8 +109,8 @@ int statfs(const char *path, struct statfs *buf) { + return __fd_statfs(path, buf); + } + +-int getdents64(unsigned int fd, struct dirent *dirp, unsigned int count) { ++ssize_t getdents64(int fd, void *dirp, size_t count) { + return __fd_getdents(fd, (struct dirent64*) dirp, count); + } +-int __getdents64(unsigned int fd, struct dirent *dirp, unsigned int count) ++ssize_t __getdents64(int fd, void *dirp, size_t count) + __attribute__((alias("getdents64"))); +-- +2.21.0 + diff --git a/_servicedata b/_servicedata index dabc689..6563db5 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ git://github.com/klee/klee.git - 0cf14d6d70b939ad29a9da42b33a4a5d4697b947 \ No newline at end of file + 0aed7731210d0eb41c0ea767edb8067130cf6252 \ No newline at end of file diff --git a/klee-2.0+20190507.tar.xz b/klee-2.0+20190507.tar.xz deleted file mode 100644 index 55358f3..0000000 --- a/klee-2.0+20190507.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2a0093cdacb6af77517358020abd49f759fe2e7f79d9e7a5b84bac25bd592cc3 -size 634512 diff --git a/klee-2.0+20190920.tar.xz b/klee-2.0+20190920.tar.xz new file mode 100644 index 0000000..7ca767b --- /dev/null +++ b/klee-2.0+20190920.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bcc10ef3f00abc61b07a6b8682e33dbef73c089e9fe8f73090d9dd95193356b +size 641184 diff --git a/klee.changes b/klee.changes index 67158d0..ce17dac 100644 --- a/klee.changes +++ b/klee.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Fri Oct 04 10:39:23 UTC 2019 - jslaby@suse.com + +- Update to version 2.0+20190920: + * Add saturated arithmetic intrinsics + * fixed bug in IntrinsicCleaner trap cleaner + * StatsTracker: switch from TRUNCATE to WAL journal mode + * Read Klee's start time correctly in klee-stats + * CMake: show values of optional LLVM variables + * Provide klee runtime build type as parameter + * PTree: fix dump() method + * ExecutionState: remove fnAliases + * implement FunctionAliasPass + * remove klee_alias_function() + * Implement handling of the llvm.fabs intrinsic + * and more fixes +- drop unused disable-failing-test.patch +- add 0001-runtime-workaround-for-glibc-2.30.patch + ------------------------------------------------------------------- Mon Jul 12 23:35:27 UTC 2019 - Aaron Puchert diff --git a/klee.spec b/klee.spec index 6b22edb..ed61187 100644 --- a/klee.spec +++ b/klee.spec @@ -20,7 +20,7 @@ %define llvm_version_minor 0 %define llvm_version %{llvm_version_major} -%define version_unconverted 2.0+20190507 +%define version_unconverted 2.0+20190920 %ifarch %{ix86} x86_64 %define with_uclibc 1 @@ -32,15 +32,14 @@ Name: klee Summary: LLVM Execution Engine License: NCSA Group: Development/Languages/Other -Version: 2.0+20190507 +Version: 2.0+20190920 Release: 0 Url: http://klee.github.io/ Source0: %{name}-%{version}.tar.xz Source1: %{name}-rpmlintrc 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 -# Unused -- let's check if this is still needed -Source4: disable-failing-test.patch +Patch0: 0001-runtime-workaround-for-glibc-2.30.patch BuildRequires: clang%{llvm_version} BuildRequires: cmake