hotspot dtrace support in soylatte
Michael Allman
msa at allman.ms
Fri Jan 11 20:41:57 PST 2008
Hello All,
After working on this problem for a few weeks, I was hoping this could be
a great big happy announcement that I've ported the Solaris Hotspot dtrace
probes to Soylatte on Leopard. However, I have to admit I am stuck and at
a loss for how to proceed. If this were a Java problem, I'd have it
solved by now. But frankly, at this level of C/C++ I don't know WTF I'm
doing, and what I have done is more like a half blind merge of code from
os/solaris to os/bsd. So apologies for coming here with little to offer.
FWIW, this is the error I get where I'm stuck:
Compiling dtrace.d
/usr/sbin/dtrace -C -I. -h -o dtrace.o -s dtrace.d \
classLoadingService.o hashtable.o java.o jni.o memoryManager.o
objectMonitor_bsd.o runtimeService.o sharedRuntime.o synchronizer.o
thread.o vmCMSOperations.o vmGCOperations.o ciEnv.o compileBroker.o
nmethod.o ||\
STATUS=$?;\
if [ x"$STATUS" = x"1" -a \
x`uname -r` = x"5.10" -a \
x`uname -p` = x"sparc" ]; then\
echo
"*****************************************************************";\
echo "* If you are building server compiler, and the error message is
";\
echo "* \"incorrect ELF machine type...\", you have run into solaris
bug ";\
echo "* 6213962, \"dtrace -G doesn't work on sparcv8+ object
files\".";\
echo "* Either patch/upgrade your system (>= S10u1_15), or set the ";\
echo "* environment variable HOTSPOT_DISABLE_DTRACE_PROBES to disable
";\
echo "* dtrace probes for this build.";\
echo
"*****************************************************************";\
fi;\
exit $STATUS
dtrace: failed to compile script dtrace.d: line 963: extraneous argument
'nmethod.o' ($15 is not referenced)
I had to hack quite a few things just to get this far. I can probably
provide a patch against Landon Fuller's branch at
http://hg.bikemonkey.org/javasrc_1_6_jrl_darwin/ to anyone who's seriously
interested, but I think that someone with the right skills and motivation
could probably reproduce my work --- and more to the point, do it
correctly --- on their own in a matter of hours.
Perhaps someone with dtrace expertise can explain the problem here. I
fear it's a limitation of Leopard's port of DTrace. But anyway, what
would be extra super would be someone who knows WTF they're doing taking a
look at soylatte and dtrace on Leopard and letting me know if this port
has any chance of working.
Thanks.
Michael
More information about the porters-dev
mailing list