unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: dsmich@roadrunner.com
To: "'guile-devel@gnu.org'" <guile-devel@gnu.org>
Subject: Cross compiled guile 3.0.2 "Illegal instruction" on 32bit arm.
Date: Wed, 01 Apr 2020 21:38:32 +0000	[thread overview]
Message-ID: <807211349eb4ad0e279a6a18a7b703749852722b@webmail> (raw)

[-- Attachment #1: Type: text/plain, Size: 1869 bytes --]

I'm attempting to use buildroot to cross compile guile 3.0.2 for 32bit
arm (rpi3).

Note that guile runs fine with the jit disabled by
GUILE_JIT_THRESHOLD=-1

When guile starts, I get an "Illegal instruction".

# GUILE_JIT_LOG=3 guile
jit: allocated code arena, 0x74f43000-0x74f83000
jit: mcode: 0x74f43000,+44
jit: mcode: 0x74f43030,+56
jit: mcode: 0x74f43070,+8
jit: vcode: start=0xa2261c,+6 entry=+0
jit: Instruction first seen at vcode 0xa2261c: instrument-entry
jit: Instruction at vcode 0xa2261c: instrument-entry
jit: Instruction first seen at vcode 0xa22624: assert-nargs-ee
jit: Instruction at vcode 0xa22624: assert-nargs-ee
jit: Instruction first seen at vcode 0xa22628: subr-call
jit: Instruction at vcode 0xa22628: subr-call
jit: Instruction first seen at vcode 0xa2262c: handle-interrupts
jit: Instruction at vcode 0xa2262c: handle-interrupts
jit: Instruction first seen at vcode 0xa22630: return-values
jit: Instruction at vcode 0xa22630: return-values
jit: mcode: 0x74f43080,+200
jit: created /tmp/perf-287.map
jit: entering mcode: 0x74f43080
Illegal instruction

I got cross-gdb working. Here is another run, with the disassembled
code

jit: mcode: 0x74edb080,+200
jit: created /tmp/perf-252.map
jit: entering mcode: 0x74edb080

Dump of assembler code from 0x74edb080 to 0x74edb148:
 0x74edb080: 0d 1a subs r5, r1, r0
 0x74edb082: 20 2d cmp r5, #32
 0x74edb084: 40 f0 35 80 bne.w 0x74edb0f2

 0x74edb088: 4e f2 28 65 movw r5, #58920 ; 0xe628
 0x74edb08c: c0 f2 cb 05 movt r5, #203 ; 0xcb
 0x74edb090: 65 60 str r5, [r4, #4]
 0x74edb092: d0 f8 10 c0 ldr.w r12, [r0, #16]
 0x74edb096: 81 68 ldr r1, [r0, #8]
 0x74edb098: 02 68 ldr r2, [r0, #0]
 0x74edb09a: 60 46 mov r0, r12
 0x74edb09c: 00 f0 48 e8 blx 0x74edb130 ;  0x74edb130: 00 4f ldr r7,
[pc, #0] ; (0x74edb134)
 0x74edb132: bf 46 mov pc, r7 ; pc

[-- Attachment #2: Type: text/html, Size: 13797 bytes --]

                 reply	other threads:[~2020-04-01 21:38 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=807211349eb4ad0e279a6a18a7b703749852722b@webmail \
    --to=dsmich@roadrunner.com \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).