diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c index c566edcd1..88ed10a76 100644 --- a/coregrind/m_syswrap/syswrap-arm-linux.c +++ b/coregrind/m_syswrap/syswrap-arm-linux.c @@ -51,6 +51,7 @@ #include "pub_core_syswrap.h" #include "pub_core_tooliface.h" #include "pub_core_stacks.h" // VG_(register_stack) +#include "pub_core_transtab.h" // VG_(discard_translations) #include "priv_types_n_macros.h" #include "priv_syswrap-generic.h" /* for decls of generic wrappers */ @@ -1214,6 +1215,10 @@ PRE(sys_cacheflush) { PRINT("cacheflush (%lx, %#lx, %#lx)",ARG1,ARG2,ARG3); PRE_REG_READ3(long, "cacheflush", void*, addrlow,void*, addrhigh,int, flags); + VG_(discard_translations)( (Addr64)ARG1, + ((ULong)ARG2) - ((ULong)ARG1) + 1ULL/*paranoia*/, + "PRE(sys_cacheflush)" ); + SET_STATUS_Success(0); }