develooper Front page | perl.perl5.porters | Postings from November 2016

Re: [perl #130108] Perl 5.24.1 fails to compile with DTrace enabledon FreeBSD

Thread Next
From:
Steve Wills
Date:
November 22, 2016 02:31
Subject:
Re: [perl #130108] Perl 5.24.1 fails to compile with DTrace enabledon FreeBSD
Message ID:
4f8a031a-9d96-08e4-75f1-9b58d6fbce4c@mouf.net
The reason perl has no probes is because when dtrace -G is called, it
overwrites the probe sites in the .o files with NOPs. Which means when
the same .o files that were used for miniperl are used for perl, they
lack probes.

Steve

On 11/20/2016 20:04, Tony Cook via RT wrote:
> On Wed, 16 Nov 2016 20:36:28 -0800, swills wrote:
>> Hi,
>>
>> Thanks, that fixes the build. But I only see 3 probes in perl:
>>
>> 70179  perl99307   libperl.so.5.24                          perl_run
>> op-entry
>> 70180  perl99307   libperl.so.5.24                        perl_parse
>> op-entry
>> 70181  perl99307   libperl.so.5.24                     perl_destruct
>> op-entry
> This looks like you're doing a -Duseshrplib build.
>
> I tried that and couldn't even build miniperl, getting an unhelpful error:
>
> /usr/sbin/dtrace -G -s perldtrace.d -o dtrace_mini.o opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o dquote.o time64.o  miniperlmain.o
> dtrace: failed to link script perldtrace.d: an error was encountered while processing util.o
>
> I tried a non -Duseshrplib and got no probes at all, the generated executable does include dtrace entry point symbols
> but show no probes.
>
> The miniperl generated from largely the same object files did have probes.
>
> Unfortunately dtrace is opaque enough that there's really no way for us to fix this.
>
> I'll do some checking on Solaris, but I suspect this will need
> some support from FreeBSD people who know there way around userland dtrace.
>
> Tony


Thread Next


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