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


Inspired by Andy Dougherty's Sun exercise, I've taken a crack at building parrot on an 
IBM RS/6000 running AIX 4.3 with VisualAge C 6.  Happily, it almost works.  Issues I 
found:

* xlc had the same problem with bit.ops as Sun's compiler. Luke Palmer's change fixes 
the compile error, and the matching segfault in bitwise test 7.
* Andy's patch to pmc2c.pl was also necessary.
* Vtable.pm had an extra comma in an initializer block on line 76.
* xlc seemingly has no facility for inlining assembly code, so I just commented out 
the __asm__ bits in ppc_sync_cache (jit/ppc/jit_emit.h) to let it compile; this is 
quite obviously wrong.
* -lpthreads is required in libs.  I just put it in my config/init/hints/local.pl.
* Some tests in io.t needed to include parrot/embed.h.

I've rolled up the important changes above into a patch against current CVS.

The one remaining test failure in 'make test' is op/number test 10, the second part of 
which computes mod(0.0,3.0).  The expected value is 0.0, but I see -0.0.  However, 
given the definition of mod(x,y)=x-y*floor(x/y), this case reduces to 0.0-0.0*0.0, 
which could justify -0.0.  Perhaps the test can be relaxed somehow to accomodate 
minus-zero semantics.

'make testj' still fails 863/942 subtests, including even basic_1 (noop).  I'm not 
sure how to debug this, as the debugger won't step inside the call to 
core(interpreter, pc) in interpreter.c.

--
Adam Thomason
thomason at xencor.com


-- attachment  1 ------------------------------------------------------
url: http://rt.perl.org/rt2/attach/65535/48862/c4cdfb/parrot-aix.patch

Attachment: parrot-aix.patch
Description: parrot-aix.patch

Reply via email to