Change 32953 by [EMAIL PROTECTED] on 2008/01/11 13:36:54
Subject: [PATCH] Add dtrace support
From: Andy Armstrong <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
Date: Thu, 10 Jan 2008 22:20:52 +0000
with fixups as discussed on list, plus adding usedtrace to Glossary,
plus propagating all the new config variables everywhere.
(Was there an automatic way to do that? I did it with emacs macros)
Affected files ...
... //depot/perl/Configure#677 edit
... //depot/perl/Cross/config.sh-arm-linux#25 edit
... //depot/perl/MANIFEST#1664 edit
... //depot/perl/Makefile.SH#399 edit
... //depot/perl/NetWare/config.wc#39 edit
... //depot/perl/Porting/Glossary#183 edit
... //depot/perl/config_h.SH#337 edit
... //depot/perl/configure.com#274 edit
... //depot/perl/cop.h#146 edit
... //depot/perl/epoc/config.sh#101 edit
... //depot/perl/mydtrace.h#1 add
... //depot/perl/perldtrace.d#1 add
... //depot/perl/plan9/config_sh.sample#18 edit
... //depot/perl/symbian/config.sh#24 edit
... //depot/perl/uconfig.h#83 edit
... //depot/perl/uconfig.sh#80 edit
... //depot/perl/win32/config.bc#176 edit
... //depot/perl/win32/config.ce#11 edit
... //depot/perl/win32/config.gc#174 edit
... //depot/perl/win32/config.vc#183 edit
... //depot/perl/win32/config.vc64#53 edit
... //depot/perl/win32/config_H.bc#176 edit
... //depot/perl/win32/config_H.ce#9 edit
... //depot/perl/win32/config_H.gc#170 edit
... //depot/perl/win32/config_H.vc#173 edit
... //depot/perl/win32/config_H.vc64#55 edit
Differences ...
==== //depot/perl/Configure#677 (xtext) ====
Index: perl/Configure
--- perl/Configure#676~32927~ 2008-01-09 13:05:38.000000000 -0800
+++ perl/Configure 2008-01-11 05:36:54.000000000 -0800
@@ -238,6 +238,7 @@
cpp=''
csh=''
date=''
+dtrace=''
echo=''
egrep=''
emacs=''
@@ -1193,6 +1194,7 @@
useithreads=''
usereentrant=''
usethreads=''
+usedtrace=''
incpath=''
mips_type=''
usrinc=''
@@ -8949,6 +8951,71 @@
set usefaststdio
eval $setvar
+: DTrace support
+dflt_dtrace='/usr/sbin/dtrace'
+cat <<EOM
+
+Perl can be built to support DTrace on platforms that support it.
+DTrace is a diagnosis and performance analysis tool from Sun.
+
+If this doesn't make any sense to you, just accept the default '$dflt'.
+EOM
+
+while test 1 ; do
+ case "$usedtrace" in
+ $define|true|[yY]*)
+ dflt='y'
+ ;;
+ ?*)
+ dflt='y'
+ dflt_dtrace=$usedtrace
+ ;;
+ *)
+ dflt='n'
+ ;;
+ esac
+
+ rp='Support DTrace if available?'
+ . ./myread
+ case "$ans" in
+ y|Y) val="$define" ;;
+ *) val="$undef" ;;
+ esac
+ set usedtrace
+ eval $setvar
+
+ test "X$usedtrace" != "X$define" && break
+
+ echo " "
+ rp='Where is the dtrace executable?'
+ dflt=$dflt_dtrace
+ . ./getfile
+ val="$ans"
+ set dtrace
+ eval $setvar
+
+ if test -f $dtrace
+ then
+ if ! $dtrace -h -s ../perldtrace.d \
+ -o perldtrace.tmp >/dev/null 2>&1 \
+ && rm -f perldtrace.tmp
+ then
+ cat >&2 <<EOM
+
+*** $me: Fatal Error: $dtrace doesn't support -h flag
+***
+*** Your installed dtrace doesn't support the -h switch to compile a D
+*** program into a C header. Can't continue.
+
+EOM
+ exit 1
+ fi
+ break;
+ fi
+
+ echo "$dtrace was not found."
+ echo " "
+done
: define an is-a-typedef? function
typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
@@ -22063,6 +22130,7 @@
doublesize='$doublesize'
drand01='$drand01'
drand48_r_proto='$drand48_r_proto'
+dtrace='$dtrace'
dynamic_ext='$dynamic_ext'
eagain='$eagain'
ebcdic='$ebcdic'
@@ -22523,6 +22591,7 @@
use64bitint='$use64bitint'
usecrosscompile='$usecrosscompile'
usedl='$usedl'
+usedtrace='$usedtrace'
usefaststdio='$usefaststdio'
useithreads='$useithreads'
uselargefiles='$uselargefiles'
==== //depot/perl/Cross/config.sh-arm-linux#25 (text) ====
Index: perl/Cross/config.sh-arm-linux
--- perl/Cross/config.sh-arm-linux#24~32705~ 2007-12-22 09:51:03.000000000
-0800
+++ perl/Cross/config.sh-arm-linux 2008-01-11 05:36:54.000000000 -0800
@@ -530,6 +530,7 @@
doublesize='8'
drand01='drand48()'
drand48_r_proto='0'
+dtrace=''
dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek
Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV
List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via
SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize
XS/APItest XS/Typemap attrs re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
@@ -985,6 +986,7 @@
use64bitint='undef'
usecrosscompile='undef'
usedl='define'
+usedtrace='undef'
usefaststdio='define'
useithreads='undef'
uselargefiles='define'
==== //depot/perl/MANIFEST#1664 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#1663~32931~ 2008-01-09 14:42:04.000000000 -0800
+++ perl/MANIFEST 2008-01-11 05:36:54.000000000 -0800
@@ -2985,6 +2985,7 @@
mpeix/relink MPE/iX port
mro.c Method Resolution Order code
myconfig.SH Prints summary of the current configuration
+mydtrace.h Support for optional DTrace probes
NetWare/bat/Buildtype.bat NetWare port
NetWare/bat/SetCodeWar.bat NetWare port
NetWare/bat/Setnlmsdk.bat NetWare port
@@ -3115,6 +3116,7 @@
patchlevel.h The current patch level of perl
perlapi.c Perl API functions
perlapi.h Perl API function declarations
+perldtrace.d D script for Perl probes
perl.c main()
perl.h Global declarations
perlio.c C code for PerlIO abstraction
==== //depot/perl/Makefile.SH#399 (text) ====
Index: perl/Makefile.SH
--- perl/Makefile.SH#398~32886~ 2008-01-07 03:02:01.000000000 -0800
+++ perl/Makefile.SH 2008-01-11 05:36:54.000000000 -0800
@@ -183,6 +183,16 @@
nonxs_list="$nonxs_list ext/$f/pm_to_blib"
done
+dtrace_h=''
+dtrace_o=''
+case "$usedtrace" in
+define|true)
+ dtrace_h='perldtrace.h'
+ $dtrace -G -s perldtrace.d -o perldtrace.tmp >/dev/null 2>&1 \
+ && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)'
+ ;;
+esac
+
echo "Extracting Makefile (with variable substitutions)"
$spitshell >Makefile <<!GROK!THIS!
# Makefile.SH
@@ -274,6 +284,10 @@
# then you'll need to change this, or override it on the make command line.
VALGRIND=valgrind
+DTRACE = $dtrace
+DTRACE_H = $dtrace_h
+DTRACE_O = $dtrace_o
+
FIRSTMAKEFILE = $firstmakefile
# Any special object files needed by this architecture, e.g. os2/os2.obj
@@ -357,7 +371,7 @@
h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h opcode.h
h3 = pad.h patchlevel.h perl.h perlapi.h perly.h pp.h proto.h regcomp.h
h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
-h5 = utf8.h warnings.h
+h5 = utf8.h warnings.h mydtrace.h
h = $(h1) $(h2) $(h3) $(h4) $(h5)
c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c
perl.c
@@ -372,7 +386,8 @@
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) perl$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT)
sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT)
taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) xsutils$(OBJ_EXT)
globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT)
mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
-obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
+ndt_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
+obj = $(ndt_obj) $(DTRACE_O)
lintflags = \
-b \
@@ -586,6 +601,26 @@
Makefile: $Makefile_s
!GROK!THIS!
else
+ case "$dtrace_h" in
+ ?*)
+ $spitshell >>Makefile <<'!NO!SUBS!'
+$(DTRACE_H): perldtrace.d
+ $(DTRACE) -h -s perldtrace.d -o $(DTRACE_H)
+
+mydtrace.h: $(DTRACE_H)
+
+!NO!SUBS!
+ ;;
+ esac
+ case "$dtrace_o" in
+ ?*)
+ $spitshell >>Makefile <<'!NO!SUBS!'
+$(DTRACE_O): perldtrace.d
+ $(DTRACE) -G -s perldtrace.d -o $(DTRACE_O) $(ndt_obj)
+
+!NO!SUBS!
+ ;;
+ esac
$spitshell >>Makefile <<'!NO!SUBS!'
$(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT)
!NO!SUBS!
@@ -1082,7 +1117,7 @@
-rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
-rm -f perl$(EXE_EXT) suidperl$(EXE_EXT) miniperl$(EXE_EXT) $(LIBPERL)
libperl.* microperl
-rm -f opcode.h-old opnames.h-old pp.sym-old pp_proto.h-old
- -rm -f config.over
+ -rm -f config.over $(DTRACE_H)
# Do not 'make _tidy' directly.
_tidy:
==== //depot/perl/NetWare/config.wc#39 (text) ====
Index: perl/NetWare/config.wc
--- perl/NetWare/config.wc#38~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/NetWare/config.wc 2008-01-11 05:36:54.000000000 -0800
@@ -522,6 +522,7 @@
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
+dtrace=''
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs'
eagain='EAGAIN'
ebcdic='undef'
@@ -949,6 +950,7 @@
use64bitint='undef'
usecrosscompile='undef'
usedl='define'
+usedtrace='undef'
usefaststdio='undef'
useithreads='define'
uselargefiles='undef'
==== //depot/perl/Porting/Glossary#183 (text) ====
Index: perl/Porting/Glossary
--- perl/Porting/Glossary#182~32773~ 2007-12-29 06:54:57.000000000 -0800
+++ perl/Porting/Glossary 2008-01-11 05:36:54.000000000 -0800
@@ -2418,6 +2418,9 @@
This variable holds a list of XS extension files we want to
link dynamically into the package. It is used by Makefile.
+dtrace (dtrace.U):
+ This variable holds the location of the dtrace executable.
+
eagain (nblock_io.U):
This variable bears the symbolic errno code set by read() when no
data is present on the file and non-blocking I/O was enabled (otherwise,
@@ -4788,6 +4791,10 @@
This variable indicates if the system supports dynamic
loading of some sort. See also dlsrc and dlobj.
+usedtrace (trace.U):
+ This variable indicates whether we are compiling with dtrace support.
+ See also dtrace.
+
usefaststdio (usefaststdio.U):
This variable conditionally defines the USE_FAST_STDIO symbol,
and indicates that Perl should be built to use 'fast stdio'.
==== //depot/perl/config_h.SH#337 (text) ====
Index: perl/config_h.SH
--- perl/config_h.SH#336~32773~ 2007-12-29 06:54:57.000000000 -0800
+++ perl/config_h.SH 2008-01-11 05:36:54.000000000 -0800
@@ -2800,6 +2800,12 @@
#$d_oldpthreads OLD_PTHREADS_API /**/
#$usereentrant USE_REENTRANT_API /**/
+/* USE_DTRACE
+ * This symbol, if defined, indicates that Perl should
+ * be built with support for DTrace.
+ */
+#$usedtrace USE_DTRACE /**/
+
/* PERL_VENDORARCH:
* If defined, this symbol contains the name of a private library.
* The library is private in the sense that it needn't be in anyone's
==== //depot/perl/configure.com#274 (text) ====
Index: perl/configure.com
--- perl/configure.com#273~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/configure.com 2008-01-11 05:36:54.000000000 -0800
@@ -6127,6 +6127,7 @@
$ WC "dlsrc='dl_vms.c'"
$ WC "doublesize='" + doublesize + "'"
$ WC "drand01='" + drand01 + "'"
+$ WC "dtrace=''"
$!
$! The extensions symbol may be quite long
$!
@@ -6442,6 +6443,7 @@
$ WC "usedefaulttypes='" + usedefaulttypes + "'" ! VMS-specific
$ WC "usecrosscompile='undef'"
$ WC "usedl='" + usedl + "'"
+$ WC "usedtrace='undef'"
$ WC "usefaststdio='" + usefaststdio + "'"
$ WC "useieee='" + useieee + "'" ! VMS-specific
$ WC "useithreads='" + useithreads + "'"
==== //depot/perl/cop.h#146 (text) ====
Index: perl/cop.h
--- perl/cop.h#145~32819~ 2008-01-03 09:42:27.000000000 -0800
+++ perl/cop.h 2008-01-11 05:36:54.000000000 -0800
@@ -132,6 +132,7 @@
#define CATCH_SET(v) (PL_top_env->je_mustcatch = (v))
+#include "mydtrace.h"
struct cop {
BASEOP
@@ -295,6 +296,10 @@
* decremented by LEAVESUB, the other by LEAVE. */
#define PUSHSUB_BASE(cx) \
+ ENTRY_PROBE(GvENAME(CvGV(cv)), \
+ CopFILE((COP*)CvSTART(cv)), \
+ CopLINE((COP*)CvSTART(cv))); \
+ \
cx->blk_sub.cv = cv; \
cx->blk_sub.olddepth = CvDEPTH(cv); \
cx->blk_sub.hasargs = hasargs; \
@@ -342,6 +347,10 @@
#define POPSUB(cx,sv) \
STMT_START { \
+ RETURN_PROBE(GvENAME(CvGV((CV*)cx->blk_sub.cv)), \
+ CopFILE((COP*)CvSTART((CV*)cx->blk_sub.cv)), \
+ CopLINE((COP*)CvSTART((CV*)cx->blk_sub.cv))); \
+ \
if (cx->blk_sub.hasargs) { \
POP_SAVEARRAY(); \
/* abandon @_ if it got reified */ \
==== //depot/perl/epoc/config.sh#101 (text) ====
Index: perl/epoc/config.sh
--- perl/epoc/config.sh#100~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/epoc/config.sh 2008-01-11 05:36:54.000000000 -0800
@@ -498,6 +498,7 @@
doublesize='8'
drand01='(rand()/(double)(1U<<RANDBITS))'
drand48_r_proto='0'
+dtrace=''
dynamic_ext=''
eagain='EAGAIN'
ebcdic='undef'
@@ -855,6 +856,7 @@
use64bitint='undef'
usecrosscompile='define'
usedl='undef'
+usedtrace='undef'
usefaststdio='undef'
uselargefiles='undef'
uselongdouble='undef'
==== //depot/perl/mydtrace.h#1 (text) ====
Index: perl/mydtrace.h
--- /dev/null 2008-01-07 11:55:40.503091878 -0800
+++ perl/mydtrace.h 2008-01-11 05:36:54.000000000 -0800
@@ -0,0 +1,42 @@
+/* mydtrace.h
+ *
+ * Copyright (C) 2008, by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * Provides macros that wrap the various DTrace probes we use. We add
+ * an extra level of wrapping to encapsulate the _ENABLED tests.
+ */
+
+#if defined(USE_DTRACE) && defined(PERL_CORE)
+
+# include "perldtrace.h"
+
+# define ENTRY_PROBE(func, file, line) \
+ if (PERL_SUB_ENTRY_ENABLED()) { \
+ PERL_SUB_ENTRY(func, file, line); \
+ }
+
+# define RETURN_PROBE(func, file, line) \
+ if (PERL_SUB_RETURN_ENABLED()) { \
+ PERL_SUB_RETURN(func, file, line); \
+ }
+
+#else
+
+/* NOPs */
+# define ENTRY_PROBE(func, file, line)
+# define RETURN_PROBE(func, file, line)
+
+#endif
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/perl/perldtrace.d#1 (text) ====
Index: perl/perldtrace.d
--- /dev/null 2008-01-07 11:55:40.503091878 -0800
+++ perl/perldtrace.d 2008-01-11 05:36:54.000000000 -0800
@@ -0,0 +1,9 @@
+/*
+ * Written by Alan Burlinson -- taken from his blog post
+ * at <http://blogs.sun.com/alanbur/date/20050909>.
+ */
+
+provider perl {
+ probe sub__entry(char *, char *, int);
+ probe sub__return(char *, char *, int);
+};
==== //depot/perl/plan9/config_sh.sample#18 (text) ====
Index: perl/plan9/config_sh.sample
--- perl/plan9/config_sh.sample#17~32705~ 2007-12-22 09:51:03.000000000
-0800
+++ perl/plan9/config_sh.sample 2008-01-11 05:36:54.000000000 -0800
@@ -529,6 +529,7 @@
doublesize='8'
drand01='(rand() / (double) ((unsigned long)1 << 15))'
drand48_r_proto='0'
+dtrace=''
dynamic_ext=''
eagain='EAGAIN'
ebcdic='undef'
@@ -956,6 +957,7 @@
use64bitint='undef'
usecrosscompile='undef'
usedl='undef'
+usedtrace='undef'
usefaststdio='undef'
useithreads='undef'
uselargefiles='define'
==== //depot/perl/symbian/config.sh#24 (text) ====
Index: perl/symbian/config.sh
--- perl/symbian/config.sh#23~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/symbian/config.sh 2008-01-11 05:36:54.000000000 -0800
@@ -476,6 +476,7 @@
doublesize='8'
drand01="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))"
drand48_r_proto='0'
+dtrace=''
eagain='EAGAIN'
ebcdic='undef'
endgrent_r_proto='0'
@@ -771,6 +772,7 @@
use64bitint='undef'
usecrosscompile='undef'
usedl='undef'
+usedtrace='undef'
usefaststdio='undef'
useithreads='undef'
uselargefiles='undef'
==== //depot/perl/uconfig.h#83 (text+w) ====
Index: perl/uconfig.h
--- perl/uconfig.h#82~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/uconfig.h 2008-01-11 05:36:54.000000000 -0800
@@ -4358,6 +4358,12 @@
/*#define OLD_PTHREADS_API / **/
/*#define USE_REENTRANT_API / **/
+/* USE_DTRACE
+ * This symbol, if defined, indicates that Perl should
+ * be built with support for DTrace.
+ */
+/*#define USE_DTRACE / **/
+
/* PERL_VENDORARCH:
* If defined, this symbol contains the name of a private library.
* The library is private in the sense that it needn't be in anyone's
==== //depot/perl/uconfig.sh#80 (xtext) ====
Index: perl/uconfig.sh
--- perl/uconfig.sh#79~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/uconfig.sh 2008-01-11 05:36:54.000000000 -0800
@@ -465,6 +465,7 @@
doublesize='8'
drand01="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))"
drand48_r_proto='0'
+dtrace=''
eagain='EAGAIN'
ebcdic='undef'
endgrent_r_proto='0'
@@ -737,6 +738,7 @@
use64bitint='undef'
usecrosscompile='undef'
usedl='undef'
+usedtrace='undef'
usefaststdio='undef'
useithreads='undef'
uselargefiles='undef'
==== //depot/perl/win32/config.bc#176 (text) ====
Index: perl/win32/config.bc
--- perl/win32/config.bc#175~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config.bc 2008-01-11 05:36:54.000000000 -0800
@@ -518,6 +518,7 @@
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
+dtrace=''
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs'
eagain='EAGAIN'
ebcdic='undef'
@@ -979,6 +980,7 @@
use64bitint='undef'
usecrosscompile='undef'
usedl='define'
+usedtrace='undef'
usefaststdio='undef'
useithreads='undef'
uselargefiles='undef'
==== //depot/perl/win32/config.ce#11 (text) ====
Index: perl/win32/config.ce
--- perl/win32/config.ce#10~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config.ce 2008-01-11 05:36:54.000000000 -0800
@@ -520,6 +520,7 @@
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
+dtrace=''
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs'
eagain='EAGAIN'
ebcdic='undef'
@@ -941,6 +942,7 @@
use64bitint='undef'
usecrosscompile='define'
usedl='define'
+usedtrace='undef'
usefaststdio='undef'
useithreads='~USE_ITHREADS~'
uselargefiles='undef'
==== //depot/perl/win32/config.gc#174 (text) ====
Index: perl/win32/config.gc
--- perl/win32/config.gc#173~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config.gc 2008-01-11 05:36:54.000000000 -0800
@@ -518,6 +518,7 @@
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
+dtrace=''
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs'
eagain='EAGAIN'
ebcdic='undef'
@@ -979,6 +980,7 @@
use64bitint='undef'
usecrosscompile='undef'
usedl='define'
+usedtrace='undef'
usefaststdio='undef'
useithreads='undef'
uselargefiles='undef'
==== //depot/perl/win32/config.vc#183 (text) ====
Index: perl/win32/config.vc
--- perl/win32/config.vc#182~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config.vc 2008-01-11 05:36:54.000000000 -0800
@@ -518,6 +518,7 @@
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
+dtrace=''
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs'
eagain='EAGAIN'
ebcdic='undef'
@@ -979,6 +980,7 @@
use64bitint='undef'
usecrosscompile='undef'
usedl='define'
+usedtrace='undef'
usefaststdio='undef'
useithreads='undef'
uselargefiles='undef'
==== //depot/perl/win32/config.vc64#53 (text) ====
Index: perl/win32/config.vc64
--- perl/win32/config.vc64#52~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config.vc64 2008-01-11 05:36:54.000000000 -0800
@@ -518,6 +518,7 @@
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
+dtrace=''
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs'
eagain='EAGAIN'
ebcdic='undef'
@@ -979,6 +980,7 @@
use64bitint='define'
usecrosscompile='undef'
usedl='define'
+usedtrace='undef'
usefaststdio='undef'
useithreads='undef'
uselargefiles='undef'
==== //depot/perl/win32/config_H.bc#176 (text+w) ====
Index: perl/win32/config_H.bc
--- perl/win32/config_H.bc#175~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config_H.bc 2008-01-11 05:36:54.000000000 -0800
@@ -4372,6 +4372,12 @@
/*#define OLD_PTHREADS_API /**/
/*#define USE_REENTRANT_API /**/
+/* USE_DTRACE
+ * This symbol, if defined, indicates that Perl should
+ * be built with support for DTrace.
+ */
+/*#define USE_DTRACE / **/
+
/* PERL_VENDORARCH:
* If defined, this symbol contains the name of a private library.
* The library is private in the sense that it needn't be in anyone's
==== //depot/perl/win32/config_H.ce#9 (text) ====
Index: perl/win32/config_H.ce
--- perl/win32/config_H.ce#8~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config_H.ce 2008-01-11 05:36:54.000000000 -0800
@@ -3664,6 +3664,12 @@
/*#define OLD_PTHREADS_API /**/
/*#define USE_REENTRANT_API /**/
+/* USE_DTRACE
+ * This symbol, if defined, indicates that Perl should
+ * be built with support for DTrace.
+ */
+/*#define USE_DTRACE / **/
+
/* PERL_VENDORARCH:
* If defined, this symbol contains the name of a private library.
* The library is private in the sense that it needn't be in anyone's
==== //depot/perl/win32/config_H.gc#170 (text+w) ====
Index: perl/win32/config_H.gc
--- perl/win32/config_H.gc#169~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config_H.gc 2008-01-11 05:36:54.000000000 -0800
@@ -4402,6 +4402,12 @@
/*#define OLD_PTHREADS_API /**/
/*#define USE_REENTRANT_API /**/
+/* USE_DTRACE
+ * This symbol, if defined, indicates that Perl should
+ * be built with support for DTrace.
+ */
+/*#define USE_DTRACE / **/
+
/* PERL_VENDORARCH:
* If defined, this symbol contains the name of a private library.
* The library is private in the sense that it needn't be in anyone's
==== //depot/perl/win32/config_H.vc#173 (text+w) ====
Index: perl/win32/config_H.vc
--- perl/win32/config_H.vc#172~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config_H.vc 2008-01-11 05:36:54.000000000 -0800
@@ -4398,6 +4398,12 @@
/*#define OLD_PTHREADS_API /**/
/*#define USE_REENTRANT_API /**/
+/* USE_DTRACE
+ * This symbol, if defined, indicates that Perl should
+ * be built with support for DTrace.
+ */
+/*#define USE_DTRACE / **/
+
/* PERL_VENDORARCH:
* If defined, this symbol contains the name of a private library.
* The library is private in the sense that it needn't be in anyone's
==== //depot/perl/win32/config_H.vc64#55 (text) ====
Index: perl/win32/config_H.vc64
--- perl/win32/config_H.vc64#54~32705~ 2007-12-22 09:51:03.000000000 -0800
+++ perl/win32/config_H.vc64 2008-01-11 05:36:54.000000000 -0800
@@ -4372,6 +4372,12 @@
/*#define OLD_PTHREADS_API /**/
/*#define USE_REENTRANT_API /**/
+/* USE_DTRACE
+ * This symbol, if defined, indicates that Perl should
+ * be built with support for DTrace.
+ */
+/*#define USE_DTRACE / **/
+
/* PERL_VENDORARCH:
* If defined, this symbol contains the name of a private library.
* The library is private in the sense that it needn't be in anyone's
End of Patch.