From eac4aabb7e3ca0a6c130e21826056093fa934ecd Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Wed, 17 May 2017 13:40:58 +0200 Subject: [PATCH] [arm] respect thumb mode in mixed mode unwinding --- mono/mini/mini-exceptions.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mono/mini/mini-exceptions.c b/mono/mini/mini-exceptions.c index e612fdf73ba..b6b1d813399 100644 --- a/mono/mini/mini-exceptions.c +++ b/mono/mini/mini-exceptions.c @@ -81,6 +81,10 @@ #include "mini-llvm-cpp.h" #endif +#ifdef TARGET_ARM +#include "mini-arm.h" +#endif + #ifndef MONO_ARCH_CONTEXT_DEF #define MONO_ARCH_CONTEXT_DEF #endif @@ -2133,8 +2137,8 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu ctx->gregs [AMD64_RIP] ++; #elif defined(TARGET_ARM) ctx->pc ++; - /* set thumb bit */ - ctx->pc |= 1; + if (mono_arm_thumb_supported ()) + ctx->pc |= 1; #elif defined(TARGET_ARM64) ctx->pc ++; #else -- 2.25.1