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

Re: [MiNT] libgem16: vs_color



Hi,

On Monday 18 January 2010, Henk Robbers wrote:
> Helmut Karlowski wrote:
> > When I change the C-code to vdi_intin[1] = rgb[0], instead of *ptr++ =
> > ..., the pointer vdi_params.control is even, but something else gets
> > corrupted, which again leads to an odd pointer arriving at fvdi for the
> > rgb-array.
>
> I have done some annotation (see attachment) and I failed to see
> anything wrong.
> But it looks as if you have sent the good one, not the *ptr++ version.
>
> Side note:
> The stack frame size is long aligned, although at the
> least effective end. Oops.
> If you make VDI_CNTRLMAX even, all stack references will be
> long aligned. :-)

Is  VDI_PARAMS() some kind of an inline assembly macro, and what it does?

I've seen a bug (on ARM) where (JIT-generated) assembly code violated
the ABI stack alignment constraints which broke the assumption gcc
optimizations do based on the ABI standard requirements about stack
alignment on further function calls.  (gcc optimized alignment operation
on stack buffer away because it "knew" stack to be aligned)


	- Eero