On Fri, Jan 17, 2020 at 06:52:11AM -0700, Matthew Flatt wrote:
> At Fri, 17 Jan 2020 09:43:15 -0400, David Bremner wrote:
> > Matthew Flatt <[email protected]> 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 debugged this a bit, and reverting [1] makes 7.5 build.

The assembler code was taken from an ancient version of gmp,
and after a rewrite in 2009 (sic) the code in current gmp is
completely different.

Is there a reason why you cannot change to using an external
libgmp instead of local copies of gmp code?

cu
Adrian

[1] 
https://github.com/racket/racket/commit/17bc6262938f3b29e7ec66d0e77eeb08807854cd

Reply via email to