Add valgrind-3.13.0-ppc64-diag.patch

This commit is contained in:
Mark Wielaard 2017-06-18 13:29:40 +02:00
parent 391aca8d88
commit 564e480369
2 changed files with 114 additions and 0 deletions

View File

@ -0,0 +1,109 @@
diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c
index e16e837..a8d4926 100644
--- a/VEX/priv/guest_ppc_toIR.c
+++ b/VEX/priv/guest_ppc_toIR.c
@@ -29356,62 +29356,70 @@ DisResult disInstr_PPC_WRK (
decode_noF:
vassert(!allow_F);
- vex_printf("disInstr(ppc): found the Floating Point instruction 0x%x that\n"
- "can't be handled by Valgrind on this host. This instruction\n"
- "requires a host that supports Floating Point instructions.\n",
- theInstr);
+ if (sigill_diag)
+ vex_printf("disInstr(ppc): found the Floating Point instruction 0x%x that\n"
+ "can't be handled by Valgrind on this host. This instruction\n"
+ "requires a host that supports Floating Point instructions.\n",
+ theInstr);
goto not_supported;
decode_noV:
vassert(!allow_V);
- vex_printf("disInstr(ppc): found an AltiVec or an e500 instruction 0x%x\n"
- "that can't be handled by Valgrind. If this instruction is an\n"
- "Altivec instruction, Valgrind must be run on a host that supports"
- "AltiVec instructions. If the application was compiled for e500, then\n"
- "unfortunately Valgrind does not yet support e500 instructions.\n",
- theInstr);
+ if (sigill_diag)
+ vex_printf("disInstr(ppc): found an AltiVec or an e500 instruction 0x%x\n"
+ "that can't be handled by Valgrind. If this instruction is an\n"
+ "Altivec instruction, Valgrind must be run on a host that supports"
+ "AltiVec instructions. If the application was compiled for e500, then\n"
+ "unfortunately Valgrind does not yet support e500 instructions.\n",
+ theInstr);
goto not_supported;
decode_noVX:
vassert(!allow_VX);
- vex_printf("disInstr(ppc): found the instruction 0x%x that is defined in the\n"
- "Power ISA 2.06 ABI but can't be handled by Valgrind on this host.\n"
- "This instruction \nrequires a host that supports the ISA 2.06 ABI.\n",
- theInstr);
+ if (sigill_diag)
+ vex_printf("disInstr(ppc): found the instruction 0x%x that is defined in the\n"
+ "Power ISA 2.06 ABI but can't be handled by Valgrind on this host.\n"
+ "This instruction \nrequires a host that supports the ISA 2.06 ABI.\n",
+ theInstr);
goto not_supported;
decode_noFX:
vassert(!allow_FX);
- vex_printf("disInstr(ppc): found the General Purpose-Optional instruction 0x%x\n"
- "that can't be handled by Valgrind on this host. This instruction\n"
- "requires a host that supports the General Purpose-Optional instructions.\n",
- theInstr);
+ if (sigill_diag)
+ vex_printf("disInstr(ppc): found the General Purpose-Optional instruction 0x%x\n"
+ "that can't be handled by Valgrind on this host. This instruction\n"
+ "requires a host that supports the General Purpose-Optional instructions.\n",
+ theInstr);
goto not_supported;
decode_noGX:
vassert(!allow_GX);
- vex_printf("disInstr(ppc): found the Graphics-Optional instruction 0x%x\n"
- "that can't be handled by Valgrind on this host. This instruction\n"
- "requires a host that supports the Graphic-Optional instructions.\n",
- theInstr);
+ if (sigill_diag)
+ vex_printf("disInstr(ppc): found the Graphics-Optional instruction 0x%x\n"
+ "that can't be handled by Valgrind on this host. This instruction\n"
+ "requires a host that supports the Graphic-Optional instructions.\n",
+ theInstr);
goto not_supported;
decode_noDFP:
vassert(!allow_DFP);
- vex_printf("disInstr(ppc): found the decimal floating point (DFP) instruction 0x%x\n"
- "that can't be handled by Valgrind on this host. This instruction\n"
- "requires a host that supports DFP instructions.\n",
- theInstr);
+ if (sigill_diag)
+ vex_printf("disInstr(ppc): found the decimal floating point (DFP) instruction 0x%x\n"
+ "that can't be handled by Valgrind on this host. This instruction\n"
+ "requires a host that supports DFP instructions.\n",
+ theInstr);
goto not_supported;
decode_noP8:
vassert(!allow_isa_2_07);
- vex_printf("disInstr(ppc): found the Power 8 instruction 0x%x that can't be handled\n"
- "by Valgrind on this host. This instruction requires a host that\n"
- "supports Power 8 instructions.\n",
- theInstr);
+ if (sigill_diag)
+ vex_printf("disInstr(ppc): found the Power 8 instruction 0x%x that can't be handled\n"
+ "by Valgrind on this host. This instruction requires a host that\n"
+ "supports Power 8 instructions.\n",
+ theInstr);
goto not_supported;
decode_noP9:
vassert(!allow_isa_3_0);
- vex_printf("disInstr(ppc): found the Power 9 instruction 0x%x that can't be handled\n"
- "by Valgrind on this host. This instruction requires a host that\n"
- "supports Power 9 instructions.\n",
- theInstr);
+ if (sigill_diag)
+ vex_printf("disInstr(ppc): found the Power 9 instruction 0x%x that can't be handled\n"
+ "by Valgrind on this host. This instruction requires a host that\n"
+ "supports Power 9 instructions.\n",
+ theInstr);
goto not_supported;
decode_failure:

View File

@ -98,6 +98,9 @@ Patch4: valgrind-3.13.0-ppc64-check-no-vsx.patch
# KDE#381289 epoll_pwait can have a NULL sigmask.
Patch5: valgrind-3.13.0-epoll_pwait.patch
# KDE#381274 powerpc too chatty even with --sigill-diagnostics=no
Patch6: valgrind-3.13.0-ppc64-diag.patch
%if %{build_multilib}
# Ensure glibc{,-devel} is installed for both multilib arches
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
@ -217,6 +220,7 @@ Valgrind User Manual for details.
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build
# We need to use the software collection compiler and binutils if available.
@ -422,6 +426,7 @@ echo ===============END TESTING===============
* Sat Jun 17 2017 Mark Wielaard <mjw@fedoraproject.org>
- Add valgrind-3.13.0-ppc64-check-no-vsx.patch
- Add valgrind-3.13.0-epoll_pwait.patch (#1462258)
- Add valgrind-3.13.0-ppc64-diag.patch
* Thu Jun 15 2017 Mark Wielaard <mjw@fedoraproject.org> - 3.13.0-1
- valgrind 3.13.0 final.