Matthew Flatt <mfl...@cs.utah.edu> writes:

> At Fri, 17 Jan 2020 09:43:15 -0400, David Bremner wrote:
>> Matthew Flatt <mfl...@cs.utah.edu> writes:
>> > At Fri, 17 Jan 2020 08:31:22 -0400, David Bremner wrote:
>> >> => 0xb6ea3254 <+8>:     stmdb   sp!, {r4, r5, r6, r7, r8, r9, r10, r11, 
>> >> lr}
>> >>    0xb6ea3258 <+12>:    add     r3, pc
>> >
>> > That certainly looks like a valid ARM instruction. Maybe the processor
>> > is expecting Thumb instructions. What does `print $cpsr` report?
>> 
>> (gdb) print $cpsr 
>> $3 = 196656
>
> Since bit 5 is set, I think that means the processor was expecting
> Thumb instructions, which at least explains the error.
>
> To confirm that it's some bad jump or mismanagement of the mode by the
> Racket JIT, does changing "racket/src/lightning/arm/asm.h" to disable
> Thumb support allow the build to work?

I'm not very sure I'm doing the right thing, but With the following
change, I get the same build failure.

 % diff -u asm.h~ asm.h
--- asm.h~      2019-12-30 19:12:36.000000000 +0000
+++ asm.h       2020-01-17 16:06:45.964573092 +0000
@@ -2299,4 +2299,7 @@
 #define THUMB2_CLZ                     0xfab0f080
 #define T2_CLZ(rd,rm)                  thumb2_orrr(THUMB2_CLZ,rd,rm,rm)
 
+# undef JIT_ARM_THUMB
+# define JIT_ARM_THUMB 0
+
 #endif /* __lightning_asm_h */

Reply via email to