[ANNOUNCE] uftrace v0.15 is released!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



I'm pleased to announce a new release of uftrace v0.15.
You can get it from the below link:


This version adds experimental RISC-V (64 bit) archirecture support
as well as many bug fixes and improvements.

>From now on, uftrace can trace functions of RV64G binaries compiled by
gcc/clang with appropriate options (-pg or -finstrument-functions).
Library functions are also traced and you can see the arguments and
return values too.  There are issues in argument handling, but library
functions should be fine.

For example, the following command shows library calls longer than 3
usec (with arguments and return values) in the `uname` command.

    $ uftrace --force -a -t 3us -- uname -m
     263.004 us [138960] | strrchr("uname", '/') = "NULL";
      87.751 us [138960] | setlocale(LC_ALL, "") = "NULL";
       5.000 us [138960] | bindtextdomain("coreutils", "/usr/share/locale");
       4.000 us [138960] | getopt_long(2, 0x3fecdcf328, "asnrvmpio") = 109;
       4.000 us [138960] | uname();
       8.250 us [138960] | fputs_unlocked();
     443.257 us [138960] | __overflow();
       3.250 us [138960] | __fpending();
       4.500 us [138960] | fclose(&_IO_2_1_stdout_) = 0;

However dynamic tracing is not supported yet.  (It will come later!)

Another important change is in the kernel tracing.  As libtraceevent is
available on recent distros, the kernel tracing uses the system installed
library and drops the old copy in the uftrace source.  This should help
resolving possible future kernel issues and reduce the maintenance burden.

Also some distros build binaries without PLT and it can confuse uftrace
about the library call tracing.  It now detects the case by verifying
PLT entries not to miss library calls without it.

And of course, there are many more things.  Please refer to the github
page for details.  Thank you all for making uftrace more useful,
efficient and portable!


[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux