Fix VDSO compile error on s390x
Resolves: RHEL-58354 Signed-off-by: Adrian Reber <areber@redhat.com>
This commit is contained in:
parent
4d542e727d
commit
3bb91bc1af
38
2590.patch
Normal file
38
2590.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From de5dba8c47ffe4e16fae17539270d55e1a8604d1 Mon Sep 17 00:00:00 2001
|
||||
From: Adrian Reber <areber@redhat.com>
|
||||
Date: Fri, 7 Feb 2025 09:24:19 +0100
|
||||
Subject: [PATCH] vdso: handle s390x correctly
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
On s390x there is currently a build failure:
|
||||
|
||||
criu/pie/util-vdso.c: In function ‘elf_symbol_lookup’:
|
||||
criu/pie/util-vdso.c:313:31: error: initialization of ‘uint32_t *’ {aka ‘unsigned int *’} from incompatible pointer type ‘Hash_t *’ {aka ‘long unsigned int *’} [-Wincompatible-pointer-types]
|
||||
313 | uint32_t *h = bucket + nbucket + (j - sym_off);
|
||||
| ^~~~~~
|
||||
|
||||
Replacing uint32_t with Hash_t which is defined behind a architecture
|
||||
specific ifdef solves this error.
|
||||
|
||||
Signed-off-by: Adrian Reber <areber@redhat.com>
|
||||
---
|
||||
criu/pie/util-vdso.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/criu/pie/util-vdso.c b/criu/pie/util-vdso.c
|
||||
index 9819335d81..d16fd85f43 100644
|
||||
--- a/criu/pie/util-vdso.c
|
||||
+++ b/criu/pie/util-vdso.c
|
||||
@@ -310,8 +310,8 @@ static unsigned long elf_symbol_lookup(uintptr_t mem, size_t size,
|
||||
addr = mem + dyn_symtab->d_un.d_ptr - load->p_vaddr;
|
||||
|
||||
if (use_gnu_hash) {
|
||||
- uint32_t *h = bucket + nbucket + (j - sym_off);
|
||||
- uint32_t hash_val;
|
||||
+ Hash_t *h = bucket + nbucket + (j - sym_off);
|
||||
+ Hash_t hash_val;
|
||||
|
||||
symbol_hash |= 1;
|
||||
do {
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
Name: criu
|
||||
Version: 3.19
|
||||
Release: 8%{?dist}
|
||||
Release: 9%{?dist}
|
||||
Summary: Tool for Checkpoint/Restore in User-space
|
||||
License: GPL-2.0-only AND LGPL-2.1-only AND MIT
|
||||
URL: http://criu.org/
|
||||
@ -33,6 +33,8 @@ Patch3: https://patch-diff.githubusercontent.com/raw/checkpoint-restore/criu/pul
|
||||
Patch4: 2550.patch
|
||||
# vdso: switch from DT_HASH to DT_GNU_HASH (aarch64) #2570
|
||||
Patch5: https://patch-diff.githubusercontent.com/raw/checkpoint-restore/criu/pull/2570.patch
|
||||
# vdso: handle s390x correctly #2590
|
||||
Patch6: https://github.com/checkpoint-restore/criu/pull/2590.patch
|
||||
|
||||
# Add protobuf-c as a dependency.
|
||||
# We use this patch because the protobuf-c package name
|
||||
@ -120,6 +122,7 @@ This script can help to workaround the so called "PID mismatch" problem.
|
||||
%patch -P 3 -p1
|
||||
%patch -P 4 -p1
|
||||
%patch -P 5 -p1
|
||||
%patch -P 6 -p1
|
||||
%patch -P 99 -p1
|
||||
|
||||
%build
|
||||
@ -179,6 +182,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libcriu.a
|
||||
%doc %{_mandir}/man1/criu-ns.1*
|
||||
|
||||
%changelog
|
||||
* Fri Feb 07 2025 Adrian Reber <areber@redhat.com> - 3.19-9
|
||||
- Fix VDSO compile error on s390x
|
||||
|
||||
* Tue Feb 04 2025 Adrian Reber <areber@redhat.com> - 3.19-8
|
||||
- Adapt patches to patches merged upstream
|
||||
- Fix running on aarch64
|
||||
|
||||
Loading…
Reference in New Issue
Block a user