[parrot-tickets] [Parrot] #254: t/native_pbc/number.t: New failure on some platforms

Andy Dougherty doughera at lafayette.edu
Mon Feb 2 16:41:56 UTC 2009


On Mon, 2 Feb 2009, Reini Urban wrote:
 
> 2009/2/1 Parrot <parrot-tickets at lists.parrot.org>:
> > #254: t/native_pbc/number.t:  New failure on some platforms
> > ---------------------+------------------------------------------------------
> >  Reporter:  jkeenan  |       Owner:  rurban
> >     Type:  bug      |      Status:  assigned
> >  Priority:  normal   |   Milestone:
> > Component:  core     |     Version:
> >  Severity:  high     |    Keywords:
> >     Lang:           |       Patch:
> >  Platform:  darwin   |
> > ---------------------+------------------------------------------------------
> >


> I've found the root-cause for the x86-64 problem loading 32-bit pbc's.
> This is with any compiler, gcc, sunpro cc or intel ICC on 64-bit.
 
> The problem is the ALIGN_16 macro, but even with staring at it for hours,
> it doesn't make sense to my why it fails on 64bit and works on 32bit.

Huh?  What, specifically, do you mean by "it fails"?  I don't see how it 
could fail either, which means that there's probably something else going 
on.

It's been quite a while since I looked at that code, and I'm not sure I 
understand what you're trying to do here, but I'll take a couple of 
quick guesses.

I'll assume you're taking a packfile written with a 32-bit opcode_t and 
trying to read it on a system with a 64-bit opcode_t.  The writer code 
assumes you walk through the packfile with steps of sizeof(opcode_t), i.e. 
steps of 4.  The ALIGN_16 macro assumes that the two arguments passed to 
it differ by an integral multiple of sizeof(opcode_t).

When reading that packfile with a 64-bit opcode_t, that same macro assumes 
that the two arguments given differ by an integral multiple of 8.  Is that 
always true?  Do you now walk through that same packfile always in steps 
of 8?  That might be worth verifying before each call to ALIGN_16.

Sorry to be so vague; it's been years since I looked at the packfile 
stuff and I don't know specifically what's failing where.

-- 
    Andy Dougherty		doughera at lafayette.edu


More information about the parrot-dev mailing list