From 2fe4f7a04e4f0afc1ca712f8660fcf4e214ccbb39bc4cece323a6d97ee609312 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Sun, 28 Apr 2024 15:50:11 +0000 Subject: [PATCH] - 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/package/show/devel:tools/valgrind?expand=0&rev=279 --- VEX-x86-nop-pattern.patch | 136 ------------------------------------ VEX-x86-pinsrd.patch | 8 +-- armv6-support.diff | 11 --- parallel-lto.patch | 16 ++--- valgrind-3.22.0.tar.bz2 | 3 - valgrind-3.23.0.tar.bz2 | 3 + valgrind-3.23.0.tar.bz2.asc | 11 +++ valgrind.changes | 17 +++++ valgrind.keyring | 114 ++++++++++++++++++++++++++++++ valgrind.spec | 9 ++- valgrind.xen.patch | 90 ++++++++++++------------ 11 files changed, 206 insertions(+), 212 deletions(-) delete mode 100644 VEX-x86-nop-pattern.patch delete mode 100644 armv6-support.diff delete mode 100644 valgrind-3.22.0.tar.bz2 create mode 100644 valgrind-3.23.0.tar.bz2 create mode 100644 valgrind-3.23.0.tar.bz2.asc create mode 100644 valgrind.keyring diff --git a/VEX-x86-nop-pattern.patch b/VEX-x86-nop-pattern.patch deleted file mode 100644 index 58bf947..0000000 --- a/VEX-x86-nop-pattern.patch +++ /dev/null @@ -1,136 +0,0 @@ -From d35005cef8ad8207542738812705ceabf137d7e0 Mon Sep 17 00:00:00 2001 -From: Paul Floyd -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 - diff --git a/VEX-x86-pinsrd.patch b/VEX-x86-pinsrd.patch index 8380286..4543e0c 100644 --- a/VEX-x86-pinsrd.patch +++ b/VEX-x86-pinsrd.patch @@ -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 --- */ /* ---------------------------------------------------- */ diff --git a/armv6-support.diff b/armv6-support.diff deleted file mode 100644 index 45036ff..0000000 --- a/armv6-support.diff +++ /dev/null @@ -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" - ;; diff --git a/parallel-lto.patch b/parallel-lto.patch index 22f3337..a9290db 100644 --- a/parallel-lto.patch +++ b/parallel-lto.patch @@ -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 diff --git a/valgrind-3.22.0.tar.bz2 b/valgrind-3.22.0.tar.bz2 deleted file mode 100644 index aece8a2..0000000 --- a/valgrind-3.22.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c -size 16565502 diff --git a/valgrind-3.23.0.tar.bz2 b/valgrind-3.23.0.tar.bz2 new file mode 100644 index 0000000..2b3ecc9 --- /dev/null +++ b/valgrind-3.23.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d +size 16550038 diff --git a/valgrind-3.23.0.tar.bz2.asc b/valgrind-3.23.0.tar.bz2.asc new file mode 100644 index 0000000..af05b40 --- /dev/null +++ b/valgrind-3.23.0.tar.bz2.asc @@ -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----- diff --git a/valgrind.changes b/valgrind.changes index 8e48c0d..17bca63 100644 --- a/valgrind.changes +++ b/valgrind.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Sun Apr 28 15:47:13 UTC 2024 - Dirk Müller + +- 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 diff --git a/valgrind.keyring b/valgrind.keyring new file mode 100644 index 0000000..b59ca04 --- /dev/null +++ b/valgrind.keyring @@ -0,0 +1,114 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +1tvZxQ== +=DlFV +-----END PGP PUBLIC KEY BLOCK----- diff --git a/valgrind.spec b/valgrind.spec index 4a9b44c..ed1d050 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -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} diff --git a/valgrind.xen.patch b/valgrind.xen.patch index ac38dfd..2315986 100644 --- a/valgrind.xen.patch +++ b/valgrind.xen.patch @@ -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 @@ -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);