diff --git a/valgrind-3.15.0-gcc10-ppc64-asm-constraints.patch b/valgrind-3.15.0-gcc10-ppc64-asm-constraints.patch new file mode 100644 index 0000000..c12dc12 --- /dev/null +++ b/valgrind-3.15.0-gcc10-ppc64-asm-constraints.patch @@ -0,0 +1,89 @@ +diff --git a/none/tests/ppc64/test_isa_2_07_part1.c b/none/tests/ppc64/test_isa_2_07_part1.c +index 187af3741..0efd39c1c 100644 +--- a/none/tests/ppc64/test_isa_2_07_part1.c ++++ b/none/tests/ppc64/test_isa_2_07_part1.c +@@ -384,27 +384,27 @@ static void test_fmrgow (void) + // VSX move instructions + static void test_mfvsrd (void) + { +- __asm__ __volatile__ ("mfvsrd %0,%x1" : "=r" (r14) : "ws" (vec_inA)); ++ __asm__ __volatile__ ("mfvsrd %0,%x1" : "=r" (r14) : "wa" (vec_inA)); + }; + + static void test_mfvsrwz (void) + { +- __asm__ __volatile__ ("mfvsrwz %0,%x1" : "=r" (r14) : "ws" (vec_inA)); ++ __asm__ __volatile__ ("mfvsrwz %0,%x1" : "=r" (r14) : "wa" (vec_inA)); + }; + + static void test_mtvsrd (void) + { +- __asm__ __volatile__ ("mtvsrd %x0,%1" : "=ws" (vec_out) : "r" (r14)); ++ __asm__ __volatile__ ("mtvsrd %x0,%1" : "=wa" (vec_out) : "r" (r14)); + }; + + static void test_mtvsrwz (void) + { +- __asm__ __volatile__ ("mtvsrwz %x0,%1" : "=ws" (vec_out) : "r" (r14)); ++ __asm__ __volatile__ ("mtvsrwz %x0,%1" : "=wa" (vec_out) : "r" (r14)); + }; + + static void test_mtvsrwa (void) + { +- __asm__ __volatile__ ("mtvsrwa %x0,%1" : "=ws" (vec_out) : "r" (r14)); ++ __asm__ __volatile__ ("mtvsrwa %x0,%1" : "=wa" (vec_out) : "r" (r14)); + }; + + static void test_mtfprwa (void) +diff --git a/none/tests/ppc64/test_isa_3_0.c b/none/tests/ppc64/test_isa_3_0.c +index 78b5130c1..cf9df8ac9 100644 +--- a/none/tests/ppc64/test_isa_3_0.c ++++ b/none/tests/ppc64/test_isa_3_0.c +@@ -1177,23 +1177,23 @@ static void test_xscmpexpdp(void) { + } + + static void test_xscmpeqdp(void) { +- __asm__ __volatile__ ("xscmpeqdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); ++ __asm__ __volatile__ ("xscmpeqdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + } + + static void test_xscmpgtdp(void) { +- __asm__ __volatile__ ("xscmpgtdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); ++ __asm__ __volatile__ ("xscmpgtdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + } + + static void test_xscmpgedp(void) { +- __asm__ __volatile__ ("xscmpgedp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); ++ __asm__ __volatile__ ("xscmpgedp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + } + + static void test_xsmincdp(void) { +- __asm__ __volatile__ ("xsmincdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); ++ __asm__ __volatile__ ("xsmincdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + } + + static void test_xsmaxcdp(void) { +- __asm__ __volatile__ ("xsmaxcdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); ++ __asm__ __volatile__ ("xsmaxcdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + } + + static test_list_t testgroup_vector_scalar_compare_double[] = { +@@ -1827,15 +1827,15 @@ static void test_xscvhpdp(void) { + } + + static void test_xscvdphp(void) { +- __asm__ __volatile__ ("xscvdphp %x0, %x1 " : "+wi" (vec_xt) : "wi" (vec_xb)); ++ __asm__ __volatile__ ("xscvdphp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); + } + + static void test_xvcvhpsp(void) { +- __asm__ __volatile__ ("xvcvhpsp %x0, %x1 " : "+ww" (vec_xt) : "ww" (vec_xb)); ++ __asm__ __volatile__ ("xvcvhpsp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); + } + + static void test_xvcvsphp(void) { +- __asm__ __volatile__ ("xvcvsphp %x0, %x1 " : "+ww" (vec_xt) : "ww" (vec_xb)); ++ __asm__ __volatile__ ("xvcvsphp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); + } + + static test_list_t testgroup_vector_scalar_two_double[] = { diff --git a/valgrind.spec b/valgrind.spec index ddb4cf6..59283e9 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.15.0 -Release: 13%{?dist} +Release: 14%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -140,8 +140,12 @@ Patch20: valgrind-3.15.0-ptrace-siginfo.patch Patch21: valgrind-3.15.0-gcc-10-typedef-enum.patch # GCC10 build error bad asm on i686 +# Upstream commit 2dab3249867615055a680cad7fccb22411587579 Patch22: valgrind-3.15.0-gcc-10-i686-asm-test.patch +# KDE#416667 gcc10 ppc64le impossible constraint in 'asm' in test_isa +Patch23: valgrind-3.15.0-gcc10-ppc64-asm-constraints.patch + BuildRequires: glibc-devel %if %{build_openmpi} @@ -300,6 +304,7 @@ Valgrind User Manual for details. %patch20 -p1 %patch21 -p1 %patch22 -p1 +%patch23 -p1 %build @@ -520,8 +525,9 @@ fi %endif %changelog -* Fri Jan 24 2020 Mark Wielaard +* Fri Jan 24 2020 Mark Wielaard 3.15.0-14 - Add valgrind-3.15.0-gcc-10-i686-asm-test.patch +- Add valgrind-3.15.0-gcc10-ppc64-asm-constraints.patch * Thu Jan 23 2020 Mark Wielaard - 3.15.0-13 - Add valgrind-3.15.0-gcc-10-typedef-enum.patch