Accepting request 1170624 from devel:tools

- update to 3.23.0:
  * Added ARM64 support for FreeBSD.
  * ARM64 now supports dotprod instructions (sdot/udot).
  * AMD64 better supports code build with -march=x86-64-v3.
    fused-multiple-add instructions (fma) are now emulated more
    accurately. And memcheck now handles __builtin_strcmp using 128/256
    bit vectors with sse4.1, avx/avx2.
  * S390X added support for NNPA (neural network processing assist)
    facility vector instructions VCNF, VCLFNH, VCFN, VCLFNL, VCRNF and
    NNPA (z16/arch14).
  * X86 recognizes new binutils-2.42 nop patterns.
- drop VEX-x86-nop-pattern.patch (upstream)
- drop armv6-support.diff (obsolete)

OBS-URL: https://build.opensuse.org/request/show/1170624
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/valgrind?expand=0&rev=151
This commit is contained in:
Ana Guerrero 2024-04-30 15:25:44 +00:00 committed by Git OBS Bridge
commit f100314524
11 changed files with 206 additions and 212 deletions

View File

@ -1,136 +0,0 @@
From d35005cef8ad8207542738812705ceabf137d7e0 Mon Sep 17 00:00:00 2001
From: Paul Floyd <pjfloyd@wanadoo.fr>
Date: Sun, 17 Dec 2023 14:18:51 +0100
Subject: [PATCH] Bug 478624 - Valgrind incompatibility with binutils-2.42 on
x86 with new nop patterns (unhandled instruction bytes: 0x2E 0x8D 0xB4 0x26)
It was a bit of a struggle to get the testcase to build
with both clang and gcc (oddly enough gcc was more difficult) so
I just resorted to using .byte arrays.
---
.gitignore | 1 +
NEWS | 2 ++
VEX/priv/guest_x86_toIR.c | 22 +++++++++++++-
none/tests/x86/Makefile.am | 2 ++
none/tests/x86/gnu_binutils_nop.c | 34 ++++++++++++++++++++++
none/tests/x86/gnu_binutils_nop.stderr.exp | 0
none/tests/x86/gnu_binutils_nop.vgtest | 2 ++
7 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 none/tests/x86/gnu_binutils_nop.c
create mode 100644 none/tests/x86/gnu_binutils_nop.stderr.exp
create mode 100644 none/tests/x86/gnu_binutils_nop.vgtest
diff --git a/VEX/priv/guest_x86_toIR.c b/VEX/priv/guest_x86_toIR.c
index 5d6e6dc64..3b6efb387 100644
--- a/VEX/priv/guest_x86_toIR.c
+++ b/VEX/priv/guest_x86_toIR.c
@@ -8198,7 +8198,7 @@ DisResult disInstr_X86_WRK (
delta += 5;
goto decode_success;
}
- /* Don't barf on recent binutils padding,
+ /* Don't barf on recent (2010) binutils padding,
all variants of which are: nopw %cs:0x0(%eax,%eax,1)
66 2e 0f 1f 84 00 00 00 00 00
66 66 2e 0f 1f 84 00 00 00 00 00
@@ -8223,6 +8223,26 @@ DisResult disInstr_X86_WRK (
}
}
+ /* bug478624 GNU binutils uses a leal of esi into itself with
+ a zero offset and CS prefix as an 8 byte no-op (Dec 2023).
+ Since the CS prefix is hardly ever used we don't do much
+ to decode it, just a few cases for conditional branches.
+ So add handling here with other pseudo-no-ops.
+ */
+ if (code[0] == 0x2E && code[1] == 0x8D) {
+ if (code[2] == 0x74 && code[3] == 0x26 && code[4] == 0x00) {
+ DIP("leal %%cs:0(%%esi,%%eiz,1),%%esi\n");
+ delta += 5;
+ goto decode_success;
+ }
+ if (code[2] == 0xB4 && code[3] == 0x26 && code[4] == 0x00
+ && code[5] == 0x00 && code[6] == 0x00 && code[7] == 0x00) {
+ DIP("leal %%cs:0(%%esi,%%eiz,1),%%esi\n");
+ delta += 8;
+ goto decode_success;
+ }
+ }
+
// Intel CET requires the following opcodes to be treated as NOPs
// with any prefix and ModRM, SIB and disp combination:
// "0F 19", "0F 1C", "0F 1D", "0F 1E", "0F 1F"
diff --git a/none/tests/x86/Makefile.am b/none/tests/x86/Makefile.am
index 3ecd1ad3c..dbae86571 100644
--- a/none/tests/x86/Makefile.am
+++ b/none/tests/x86/Makefile.am
@@ -52,6 +52,7 @@ EXTRA_DIST = \
fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \
fxtract.stdout.exp-older-glibc \
getseg.stdout.exp getseg.stderr.exp getseg.vgtest \
+ gnu_binutils_nop.stderr.exp gnu_binutils_nop.vgtest \
incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \
int.stderr.exp int.stdout.exp int.disabled \
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
@@ -100,6 +101,7 @@ check_PROGRAMS = \
fpu_lazy_eflags \
fxtract \
getseg \
+ gnu_binutils_nop \
incdec_alt \
$(INSN_TESTS) \
int \
diff --git a/none/tests/x86/gnu_binutils_nop.c b/none/tests/x86/gnu_binutils_nop.c
new file mode 100644
index 000000000..412a4c2cb
--- /dev/null
+++ b/none/tests/x86/gnu_binutils_nop.c
@@ -0,0 +1,34 @@
+int main(void)
+{
+ // GNU binutils uses various opcodes as alternatives for nop
+ // the idea is that it is faster to execute one large opcode
+ // with no side-effects than multiple repetitions of the
+ // single byte 'nop'. This gives more choice when code
+ // needs to be padded.
+
+ // the following is based on
+ // https://sourceware.org/cgit/binutils-gdb/tree/gas/config/tc-i386.c#n1256
+
+ // one byte
+ __asm__ __volatile__("nop");
+ // two bytes
+ __asm__ __volatile__("xchg %ax,%ax");
+ // three bytes
+ //__asm__ __volatile__("leal 0(%esi),%esi");
+ __asm__ __volatile__(".byte 0x8d,0x76,0x00");
+ // four bytes
+ //__asm__ __volatile__("leal 0(%esi,%eiz),%esi");
+ __asm__ __volatile__(".byte 0x8d,0x74,0x26,0x00");
+ // five bytes
+ //__asm__ __volatile__("leal %cs:0(%esi,%eiz),%esi");
+ __asm__ __volatile__(".byte 0x2e,0x8d,0x74,0x26,0x00");
+ // six bytes
+ //__asm__ __volatile__("leal 0L(%esi),%esi");
+ __asm__ __volatile__(".byte 0x8d,0xb6,0x00,0x00,0x00,0x00");
+ // seven bytes
+ //__asm__ __volatile__("leal 0L(%esi,%eiz),%esi");
+ __asm__ __volatile__(".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00");
+ // eight bytes
+ //__asm__ __volatile__("leal %cs:0L(%esi,%eiz),%esi");
+ __asm__ __volatile__(".byte 0x2e,0x8d,0xb4,0x26,0x00,0x00,0x00,0x00");
+}
diff --git a/none/tests/x86/gnu_binutils_nop.stderr.exp b/none/tests/x86/gnu_binutils_nop.stderr.exp
new file mode 100644
index 000000000..e69de29bb
diff --git a/none/tests/x86/gnu_binutils_nop.vgtest b/none/tests/x86/gnu_binutils_nop.vgtest
new file mode 100644
index 000000000..7f378dd53
--- /dev/null
+++ b/none/tests/x86/gnu_binutils_nop.vgtest
@@ -0,0 +1,2 @@
+prog: gnu_binutils_nop
+vgopts: -q
--
2.43.0

View File

@ -1,8 +1,8 @@
Index: valgrind-3.21.0/VEX/priv/guest_x86_toIR.c
Index: valgrind-3.23.0/VEX/priv/guest_x86_toIR.c
===================================================================
--- valgrind-3.21.0.orig/VEX/priv/guest_x86_toIR.c
+++ valgrind-3.21.0/VEX/priv/guest_x86_toIR.c
@@ -12921,6 +12921,62 @@ DisResult disInstr_X86_WRK (
--- valgrind-3.23.0.orig/VEX/priv/guest_x86_toIR.c
+++ valgrind-3.23.0/VEX/priv/guest_x86_toIR.c
@@ -12941,6 +12941,62 @@ DisResult disInstr_X86_WRK (
/* --- start of the SSE4 decoder --- */
/* ---------------------------------------------------- */

View File

@ -1,11 +0,0 @@
--- a/configure.ac
+++ b/configure.ac
@@ -252,7 +252,7 @@ case "${host_cpu}" in
ARCH_MAX="s390x"
;;
- armv7*)
+ armv6*|armv7*)
AC_MSG_RESULT([ok (${host_cpu})])
ARCH_MAX="arm"
;;

View File

@ -1,8 +1,8 @@
Index: valgrind-3.20.0/configure
Index: valgrind-3.23.0/configure
===================================================================
--- valgrind-3.20.0.orig/configure
+++ valgrind-3.20.0/configure
@@ -10983,7 +10983,7 @@ if test "x${vg_cv_lto}" != "xno" -a "x${
--- valgrind-3.23.0.orig/configure
+++ valgrind-3.23.0/configure
@@ -11265,7 +11265,7 @@ if test "x${vg_cv_lto}" != "xno" -a "x${
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if toolchain accepts lto" >&5
printf %s "checking if toolchain accepts lto... " >&6; }
safe_CFLAGS=$CFLAGS
@ -11,11 +11,11 @@ Index: valgrind-3.20.0/configure
# Note : using 'one' partition is giving a slightly smaller/faster memcheck
# and ld/lto-trans1 still needs a reasonable memory (about 0.5GB) when linking.
CFLAGS="$TEST_LTO_CFLAGS -Werror"
Index: valgrind-3.20.0/configure.ac
Index: valgrind-3.23.0/configure.ac
===================================================================
--- valgrind-3.20.0.orig/configure.ac
+++ valgrind-3.20.0/configure.ac
@@ -2448,7 +2448,7 @@ AC_CACHE_CHECK([for using the link time
--- valgrind-3.23.0.orig/configure.ac
+++ valgrind-3.23.0/configure.ac
@@ -2541,7 +2541,7 @@ AC_CACHE_CHECK([for using the link time
if test "x${vg_cv_lto}" != "xno" -a "x${LTO_AR}" != "x" -a "x${LTO_RANLIB}" != "x"; then
AC_MSG_CHECKING([if toolchain accepts lto])
safe_CFLAGS=$CFLAGS

View File

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

BIN
valgrind-3.23.0.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEEnaKlnlZkBB6DS/f/FfjzKzZmngFAmYr3LEACgkQ/FfjzKzZ
mnjgfQf/cgjj4zvbaV6bv+pDBpmnWFDHOcBtEJmtJ+uiMIdikU+kUo9idBm/uL1O
hWow73rQpzecbIR6hY6jlGx9vSqJP3WfneZmvuPXu7InQNwSwn7PIvIqcZ4etXk/
6rXt85TPY5vM5R2vQIHnAvB7VQJmXiNh4/uOSNEBnYiY9pmT1LSiwyJkVV2KojkY
Jl0Umo/9qSNW+MUzpTY/xwktMMMtzD1NWNShfwHk18f8Yt1PXar07VEh5ypXiIJg
a1KF0aDaxKuoMEe5l+9lwCBdBruXGR3nTmCGC4HdC+sDNtha+96QNAjD2J5Vhio/
1hMg8Y+WjQYgj38Air9wwj+7aX+dxA==
=ah6z
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Sun Apr 28 15:47:13 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 3.23.0:
* Added ARM64 support for FreeBSD.
* ARM64 now supports dotprod instructions (sdot/udot).
* AMD64 better supports code build with -march=x86-64-v3.
fused-multiple-add instructions (fma) are now emulated more
accurately. And memcheck now handles __builtin_strcmp using 128/256
bit vectors with sse4.1, avx/avx2.
* S390X added support for NNPA (neural network processing assist)
facility vector instructions VCNF, VCLFNH, VCFN, VCLFNL, VCRNF and
NNPA (z16/arch14).
* X86 recognizes new binutils-2.42 nop patterns.
- drop VEX-x86-nop-pattern.patch (upstream)
- drop armv6-support.diff (obsolete)
-------------------------------------------------------------------
Mon Feb 5 13:26:28 UTC 2024 - Andreas Schwab <schwab@suse.de>

114
valgrind.keyring Normal file
View File

@ -0,0 +1,114 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
1tvZxQ==
=DlFV
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,5 +1,5 @@
#
# spec file
# spec file for package valgrind
#
# Copyright (c) 2024 SUSE LLC
#
@ -29,23 +29,22 @@
%endif
%bcond_without docs
Name: valgrind%{?psuffix}
Version: 3.22.0
Version: 3.23.0
Release: 0
Summary: Memory Management Debugger
License: GFDL-1.2-only AND GPL-2.0-or-later
Group: Development/Tools/Debuggers
URL: https://valgrind.org/
Source0: https://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2
Source1: https://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2.asc
Source2: valgrind.keyring
# https://bugs.kde.org/show_bug.cgi?id=390553
# https://github.com/olafhering/valgrind/compare/olh-base-master...olh-fixes-master
Patch0: valgrind.xen.patch
# bko#276780 missing implementation for PINSRD
Patch1: VEX-x86-pinsrd.patch
Patch2: armv6-support.diff
Patch9: parallel-lto.patch
Patch10: dhat-use-datadir.patch
# bko#478624 - Valgrind incompatibility with binutils-2.42 on x86 with new nop patterns (unhandled instruction bytes: 0x2E 0x8D 0xB4 0x26)
Patch11: VEX-x86-nop-pattern.patch
BuildRequires: automake
BuildRequires: pkgconfig
%if %{suse_version} == 1600 && !0%{?is_opensuse}

View File

@ -19,10 +19,10 @@ bz#390553
coregrind/m_syswrap/syswrap-xen.c | 71 +++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
Index: valgrind-3.16.0/coregrind/m_syswrap/syswrap-xen.c
Index: valgrind-3.23.0/coregrind/m_syswrap/syswrap-xen.c
===================================================================
--- valgrind-3.16.0.orig/coregrind/m_syswrap/syswrap-xen.c
+++ valgrind-3.16.0/coregrind/m_syswrap/syswrap-xen.c
--- valgrind-3.23.0.orig/coregrind/m_syswrap/syswrap-xen.c
+++ valgrind-3.23.0/coregrind/m_syswrap/syswrap-xen.c
@@ -60,6 +60,57 @@
#include <inttypes.h>
@ -1520,10 +1520,10 @@ Index: valgrind-3.16.0/coregrind/m_syswrap/syswrap-xen.c
};
static void bad_before ( ThreadId tid,
Index: valgrind-3.16.0/include/vki/vki-xen-domctl.h
Index: valgrind-3.23.0/include/vki/vki-xen-domctl.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-domctl.h
+++ valgrind-3.16.0/include/vki/vki-xen-domctl.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-domctl.h
+++ valgrind-3.23.0/include/vki/vki-xen-domctl.h
@@ -28,21 +28,31 @@
/*
@ -2032,10 +2032,10 @@ Index: valgrind-3.16.0/include/vki/vki-xen-domctl.h
vki_uint8_t pad[128];
} u;
};
Index: valgrind-3.16.0/include/vki/vki-xen-sysctl.h
Index: valgrind-3.23.0/include/vki/vki-xen-sysctl.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-sysctl.h
+++ valgrind-3.16.0/include/vki/vki-xen-sysctl.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-sysctl.h
+++ valgrind-3.23.0/include/vki/vki-xen-sysctl.h
@@ -3,19 +3,31 @@
/*
@ -2254,10 +2254,10 @@ Index: valgrind-3.16.0/include/vki/vki-xen-sysctl.h
vki_uint8_t pad[128];
} u;
Index: valgrind-3.16.0/include/vki/vki-xen-hvm.h
Index: valgrind-3.23.0/include/vki/vki-xen-hvm.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-hvm.h
+++ valgrind-3.16.0/include/vki/vki-xen-hvm.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-hvm.h
+++ valgrind-3.23.0/include/vki/vki-xen-hvm.h
@@ -95,7 +95,16 @@ struct vki_xen_hvm_get_mem_access {
typedef struct vki_xen_hvm_get_mem_access vki_xen_hvm_get_mem_access_t;
@ -2285,10 +2285,10 @@ Index: valgrind-3.16.0/include/vki/vki-xen-hvm.h
#define VKI_XEN_HVMOP_altp2m 25
#define VKI_XEN_HVMOP_altp2m_get_domain_state 1
Index: valgrind-3.16.0/include/vki/vki-xen.h
Index: valgrind-3.23.0/include/vki/vki-xen.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen.h
+++ valgrind-3.16.0/include/vki/vki-xen.h
--- valgrind-3.23.0.orig/include/vki/vki-xen.h
+++ valgrind-3.23.0/include/vki/vki-xen.h
@@ -67,6 +67,8 @@
#define __VKI_XEN_kexec_op 37
#define __VKI_XEN_tmem_op 38
@ -2314,11 +2314,11 @@ Index: valgrind-3.16.0/include/vki/vki-xen.h
#endif // __VKI_XEN_H
Index: valgrind-3.16.0/coregrind/m_syswrap/syswrap-linux.c
Index: valgrind-3.23.0/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- valgrind-3.16.0.orig/coregrind/m_syswrap/syswrap-linux.c
+++ valgrind-3.16.0/coregrind/m_syswrap/syswrap-linux.c
@@ -8904,6 +8904,38 @@ PRE(sys_ioctl)
--- valgrind-3.23.0.orig/coregrind/m_syswrap/syswrap-linux.c
+++ valgrind-3.23.0/coregrind/m_syswrap/syswrap-linux.c
@@ -9111,6 +9111,38 @@ PRE(sys_ioctl)
(Addr)args->arr, sizeof(*(args->arr)) * args->num);
break;
}
@ -2357,7 +2357,7 @@ Index: valgrind-3.16.0/coregrind/m_syswrap/syswrap-linux.c
case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ: {
struct vki_xen_ioctl_evtchn_bind_virq *args =
@@ -8945,6 +8977,80 @@ PRE(sys_ioctl)
@@ -9152,6 +9184,80 @@ PRE(sys_ioctl)
case VKI_XEN_IOCTL_EVTCHN_RESET:
/* No input*/
break;
@ -2438,7 +2438,7 @@ Index: valgrind-3.16.0/coregrind/m_syswrap/syswrap-linux.c
#endif
/* Lustre */
@@ -11542,6 +11648,16 @@ POST(sys_ioctl)
@@ -11778,6 +11884,16 @@ POST(sys_ioctl)
POST_MEM_WRITE((Addr)args->err, sizeof(*(args->err)) * args->num);
}
break;
@ -2455,7 +2455,7 @@ Index: valgrind-3.16.0/coregrind/m_syswrap/syswrap-linux.c
case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ:
case VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN:
@@ -11551,6 +11667,44 @@ POST(sys_ioctl)
@@ -11787,6 +11903,44 @@ POST(sys_ioctl)
case VKI_XEN_IOCTL_EVTCHN_RESET:
/* No output */
break;
@ -2500,11 +2500,11 @@ Index: valgrind-3.16.0/coregrind/m_syswrap/syswrap-linux.c
#endif
/* Lustre */
Index: valgrind-3.16.0/include/vki/vki-linux.h
Index: valgrind-3.23.0/include/vki/vki-linux.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-linux.h
+++ valgrind-3.16.0/include/vki/vki-linux.h
@@ -3457,12 +3457,37 @@ struct vki_xen_privcmd_mmapbatch_v2 {
--- valgrind-3.23.0.orig/include/vki/vki-linux.h
+++ valgrind-3.23.0/include/vki/vki-linux.h
@@ -3547,12 +3547,37 @@ struct vki_xen_privcmd_mmapbatch_v2 {
int __user *err; /* array of error codes */
};
@ -2542,7 +2542,7 @@ Index: valgrind-3.16.0/include/vki/vki-linux.h
//----------------------------------------------------------------------
// Xen evtchn IOCTL
//----------------------------------------------------------------------
@@ -3501,6 +3526,91 @@ struct vki_xen_ioctl_evtchn_notify {
@@ -3591,6 +3616,91 @@ struct vki_xen_ioctl_evtchn_notify {
#define VKI_XEN_IOCTL_EVTCHN_RESET \
_VKI_IOC(_VKI_IOC_NONE, 'E', 5, 0)
@ -2634,10 +2634,10 @@ Index: valgrind-3.16.0/include/vki/vki-linux.h
//----------------------------------------------------------------------
// From linux-3.4.0/include/linux/fs.h
Index: valgrind-3.16.0/include/vki/vki-xen-memory.h
Index: valgrind-3.23.0/include/vki/vki-xen-memory.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-memory.h
+++ valgrind-3.16.0/include/vki/vki-xen-memory.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-memory.h
+++ valgrind-3.23.0/include/vki/vki-xen-memory.h
@@ -45,9 +45,14 @@
#define VKI_XENMEM_get_pod_target 17
#define VKI_XENMEM_get_sharing_freed_pages 18
@ -2668,10 +2668,10 @@ Index: valgrind-3.16.0/include/vki/vki-xen-memory.h
struct vki_xen_mem_event_op {
vki_uint8_t op;
vki_xen_domid_t domain;
Index: valgrind-3.16.0/include/vki/vki-xen-gnttab.h
Index: valgrind-3.23.0/include/vki/vki-xen-gnttab.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-gnttab.h
+++ valgrind-3.16.0/include/vki/vki-xen-gnttab.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-gnttab.h
+++ valgrind-3.23.0/include/vki/vki-xen-gnttab.h
@@ -40,6 +40,7 @@ typedef vki_uint32_t vki_xen_grant_ref_t
#define VKI_XEN_GNTTABOP_get_status_frames 9
#define VKI_XEN_GNTTABOP_get_version 10
@ -2680,10 +2680,10 @@ Index: valgrind-3.16.0/include/vki/vki-xen-gnttab.h
struct vki_xen_gnttab_setup_table {
/* IN parameters. */
Index: valgrind-3.16.0/include/vki/vki-xen-physdev.h
Index: valgrind-3.23.0/include/vki/vki-xen-physdev.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-physdev.h
+++ valgrind-3.16.0/include/vki/vki-xen-physdev.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-physdev.h
+++ valgrind-3.23.0/include/vki/vki-xen-physdev.h
@@ -58,6 +58,15 @@ struct vki_xen_physdev_unmap_pirq {
int pirq;
};
@ -2700,10 +2700,10 @@ Index: valgrind-3.16.0/include/vki/vki-xen-physdev.h
#endif // __VKI_XEN_PHYSDEV_H
/*--------------------------------------------------------------------*/
Index: valgrind-3.16.0/include/vki/vki-xen-schedop.h
Index: valgrind-3.23.0/include/vki/vki-xen-schedop.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-schedop.h
+++ valgrind-3.16.0/include/vki/vki-xen-schedop.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-schedop.h
+++ valgrind-3.23.0/include/vki/vki-xen-schedop.h
@@ -45,4 +45,6 @@ typedef struct vki_xen_remote_shutdown v
#define VKI_XEN_SCHEDOP_watchdog 6
@ -2711,10 +2711,10 @@ Index: valgrind-3.16.0/include/vki/vki-xen-schedop.h
+#define VKI_XEN_SCHEDOP_pin_override 7
+
#endif /* __VKI_XEN_SCHED_OP_H */
Index: valgrind-3.16.0/include/vki/vki-xen-version.h
Index: valgrind-3.23.0/include/vki/vki-xen-version.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-version.h
+++ valgrind-3.16.0/include/vki/vki-xen-version.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-version.h
+++ valgrind-3.23.0/include/vki/vki-xen-version.h
@@ -36,6 +36,7 @@
#define VKI_XENVER_pagesize 7
#define VKI_XENVER_guest_handle 8
@ -2740,10 +2740,10 @@ Index: valgrind-3.16.0/include/vki/vki-xen-version.h
#endif // __VKI_XEN_VERSION_H
/*--------------------------------------------------------------------*/
Index: valgrind-3.16.0/include/vki/vki-xen-x86.h
Index: valgrind-3.23.0/include/vki/vki-xen-x86.h
===================================================================
--- valgrind-3.16.0.orig/include/vki/vki-xen-x86.h
+++ valgrind-3.16.0/include/vki/vki-xen-x86.h
--- valgrind-3.23.0.orig/include/vki/vki-xen-x86.h
+++ valgrind-3.23.0/include/vki/vki-xen-x86.h
@@ -281,6 +281,20 @@ struct vki_hvm_hw_mtrr {
VKI_DECLARE_HVM_SAVE_TYPE(MTRR, 14, struct vki_hvm_hw_mtrr);