From a751b5be0114378c1b23c787798c8c3d61042cfb Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 19 Dec 2018 20:52:29 +0100 Subject: [PATCH] PR402134 assert fail in mc_translate.c (noteTmpUsesIn) Iex_VECRET on arm64 This happens when processing openssl aes_v8_set_encrypt_key (aesv8-armx.S:133). The noteTmpUsesIn () function is new since PR387664 Memcheck: make expensive-definedness-checks be the default. It didn't handle Iex_VECRET which is used in the arm64 crypto instruction dirty handlers. --- NEWS | 1 + memcheck/mc_translate.c | 1 + 2 files changed, 2 insertions(+) diff --git a/NEWS b/NEWS index c257f76f47..e1645eff08 100644 --- a/NEWS +++ b/NEWS @@ -72,6 +72,7 @@ where XXXXXX is the bug number as listed below. 401822 none/tests/ppc64/jm-vmx fails and produces assembler warnings 402006 mark helper regs defined in final_tidyup before freeres_wrapper call 402048 WARNING: unhandled ppc64[be|le]-linux syscall: 26 (ptrace) +402134 assertion fail in mc_translate.c (noteTmpUsesIn) Iex_VECRET on arm64 402327 Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13 (DW_OP_drop) Release 3.14.0 (9 October 2018) diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c index c24db919f7..1e770b3234 100644 --- a/memcheck/mc_translate.c +++ b/memcheck/mc_translate.c @@ -8022,6 +8022,7 @@ static inline void noteTmpUsesIn ( /*MOD*/HowUsed* useEnv, use info. */ switch (at->tag) { case Iex_GSPTR: + case Iex_VECRET: case Iex_Const: return; case Iex_RdTmp: { -- 2.47.2