atom feed19 messages in org.opensolaris.dtrace-discuss[dtrace-discuss] Missing -G flag in O...
FromSent OnAttachments
Robert LorOct 26, 2007 8:27 am 
Adam LeventhalOct 26, 2007 8:44 am 
Steve PetersOct 26, 2007 10:08 am 
Adam LeventhalOct 26, 2007 10:37 am 
Jarod JensonOct 26, 2007 11:57 am 
Robert LorOct 26, 2007 1:37 pm 
Adam LeventhalOct 26, 2007 2:25 pm 
Robert LorOct 26, 2007 2:51 pm 
Adam LeventhalOct 26, 2007 3:27 pm 
Adam LeventhalOct 27, 2007 9:39 am 
James McIlreeOct 29, 2007 1:42 pm 
Adam LeventhalOct 29, 2007 4:48 pm 
James McIlreeOct 29, 2007 5:44 pm 
Adam LeventhalOct 30, 2007 6:16 pm 
Steve PetersOct 31, 2007 9:17 am 
Adam LeventhalOct 31, 2007 9:21 am 
Robert LorNov 2, 2007 1:36 pm 
James McIlreeNov 5, 2007 11:50 am 
Robert LorNov 5, 2007 2:36 pm 
Subject:[dtrace-discuss] Missing -G flag in OSX Dtrace port
From:Adam Leventhal (ah@eng.sun.com)
Date:Oct 29, 2007 4:48:16 pm
List:org.opensolaris.dtrace-discuss

On Mon, Oct 29, 2007 at 01:43:19PM -0700, James McIlree wrote:

OS X doesn't support the older DTRACE_PROBE style macros, only the newer (and much safer!) typechecked generated header files.

That makes sense to me, but some folks -- such as the Postgres folks -- were fond of the DTRACE_PROBE syntax. It might be worth figuring out why...

We did actually look at trying to support a compatibility mode with -G being a no-op, but that turned out to be something of a slippery slope. The harder I pulled on that thread, the more corner cases I found where it fell over. As Steve mentioned, we know its an issue, and I filed:

<rdar://problem/5566030> Emulate dtrace -G for compatibility

Excellent. I wrote a wrapper script that emulates -G by just emitting an effectively empty object file. Is there some edge case in which that technique would be insufficient?

Your insight about the is-enabled probes is on target, if you attempt to only use is-enabled probes, and never reference the actual dtrace probe, you'll get link time errors.

I'm surprised the DTrace test suite didn't pick that up. Specifically, this guy should have failed:

usr/src/cmd/dtrace/test/tst/common/usdt/tst.onlyenabled.ksh

Do you have a bug filed on this or should I file one?

Adam