On 7 Nov 2013 09:06, "Jovi Zhangwei" <jovi.zhangwei@xxxxxxxxx> wrote: > > On Thu, Nov 7, 2013 at 11:55 AM, Azat Khuzhin <a3at.mail@xxxxxxxxx> wrote: > > > > On 7 Nov 2013 07:29, "Jovi Zhangwei" <jovi.zhangwei@xxxxxxxxx> wrote: > >> > >> On Wed, Nov 6, 2013 at 5:51 PM, Azat Khuzhin <a3at.mail@xxxxxxxxx> wrote: > >> > This will allow to don't hardcoding addresses of functions in ktap > >> > scripts, that use uprobes, but instead, use normal function names. > >> > > >> > Before this patch: > >> > $ ktap -e 'trace probe:/path/to/bin:0xDEADBEAF' # instead some real > >> > address > >> > > >> > After this path: > >> > $ ktap -e 'trace probe:/path/to/bin:foo' > >> > > >> > Works also for ret probes (%return) > >> > Requires libelf. > >> > > >> > Have NO_LIBELF option for makefile, for cross-builds. > >> > > >> > Signed-off-by: Azat Khuzhin <a3at.mail@xxxxxxxxx> > >> > --- > >> > v2: make it more pretty > >> > v3: make it faster (thanks to Yicheng) > >> > v4: add NO_LIBELF option into Makefile, and more common parsing > >> > v5: fix leaking of "tail" > >> > v6: coding styles fixes > >> > > >> Applied, thank you. > >> > >> Now we can use symbol(like malloc and free) in ktap uprobe scripts, a big > >> step. > > > > Nice! > > I see you also changed examples, thanks. > > > Btw, you have opened the gate for elf debugging info resolving, actually there > still have a big feature missed in ktap uprobe: SDT markers > > In my machine, there have many built-in sdt in glibc, see below: > > # readelf -n /lib64/libc.so.6 > setjmp, longjmp, longjmp_target, lll_futex_wake, lll_lock_wait_private > > There also have many other program with compiled sdt, like JVM, Erlang, MySQL, > NodeJS, etc. so SDT marker parsing would be a useful feature for dynamic tracing > tool (already supported in Systemtap/Dtrace). > > They also plan to support SDT markers in perf. (ongoing work) > (https://lkml.org/lkml/2013/10/23/10) > > How about SDT markers support in ktap? I thought about this a little before. > > trace sdt:libc:setjmp { > print(execname(), argevent) > } > > So, if anyone interest on implement this, that's would be great. > (the implementation wouldn't be hard to start because we have some minimal elf > reading code in there now, and there also have perf-sdt patch demo.) Yeah, I agree, it wouldn't be hard. I can implement this on weekends I hope. (I also need to make symbol module more common and simple) Azat. > > Jovi >