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