Search
16:59:46
Krystof
akater: the rules on when updates to classes and instances happen are not necessarily intuitive
21:59:15
karlosz
i think im falling through from the regular section to the elsewhere section
21:59:36
karlosz
am i missing something ordo i need to tell the backend to put them in different places
21:59:52
stassats`
there's really no difference between them when they're assembled
22:00:38
karlosz
really? on the other backends something like safe-fdefn-fun where the error code is generated after the load
22:00:39
stassats`
you're missing a return or a tail call
22:01:06
karlosz
i get stuck on the break instruction emitted there
22:01:09
stassats`
karlosz: yeah, it doesn't really mean anything
22:01:45
stassats`
or maybe a wrong jump somewhere
22:02:00
stassats`
or a return into incorrect place
22:02:06
stassats`
gee, so many possibilities
22:02:29
karlosz
https://paste.gnome.org/pqfqowm3o
22:02:37
karlosz
well this is the vop generated for safe-fdefn in cold init
22:03:22
stassats`
that looks a bit weird
22:03:49
stassats`
why does it compare to NIL twice?
22:04:02
karlosz
oh, the firsrt branch was there for debgging, ignore it
22:04:17
karlosz
but yeah its supposed to be 2 lds and then the error code break instruction
22:04:23
karlosz
i dont want that to fall through right?
22:04:54
stassats`
it won't, but you sure LRA isn't nil?
22:05:54
karlosz
yes, i tested it. beq lra null doesnt branch but bne lra null odes
22:06:10
karlosz
but branching only works if the instruction is before the elsewhere section starts
22:06:17
stassats`
wel, show the whole function
22:07:07
karlosz
https://paste.gnome.org/pthqrz2v8
22:07:21
karlosz
the last ebreak is supposed to call %halt and lose so i know it got there
22:08:07
karlosz
and i know it gets to the point right before the elsewhere section begins
22:08:15
stassats`
you don't have gdb working?
22:08:56
karlosz
gdb doesnt work on riscv
22:09:49
stassats`
well, you're going to be really hamstrung without a debugger
22:10:28
stassats`
is that qemu? can't qemu singl-step?
22:10:59
karlosz
it is qemu, but i havent figured out how to attach gdb to userspace programs
22:17:26
stassats`
is your %halt normally working?
22:18:12
karlosz
i used it to see that it got through verify-arg-count
22:18:24
karlosz
which is weird because the same sort of error code deal is there too
22:19:13
karlosz
well i had to disable fake foreign to get it to lose but otherwise it works fine
22:21:03
karlosz
so i can get into ldb, but i guess by then i cant inspect anything
22:25:34
stassats`
what happens when you remove that BEQ?
22:30:12
stassats`
i would call that non-weird
22:30:32
stassats`
this is where disassembling it would be helpful
22:34:38
karlosz
okay, i think i can do that by just running it through objdump and searching for ebreaks with halt trap code