Jürgen Bömmels (via RT) wrote:

# New Ticket Created by Jürgen Bömmels # Please include the string: [perl #20839]
# in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=20839 >


Hello,

imcc segfaults if you run
languages/imcc/imcc -a t/op/basic_12.pasm
The reason for this is a NULL FixupTable, which the appended Patch
checks.

Thanks for the patch. It will be included in my next commit.


Why on earth does imcc think I0 is an integer constant that needs
fixup and not a register.

<cite me>
[steve]> It will complain that it can't fixup the label '$I0'.

I can't imagine, how to get a correct CFG with these kind of register jump instructions. They are too low level, lacking any hint where they might jump to.

When we want these kind of branches, then they must be more high level, defining all possible branch targets, e.g. like a switch statement.

my 2¢
</cite>

jump Ix, bsr Ix, jsr Ix are/were unimplemented. I have now included a check for a register type label and skip the fixup for these.

So at least pasm code with register jumps does run now.


bye
boe.

Thanks for the patch,
leo

Reply via email to