Accepting request 766883 from devel:tools:statica

- Update to version 2.0+20200119:
  * Remove statistics limit from istats.
  * Fix handling of debug information for functions
  * Update objdump script to support python3
  * Fixed documentation for command line argument link-llvm-lib
  * Assume assembly.ll is local to the run.istats file
  * Remove unnecessary std::move's that prevent copy elision
  * [optimize-array] Fix value transformation
  * [optimize-array] Fix hole index in buildMixedSelectExpr
  * [optimize-array] Fix hash collisions
  * [optimize-array] Hash collision test
  * [optimize-array] Fix update list read order
  * [Searchers] Remove weight from es, add nurs_depth
  * Move merging related code from Executor into MergingSearcher
  * Implement @llvm.is.constant() intrinsic handling and add a test for it.
  * [expr-visitor] Remove unnecessary allocation
  * Handle llvm.objectsize explicitly
  * Added test for 3-argument main.
  * Allow main with 3 arguments
  * Most libc++ tests require uclibc; add missing REQUIRES statements or remove dependency.
  * Core: Executor, remove unused variable
  * Do not modify strings if they are read-only.
  * Mark all constant global memory objects as constant
  * [test] Fix  missing includes
  * runtime: fix for glibc 2.30
  * Remove the duplicated check for DebugInfoIntrinsic
- Remove 0001-runtime-workaround-for-glibc-2.30.patch (upstreamed)

OBS-URL: https://build.opensuse.org/request/show/766883
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/klee?expand=0&rev=19
This commit is contained in:
Dominique Leuenberger 2020-01-25 12:24:21 +00:00 committed by Git OBS Bridge
commit 0f966ff375
6 changed files with 42 additions and 50 deletions

View File

@ -1,39 +0,0 @@
From 0a0805f3fac9c763489188d3bcc7fe1718a7a37c Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby@suse.cz>
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

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/klee/klee.git</param>
<param name="changesrevision">2b0b0f89fcfff828b6dd8c20f58d872c7395dba4</param></service></servicedata>
<param name="changesrevision">d9888fcefc216b16404a39ac7b82a8fd8d5f343f</param></service></servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:acb14aac46f512e72f26dea0c0ac92a6c82f1fc7bd13deb147b8e80ed860f71d
size 641896

3
klee-2.0+20200119.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f6b3ac84a0070c3cdb335c79e1103fc0fe89fddcc47d5d88788cc119301210dd
size 646824

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
Fri Jan 24 07:34:10 UTC 2020 - jslaby@suse.com
- Update to version 2.0+20200119:
* Remove statistics limit from istats.
* Fix handling of debug information for functions
* Update objdump script to support python3
* Fixed documentation for command line argument link-llvm-lib
* Assume assembly.ll is local to the run.istats file
* Remove unnecessary std::move's that prevent copy elision
* [optimize-array] Fix value transformation
* [optimize-array] Fix hole index in buildMixedSelectExpr
* [optimize-array] Fix hash collisions
* [optimize-array] Hash collision test
* [optimize-array] Fix update list read order
* [Searchers] Remove weight from es, add nurs_depth
* Move merging related code from Executor into MergingSearcher
* Implement @llvm.is.constant() intrinsic handling and add a test for it.
* [expr-visitor] Remove unnecessary allocation
* Handle llvm.objectsize explicitly
* Added test for 3-argument main.
* Allow main with 3 arguments
* Most libc++ tests require uclibc; add missing REQUIRES statements or remove dependency.
* Core: Executor, remove unused variable
* Do not modify strings if they are read-only.
* Mark all constant global memory objects as constant
* [test] Fix missing includes
* runtime: fix for glibc 2.30
* Remove the duplicated check for DebugInfoIntrinsic
- Remove 0001-runtime-workaround-for-glibc-2.30.patch (upstreamed)
-------------------------------------------------------------------
Mon Nov 04 06:50:43 UTC 2019 - jslaby@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package klee
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -20,7 +20,7 @@
%define llvm_version_minor 0
%define llvm_version %{llvm_version_major}
%define version_unconverted 2.0+20191031
%define version_unconverted 2.0+20200119
%ifarch %{ix86} x86_64
%define with_uclibc 1
@ -32,14 +32,13 @@ Name: klee
Summary: LLVM Execution Engine
License: NCSA
Group: Development/Languages/Other
Version: 2.0+20191031
Version: 2.0+20200119
Release: 0
Url: http://klee.github.io/
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
Patch0: 0001-runtime-workaround-for-glibc-2.30.patch
BuildRequires: clang%{llvm_version}
BuildRequires: cmake
@ -52,7 +51,8 @@ BuildRequires: libcap-devel
BuildRequires: libselinux-devel
BuildRequires: llvm%{llvm_version}-devel
BuildRequires: ninja
BuildRequires: python3-base
# tests need sqlite3
BuildRequires: python3
BuildRequires: python3-lit
BuildRequires: python3-setuptools
BuildRequires: python3-tabulate
@ -107,7 +107,7 @@ sed -i '1s@/usr/bin/env python3*@/usr/bin/python3@' \
-DKLEE_UCLIBC_PATH=%{_libdir}/klee-uclibc/ \
%endif
-DBUILD_SHARED_LIBS:BOOL=OFF
%make_jobs
%cmake_build
%check
%ifarch x86_64