Den ons 20 nov. 2019 kl 11:09 skrev Miod Vallat <m...@online.fr>:

> > > For some reason, clang assumes the stack is aligned on a 16 byte
> > > boundary, as for the first iteration v0 is computed as (v1 or 8),
> > > while further iterations use (v1 plus 8).
> >
> >
> > I guess it defaults to 16 for N64?
> > https://reviews.llvm.org/D35874
>
> Indeed. And the kernel makes sure to use 16 byte alignment, so there
> must be a bug creeping somewhere which causes a wrong offset to be
> applied...
>
>
Ah, so somewhere in the varargs it misses to take current alignment into
consideration?
That is worse of course.


> > Wonder if it would be worth testing a run with clang -mstack-alignment=8
> > just to confirm this?
>
> This ought to sweep the issue under the rug.
>

Lots of room under there. ;)

-- 
May the most significant bit of your life be positive.

Reply via email to