CRiSP Blog

Dtrace weirdness (really, me weirdness)

I spent much of the week chasing an issue in why the usdt/c example
wouldnt compile or build. I hadnt really changed anything in this area, yet
an invalid simple.o was being created (invalid in an ELF sense).

I tracked down a partial reason to be that in calling libelf.a, the enum's
we pick up from the elf.h header file(s) didnt agree with what libelf.a was
expecting. (Very weird - looks like the Solaris elf header and Linux header
dont agree).

What I dont understand is why this suddenly hit. I am thinking one of my
Ubuntu updates caused a discrepancy to the header and libraries, and I have
been chasing my tail.

Early on in dtrace/linux evolution, I did a bunch of work to dt_link.c
to all USDT probes to work, and I was happy with my changes. Just now, I reverted
all of them, and my USDT problems went away.

Something fishy is going on here - so I urge caution when I do the next distro.
It maybe my build environment is polluted/broken and that may cause differences
between what I observe and what dtrace users see on their systems.

Post created by CRiSP v10.0.2a-b5887

Read more


"I am a newcomer to Linux, and I was very disappointed with "standard" UNIX editors like vi and emacs. The user interface is so unfriendly and the feature set is so antiquated. I heard about CRiSP on the comp.editors newsgroup and downloaded a free demo...It's just wonderful! Thoroughly modern, easy to use, powerful, flexible; it's what a UNIX programmer's editor should be."