From f2d4cd32d86b0c2a3d7f3f3ab27cb8c1ff787b42 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Sun, 20 Dec 2020 21:49:17 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/valgrind.git#d4756990d702dbd2ff1d68f1dfab82ccd114673c --- valgrind-3.16.1-arm64-expensive-cmp.patch | 19 ++++++++++ valgrind-3.16.1-ficlone.patch | 43 +++++++++++++++++++++++ valgrind.spec | 15 +++++++- 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 valgrind-3.16.1-arm64-expensive-cmp.patch create mode 100644 valgrind-3.16.1-ficlone.patch diff --git a/valgrind-3.16.1-arm64-expensive-cmp.patch b/valgrind-3.16.1-arm64-expensive-cmp.patch new file mode 100644 index 0000000..b2f8b50 --- /dev/null +++ b/valgrind-3.16.1-arm64-expensive-cmp.patch @@ -0,0 +1,19 @@ +commit 359b98828ced9cfff8c1badfed75c7ef999cfee5 +Author: Julian Seward +Date: Sun Nov 15 18:28:09 2020 +0100 + + memcheck: on arm64, use expensive instrumentation for Cmp{EQ,NE}64 by default. + +diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c +index b32c9c9c5..e91d51094 100644 +--- a/memcheck/mc_translate.c ++++ b/memcheck/mc_translate.c +@@ -8485,6 +8485,8 @@ IRSB* MC_(instrument) ( VgCallbackClosure* closure, + # elif defined(VGA_ppc64le) + // Needed by (at least) set_AV_CR6() in the front end. + mce.dlbo.dl_CmpEQ64_CmpNE64 = DLexpensive; ++# elif defined(VGA_arm64) ++ mce.dlbo.dl_CmpEQ64_CmpNE64 = DLexpensive; + # endif + + /* preInstrumentationAnalysis() will allocate &mce.tmpHowUsed and then diff --git a/valgrind-3.16.1-ficlone.patch b/valgrind-3.16.1-ficlone.patch new file mode 100644 index 0000000..83b00a3 --- /dev/null +++ b/valgrind-3.16.1-ficlone.patch @@ -0,0 +1,43 @@ +commit 1c49351424f04ee29a5efc054cb08ab3ad22b978 +Author: Laurent Bonnans +Date: Fri Nov 16 15:22:18 2018 +0100 + + Fix 397605 - Add support for Linux FICLONE ioctl + +diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c +index 41849873e..328e02a98 100644 +--- a/coregrind/m_syswrap/syswrap-linux.c ++++ b/coregrind/m_syswrap/syswrap-linux.c +@@ -7961,6 +7961,11 @@ PRE(sys_ioctl) + case VKI_FIBMAP: + PRE_MEM_READ( "ioctl(FIBMAP)", ARG3, sizeof(int)); + break; ++ case VKI_FICLONE: ++ /* The direction of FICLONE (W) is incorrectly specified ++ * as it expects a file descriptor and not a pointer to ++ * user data */ ++ break; + + case VKI_FBIOGET_VSCREENINFO: /* 0x4600 */ + PRE_MEM_WRITE( "ioctl(FBIOGET_VSCREENINFO)", ARG3, +@@ -10898,6 +10903,8 @@ POST(sys_ioctl) + case VKI_FIBMAP: + POST_MEM_WRITE(ARG3, sizeof(int)); + break; ++ case VKI_FICLONE: ++ break; + + case VKI_FBIOGET_VSCREENINFO: //0x4600 + POST_MEM_WRITE(ARG3, sizeof(struct vki_fb_var_screeninfo)); +diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h +index ef93b9258..3b9dc3779 100644 +--- a/include/vki/vki-linux.h ++++ b/include/vki/vki-linux.h +@@ -1888,6 +1888,7 @@ struct vki_ppdev_frob_struct { + + #define VKI_FIBMAP _VKI_IO(0x00,1) /* bmap access */ + #define VKI_FIGETBSZ _VKI_IO(0x00,2) /* get the block size used for bmap */ ++#define VKI_FICLONE _VKI_IOW(0x94, 9, int) + + //---------------------------------------------------------------------- + // From linux-2.6.8.1/include/scsi/sg.h diff --git a/valgrind.spec b/valgrind.spec index 33673b3..50ffe12 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -3,7 +3,7 @@ Summary: Tool for finding memory management bugs in programs Name: %{?scl_prefix}valgrind Version: 3.16.1 -Release: 11%{?dist} +Release: 12%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -130,6 +130,13 @@ Patch17: valgrind-3.16.1-stxsibx-stxsihx.patch # KDE#430485 expr_is_guardable doesn't handle Iex_Qop Patch18: valgrind-3.16.1-arm64-fma.patch +# KDE#397605 Add support for Linux FICLONE ioctl +Patch19: valgrind-3.16.1-ficlone.patch + +# rhbz#1909415 valgrind makes false complaint about strcmp() on aarch64 +# upstream git commit 359b98828 +Patch20: valgrind-3.16.1-arm64-expensive-cmp.patch + BuildRequires: glibc-devel %if %{build_openmpi} @@ -276,6 +283,8 @@ Valgrind User Manual for details. %patch16 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 +%patch20 -p1 %build # LTO triggers undefined symbols in valgrind. Valgrind has a --enable-lto @@ -500,6 +509,10 @@ fi %endif %changelog +* Sun Dec 20 2020 Mark Wielaard - 3.16.1-12 +- Add valgrind-3.16.1-ficlone.patch +- Add valgrind-3.16.1-arm64-expensive-cmp.patch + * Thu Dec 17 2020 Mark Wielaard - 3.16.1-11 - Update valgrind-3.16.1-arm64-fma.patch