From 7d4b18d3ab1687f720be5b273c0204586e1744f3 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Apr 14 2019 11:21:25 +0000 Subject: 3.15.0-0.8.RC2 Adding of stack-protector flag should only be done with newer gcc. Older rpm macros didn't provide build_ldflags. Add valgrind-3.15.0-arm64-Ity_F16.patch --- diff --git a/valgrind-3.15.0-arm64-Ity_F16.patch b/valgrind-3.15.0-arm64-Ity_F16.patch new file mode 100644 index 0000000..2c34fe2 --- /dev/null +++ b/valgrind-3.15.0-arm64-Ity_F16.patch @@ -0,0 +1,34 @@ +commit 270037da8b508954f0f7d703a0bebf5364eec548 +Author: Julian Seward +Date: Sat Apr 13 12:34:06 2019 +0200 + + Bug 406465 - arm64 instruction selector fails on "t0 = " where has type Ity_F16. + +diff --git a/VEX/priv/host_arm64_isel.c b/VEX/priv/host_arm64_isel.c +index 49d0f0b..b2ab742 100644 +--- a/VEX/priv/host_arm64_isel.c ++++ b/VEX/priv/host_arm64_isel.c +@@ -3391,6 +3391,10 @@ static HReg iselF16Expr_wrk ( ISelEnv* env, IRExpr* e ) + vassert(e); + vassert(ty == Ity_F16); + ++ if (e->tag == Iex_RdTmp) { ++ return lookupIRTemp(env, e->Iex.RdTmp.tmp); ++ } ++ + if (e->tag == Iex_Get) { + Int offs = e->Iex.Get.offset; + if (offs >= 0 && offs < 8192 && 0 == (offs & 1)) { +@@ -3706,6 +3710,12 @@ static void iselStmt ( ISelEnv* env, IRStmt* stmt ) + addInstr(env, ARM64Instr_VMov(8/*yes, really*/, dst, src)); + return; + } ++ if (ty == Ity_F16) { ++ HReg src = iselF16Expr(env, stmt->Ist.WrTmp.data); ++ HReg dst = lookupIRTemp(env, tmp); ++ addInstr(env, ARM64Instr_VMov(8/*yes, really*/, dst, src)); ++ return; ++ } + if (ty == Ity_V128) { + HReg src = iselV128Expr(env, stmt->Ist.WrTmp.data); + HReg dst = lookupIRTemp(env, tmp); diff --git a/valgrind.spec b/valgrind.spec index 74051dd..7215dad 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: 0.7.RC2%{?dist} +Release: 0.8.RC2%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -101,6 +101,8 @@ Patch7: valgrind-3.15.0-disable-s390x-z13.patch # Add some stack-protector Patch8: valgrind-3.15.0-some-stack-protector.patch +# KDE#406465 arm64 selector fails on "t0 = " where type Ity_F16. +Patch9: valgrind-3.15.0-arm64-Ity_F16.patch BuildRequires: glibc-devel @@ -231,7 +233,12 @@ Valgrind User Manual for details. %patch7 -p1 %endif +# Old rhel gcc doesn't have -fstack-protector-strong. +%if 0%{?fedora} || 0%{?rhel} >= 7 %patch8 -p1 +%endif + +%patch9 -p1 %build @@ -274,7 +281,15 @@ Valgrind User Manual for details. CFLAGS="`echo " %{optflags} " | sed 's/ -fstack-protector\([-a-z]*\) / / g;s/ -O2 / /g;'`" export CFLAGS -LDFLAGS="`echo " %{build_ldflags} " | sed 's/ -Wl,-z,now / / g;'`" +# Older Fedora/RHEL only had __global_ldflags. +# Even older didn't even have that (so we don't need to scrub them). +%if 0%{?build_ldflags:1} +LDFLAGS="`echo " %{build_ldflags} " | sed 's/ -Wl,-z,now / / g;'`" +%else +%if 0%{?__global_ldflags:1} +LDFLAGS="`echo " %{__global_ldflags} " | sed 's/ -Wl,-z,now / / g;'`" +%endif +%endif export LDFLAGS %configure \ @@ -435,6 +450,11 @@ fi %endif %changelog +* Sun Apr 14 2019 Mark Wielaard - 3.15.0-0.8.RC2 +- Adding of stack-protector flag should only be done with newer gcc. +- Older rpm macros didn't provide build_ldflags. +- Add valgrind-3.15.0-arm64-Ity_F16.patch + * Sun Apr 14 2019 Mark Wielaard - 3.15.0-0.7.RC2 - Add valgrind-3.15.0-some-stack-protector.patch