develooper Front page | perl.perl5.porters | Postings from January 2019

[perl #133495] perl-5.28.0 fails to build on Solaris 10

Thread Previous | Thread Next
From:
Fabian Groffen via RT
Date:
January 19, 2019 03:23
Subject:
[perl #133495] perl-5.28.0 fails to build on Solaris 10
Message ID:
rt-4.0.24-10796-1547632233-1875.133495-15-0@perl.org
On Mon, 10 Sep 2018 21:47:05 -0700, hako@affrc.go.jp wrote:
> I found a workaround:
> A build with CFLAGS+= -O2 -mcpu=ultrasparc3 -mtune=ultrasparc3 was OK.
> Optimization level -O3 causes the problem.

This didn't work for me (Sun Blade 100, UltraSPARC IIe 500MHz, Solaris 10, 32-bits target), so I tried with CFLAGS="-g pipe".  This did get me a working interpreter, so I added back -O2 to CFLAGS leaving in the -g in order to hopefully get a better pointer at where the alignment issue is happening.

> > Can you run that miniperl command (or possibly any small one-liner)
> > in
> > a debugger and give us a backtrace? That should give us much more
> > information on what's happening here.
> >
> > Leon

% env LD_LIBRARY_PATH=/gentoo/prefix32/var/tmp/portage/dev-lang/perl-5.28.0/work/perl-5.28.0 gdb --args ./miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>'
GNU gdb (Gentoo 8.2.1 p1) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.10".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./miniperl...done.
(gdb) r
Starting program: /gentoo/prefix32/var/tmp/portage/dev-lang/perl-5.28.0/work/perl-5.28.0/miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e \<\?\>
[Thread debugging using libthread_db enabled]
[New Thread 1 (LWP 1)]

Thread 2 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0x0004562c in zaphod32_hash_with_state (key_len=29, 
    key=0x26d036 "dist/Exporter/lib/Exporter.pm", state_ch=<optimized out>)
    at zaphod32_hash.h:280
280                 v1 -= U8TO32_LE(key+0);
(gdb) bt
#0  0x0004562c in zaphod32_hash_with_state (key_len=29, 
    key=0x26d036 "dist/Exporter/lib/Exporter.pm", state_ch=<optimized out>)
    at zaphod32_hash.h:280
#1  Perl_newGP (gv=<optimized out>) at gv.c:206
#2  0x00046b38 in Perl_gv_init_pvn (gv=0x27bc30, stash=0x27b5d0, 
    name=0x27fce2 "Debug", len=5, flags=2) at gv.c:421
#3  0x00047bc0 in Perl_gv_fetchpvn_flags (nambeg=0x27fcd8 "Exporter::Debug", 
    full_len=15, flags=2, sv_type=<optimized out>) at gv.c:2454
#4  0x0004a704 in Perl_gv_fetchsv (name=0x27bc20, flags=2, sv_type=SVt_PV)
    at gv.c:1588
#5  0x00060010 in S_pending_ident () at toke.c:9059
#6  Perl_yylex () at toke.c:4847
#7  0x00076414 in Perl_yyparse (gramtype=<optimized out>) at perly.c:340
#8  0x00118d14 in S_doeval_compile (gimme=<optimized out>, 
    outside=<optimized out>, seq=<optimized out>, hh=0x0) at pp_ctl.c:3501
#9  0x0011ec90 in S_require_file (sv=<optimized out>) at pp_ctl.c:4321
#10 Perl_pp_require () at pp_ctl.c:4345
#11 0x000d2780 in Perl_runops_standard () at run.c:42
#12 0x0003a7dc in Perl_call_sv (sv=0x27bae0, flags=<optimized out>)
    at perl.c:3021
#13 0x0003dcbc in Perl_call_list (oldscope=2, paramList=0x266f48)
    at perl.c:5065
#14 0x00016de4 in S_process_special_blocks (floor=<optimized out>, 
    fullname=<optimized out>, cv=<optimized out>, gv=<optimized out>)
#15 0x000317e0 in Perl_newATTRSUB_x (floor=47, o=<optimized out>, 
    proto=<optimized out>, attrs=<optimized out>, block=<optimized out>, 
    o_is_gv=<optimized out>) at op.c:10269
#16 0x00035e40 in Perl_utilize (aver=<optimized out>, floor=47, 
    version=<optimized out>, idop=<optimized out>, arg=<optimized out>)
    at op.c:7484
#17 0x00077988 in Perl_yyparse (gramtype=<optimized out>) at perly.y:329
#18 0x00042930 in S_parse_body (xsinit=<optimized out>, env=<optimized out>)
    at perl.c:2509
#19 perl_parse (my_perl=<optimized out>, xsinit=<optimized out>, 
    argc=<optimized out>, argv=<optimized out>, env=<optimized out>)
    at perl.c:1803
#20 0x00012e38 in main (argc=<optimized out>, argv=<optimized out>, 
    env=<optimized out>) at miniperlmain.c:127

% gcc --version
gcc (Gentoo 8.2.0-r5 p1.6) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

% ld --version
GNU ld (Gentoo 2.29.1 p3) 2.29.1
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=133495

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