• Heiko Carstens's avatar
    s390: add USER_STACKTRACE support · aa44433a
    Heiko Carstens authored
    Use the perf_callchain_user() code as blueprint to also add support for
    USER_STACKTRACE. To describe how to use this cite the commit message of the
    LoongArch implementation which came with commit 4d7bf939 ("LoongArch:
    Add USER_STACKTRACE support"), but replace -fno-omit-frame-pointer option
    with the s390 specific -mbackchain option:
    ====================================================================== To
    get the best stacktrace output, you can compile your userspace programs
    with frame pointers (at least glibc + the app you are tracing).
    
    1, export "CC = gcc -mbackchain";
    2, compile your programs with "CC";
    3, use uprobe to get stacktrace output.
    
    ...
         echo 'p:malloc /usr/lib64/libc.so.6:0x0a4704 size=%r2:u64' > uprobe_events
         echo 'p:free /usr/lib64/libc.so.6:0x0a4d50 ptr=%r2:u64' >> uprobe_events
         echo 'comm == "demo"' > ./events/uprobes/malloc/filter
         echo 'comm == "demo"' > ./events/uprobes/free/filter
         echo 1 > ./options/userstacktrace
         echo 1 > ./options/sym-userobj
    ...
    ======================================================================
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    aa44433a
Kconfig 25.2 KB