develooper Front page | perl.perl5.porters | Postings from June 2013

Re: [perl #118603] t/op/stash.t: 3 new test failures on Darwin/PPC

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
June 22, 2013 21:32
Subject:
Re: [perl #118603] t/op/stash.t: 3 new test failures on Darwin/PPC
Message ID:
20130622213230.GH3729@plum.flirble.org
On Sat, Jun 22, 2013 at 10:22:57PM +0100, Nicholas Clark wrote:
> On Sat, Jun 22, 2013 at 02:20:26PM -0700, Father Chrysostomos via RT wrote:
> > On Sat Jun 22 13:10:53 2013, nicholas wrote:
> 
> > > --- a/sv.h
> > > +++ b/sv.h
> > > @@ -531,7 +531,7 @@ struct xpvgv {
> > >      union _xnvu xnv_u;
> > >  };
> > >  
> > > -typedef U16 cv_flags_t;
> > > +typedef U32 cv_flags_t;
> > >  
> > >  #define _XPVCV_COMMON								\
> > >      HV *	xcv_stash;							\
> > 
> > Yes, that is it.
> 
> I've bisected on a big endian linux machine I have access to, and that's it.
> Running tests on a fix...

Try this:

commit 13d58115f07b12133a2df2821b893f0fc20065d9
Author: Nicholas Clark <nick@ccl4.org>
Date:   Sat Jun 22 14:25:26 2013 -0700

    Update B's size/offset for CvFLAGS to U32, following commit 51c78f1b91bbcd7a.
    
    B.xs contains a table of offsets and sizes for members of the various SV
    structures. This needs updating as 51c78f1b91bbcd7a changed CvFLAGS from
    U16 to U32. This ommision won't be noticed on little endian platforms, but on
    big endian platforms B::CV::CvFLAGS will return 0 instead of the true value.

diff --git a/ext/B/B.xs b/ext/B/B.xs
index fdeca72..fbe6be6 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -1328,7 +1328,7 @@ MODULE = B	PACKAGE = B::IV
 #define PVCV_file_ix	sv_char_pp | offsetof(struct xpvcv, xcv_file)
 #define PVCV_outside_ix	sv_SVp | offsetof(struct xpvcv, xcv_outside)
 #define PVCV_outside_seq_ix sv_U32p | offsetof(struct xpvcv, xcv_outside_seq)
-#define PVCV_flags_ix	sv_U16p | offsetof(struct xpvcv, xcv_flags)
+#define PVCV_flags_ix	sv_U32p | offsetof(struct xpvcv, xcv_flags)
 
 #define PVHV_max_ix	sv_STRLENp | offsetof(struct xpvhv, xhv_max)
 

Pushed as origin/smoke-me/nicholas/RT-118603


Nicholas Clark

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About