Skip Menu |
Report information
Id: 123881
Status: rejected
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: knotwurk [at] gmail.com
Cc:
AdminCc:

Operating System: Linux
PatchStatus: (no value)
Severity: low
Type: core
Perl Version: 5.20.1
Fixed In: (no value)



Date: Thu, 19 Feb 2015 12:28:33 +0000
From: Brian Haslett <knotwurk [...] gmail.com>
Subject: compiler warnings when building perl 5.20.1 with glibc 2.20/gcc 4.9.1 (Hardened Gentoo)
To: perlbug [...] perl.org
Download (untitled) / with headers
text/plain 10.6k
This is a bug report for perl from knotwurk@gmail.com, generated with the help of perlbug 1.40 running under perl 5.20.1. ----------------------------------------------------------------- * QA Notice: Package triggers severe warnings which indicate that it * may exhibit random runtime failures. * gv.c:2291:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:605:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:864:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:1142:8: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:1170:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:1184:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:1196:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:1228:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:1253:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * mro.c:1267:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:430:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1405:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1452:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1456:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1486:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1525:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1750:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1750:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1750:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:1750:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2477:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2478:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2479:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2497:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2616:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2616:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2616:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2616:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * hv.c:2663:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * sv.c:4808:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * sv.c:6444:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * sv.c:9015:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] * sv.c:14437:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ----------------------------------------------------------------- --- Flags: category=core severity=low --- Site configuration information for perl 5.20.1: Configured by Gentoo at Thu Feb 19 05:49:32 GMT 2015. Summary of my perl5 (revision 5 version 20 subversion 1) configuration: Platform: osname=linux, osvers=3.18.4-grsec, archname=x86_64-linux uname='linux localhost 3.18.4-grsec #20 smp sun feb 15 08:02:45 gmt 2015 x86_64 intel(r) core(tm)2 duo cpu l7500 @ 1.60ghz genuineintel gnulinux ' config_args='-des -Duseshrplib -Darchname=x86_64-linux -Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-O0 -pipe -fstack-protector-strong -fno-delete-null-pointer-checks -fwrapv -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference -fisolate-erroneous-paths-attribute -finline-functions-called-once -finline-small-functions -fcombine-stack-adjustments -fcompare-elim -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion -Dldflags=-Wl,-O1 -Wl,--as-needed -Dprefix=/usr -Dinstallprefix=/usr -Dsiteprefix=/usr/local -Dvendorprefix=/usr -Dscriptdir=/usr/bin -Dprivlib=/usr/lib64/perl5/5.20.1 -Darchlib=/usr/lib64/perl5/5.20.1/x86_64-linux -Dsitelib=/usr/local/lib64/perl5/5.20.1 -Dsitearch=/usr/local/lib64/perl5/5.20.1/x86_64-linux -Dvendorlib=/usr/lib64/perl5/vendor_perl/5.20.1 -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.20.1/x86_64-linux -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dvendorman1dir=/usr/share/man/man1 -Dvendorman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm -Dlibperl=libperl.so.5.20.1 -Dlocincpth=/usr/include -Dglibpth=/lib64 /usr/lib64 -Duselargefiles -Dd_semctl_semun -Dcf_by=Gentoo -Dmyhostname=localhost -Dperladmin=root@localhost -Dinstallusrbinperl=n -Ud_csh -Uusenm -Di_ndbm -Di_gdbm -Di_db -DDEBUGGING=none -Dinc_version_list=5.20.0/x86_64-linux 5.20.0 -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dnoextensions=ODBM_File' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='x86_64-pc-linux-gnu-gcc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O0 -pipe -fstack-protector-strong -fno-delete-null-pointer-checks -fwrapv -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference -fisolate-erroneous-paths-attribute -finline-functions-called-once -finline-small-functions -fcombine-stack-adjustments -fcompare-elim -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion', cppflags='-fwrapv -fno-strict-aliasing -pipe' ccversion='', gccversion='4.9.1', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 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='x86_64-pc-linux-gnu-gcc', ldflags ='-Wl,-O1 -Wl,--as-needed' libpth=/usr/local/lib64 /lib64 /usr/lib64 /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/include-fixed /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.20.so, so=so, useshrplib=true, libperl=libperl.so.5.20.1 gnulibc_version='2.20' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O0 -pipe -fstack-protector-strong -fno-delete-null-pointer-checks -fwrapv -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference -fisolate-erroneous-paths-attribute -finline-functions-called-once -finline-small-functions -fcombine-stack-adjustments -fcompare-elim -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion -Wl,-O1 -Wl,--as-needed' Locally applied patches: gentoo/hints_hpux - Fix hpux hints gentoo/aix_soname - aix gcc detection and shared library soname support gentoo/EUMM-RUNPATH - https://bugs.gentoo.org/105054 cpan/ExtUtils-MakeMaker: drop $PORTAGE_TMPDIR from LD_RUN_PATH gentoo/config_over - Remove -rpath and append LDFLAGS to lddlflags gentoo/opensolaris_headers - [PATCH] Add headers for opensolaris gentoo/patchlevel - List packaged patches for perl-5.20.1-r4(#2) in patchlevel.h gentoo/cpanplus_definstalldirs - Configure CPANPLUS to use the site directories by default. gentoo/cleanup-paths - [PATCH] Cleanup PATH and shrpenv gentoo/enc2xs - Tweak enc2xs to follow symlinks and ignore missing @INC directories. gentoo/darwin-cc-ld - https://bugs.gentoo.org/297751 [PATCH] darwin: Use $CC to link gentoo/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN. gentoo/interix - [PATCH] Fix interix hints gentoo/create_libperl_soname - https://bugs.gentoo.org/286840 [PATCH] Set libperl soname gentoo/mod_paths - Add /etc/perl to @INC gentoo/EUMM_delete_packlist - gentoo/drop_fstack_protector - https://bugs.gentoo.org/348557 [PATCH] Don't force -fstack-protector on everyone gentoo/usr_local - [PATCH] Remove /usr/local paths gentoo/D-SHA-CFLAGS - https://bugs.gentoo.org/506818 [PATCH] Do not set custom CFLAGS in cpan/Digest-SHA debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable debian/regcomp-mips-optim - Downgrade the optimization of regcomp.c on mips and mipsel due to a gcc-4.9 bug debian/perldoc-less-R - Tell the 'less' pager to allow terminal escape sequences debian/makemaker-pasthru - Pass LD settings through to subdirectories fixes/net_smtp_docs - [rt.cpan.org #36038] Document the Net::SMTP 'Port' option fixes/memoize_storable_nstore - [rt.cpan.org #77790] Memoize::Storable: respect 'nstore' option not respected fixes/document_makemaker_ccflags - [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags} --- @INC for perl 5.20.1: /etc/perl /usr/local/lib64/perl5/5.20.1/x86_64-linux /usr/local/lib64/perl5/5.20.1 /usr/lib64/perl5/vendor_perl/5.20.1/x86_64-linux /usr/lib64/perl5/vendor_perl/5.20.1 /usr/local/lib64/perl5 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/5.20.1/x86_64-linux /usr/lib64/perl5/5.20.1 . --- Environment for perl 5.20.1: HOME=/root LANG=en_US.UTF-8 LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/sbin:/bin:/usr/sbin:/usr/bin PERL_BADLANG (unset) SHELL=/bin/bash
RT-Send-CC: perl5-porters [...] perl.org
On Thu Feb 19 04:28:53 2015, knotwurk@gmail.com wrote: Show quoted text
> This is a bug report for perl from knotwurk@gmail.com, > generated with the help of perlbug 1.40 running under perl 5.20.1. > > > ----------------------------------------------------------------- > * QA Notice: Package triggers severe warnings which indicate that it > * may exhibit random runtime failures. > * gv.c:2291:25: warning: dereferencing type-punned pointer will break > strict-aliasing rules [-Wstrict-aliasing] > * mro.c:605:17: warning: dereferencing type-punned pointer will break > strict-aliasing rules [-Wstrict-aliasing]
[snip] This bug report has not received any responses since it was filed in February of this year. I'm not surprised at that, given that the 'perl -V' information showed that (by my count) 62 different switches were passed to ./Configure. Original poster: Are you still experiencing this problem? If so, can you try to reproduce it with as few configuration options as possible so that we can try to isolate the problem? Note that we will also have to consider the possibility that this is caused by a Gentoo patch. Thank you very much. Show quoted text
> --- > Site configuration information for perl 5.20.1: > > Configured by Gentoo at Thu Feb 19 05:49:32 GMT 2015. > > Summary of my perl5 (revision 5 version 20 subversion 1) configuration: > > Platform: > osname=linux, osvers=3.18.4-grsec, archname=x86_64-linux > uname='linux localhost 3.18.4-grsec #20 smp sun feb 15 08:02:45 > gmt 2015 x86_64 intel(r) core(tm)2 duo cpu l7500 @ 1.60ghz > genuineintel gnulinux ' > config_args='-des -Duseshrplib -Darchname=x86_64-linux > -Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-O0 -pipe > -fstack-protector-strong -fno-delete-null-pointer-checks -fwrapv > -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference > -fisolate-erroneous-paths-attribute -finline-functions-called-once > -finline-small-functions -fcombine-stack-adjustments -fcompare-elim > -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 > -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion > -Dldflags=-Wl,-O1 -Wl,--as-needed -Dprefix=/usr -Dinstallprefix=/usr > -Dsiteprefix=/usr/local -Dvendorprefix=/usr -Dscriptdir=/usr/bin > -Dprivlib=/usr/lib64/perl5/5.20.1 > -Darchlib=/usr/lib64/perl5/5.20.1/x86_64-linux > -Dsitelib=/usr/local/lib64/perl5/5.20.1 > -Dsitearch=/usr/local/lib64/perl5/5.20.1/x86_64-linux > -Dvendorlib=/usr/lib64/perl5/vendor_perl/5.20.1 > -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.20.1/x86_64-linux > -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 > -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 > -Dvendorman1dir=/usr/share/man/man1 > -Dvendorman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm > -Dlibperl=libperl.so.5.20.1 -Dlocincpth=/usr/include -Dglibpth=/lib64 > /usr/lib64 -Duselargefiles -Dd_semctl_semun -Dcf_by=Gentoo > -Dmyhostname=localhost -Dperladmin=root@localhost > -Dinstallusrbinperl=n -Ud_csh -Uusenm -Di_ndbm -Di_gdbm -Di_db > -DDEBUGGING=none -Dinc_version_list=5.20.0/x86_64-linux 5.20.0 > -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dnoextensions=ODBM_File' > hint=recommended, useposix=true, d_sigaction=define > useithreads=undef, usemultiplicity=undef > use64bitint=define, use64bitall=define, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='x86_64-pc-linux-gnu-gcc', ccflags ='-fwrapv > -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64', > optimize='-O0 -pipe -fstack-protector-strong > -fno-delete-null-pointer-checks -fwrapv > -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference > -fisolate-erroneous-paths-attribute -finline-functions-called-once > -finline-small-functions -fcombine-stack-adjustments -fcompare-elim > -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 > -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion', > cppflags='-fwrapv -fno-strict-aliasing -pipe' > ccversion='', gccversion='4.9.1', gccosandvers='' > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 > 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='x86_64-pc-linux-gnu-gcc', ldflags ='-Wl,-O1 -Wl,--as-needed' > libpth=/usr/local/lib64 /lib64 /usr/lib64 > /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/include-fixed /usr/lib > /lib/../lib64 /usr/lib/../lib64 /lib > libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat > perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc > libc=libc-2.20.so, so=so, useshrplib=true, libperl=libperl.so.5.20.1 > gnulibc_version='2.20' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' > cccdlflags='-fPIC', lddlflags='-shared -O0 -pipe > -fstack-protector-strong -fno-delete-null-pointer-checks -fwrapv > -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference > -fisolate-erroneous-paths-attribute -finline-functions-called-once > -finline-small-functions -fcombine-stack-adjustments -fcompare-elim > -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 > -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion -Wl,-O1 > -Wl,--as-needed' > > Locally applied patches: > gentoo/hints_hpux - Fix hpux hints > gentoo/aix_soname - aix gcc detection and shared library soname support > gentoo/EUMM-RUNPATH - https://bugs.gentoo.org/105054 > cpan/ExtUtils-MakeMaker: drop $PORTAGE_TMPDIR from LD_RUN_PATH > gentoo/config_over - Remove -rpath and append LDFLAGS to lddlflags > gentoo/opensolaris_headers - [PATCH] Add headers for opensolaris > gentoo/patchlevel - List packaged patches for perl-5.20.1-r4(#2) > in patchlevel.h > gentoo/cpanplus_definstalldirs - Configure CPANPLUS to use the > site directories by default. > gentoo/cleanup-paths - [PATCH] Cleanup PATH and shrpenv > gentoo/enc2xs - Tweak enc2xs to follow symlinks and ignore missing > @INC directories. > gentoo/darwin-cc-ld - https://bugs.gentoo.org/297751 [PATCH] > darwin: Use $CC to link > gentoo/cpan_definstalldirs - Provide a sensible INSTALLDIRS > default for modules installed from CPAN. > gentoo/interix - [PATCH] Fix interix hints > gentoo/create_libperl_soname - https://bugs.gentoo.org/286840 > [PATCH] Set libperl soname > gentoo/mod_paths - Add /etc/perl to @INC > gentoo/EUMM_delete_packlist - > gentoo/drop_fstack_protector - https://bugs.gentoo.org/348557 > [PATCH] Don't force -fstack-protector on everyone > gentoo/usr_local - [PATCH] Remove /usr/local paths > gentoo/D-SHA-CFLAGS - https://bugs.gentoo.org/506818 [PATCH] Do > not set custom CFLAGS in cpan/Digest-SHA > debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with > nonexisting site dirs if a parent is writable > debian/regcomp-mips-optim - Downgrade the optimization of > regcomp.c on mips and mipsel due to a gcc-4.9 bug > debian/perldoc-less-R - Tell the 'less' pager to allow terminal > escape sequences > debian/makemaker-pasthru - Pass LD settings through to subdirectories > fixes/net_smtp_docs - [rt.cpan.org #36038] Document the Net::SMTP > 'Port' option > fixes/memoize_storable_nstore - [rt.cpan.org #77790] > Memoize::Storable: respect 'nstore' option not respected > fixes/document_makemaker_ccflags - [rt.cpan.org #68613] Document > that CCFLAGS should include $Config{ccflags} > > --- > @INC for perl 5.20.1: > /etc/perl > /usr/local/lib64/perl5/5.20.1/x86_64-linux > /usr/local/lib64/perl5/5.20.1 > /usr/lib64/perl5/vendor_perl/5.20.1/x86_64-linux > /usr/lib64/perl5/vendor_perl/5.20.1 > /usr/local/lib64/perl5 > /usr/lib64/perl5/vendor_perl > /usr/lib64/perl5/5.20.1/x86_64-linux > /usr/lib64/perl5/5.20.1 > . > > --- > Environment for perl 5.20.1: > HOME=/root > LANG=en_US.UTF-8 > LANGUAGE (unset) > LD_LIBRARY_PATH (unset) > LOGDIR (unset) > PATH=/sbin:/bin:/usr/sbin:/usr/bin > PERL_BADLANG (unset) > SHELL=/bin/bash
-- James E Keenan (jkeenan@cpan.org)
Date: Sat, 1 Aug 2015 20:53:12 -0400
To: James E Keenan via RT <perlbug-followup [...] perl.org>
From: Andy Dougherty <doughera [...] lafayette.edu>
CC: perl5-porters [...] perl.org
Subject: Re: [perl #123881] compiler warnings when building perl 5.20.1 with glibc 2.20/gcc 4.9.1 (Hardened Gentoo)
Download (untitled) / with headers
text/plain 1.5k
On Sat, Aug 01, 2015 at 05:37:10PM -0700, James E Keenan via RT wrote: Show quoted text
> On Thu Feb 19 04:28:53 2015, knotwurk@gmail.com wrote:
> > This is a bug report for perl from knotwurk@gmail.com, > > generated with the help of perlbug 1.40 running under perl 5.20.1. > > > > > > ----------------------------------------------------------------- > > * QA Notice: Package triggers severe warnings which indicate that it > > * may exhibit random runtime failures. > > * gv.c:2291:25: warning: dereferencing type-punned pointer will break > > strict-aliasing rules [-Wstrict-aliasing] > > * mro.c:605:17: warning: dereferencing type-punned pointer will break > > strict-aliasing rules [-Wstrict-aliasing]
> > [snip] > > This bug report has not received any responses since it was filed in February of this year. > > I'm not surprised at that, given that the 'perl -V' information showed that (by my count) 62 different switches were passed to ./Configure.
Perl should normally be compiled with -fno-strict-aliasing because (at least last time I looked) it does not always follow the strict aliasing rules. In this case, the original poster overrode perl's default, and compiled with -fstrict-aliasing and also with -Wstrict-aliasing, whereupon gcc reported a number of potential problem spots. While anyone is welcome anyone to look at the individual items and see if there are sensible changes to be made, the simplest solution is to not add the -fstrict-aliasing and -Wstrict-aliasing flags. Thanks, -- Andy Dougherty doughera@lafayette.edu
Date: Tue, 4 Aug 2015 16:16:11 +0000
From: Brian Haslett <knotwurk [...] gmail.com>
To: perlbug-followup [...] perl.org
Subject: Re: [perl #123881] compiler warnings when building perl 5.20.1 with glibc 2.20/gcc 4.9.1 (Hardened Gentoo)
Download (untitled) / with headers
text/plain 8.8k
Most of those are default -O2 options (that includes -fstrict-aliasing, btw); it's definitely an issue w/ strict-aliasing though. I took a stab at it once and this is what I ended up with (http://pastebin.com/A2PWVscN) . I'm pretty sure my patch is broken though, but just barely (which in of itself is quite a feat..); I think it's the HeUTF8/HeKUTF8 parts I screwed up. Anyway, if someone feels bold/crazy enough to tackle the issue, maybe they'll find it useful somehow. I imagine whatever solution you'd come up with would probably look a little more elegant. On 8/2/15, James E Keenan via RT <perlbug-followup@perl.org> wrote: Show quoted text
> On Thu Feb 19 04:28:53 2015, knotwurk@gmail.com wrote:
>> This is a bug report for perl from knotwurk@gmail.com, >> generated with the help of perlbug 1.40 running under perl 5.20.1. >> >> >> ----------------------------------------------------------------- >> * QA Notice: Package triggers severe warnings which indicate that it >> * may exhibit random runtime failures. >> * gv.c:2291:25: warning: dereferencing type-punned pointer will break >> strict-aliasing rules [-Wstrict-aliasing] >> * mro.c:605:17: warning: dereferencing type-punned pointer will break >> strict-aliasing rules [-Wstrict-aliasing]
> > [snip] > > This bug report has not received any responses since it was filed in > February of this year. > > I'm not surprised at that, given that the 'perl -V' information showed that > (by my count) 62 different switches were passed to ./Configure. > > Original poster: Are you still experiencing this problem? > > If so, can you try to reproduce it with as few configuration options as > possible so that we can try to isolate the problem? > > Note that we will also have to consider the possibility that this is caused > by a Gentoo patch. > > Thank you very much. > >
>> --- >> Site configuration information for perl 5.20.1: >> >> Configured by Gentoo at Thu Feb 19 05:49:32 GMT 2015. >> >> Summary of my perl5 (revision 5 version 20 subversion 1) configuration: >> >> Platform: >> osname=linux, osvers=3.18.4-grsec, archname=x86_64-linux >> uname='linux localhost 3.18.4-grsec #20 smp sun feb 15 08:02:45 >> gmt 2015 x86_64 intel(r) core(tm)2 duo cpu l7500 @ 1.60ghz >> genuineintel gnulinux ' >> config_args='-des -Duseshrplib -Darchname=x86_64-linux >> -Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-O0 -pipe >> -fstack-protector-strong -fno-delete-null-pointer-checks -fwrapv >> -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference >> -fisolate-erroneous-paths-attribute -finline-functions-called-once >> -finline-small-functions -fcombine-stack-adjustments -fcompare-elim >> -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 >> -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion >> -Dldflags=-Wl,-O1 -Wl,--as-needed -Dprefix=/usr -Dinstallprefix=/usr >> -Dsiteprefix=/usr/local -Dvendorprefix=/usr -Dscriptdir=/usr/bin >> -Dprivlib=/usr/lib64/perl5/5.20.1 >> -Darchlib=/usr/lib64/perl5/5.20.1/x86_64-linux >> -Dsitelib=/usr/local/lib64/perl5/5.20.1 >> -Dsitearch=/usr/local/lib64/perl5/5.20.1/x86_64-linux >> -Dvendorlib=/usr/lib64/perl5/vendor_perl/5.20.1 >> -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.20.1/x86_64-linux >> -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 >> -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 >> -Dvendorman1dir=/usr/share/man/man1 >> -Dvendorman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm >> -Dlibperl=libperl.so.5.20.1 -Dlocincpth=/usr/include -Dglibpth=/lib64 >> /usr/lib64 -Duselargefiles -Dd_semctl_semun -Dcf_by=Gentoo >> -Dmyhostname=localhost -Dperladmin=root@localhost >> -Dinstallusrbinperl=n -Ud_csh -Uusenm -Di_ndbm -Di_gdbm -Di_db >> -DDEBUGGING=none -Dinc_version_list=5.20.0/x86_64-linux 5.20.0 >> -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dnoextensions=ODBM_File' >> hint=recommended, useposix=true, d_sigaction=define >> useithreads=undef, usemultiplicity=undef >> use64bitint=define, use64bitall=define, uselongdouble=undef >> usemymalloc=n, bincompat5005=undef >> Compiler: >> cc='x86_64-pc-linux-gnu-gcc', ccflags ='-fwrapv >> -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64', >> optimize='-O0 -pipe -fstack-protector-strong >> -fno-delete-null-pointer-checks -fwrapv >> -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference >> -fisolate-erroneous-paths-attribute -finline-functions-called-once >> -finline-small-functions -fcombine-stack-adjustments -fcompare-elim >> -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 >> -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion', >> cppflags='-fwrapv -fno-strict-aliasing -pipe' >> ccversion='', gccversion='4.9.1', gccosandvers='' >> intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 >> 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='x86_64-pc-linux-gnu-gcc', ldflags ='-Wl,-O1 -Wl,--as-needed' >> libpth=/usr/local/lib64 /lib64 /usr/lib64 >> /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/include-fixed /usr/lib >> /lib/../lib64 /usr/lib/../lib64 /lib >> libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat >> perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc >> libc=libc-2.20.so, so=so, useshrplib=true, libperl=libperl.so.5.20.1 >> gnulibc_version='2.20' >> Dynamic Linking: >> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' >> cccdlflags='-fPIC', lddlflags='-shared -O0 -pipe >> -fstack-protector-strong -fno-delete-null-pointer-checks -fwrapv >> -fno-delete-null-pointer-checks -fisolate-erroneous-paths-dereference >> -fisolate-erroneous-paths-attribute -finline-functions-called-once >> -finline-small-functions -fcombine-stack-adjustments -fcompare-elim >> -fipa-profile -fipa-cp -fipa-pure-const -fschedule-insns2 >> -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion -Wl,-O1 >> -Wl,--as-needed' >> >> Locally applied patches: >> gentoo/hints_hpux - Fix hpux hints >> gentoo/aix_soname - aix gcc detection and shared library soname >> support >> gentoo/EUMM-RUNPATH - https://bugs.gentoo.org/105054 >> cpan/ExtUtils-MakeMaker: drop $PORTAGE_TMPDIR from LD_RUN_PATH >> gentoo/config_over - Remove -rpath and append LDFLAGS to lddlflags >> gentoo/opensolaris_headers - [PATCH] Add headers for opensolaris >> gentoo/patchlevel - List packaged patches for perl-5.20.1-r4(#2) >> in patchlevel.h >> gentoo/cpanplus_definstalldirs - Configure CPANPLUS to use the >> site directories by default. >> gentoo/cleanup-paths - [PATCH] Cleanup PATH and shrpenv >> gentoo/enc2xs - Tweak enc2xs to follow symlinks and ignore missing >> @INC directories. >> gentoo/darwin-cc-ld - https://bugs.gentoo.org/297751 [PATCH] >> darwin: Use $CC to link >> gentoo/cpan_definstalldirs - Provide a sensible INSTALLDIRS >> default for modules installed from CPAN. >> gentoo/interix - [PATCH] Fix interix hints >> gentoo/create_libperl_soname - https://bugs.gentoo.org/286840 >> [PATCH] Set libperl soname >> gentoo/mod_paths - Add /etc/perl to @INC >> gentoo/EUMM_delete_packlist - >> gentoo/drop_fstack_protector - https://bugs.gentoo.org/348557 >> [PATCH] Don't force -fstack-protector on everyone >> gentoo/usr_local - [PATCH] Remove /usr/local paths >> gentoo/D-SHA-CFLAGS - https://bugs.gentoo.org/506818 [PATCH] Do >> not set custom CFLAGS in cpan/Digest-SHA >> debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with >> nonexisting site dirs if a parent is writable >> debian/regcomp-mips-optim - Downgrade the optimization of >> regcomp.c on mips and mipsel due to a gcc-4.9 bug >> debian/perldoc-less-R - Tell the 'less' pager to allow terminal >> escape sequences >> debian/makemaker-pasthru - Pass LD settings through to subdirectories >> fixes/net_smtp_docs - [rt.cpan.org #36038] Document the Net::SMTP >> 'Port' option >> fixes/memoize_storable_nstore - [rt.cpan.org #77790] >> Memoize::Storable: respect 'nstore' option not respected >> fixes/document_makemaker_ccflags - [rt.cpan.org #68613] Document >> that CCFLAGS should include $Config{ccflags} >> >> --- >> @INC for perl 5.20.1: >> /etc/perl >> /usr/local/lib64/perl5/5.20.1/x86_64-linux >> /usr/local/lib64/perl5/5.20.1 >> /usr/lib64/perl5/vendor_perl/5.20.1/x86_64-linux >> /usr/lib64/perl5/vendor_perl/5.20.1 >> /usr/local/lib64/perl5 >> /usr/lib64/perl5/vendor_perl >> /usr/lib64/perl5/5.20.1/x86_64-linux >> /usr/lib64/perl5/5.20.1 >> . >> >> --- >> Environment for perl 5.20.1: >> HOME=/root >> LANG=en_US.UTF-8 >> LANGUAGE (unset) >> LD_LIBRARY_PATH (unset) >> LOGDIR (unset) >> PATH=/sbin:/bin:/usr/sbin:/usr/bin >> PERL_BADLANG (unset) >> SHELL=/bin/bash
> > > -- > James E Keenan (jkeenan@cpan.org) >
Date: Sat, 16 Dec 2017 08:06:31 +0000
To: perl5-porters [...] perl.org
Subject: Re: [perl #123881] compiler warnings when building perl 5.20.1 with glibc 2.20/gcc 4.9.1 (Hardened Gentoo)
From: Zefram <zefram [...] fysh.org>
Download (untitled) / with headers
text/plain 195b
There is no bug on the p5p side here. The problem noted arose purely from the overriding of the proper gcc options that Configure establishes by default. This ticket should be closed. -zefram


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org