strace -k and multiple personalities

Luca Clementi luca.clementi at
Mon Jun 9 04:31:12 UTC 2014

On Sat, Jun 7, 2014 at 12:17 AM, enh <enh at> wrote:
> it seems like you don't dlopen the libunwind at runtime, so if you're only
> linked against one libunwind, how can you unwind the other personalities?

I wonder what is the clean way to handle this situation in libunwind
since most of their functions are expanded (with c macro) at compile
time to the platform dependent version, for example unw_get_reg

$ objdump -x strace | grep get_reg | grep UND
0000000000000000       F *UND*  0000000000000000              _Ux86_64_get_reg

So in theory we could even statically declare a link against both
-lunwind-x86_64 and -lunwind-x86 (or the corresponding ARM libs) and
then do a bunch of dlsym with the arch dependent function names in
case we are stracing different personalities.
That will get quite messy though.


> On Fri, Jun 6, 2014 at 11:45 PM, Masatake YAMATO <yamato at> wrote:
>> Could you tell me more?
>> May be there are difficulties but I don't know it.
>> > i'm a bit confused about how -k is supposed to work for multiple
>> > personalities. is there a plan?
>> >
>> >   --elliott
>> Masatake YAMATO
> --
> Elliott Hughes - http://who/enh -
> Java i18n/JNI/NIO, or bionic questions? Mail me/drop by/add me as a
> reviewer.
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> _______________________________________________
> Strace-devel mailing list
> Strace-devel at

More information about the Strace-devel mailing list