uaddr and friends

Mark Johnston markj at freebsd.org
Wed Apr 16 01:09:04 UTC 2014


On Tue, Apr 15, 2014 at 8:35 PM, carlos antonio neira bustos
<cneirabustos at gmail.com> wrote:
> 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:

Hi!

Hm, these should have been (at least mostly) working since r258902:
http://svnweb.freebsd.org/base?view=revision&revision=258902

>
> 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 ?

Pasting it inline is generally fine if it's not too large. It's also
ok to put it in a public directory somewhere and post a link to it.

-Mark


More information about the freebsd-dtrace mailing list