From 1ab862e8b3a5e5d73ebbde03ee9c963d3fd6a839 Mon Sep 17 00:00:00 2001 From: Ricardo Signes Date: Tue, 15 Apr 2014 19:09:40 -0400 Subject: [PATCH] perldelta: edit up through but not including Selected Bug Fixes --- Porting/perl5200delta.pod | 262 +++++++++++++++++----------------------------- 1 file changed, 94 insertions(+), 168 deletions(-) diff --git a/Porting/perl5200delta.pod b/Porting/perl5200delta.pod index 6c7212e..70c9235 100644 --- a/Porting/perl5200delta.pod +++ b/Porting/perl5200delta.pod @@ -1259,99 +1259,6 @@ invocations of F are no longer made. The build system now works correctly when compiling under GCC or Clang with link-time optimization enabled (the C<-flto> option). [perl #113022] -=back - -=head1 Testing - -XXX Any significant changes to the testing of a freshly built perl should be -listed here. Changes which create B files in F go here as do any -large changes to the testing harness (e.g. when parallel testing was added). -Changes to existing files in F aren't worth summarizing, although the bugs -that they represent may be covered elsewhere. - -[ List each test improvement as a =item entry ] - -=over 4 - -=item * - -The new prototype attribute syntax is tested by a new test script, -F. - -=item * - -The new test script F tests that C on the original of a -popen handle dupped to a standard handle no longer blocks internally on -C. - -=item * - -The new postfix dereference syntax is tested by a new test script, -F. - - -=item * - -The behaviour of C on very large strings is now tested in the new test -script F. - -=item * - -The test script F has been created to test that ss_dup() -handles all savestack items. - -=item * - -The new behaviour of B<-F> and B<-a> (see the L section) is -tested in the new test script F. - -=item * - -The test script F has been added to test that regular -expression matches on very large strings now succeed as expected. - -=item * - -A bug that was fixed in Perl 5.15.4 is now tested by the new test script -F. [perl #119097] - -=item * - -The new test scripts F and F test the new -index/value array slice and key/value hash slice syntax respectively. - -=item * - -Various cases of C, C, C and C triggering C are -now tested by the new test script F. - -=item * - -The new test script F tests the fix for [perl #85228] (see -L). - -=item * - -The latest copyright years in the top-level F file and the B -output are now tested as matching each other by the new test script -F - -=item * - -The new test script F tests that $! and $^E are now preserved -across signal handlers by the Win32 signal emulation code. - -=item * - -The test script F has been added to test the F -program on platforms where it is practical to do so. - -=item * - -Various tests in F are no longer skipped when the perl -F<.git> directory is outside the perl tree and pointed to by -C<$GIT_DIR>. [perl #120505] - =item * Distinct library basenames with C. @@ -1376,10 +1283,10 @@ on native builds if your toolchain's files have non-standard locations. The cross-compilation model has been renovated. There's several new options, and some backwards-incompatible changes: -We now build binaries for miniperl and generate_uudmap to be used on the host, rather than running -every miniperl call on the target; this means that, short of 'make test', -we no longer need access to the target system once Configure is done. -You can provide already-built binaries through the C and +We now build binaries for miniperl and generate_uudmap to be used on the host, +rather than running every miniperl call on the target; this means that, short +of 'make test', we no longer need access to the target system once Configure is +done. You can provide already-built binaries through the C and C options to Configure. Additionally, if targeting an EBCDIC platform from an ASCII host, @@ -1402,11 +1309,11 @@ For example, Android has its sh in /system/bin/sh, so if cross-compiling from a more normal Unixy system with sh in /bin/sh, "targetsh" would end up as /system/bin/sh, and "sh" as /bin/sh. -=item * +=back -The test suite no longer fails when the user's interactive shell maintains a -C<$PWD> environment variable, but the F used for running tests -doesn't. +=head1 Testing + +=over 4 =item * @@ -1416,21 +1323,23 @@ certain sorts of C programming errors, though at significant cost in running time. On suitable hardware, allowing parallel execution claws back a lot of that additional cost. [perl #121431] -=back +=item * -=head1 Platform Support +Various tests in F are no longer skipped when the perl +F<.git> directory is outside the perl tree and pointed to by +C<$GIT_DIR>. [perl #120505] -XXX Any changes to platform support should be listed in the sections below. +=item * -[ Within the sections, list each platform as a =item entry with specific -changes as paragraphs below it. ] +The test suite no longer fails when the user's interactive shell maintains a +C<$PWD> environment variable, but the F used for running tests +doesn't. -=head2 New Platforms +=back + +=head1 Platform Support -XXX List any platforms that this version of perl compiles on, that previous -versions did not. These will either be enabled by new files in the F -directories, or new subdirectories and F files at the top level of the -source tree. +=head2 New Platforms =over 4 @@ -1461,13 +1370,11 @@ should build now. The basic problems are the non-standard location for tools. =head2 Discontinued Platforms -XXX List any platforms that this version of perl no longer compiles on. - =over 4 =item C -Code related to supporting C has been removed. +Code related to supporting the C I/O system has been removed. Perl 5.004 added support to use the native API of C, AT&T's Safe/Fast I/O library. This code still built with v5.8.0, albeit with many regression @@ -1491,13 +1398,44 @@ It only runs on Data General's own hardware. =head2 Platform-Specific Notes -XXX List any changes for specific platforms. This could include configuration -and compilation changes or changes in portability/compatibility. However, -changes within modules for platforms should generally be listed in the -L section. +=over 4 + +=item Cygwin =over 4 +=item * + +recv() on a connected handle would populate the returned sender +address with whatever happened to be in the working buffer. recv() +now uses a workaround similar to the Win32 recv() wrapper and returns +an empty string when recvfrom(2) doesn't modify the supplied address +length. [perl #118843] + +=item * + +Fixed a build error in cygwin.c on Cygwin 1.7.28. + +Tests now handle the errors that occur when C isn't +running. + +=back + +=item GNU/Hurd + +The BSD compatibility library C is no longer required for builds. + +=item Linux + +The hints file now looks for C only if C itself is +also wanted. The former is never useful without the latter, and in some +circumstances, including it could actually prevent building. + +=item Mac OS + +The build system now honours an C setting supplied by the user running +F. + =item MidnightBSD C was removed from version 0.4-RELEASE of MidnightBSD and had been @@ -1514,29 +1452,29 @@ that this change will affect any platforms which are able to build v5.18.0. =item VMS +=over 4 + +=item * + The C feature to control the population of %ENV at perl start-up was broken in Perl 5.16.0 but has now been fixed. -=item Win32 +=item * -C and C on Win32 now set $! to ENOSPC and EDQUOT when -appropriate. [perl #119857] +Skip access checks on remotes in opendir(). [perl #121002] -=item WinCE +=back -Perl now builds again on WinCE, following locale-related breakage (WinCE has -non-existent locale support) introduced around 5.19.1. [perl #119443] +=item Win32 -The building of XS modules has largely been restored. Several still cannot -(yet) be built but it is now possible to build Perl on WinCE with only a couple -of further patches (to L and L), hopefully to be -incorporated soon. +=over 4 -=item GNU/Hurd +=item * -The BSD compatibility library C is no longer required for builds. +C and C on Win32 now set $! to ENOSPC and EDQUOT when +appropriate. [perl #119857] -=item Windows +=item * The BUILD_STATIC and ALL_STATIC makefile options for linking some or (nearly) all extensions statically (into perl519.dll, and into a separate @@ -1545,13 +1483,13 @@ perl-static.exe too) were broken for MinGW builds. This has now been fixed. The ALL_STATIC option has also been improved to include the Encode and Win32 extensions (for both VC++ and MinGW builds). -=item Windows +=item * The Windows MinGW/gcc build was broken in Perl 5.19.4 for some recent versions of gcc-4.8, including those from http://mingw-w64.sourceforge.net/ . This has now been fixed. [perl #120236] -=item Windows +=item * Support for building with Visual C++ 2013 has been added. There are currently two possible test failures (see L) which @@ -1559,57 +1497,45 @@ will hopefully be resolved soon. Experimental support for building with Intel C++ Compiler has been added. Only the nmake makefile (win32/Makefile) can be used. A "nmake test" will not pass -at this time due to "cpan/CGI/t/url.t". +at this time due to F. -=item Windows +=item * Experimental support for building with Intel C++ Compiler has been extended to cover the dmake makefile (win32/makefile.mk) as well. -=item WinCE - -Perl can now be built in one shot with no user intervention on WinCE by running -C. - -Support for building with EVC (Embedded Visual C++) 4 has been restored. Perl -can also be built using Smart Devices for Visual C++ 2005 or 2008. - -=item Cygwin - -recv() on a connected handle would populate the returned sender -address with whatever happened to be in the working buffer. recv() -now uses a workaround similar to the Win32 recv() wrapper and returns -an empty string when recvfrom(2) doesn't modify the supplied address -length. [perl #118843] +=item * -=item VMS +Killing a process tree with L and a negative signal, was broken +starting in 5.18.0. In this bug, C always returned 0 for a negative +signal even for valid PIDs, and no processes were terminated. This has been +fixed [perl #121230]. -Skip access checks on remotes in opendir(). [perl #121002] +=back -=item Cygwin +=item WinCE -Fixed a build error in cygwin.c on Cygwin 1.7.28. +=over 4 -Tests now handle the errors that occur when C isn't -running. +=item * -=item Linux +Perl now builds again on WinCE, following locale-related breakage (WinCE has +non-existent locale support) introduced around 5.19.1. [perl #119443] -The hints file now looks for C only if C itself is -also wanted. The former is never useful without the latter, and in some -circumstances, including it could actually prevent building. +The building of XS modules has largely been restored. Several still cannot +(yet) be built but it is now possible to build Perl on WinCE with only a couple +of further patches (to L and L), hopefully to be +incorporated soon. -=item Mac OS +=item * -The build system now honours an C setting supplied by the user running -F. +Perl can now be built in one shot with no user intervention on WinCE by running +C. -=item Win32 +Support for building with EVC (Embedded Visual C++) 4 has been restored. Perl +can also be built using Smart Devices for Visual C++ 2005 or 2008. -Killing a process tree with L and a negative signal, was broken -starting in 5.18.0. In this bug, C always returned 0 for a negative -signal even for valid PIDs, and no processes were terminated. This has been -fixed [perl #121230]. +=back =back -- 2.7.4