Front page | perl.perl5.porters |
Postings from February 2015
TONYC TPF Grant 4 report #20
From:
Tony Cook
Date:
February 24, 2015 10:19
Subject:
TONYC TPF Grant 4 report #20
Message ID:
20150224101938.GB31058@mars.tony.develop-help.com
[Hours] [Activity]
2015/02/09 Monday
0.73 #123554 IRIX 64 test issue – review mail from jhi,
review code and reply
1.17 #123754 (security) review, debugging
0.37 #123752 comment
2.40 #123554 IRIX issue- review config.sh, debugging, produce a
patch, mail jhi
0.38 #123752 research and comment
0.23 #123751 review and comment
=====
5.28
2015/02/10 Tuesday
1.47 #123554 more follow-up, minor patch fix, push to blead
0.22 #123743 review
0.47 #123738 review, testing
1.58 #123638 (security)
0.55 #123739 review Tux's test code
=====
4.29
2015/02/11 Wednesday
0.33 #123786 review and comment
0.35 #123784 review, start gcc svn up
0.78 try to reproduce Win32 IPC-Cmd failures
0.12 #123784 start gcc 5.0 build
0.28 more IPC-Cmd debugging
1.85 #123784 install gcc and test, debug and produce a patch,
comment
0.62 khw's op/pack.t failures
0.77 #123790 reproduce, try to debug
=====
5.10
2015/02/12 Thursday
0.27 #123791 (security) comment with rejection
0.17 #123792 (security) comment with rejection
0.17 #123795 review and fix subject
0.33 #123784 review discussion and patch
0.95 #123784 test Errno_pm.PL patch, try to resolve h2ph issue
0.78 #123784 testing, comment with patch
2.50 look at khw's pack.t issues
=====
5.17
Which I calculate is 19.84 hours.
Approximately 14 tickets were reviewed or worked on.
One patch was applied to blead.
[perl #123784] shows perl's dependency on other system tools, in this
case there were two issues when using GCC 5.0.
First, with GCC 5.0, by default the pre-processor with generate #line
entries showing the origin of the definition of a macro that's been
replaced, so the pre-processor was producing output from:
"EDOM" [[ EDOM ]]
something like:
#line "errno.c", 1
"EDOM" [[
#line "somesystemheader", 100
33
#line "errno.c", 1
]]
instead of the expected:
"EDOM" [[ 33 ]]
which ext/Errno/ 's parser couldn't handle.
The other change was expressing compiler defined macros in hex instead
of decimal.
Older versions of GCC define integer constants in decimal:
# 4.7.2
$ echo __LONG_MAX__| gcc -E -P -
9223372036854775807L
while GCC 5.0 defines them in hex:
# 5.0
$ echo __LONG_MAX__| gcc -E -P -
0x7fffffffffffffffL
which the h2ph parser converted to code like:
unless (defined &__LONG_MAX__) { sub __LONG_MAX__() { &0x7fffffffffffffffL } }
because the preamble code generator didn't handle hex numbers. The
naive solution is to output:
unless (defined &__LONG_MAX__) { sub __LONG_MAX__() { 0x7fffffffffffffff } }
but this produces compile-time warnings when the pre-defined macros
include hex constants that don't fit in a UV. Since the end-developer
might not even be using these particular constants I changed them into
run-time warnings, so the code generated for large constants becomes:
unless (defined &__LONG_MAX__) { sub __LONG_MAX__() { hex('0x7fffffffffffffff') } }
-
TONYC TPF Grant 4 report #20
by Tony Cook