• Namhyung Kim's avatar
    vsprintf: Introduce %pB format specifier · 0f77a8d3
    Namhyung Kim authored
    The %pB format specifier is for stack backtrace. Its handler
    sprint_backtrace() does symbol lookup using (address-1) to
    ensure the address will not point outside of the function.
    
    If there is a tail-call to the function marked "noreturn",
    gcc optimized out the code after the call then causes saved
    return address points outside of the function (i.e. the start
    of the next function), so pollutes call trace somewhat.
    
    This patch adds the %pB printk mechanism that allows architecture
    call-trace printout functions to improve backtrace printouts.
    Signed-off-by: default avatarNamhyung Kim <namhyung@gmail.com>
    Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: linux-arch@vger.kernel.org
    LKML-Reference: <1300934550-21394-1-git-send-email-namhyung@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    0f77a8d3
vsprintf.c 51.2 KB