uaddr and friends

carlos antonio neira bustos cneirabustos at gmail.com
Wed Apr 16 00:35:19 UTC 2014


Hi All,

I was looking at Dtrace todo list from https://wiki.freebsd.org/DTraceTODO
and started to work on : Get uaddr(), ufunc(), umod(), and usym() action
funtions working.
I have  the  data recording action (uaddr)  working  now, here is an
example:

root at bsd:/home/cneira # dtrace -n 'pid$target::main:{uaddr(uregs[R_PC])}'
-c ./test
dtrace: description 'pid$target::main:' matched 2 probes
abCPU     ID                    FUNCTION:NAME
  0  56282                       main:entry
              test`main+0x1

  0  56281                      main:return
              test`main+0x23

dtrace: pid 9687 has exited

Here is the output of nm from the test binary I have used to check this
change.

        U _init_tls@@FBSD_1.0
08048380 T _start
080483a0 t _start1
0804814c r abitag
         U atexit@@FBSD_1.0
08048164 r crt_noinit_tag
080485c0 T dosomething
08049764 B environ
         U exit@@FBSD_1.0
080484f0 t finalizer
08048560 t frame_dummy
08048590 T main
         U putchar@@FBSD_1.0


root at bsd:/home/cneira # dtrace -c ./test -n 'pid$target::main:entry{
uaddr(0x080485c0); }'
dtrace: description 'pid$target::main:entry' matched 1 probe
abCPU     ID                    FUNCTION:NAME
  0  56281                       main:entry
              test`dosomething

dtrace: pid 9736 has exited

I'll continue working on the rest, how do I submit  a patch with these
changes ?

Bests


More information about the freebsd-dtrace mailing list