develooper Front page | perl.perl5.porters | Postings from December 2010

[perl #73630] [PATCH] DTrace Enabled Build Fails (missing object files)

From:
David Leadbeater via RT
Date:
December 28, 2010 17:13
Subject:
[perl #73630] [PATCH] DTrace Enabled Build Fails (missing object files)
Message ID:
rt-3.6.HEAD-5425-1293576411-210.73630-15-0@perl.org
Seems my previous attempt didn't get Cc'd to p5p correctly.

On Tue Dec 21 16:58:13 2010, dgl wrote:
> From: David Leadbeater <dgl@dgl.cx>
> 
> As outlined in the RT ticket due to miniperl's dependencies differing
>    to
> the final perl binary dtrace -G needs to be called separately for
>    each.
> 
> Build tested on Mac OS X 10.6, Solaris 11 and Scientific Linux with
> SystemTap from git.
> 
> (Solaris is the only system I have access to where DTRACE_O actually
>    gets
> defined. Neither the dtrace binary on OS X nor SystemTap's dtrace
> compatibility layer accept the -G option.)
> ---
>  Makefile.SH |   13 ++++++++++---
>  1 files changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/Makefile.SH b/Makefile.SH
> index 9d8df27..a34416a 100755
> --- a/Makefile.SH
> +++ b/Makefile.SH
> @@ -215,11 +215,13 @@ done
> 
>  dtrace_h=''
>  dtrace_o=''
> +minidtrace_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)'
> +		&& rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)' \
> +		&& minidtrace_o='miniperldtrace$(OBJ_EXT)'
>  	;;
>  esac
> 
> @@ -332,6 +334,7 @@ VALGRIND=valgrind
>  DTRACE = $dtrace
>  DTRACE_H = $dtrace_h
>  DTRACE_O = $dtrace_o
> +MINIDTRACE_O = $minidtrace_o
> 
>  FIRSTMAKEFILE = $firstmakefile
> 
> @@ -454,7 +457,8 @@ obj1 = $(madlyobj) $(mallocobj) gv$(OBJ_EXT)
>    toke$(OBJ_EXT) perly$(OBJ_EXT) pad$
>  obj2 = hv$(OBJ_EXT) av$(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) 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)
> 
> -mini_obj =  $(obj1) $(obj2) $(obj3) $(ARCHOBJS) $(DTRACE_O)
> +minindt_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
> +mini_obj = $(minindt_obj) $(MINIDTRACE_O)
>  ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
>  obj = $(ndt_obj) $(DTRACE_O)
> 
> @@ -742,9 +746,12 @@ mydtrace.h: $(DTRACE_H)
>  	case "$dtrace_o" in
>  	?*)
>  		$spitshell >>$Makefile <<'!NO!SUBS!'
> -$(DTRACE_O): perldtrace.d
> +$(DTRACE_O): perldtrace.d $(ndt_obj)
>  	$(DTRACE) -G -s perldtrace.d -o $(DTRACE_O) $(ndt_obj)
> 
> +$(MINIDTRACE_O): perldtrace.d $(minindt_obj)
> +	$(DTRACE) -G -s perldtrace.d -o $(MINIDTRACE_O) $(minindt_obj)
> +
>  !NO!SUBS!
>  		;;
>      esac






nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About