From 4d6e2f47f2765bb0ba2f834d8e090652dc35485ed6e530239f2a3ab01c785e2c Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Fri, 19 Feb 2021 07:19:04 +0000 Subject: [PATCH] up to 2.2+20210216 and fix glibc 2.33 OBS-URL: https://build.opensuse.org/package/show/devel:tools:statica/klee?expand=0&rev=92 --- ...e-POSIX-fix-failures-with-glibc-2.33.patch | 48 +++++++++++++++++++ _service | 4 +- _servicedata | 2 +- klee-2.2+20210216.obscpio | 3 ++ klee.changes | 14 ++++++ klee.obsinfo | 6 +-- klee.spec | 9 ++-- v2.2.tar.gz | 3 -- 8 files changed, 75 insertions(+), 14 deletions(-) create mode 100644 0001-runtime-POSIX-fix-failures-with-glibc-2.33.patch create mode 100644 klee-2.2+20210216.obscpio delete mode 100644 v2.2.tar.gz diff --git a/0001-runtime-POSIX-fix-failures-with-glibc-2.33.patch b/0001-runtime-POSIX-fix-failures-with-glibc-2.33.patch new file mode 100644 index 0000000..0444b4e --- /dev/null +++ b/0001-runtime-POSIX-fix-failures-with-glibc-2.33.patch @@ -0,0 +1,48 @@ +From: Jiri Slaby +Date: Fri, 19 Feb 2021 08:02:45 +0100 +Subject: runtime/POSIX: fix failures with glibc-2.33 +Patch-mainline: submitted, pr #1385 +References: stat + +commit 8ed005daf0ab03e142500324a34087ce179ae78e of glibc-2.33 (Remove +stat wrapper functions, move them to exported symbols) removed +definitions of __fxstat, __xstat, and __lxstat. But we need them so that +we build __fxstat64, __xstat64, and __lxstat64 in fd_64.c properly. + +Otherwise we see link failures of the POSIX runtime: +error: Linking globals named '__xstat': symbol multiply defined! + +Fixes #1384. + +Signed-off-by: Jiri Slaby +--- + runtime/POSIX/fd_64.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/runtime/POSIX/fd_64.c b/runtime/POSIX/fd_64.c +index eec41f113024..2a1c774962e2 100644 +--- a/runtime/POSIX/fd_64.c ++++ b/runtime/POSIX/fd_64.c +@@ -77,6 +77,19 @@ off64_t lseek(int fd, off64_t offset, int whence) { + return __fd_lseek(fd, offset, whence); + } + ++/* glibc 2.33 removed these defs */ ++#ifdef __USE_FILE_OFFSET64 ++#ifndef __fxstat ++#define __fxstat __fxstat64 ++#endif ++#ifndef __xstat ++#define __xstat __xstat64 ++#endif ++#ifndef __lxstat ++#define __lxstat __lxstat64 ++#endif ++#endif ++ + int __xstat(int vers, const char *path, struct stat *buf) { + return __fd_stat(path, (struct stat64*) buf); + } +-- +2.30.1 + diff --git a/_service b/_service index 2bde33c..75d682b 100644 --- a/_service +++ b/_service @@ -9,8 +9,8 @@ - - + + klee-*.tar xz diff --git a/_servicedata b/_servicedata index ee5bdbd..83a904f 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ git://github.com/klee/klee.git - 5719d2803e93252e5d4613f43afc7db0d72332f1 + 5f8d562181bce7c0d11eae0a597e3f534966e42c \ No newline at end of file diff --git a/klee-2.2+20210216.obscpio b/klee-2.2+20210216.obscpio new file mode 100644 index 0000000..152bb1f --- /dev/null +++ b/klee-2.2+20210216.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bd981b88d07405f1a51a0ce6950d7427b8a26a1f560b035813d0e7d0d84f41c +size 19321869 diff --git a/klee.changes b/klee.changes index 54b77dc..b45d85f 100644 --- a/klee.changes +++ b/klee.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Fri Feb 19 07:15:02 UTC 2021 - jslaby@suse.cz + +- Update to version 2.2+20210216: + * Executor: remove obsolete special case for __cxa_{re,}throw + * add klee_messages for C++ exception handling support + * add ifdefs for C++ exception handling + * renaming 'libcxx' -> 'libc++' + * posix runtime: getcwd: check malloc and set errno + * posix runtime: remove dead branch + * klee-libc: simplify mempcpy + * fix cflags for runtime build types +- add 0001-runtime-POSIX-fix-failures-with-glibc-2.33.patch + ------------------------------------------------------------------- Sun Dec 13 14:44:36 UTC 2020 - Aaron Puchert diff --git a/klee.obsinfo b/klee.obsinfo index 72885ac..944a699 100644 --- a/klee.obsinfo +++ b/klee.obsinfo @@ -1,5 +1,5 @@ name: klee -version: 2.2 -mtime: 1607870676 -commit: 5719d2803e93252e5d4613f43afc7db0d72332f1 +version: 2.2+20210216 +mtime: 1613500636 +commit: 5f8d562181bce7c0d11eae0a597e3f534966e42c diff --git a/klee.spec b/klee.spec index d0077df..fd760f4 100644 --- a/klee.spec +++ b/klee.spec @@ -31,14 +31,14 @@ Name: klee Summary: LLVM Execution Engine License: NCSA Group: Development/Languages/Other -Version: 2.2 +Version: 2.2+20210216 Release: 0 URL: http://klee.github.io/ -Source0: https://github.com/klee/klee/archive/v%{version}.tar.gz +Source0: %{name}-%{version}.tar.xz Source1: %{name}-rpmlintrc Source2: https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-%{llvm_version_major}.0.0/llvm/utils/not/not.cpp Source3: https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-%{llvm_version_major}.0.0/llvm/utils/FileCheck/FileCheck.cpp - +Patch0: 0001-runtime-POSIX-fix-failures-with-glibc-2.33.patch BuildRequires: clang%{llvm_version} BuildRequires: cmake BuildRequires: gperftools-devel @@ -68,8 +68,7 @@ infrastructure, and available under the UIUC open source license. For more information on what KLEE is and what it can do, see the OSDI 2008 paper. %prep -%setup -q -%autopatch -p1 +%autosetup -p1 mkdir -p build/test/ cp %{SOURCE2} build/test/ diff --git a/v2.2.tar.gz b/v2.2.tar.gz deleted file mode 100644 index 2559b88..0000000 --- a/v2.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ff2e37ed3128e005b89920fad7bcf98c7792a11a589dd443186658f5eb91362 -size 1073138