Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storable seg faults under perl 5.8.0 solaris, maximal 64bit #6028

Closed
p5pRT opened this issue Oct 22, 2002 · 10 comments
Closed

Storable seg faults under perl 5.8.0 solaris, maximal 64bit #6028

p5pRT opened this issue Oct 22, 2002 · 10 comments

Comments

@p5pRT
Copy link

p5pRT commented Oct 22, 2002

Migrated from rt.perl.org#18049 (status was 'resolved')

Searchable as RT18049$

@p5pRT
Copy link
Author

p5pRT commented Oct 22, 2002

From schatt@schatt.com

Created by schatt@schatt.com

This is a bug report for perl from schatt@​schatt.com,
generated with the help of perlbug 1.34 running under perl v5.8.0.

To​: perlbug@​perl.org
Subject​: Storable seg faults under perl 5.8.0 solaris, maximal 64bit
Reply-To​: schatt@​schatt.com
Message-Id​: <5.8.0_16777_1035265332@​potter>

This is a bug report for perl from schatt@​schatt.com,
generated with the help of perlbug 1.34 running under perl v5.8.0.

-----------------------------------------------------------------
schatt@​potter-752​: perl
use Storable;
Segmentation fault (core dumped)

Here is what appears to be the relevant portion of a truss of the above​:
open("/usr/local/lib/perl5/5.8.0/sun4-solaris-thread-multi/auto/Storable/Storable.so", O_RDONLY) = 4
fstat(4, 0xFFFFFFFF7FFFDBF0) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xFFFFFFFF7D900000
mmap(0x00000000, 1163264, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xFFFFFFFF7D400000
mmap(0xFFFFFFFF7D518000, 12600, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 98304) = 0xFFFFFFFF7D518000
munmap(0xFFFFFFFF7D41A000, 1040384) = 0
resolvepath("/usr/local/lib/perl5/5.8.0/sun4-solaris-thread-multi/auto/Storable/Storable.so", "/usr/local/lib/perl5/5.8.0/sun4-solaris-thread-multi/auto/Storable/Storable.so", 1023) = 78
memcntl(0xFFFFFFFF7D400000, 15632, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(4) = 0
munmap(0xFFFFFFFF7D900000, 8192) = 0
brk(0x100377C50) = 0
brk(0x10037BC50) = 0
  Incurred fault #6, FLTBOUNDS %pc = 0x100090E60
  siginfo​: SIGSEGV SEGV_MAPERR addr=0x0000000C
  Received signal #11, SIGSEGV [default]
  siginfo​: SIGSEGV SEGV_MAPERR addr=0x0000000C

From adb, the following from the core file might be off assistance​:
:​:regs
%g0 = 0x0000000000000000 %l0 = 0xffffffff7f603c00 ld.so.1`_rt_boot+0x20
%g1 = 0x0000000100090e5c Perl_sv_setiv %l1 = 0x000000007f603c00
%g2 = 0x0000000000001000 %l2 = 0x0000000100345f50
%g3 = 0x0000000000001000 %l3 = 0x000000010035a850
%g4 = 0x0000000000001004 %l4 = 0x0000000000080003
%g5 = 0x0000000000000000 %l5 = 0x0000000000080003
%g6 = 0x0000000000000000 %l6 = 0x00000000efffffff
%g7 = 0xffffffff7da00000 %l7 = 0x00000000effffc00
%o0 = 0x0000000000060000 %i0 = 0x000000010023fc60
%o1 = 0xffffffff7d519c38 %i1 = 0x0000000000000000
%o2 = 0x000000010036b0f0 %i2 = 0x000000010036b3a0
%o3 = 0xffffffff7d403e78 Storable.so`init_perinterp+0x150 %i3 = 0x000000000023fc00
%o4 = 0x0000000000000002 %i4 = 0x0000000100000000
%o5 = 0x0000000000000000 %i5 = 0x0000000000000001
%o6 = 0xffffffff7fffdac1 %i6 = 0xffffffff7fffdb71
%o7 = 0x0000000100270eb0 %i7 = 0xffffffff7d403e78 Storable.so`init_perinterp+0x150

%ccr = 0x44 xcc=nZvc icc=nZvc
  %y = 0x0000000000000000
  %pc = 0x0000000100090e60 Perl_sv_setiv+4
%npc = 0x0000000100090e64 Perl_sv_setiv+8
  %sp = 0xffffffff7fffdac1
  %fp = 0xffffffff7fffdb71

%asi = 0x82
%fprs = 0x05

:​:stack
Perl_sv_setiv+4(10023fc60, 0, 10036b3a0, 23fc00, 100000000, 1)
Storable.so`init_perinterp+0x150(0, 38, 0, 115908, 0, 100270eb0)
Storable.so`boot_Storable+0x7d4(570, 10023fc60, 10023fc60, ffffffff7d519638, 400, 8)
Perl_pp_entersub+0x710(80, 10023fc60, 0, 10036b100, 1, 0)
Perl_runops_standard+0x44(10023fc60, 0, 10008d400, 1003733d0, 100261ec0, 100083de8)
Perl_call_sv+0x5fc(100261ec0, 0, ffffffff7fffe798, 10023fc60, ffffffff7fffeb08, 100248344)
S_call_list_body+0x54(10023fc60, 10025c200, 100245c30, 100245c30, 100248344, 1002483c0)
Perl_call_list+0x14c(10025c2b0, 2, 10025c200, a, 8000, 10023fc60)
Perl_newATTRSUB+0x1578(10023fc60, 2, 10025c200, 42, 100240708, 0)
Perl_utilize+0x4c0(10023fc60, 0, 6b, 100243650, 100243650, 122800)
Perl_yyparse+0x108c(10023fc60, 296, 10025e340, 10025e0d0, 10025e0e2, 10022d956)
S_parse_body+0x1234(10023fc60, 0, 235c00, 100240fa0, 1, 0)
perl_parse+0x1c8(10023fc60, 100235c00, 2, ffffffff7ffff2f8, 0, 10023fc60)
main+0xe8(2, ffffffff7ffff2f8, 0, 23cc00, 10023cc00, 1)
_start+0x17c(0, 0, 0, 0, 0, 0)

:​:vars
f8 = 0
f50 = 1
f9 = 0
f51 = 32d178
f52 = 0
f53 = 0
fsr = 2600000420
f54 = 0
f55 = 0
f56 = 1
f57 = 272110
g0 = 0
f58 = 1
g1 = 100090e5c
f59 = 267c18
g2 = 1000
g3 = 1000
g4 = 1004
g5 = 0
g6 = 0
g7 = ffffffff7da00000
f60 = 0
f61 = 0
f62 = 1
f63 = 267888
fprs = 5
ccr = 44
i0 = 10023fc60
i1 = 0
i2 = 10036b3a0
i3 = 23fc00
i4 = 100000000
i5 = 1
i6 = ffffffff7fffdb71
.... = 0
i7 = ffffffff7d403e78
0 = 0
1 = 0
2 = 0
sp = ffffffff7fffdac1
fp = ffffffff7fffdb71
d10 = 0
9 = 0
d12 = 0
d14 = 0
d16 = 0
d18 = 10036a268
d20 = 0
d22 = 0
d24 = 0
d26 = 0
d28 = 100272110
l0 = ffffffff7f603c00
l1 = 7f603c00
npc = 100090e64
d30 = 100267c18
l2 = 100345f50
l3 = 10035a850
d32 = 0
l4 = 80003
l5 = 80003
d34 = 100267888
l6 = efffffff
l7 = effffc00
d36 = 100297718
_ = 0
d38 = 1002f30d8
b = 10022b168
d = 14ae0
e = 10001a0e0
d40 = 1002f3318
d42 = 0
d44 = 100300798
m = 7f454c46
d46 = 100283ec8
d48 = 100300798
t = 12b162
d50 = 10032d178
d52 = 0
d54 = 0
d56 = 100272110
d58 = 100267c18
hits = 0
o0 = 60000
o1 = ffffffff7d519c38
d60 = 0
o2 = 10036b0f0
o3 = ffffffff7d403e78
d62 = 100267888
o4 = 2
o5 = 0
o6 = ffffffff7fffdac1
o7 = 100270eb0
f10 = 0
f11 = 0
f12 = 0
f13 = 0
f14 = 0
f15 = 0
f16 = 0
f17 = 0
f18 = 1
f19 = 36a268
f20 = 0
f21 = 0
f22 = 0
f23 = 0
f24 = 0
f25 = 0
f26 = 0
thread = 0
f27 = 0
f28 = 1
d0 = 0
f29 = 272110
d2 = 0
d4 = 0
d6 = 0
f30 = 1
d8 = 0
f31 = 267c18
f32 = 0
f33 = 0
f34 = 1
f35 = 267888
f36 = 1
f37 = 297718
f38 = 1
f39 = 2f30d8
asi = 82
f40 = 1
f41 = 2f3318
f42 = 0
f43 = 0
f44 = 1
f45 = 300798
f46 = 1
f47 = 283ec8
pc = 100090e60
f0 = 0
f48 = 1
f1 = 0
f49 = 300798
f2 = 0
f3 = 0
f4 = 0
f5 = 0
f6 = 0
f7 = 0

Perl Info

Flags:
    category=core
    severity=high

Site configuration information for perl v5.8.0:

Configured by schatt at Mon Oct 21 21:41:38 PDT 2002.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=solaris, osvers=2.9, archname=sun4-solaris-thread-multi
    uname='sunos potter 5.9 generic_112233-02 sun4u sparc sunw,ultra-60 '
    config_args=''
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='/opt/SUNWspro/bin/cc', ccflags ='-xarch=v9 -D_REENTRANT -I/usr/local/include -xarch=v9  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O',
    cppflags='-xarch=v9 -D_REENTRANT -I/usr/local/include'
    ccversion='', gccversion='', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='/opt/SUNWspro/bin/cc', ldflags ='-L/usr/local/lib/64 -L/usr/local/lib -xarch=v9 '
    libpth=/usr/local/lib/64 /usr/local/lib /usr/lib/64 /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -ldb -ldl -lm -lrt -lpthread -lc
    perllibs=-lsocket -lnsl -ldl -lm -lrt -lpthread -lc
    libc=/usr/lib/sparcv9/libc.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-KPIC', lddlflags=' -G -xarch=v9 -L/usr/local/lib/64 -L/usr/local/lib'

Locally applied patches:
    


@INC for perl v5.8.0:
    /usr/local/lib/perl5/5.8.0/sun4-solaris-thread-multi
    /usr/local/lib/perl5/5.8.0
    /usr/local/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi
    /usr/local/lib/perl5/site_perl/5.8.0
    /usr/local/lib/perl5/site_perl
    .


Environment for perl v5.8.0:
    HOME=/home/schatt
    LANG=C
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/ccs/bin:/usr/local/bin:/bin:/usr/sbin:/usr/openwin/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/ccs/sbin:/usr/ccs/bin:/usr/ucb:/etc:/home/schatt/bin:/export/raid1/oracle/orahome/bin:/opt/SUNWppro/bin:.
    PERL_BADLANG (unset)
    SHELL=/bin/tcsh

Flags:
    category=core
    severity=high

Site configuration information for perl v5.8.0:

Configured by schatt at Mon Oct 21 21:41:38 PDT 2002.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=solaris, osvers=2.9, archname=sun4-solaris-thread-multi
    uname='sunos potter 5.9 generic_112233-02 sun4u sparc sunw,ultra-60 '
    config_args=''
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='/opt/SUNWspro/bin/cc', ccflags ='-xarch=v9 -D_REENTRANT -I/usr/local/include -xarch=v9  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O',
    cppflags='-xarch=v9 -D_REENTRANT -I/usr/local/include'
    ccversion='', gccversion='', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='/opt/SUNWspro/bin/cc', ldflags ='-L/usr/local/lib/64 -L/usr/local/lib -xarch=v9 '
    libpth=/usr/local/lib/64 /usr/local/lib /usr/lib/64 /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -ldb -ldl -lm -lrt -lpthread -lc
    perllibs=-lsocket -lnsl -ldl -lm -lrt -lpthread -lc
    libc=/usr/lib/sparcv9/libc.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-KPIC', lddlflags=' -G -xarch=v9 -L/usr/local/lib/64 -L/usr/local/lib'

Locally applied patches:
    


@INC for perl v5.8.0:
    /usr/local/lib/perl5/5.8.0/sun4-solaris-thread-multi
    /usr/local/lib/perl5/5.8.0
    /usr/local/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi
    /usr/local/lib/perl5/site_perl/5.8.0
    /usr/local/lib/perl5/site_perl
    .


Environment for perl v5.8.0:
    HOME=/home/schatt
    LANG=C
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/ccs/bin:/usr/local/bin:/bin:/usr/sbin:/usr/openwin/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/ccs/sbin:/usr/ccs/bin:/usr/ucb:/etc:/home/schatt/bin:/export/raid1/oracle/orahome/bin:/opt/SUNWppro/bin:.
    PERL_BADLANG (unset)
    SHELL=/bin/tcsh

@p5pRT
Copy link
Author

p5pRT commented Jul 2, 2008

From @pjf

G'day Drew,

It's been a few years, but I'm helping clean out Perl 5 bug reports. ;)

On Tue Oct 22 00​:23​:17 2002, schatt@​schatt.com wrote​:

schatt@​potter-752​: perl
use Storable;
Segmentation fault (core dumped)

Perl 5.8.0 was known to have quite a few issues, and there's a good
chance there's one of them. I'm assuming that Storable is working fine
under 64-bit Solaris now. If it's not, please respond to this ticket
(which will re-open it), and we'll take a look.

Cheerio,

  Paul

--
Paul Fenwick <pjf@​perltraining.com.au> | http​://perltraining.com.au/
Director of Training | Ph​: +61 3 9354 6001
Perl Training Australia | Fax​: +61 3 9354 2681

@p5pRT
Copy link
Author

p5pRT commented Jul 2, 2008

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jul 2, 2008

@pjf - Status changed from 'open' to 'resolved'

@p5pRT
Copy link
Author

p5pRT commented Jul 5, 2008

From schatt@schatt.com

Under 5.10.0, Solaris, with 64 bit integers, ext Storable still fails
badly.
Let me know what other information I can include to help get this
resolved.

ext/Storable/t/attach_errors..................................FAILED--
expected 35 tests, saw 0
ext/Storable/t/attach_singleton...............................FAILED--
expected 11 tests, saw 0
ext/Storable/t/blessed........................................FAILED--
no leader found
ext/Storable/t/canonical......................................FAILED--
no leader found
ext/Storable/t/circular_hook..................................FAILED--
no leader found
ext/Storable/t/code...........................................FAILED--
expected 59 tests, saw 0
ext/Storable/t/compat01.......................................skipped
ext/Storable/t/compat06.......................................FAILED--
no leader found
ext/Storable/t/croak..........................................FAILED--
no leader found
ext/Storable/t/dclone.........................................FAILED--
no leader found
ext/Storable/t/downgrade......................................FAILED--
no leader found
ext/Storable/t/file_magic.....................................FAILED--
no leader found
ext/Storable/t/forgive........................................FAILED--
no leader found
ext/Storable/t/freeze.........................................FAILED--
no leader found
ext/Storable/t/integer........................................FAILED--
no leader found
ext/Storable/t/interwork56....................................FAILED--
no leader found
ext/Storable/t/just_plain_nasty...............................FAILED--
no leader found
ext/Storable/t/lock...........................................FAILED--
no leader found
ext/Storable/t/malice.........................................FAILED--
no leader found
ext/Storable/t/overload.......................................FAILED--
no leader found
ext/Storable/t/recurse........................................FAILED--
no leader found
ext/Storable/t/restrict.......................................FAILED--
no leader found
ext/Storable/t/retrieve.......................................FAILED--
no leader found
ext/Storable/t/sig_die........................................FAILED--
expected 1 tests, saw 0
ext/Storable/t/store..........................................FAILED--
no leader found
ext/Storable/t/threads........................................FAILED--
no leader found
ext/Storable/t/tied_hook......................................FAILED--
no leader found
ext/Storable/t/tied_items.....................................FAILED--
no leader found
ext/Storable/t/tied...........................................FAILED--
no leader found
ext/Storable/t/utf8hash.......................................FAILED--
no leader found
ext/Storable/t/utf8...........................................FAILED--
no leader found
ext/Storable/t/weak...........................................FAILED--
no leader found

On Jul 2, 2008, at 12​:39 AM, Paul Fenwick via RT wrote​:

According to our records, your request regarding
"Storable seg faults under perl 5.8.0 solaris, maximal 64bit"
has been resolved.

If you have any further questions or concerns, please respond to
this message.

For other topics, please create a new ticket.

Please don't feel obligated to say "Thanks" or "Kudos" or "I owe you
a beer" -- if you respond to this message it will reopen the ticket.
If you must, please send email directly to the person who handled
your ticket, and not to the tracking system.

<URL​: http​://rt.perl.org/rt3/Ticket/Display.html?id=18049 >

@p5pRT
Copy link
Author

p5pRT commented Jul 5, 2008

From p5p@perl.wizbit.be

Citeren Drew Schatt <schatt@​schatt.com>​:

Under 5.10.0, Solaris, with 64 bit integers, ext Storable still fails badly.
Let me know what other information I can include to help get this resolved.

Can you send the output of perl -V?
Was it compiled with -Duse64bitall or with -Duse64bitint?

On cpanteters I see the following reports of Solaris for Storable
(from 5.10.0)​:

http​://www.nntp.perl.org/group/perl.cpan.testers/2008/06/msg1668441.html :
use64bitint=undef, use64bitall=undef

http​://www.nntp.perl.org/group/perl.cpan.testers/2008/04/msg1296110.html :
use64bitint=define, use64bitall=undef

http​://www.nntp.perl.org/group/perl.cpan.testers/2007/11/msg811340.html
use64bitint=define, use64bitall=undef

And/or is it possible that you build perl-current (blead) to see if
there is an improvement there? (check perldoc perlhack)

Kind regards,

Bram

@p5pRT
Copy link
Author

p5pRT commented Jul 5, 2008

p5p@spam.wizbit.be - Status changed from 'resolved' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Apr 27, 2012

From @Hugmeir

On Sat Jul 05 12​:20​:00 2008, p5p@​perl.wizbit.be wrote​:

Citeren Drew Schatt <schatt@​schatt.com>​:

Under 5.10.0, Solaris, with 64 bit integers, ext Storable still
fails badly.
Let me know what other information I can include to help get this
resolved.

Can you send the output of perl -V?
Was it compiled with -Duse64bitall or with -Duse64bitint?

On cpanteters I see the following reports of Solaris for Storable
(from 5.10.0)​:

http​://www.nntp.perl.org/group/perl.cpan.testers/2008/06/msg1668441.html
:
use64bitint=undef, use64bitall=undef

http​://www.nntp.perl.org/group/perl.cpan.testers/2008/04/msg1296110.html
:
use64bitint=define, use64bitall=undef

http​://www.nntp.perl.org/group/perl.cpan.testers/2007/11/msg811340.html
use64bitint=define, use64bitall=undef

And/or is it possible that you build perl-current (blead) to see if
there is an improvement there? (check perldoc perlhack)

Kind regards,

Bram

Turns out that under sparc, use64bitint and use64bitall are implicitly
enabled, so that wasn't it.

But in any case, these failures appear to be gone in newer versions of
Perl, so I vote to close this.

@p5pRT
Copy link
Author

p5pRT commented Apr 27, 2012

@cpansprout - Status changed from 'open' to 'resolved'

@p5pRT p5pRT closed this as completed Apr 27, 2012
@p5pRT
Copy link
Author

p5pRT commented May 3, 2012

From @nwc10

On Fri, Apr 27, 2012 at 08​:45​:41AM -0700, Brian Fraser via RT wrote​:

Turns out that under sparc, use64bitint and use64bitall are implicitly
enabled, so that wasn't it.

But in any case, these failures appear to be gone in newer versions of
Perl, so I vote to close this.

Brian has now also built 5.10.0 on his Sparc Solaris machine, 64 bit, and
can't replicate it.

Looking at the original bug report​:

  Received signal #11, SIGSEGV [default]
  siginfo​: SIGSEGV SEGV_MAPERR addr=0x0000000C

and

  :​:stack
  Perl_sv_setiv+4(10023fc60, 0, 10036b3a0, 23fc00, 100000000, 1)
  Storable.so`init_perinterp+0x150(0, 38, 0, 115908, 0, 100270eb0)
  Storable.so`boot_Storable+0x7d4(570, 10023fc60, 10023fc60, ffffffff7d519638, 400, 8)

I think that it's attempting to read the SvFLAGS() on a NULL SV pointer​:

void
Perl_sv_setiv(pTHX_ register SV *sv, IV i)
{
  dVAR;
  SV_CHECK_THINKFIRST_COW_DROP(sv);
  switch (SvTYPE(sv)) {

which will be at offset 0xC on a machine with 64 bit addresses (and a 32 bit
U32 types. ie not-a-Cray)

Which "can't happen", as the calling code should have allocated a new SV
already, and be dereferencing it via SvRV().

Given that the build is optimised​:

  optimize='-O',

it's reminding me of problems we've had with another routine in sv.c which
Sun's (current) compiler doesn't like at -xO3.

So I'm not sure whether it's a subtle bug in the compiler's optimiser, or
a subtle bug in the perl source code. In that, the perl source code is
strictly written in "something not entirely unlike C", given that it
breaches the C standard's requirements on aliasing, accessing the same data
via cast and uncast pointers left right and centre.
(If the source *were* strictly conformant, we'd not be insisting that gcc
compile it with -fno-strict-aliasing)

But I think we have to close the bug as we know that current Sparc compilers
can build the 5.10.0 code 64 bit and pass tests.

Nicholas Clark

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant