sync with OpenBSD -current
This commit is contained in:
parent
933c153850
commit
e16447203b
@ -1659,8 +1659,12 @@
|
||||
./usr/libdata/perl5/pod/perl5321delta.pod
|
||||
./usr/libdata/perl5/pod/perl5340delta.pod
|
||||
./usr/libdata/perl5/pod/perl5341delta.pod
|
||||
./usr/libdata/perl5/pod/perl5342delta.pod
|
||||
./usr/libdata/perl5/pod/perl5343delta.pod
|
||||
./usr/libdata/perl5/pod/perl5360delta.pod
|
||||
./usr/libdata/perl5/pod/perl5361delta.pod
|
||||
./usr/libdata/perl5/pod/perl5362delta.pod
|
||||
./usr/libdata/perl5/pod/perl5363delta.pod
|
||||
./usr/libdata/perl5/pod/perl561delta.pod
|
||||
./usr/libdata/perl5/pod/perl56delta.pod
|
||||
./usr/libdata/perl5/pod/perl581delta.pod
|
||||
|
@ -249,8 +249,12 @@
|
||||
./usr/share/man/man1/perl5321delta.1
|
||||
./usr/share/man/man1/perl5340delta.1
|
||||
./usr/share/man/man1/perl5341delta.1
|
||||
./usr/share/man/man1/perl5342delta.1
|
||||
./usr/share/man/man1/perl5343delta.1
|
||||
./usr/share/man/man1/perl5360delta.1
|
||||
./usr/share/man/man1/perl5361delta.1
|
||||
./usr/share/man/man1/perl5362delta.1
|
||||
./usr/share/man/man1/perl5363delta.1
|
||||
./usr/share/man/man1/perl561delta.1
|
||||
./usr/share/man/man1/perl56delta.1
|
||||
./usr/share/man/man1/perl581delta.1
|
||||
|
@ -35,8 +35,8 @@ api_subversion='0'
|
||||
api_version='36'
|
||||
api_versionstring='5.36.0'
|
||||
ar='ar'
|
||||
archlib='/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||
archlibexp='/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||
archlib='/usr/lib/perl5/5.36.3/armv4l-linux'
|
||||
archlibexp='/usr/lib/perl5/5.36.3/armv4l-linux'
|
||||
archname64=''
|
||||
archname='armv4l-linux'
|
||||
archobjs=''
|
||||
@ -55,7 +55,7 @@ castflags='0'
|
||||
cat='cat'
|
||||
cc='cc'
|
||||
cccdlflags='-fpic'
|
||||
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.36.1/armv4l-linux/CORE'
|
||||
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.36.3/armv4l-linux/CORE'
|
||||
ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
|
||||
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
|
||||
ccname='arm-linux-gcc'
|
||||
@ -831,7 +831,7 @@ inc_version_list=' '
|
||||
inc_version_list_init='0'
|
||||
incpath=''
|
||||
inews=''
|
||||
installarchlib='./install_me_here/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||
installarchlib='./install_me_here/usr/lib/perl5/5.36.3/armv4l-linux'
|
||||
installbin='./install_me_here/usr/bin'
|
||||
installhtml1dir=''
|
||||
installhtml3dir=''
|
||||
@ -839,13 +839,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
|
||||
installman3dir='./install_me_here/usr/share/man/man3'
|
||||
installprefix='./install_me_here/usr'
|
||||
installprefixexp='./install_me_here/usr'
|
||||
installprivlib='./install_me_here/usr/lib/perl5/5.36.1'
|
||||
installprivlib='./install_me_here/usr/lib/perl5/5.36.3'
|
||||
installscript='./install_me_here/usr/bin'
|
||||
installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
|
||||
installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.36.3/armv4l-linux'
|
||||
installsitebin='./install_me_here/usr/bin'
|
||||
installsitehtml1dir=''
|
||||
installsitehtml3dir=''
|
||||
installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.36.1'
|
||||
installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.36.3'
|
||||
installsiteman1dir='./install_me_here/usr/share/man/man1'
|
||||
installsiteman3dir='./install_me_here/usr/share/man/man3'
|
||||
installsitescript='./install_me_here/usr/bin'
|
||||
@ -980,8 +980,8 @@ pmake=''
|
||||
pr=''
|
||||
prefix='/usr'
|
||||
prefixexp='/usr'
|
||||
privlib='/usr/lib/perl5/5.36.1'
|
||||
privlibexp='/usr/lib/perl5/5.36.1'
|
||||
privlib='/usr/lib/perl5/5.36.3'
|
||||
privlibexp='/usr/lib/perl5/5.36.3'
|
||||
procselfexe='"/proc/self/exe"'
|
||||
prototype='define'
|
||||
ptrsize='4'
|
||||
@ -1046,17 +1046,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
||||
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
|
||||
sig_size='68'
|
||||
signal_t='void'
|
||||
sitearch='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
|
||||
sitearchexp='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
|
||||
sitearch='/usr/lib/perl5/site_perl/5.36.3/armv4l-linux'
|
||||
sitearchexp='/usr/lib/perl5/site_perl/5.36.3/armv4l-linux'
|
||||
sitebin='/usr/bin'
|
||||
sitebinexp='/usr/bin'
|
||||
sitehtml1dir=''
|
||||
sitehtml1direxp=''
|
||||
sitehtml3dir=''
|
||||
sitehtml3direxp=''
|
||||
sitelib='/usr/lib/perl5/site_perl/5.36.1'
|
||||
sitelib='/usr/lib/perl5/site_perl/5.36.3'
|
||||
sitelib_stem='/usr/lib/perl5/site_perl'
|
||||
sitelibexp='/usr/lib/perl5/site_perl/5.36.1'
|
||||
sitelibexp='/usr/lib/perl5/site_perl/5.36.3'
|
||||
siteman1dir='/usr/share/man/man1'
|
||||
siteman1direxp='/usr/share/man/man1'
|
||||
siteman3dir='/usr/share/man/man3'
|
||||
@ -1097,7 +1097,7 @@ stdio_stream_array=''
|
||||
strerror_r_proto='0'
|
||||
strings='/usr/include/string.h'
|
||||
submit=''
|
||||
subversion='1'
|
||||
subversion='3'
|
||||
sysman='/usr/share/man/man1'
|
||||
tail=''
|
||||
tar=''
|
||||
@ -1188,8 +1188,8 @@ vendorprefix=''
|
||||
vendorprefixexp=''
|
||||
vendorscript=''
|
||||
vendorscriptexp=''
|
||||
version='5.36.1'
|
||||
version_patchlevel_string='version 36 subversion 1'
|
||||
version='5.36.3'
|
||||
version_patchlevel_string='version 36 subversion 3'
|
||||
versiononly='undef'
|
||||
vi=''
|
||||
xlibpth='/usr/lib/386 /lib/386'
|
||||
@ -1204,7 +1204,7 @@ config_args=''
|
||||
config_argc=0
|
||||
PERL_REVISION=5
|
||||
PERL_VERSION=36
|
||||
PERL_SUBVERSION=1
|
||||
PERL_SUBVERSION=3
|
||||
PERL_API_REVISION=5
|
||||
PERL_API_VERSION=36
|
||||
PERL_API_SUBVERSION=0
|
||||
|
@ -35,8 +35,8 @@ api_subversion='0'
|
||||
api_version='36'
|
||||
api_versionstring='5.36.0'
|
||||
ar='ar'
|
||||
archlib='/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||
archlibexp='/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||
archlib='/usr/lib/perl5/5.36.3/armv4l-linux'
|
||||
archlibexp='/usr/lib/perl5/5.36.3/armv4l-linux'
|
||||
archname64=''
|
||||
archname='armv4l-linux'
|
||||
archobjs=''
|
||||
@ -54,7 +54,7 @@ castflags='0'
|
||||
cat='cat'
|
||||
cc='arm-none-linux-gnueabi-gcc'
|
||||
cccdlflags='-fpic'
|
||||
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.36.1/armv4l-linux/CORE'
|
||||
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.36.3/armv4l-linux/CORE'
|
||||
ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
|
||||
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
|
||||
ccname='arm-linux-gcc'
|
||||
@ -829,7 +829,7 @@ inc_version_list=' '
|
||||
inc_version_list_init='0'
|
||||
incpath=''
|
||||
inews=''
|
||||
installarchlib='./install_me_here/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||
installarchlib='./install_me_here/usr/lib/perl5/5.36.3/armv4l-linux'
|
||||
installbin='./install_me_here/usr/bin'
|
||||
installhtml1dir=''
|
||||
installhtml3dir=''
|
||||
@ -837,13 +837,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
|
||||
installman3dir='./install_me_here/usr/share/man/man3'
|
||||
installprefix='./install_me_here/usr'
|
||||
installprefixexp='./install_me_here/usr'
|
||||
installprivlib='./install_me_here/usr/lib/perl5/5.36.1'
|
||||
installprivlib='./install_me_here/usr/lib/perl5/5.36.3'
|
||||
installscript='./install_me_here/usr/bin'
|
||||
installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
|
||||
installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.36.3/armv4l-linux'
|
||||
installsitebin='./install_me_here/usr/bin'
|
||||
installsitehtml1dir=''
|
||||
installsitehtml3dir=''
|
||||
installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.36.1'
|
||||
installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.36.3'
|
||||
installsiteman1dir='./install_me_here/usr/share/man/man1'
|
||||
installsiteman3dir='./install_me_here/usr/share/man/man3'
|
||||
installsitescript='./install_me_here/usr/bin'
|
||||
@ -978,8 +978,8 @@ pmake=''
|
||||
pr=''
|
||||
prefix='/usr'
|
||||
prefixexp='/usr'
|
||||
privlib='/usr/lib/perl5/5.36.1'
|
||||
privlibexp='/usr/lib/perl5/5.36.1'
|
||||
privlib='/usr/lib/perl5/5.36.3'
|
||||
privlibexp='/usr/lib/perl5/5.36.3'
|
||||
procselfexe='"/proc/self/exe"'
|
||||
prototype='define'
|
||||
ptrsize='4'
|
||||
@ -1044,17 +1044,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
||||
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
|
||||
sig_size='68'
|
||||
signal_t='void'
|
||||
sitearch='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
|
||||
sitearchexp='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
|
||||
sitearch='/usr/lib/perl5/site_perl/5.36.3/armv4l-linux'
|
||||
sitearchexp='/usr/lib/perl5/site_perl/5.36.3/armv4l-linux'
|
||||
sitebin='/usr/bin'
|
||||
sitebinexp='/usr/bin'
|
||||
sitehtml1dir=''
|
||||
sitehtml1direxp=''
|
||||
sitehtml3dir=''
|
||||
sitehtml3direxp=''
|
||||
sitelib='/usr/lib/perl5/site_perl/5.36.1'
|
||||
sitelib='/usr/lib/perl5/site_perl/5.36.3'
|
||||
sitelib_stem='/usr/lib/perl5/site_perl'
|
||||
sitelibexp='/usr/lib/perl5/site_perl/5.36.1'
|
||||
sitelibexp='/usr/lib/perl5/site_perl/5.36.3'
|
||||
siteman1dir='/usr/share/man/man1'
|
||||
siteman1direxp='/usr/share/man/man1'
|
||||
siteman3dir='/usr/share/man/man3'
|
||||
@ -1095,7 +1095,7 @@ stdio_stream_array=''
|
||||
strerror_r_proto='0'
|
||||
strings='/usr/include/string.h'
|
||||
submit=''
|
||||
subversion='1'
|
||||
subversion='3'
|
||||
sysman='/usr/share/man/man1'
|
||||
tail=''
|
||||
tar=''
|
||||
@ -1186,8 +1186,8 @@ vendorprefix=''
|
||||
vendorprefixexp=''
|
||||
vendorscript=''
|
||||
vendorscriptexp=''
|
||||
version='5.36.1'
|
||||
version_patchlevel_string='version 36 subversion 1'
|
||||
version='5.36.3'
|
||||
version_patchlevel_string='version 36 subversion 3'
|
||||
versiononly='undef'
|
||||
vi=''
|
||||
xlibpth='/usr/lib/386 /lib/386'
|
||||
@ -1202,7 +1202,7 @@ config_args=''
|
||||
config_argc=0
|
||||
PERL_REVISION=5
|
||||
PERL_VERSION=36
|
||||
PERL_SUBVERSION=1
|
||||
PERL_SUBVERSION=3
|
||||
PERL_API_REVISION=5
|
||||
PERL_API_VERSION=36
|
||||
PERL_API_SUBVERSION=0
|
||||
|
@ -683,7 +683,7 @@ The directories set up by Configure fall into three broad categories.
|
||||
|
||||
=item Directories for the perl distribution
|
||||
|
||||
By default, Configure will use the following directories for 5.36.1.
|
||||
By default, Configure will use the following directories for 5.36.3.
|
||||
$version is the full perl version number, including subversion, e.g.
|
||||
5.12.3, and $archname is a string like sun4-sunos,
|
||||
determined by Configure. The full definitions of all Configure
|
||||
@ -2506,7 +2506,7 @@ L<https://www.chiark.greenend.org.uk/~sgtatham/bugs.html>
|
||||
|
||||
=head1 Coexistence with earlier versions of perl 5
|
||||
|
||||
Perl 5.36.1 is not binary compatible with versions of Perl earlier than.
|
||||
Perl 5.36.3 is not binary compatible with versions of Perl earlier than.
|
||||
5.36.0. In other words, you will have to recompile your XS modules.
|
||||
|
||||
In general, you can usually safely upgrade from one stable version of Perl
|
||||
@ -2581,9 +2581,9 @@ won't interfere with another version. (The defaults guarantee this for
|
||||
libraries after 5.6.0, but not for executables. TODO?) One convenient
|
||||
way to do this is by using a separate prefix for each version, such as
|
||||
|
||||
sh Configure -Dprefix=/opt/perl5.36.1
|
||||
sh Configure -Dprefix=/opt/perl5.36.3
|
||||
|
||||
and adding /opt/perl5.36.1/bin to the shell PATH variable. Such users
|
||||
and adding /opt/perl5.36.3/bin to the shell PATH variable. Such users
|
||||
may also wish to add a symbolic link /usr/local/bin/perl so that
|
||||
scripts can still start with #!/usr/local/bin/perl.
|
||||
|
||||
@ -2598,11 +2598,11 @@ yet.
|
||||
|
||||
=head2 Upgrading from 5.35.11 or earlier
|
||||
|
||||
B<Perl 5.36.1 may not be binary compatible with Perl 5.35.11 or
|
||||
B<Perl 5.36.3 may not be binary compatible with Perl 5.35.11 or
|
||||
earlier Perl releases.> Perl modules having binary parts
|
||||
(meaning that a C compiler is used) will have to be recompiled to be
|
||||
used with 5.36.1. If you find you do need to rebuild an extension with
|
||||
5.36.1, you may safely do so without disturbing the older
|
||||
used with 5.36.3. If you find you do need to rebuild an extension with
|
||||
5.36.3, you may safely do so without disturbing the older
|
||||
installations. (See L<"Coexistence with earlier versions of perl 5">
|
||||
above.)
|
||||
|
||||
@ -2635,15 +2635,15 @@ Firstly, the bare minimum to run this script
|
||||
print("$f\n");
|
||||
}
|
||||
|
||||
in Linux with perl-5.36.1 is as follows (under $Config{prefix}):
|
||||
in Linux with perl-5.36.3 is as follows (under $Config{prefix}):
|
||||
|
||||
./bin/perl
|
||||
./lib/perl5/5.36.1/strict.pm
|
||||
./lib/perl5/5.36.1/warnings.pm
|
||||
./lib/perl5/5.36.1/i686-linux/File/Glob.pm
|
||||
./lib/perl5/5.36.1/feature.pm
|
||||
./lib/perl5/5.36.1/XSLoader.pm
|
||||
./lib/perl5/5.36.1/i686-linux/auto/File/Glob/Glob.so
|
||||
./lib/perl5/5.36.3/strict.pm
|
||||
./lib/perl5/5.36.3/warnings.pm
|
||||
./lib/perl5/5.36.3/i686-linux/File/Glob.pm
|
||||
./lib/perl5/5.36.3/feature.pm
|
||||
./lib/perl5/5.36.3/XSLoader.pm
|
||||
./lib/perl5/5.36.3/i686-linux/auto/File/Glob/Glob.so
|
||||
|
||||
Secondly, for perl-5.10.1, the Debian perl-base package contains 591
|
||||
files, (of which 510 are for lib/unicore) totaling about 3.5MB in its
|
||||
|
@ -5879,7 +5879,11 @@ pod/perl5320delta.pod Perl changes in version 5.32.0
|
||||
pod/perl5321delta.pod Perl changes in version 5.32.1
|
||||
pod/perl5340delta.pod Perl changes in version 5.34.0
|
||||
pod/perl5341delta.pod Perl changes in version 5.34.1
|
||||
pod/perl5342delta.pod Perl changes in version 5.34.2
|
||||
pod/perl5343delta.pod Perl changes in version 5.34.3
|
||||
pod/perl5360delta.pod Perl changes in version 5.36.0
|
||||
pod/perl5361delta.pod Perl changes in version 5.36.1
|
||||
pod/perl5362delta.pod Perl changes in version 5.36.2
|
||||
pod/perl561delta.pod Perl changes in version 5.6.1
|
||||
pod/perl56delta.pod Perl changes in version 5.6
|
||||
pod/perl581delta.pod Perl changes in version 5.8.1
|
||||
|
@ -118,6 +118,6 @@
|
||||
"url" : "https://github.com/Perl/perl5"
|
||||
}
|
||||
},
|
||||
"version" : "5.036001",
|
||||
"version" : "5.036003",
|
||||
"x_serialization_backend" : "JSON::PP version 4.07"
|
||||
}
|
||||
|
@ -105,5 +105,5 @@ resources:
|
||||
homepage: https://www.perl.org/
|
||||
license: https://dev.perl.org/licenses/
|
||||
repository: https://github.com/Perl/perl5
|
||||
version: '5.036001'
|
||||
version: '5.036003'
|
||||
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
|
||||
|
@ -614,7 +614,7 @@ esac
|
||||
|
||||
$spitshell >>$Makefile <<'!NO!SUBS!'
|
||||
|
||||
perltoc_pod_prereqs = extra.pods pod/perl5361delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod
|
||||
perltoc_pod_prereqs = extra.pods pod/perl5363delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod
|
||||
generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
|
||||
generated_headers = uudmap.h bitcount.h mg_data.h
|
||||
|
||||
@ -1129,9 +1129,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
|
||||
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
|
||||
$(MINIPERL) pod/perlmodlib.PL -q
|
||||
|
||||
pod/perl5361delta.pod: pod/perldelta.pod
|
||||
$(RMS) pod/perl5361delta.pod
|
||||
$(LNS) perldelta.pod pod/perl5361delta.pod
|
||||
pod/perl5363delta.pod: pod/perldelta.pod
|
||||
$(RMS) pod/perl5363delta.pod
|
||||
$(LNS) perldelta.pod pod/perl5363delta.pod
|
||||
|
||||
extra.pods: $(MINIPERL_EXE)
|
||||
-@test ! -f extra.pods || rm -f `cat extra.pods`
|
||||
|
@ -86,8 +86,12 @@ _quick3p=
|
||||
perl5321delta 1 pod/perl5321delta.pod \
|
||||
perl5340delta 1 pod/perl5340delta.pod \
|
||||
perl5341delta 1 pod/perl5341delta.pod \
|
||||
perl5342delta 1 pod/perl5342delta.pod \
|
||||
perl5343delta 1 pod/perl5343delta.pod \
|
||||
perl5360delta 1 pod/perl5360delta.pod \
|
||||
perl5361delta 1 pod/perl5361delta.pod \
|
||||
perl5362delta 1 pod/perl5362delta.pod \
|
||||
perl5363delta 1 pod/perl5363delta.pod \
|
||||
perl561delta 1 pod/perl561delta.pod \
|
||||
perl56delta 1 pod/perl56delta.pod \
|
||||
perl581delta 1 pod/perl581delta.pod \
|
||||
|
@ -50,8 +50,8 @@ api_subversion='0'
|
||||
api_version='36'
|
||||
api_versionstring='5.36.0'
|
||||
ar='ar'
|
||||
archlib='/opt/perl/lib/5.36.1/x86_64-linux-thread-multi-ld'
|
||||
archlibexp='/opt/perl/lib/5.36.1/x86_64-linux-thread-multi-ld'
|
||||
archlib='/opt/perl/lib/5.36.3/x86_64-linux-thread-multi-ld'
|
||||
archlibexp='/opt/perl/lib/5.36.3/x86_64-linux-thread-multi-ld'
|
||||
archname64=''
|
||||
archname='x86_64-linux-thread-multi-ld'
|
||||
archobjs=''
|
||||
@ -860,7 +860,7 @@ incpath=''
|
||||
incpth='/usr/lib64/gcc/x86_64-suse-linux/10/include /usr/local/include /usr/lib64/gcc/x86_64-suse-linux/10/include-fixed /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/include /usr/include'
|
||||
inews=''
|
||||
initialinstalllocation='/opt/perl/bin'
|
||||
installarchlib='/opt/perl/lib/5.36.1/x86_64-linux-thread-multi-ld'
|
||||
installarchlib='/opt/perl/lib/5.36.3/x86_64-linux-thread-multi-ld'
|
||||
installbin='/opt/perl/bin'
|
||||
installhtml1dir=''
|
||||
installhtml3dir=''
|
||||
@ -868,13 +868,13 @@ installman1dir='/opt/perl/man/man1'
|
||||
installman3dir='/opt/perl/man/man3'
|
||||
installprefix='/opt/perl'
|
||||
installprefixexp='/opt/perl'
|
||||
installprivlib='/opt/perl/lib/5.36.1'
|
||||
installprivlib='/opt/perl/lib/5.36.3'
|
||||
installscript='/opt/perl/bin'
|
||||
installsitearch='/opt/perl/lib/site_perl/5.36.1/x86_64-linux-thread-multi-ld'
|
||||
installsitearch='/opt/perl/lib/site_perl/5.36.3/x86_64-linux-thread-multi-ld'
|
||||
installsitebin='/opt/perl/bin'
|
||||
installsitehtml1dir=''
|
||||
installsitehtml3dir=''
|
||||
installsitelib='/opt/perl/lib/site_perl/5.36.1'
|
||||
installsitelib='/opt/perl/lib/site_perl/5.36.3'
|
||||
installsiteman1dir='/opt/perl/man/man1'
|
||||
installsiteman3dir='/opt/perl/man/man3'
|
||||
installsitescript='/opt/perl/bin'
|
||||
@ -1000,7 +1000,7 @@ perl_static_inline='static __inline__'
|
||||
perl_thread_local=''
|
||||
perladmin='yourname@yourhost.yourplace.com'
|
||||
perllibs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc'
|
||||
perlpath='/opt/perl/bin/perl5.36.1'
|
||||
perlpath='/opt/perl/bin/perl5.36.3'
|
||||
pg='pg'
|
||||
phostname=''
|
||||
pidtype='pid_t'
|
||||
@ -1009,8 +1009,8 @@ pmake=''
|
||||
pr=''
|
||||
prefix='/opt/perl'
|
||||
prefixexp='/opt/perl'
|
||||
privlib='/opt/perl/lib/5.36.1'
|
||||
privlibexp='/opt/perl/lib/5.36.1'
|
||||
privlib='/opt/perl/lib/5.36.3'
|
||||
privlibexp='/opt/perl/lib/5.36.3'
|
||||
procselfexe='"/proc/self/exe"'
|
||||
ptrsize='8'
|
||||
quadkind='2'
|
||||
@ -1075,17 +1075,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
||||
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 0'
|
||||
sig_size='68'
|
||||
signal_t='void'
|
||||
sitearch='/opt/perl/lib/site_perl/5.36.1/x86_64-linux-thread-multi-ld'
|
||||
sitearchexp='/opt/perl/lib/site_perl/5.36.1/x86_64-linux-thread-multi-ld'
|
||||
sitearch='/opt/perl/lib/site_perl/5.36.3/x86_64-linux-thread-multi-ld'
|
||||
sitearchexp='/opt/perl/lib/site_perl/5.36.3/x86_64-linux-thread-multi-ld'
|
||||
sitebin='/opt/perl/bin'
|
||||
sitebinexp='/opt/perl/bin'
|
||||
sitehtml1dir=''
|
||||
sitehtml1direxp=''
|
||||
sitehtml3dir=''
|
||||
sitehtml3direxp=''
|
||||
sitelib='/opt/perl/lib/site_perl/5.36.1'
|
||||
sitelib='/opt/perl/lib/site_perl/5.36.3'
|
||||
sitelib_stem='/opt/perl/lib/site_perl'
|
||||
sitelibexp='/opt/perl/lib/site_perl/5.36.1'
|
||||
sitelibexp='/opt/perl/lib/site_perl/5.36.3'
|
||||
siteman1dir='/opt/perl/man/man1'
|
||||
siteman1direxp='/opt/perl/man/man1'
|
||||
siteman3dir='/opt/perl/man/man3'
|
||||
@ -1113,7 +1113,7 @@ st_dev_sign='1'
|
||||
st_dev_size='4'
|
||||
st_ino_sign='1'
|
||||
st_ino_size='8'
|
||||
startperl='#!/opt/perl/bin/perl5.36.1'
|
||||
startperl='#!/opt/perl/bin/perl5.36.3'
|
||||
startsh='#!/bin/sh'
|
||||
static_ext=' '
|
||||
stdchar='char'
|
||||
@ -1125,7 +1125,7 @@ stdio_ptr='((fp)->_ptr)'
|
||||
stdio_stream_array=''
|
||||
strerror_r_proto='REENTRANT_PROTO_B_IBW'
|
||||
submit=''
|
||||
subversion='1'
|
||||
subversion='3'
|
||||
sysman='/usr/share/man/man1'
|
||||
sysroot=''
|
||||
tail=''
|
||||
@ -1224,8 +1224,8 @@ vendorprefix=''
|
||||
vendorprefixexp=''
|
||||
vendorscript=''
|
||||
vendorscriptexp=''
|
||||
version='5.36.1'
|
||||
version_patchlevel_string='version 36 subversion 1'
|
||||
version='5.36.3'
|
||||
version_patchlevel_string='version 36 subversion 3'
|
||||
versiononly='define'
|
||||
vi=''
|
||||
xlibpth='/usr/lib/386 /lib/386'
|
||||
@ -1236,7 +1236,7 @@ zcat=''
|
||||
zip='zip'
|
||||
PERL_REVISION=5
|
||||
PERL_VERSION=36
|
||||
PERL_SUBVERSION=1
|
||||
PERL_SUBVERSION=3
|
||||
PERL_API_REVISION=5
|
||||
PERL_API_VERSION=36
|
||||
PERL_API_SUBVERSION=0
|
||||
|
@ -1239,8 +1239,8 @@
|
||||
* This symbol contains the ~name expanded version of ARCHLIB, to be used
|
||||
* in programs that are not prepared to deal with ~ expansion at run-time.
|
||||
*/
|
||||
#define ARCHLIB "/opt/perl/lib/5.36.1/x86_64-linux" /**/
|
||||
#define ARCHLIB_EXP "/opt/perl/lib/5.36.1/x86_64-linux" /**/
|
||||
#define ARCHLIB "/opt/perl/lib/5.36.3/x86_64-linux" /**/
|
||||
#define ARCHLIB_EXP "/opt/perl/lib/5.36.3/x86_64-linux" /**/
|
||||
|
||||
/* BIN:
|
||||
* This symbol holds the path of the bin directory where the package will
|
||||
@ -1293,8 +1293,8 @@
|
||||
* This symbol contains the ~name expanded version of PRIVLIB, to be used
|
||||
* in programs that are not prepared to deal with ~ expansion at run-time.
|
||||
*/
|
||||
#define PRIVLIB "/opt/perl/lib/5.36.1" /**/
|
||||
#define PRIVLIB_EXP "/opt/perl/lib/5.36.1" /**/
|
||||
#define PRIVLIB "/opt/perl/lib/5.36.3" /**/
|
||||
#define PRIVLIB_EXP "/opt/perl/lib/5.36.3" /**/
|
||||
|
||||
/* SITEARCH:
|
||||
* This symbol contains the name of the private library for this package.
|
||||
@ -1311,8 +1311,8 @@
|
||||
* This symbol contains the ~name expanded version of SITEARCH, to be used
|
||||
* in programs that are not prepared to deal with ~ expansion at run-time.
|
||||
*/
|
||||
#define SITEARCH "/opt/perl/lib/site_perl/5.36.1/x86_64-linux" /**/
|
||||
#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.36.1/x86_64-linux" /**/
|
||||
#define SITEARCH "/opt/perl/lib/site_perl/5.36.3/x86_64-linux" /**/
|
||||
#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.36.3/x86_64-linux" /**/
|
||||
|
||||
/* SITELIB:
|
||||
* This symbol contains the name of the private library for this package.
|
||||
@ -1334,8 +1334,8 @@
|
||||
* removed. The elements in inc_version_list (inc_version_list.U) can
|
||||
* be tacked onto this variable to generate a list of directories to search.
|
||||
*/
|
||||
#define SITELIB "/opt/perl/lib/site_perl/5.36.1" /**/
|
||||
#define SITELIB_EXP "/opt/perl/lib/site_perl/5.36.1" /**/
|
||||
#define SITELIB "/opt/perl/lib/site_perl/5.36.3" /**/
|
||||
#define SITELIB_EXP "/opt/perl/lib/site_perl/5.36.3" /**/
|
||||
#define SITELIB_STEM "/opt/perl/lib/site_perl" /**/
|
||||
|
||||
/* PERL_VENDORARCH:
|
||||
@ -4109,7 +4109,7 @@
|
||||
* script to make sure (one hopes) that it runs with perl and not
|
||||
* some shell.
|
||||
*/
|
||||
#define STARTPERL "#!/opt/perl/bin/perl5.36.1" /**/
|
||||
#define STARTPERL "#!/opt/perl/bin/perl5.36.3" /**/
|
||||
|
||||
/* HAS_STDIO_STREAM_ARRAY:
|
||||
* This symbol, if defined, tells that there is an array
|
||||
|
@ -118,6 +118,14 @@ L<Announced on 2022-05-27 by Ricardo Signes|https://www.nntp.perl.org/group/perl
|
||||
|
||||
I have nothing to say, and I am saying it.
|
||||
|
||||
=head2 v5.36.1 - Louis Kentner, "Piano"
|
||||
|
||||
L<Announced on 2023-04-23 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2023/04/msg266251.html>
|
||||
|
||||
Pianists can be divided into the following three categories: those who
|
||||
practice a lot and admit it; those who practice a lot but deny it; and
|
||||
those who do not practice and, therefore, are no pianists.
|
||||
|
||||
=head2 v5.36.1-RC3 - Karl Leimer & Walter Gieseking, trans. Frederick C. Rauser, "Rhythmics, Dynamics, Pedal and Other Problems of Piano Playing"
|
||||
|
||||
L<Announced on 2023-04-16 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2023/04/msg266232.html>
|
||||
|
@ -148,7 +148,7 @@ my $passthru_headers = qr/^= (?: over | item | back | cut )/xms;
|
||||
|
||||
# version used when generating diffs (acknowledgements, Module::CoreList etc)
|
||||
# 5.36.0 -> 5.34.0
|
||||
# 5.36.1 -> 5.36.0
|
||||
# 5.36.3 -> 5.36.0
|
||||
my ($major, $minor, $point) = split(/\./, $version);
|
||||
my $last_version = join('.', $major, ($point == 0 ? ($minor - 2, 0) : ($minor, $point-1)));
|
||||
|
||||
|
@ -403,7 +403,7 @@ died, add a short obituary here.
|
||||
|
||||
XXX Generate this with:
|
||||
|
||||
perl Porting/acknowledgements.pl v5.36.1..HEAD
|
||||
perl Porting/acknowledgements.pl v5.36.3..HEAD
|
||||
|
||||
=head1 Reporting Bugs
|
||||
|
||||
|
@ -14,7 +14,7 @@ deemed necessary by the Steering Council.
|
||||
=head2 Perl 5.36
|
||||
|
||||
2022-05-27 5.36.0 ✓ Ricardo Signes
|
||||
2022-04-23 5.36.1 Steve Hay
|
||||
2023-04-23 5.36.1 ✓ Steve Hay
|
||||
|
||||
=head2 Perl 5.34
|
||||
|
||||
|
@ -486,7 +486,7 @@ Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
|
||||
On these systems, it might be the default compilation mode, and there
|
||||
is currently no guarantee that passing no use64bitall option to the
|
||||
Configure process will build a 32bit perl. Implementing -Duse32bit*
|
||||
options would be nice for perl 5.36.1.
|
||||
options would be nice for perl 5.36.3.
|
||||
|
||||
=head2 Profile Perl - am I hot or not?
|
||||
|
||||
@ -1183,7 +1183,7 @@ L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-01/msg00339.html>
|
||||
=head1 Big projects
|
||||
|
||||
Tasks that will get your name mentioned in the description of the "Highlights
|
||||
of 5.36.1"
|
||||
of 5.36.3"
|
||||
|
||||
=head2 make ithreads more robust
|
||||
|
||||
|
@ -22,9 +22,9 @@ The build procedure is completely standard:
|
||||
Make perl executable and create a symlink for libperl:
|
||||
|
||||
chmod a+x /boot/common/bin/perl
|
||||
cd /boot/common/lib; ln -s perl5/5.36.1/BePC-haiku/CORE/libperl.so .
|
||||
cd /boot/common/lib; ln -s perl5/5.36.3/BePC-haiku/CORE/libperl.so .
|
||||
|
||||
Replace C<5.36.1> with your respective version of Perl.
|
||||
Replace C<5.36.3> with your respective version of Perl.
|
||||
|
||||
=head1 KNOWN PROBLEMS
|
||||
|
||||
|
@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X
|
||||
|
||||
This document briefly describes Perl under Mac OS X.
|
||||
|
||||
curl -O https://www.cpan.org/src/perl-5.36.1.tar.gz
|
||||
tar -xzf perl-5.36.1.tar.gz
|
||||
cd perl-5.36.1
|
||||
curl -O https://www.cpan.org/src/perl-5.36.3.tar.gz
|
||||
tar -xzf perl-5.36.3.tar.gz
|
||||
cd perl-5.36.3
|
||||
./Configure -des -Dprefix=/usr/local/
|
||||
make
|
||||
make test
|
||||
@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X.
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
The latest Perl release (5.36.1 as of this writing) builds without changes
|
||||
The latest Perl release (5.36.3 as of this writing) builds without changes
|
||||
under all versions of Mac OS X from 10.3 "Panther" onwards.
|
||||
|
||||
In order to build your own version of Perl you will need 'make',
|
||||
|
@ -619,7 +619,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see L</"C<PERLLIB_PREFIX>">.
|
||||
|
||||
=item Additional Perl modules
|
||||
|
||||
unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.36.1/
|
||||
unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.36.3/
|
||||
|
||||
Same remark as above applies. Additionally, if this directory is not
|
||||
one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you
|
||||
|
@ -137,11 +137,11 @@ You may need to set up a foreign symbol for the unpacking utility of
|
||||
choice. Once you have done so, use a command like the following to
|
||||
unpack the archive:
|
||||
|
||||
vmstar -xvf perl-5^.36^.1.tar
|
||||
vmstar -xvf perl-5^.36^.3.tar
|
||||
|
||||
Then set default to the top-level source directory like so:
|
||||
|
||||
set default [.perl-5^.36^.1]
|
||||
set default [.perl-5^.36^.3]
|
||||
|
||||
and proceed with configuration as described in the next section.
|
||||
|
||||
|
21
gnu/usr.bin/perl/dist/Module-CoreList/Changes
vendored
21
gnu/usr.bin/perl/dist/Module-CoreList/Changes
vendored
@ -1,3 +1,24 @@
|
||||
5.20231125
|
||||
- Updated for v5.34.2, v5.36.2, v5.38.1
|
||||
|
||||
5.20231120
|
||||
- Updated for v5.39.5
|
||||
|
||||
5.20231025
|
||||
- Updated for v5.39.4
|
||||
|
||||
5.20230920
|
||||
- Updated for v5.39.3
|
||||
|
||||
5.20230820
|
||||
- Updated for v5.39.2
|
||||
|
||||
5.20230720
|
||||
- Updated for v5.39.1
|
||||
|
||||
5.20230520
|
||||
- Updated for v5.38.0
|
||||
|
||||
5.20230423
|
||||
- Updated for v5.36.1
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,7 @@ use strict;
|
||||
use warnings;
|
||||
use Module::CoreList;
|
||||
|
||||
our $VERSION = '5.20230423';
|
||||
our $VERSION = '5.20231129';
|
||||
our %utilities;
|
||||
|
||||
sub utilities {
|
||||
@ -1895,6 +1895,90 @@ my %delta = (
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.038000 => {
|
||||
delta_from => 5.037011,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.039001 => {
|
||||
delta_from => 5.038,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.039002 => {
|
||||
delta_from => 5.039001,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.039003 => {
|
||||
delta_from => 5.039002,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.039004 => {
|
||||
delta_from => 5.039003,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.039005 => {
|
||||
delta_from => 5.039004,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.034002 => {
|
||||
delta_from => 5.034001,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.036002 => {
|
||||
delta_from => 5.036001,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.038001 => {
|
||||
delta_from => 5.038000,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.034003 => {
|
||||
delta_from => 5.034002,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.036003 => {
|
||||
delta_from => 5.036002,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
5.038002 => {
|
||||
delta_from => 5.038001,
|
||||
changed => {
|
||||
},
|
||||
removed => {
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
%utilities = Module::CoreList::_undelta(\%delta);
|
||||
|
@ -31,11 +31,11 @@
|
||||
# mkdir -p /opt/perl-catamount
|
||||
# mkdir -p /opt/perl-catamount/include
|
||||
# mkdir -p /opt/perl-catamount/lib
|
||||
# mkdir -p /opt/perl-catamount/lib/perl5/5.36.1
|
||||
# mkdir -p /opt/perl-catamount/lib/perl5/5.36.3
|
||||
# mkdir -p /opt/perl-catamount/bin
|
||||
# cp *.h /opt/perl-catamount/include
|
||||
# cp libperl.a /opt/perl-catamount/lib
|
||||
# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.36.1
|
||||
# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.36.3
|
||||
# cp miniperl perl run.sh cc.sh /opt/perl-catamount/lib
|
||||
#
|
||||
# With the headers and the libperl.a you can embed Perl to your Catamount
|
||||
|
@ -118,7 +118,7 @@ package B::Op_private;
|
||||
our %bits;
|
||||
|
||||
|
||||
our $VERSION = "5.036001";
|
||||
our $VERSION = "5.036003";
|
||||
|
||||
$bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
|
||||
$bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);
|
||||
|
@ -39,7 +39,7 @@ Instead use one of the version comparison macros. See C<L</PERL_VERSION_EQ>>.
|
||||
|
||||
#define PERL_REVISION 5 /* age */
|
||||
#define PERL_VERSION 36 /* epoch */
|
||||
#define PERL_SUBVERSION 1 /* generation */
|
||||
#define PERL_SUBVERSION 3 /* generation */
|
||||
|
||||
/* The following numbers describe the earliest compatible version of
|
||||
Perl ("compatibility" here being defined as sufficient binary/API
|
||||
|
@ -35,8 +35,8 @@ api_subversion='0'
|
||||
api_version='36'
|
||||
api_versionstring='5.36.0'
|
||||
ar='ar'
|
||||
archlib='/sys/lib/perl5/5.36.1/386'
|
||||
archlibexp='/sys/lib/perl5/5.36.1/386'
|
||||
archlib='/sys/lib/perl5/5.36.3/386'
|
||||
archlibexp='/sys/lib/perl5/5.36.3/386'
|
||||
archname64=''
|
||||
archname='386'
|
||||
archobjs=''
|
||||
@ -825,17 +825,17 @@ inc_version_list=' '
|
||||
inc_version_list_init='0'
|
||||
incpath=''
|
||||
inews=''
|
||||
installarchlib='/sys/lib/perl/5.36.1/386'
|
||||
installarchlib='/sys/lib/perl/5.36.3/386'
|
||||
installbin='/usr/bin'
|
||||
installman1dir='/sys/man/1pub'
|
||||
installman3dir='/sys/man/2pub'
|
||||
installprefix='/usr'
|
||||
installprefixexp='/usr'
|
||||
installprivlib='/sys/lib/perl/5.36.1'
|
||||
installprivlib='/sys/lib/perl/5.36.3'
|
||||
installscript='/usr/bin'
|
||||
installsitearch='/sys/lib/perl/5.36.1/site_perl/386'
|
||||
installsitearch='/sys/lib/perl/5.36.3/site_perl/386'
|
||||
installsitebin='/usr/bin'
|
||||
installsitelib='/sys/lib/perl/5.36.1/site_perl'
|
||||
installsitelib='/sys/lib/perl/5.36.3/site_perl'
|
||||
installstyle='lib/perl5'
|
||||
installusrbinperl='undef'
|
||||
installvendorarch=''
|
||||
@ -961,8 +961,8 @@ pmake=''
|
||||
pr=''
|
||||
prefix='/usr'
|
||||
prefixexp='/usr'
|
||||
privlib='/sys/lib/perl/5.36.1'
|
||||
privlibexp='/sys/lib/perl/5.36.1'
|
||||
privlib='/sys/lib/perl/5.36.3'
|
||||
privlibexp='/sys/lib/perl/5.36.3'
|
||||
procselfexe=''
|
||||
prototype='define'
|
||||
ptrsize='4'
|
||||
@ -1027,13 +1027,13 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
||||
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 0'
|
||||
sig_size='50'
|
||||
signal_t='void'
|
||||
sitearch='/sys/lib/perl/5.36.1/site_perl/386'
|
||||
sitearch='/sys/lib/perl/5.36.3/site_perl/386'
|
||||
sitearchexp='/sys/lib/perl/site_perl/386'
|
||||
sitebin='/usr/bin'
|
||||
sitebinexp='/usr/bin'
|
||||
sitelib='/sys/lib/perl/5.36.1/site_perl'
|
||||
sitelib_stem='/sys/lib/perl/5.36.1/site_perl'
|
||||
sitelibexp='/sys/lib/perl/5.36.1/site_perl'
|
||||
sitelib='/sys/lib/perl/5.36.3/site_perl'
|
||||
sitelib_stem='/sys/lib/perl/5.36.3/site_perl'
|
||||
sitelibexp='/sys/lib/perl/5.36.3/site_perl'
|
||||
siteprefix='/usr'
|
||||
siteprefixexp='/usr'
|
||||
sizesize='4'
|
||||
@ -1068,7 +1068,7 @@ stdio_stream_array=''
|
||||
strerror_r_proto='0'
|
||||
strings='/sys/include/ape/string.h'
|
||||
submit=''
|
||||
subversion='1'
|
||||
subversion='3'
|
||||
sysman='/sys/man/1pub'
|
||||
tail=''
|
||||
tar=''
|
||||
@ -1149,8 +1149,8 @@ vendorlib_stem=''
|
||||
vendorlibexp=''
|
||||
vendorprefix=''
|
||||
vendorprefixexp=''
|
||||
version='5.36.1'
|
||||
version_patchlevel_string='version 36 subversion 1'
|
||||
version='5.36.3'
|
||||
version_patchlevel_string='version 36 subversion 3'
|
||||
versiononly='undef'
|
||||
vi=''
|
||||
xlibpth=''
|
||||
@ -1165,7 +1165,7 @@ config_args=''
|
||||
config_argc=0
|
||||
PERL_REVISION=5
|
||||
PERL_VERSION=36
|
||||
PERL_SUBVERSION=1
|
||||
PERL_SUBVERSION=3
|
||||
PERL_API_REVISION=5
|
||||
PERL_API_VERSION=36
|
||||
PERL_API_SUBVERSION=0
|
||||
|
@ -179,7 +179,11 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
|
||||
|
||||
perlhist Perl history records
|
||||
perldelta Perl changes since previous version
|
||||
perl5362delta Perl changes in version 5.36.2
|
||||
perl5361delta Perl changes in version 5.36.1
|
||||
perl5360delta Perl changes in version 5.36.0
|
||||
perl5343delta Perl changes in version 5.34.3
|
||||
perl5342delta Perl changes in version 5.34.2
|
||||
perl5341delta Perl changes in version 5.34.1
|
||||
perl5340delta Perl changes in version 5.34.0
|
||||
perl5321delta Perl changes in version 5.32.1
|
||||
|
109
gnu/usr.bin/perl/pod/perl5342delta.pod
Normal file
109
gnu/usr.bin/perl/pod/perl5342delta.pod
Normal file
@ -0,0 +1,109 @@
|
||||
=encoding utf8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
perl5342delta - what is new for perl v5.34.2
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This document describes differences between the 5.34.1 release and the 5.34.2
|
||||
release.
|
||||
|
||||
If you are upgrading from an earlier release such as 5.34.0, first read
|
||||
L<perl5341delta>, which describes differences between 5.34.0 and 5.34.1.
|
||||
|
||||
=head1 Security
|
||||
|
||||
This release fixes the following security issues.
|
||||
|
||||
=head2 CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
|
||||
|
||||
This vulnerability was reported directly to the Perl security team by
|
||||
Nathan Mills C<the.true.nathan.mills@gmail.com>.
|
||||
|
||||
A crafted regular expression when compiled by perl 5.30.0 through
|
||||
5.38.0 can cause a one-byte attacker controlled buffer overflow in a
|
||||
heap allocated buffer.
|
||||
|
||||
=head2 CVE-2023-47039 - Perl for Windows binary hijacking vulnerability
|
||||
|
||||
This vulnerability was reported to the Intel Product Security Incident
|
||||
Response Team (PSIRT) by GitHub user ycdxsb
|
||||
L<https://github.com/ycdxsb/WindowsPrivilegeEscalation>. PSIRT then
|
||||
reported it to the Perl security team.
|
||||
|
||||
Perl for Windows relies on the system path environment variable to
|
||||
find the shell (C<cmd.exe>). When running an executable which uses
|
||||
Windows Perl interpreter, Perl attempts to find and execute C<cmd.exe>
|
||||
within the operating system. However, due to path search order issues,
|
||||
Perl initially looks for cmd.exe in the current working directory.
|
||||
|
||||
An attacker with limited privileges can exploit this behavior by
|
||||
placing C<cmd.exe> in locations with weak permissions, such as
|
||||
C<C:\ProgramData>. By doing so, when an administrator attempts to use
|
||||
this executable from these compromised locations, arbitrary code can
|
||||
be executed.
|
||||
|
||||
=head1 Acknowledgements
|
||||
|
||||
Perl 5.34.2 represents approximately 20 months of development since Perl
|
||||
5.34.1 and contains approximately 3,700 lines of changes across 40 files
|
||||
from 4 authors.
|
||||
|
||||
Excluding auto-generated files, documentation and release tools, there were
|
||||
approximately 2,800 lines of changes to 9 .pm, .t, .c and .h files.
|
||||
|
||||
Perl continues to flourish into its fourth decade thanks to a vibrant
|
||||
community of users and developers. The following people are known to have
|
||||
contributed the improvements that became Perl 5.34.2:
|
||||
|
||||
Karl Williamson, Paul Evans, 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 perl bug database
|
||||
at L<https://github.com/Perl/perl5/issues>. There may also be information at
|
||||
L<http://www.perl.org/>, the Perl Home Page.
|
||||
|
||||
If you believe you have an unreported bug, please open an issue at
|
||||
L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
|
||||
tiny but sufficient test case.
|
||||
|
||||
If the bug you are reporting has security implications which make it
|
||||
inappropriate to send to a public issue tracker, then see
|
||||
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
|
||||
for details of how to report the issue.
|
||||
|
||||
=head1 Give Thanks
|
||||
|
||||
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
|
||||
you can do so by running the C<perlthanks> program:
|
||||
|
||||
perlthanks
|
||||
|
||||
This will send an email to the Perl 5 Porters list with your show of thanks.
|
||||
|
||||
=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
|
110
gnu/usr.bin/perl/pod/perl5343delta.pod
Normal file
110
gnu/usr.bin/perl/pod/perl5343delta.pod
Normal file
@ -0,0 +1,110 @@
|
||||
=encoding utf8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
perl5343delta - what is new for perl v5.34.3
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This document describes differences between the 5.34.1 release and the 5.34.3
|
||||
release. B<Please note:> This document ignores Perl 5.34.2, a broken release
|
||||
which existed for a couple of days only.
|
||||
|
||||
If you are upgrading from an earlier release such as 5.34.0, first read
|
||||
L<perl5341delta>, which describes differences between 5.34.0 and 5.34.1.
|
||||
|
||||
=head1 Security
|
||||
|
||||
This release fixes the following security issues.
|
||||
|
||||
=head2 CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
|
||||
|
||||
This vulnerability was reported directly to the Perl security team by
|
||||
Nathan Mills C<the.true.nathan.mills@gmail.com>.
|
||||
|
||||
A crafted regular expression when compiled by perl 5.30.0 through
|
||||
5.38.0 can cause a one-byte attacker controlled buffer overflow in a
|
||||
heap allocated buffer.
|
||||
|
||||
=head2 CVE-2023-47039 - Perl for Windows binary hijacking vulnerability
|
||||
|
||||
This vulnerability was reported to the Intel Product Security Incident
|
||||
Response Team (PSIRT) by GitHub user ycdxsb
|
||||
L<https://github.com/ycdxsb/WindowsPrivilegeEscalation>. PSIRT then
|
||||
reported it to the Perl security team.
|
||||
|
||||
Perl for Windows relies on the system path environment variable to
|
||||
find the shell (C<cmd.exe>). When running an executable which uses
|
||||
Windows Perl interpreter, Perl attempts to find and execute C<cmd.exe>
|
||||
within the operating system. However, due to path search order issues,
|
||||
Perl initially looks for cmd.exe in the current working directory.
|
||||
|
||||
An attacker with limited privileges can exploit this behavior by
|
||||
placing C<cmd.exe> in locations with weak permissions, such as
|
||||
C<C:\ProgramData>. By doing so, when an administrator attempts to use
|
||||
this executable from these compromised locations, arbitrary code can
|
||||
be executed.
|
||||
|
||||
=head1 Acknowledgements
|
||||
|
||||
Perl 5.34.3 represents approximately 1 month of development since Perl
|
||||
5.34.1 and contains approximately 3,700 lines of changes across 40 files
|
||||
from 4 authors.
|
||||
|
||||
Excluding auto-generated files, documentation and release tools, there were
|
||||
approximately 2,800 lines of changes to 9 .pm, .t, .c and .h files.
|
||||
|
||||
Perl continues to flourish into its fourth decade thanks to a vibrant
|
||||
community of users and developers. The following people are known to have
|
||||
contributed the improvements that became Perl 5.34.3:
|
||||
|
||||
Karl Williamson, Paul Evans, 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 perl bug database
|
||||
at L<https://github.com/Perl/perl5/issues>. There may also be information at
|
||||
L<http://www.perl.org/>, the Perl Home Page.
|
||||
|
||||
If you believe you have an unreported bug, please open an issue at
|
||||
L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
|
||||
tiny but sufficient test case.
|
||||
|
||||
If the bug you are reporting has security implications which make it
|
||||
inappropriate to send to a public issue tracker, then see
|
||||
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
|
||||
for details of how to report the issue.
|
||||
|
||||
=head1 Give Thanks
|
||||
|
||||
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
|
||||
you can do so by running the C<perlthanks> program:
|
||||
|
||||
perlthanks
|
||||
|
||||
This will send an email to the Perl 5 Porters list with your show of thanks.
|
||||
|
||||
=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
|
149
gnu/usr.bin/perl/pod/perl5361delta.pod
Normal file
149
gnu/usr.bin/perl/pod/perl5361delta.pod
Normal file
@ -0,0 +1,149 @@
|
||||
=encoding utf8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
perl5361delta - what is new for perl v5.36.1
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This document describes differences between the 5.36.0 release and the 5.36.1
|
||||
release.
|
||||
|
||||
If you are upgrading from an earlier release such as 5.35.0, first read
|
||||
L<perl5360delta>, which describes differences between 5.35.0 and 5.36.0.
|
||||
|
||||
=head1 Incompatible Changes
|
||||
|
||||
There are no changes intentionally incompatible with 5.36.0. If any exist,
|
||||
they are bugs, and we request that you submit a report. See
|
||||
L</Reporting Bugs> below.
|
||||
|
||||
=head1 Modules and Pragmata
|
||||
|
||||
=head2 Updated Modules and Pragmata
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
|
||||
L<Module::CoreList> has been upgraded from version 5.20220520 to 5.20230423.
|
||||
|
||||
=back
|
||||
|
||||
=head1 Configuration and Compilation
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
|
||||
C<Configure> probed for the return type of malloc() and free() by testing
|
||||
whether declarations for those functions produced a function type mismatch with
|
||||
the implementation. On Solaris, with a C++ compiler, this check always failed,
|
||||
since Solaris instead imports malloc() and free() from C<std::> with C<using>
|
||||
for C++ builds. Since the return types of malloc() and free() are well defined
|
||||
by the C standard, skip probing for them. C<Configure> command-line arguments
|
||||
and hints can still override these type in the unlikely case that is needed.
|
||||
[L<GH #20806|https://github.com/Perl/perl5/issues/20806>]
|
||||
|
||||
=back
|
||||
|
||||
=head1 Testing
|
||||
|
||||
Tests were added and changed to reflect the other additions and changes in this
|
||||
release.
|
||||
|
||||
=head1 Selected Bug Fixes
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
|
||||
An eval() as the last statement in a regex code block could trigger an
|
||||
interpreter panic; e.g.
|
||||
|
||||
/(?{ ...; eval {....}; })/
|
||||
|
||||
[L<GH #19680|https://github.com/Perl/perl5/issues/19680>]
|
||||
|
||||
=item *
|
||||
|
||||
An C<eval EXPR> referring to a lexical sub defined in grandparent scope no
|
||||
longer produces an assertion failures.
|
||||
[L<GH #19857|https://github.com/Perl/perl5/issues/19857>]
|
||||
|
||||
=item *
|
||||
|
||||
Writing to a magic variables associated with the selected output handle, C<$^>,
|
||||
C<$~>, C<$=>, C<$-> and C<$%>, no longer crashes perl if the IO object has been
|
||||
cleared from the selected output handle.
|
||||
[L<GH #20733|https://github.com/Perl/perl5/issues/20733>]
|
||||
|
||||
=back
|
||||
|
||||
=head1 Acknowledgements
|
||||
|
||||
Perl 5.36.1 represents approximately 11 months of development since Perl 5.36.0
|
||||
and contains approximately 5,500 lines of changes across 62 files from 24
|
||||
authors.
|
||||
|
||||
Excluding auto-generated files, documentation and release tools, there were
|
||||
approximately 1,600 lines of changes to 23 .pm, .t, .c and .h files.
|
||||
|
||||
Perl continues to flourish into its fourth decade thanks to a vibrant community
|
||||
of users and developers. The following people are known to have contributed
|
||||
the improvements that became Perl 5.36.1:
|
||||
|
||||
Andreas König, Bram, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari
|
||||
Mannsåker, David Mitchell, Elvin Aslanov, Florian Weimer, Graham Knop, Hugo
|
||||
van der Sanden, Karen Etheridge, Karl Williamson, Leon Timmermans, Matthew
|
||||
Horsfall, Max Maischein, Neil Bowers, Nicolas R, Renee Baecker, Ricardo Signes,
|
||||
Richard Leach, Steve Hay, Todd Rinaldo, 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 perl bug database at
|
||||
L<https://github.com/Perl/perl5/issues>. There may also be information at
|
||||
L<http://www.perl.org/>, the Perl Home Page.
|
||||
|
||||
If you believe you have an unreported bug, please open an issue at
|
||||
L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
|
||||
tiny but sufficient test case.
|
||||
|
||||
If the bug you are reporting has security implications which make it
|
||||
inappropriate to send to a public issue tracker, then see
|
||||
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> for details of how to
|
||||
report the issue.
|
||||
|
||||
=head1 Give Thanks
|
||||
|
||||
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you
|
||||
can do so by running the C<perlthanks> program:
|
||||
|
||||
perlthanks
|
||||
|
||||
This will send an email to the Perl 5 Porters list with your show of thanks.
|
||||
|
||||
=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
|
109
gnu/usr.bin/perl/pod/perl5362delta.pod
Normal file
109
gnu/usr.bin/perl/pod/perl5362delta.pod
Normal file
@ -0,0 +1,109 @@
|
||||
=encoding utf8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
perl5362delta - what is new for perl v5.36.2
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This document describes differences between the 5.36.1 release and the 5.36.2
|
||||
release.
|
||||
|
||||
If you are upgrading from an earlier release such as 5.36.0, first read
|
||||
L<perl5361delta>, which describes differences between 5.36.0 and 5.36.1.
|
||||
|
||||
=head1 Security
|
||||
|
||||
This release fixes the following security issues.
|
||||
|
||||
=head2 CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
|
||||
|
||||
This vulnerability was reported directly to the Perl security team by
|
||||
Nathan Mills C<the.true.nathan.mills@gmail.com>.
|
||||
|
||||
A crafted regular expression when compiled by perl 5.30.0 through
|
||||
5.38.0 can cause a one-byte attacker controlled buffer overflow in a
|
||||
heap allocated buffer.
|
||||
|
||||
=head2 CVE-2023-47039 - Perl for Windows binary hijacking vulnerability
|
||||
|
||||
This vulnerability was reported to the Intel Product Security Incident
|
||||
Response Team (PSIRT) by GitHub user ycdxsb
|
||||
L<https://github.com/ycdxsb/WindowsPrivilegeEscalation>. PSIRT then
|
||||
reported it to the Perl security team.
|
||||
|
||||
Perl for Windows relies on the system path environment variable to
|
||||
find the shell (C<cmd.exe>). When running an executable which uses
|
||||
Windows Perl interpreter, Perl attempts to find and execute C<cmd.exe>
|
||||
within the operating system. However, due to path search order issues,
|
||||
Perl initially looks for cmd.exe in the current working directory.
|
||||
|
||||
An attacker with limited privileges can exploit this behavior by
|
||||
placing C<cmd.exe> in locations with weak permissions, such as
|
||||
C<C:\ProgramData>. By doing so, when an administrator attempts to use
|
||||
this executable from these compromised locations, arbitrary code can
|
||||
be executed.
|
||||
|
||||
=head1 Acknowledgements
|
||||
|
||||
Perl 5.36.2 represents approximately 1 month of development since Perl
|
||||
5.36.1 and contains approximately 2,300 lines of changes across 38 files
|
||||
from 4 authors.
|
||||
|
||||
Excluding auto-generated files, documentation and release tools, there were
|
||||
approximately 1,400 lines of changes to 8 .pm, .t, .c and .h files.
|
||||
|
||||
Perl continues to flourish into its fourth decade thanks to a vibrant
|
||||
community of users and developers. The following people are known to have
|
||||
contributed the improvements that became Perl 5.36.2:
|
||||
|
||||
Karl Williamson, Paul Evans, 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 perl bug database
|
||||
at L<https://github.com/Perl/perl5/issues>. There may also be information at
|
||||
L<http://www.perl.org/>, the Perl Home Page.
|
||||
|
||||
If you believe you have an unreported bug, please open an issue at
|
||||
L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
|
||||
tiny but sufficient test case.
|
||||
|
||||
If the bug you are reporting has security implications which make it
|
||||
inappropriate to send to a public issue tracker, then see
|
||||
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
|
||||
for details of how to report the issue.
|
||||
|
||||
=head1 Give Thanks
|
||||
|
||||
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
|
||||
you can do so by running the C<perlthanks> program:
|
||||
|
||||
perlthanks
|
||||
|
||||
This will send an email to the Perl 5 Porters list with your show of thanks.
|
||||
|
||||
=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
|
@ -2,119 +2,80 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
perldelta - what is new for perl v5.36.1
|
||||
perldelta - what is new for perl v5.36.3
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This document describes differences between the 5.36.0 release and the 5.36.1
|
||||
release.
|
||||
This document describes differences between the 5.36.1 release and the 5.36.3
|
||||
release. B<Please note:> This document ignores Perl 5.36.2, a broken release
|
||||
which existed for a couple of days only.
|
||||
|
||||
If you are upgrading from an earlier release such as 5.35.0, first read
|
||||
L<perl5360delta>, which describes differences between 5.35.0 and 5.36.0.
|
||||
If you are upgrading from an earlier release such as 5.36.0, first read
|
||||
L<perl5361delta>, which describes differences between 5.36.0 and 5.36.1.
|
||||
|
||||
=head1 Incompatible Changes
|
||||
=head1 Security
|
||||
|
||||
There are no changes intentionally incompatible with 5.36.0. If any exist,
|
||||
they are bugs, and we request that you submit a report. See
|
||||
L</Reporting Bugs> below.
|
||||
This release fixes the following security issues.
|
||||
|
||||
=head1 Modules and Pragmata
|
||||
=head2 CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
|
||||
|
||||
=head2 Updated Modules and Pragmata
|
||||
This vulnerability was reported directly to the Perl security team by
|
||||
Nathan Mills C<the.true.nathan.mills@gmail.com>.
|
||||
|
||||
=over 4
|
||||
A crafted regular expression when compiled by perl 5.30.0 through
|
||||
5.38.0 can cause a one-byte attacker controlled buffer overflow in a
|
||||
heap allocated buffer.
|
||||
|
||||
=item *
|
||||
=head2 CVE-2023-47039 - Perl for Windows binary hijacking vulnerability
|
||||
|
||||
L<Module::CoreList> has been upgraded from version 5.20220520 to 5.20230423.
|
||||
This vulnerability was reported to the Intel Product Security Incident
|
||||
Response Team (PSIRT) by GitHub user ycdxsb
|
||||
L<https://github.com/ycdxsb/WindowsPrivilegeEscalation>. PSIRT then
|
||||
reported it to the Perl security team.
|
||||
|
||||
=back
|
||||
Perl for Windows relies on the system path environment variable to
|
||||
find the shell (C<cmd.exe>). When running an executable which uses
|
||||
Windows Perl interpreter, Perl attempts to find and execute C<cmd.exe>
|
||||
within the operating system. However, due to path search order issues,
|
||||
Perl initially looks for cmd.exe in the current working directory.
|
||||
|
||||
=head1 Configuration and Compilation
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
|
||||
C<Configure> probed for the return type of malloc() and free() by testing
|
||||
whether declarations for those functions produced a function type mismatch with
|
||||
the implementation. On Solaris, with a C++ compiler, this check always failed,
|
||||
since Solaris instead imports malloc() and free() from C<std::> with C<using>
|
||||
for C++ builds. Since the return types of malloc() and free() are well defined
|
||||
by the C standard, skip probing for them. C<Configure> command-line arguments
|
||||
and hints can still override these type in the unlikely case that is needed.
|
||||
[L<GH #20806|https://github.com/Perl/perl5/issues/20806>]
|
||||
|
||||
=back
|
||||
|
||||
=head1 Testing
|
||||
|
||||
Tests were added and changed to reflect the other additions and changes in this
|
||||
release.
|
||||
|
||||
=head1 Selected Bug Fixes
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
|
||||
An eval() as the last statement in a regex code block could trigger an
|
||||
interpreter panic; e.g.
|
||||
|
||||
/(?{ ...; eval {....}; })/
|
||||
|
||||
[L<GH #19680|https://github.com/Perl/perl5/issues/19680>]
|
||||
|
||||
=item *
|
||||
|
||||
An C<eval EXPR> referring to a lexical sub defined in grandparent scope no
|
||||
longer produces an assertion failures.
|
||||
[L<GH #19857|https://github.com/Perl/perl5/issues/19857>]
|
||||
|
||||
=item *
|
||||
|
||||
Writing to a magic variables associated with the selected output handle, C<$^>,
|
||||
C<$~>, C<$=>, C<$-> and C<$%>, no longer crashes perl if the IO object has been
|
||||
cleared from the selected output handle.
|
||||
[L<GH #20733|https://github.com/Perl/perl5/issues/20733>]
|
||||
|
||||
=back
|
||||
An attacker with limited privileges can exploit this behavior by
|
||||
placing C<cmd.exe> in locations with weak permissions, such as
|
||||
C<C:\ProgramData>. By doing so, when an administrator attempts to use
|
||||
this executable from these compromised locations, arbitrary code can
|
||||
be executed.
|
||||
|
||||
=head1 Acknowledgements
|
||||
|
||||
Perl 5.36.1 represents approximately 11 months of development since Perl 5.36.0
|
||||
and contains approximately 5,500 lines of changes across 62 files from 24
|
||||
authors.
|
||||
Perl 5.36.3 represents approximately 1 month of development since Perl
|
||||
5.36.1 and contains approximately 2,300 lines of changes across 38 files
|
||||
from 4 authors.
|
||||
|
||||
Excluding auto-generated files, documentation and release tools, there were
|
||||
approximately 1,600 lines of changes to 23 .pm, .t, .c and .h files.
|
||||
approximately 1,400 lines of changes to 8 .pm, .t, .c and .h files.
|
||||
|
||||
Perl continues to flourish into its fourth decade thanks to a vibrant community
|
||||
of users and developers. The following people are known to have contributed
|
||||
the improvements that became Perl 5.36.1:
|
||||
Perl continues to flourish into its fourth decade thanks to a vibrant
|
||||
community of users and developers. The following people are known to have
|
||||
contributed the improvements that became Perl 5.36.3:
|
||||
|
||||
Andreas König, Bram, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari
|
||||
Mannsåker, David Mitchell, Elvin Aslanov, Florian Weimer, Graham Knop, Hugo
|
||||
van der Sanden, Karen Etheridge, Karl Williamson, Leon Timmermans, Matthew
|
||||
Horsfall, Max Maischein, Neil Bowers, Nicolas R, Renee Baecker, Ricardo Signes,
|
||||
Richard Leach, Steve Hay, Todd Rinaldo, Tony Cook, Yves Orton.
|
||||
Karl Williamson, Paul Evans, 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.
|
||||
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
|
||||
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.
|
||||
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 perl bug database at
|
||||
L<https://github.com/Perl/perl5/issues>. There may also be information at
|
||||
If you find what you think is a bug, you might check the perl bug database
|
||||
at L<https://github.com/Perl/perl5/issues>. There may also be information at
|
||||
L<http://www.perl.org/>, the Perl Home Page.
|
||||
|
||||
If you believe you have an unreported bug, please open an issue at
|
||||
@ -123,13 +84,13 @@ tiny but sufficient test case.
|
||||
|
||||
If the bug you are reporting has security implications which make it
|
||||
inappropriate to send to a public issue tracker, then see
|
||||
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> for details of how to
|
||||
report the issue.
|
||||
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
|
||||
for details of how to report the issue.
|
||||
|
||||
=head1 Give Thanks
|
||||
|
||||
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you
|
||||
can do so by running the C<perlthanks> program:
|
||||
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
|
||||
you can do so by running the C<perlthanks> program:
|
||||
|
||||
perlthanks
|
||||
|
||||
|
@ -35,7 +35,7 @@ Little, Dave Rolsky, Max Maischein, Abigail, Jesse Luehrs, Tony Cook,
|
||||
Dominic Hargreaves, Aaron Crane, Aristotle Pagaltzis, Matthew Horsfall,
|
||||
Peter Martini, Sawyer X, Chad 'Exodist' Granum, Renee Bäcker, Eric Herman,
|
||||
John SJ Anderson, Karen Etheridge, Zak B. Elep, Tom Hukins, Richard Leach,
|
||||
Neil Bowers and Yves Orton.
|
||||
Neil Bowers, Yves Orton, Paul Evans, and Graham Knop.
|
||||
|
||||
=head2 PUMPKIN?
|
||||
|
||||
@ -716,6 +716,8 @@ the strings?).
|
||||
Steve 5.34.1-RC1 2022-Feb-27
|
||||
Steve 5.34.1-RC2 2022-Mar-06
|
||||
Steve 5.34.1 2022-Mar-13
|
||||
Paul E 5.34.2 2023-Nov-25
|
||||
Paul E 5.34.3 2023-Nov-29
|
||||
|
||||
Ricardo 5.35.0 2021-May-20 The 5.35 development track
|
||||
Max 5.35.1 2021-Jun-20
|
||||
@ -738,6 +740,8 @@ the strings?).
|
||||
Steve 5.36.1-RC2 2023-Apr-11
|
||||
Steve 5.36.1-RC3 2023-Apr-16
|
||||
Steve 5.36.1 2023-Apr-23
|
||||
Paul E 5.36.2 2023-Nov-25
|
||||
Paul E 5.36.3 2023-Nov-29
|
||||
|
||||
Ricardo 5.37.0 2022-May-27 The 5.37 development track
|
||||
Matthew H 5.37.1 2022-Jun-20
|
||||
@ -752,6 +756,19 @@ the strings?).
|
||||
Yves 5.37.10 2023-Mar-20
|
||||
Steve 5.37.11 2023-Apr-20
|
||||
|
||||
Ricardo 5.38.0-RC1 2023-Jun-15 The 5.38 maintenance track
|
||||
Ricardo 5.38.0-RC2 2023-Jun-23
|
||||
Ricardo 5.38.0 2023-Jul-02
|
||||
Paul E 5.38.1 2023-Nov-25
|
||||
Paul E 5.38.2 2023-Nov-29
|
||||
|
||||
Ricardo 5.39.0 2023-Jun-30 The 5.39 development track
|
||||
Steve 5.39.1 2023-Jul-20
|
||||
Paul E 5.39.2 2023-Aug-20
|
||||
Matthew H 5.39.3 2023-Sep-20
|
||||
Graham K 5.39.4 2023-Oct-25
|
||||
Ether 5.39.5 2023-Nov-20
|
||||
|
||||
=head2 SELECTED RELEASE SIZES
|
||||
|
||||
For example the notation "core: 212 29" in the release 1.000 means that
|
||||
@ -840,6 +857,7 @@ explained below.
|
||||
5.32.0 14147 127 25562 1255 40869 3098 11334 2734 8407 225
|
||||
5.34.0 14620 126 28150 1262 42711 3138 11535 2774 8791 228
|
||||
5.36.0 15300 129 27899 1270 48275 3236 11899 2863 8858 224
|
||||
5.38.0 15793 139 29070 1270 48250 3219 11950 2863 9129 239
|
||||
|
||||
The "core"..."doc" mean the following files from the Perl source code
|
||||
distribution. The glob notation ** means recursively, (.) means
|
||||
@ -1204,18 +1222,20 @@ the Perl source distribution for somewhat more selected releases.
|
||||
vos 12 7 12 7 8 7
|
||||
win32 1011 47 1001 46 966 45
|
||||
|
||||
5.38.0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Configure 604 1
|
||||
Cross 122 15
|
||||
h2pl 13 15
|
||||
hints 358 83
|
||||
os2 538 70
|
||||
plan9 322 20
|
||||
Porting 1640 80
|
||||
qnx 1 4
|
||||
utils 606 52
|
||||
vms 544 12
|
||||
vos 8 7
|
||||
win32 982 45
|
||||
|
||||
=head2 SELECTED PATCH SIZES
|
||||
|
||||
|
@ -82,6 +82,7 @@ close $F;
|
||||
chdir($testdir);
|
||||
END {
|
||||
chdir($cwd) && rmtree("$cwd/$testdir") if -d "$cwd/$testdir";
|
||||
unlink "cmd.exe";
|
||||
}
|
||||
if (open(my $EIN, "$cwd/win32/${exename}_exe.uu")) {
|
||||
note "Unpacking $exename.exe";
|
||||
@ -104,21 +105,20 @@ else {
|
||||
}
|
||||
note "Compiling $exename.c";
|
||||
note "$Config{cc} $Config{ccflags} $exename.c";
|
||||
if (system("$Config{cc} $Config{ccflags} $minus_o $exename.c >log 2>&1") != 0) {
|
||||
if (system("$Config{cc} $Config{ccflags} $minus_o $exename.c >log 2>&1") != 0 ||
|
||||
!-f "$exename.exe") {
|
||||
note "Could not compile $exename.c, status $?";
|
||||
note "Where is your C compiler?";
|
||||
skip_all "can't build test executable";
|
||||
}
|
||||
unless (-f "$exename.exe") {
|
||||
if (open(LOG,'<log'))
|
||||
{
|
||||
while(<LOG>) {
|
||||
note $_;
|
||||
}
|
||||
}
|
||||
else {
|
||||
warn "Cannot open log (in $testdir):$!";
|
||||
note "Where is your C compiler?";
|
||||
if (open(LOG,'<log'))
|
||||
{
|
||||
while(<LOG>) {
|
||||
note $_;
|
||||
}
|
||||
}
|
||||
else {
|
||||
warn "Cannot open log (in $testdir):$!";
|
||||
}
|
||||
skip_all "can't build test executable";
|
||||
}
|
||||
}
|
||||
copy("$plxname.bat","$plxname.cmd");
|
||||
@ -128,6 +128,12 @@ unless (-x "$testdir/$exename.exe") {
|
||||
skip_all "can't build test executable";
|
||||
}
|
||||
|
||||
# test we only look for cmd.exe in the standard place
|
||||
delete $ENV{PERLSHELL};
|
||||
copy("$testdir/$exename.exe", "$testdir/cmd.exe") or die $!;
|
||||
copy("$testdir/$exename.exe", "cmd.exe") or die $!;
|
||||
$ENV{PATH} = qq("$testdir";$ENV{PATH});
|
||||
|
||||
open my $T, "$^X -I../lib -w win32/system_tests |"
|
||||
or die "Can't spawn win32/system_tests: $!";
|
||||
my $expect;
|
||||
|
@ -313,7 +313,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5)
|
||||
extra.pods : miniperl
|
||||
@ @extra_pods.com
|
||||
|
||||
PERLDELTA_CURRENT = [.pod]perl5361delta.pod
|
||||
PERLDELTA_CURRENT = [.pod]perl5363delta.pod
|
||||
|
||||
$(PERLDELTA_CURRENT) : [.pod]perldelta.pod
|
||||
Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)
|
||||
|
@ -63,7 +63,7 @@ INST_TOP := $(INST_DRV)\perl
|
||||
# versioned installation can be obtained by setting INST_TOP above to a
|
||||
# path that includes an arbitrary version string.
|
||||
#
|
||||
#INST_VER := \5.36.1
|
||||
#INST_VER := \5.36.3
|
||||
|
||||
#
|
||||
# Comment this out if you DON'T want your perl installation to have
|
||||
@ -1624,7 +1624,7 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile
|
||||
copy ..\README.tw ..\pod\perltw.pod
|
||||
copy ..\README.vos ..\pod\perlvos.pod
|
||||
copy ..\README.win32 ..\pod\perlwin32.pod
|
||||
copy ..\pod\perldelta.pod ..\pod\perl5361delta.pod
|
||||
copy ..\pod\perldelta.pod ..\pod\perl5363delta.pod
|
||||
$(MINIPERL) -I..\lib $(PL2BAT) $(UTILS)
|
||||
$(MINIPERL) -I..\lib ..\autodoc.pl ..
|
||||
$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
|
||||
@ -1724,7 +1724,7 @@ distclean: realclean
|
||||
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
|
||||
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
|
||||
-cd $(PODDIR) && del /f *.html *.bat roffitall \
|
||||
perl5361delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
|
||||
perl5363delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
|
||||
perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
|
||||
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
|
||||
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \
|
||||
|
@ -37,7 +37,7 @@ INST_TOP = $(INST_DRV)\perl
|
||||
# versioned installation can be obtained by setting INST_TOP above to a
|
||||
# path that includes an arbitrary version string.
|
||||
#
|
||||
#INST_VER = \5.36.1
|
||||
#INST_VER = \5.36.3
|
||||
|
||||
#
|
||||
# Comment this out if you DON'T want your perl installation to have
|
||||
@ -1156,7 +1156,7 @@ utils: $(PERLEXE) ..\utils\Makefile
|
||||
copy ..\README.tw ..\pod\perltw.pod
|
||||
copy ..\README.vos ..\pod\perlvos.pod
|
||||
copy ..\README.win32 ..\pod\perlwin32.pod
|
||||
copy ..\pod\perldelta.pod ..\pod\perl5361delta.pod
|
||||
copy ..\pod\perldelta.pod ..\pod\perl5363delta.pod
|
||||
cd ..\win32
|
||||
$(PERLEXE) $(PL2BAT) $(UTILS)
|
||||
$(MINIPERL) -I..\lib ..\autodoc.pl ..
|
||||
@ -1257,7 +1257,7 @@ distclean: realclean
|
||||
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
|
||||
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
|
||||
-cd $(PODDIR) && del /f *.html *.bat roffitall \
|
||||
perl5361delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
|
||||
perl5363delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
|
||||
perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
|
||||
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
|
||||
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \
|
||||
|
@ -66,8 +66,12 @@ POD = perl.pod \
|
||||
perl5321delta.pod \
|
||||
perl5340delta.pod \
|
||||
perl5341delta.pod \
|
||||
perl5342delta.pod \
|
||||
perl5343delta.pod \
|
||||
perl5360delta.pod \
|
||||
perl5361delta.pod \
|
||||
perl5362delta.pod \
|
||||
perl5363delta.pod \
|
||||
perl561delta.pod \
|
||||
perl56delta.pod \
|
||||
perl581delta.pod \
|
||||
@ -232,8 +236,12 @@ MAN = perl.man \
|
||||
perl5321delta.man \
|
||||
perl5340delta.man \
|
||||
perl5341delta.man \
|
||||
perl5342delta.man \
|
||||
perl5343delta.man \
|
||||
perl5360delta.man \
|
||||
perl5361delta.man \
|
||||
perl5362delta.man \
|
||||
perl5363delta.man \
|
||||
perl561delta.man \
|
||||
perl56delta.man \
|
||||
perl581delta.man \
|
||||
@ -398,8 +406,12 @@ HTML = perl.html \
|
||||
perl5321delta.html \
|
||||
perl5340delta.html \
|
||||
perl5341delta.html \
|
||||
perl5342delta.html \
|
||||
perl5343delta.html \
|
||||
perl5360delta.html \
|
||||
perl5361delta.html \
|
||||
perl5362delta.html \
|
||||
perl5363delta.html \
|
||||
perl561delta.html \
|
||||
perl56delta.html \
|
||||
perl581delta.html \
|
||||
@ -564,8 +576,12 @@ TEX = perl.tex \
|
||||
perl5321delta.tex \
|
||||
perl5340delta.tex \
|
||||
perl5341delta.tex \
|
||||
perl5342delta.tex \
|
||||
perl5343delta.tex \
|
||||
perl5360delta.tex \
|
||||
perl5361delta.tex \
|
||||
perl5362delta.tex \
|
||||
perl5363delta.tex \
|
||||
perl561delta.tex \
|
||||
perl56delta.tex \
|
||||
perl581delta.tex \
|
||||
|
@ -72,7 +72,7 @@
|
||||
int _CRT_glob = 0;
|
||||
#endif
|
||||
|
||||
#if defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION==1)
|
||||
#if defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION==1)
|
||||
/* Mingw32-1.1 is missing some prototypes */
|
||||
START_EXTERN_C
|
||||
FILE * _wfopen(LPCWSTR wszFileName, LPCWSTR wszMode);
|
||||
@ -116,7 +116,7 @@ static char* win32_get_xlib(const char *pl,
|
||||
|
||||
static BOOL has_shell_metachars(const char *ptr);
|
||||
static long tokenize(const char *str, char **dest, char ***destv);
|
||||
static void get_shell(void);
|
||||
static int get_shell(void);
|
||||
static char* find_next_space(const char *s);
|
||||
static int do_spawn2(pTHX_ const char *cmd, int exectype);
|
||||
static int do_spawn2_handles(pTHX_ const char *cmd, int exectype,
|
||||
@ -204,9 +204,9 @@ set_silent_invalid_parameter_handler(BOOL newvalue)
|
||||
|
||||
static void
|
||||
my_invalid_parameter_handler(const wchar_t* expression,
|
||||
const wchar_t* function,
|
||||
const wchar_t* file,
|
||||
unsigned int line,
|
||||
const wchar_t* function,
|
||||
const wchar_t* file,
|
||||
unsigned int line,
|
||||
uintptr_t pReserved)
|
||||
{
|
||||
# ifdef _DEBUG
|
||||
@ -602,7 +602,13 @@ tokenize(const char *str, char **dest, char ***destv)
|
||||
return items;
|
||||
}
|
||||
|
||||
static void
|
||||
static const char
|
||||
cmd_opts[] = "/x/d/c";
|
||||
|
||||
static const char
|
||||
shell_cmd[] = "cmd.exe";
|
||||
|
||||
static int
|
||||
get_shell(void)
|
||||
{
|
||||
dTHX;
|
||||
@ -614,12 +620,53 @@ get_shell(void)
|
||||
* interactive use (which is what most programs look in COMSPEC
|
||||
* for).
|
||||
*/
|
||||
const char* defaultshell = "cmd.exe /x/d/c";
|
||||
const char *usershell = PerlEnv_getenv("PERL5SHELL");
|
||||
w32_perlshell_items = tokenize(usershell ? usershell : defaultshell,
|
||||
&w32_perlshell_tokens,
|
||||
&w32_perlshell_vec);
|
||||
const char *shell = PerlEnv_getenv("PERL5SHELL");
|
||||
if (shell) {
|
||||
w32_perlshell_items = tokenize(shell,
|
||||
&w32_perlshell_tokens,
|
||||
&w32_perlshell_vec);
|
||||
}
|
||||
else {
|
||||
/* tokenize does some Unix-ish like things like
|
||||
\\ escaping that don't work well here
|
||||
*/
|
||||
char shellbuf[MAX_PATH];
|
||||
UINT len = GetSystemDirectoryA(shellbuf, sizeof(shellbuf));
|
||||
if (len == 0) {
|
||||
translate_to_errno();
|
||||
return -1;
|
||||
}
|
||||
else if (len >= MAX_PATH) {
|
||||
/* buffer too small */
|
||||
errno = E2BIG;
|
||||
return -1;
|
||||
}
|
||||
if (shellbuf[len-1] != '\\') {
|
||||
my_strlcat(shellbuf, "\\", sizeof(shellbuf));
|
||||
++len;
|
||||
}
|
||||
if (len + sizeof(shell_cmd) > sizeof(shellbuf)) {
|
||||
errno = E2BIG;
|
||||
return -1;
|
||||
}
|
||||
my_strlcat(shellbuf, shell_cmd, sizeof(shellbuf));
|
||||
len += sizeof(shell_cmd)-1;
|
||||
|
||||
Newx(w32_perlshell_vec, 3, char *);
|
||||
Newx(w32_perlshell_tokens, len + 1 + sizeof(cmd_opts), char);
|
||||
|
||||
my_strlcpy(w32_perlshell_tokens, shellbuf, len+1);
|
||||
my_strlcpy(w32_perlshell_tokens + len +1, cmd_opts,
|
||||
sizeof(cmd_opts));
|
||||
|
||||
w32_perlshell_vec[0] = w32_perlshell_tokens;
|
||||
w32_perlshell_vec[1] = w32_perlshell_tokens + len + 1;
|
||||
w32_perlshell_vec[2] = NULL;
|
||||
|
||||
w32_perlshell_items = 2;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
@ -637,7 +684,9 @@ Perl_do_aspawn(pTHX_ SV *really, SV **mark, SV **sp)
|
||||
if (sp <= mark)
|
||||
return -1;
|
||||
|
||||
get_shell();
|
||||
if (get_shell() < 0)
|
||||
return -1;
|
||||
|
||||
Newx(argv, (sp - mark) + w32_perlshell_items + 2, char*);
|
||||
|
||||
if (SvNIOKp(*(mark+1)) && !SvPOKp(*(mark+1))) {
|
||||
@ -767,7 +816,8 @@ do_spawn2_handles(pTHX_ const char *cmd, int exectype, const int *handles)
|
||||
if (needToTry) {
|
||||
char **argv;
|
||||
int i = -1;
|
||||
get_shell();
|
||||
if (get_shell() < 0)
|
||||
return -1;
|
||||
Newx(argv, w32_perlshell_items + 2, char*);
|
||||
while (++i < w32_perlshell_items)
|
||||
argv[i] = w32_perlshell_vec[i];
|
||||
@ -2069,14 +2119,14 @@ win32_getenvironmentstrings(void)
|
||||
}
|
||||
|
||||
/* Get the number of bytes required to store the ACP encoded string */
|
||||
aenvstrings_len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS,
|
||||
aenvstrings_len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS,
|
||||
lpWStr, wenvstrings_len, NULL, 0, NULL, NULL);
|
||||
lpTmp = lpStr = (char *)win32_calloc(aenvstrings_len, sizeof(char));
|
||||
if(!lpTmp)
|
||||
out_of_memory();
|
||||
|
||||
/* Convert the string from UTF-16 encoding to ACP encoding */
|
||||
WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, lpWStr, wenvstrings_len, lpStr,
|
||||
WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, lpWStr, wenvstrings_len, lpStr,
|
||||
aenvstrings_len, NULL, NULL);
|
||||
|
||||
FreeEnvironmentStringsW(lpWStr);
|
||||
@ -2437,7 +2487,7 @@ win32_uname(struct utsname *name)
|
||||
/* Timing related stuff */
|
||||
|
||||
int
|
||||
do_raise(pTHX_ int sig)
|
||||
do_raise(pTHX_ int sig)
|
||||
{
|
||||
if (sig < SIG_SIZE) {
|
||||
Sighandler_t handler = w32_sighandler[sig];
|
||||
@ -2473,8 +2523,8 @@ void
|
||||
sig_terminate(pTHX_ int sig)
|
||||
{
|
||||
Perl_warn(aTHX_ "Terminating on signal SIG%s(%d)\n",PL_sig_name[sig], sig);
|
||||
/* exit() seems to be safe, my_exit() or die() is a problem in ^C
|
||||
thread
|
||||
/* exit() seems to be safe, my_exit() or die() is a problem in ^C
|
||||
thread
|
||||
*/
|
||||
exit(sig);
|
||||
}
|
||||
@ -2525,7 +2575,7 @@ win32_async_check(pTHX)
|
||||
/* Above or other stuff may have set a signal flag */
|
||||
if (PL_sig_pending)
|
||||
despatch_signals();
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -3268,7 +3318,8 @@ win32_pipe(int *pfd, unsigned int size, int mode)
|
||||
DllExport PerlIO*
|
||||
win32_popenlist(const char *mode, IV narg, SV **args)
|
||||
{
|
||||
get_shell();
|
||||
if (get_shell() < 0)
|
||||
return NULL;
|
||||
|
||||
return do_popen(mode, NULL, narg, args);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: apldart.c,v 1.18 2023/09/25 19:23:34 kettenis Exp $ */
|
||||
/* $OpenBSD: apldart.c,v 1.19 2023/12/23 18:28:38 kettenis Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2021 Mark Kettenis <kettenis@openbsd.org>
|
||||
*
|
||||
@ -26,6 +26,8 @@
|
||||
#include <machine/bus.h>
|
||||
#include <machine/fdt.h>
|
||||
|
||||
#include <uvm/uvm_extern.h>
|
||||
|
||||
#include <dev/ofw/openfirm.h>
|
||||
#include <dev/ofw/ofw_misc.h>
|
||||
#include <dev/ofw/ofw_power.h>
|
||||
@ -170,6 +172,8 @@ struct apldart_softc {
|
||||
struct apldart_stream **sc_as;
|
||||
struct iommu_device sc_id;
|
||||
|
||||
int sc_locked;
|
||||
int sc_translating;
|
||||
int sc_do_suspend;
|
||||
};
|
||||
|
||||
@ -300,16 +304,12 @@ apldart_attach(struct device *parent, struct device *self, void *aux)
|
||||
/* Skip locked DARTs for now. */
|
||||
if (OF_is_compatible(sc->sc_node, "apple,t8110-dart")) {
|
||||
config = HREAD4(sc, DART_T8110_PROTECT);
|
||||
if (config & DART_T8110_PROTECT_TTBR_TCR) {
|
||||
printf(": locked\n");
|
||||
return;
|
||||
}
|
||||
if (config & DART_T8110_PROTECT_TTBR_TCR)
|
||||
sc->sc_locked = 1;
|
||||
} else {
|
||||
config = HREAD4(sc, DART_T8020_CONFIG);
|
||||
if (config & DART_T8020_CONFIG_LOCK) {
|
||||
printf(": locked\n");
|
||||
return;
|
||||
}
|
||||
if (config & DART_T8020_CONFIG_LOCK)
|
||||
sc->sc_locked = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -325,17 +325,15 @@ apldart_attach(struct device *parent, struct device *self, void *aux)
|
||||
|
||||
for (idx = 0; idx < sc->sc_nttbr; idx++) {
|
||||
ttbr = HREAD4(sc, DART_TTBR(sc, sid, idx));
|
||||
if (ttbr & sc->sc_ttbr_valid) {
|
||||
printf(": translating\n");
|
||||
return;
|
||||
}
|
||||
if (ttbr & sc->sc_ttbr_valid)
|
||||
sc->sc_translating = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* We have full control over this DART, so do suspend it.
|
||||
* If we have full control over this DART, do suspend it.
|
||||
*/
|
||||
sc->sc_do_suspend = 1;
|
||||
sc->sc_do_suspend = !sc->sc_locked && !sc->sc_translating;
|
||||
|
||||
/*
|
||||
* Use bypass mode if supported. This avoids an issue with
|
||||
@ -344,14 +342,20 @@ apldart_attach(struct device *parent, struct device *self, void *aux)
|
||||
* current kernel interfaces.
|
||||
*/
|
||||
params2 = HREAD4(sc, DART_PARAMS2);
|
||||
if (params2 & DART_PARAMS2_BYPASS_SUPPORT) {
|
||||
if ((params2 & DART_PARAMS2_BYPASS_SUPPORT) &&
|
||||
!sc->sc_locked && !sc->sc_translating) {
|
||||
for (sid = 0; sid < sc->sc_nsid; sid++)
|
||||
HWRITE4(sc, DART_TCR(sc, sid), sc->sc_tcr_bypass);
|
||||
printf(": bypass\n");
|
||||
return;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
if (sc->sc_locked)
|
||||
printf(": locked\n");
|
||||
else if (sc->sc_translating)
|
||||
printf(": translating\n");
|
||||
else
|
||||
printf("\n");
|
||||
|
||||
/*
|
||||
* Skip the first page to help catching bugs where a device is
|
||||
@ -362,16 +366,18 @@ apldart_attach(struct device *parent, struct device *self, void *aux)
|
||||
sc->sc_dvabase = DART_PAGE_SIZE;
|
||||
sc->sc_dvaend = 0xffffffff - DART_PAGE_SIZE;
|
||||
|
||||
/* Disable translations. */
|
||||
for (sid = 0; sid < sc->sc_nsid; sid++)
|
||||
HWRITE4(sc, DART_TCR(sc, sid), 0);
|
||||
if (!sc->sc_locked && !sc->sc_translating) {
|
||||
/* Disable translations. */
|
||||
for (sid = 0; sid < sc->sc_nsid; sid++)
|
||||
HWRITE4(sc, DART_TCR(sc, sid), 0);
|
||||
|
||||
/* Remove page tables. */
|
||||
for (sid = 0; sid < sc->sc_nsid; sid++) {
|
||||
for (idx = 0; idx < sc->sc_nttbr; idx++)
|
||||
HWRITE4(sc, DART_TTBR(sc, sid, idx), 0);
|
||||
/* Remove page tables. */
|
||||
for (sid = 0; sid < sc->sc_nsid; sid++) {
|
||||
for (idx = 0; idx < sc->sc_nttbr; idx++)
|
||||
HWRITE4(sc, DART_TTBR(sc, sid, idx), 0);
|
||||
}
|
||||
sc->sc_flush_tlb(sc, -1);
|
||||
}
|
||||
sc->sc_flush_tlb(sc, -1);
|
||||
|
||||
if (OF_is_compatible(sc->sc_node, "apple,t8110-dart")) {
|
||||
HWRITE4(sc, DART_T8110_ERROR, HREAD4(sc, DART_T8110_ERROR));
|
||||
@ -482,6 +488,90 @@ apldart_activate(struct device *self, int act)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
apldart_init_locked_stream(struct apldart_stream *as)
|
||||
{
|
||||
struct apldart_softc *sc = as->as_sc;
|
||||
uint32_t ttbr;
|
||||
vaddr_t startva, endva, va;
|
||||
paddr_t pa;
|
||||
bus_addr_t dva, dvaend;
|
||||
volatile uint64_t *l1;
|
||||
int nl1, nl2, ntte;
|
||||
int idx;
|
||||
|
||||
for (idx = 0; idx < sc->sc_nttbr; idx++) {
|
||||
ttbr = HREAD4(sc, DART_TTBR(sc, as->as_sid, idx));
|
||||
if ((ttbr & sc->sc_ttbr_valid) == 0)
|
||||
break;
|
||||
}
|
||||
KASSERT(idx > 0);
|
||||
|
||||
nl2 = idx * (DART_PAGE_SIZE / sizeof(uint64_t));
|
||||
ntte = nl2 * (DART_PAGE_SIZE / sizeof(uint64_t));
|
||||
|
||||
dvaend = (bus_addr_t)ntte * DART_PAGE_SIZE;
|
||||
if (dvaend < sc->sc_dvaend)
|
||||
sc->sc_dvaend = dvaend;
|
||||
|
||||
as->as_dvamap = extent_create(sc->sc_dev.dv_xname,
|
||||
sc->sc_dvabase, sc->sc_dvaend, M_DEVBUF,
|
||||
NULL, 0, EX_WAITOK | EX_NOCOALESCE);
|
||||
|
||||
ntte = howmany(sc->sc_dvaend, DART_PAGE_SIZE);
|
||||
nl2 = howmany(ntte, DART_PAGE_SIZE / sizeof(uint64_t));
|
||||
nl1 = howmany(nl2, DART_PAGE_SIZE / sizeof(uint64_t));
|
||||
|
||||
as->as_l2 = mallocarray(nl2, sizeof(*as->as_l2),
|
||||
M_DEVBUF, M_WAITOK | M_ZERO);
|
||||
|
||||
l1 = km_alloc(nl1 * DART_PAGE_SIZE, &kv_any, &kp_none, &kd_waitok);
|
||||
KASSERT(l1);
|
||||
|
||||
for (idx = 0; idx < nl1; idx++) {
|
||||
startva = (vaddr_t)l1 + idx * DART_PAGE_SIZE;
|
||||
endva = startva + DART_PAGE_SIZE;
|
||||
ttbr = HREAD4(sc, DART_TTBR(sc, as->as_sid, idx));
|
||||
pa = (paddr_t)(ttbr & ~sc->sc_ttbr_valid) << DART_TTBR_SHIFT;
|
||||
for (va = startva; va < endva; va += PAGE_SIZE) {
|
||||
pmap_kenter_cache(va, pa, PROT_READ | PROT_WRITE,
|
||||
PMAP_CACHE_CI);
|
||||
pa += PAGE_SIZE;
|
||||
}
|
||||
}
|
||||
|
||||
for (idx = 0; idx < nl2; idx++) {
|
||||
if (l1[idx] & DART_L1_TABLE) {
|
||||
dva = idx * (DART_PAGE_SIZE / sizeof(uint64_t)) *
|
||||
DART_PAGE_SIZE;
|
||||
dvaend = dva + DART_PAGE_SIZE * DART_PAGE_SIZE - 1;
|
||||
if (dva < sc->sc_dvabase)
|
||||
dva = sc->sc_dvabase;
|
||||
if (dvaend > sc->sc_dvaend)
|
||||
dvaend = sc->sc_dvaend;
|
||||
extent_alloc_region(as->as_dvamap, dva,
|
||||
dvaend - dva + 1, EX_CONFLICTOK);
|
||||
} else {
|
||||
as->as_l2[idx] = apldart_dmamem_alloc(sc->sc_dmat,
|
||||
DART_PAGE_SIZE, DART_PAGE_SIZE);
|
||||
pa = APLDART_DMA_DVA(as->as_l2[idx]);
|
||||
l1[idx] = (pa >> sc->sc_shift) | DART_L1_TABLE;
|
||||
}
|
||||
}
|
||||
sc->sc_flush_tlb(sc, as->as_sid);
|
||||
|
||||
memcpy(&as->as_dmat, sc->sc_dmat, sizeof(*sc->sc_dmat));
|
||||
as->as_dmat._cookie = as;
|
||||
as->as_dmat._dmamap_create = apldart_dmamap_create;
|
||||
as->as_dmat._dmamap_destroy = apldart_dmamap_destroy;
|
||||
as->as_dmat._dmamap_load = apldart_dmamap_load;
|
||||
as->as_dmat._dmamap_load_mbuf = apldart_dmamap_load_mbuf;
|
||||
as->as_dmat._dmamap_load_uio = apldart_dmamap_load_uio;
|
||||
as->as_dmat._dmamap_load_raw = apldart_dmamap_load_raw;
|
||||
as->as_dmat._dmamap_unload = apldart_dmamap_unload;
|
||||
as->as_dmat._flags |= BUS_DMA_COHERENT;
|
||||
}
|
||||
|
||||
struct apldart_stream *
|
||||
apldart_alloc_stream(struct apldart_softc *sc, int sid)
|
||||
{
|
||||
@ -490,16 +580,22 @@ apldart_alloc_stream(struct apldart_softc *sc, int sid)
|
||||
volatile uint64_t *l1;
|
||||
int idx, ntte, nl1, nl2;
|
||||
uint32_t mask;
|
||||
|
||||
|
||||
as = malloc(sizeof(*as), M_DEVBUF, M_WAITOK | M_ZERO);
|
||||
|
||||
as->as_sc = sc;
|
||||
as->as_sid = sid;
|
||||
|
||||
mtx_init(&as->as_dvamap_mtx, IPL_HIGH);
|
||||
|
||||
if (sc->sc_locked || sc->sc_translating) {
|
||||
apldart_init_locked_stream(as);
|
||||
return as;
|
||||
}
|
||||
|
||||
as->as_dvamap = extent_create(sc->sc_dev.dv_xname,
|
||||
sc->sc_dvabase, sc->sc_dvaend, M_DEVBUF,
|
||||
NULL, 0, EX_NOCOALESCE);
|
||||
mtx_init(&as->as_dvamap_mtx, IPL_HIGH);
|
||||
NULL, 0, EX_WAITOK | EX_NOCOALESCE);
|
||||
|
||||
/*
|
||||
* Build translation tables. We pre-allocate the translation
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: rkdrm.c,v 1.17 2023/09/11 04:51:24 jsg Exp $ */
|
||||
/* $OpenBSD: rkdrm.c,v 1.18 2023/12/23 22:40:42 kettenis Exp $ */
|
||||
/* $NetBSD: rk_drm.c,v 1.3 2019/12/15 01:00:58 mrg Exp $ */
|
||||
/*-
|
||||
* Copyright (c) 2019 Jared D. McNeill <jmcneill@invisible.ca>
|
||||
@ -345,8 +345,6 @@ rkdrm_doswitch(void *v)
|
||||
{
|
||||
struct rasops_info *ri = v;
|
||||
struct rkdrm_softc *sc = ri->ri_hw;
|
||||
struct rkdrm_crtc *rkdrm_crtc;
|
||||
int i, crtc;
|
||||
|
||||
rasops_show_screen(ri, sc->switchcookie, 0, NULL, NULL);
|
||||
drm_fb_helper_restore_fbdev_mode_unlocked(&sc->helper);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: main.c,v 1.145 2023/12/15 10:28:57 kn Exp $ */
|
||||
/* $OpenBSD: main.c,v 1.146 2023/12/23 23:03:00 kn Exp $ */
|
||||
/* $NetBSD: main.c,v 1.24 1997/08/18 10:20:26 lukem Exp $ */
|
||||
|
||||
/*
|
||||
@ -615,7 +615,7 @@ main(volatile int argc, char *argv[])
|
||||
err(1, "pledge");
|
||||
} else {
|
||||
#ifndef SMALL
|
||||
if (!resume) {
|
||||
if (outfile == NULL) {
|
||||
if (pledge("stdio rpath wpath cpath dns tty inet proc exec fattr",
|
||||
NULL) == -1)
|
||||
err(1, "pledge");
|
||||
|
Loading…
Reference in New Issue
Block a user