"Leopold Toetsch" <[EMAIL PROTECTED]> wrote:
Jonathan Worthington wrote:

$ parrot -o breaks2.pbc breaks2.pir

$ parrot breaks2.pbc example.dll
directory_pack segment 'BYTECODE_EVAL_1' used size 158 but reported 160

Same answer as Jerry - works here on x86/linux.

Ugh. And if I build Parrot on my Linux box it doesn't show there. I've done some hunting and found something interesting. It seems to be something to do with alignment code. See packfile.c:1303.

   if (align && (cursor - self->pf->src) % align)
       cursor += align - (cursor - self->pf->src) % align;

When we reach this line:-
   cursor = 6584048
   self->pf->src = 8534776

Which doesn't look particularly good. It actually ends up adding bytes to something that's already aligned on a 4-byte boundary (and it ends up not being aligned).

Thoughts?

Jonathan

Reply via email to