2017-03-28 13:46:37 +00:00
committed by Git OBS Bridge
parent bf7d27b77c
commit c13a764bf8
6 changed files with 16 additions and 82 deletions

View File

@@ -1,65 +0,0 @@
From: Jiri Slaby <jirislaby@gmail.com>
Date: Wed, 15 Mar 2017 13:42:26 +0100
Subject: runtime: POSIX, make it compile with glibc 2.25
Patch-mainline: no
With glibc 2.25, we see:
runtime/POSIX/stubs.c:243:14: error: conflicting types for 'gnu_dev_major'
unsigned int gnu_dev_major(unsigned long long int __dev) __attribute__((weak));
^
/usr/include/sys/sysmacros.h:79:27: note: previous definition is here
__SYSMACROS_DEFINE_MAJOR (__SYSMACROS_IMPL_TEMPL)
^
Glibc 2.25 switched from ULL to dev_t for gnu_dev_major, gnu_dev_minor,
and gnu_dev_makedev. Handle by using an appropriate type according to
the glibc version.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
runtime/POSIX/stubs.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/runtime/POSIX/stubs.c b/runtime/POSIX/stubs.c
index b4f31bf7d109..bb528ad4a263 100644
--- a/runtime/POSIX/stubs.c
+++ b/runtime/POSIX/stubs.c
@@ -240,21 +240,27 @@ int strverscmp (__const char *__s1, __const char *__s2) {
return strcmp(__s1, __s2); /* XXX no doubt this is bad */
}
-unsigned int gnu_dev_major(unsigned long long int __dev) __attribute__((weak));
-unsigned int gnu_dev_major(unsigned long long int __dev) {
+#if __GLIBC_PREREQ(2, 25)
+#define gnu_dev_type dev_t
+#else
+#define gnu_dev_type unsigned long long int
+#endif
+
+unsigned int gnu_dev_major(gnu_dev_type __dev) __attribute__((weak));
+unsigned int gnu_dev_major(gnu_dev_type __dev) {
return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
}
-unsigned int gnu_dev_minor(unsigned long long int __dev) __attribute__((weak));
-unsigned int gnu_dev_minor(unsigned long long int __dev) {
+unsigned int gnu_dev_minor(gnu_dev_type __dev) __attribute__((weak));
+unsigned int gnu_dev_minor(gnu_dev_type __dev) {
return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
}
-unsigned long long int gnu_dev_makedev(unsigned int __major, unsigned int __minor) __attribute__((weak));
-unsigned long long int gnu_dev_makedev(unsigned int __major, unsigned int __minor) {
+gnu_dev_type gnu_dev_makedev(unsigned int __major, unsigned int __minor) __attribute__((weak));
+gnu_dev_type gnu_dev_makedev(unsigned int __major, unsigned int __minor) {
return ((__minor & 0xff) | ((__major & 0xfff) << 8)
- | (((unsigned long long int) (__minor & ~0xff)) << 12)
- | (((unsigned long long int) (__major & ~0xfff)) << 32));
+ | (((gnu_dev_type) (__minor & ~0xff)) << 12)
+ | (((gnu_dev_type) (__major & ~0xfff)) << 32));
}
char *canonicalize_file_name (const char *name) __attribute__((weak));
--
2.12.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">3a8bc6a43073b98b58c8cf0c20a930cb2c953b5d</param></service></servicedata>
<param name="changesrevision">0eb13665f0b0fb7d6a3d3015d1a1413236966339</param></service></servicedata>

View File

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

View File

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

View File

@@ -1,7 +1,8 @@
-------------------------------------------------------------------
Mon Mar 27 06:28:04 UTC 2017 - jslaby@suse.com
Tue Mar 28 13:43:30 UTC 2017 - jslaby@suse.com
- Update to version 1.3.0+20170324:
- Update to version 1.3.0+20170328:
* runtime: POSIX, make it compile with glibc 2.25
* [Lit] Add system information (linux/darwim) to LIT configuration. Added 'not-*' features that exist if target operating system does not match a list of know operating systems.
* Fix test case for OSX: only weak aliases are supported on darwin Rewritten tests by replacing 'XFAIL: darwin' with 'REQUIRES: not-darwin'
* test: fix 'not' build
@@ -23,14 +24,14 @@ Mon Mar 27 06:28:04 UTC 2017 - jslaby@suse.com
* 0001-test-DirSeek-make-it-XFAIL-temporarily.patch
* 0001-test-add-versions-of-some-tests-for-LLVM-3.8.patch
- renamed patches
* 0006-Make-KLEE-compile-against-LLVM-3.8.patch
-> 0003-Make-KLEE-compile-against-LLVM-3.8.patch
* 0005-Make-KLEE-compile-against-LLVM-3.7.patch
-> 0002-Make-KLEE-compile-against-LLVM-3.7.patch
* 0006-Make-KLEE-compile-against-LLVM-3.8.patch
-> 0003-Make-KLEE-compile-against-LLVM-3.8.patch
- deleted patches (they are upstream)
* 0007-fix-compilation-on-LLVM-3.8-after-rebase-to-master.patch
* 0001-runtime-POSIX-make-it-compile-with-glibc-2.25.patch
* 0004-Cleanup-removed-unneccessary-bools.patch
* 0002-Fix-compiler-warning.patch
* 0007-fix-compilation-on-LLVM-3.8-after-rebase-to-master.patch
-------------------------------------------------------------------
Wed Mar 15 12:57:25 UTC 2017 - jslaby@suse.com

View File

@@ -19,7 +19,7 @@
%define llvm_version_minor 8
%define llvm_version %{llvm_version_major}_%{llvm_version_minor}
%define version_unconverted 1.3.0+20170324
%define version_unconverted 1.3.0+20170328
%ifarch %{ix86} x86_64
%define with_uclibc 1
@@ -31,7 +31,7 @@ Name: klee
Summary: LLVM Execution Engine
License: NCSA
Group: Development/Languages/Other
Version: 1.3.0+20170324
Version: 1.3.0+20170328
Release: 0
Url: http://klee.github.io/
Source0: %{name}-%{version}.tar.xz
@@ -40,10 +40,9 @@ Source2: https://raw.githubusercontent.com/llvm-mirror/llvm/release_%{llv
Patch0: 0001-Make-KLEE-compile-against-LLVM-3.5-and-3.6.patch
Patch1: 0002-Make-KLEE-compile-against-LLVM-3.7.patch
Patch2: 0003-Make-KLEE-compile-against-LLVM-3.8.patch
Patch3: 0001-runtime-POSIX-make-it-compile-with-glibc-2.25.patch
Patch4: 0001-test-add-versions-of-some-tests-for-LLVM-3.8.patch
Patch5: 0001-errno-define-__errno_location.patch
Patch6: 0001-test-DirSeek-make-it-XFAIL-temporarily.patch
Patch3: 0001-test-add-versions-of-some-tests-for-LLVM-3.8.patch
Patch4: 0001-errno-define-__errno_location.patch
Patch5: 0001-test-DirSeek-make-it-XFAIL-temporarily.patch
BuildRequires: clang%{llvm_version}
BuildRequires: cmake
BuildRequires: gperftools-devel
@@ -74,7 +73,6 @@ information on what KLEE is and what it can do, see the OSDI 2008 paper.
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
mkdir -p build/test/
cp %{SOURCE2} build/test/