Re: [Tack-devel] arm and powerpc assembly
Moved to https://github.com/davidgiven/ack
Brought to you by:
dtrg
|
From: David G. <dg...@co...> - 2013-05-10 11:13:36
|
David Given wrote:
[...]
> I'd also modified aelflod to generate non-386 ELF files, but George
> Koehler's patch was better than mine so I've replaced it with his. The
> linux386, linuxppc and linux68k platforms all now generate executables.
I've merged all this into trunk (except the stack offset changes in the
code generator). linux68k is enabled by default.
linuxppc is *not* enabled by default. It turns out that when compiling
the code generator table for PowerPC, ncgg repeatedly errors out with:
Previous rule impossible on empty stack
One of the rules that's causing this is as follows:
pat adf $1==INT32 /* Add single */
with FS FS
uses reusing %1, FREG
gen
fadds {FS, %a}, %2, %1
yields {FS, %a}
(The full file is here:
http://tack.hg.sourceforge.net/hgweb/tack/tack/file/4fe6836f55cb/mach/powerpc/ncg/table)
It would seem that back when I was doing all this, I managed to work
around the error by simply commenting out the code that makes the error
in ncgg!
I don't actually know what the error means. I assume it's something to
do with the contents of the fake stack. But I don't know why having the
fake stack be empty is a problem --- surely the code generator would
just coerce values onto it if needed?
I realise that the number of people who still know about this level of
detail is approximately nil, but... any suggestions?
--
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ 𝕻𝖍'𝖓𝖌𝖑𝖚𝖎 𝖒𝖌𝖑𝖜'𝖓𝖆𝖋𝖍 𝕮𝖙𝖍𝖚𝖑𝖍𝖚 𝕽'𝖑𝖞𝖊𝖍
𝖜𝖌𝖆𝖍'𝖓𝖆𝖌𝖑 𝖋𝖍𝖙𝖆𝖌𝖓.
│
|