summaryrefslogtreecommitdiff
path: root/src/vm/arm
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2018-04-06 18:44:02 +0200
committerGitHub <noreply@github.com>2018-04-06 18:44:02 +0200
commit75757bf50bdbbdd2d3101921bbf36400a52543c7 (patch)
treea4329d0bb08ca8904d47466bf47a147824d9b776 /src/vm/arm
parent721343dc84247d54ee5f3365b97b06090dfa8ade (diff)
downloadcoreclr-75757bf50bdbbdd2d3101921bbf36400a52543c7.tar.gz
coreclr-75757bf50bdbbdd2d3101921bbf36400a52543c7.tar.bz2
coreclr-75757bf50bdbbdd2d3101921bbf36400a52543c7.zip
Fix GC stress modes 4 and 8 on Linux ARM (#17456)
There were two problems: * The illegal instruction 0xde01 used for INTERRUPT_INSTR_CALL doesn't generate SIGILL, but SIGTRAP, since this is the code used for breakpoints. * The USE_REDIRECT_FOR_GCSTRESS was defined even for FEATURE_PAL for ARM, which is incorrect and resulted in explicit redirect frame not being created in DoGcStress and thus the GC stack walk was skipping managed frames that it should walk.
Diffstat (limited to 'src/vm/arm')
-rw-r--r--src/vm/arm/cgencpu.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vm/arm/cgencpu.h b/src/vm/arm/cgencpu.h
index 53a964f288..7f02b7b090 100644
--- a/src/vm/arm/cgencpu.h
+++ b/src/vm/arm/cgencpu.h
@@ -30,7 +30,9 @@ struct ArgLocDesc;
extern PCODE GetPreStubEntryPoint();
+#ifndef FEATURE_PAL
#define USE_REDIRECT_FOR_GCSTRESS
+#endif // FEATURE_PAL
// CPU-dependent functions
Stub * GenerateInitPInvokeFrameHelper();