summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorafresh1 <afresh1@openbsd.org>2017-10-29 22:34:55 +0000
committerafresh1 <afresh1@openbsd.org>2017-10-29 22:34:55 +0000
commitdcce7324b0ca07181011a80bbd5653770d4efd31 (patch)
treeb3230899be4d27a92f6bcbc093b079f0ef6db9e7
parentMore HISTORY and AUTHORS, in part from Jonathan de Boyne Pollard (diff)
downloadwireguard-openbsd-dcce7324b0ca07181011a80bbd5653770d4efd31.tar.xz
wireguard-openbsd-dcce7324b0ca07181011a80bbd5653770d4efd31.zip
Import perl-5.24.3
ok bluhm@
-rw-r--r--gnu/usr.bin/perl/dist/Time-HiRes/Changes69
-rw-r--r--gnu/usr.bin/perl/dist/Time-HiRes/typemap2
-rw-r--r--gnu/usr.bin/perl/hints/cygwin.sh2
-rw-r--r--gnu/usr.bin/perl/pod/perl5224delta.pod125
-rw-r--r--gnu/usr.bin/perl/pod/perl5242delta.pod120
-rw-r--r--gnu/usr.bin/perl/t/op/hexfp.t15
-rw-r--r--gnu/usr.bin/perl/t/op/lop.t28
-rw-r--r--gnu/usr.bin/perl/t/run/switchx.aux7
-rw-r--r--gnu/usr.bin/perl/t/run/switchx.t4
9 files changed, 364 insertions, 8 deletions
diff --git a/gnu/usr.bin/perl/dist/Time-HiRes/Changes b/gnu/usr.bin/perl/dist/Time-HiRes/Changes
index 9d097c585ee..c2ad5a53029 100644
--- a/gnu/usr.bin/perl/dist/Time-HiRes/Changes
+++ b/gnu/usr.bin/perl/dist/Time-HiRes/Changes
@@ -1,5 +1,74 @@
Revision history for the Perl extension Time::HiRes.
+1.9741 [2016-11-20]
+ - C++11 compatibility: blead a914236c
+ - El Capitan compatibility: blead 45bbc013
+ - use CLOCK_REALTIME for clock_nanosleep scan: blead 56ed632c
+ - include file consistency in scans: blead 605b4dbe
+ - use clockid_t consistently: blead 2979fdf3
+ - use hv_fetchs(): blead 07e4dd7a
+ - scan for clockid_t (needed for macos Sierra): blead 69d1f2c2
+ - darwin lacks clockid_t: blead d1e7b5aa
+ [rt.cpan.org #129789]
+ - provide template for tempfile: blead 91dca83e
+ - explicit cast for clockid_t in C++11: blead 1c566547
+ - upgrade to a newer ppport (3.35)
+
+1.9740 [2016-09-25]
+ - the ext3/ext2 filesystems do not have subsecond resolution,
+ therefore skip the t/utime.t test
+ [rt.cpan.org #116127]
+
+1.9739 [2016-06-28]
+ - the upcoming macOS 10.12 (Sierra, the operating system formerly
+ known as OS X, or Darwin) has implemented the clock_gettime()
+ and clock_getres() interfaces but not the clock_nanosleep()
+
+1.9738 [2016-06-26]
+ - fix the dates in the Changes, it's not July yet
+ [rt.cpan.org #115553]
+ - in cygwin, drop the utime.t expected timestamp resolution
+ - documented for utime that the actual timestamp resolution depends
+ on the operating system and the filesystem, just like for stat
+ - looks like in gnukfreebsd 10.1 neither futimens or utimensat work
+ even though they exist, skipping utime tests there for now
+ - demodernize the Test::More use in utime.t (no subtest) to
+ better support older Perl installations
+ - for all the tests, drop the Test::More 0.82 requirement,
+ the only "modern" thing used is the note routine which
+ can be replaced with print("# ...\n") (or printf),
+ with this works back at least with Test::More 0.54 (perl 5.8.7)
+
+1.9737 [2016-06-22]
+ - utime in HiRes.xs had dXSARGS which was unnecessary, leading
+ to two markstack pops, panic, and two-minute wait for the watchdog
+ (thanks to Dave Mitchell for the eagle-eye)
+ - even though 5.10.x should have the Perl_ck_warner, many CPAN
+ smokes proved otherwise, so requiring now at least 5.12 for
+ Perl_ck_warner use in IS_SAFE_PATHNAME()
+
+1.9736 [2016-06-22]
+ - the IS_SAFE_PATHNAME() emulation was too modern for Perl 5.10
+ - make it so that only one value is set for -DTIME_HIRES_STAT
+ even on systems that support many options
+ - the 1.9734 (only released in blead, and as part of the development
+ release 5.25.2) fix for Darwin's clock_gettime was wrong under
+ threaded builds, leading into mutex panics in clock.t
+ - the d_hires_utime determination was made more precise
+ - the utime.t was failing in platforms where only one of
+ futimens/utimensat was present (neither or both was okay)
+
+1.9735 [2016-06-20]
+ - Time::HiRes should override `utime` to allow setting hires
+ (futimens and utimensat support)
+ [rt.perl.org #114809]
+ - the utime patch used IS_SAFE_PATHNAME() which isn't available in
+ too old Perls, so emulate (in case the Devel::PPPort is too old)
+
+1.9734 [2016-06-17]
+ - fix Darwins with clock_gettime: blead 2d41a263
+ [rt.perl.org #128427]
+
1.9733 [2016-04-23]
- C90 declaration-after-statement error with darwin threads: blead de1003b4
[rt.cpan.org #113856]
diff --git a/gnu/usr.bin/perl/dist/Time-HiRes/typemap b/gnu/usr.bin/perl/dist/Time-HiRes/typemap
index 1124eb64838..3fa91f3a0b3 100644
--- a/gnu/usr.bin/perl/dist/Time-HiRes/typemap
+++ b/gnu/usr.bin/perl/dist/Time-HiRes/typemap
@@ -28,6 +28,8 @@ AV * T_AVREF
HV * T_HVREF
CV * T_CVREF
+clockid_t T_IV
+
IV T_IV
UV T_UV
NV T_NV
diff --git a/gnu/usr.bin/perl/hints/cygwin.sh b/gnu/usr.bin/perl/hints/cygwin.sh
index 21997dba745..20e0e588210 100644
--- a/gnu/usr.bin/perl/hints/cygwin.sh
+++ b/gnu/usr.bin/perl/hints/cygwin.sh
@@ -31,7 +31,7 @@ test -z "$optimize" && optimize='-O3'
man3ext='3pm'
test -z "$use64bitint" && use64bitint='define'
test -z "$useithreads" && useithreads='define'
-ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__"
+ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE"
# - otherwise i686-cygwin
archname='cygwin'
diff --git a/gnu/usr.bin/perl/pod/perl5224delta.pod b/gnu/usr.bin/perl/pod/perl5224delta.pod
new file mode 100644
index 00000000000..a00193daf2e
--- /dev/null
+++ b/gnu/usr.bin/perl/pod/perl5224delta.pod
@@ -0,0 +1,125 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5224delta - what is new for perl v5.22.4
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.22.3 release and the 5.22.4
+release.
+
+If you are upgrading from an earlier release such as 5.22.2, first read
+L<perl5223delta>, which describes differences between 5.22.2 and 5.22.3.
+
+=head1 Security
+
+=head2 Improved handling of '.' in @INC in base.pm
+
+The handling of (the removal of) C<'.'> in C<@INC> in L<base> has been
+improved. This resolves some problematic behaviour in the approach taken in
+Perl 5.22.3, which is probably best described in the following two threads on
+the Perl 5 Porters mailing list:
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg238991.html>,
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240297.html>.
+
+=head2 "Escaped" colons and relative paths in PATH
+
+On Unix systems, Perl treats any relative paths in the PATH environment
+variable as tainted when starting a new process. Previously, it was allowing a
+backslash to escape a colon (unlike the OS), consequently allowing relative
+paths to be considered safe if the PATH was set to something like C</\:.>. The
+check has been fixed to treat C<.> as tainted in that example.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<base> has been upgraded from version 2.22 to 2.22_01.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170114_22 to 5.20170715_22.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Fixed a crash with C<s///l> where it thought it was dealing with UTF-8 when it
+wasn't.
+L<[perl #129038]|https://rt.perl.org/Ticket/Display.html?id=129038>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.22.4 represents approximately 6 months of development since Perl 5.22.3
+and contains approximately 2,200 lines of changes across 52 files from 16
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 970 lines of changes to 18 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers. The following people are known to have contributed
+the improvements that became Perl 5.22.4:
+
+Aaron Crane, Abigail, Aristotle Pagaltzis, Chris 'BinGOs' Williams, David
+Mitchell, Eric Herman, Father Chrysostomos, James E Keenan, Karl Williamson,
+Lukas Mai, Renee Baecker, Ricardo Signes, Sawyer X, Stevan Little, Steve Hay,
+Tony Cook.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history. In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core. We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+https://rt.perl.org/ . There may also be information at
+http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release. Be sure to trim your bug down to a tiny but
+sufficient test case. Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send it
+to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who will be
+able to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently distributed on
+CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/gnu/usr.bin/perl/pod/perl5242delta.pod b/gnu/usr.bin/perl/pod/perl5242delta.pod
new file mode 100644
index 00000000000..5dd954c9d35
--- /dev/null
+++ b/gnu/usr.bin/perl/pod/perl5242delta.pod
@@ -0,0 +1,120 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5242delta - what is new for perl v5.24.2
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.24.1 release and the 5.24.2
+release.
+
+If you are upgrading from an earlier release such as 5.24.0, first read
+L<perl5241delta>, which describes differences between 5.24.0 and 5.24.1.
+
+=head1 Security
+
+=head2 Improved handling of '.' in @INC in base.pm
+
+The handling of (the removal of) C<'.'> in C<@INC> in L<base> has been
+improved. This resolves some problematic behaviour in the approach taken in
+Perl 5.24.1, which is probably best described in the following two threads on
+the Perl 5 Porters mailing list:
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg238991.html>,
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240297.html>.
+
+=head2 "Escaped" colons and relative paths in PATH
+
+On Unix systems, Perl treats any relative paths in the PATH environment
+variable as tainted when starting a new process. Previously, it was allowing a
+backslash to escape a colon (unlike the OS), consequently allowing relative
+paths to be considered safe if the PATH was set to something like C</\:.>. The
+check has been fixed to treat C<.> as tainted in that example.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<base> has been upgraded from version 2.23 to 2.23_01.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170114_24 to 5.20170715_24.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Fixed a crash with C<s///l> where it thought it was dealing with UTF-8 when it
+wasn't.
+L<[perl #129038]|https://rt.perl.org/Ticket/Display.html?id=129038>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.24.2 represents approximately 6 months of development since Perl 5.24.1
+and contains approximately 2,500 lines of changes across 53 files from 18
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 960 lines of changes to 17 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers. The following people are known to have contributed
+the improvements that became Perl 5.24.2:
+
+Aaron Crane, Abigail, Aristotle Pagaltzis, Chris 'BinGOs' Williams, Dan
+Collins, David Mitchell, Eric Herman, Father Chrysostomos, James E Keenan, Karl
+Williamson, Lukas Mai, Renee Baecker, Ricardo Signes, Sawyer X, Stevan Little,
+Steve Hay, Tony Cook, Yves Orton.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history. In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core. We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+L<https://rt.perl.org/> . There may also be information at
+L<http://www.perl.org/> , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release. Be sure to trim your bug down to a tiny but
+sufficient test case. Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications which make it
+inappropriate to send to a publicly archived mailing list, then see
+L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
+for details of how to report the issue.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/gnu/usr.bin/perl/t/op/hexfp.t b/gnu/usr.bin/perl/t/op/hexfp.t
index 4b2a96d051b..c4c08cc3f08 100644
--- a/gnu/usr.bin/perl/t/op/hexfp.t
+++ b/gnu/usr.bin/perl/t/op/hexfp.t
@@ -10,7 +10,7 @@ use strict;
use Config;
-plan(tests => 105);
+plan(tests => 109);
# Test hexfloat literals.
@@ -243,6 +243,19 @@ SKIP:
}
}
+# [perl #128919] limited exponent range in hex fp literal with long double
+SKIP: {
+ skip("non-80-bit-long-double", 4)
+ unless ($Config{uselongdouble} &&
+ ($Config{nvsize} == 16 || $Config{nvsize} == 12) &&
+ ($Config{longdblkind} == 3 ||
+ $Config{longdblkind} == 4));
+ is(0x1p-1074, 4.94065645841246544e-324);
+ is(0x1p-1075, 2.47032822920623272e-324, '[perl #128919]');
+ is(0x1p-1076, 1.23516411460311636e-324);
+ is(0x1p-16445, 3.6451995318824746e-4951);
+}
+
# sprintf %a/%A testing is done in sprintf2.t,
# trickier than necessary because of long doubles,
# and because looseness of the spec.
diff --git a/gnu/usr.bin/perl/t/op/lop.t b/gnu/usr.bin/perl/t/op/lop.t
index bc4eb85f7e9..fe1c4326c98 100644
--- a/gnu/usr.bin/perl/t/op/lop.t
+++ b/gnu/usr.bin/perl/t/op/lop.t
@@ -10,7 +10,7 @@ BEGIN {
require './test.pl';
}
-plan tests => 17;
+plan tests => 23;
for my $i (undef, 0 .. 2, "", "0 but true") {
my $true = 1;
@@ -56,3 +56,29 @@ is( $i, 10, 'negation precedence with &&' );
++$y;
$i = !$x && !$x && !$x && $y;
is( $i, 11, 'negation precedence with &&, multiple operands' );
+
+# [perl #127952]. This relates to OP_AND and OP_OR with a negated constant
+# on the lhs (either a negated bareword, or a negation of a do{} containing
+# a constant) and a negated non-foldable expression on the rhs. These cases
+# yielded 42 or "Bare" or "str" before the bug was fixed.
+{
+ $x = 42;
+
+ $i = !Bare || !$x;
+ is( $i, '', 'neg-bareword on lhs of || with non-foldable neg-true on rhs' );
+
+ $i = !Bare && !$x;
+ is( $i, '', 'neg-bareword on lhs of && with non-foldable neg-true on rhs' );
+
+ $i = do { !$x if !Bare };
+ is( $i, '', 'neg-bareword on rhs of modifier-if with non-foldable neg-true on lhs' );
+
+ $i = do { !$x unless !Bare };
+ is( $i, '', 'neg-bareword on rhs of modifier-unless with non-foldable neg-true on lhs' );
+
+ $i = !do { "str" } || !$x;
+ is( $i, '', 'neg-do-const on lhs of || with non-foldable neg-true on rhs' );
+
+ $i = !do { "str" } && !$x;
+ is( $i, '', 'neg-do-const on lhs of && with non-foldable neg-true on rhs' );
+}
diff --git a/gnu/usr.bin/perl/t/run/switchx.aux b/gnu/usr.bin/perl/t/run/switchx.aux
index b59df4a0ed8..106b2f79c6b 100644
--- a/gnu/usr.bin/perl/t/run/switchx.aux
+++ b/gnu/usr.bin/perl/t/run/switchx.aux
@@ -17,11 +17,12 @@ still not perl
#!/some/path/that/leads/to/perl -l
-print "1..7";
+print "1..8";
+print "ok 1 - Correct line number" if __LINE__ == 4;
if (-f 'run/switchx.aux') {
- print "ok 1 - Test file exists";
+ print "ok 2 - Test file exists";
}
-print "ok 2 - Test file utilized";
+print "ok 3 - Test file utilized";
# other tests are in switchx2.aux
__END__
diff --git a/gnu/usr.bin/perl/t/run/switchx.t b/gnu/usr.bin/perl/t/run/switchx.t
index bcea3d0ab6e..4e57d04497d 100644
--- a/gnu/usr.bin/perl/t/run/switchx.t
+++ b/gnu/usr.bin/perl/t/run/switchx.t
@@ -15,9 +15,9 @@ print runperl( switches => ['-x'],
# Test '-xdir'
print runperl( switches => ['-x./run'],
progfile => 'run/switchx2.aux',
- args => [ 3 ] );
+ args => [ 4 ] );
-curr_test(5);
+curr_test(6);
# Test the error message for not found
like(runperl(switches => ['-x'], progfile => 'run/switchx3.aux', stderr => 1),