3.8.0 Release Preparations

Andy Dougherty doughera at lafayette.edu
Tue Sep 20 12:30:55 UTC 2011


On Tue, 20 Sep 2011, Kevin Polulak wrote:

> Alright, it is officially Tuesday (EST). That means NO MORE COMMITS TO
> MASTER! Nothing! Nada!
> 
> For the most part, we are passing all tests on several platforms using at
> least gcc, g++, or clang with the exception of OpenSolaris. I forgot I had
> that VM and decided to run a few tests at the last minute only to discover
> that t/dynoplibs/trans-infan.t, t/dynoplibs/trans-old.t, and
> t/dynpmc/select.t do not pass. There's nothing that can be done now though.
> I seriously doubt that there is even one Parrot-user running OpenSolaris
> anyway so fixing these tests post-3.8.0 is not a big deal.

Those failures look like gcc failures.  See TT #205.  Basically, it's a 
gcc issue.  At the end of that ticket, I give pointers back to the 
original RT ticket.  In the last entry in RT, I suggest a solution.  It 
would probably be useful to add a link to the track ticket to 
config/init/hints/solaris.pm.

One fix normally would be to build with Sun's cc, but you can't do that on 
OpenSolaris/x86 without this patch in src/call/context.c.  gcc apparently 
doesn't mind, but other C compilers may certainly object to returning a 
value from a void function. 

diff --git a/src/call/context.c b/src/call/context.c
index d5ec335..a7bc68e 100644
--- a/src/call/context.c
+++ b/src/call/context.c
@@ -421,7 +421,8 @@ allocate_registers(PARROT_INTERP, ARGIN(PMC *pmcctx), ARGIN(const UINTVAL *numbe
     /* ctx.bp_ps points to S0, which has Px on the left */
     ctx->bp_ps.regs_s = (STRING **)((char *)ctx->registers + size_nip);
 
-    return clear_regs(interp, ctx);
+    clear_regs(interp, ctx);
+    return;
 }

(On Solaris/SPARC, even with that patch, I got a bus alignment error in 
parrot-nqp.  I'll see if I can track it down further, but it'll be a bit 
more complicated because that system doesn't have /dev/urandom and hence 
crashes in miniparrot.)

The select.t failure is due to a bad test.  It happens to work on Linux.  

I hope that the context.c and select.t issues can be fixed before the 
release.  Not doing so only reinforces the notion that parrot is a 
gcc-only, Linux-only project.  The atan2 failure has been around for 
years; there's no real harm in letting it go another month.  The bus error 
is new since 3.7.0, but I don't know when or even if I'll be able to fix 
it.

-- 
    Andy Dougherty		doughera at lafayette.edu


More information about the parrot-dev mailing list