develooper Front page | perl.perl5.porters | Postings from April 2014

[perl #121505] Can't build perl with gcc4.9 due to UB in sv.c

From:
Tony Cook via RT
Date:
April 14, 2014 03:35
Subject:
[perl #121505] Can't build perl with gcc4.9 due to UB in sv.c
Message ID:
rt-4.0.18-3052-1397446551-1593.121505-15-0@perl.org
On Thu Apr 10 00:03:05 2014, shay wrote:
> On 10 April 2014 00:57, Tony Cook via RT <perlbug-followup@perl.org>
> wrote:
> > On Wed Apr 09 14:55:54 2014, tonyc wrote:
> >> I still need to produce an update for win32/makefile.mk.
> >
> > Though op/numconvert.t doesn't fail, nor does any other relevant
> > test, with 4.9.0 20140218.
> >
> > I don't really see a way to pick out a version in makefile.mk either,
> > the only real solution I see is to always add it.
> >
> 
> Add a new CCTYPE, as is done for different MSVC++ versions? GCC49 or
> GCC490 if you're using gcc-4.9.0 or higher?

Adding extra CCTYPE values means touching every place that looks at CCTYPE.

I tried to add GCCVERSION and then parse that using findstr, but it was unwieldly[1] and didn't work, since dmake treats the non-zero exit from findstr when it doesn't find the string as a build-time error.

I ended up adding a GCCWRAPV macro that can be overridden from the dmake command-line which enables -fwrapv by default.

This builds and tests ok with the gcc 4.7.3 included with the strawberry perl I have installed.

It builds perl successfully with a mingw gcc-4.9 snapshot, but I suspect testing would fail due to some strangeness in the built Errno.pm (the errno codes have l (lowercase L) suffixes.

For review/comment.

Tony

[1] findstr supports regexps - but the regexps don't support alternation


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



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