Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:50311 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31796 invoked from network); 18 Nov 2010 00:01:09 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2010 00:01:09 -0000 Received: from [127.0.0.1] ([127.0.0.1:18502]) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ECSTREAM id 7C/DC-40885-5CC64EC4 for ; Wed, 17 Nov 2010 19:01:09 -0500 Authentication-Results: pb1.pair.com smtp.mail=mike@harschsystems.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=mike@harschsystems.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain harschsystems.com from 64.202.165.36 cause and error) X-PHP-List-Original-Sender: mike@harschsystems.com X-Host-Fingerprint: 64.202.165.36 smtpauth20.prod.mesa1.secureserver.net Linux 2.4/2.6 Received: from [64.202.165.36] ([64.202.165.36:47202] helo=smtpauth20.prod.mesa1.secureserver.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A9/CC-40885-8D764EC4 for ; Wed, 17 Nov 2010 18:40:09 -0500 Received: (qmail 30758 invoked from network); 17 Nov 2010 23:40:05 -0000 Received: from unknown (67.174.103.176) by smtpauth20.prod.mesa1.secureserver.net (64.202.165.36) with ESMTP; 17 Nov 2010 23:40:04 -0000 Message-ID: <4CE467D3.70305@harschsystems.com> Date: Wed, 17 Nov 2010 16:40:03 -0700 User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6 MIME-Version: 1.0 To: internals@lists.php.net Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: building DTrace support (currently broken) From: mike@harschsystems.com (Mike Harsch) Hello php internals list, My name is Mike Harsch. I'm new here, so please set me straight on matters of etiquette and protocol. I've recently been spending a lot of time using the DTrace feature in the 5.3.99-dev code base (--enable-dtrace). I was disappointed to find out that Revision 305329 broke this feature severely. I have a patch (http://pastebin.com/SZnvz3L0) that fixes the problem by re-inserting some of the necessary functionality that was removed in 305329. This patch should be applied to Rev 305455 (very recent). I believe the primary confusion here is the platform-specific way in which DTrace USDT probes are compiled on the various platforms that have DTrace. Specifically, Solaris requires an intermediate compilation step, while Mac OS X does not. For details on how this is done on Solaris, see: http://dtrace.org/blogs/ahl/2006/05/08/user-land-tracing-gets-better-and-better/ and http://blogs.sun.com/dap/entry/writing_a_dtrace_usdt_provider For the Mac OS X way of doing this (much simpler), see the section "Building code containing USDT Probes" in the dtrace(1M) man page for Darwin: http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/dtrace.1.html I've heard that FreeBSD has DTrace also, but I don't have any experience on that platform, so I can't comment on the procedure for building USDT probes there. I'm happy to help however I can to get this feature working again. I don't have much experience with autoconf, so it's likely that my patch is sub-optimal, but I've tested it on Solaris and Mac OS X and I know it works (conversely, I can assure you that --enable-dtrace is completely broken on both platforms as of 305329). Cheers, Mike