| From ff767260d21f52acce114b13457ac4ea85aeb480 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 31 Mar 2025 21:26:42 -0700 |
| Subject: objtool: Fix verbose disassembly if CROSS_COMPILE isn't set |
| |
| From: David Laight <david.laight.linux@gmail.com> |
| |
| [ Upstream commit e77956e4e5c11218e60a1fe8cdbccd02476f2e56 ] |
| |
| In verbose mode, when printing the disassembly of affected functions, if |
| CROSS_COMPILE isn't set, the objdump command string gets prefixed with |
| "(null)". |
| |
| Somehow this worked before. Maybe some versions of glibc return an |
| empty string instead of NULL. Fix it regardless. |
| |
| [ jpoimboe: Rewrite commit log. ] |
| |
| Fixes: ca653464dd097 ("objtool: Add verbose option for disassembling affected functions") |
| Signed-off-by: David Laight <david.laight.linux@gmail.com> |
| Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Link: https://lore.kernel.org/r/20250215142321.14081-1-david.laight.linux@gmail.com |
| Link: https://lore.kernel.org/r/b931a4786bc0127aa4c94e8b35ed617dcbd3d3da.1743481539.git.jpoimboe@kernel.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/objtool/check.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/tools/objtool/check.c b/tools/objtool/check.c |
| index 36412f1881e61..9102ad5985cc0 100644 |
| --- a/tools/objtool/check.c |
| +++ b/tools/objtool/check.c |
| @@ -4550,6 +4550,8 @@ static int disas_funcs(const char *funcs) |
| char *cmd; |
| |
| cross_compile = getenv("CROSS_COMPILE"); |
| + if (!cross_compile) |
| + cross_compile = ""; |
| |
| objdump_str = "%sobjdump -wdr %s | gawk -M -v _funcs='%s' '" |
| "BEGIN { split(_funcs, funcs); }" |
| -- |
| 2.39.5 |
| |