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
Steve Wills
November 22, 2016 02:31
Re: [perl #130108] Perl 5.24.1 fails to compile with DTrace enabledon FreeBSD
Message ID:
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.


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                          perl_run
>> op-entry
>> 70180  perl99307                        perl_parse
>> op-entry
>> 70181  perl99307                     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 Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About