• N
    vsprintf: Introduce %pB format specifier · 0f77a8d3
    Namhyung Kim 提交于
    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: NNamhyung Kim <namhyung@gmail.com>
    Acked-by: NSteven Rostedt <rostedt@goodmis.org>
    Acked-by: NFrederic 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: NIngo Molnar <mingo@elte.hu>
    0f77a8d3
vsprintf.c 51.2 KB