# 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
parrot-aix.patch
Description: parrot-aix.patch