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

Re: [perl #118055] miniperl fails with SIGBUS on sparc(usethreads+use64bitint)

Thread Previous
From:
Nicholas Clark
Date:
July 22, 2013 09:24
Subject:
Re: [perl #118055] miniperl fails with SIGBUS on sparc(usethreads+use64bitint)
Message ID:
20130722092355.GJ3729@plum.flirble.org
On Sat, Jul 06, 2013 at 06:01:52PM -0700, Father Chrysostomos via RT wrote:
> On Mon Jun 24 18:16:21 2013, sprout wrote:

> > On Mon May 20 00:20:46 2013, nicholas wrote:
> > > struct pmop {
> > >     BASEOP
> > >     OP *	op_first;
> > >     OP *	op_last;
> > > #ifdef USE_ITHREADS
> > >     IV          op_pmoffset;
> > > #else
> > >     REGEXP *    op_pmregexp;            /* compiled expression */
> > > #endif
> > > 
> > > 
> > > But really, that "IV" should be something else. "STRLEN", I think, or
> > > even
> > > just size_t, because it's being used as an array index, and arrays
> > > can't
> > > be 64 bits large on a 32 bit system.
> > 
> > We usually use PADOFFSET for array indices, but whatever.
> > 
> > > 
> > > We can't change that for 5.18.x. But as well as the alignment thing,
> > > we
> > > should fix it for the future.
> > 
> > Any reason I shouldn't change the IV in blead and remove the workaround
> > from Perl_Slab_Alloc?
> 
> I have done that in commit 784e50c.

Thanks. PADOFFSET looks like a better idea than the other types I suggested.

Sorry for the delay in replying. Been away and too much going on. Trying to
get back on top of things.

Nicholas Clark

Thread Previous


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