[DTrace-devel] [PATCH v2] build: add gdb and valgrind support to the run-dtrace wrapper

Nick Alcock nick.alcock at oracle.com
Thu May 18 15:02:22 UTC 2023


On 18 May 2023, Kris Van Hees verbalised:

> On Wed, May 17, 2023 at 08:47:22PM +0100, Nick Alcock via DTrace-devel wrote:
>> Now, rather than having to mess around setting SYSLIBDIR and
>> LD_LIBRARY_PATH yourself to debug a just-built dtrace, you can
>> just run DTRACE_GDB=t build/run-dtrace or
>> DTRACE_VALGRIND=t build/run-dtrace
>> 
>> GDB is run with --args. Valgrind is run with no args other that the
>> just-built dtrace's for now.
>> 
>> Signed-off-by: Nick Alcock <nick.alcock at oracle.com>
>
> Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>

Thanks!

> ... but ...
>
>> ---
>>  cmd/Build | 16 ++++++++++++----
>>  1 file changed, 12 insertions(+), 4 deletions(-)
>> 
>> diff --git a/cmd/Build b/cmd/Build
>> index 644a3449d2ffc..be1514410d641 100644
>> --- a/cmd/Build
>> +++ b/cmd/Build
>> @@ -27,16 +27,24 @@ bpf_dump_LIBS = -lelf
>>  
>>  $(objdir)/run-dtrace: $(DTRACE)
>>  	printf > $@ "\
>> -#!/bin/sh\n\
>> +#!/bin/bash\n\
>
> I still think /usr/bin/bash is the more appropriate pathname, given that quite
> often /bin is a symbolic link to /usr/bin, so the canonical location is
> /usr/bin.  Obviously, almost always both will work, but I think it is better
> practice to refer to the actual installed location rather than to the location
> that works because the distro provides that symbolic link.

I'm going by consistency with every single other script in DTrace :)

I still dream of a future universe in which /usr is a symlink to / on
new installations, dammit. That's much better than the transitional pile
of symlinks *into* /usr we actually got.

> But I'll let it stay as /bin/bash because the same (IMHO wrong) practice has
> been used in many other scripts.

You're probably right -- but that's a separate, bigger commit. It's
definitely wrong to be inconsistent...



More information about the DTrace-devel mailing list