I'm on an old RPi B (maybe a B+). It's pretty ancient, so I might be 
pushing my luck. Here's my CPU info:

pi@raspberrypi:~ $ cat /proc/cpuinfo
processor    : 0
model name    : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS    : 697.95
Features    : half thumb fastmult vfp edsp java tls 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xb76
CPU revision    : 7

Hardware    : BCM2835
Revision    : 000e
Serial        : 00000000e9b1ce2d
Model        : Raspberry Pi Model B Rev 2

Running GDB gives the illegal instruction as 
<UNDEFINED> instruction: 0xf57ff05a
which looks to be a "Data Memory Barrier" instruction? Sounds like a 
plausible culprit.

Thanks!



On Tuesday, August 11, 2020 at 2:14:28 PM UTC-7, Matthew Flatt wrote:
>
> Which model Pi are you using? I'm able to build on a Pi 3, so I wonder 
> if it's a difference in processors, where the Arm32 backend is using 
> something that it shouldn't. 
>
> Whether or not that guess is right, can you try running `gdb` in the 
> "ChezScheme" directory like this? 
>
>    env SCHEMEHEAPDIRS=tarm32le/boot/tarm32le/ \ 
>         gdb tarm32le/bin/tarm32le/scheme 
>
> Disassembling around the failed instruction address (with `disassemble` 
> in gdb) should clarify what instruction is misused. 
>
> Thanks, 
> Matthew 
>
> At Tue, 11 Aug 2020 10:58:03 -0700 (PDT), Joey Eremondi wrote: 
> > I'm wondering, does anybody have any prebuilt  32-but ARM binaries for 
> > Racket on Chez? I'm trying to run a little web-server on a raspberry pi, 
> > and I'd prefer to use the Chez version, but I can't seem to get it to 
> build. 
> > 
> > Alternately, if anybody knows why it won't build and can help, that 
> would 
> > help. With eiether --enable-csracket or --enable-csonly, it gets stuck 
> > compiling the forked version of ChezScheme. Surprisingly, it doesn't 
> seem 
> > to be an out of memory error. Is the illegal instruction error because 
> it's 
> > ARMv6 and not AArch32? 
> > 
> > ... 
> > gcc  -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 -g 
> -O2 - 
> > Wall -DELF_FIND_BOOT_SECTION -pthread -rdynamic -o 
> ../bin/tarm32le/scheme 
> > ../boot/tarm32le/main.o ../boot/tarm32le/libkernel.a -lm -ldl  -lpthread 
> -lrt 
> > -luuid ../zlib/libz.a ../lz4/lib/liblz4.a -pthread 
> > (cd s && make bootstrap) 
> > make allx 
> > rm -f *.tarm32le xpatch patch *.patch *.so *.covin *.asm script.all 
> header.tmp 
> > *.html 
> > rm -rf nanopass 
> > cp -p -f ../boot/tarm32le/petite.boot ../boot/tarm32le/sbb 
> > cp -p -f ../boot/tarm32le/scheme.boot ../boot/tarm32le/scb 
> > make all 
> > echo '(reset-handler abort)'\ 
> >              '(base-exception-handler (lambda (c) (fresh-line) 
> > (display-condition c) (newline) (reset)))'\ 
> >              '(keyboard-interrupt-handler (lambda () (display 
> > "interrupted---aborting\n") (reset)))'\ 
> >              '(optimize-level 3)'\ 
> >              '(debug-level 0)'\ 
> >              '(commonization-level (commonization-level))'\ 
> >              '(compile-compressed #t)'\ 
> >              '(compress-format (compress-format))'\ 
> >              '(compress-level (compress-level))'\ 
> >              '(generate-inspector-information #f)'\ 
> >              '(subset-mode (quote system))'\ 
> >              '(compile-file "cmacros.ss" "cmacros.so")'\ 
> >              | ../bin/tarm32le/scheme -q 
> > Error: illegal instruction 
> > () 
> > make[10]: *** [Mf-base:375: cmacros.so] Error 1 
> > make[9]: *** [Mf-base:179: allx] Error 2 
> > make[8]: *** [Mf-base:196: bootstrap] Error 2 
> > make[7]: *** [Makefile:22: build] Error 2 
> > make[6]: *** [Makefile:20: build] Error 2 
> > make[6]: Leaving directory '/home/pi/gh/racket-7.8/src/ChezScheme' 
> > make[5]: *** [Makefile:158: scheme-make-finish] Error 2 
> > make[5]: Leaving directory '/home/pi/gh/racket-7.8/src/cs/c' 
> > make[4]: *** [Makefile:148: scheme-make-copy] Error 2 
> > make[4]: Leaving directory '/home/pi/gh/racket-7.8/src/cs/c' 
> > make[3]: *** [Makefile:137: scheme] Error 2 
> > make[3]: Leaving directory '/home/pi/gh/racket-7.8/src/cs/c' 
> > make[2]: *** [Makefile:60: cs] Error 2 
> > make[2]: Leaving directory '/home/pi/gh/racket-7.8/src/cs/c' 
> > make[1]: *** [Makefile:90: racketcs] Error 2 
> > make[1]: Leaving directory '/home/pi/gh/racket-7.8/src' 
> > make: *** [Makefile:53: all] Error 2 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Racket Users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to racket...@googlegroups.com <javascript:>. 
> > To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/racket-users/9b0c4921-2155-4f63-bb79-a6b9ea05
>  
> > 8ef6o%40googlegroups.com. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/eca60f12-db4b-4f79-ae2a-681a00898ba4o%40googlegroups.com.

Reply via email to