Hi, Wouldn't be easier to pass the DTRACE and DTRACEFLAGS arguments to the prelink.sh script in Makefile.am as well, instead of creating it from an .in file ? Other than that, I think this is ok to check in. I still don't like the makefile changes, but at least they are inside an ifdef, so they won't break anything.
Zoltan On Sat, May 31, 2008 at 12:09 AM, Andreas Färber <[EMAIL PROTECTED]> wrote: > Hello, > > Here's an updated version of my patch, adding initial DTrace support to the > Mono runtime. > > A new hand-crafted header file has been added, which is to be included in > place of the generated header file. It defines MONO_PROBE_* macros as > requested by Zoltan. The generated header file is then only needed iff > DTrace is enabled. > > Ugly build steps for Solaris were moved to a shell script. It extracts > object files from their library to a temporary directory, patches them and > puts them back in. This helps keep Makefiles clean and provides a one-stop > resource to fix things, should they break. Tested on OpenSolaris 2008.05 > i86. (Warning: I am not experienced in writing shell scripts.) > > It appears the problem with the gc-end probe on Solaris was due to some kind > of compiler optimization or the like. Adding a trailing sleep(0) call made > it work; I have limited this workaround to when the gc-end probe is enabled > on Solaris, to minimize the impact. Better ideas welcome. If we do stick > with it and it turns out this is needed in more void functions, we could > consider turning this into a MONO_PROBE_* macro to keep source files clean. > > Signed-off-by: Andreas Faerber <[EMAIL PROTECTED]> > > Change Log v2: > > * dtrace-prelink.sh.in: New > Script to prevent ugly Solaris hacks in Makefiles. > > * configure.in: > Prepare support for OSX/x86_64 (untested) > Output dtrace-prelink.sh script. > > * data/mono.d: Renamed (from mono-trace.d) > Added standard Mono header. > Added generation argument to gc-{begin,end} probes. > Added explicit stability attributes. > > * mono/utils/dtrace.h: New > Wrapper around generated mono/utils/mono-dtrace.h. > Define MONO_PROBE_* macros. > > * mono/utils/Makefile.am: > We no longer need to postprocess the generated header file. > > * mono/metadata/Makefile.am, > mono/mini/Makefile.am: > Use new dtrace-prelink.sh script. > > * mono/mini/mini.c, > mono/metadata/boehm-gc.c: > Use new macros > > * mono/metadata/boehm-gc.c: > Add workaround to make gc-end probe work on Solaris. > > Andreas > > > > > > _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list