diff options
Diffstat (limited to 'target/linux/generic/pending-5.4/205-backtrace_module_info.patch')
-rw-r--r-- | target/linux/generic/pending-5.4/205-backtrace_module_info.patch | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/target/linux/generic/pending-5.4/205-backtrace_module_info.patch b/target/linux/generic/pending-5.4/205-backtrace_module_info.patch index 5671173d45..857db9a930 100644 --- a/target/linux/generic/pending-5.4/205-backtrace_module_info.patch +++ b/target/linux/generic/pending-5.4/205-backtrace_module_info.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- a/lib/vsprintf.c +++ b/lib/vsprintf.c -@@ -681,8 +681,10 @@ char *symbol_string(char *buf, char *end +@@ -907,8 +907,10 @@ char *symbol_string(char *buf, char *end struct printf_spec spec, const char *fmt) { unsigned long value; @@ -23,16 +23,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> #endif if (fmt[1] == 'R') -@@ -696,11 +698,16 @@ char *symbol_string(char *buf, char *end - sprint_symbol(sym, value); - else - sprint_symbol_no_offset(sym, value); -- -- return string(buf, end, sym, spec); +@@ -925,8 +927,14 @@ char *symbol_string(char *buf, char *end + + return string_nocheck(buf, end, sym, spec); #else - return special_hex_number(buf, end, value, sizeof(void *)); + len = snprintf(sym, sizeof(sym), "0x%lx", value); -+ + mod = __module_address(value); + if (mod) + snprintf(sym + len, sizeof(sym) - len, " [%s@%p+0x%x]", |