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

Re: [MiNT] libgem16: vs_color



Am 18.01.2010, 20:01 Uhr, schrieb Eero Tamminen <oak@helsinkinet.fi>:

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

It is a simple macro:


#define VDI_PARAMS(a,b,c,d,e) \
  VDIPB vdi_params;         \
  vdi_params.control = a;   \
  vdi_params.intin   = b;   \
  vdi_params.ptsin   = c;   \
  vdi_params.intout  = d;   \
  vdi_params.ptsout  = e;


I've seen a bug (on ARM) where (JIT-generated) assembly code violated

ARM is quite far away ...

the ABI stack alignment constraints which broke the assumption gcc

What is ABI stack alignment?

alignment on further function calls.  (gcc optimized alignment operation
on stack buffer away because it "knew" stack to be aligned)

I had a similar thought, so I added a char onto the stack, but of course this doesn't change anything.

It is all gcc here! I simply included the vs_color from gemlib into the XaAES-source, so there is no magic of any kind.

--
Helmut Karlowski