tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] cleanups (Incorrect function call code on ARMv6)


From: Daniel Glöckner
Subject: Re: [Tinycc-devel] cleanups (Incorrect function call code on ARMv6)
Date: Mon, 3 Oct 2016 14:57:16 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Mon, Oct 03, 2016 at 12:48:00PM +0200, grischka wrote:
> Ok, have seen it: crash in "make test".

So it's
        long long *p, v;
        p = &v;
        p[0]++;
that is miscompiled without the save_regs.

To load the upper half of p[0] 4 is added to the register that holds p.
But the register may not be modified because it is still used further
down on vtop to store the incremented value.

So actually we just have to save all entries on vtop that use the same
register as the topmost one. We could also use a fresh register for the
address of the upper half instead.

Best regards,

  Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]