[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220920071317.1787-3-thunder.leizhen@huawei.com>
Date: Tue, 20 Sep 2022 15:13:11 +0800
From: Zhen Lei <thunder.leizhen@...wei.com>
To: Josh Poimboeuf <jpoimboe@...nel.org>,
Jiri Kosina <jikos@...nel.org>,
Miroslav Benes <mbenes@...e.cz>,
Petr Mladek <pmladek@...e.com>,
Joe Lawrence <joe.lawrence@...hat.com>,
<live-patching@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
Masahiro Yamada <masahiroy@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Jiri Olsa <jolsa@...nel.org>,
Kees Cook <keescook@...omium.org>,
Andrew Morton <akpm@...ux-foundation.org>,
"Luis Chamberlain" <mcgrof@...nel.org>,
<linux-modules@...r.kernel.org>
CC: Zhen Lei <thunder.leizhen@...wei.com>
Subject: [PATCH v4 2/8] scripts/kallsyms: ensure that all possible combinations are compressed
For a symbol, there may be more than one place that can be merged. For
example: nfs_fs_proc_net_init, there are two "f"+"s_" combinations.
And we're only compressing the first combination at the moment. Let's
compress all possible combinations.
Signed-off-by: Zhen Lei <thunder.leizhen@...wei.com>
---
scripts/kallsyms.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index 8caccc8f4a23703..3319d9f38d7a5f2 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -553,7 +553,7 @@ static void compress_symbols(const unsigned char *str, int idx)
unsigned char *p1, *p2;
for (i = 0; i < table_cnt; i++) {
-
+retry:
len = table[i]->len;
p1 = table[i]->sym;
@@ -585,6 +585,9 @@ static void compress_symbols(const unsigned char *str, int idx)
/* increase the counts for this symbol's new tokens */
learn_symbol(table[i]->sym, len);
+
+ /* May be more than one place that can be merged, try again */
+ goto retry;
}
}
--
2.25.1
Powered by blists - more mailing lists