]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
objtool: Record symbol name max length
authorAlexandre Chartre <alexandre.chartre@oracle.com>
Fri, 21 Nov 2025 09:53:19 +0000 (10:53 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 21 Nov 2025 14:30:09 +0000 (15:30 +0100)
Keep track of the maximum length of symbol names. This will help
formatting the code flow between different functions.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-10-alexandre.chartre@oracle.com
tools/objtool/check.c

index 6573056a49fe73d7780b4891c81c1790b9176ebb..0fbf0eb370516c9793f7bce41f78c2a8b89d8c55 100644 (file)
@@ -37,6 +37,8 @@ static struct cfi_state init_cfi;
 static struct cfi_state func_cfi;
 static struct cfi_state force_undefined_cfi;
 
+static size_t sym_name_max_len;
+
 struct instruction *find_insn(struct objtool_file *file,
                              struct section *sec, unsigned long offset)
 {
@@ -2463,6 +2465,7 @@ static bool is_profiling_func(const char *name)
 static int classify_symbols(struct objtool_file *file)
 {
        struct symbol *func;
+       size_t len;
 
        for_each_sym(file->elf, func) {
                if (is_notype_sym(func) && strstarts(func->name, ".L"))
@@ -2489,6 +2492,10 @@ static int classify_symbols(struct objtool_file *file)
 
                if (is_profiling_func(func->name))
                        func->profiling_func = true;
+
+               len = strlen(func->name);
+               if (len > sym_name_max_len)
+                       sym_name_max_len = len;
        }
 
        return 0;