[DTrace-devel] [PATCH 01/17] Revert "Remove drti.o and related support code."

Nick Alcock nick.alcock at oracle.com
Wed Sep 7 10:22:06 UTC 2022


On 31 Aug 2022, Eugene Loh via DTrace-devel said:

> This patch backs out the earlier patch as advertised.  Then I try:
[...]
> So, to summarize:
>
> *)  With this patch, the pid probe runs into the "drti.o ELF machine type" problem.

That's unavoidable. I'd like to keep this a straight revert (because
it's much easier to understand that way), but unfortunately that means
it runs into a *pre-existing* problem that the BPF code assumes that
everything in ${libdir}/dtrace/*.o is a BPF object, which drti.o is not.

I'll move the patch to fix that next in the series, so at least this is
only broken for one commit :)

> *)  If I jump to the end of the patch series, the first problem is resolved, but pid probes with multiple clauses do not fire.

I still have no idea what's going on here. The assembler created is
identical (modulo changes in PIDs, etc); the attachment of the BPF to
the uprobe, and the uprobe registration, must be fine or single-clause
pid probes wouldn't fire either; and I haven't touched the thing that
iterates over clauses at all (I have changed the code before it, but not
in a way that should influence this, as far as I can see). Still, I'll
look more at dt_cg_tramp_call_clauses and dt_cg_call_clause, because
something I've done in the dt_prov_pid trampoline() *must* have broken
it. I just don't know what.



More information about the DTrace-devel mailing list