Jarkko Hietaniemi <[EMAIL PROTECTED]> wrote:

> Freshly checked out parrot (as of Jul-28 8pm GMTish) when configured
> with "--floatval='long double'" runs into trouble in a x86 system (*):

> ...
> ./parrot config_lib.pasm
> If the next line prints 0.1.0-devel, it did help.
> ./parrot parrot-config.imc VERSION DEVEL
> parrot: src/platform.c:657: Parrot_memcpy_aligned_mmx_debug: Assertion
> `((unsigned long) d & 7) == 0' failed.

Yeah. Withoug having repeated that, I'd say the backtrace will show
register frame push (REG_PUSH in src/generic_register.c) as the culprit.

Due to the different layout of the pobj_t in struct Stack_Chunk the
->data pointer is getting unaligned. See also STACK_DATAP(chunk).

We'll need a padding for this case. Patches welcome.

leo

Reply via email to