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
This commit is contained in:
Mark Wielaard 2019-04-14 13:21:25 +02:00
parent 0a57e70205
commit 7d4b18d3ab
2 changed files with 56 additions and 2 deletions

View File

@ -0,0 +1,34 @@
commit 270037da8b508954f0f7d703a0bebf5364eec548
Author: Julian Seward <jseward@acm.org>
Date: Sat Apr 13 12:34:06 2019 +0200
Bug 406465 - arm64 instruction selector fails on "t0 = <expr>" where <expr> 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);

View File

@ -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 = <expr>" where <expr> 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 <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.15.0-0.7.RC2
- Add valgrind-3.15.0-some-stack-protector.patch