Jiri Slaby 2024-02-12 11:31:38 +00:00 committed by Git OBS Bridge
parent fbd4ff6b9b
commit 46d524b4e8
4 changed files with 34 additions and 30 deletions

View File

@ -0,0 +1,29 @@
From: Daniel Schemmel <daniel@schemmel.net>
Date: Fri, 9 Feb 2024 22:34:03 +0000
Subject: Fix brittleness in Feature/VarArgByVal test
Git-repo: https://github.com/danielschemmel/klee.git#varargbyval-fix
Git-commit: 022c8102b7be781f809d589ed37d5f755bead81b
Patch-mainline: PR#1692
References: llvm 15 fix
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
test/Feature/VarArgByVal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/Feature/VarArgByVal.c b/test/Feature/VarArgByVal.c
index 7b979f61..3f60ea12 100644
--- a/test/Feature/VarArgByVal.c
+++ b/test/Feature/VarArgByVal.c
@@ -9,7 +9,7 @@
//
// TODO: Make noundef unconditional when LLVM 14 is the oldest supported version.
// CHECK: call void (ptr, i32, ...) @test1(ptr sret(%struct.foo) align 8 {{.*}}, i32 noundef -1, ptr noundef byval(%struct.foo) align 8 {{.*}}, ptr noundef byval(%struct.bar) align 8 {{.*}})
-// CHECK: call void (ptr, i32, i64, ...) @test2(ptr sret(%struct.foo) align 8 %tmp, i32 noundef {{.*}}, i64 noundef {{.*}}, i32 noundef {{.*}}, ptr noundef byval(%struct.foo) align 8 {{.*}}, i64 noundef {{.*}}, ptr noundef byval(%struct.bar) align 8 {{.*}}, ptr noundef byval(%struct.foo) align 8 {{.*}}, ptr noundef byval(%struct.bar) align 8 {{.*}})
+// CHECK: call void (ptr, i32, i64, ...) @test2(ptr sret(%struct.foo) align 8 {{.*}}, i32 noundef {{.*}}, i64 noundef {{.*}}, i32 noundef {{.*}}, ptr noundef byval(%struct.foo) align 8 {{.*}}, i64 noundef {{.*}}, ptr noundef byval(%struct.bar) align 8 {{.*}}, ptr noundef byval(%struct.foo) align 8 {{.*}}, ptr noundef byval(%struct.bar) align 8 {{.*}})
#include <stdarg.h>
#include <assert.h>
#include <stdio.h>
--
2.43.0

View File

@ -1,27 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Date: Thu, 14 Dec 2023 10:25:08 +0100
Subject: test: disable failing tests with llvm 15
Patch-mainline: no
References: llvm16
This should be solved, but until then, disable these temporarily.
Links: https://github.com/klee/klee/pull/1664#issuecomment-1855364303
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
test/Feature/VarArgByVal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/Feature/VarArgByVal.c b/test/Feature/VarArgByVal.c
index 7b979f61..582b584f 100644
--- a/test/Feature/VarArgByVal.c
+++ b/test/Feature/VarArgByVal.c
@@ -1,4 +1,4 @@
-// REQUIRES: geq-llvm-15.0
+// REQUIRES: lt-llvm-15.0
/* This test checks that KLEE correctly handles variadic arguments with the
byval attribute */
--
2.43.0

View File

@ -45,8 +45,10 @@ Fri Feb 09 07:40:49 UTC 2024 - jslaby@suse.cz
* 0020-Update-test-case-for-expressions-using-udiv-urem-sdi.patch
* 0021-Support-newer-LLVM-versions-in-lit.patch
* 0022-Enable-CI-to-test-newer-LLVM-versions.patch
- drop two hunks from 0001-test-disable-failing-tests-with-llvm-15.patch --
fixed in klee-uclibc
- remove 0001-test-disable-failing-tests-with-llvm-15.patch
Fixed by the below patch (in a PR), and in klee-uclibc.
- add
* 0001-Fix-brittleness-in-Feature-VarArgByVal-test.patch
-------------------------------------------------------------------
Thu Dec 14 07:40:13 UTC 2023 - jslaby@suse.cz

View File

@ -37,7 +37,7 @@ Source0: %{name}-%{version}.tar.xz
Source1: %{name}-rpmlintrc
Source2: https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-%{llvm_version}.0.0/llvm/utils/not/not.cpp
Source3: https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-%{llvm_version}.0.0/llvm/utils/FileCheck/FileCheck.cpp
Patch100: 0001-test-disable-failing-tests-with-llvm-15.patch
Patch0: 0001-Fix-brittleness-in-Feature-VarArgByVal-test.patch
BuildRequires: clang%{llvm_version}
BuildRequires: cmake