u0_a127 has joined #riscv
naoki has joined #riscv
<
dh`>
you need the fault address, then compare it to a disassembly of what was running
<
dh`>
looks like you first need to figure out what was running
vagrantc has quit [Quit: leaving]
<
unlord>
dh`: yeah, that is my first problem
<
unlord>
because I'm running emerge inside that chroot, it is doing all sorts of things
<
unlord>
unfortunately, it is not deterministic, as in if I run just that command it doesn't error again
<
dh`>
maybe strace it
<
unlord>
strace on the chroot command?
<
unlord>
or inside the vm?
<
dh`>
you could, or chroot 'strace emerge fail'
<
dh`>
but it will print tons of useless glop
<
unlord>
this is using binfmt_misc to use x86_64 /usr/bin/qemu-riscv64 on every binary
<
unlord>
I am trying to narrow this down but it has been really hard
Armand has quit [Ping timeout: 260 seconds]
<
dh`>
write a wrapper around /usr/bin/qemu-riscv64 to log its argumetns
<
unlord>
I've actually already done that :)
Armand has joined #riscv
<
unlord>
is there a way to pass arguments to qemu-riscv64 to tell it to write a log when it encounters an illegal instruction?
<
dh`>
> /var/tmp/portage/._portage_reinstall_.9v8uz7ol/bin/misc-functions.sh: line 82: 32824 Illegal instruction
<
dh`>
rude of it to execute from a temp area, which I'm sure it deletes on error so you can't inspect it afterward
<
dh`>
but, if you can get it to
_stop_ you can examine that file
<
unlord>
yeah, that stuff is all gone
<
unlord>
I think there is a FEATURE for this
eshep_ has quit [Ping timeout: 272 seconds]
fuwei has quit [Ping timeout: 264 seconds]
eshep has joined #riscv
heat has joined #riscv
<
sorear>
there's `-d in` but that logs legal instructions as well
<
sorear>
useful, but kind of verbose
heat has quit [Quit: Leaving]
u0_a127 has quit [Ping timeout: 264 seconds]
eshep has quit [Read error: Connection reset by peer]
u0_a127 has joined #riscv
eshep has joined #riscv
BootLayer has joined #riscv