summaryrefslogtreecommitdiff
path: root/byterun/interp.c
diff options
context:
space:
mode:
Diffstat (limited to 'byterun/interp.c')
-rw-r--r--byterun/interp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/byterun/interp.c b/byterun/interp.c
index bbd8367e8a..a162a1327d 100644
--- a/byterun/interp.c
+++ b/byterun/interp.c
@@ -157,7 +157,8 @@ sp is a local copy of the global variable caml_extern_sp. */
#define SP_REG asm("a4")
#define ACCU_REG asm("d7")
#endif
-#ifdef __arm__
+/* PR#4953: these specific registers not available in Thumb mode */
+#if defined (__arm__) && !defined(__thumb__)
#define PC_REG asm("r9")
#define SP_REG asm("r8")
#define ACCU_REG asm("r7")