In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/efef081eeab2e6a1f5882c447d1aa3cfb2201e46?hp=2dcac756b8b2c3b3d7d34174ba27b78fb1c7ba4a>
- Log ----------------------------------------------------------------- commit efef081eeab2e6a1f5882c447d1aa3cfb2201e46 Author: Reini Urban <[email protected]> Date: Mon Dec 13 20:06:33 2010 +0100 Fix [perl #80632] -MO=Concise,-tree format Some time between 5.8.3 and 5.8.4, the -tree output format started getting extra line breaks. M ext/B/B/Concise.pm commit 0d157ee2a019966dc8b4251425c92472c8c65707 Author: David Leadbeater <[email protected]> Date: Thu Dec 16 20:15:57 2010 -0800 [perl #80548] perldelta for DTrace package name change M pod/perldelta.pod commit 8b079db663fda8b4ad5c7f33655632c57d3e32fd Author: David Leadbeater <[email protected]> Date: Thu Dec 16 20:14:40 2010 -0800 [perl #80674] Fix compilation with very old versions of glibc __priority_which_t does not exist on glibc 2.1. sin6_scope is not present in the set of kernel headers my copy of glibc 2.1 is using. (The presence of sin6_scope in sockaddr_in6 should maybe be a Configure test.) blead now compiles on a positively ancient box -- although the Socket tests fail. M ext/Socket/Socket.xs M pp_sys.c ----------------------------------------------------------------------- Summary of changes: ext/B/B/Concise.pm | 2 +- ext/Socket/Socket.xs | 6 ++++++ pod/perldelta.pod | 20 ++++++++++++++++++++ pp_sys.c | 2 +- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/ext/B/B/Concise.pm b/ext/B/B/Concise.pm index 6d06956..fbc02ad 100644 --- a/ext/B/B/Concise.pm +++ b/ext/B/B/Concise.pm @@ -586,7 +586,7 @@ sub fmt_line { # generate text-line for op. $text = "# $hr->{src}\n$text" if $show_src and $hr->{src}; chomp $text; - return "$text\n" if $text ne ""; + return "$text\n" if $text ne "" and $order ne "tree"; return $text; # suppress empty lines } diff --git a/ext/Socket/Socket.xs b/ext/Socket/Socket.xs index dcf6715..c1225ff 100644 --- a/ext/Socket/Socket.xs +++ b/ext/Socket/Socket.xs @@ -477,7 +477,9 @@ pack_sockaddr_in6(port, sin6_addr, scope_id=0, flowinfo=0) sin6.sin6_port = htons(port); sin6.sin6_flowinfo = htonl(flowinfo); Copy(addrbytes, &sin6.sin6_addr, sizeof(sin6.sin6_addr), char); +#if !defined(__GLIBC__) || (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) sin6.sin6_scope_id = scope_id; +#endif ST(0) = newSVpvn_flags((char *)&sin6, sizeof(sin6), SVs_TEMP); #else ST(0) = (SV*)not_here("pack_sockaddr_in6"); @@ -505,7 +507,11 @@ unpack_sockaddr_in6(sin6_sv) EXTEND(SP, 4); mPUSHi(ntohs(sin6.sin6_port)); mPUSHp((char *)&sin6.sin6_addr, sizeof(sin6.sin6_addr)); +#if !defined(__GLIBC__) || (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) mPUSHi(sin6.sin6_scope_id); +#else + mPUSHi(0); +#endif mPUSHi(ntohl(sin6.sin6_flowinfo)); #else ST(0) = (SV*)not_here("pack_sockaddr_in6"); diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 82afad3..66b12d5 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -109,6 +109,26 @@ This double setting arrangement is a stopgap until the reason for unwinding can be made properly introspectable. C<$@> has never been a reliable indicator of this. +=head2 DTrace probes now include package name + +The DTrace probes now include an additional argument (C<arg3>) which contains +the package the subroutine being entered or left was compiled in. + +For example using the following DTrace script: + + perl$target:::sub-entry + { + printf("%s::%s\n", copyinstr(arg0), copyinstr(arg3)); + } + +and then running: + + perl -e'sub test { }; test' + +DTrace will print: + + main::test + =head1 Security XXX Any security-related notices go here. In particular, any security diff --git a/pp_sys.c b/pp_sys.c index 89e131c..d54b44e 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -4473,7 +4473,7 @@ PP(pp_setpgrp) #endif } -#ifdef __GLIBC__ +#if defined(__GLIBC__) && ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) || (__GLIBC__ > 2)) # define PRIORITY_WHICH_T(which) (__priority_which_t)which #else # define PRIORITY_WHICH_T(which) which -- Perl5 Master Repository
