On Nov 9, 2007, at 8:08 PM, James Keenan (via RT) wrote:

# New Ticket Created by  James Keenan
# Please include the string:  [perl #47313]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=47313 >


The description for Parrot configuration step class auto::va_ptr
states that its purpose is:  "Tests which kind of PARROT_VA_TO_VAPTR
to use."

Assuming that the test does not die, there are only two possible
results: 'ppc' and 'x86'.  Whichever result is achieved is assigned
both to the step's result and to Parrot::Configure object key
'va_ptr_type'.

When I run this on Linux, I get 'x86', as I would expect.  But when I
configure on my iBook, I *also* get 'x86':

     Test the type of va_ptr (this test is likely to
segfault)..............x86.

But I'm clearly running on the powerpc version of Darwin:

    Summary of my perl5 (revision 5 version 8 subversion 8)
configuration:
     Platform:
       osname=darwin, osvers=8.7.0, archname=darwin-2level
       uname='darwin macintosh.local 8.7.0 darwin kernel version
8.7.0: fri may 26
15:20:53 pdt 2006; root:xnu-792.6.76.obj~1release_ppc power macintosh
powerpc '
....

Even though I have no idea what a va_ptr is, I would still expect the
result of this step on my iBook to be 'ppc'.  Why isn't it?

Thank you very much.

kid51


It in no way refers to architecture actually. It refers to the calling convention on an architecture(dependent upon implementation). The x86 method is by pushing arguments onto the stack, and the ppc method is in registers. On amd64, parrot reports ppc, which is essentially correct. Calling it x86 and ppc is probably just because those are the two dominant architectures. They could be labeled differently.

Reply via email to