[gccsdk] Patching as/objasm to allow expressions with record layouts

John-Mark Bell jmb at netsurf-browser.org
Mon Oct 5 07:14:38 PDT 2009


On Mon, 2009-09-28 at 23:34 +0100, John Tytgat wrote:
> In message <bc19e7a150.belles at ivy.at.home>
>           Christopher Martin <belles at internode.on.net> wrote:
> 
> > There appears to have been a longstanding issue with the as/objasm
> > assembler included in GCC 3 and 4 for RISC OS. In short, many
> > expressions that included symbols defined in record layouts could not be
> > evaluated.
> 
> Much appreciated, thanks.  I've applied your patch and a test case:
> <URL:http://www.riscos.info/websvn/revision.php?repname=gccsdk&path=%2Ftrunk%2Fgcc4%2Friscos%2Fasasm%2F&rev=4144>.

Hm. There's something wrong here.

Firstly, tests_pass/record_basic.s fails.
The reference data for LDR r5, #|lbl1| + |lbl2| should be LDR r5,#9
Similarly for the preincrement in the subsequent test.

Secondly, tests_pass/register_based_map.s fails. All accesses to symbols
defined in the map become PC-relative, which is completely incorrect.


J.





More information about the gcc mailing list