提交 00759c0e 编写于 作者: R Randy Dunlap 提交者: Michal Marek

modpost: fix trailing comma

Consolidate locations that print a section whitelist into
calls to print_section_list().

Fix print_section_list() so that it does not print a trailing
comma & space:

If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

becomes:
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: NMichal Marek <mmarek@suse.cz>
上级 e1b702cf
...@@ -1248,6 +1248,19 @@ static int is_function(Elf_Sym *sym) ...@@ -1248,6 +1248,19 @@ static int is_function(Elf_Sym *sym)
return -1; return -1;
} }
static void print_section_list(const char * const list[20])
{
const char *const *s = list;
while (*s) {
fprintf(stderr, "%s", *s);
s++;
if (*s)
fprintf(stderr, ", ");
}
fprintf(stderr, "\n");
}
/* /*
* Print a warning about a section mismatch. * Print a warning about a section mismatch.
* Try to find symbols near it so user can find it. * Try to find symbols near it so user can find it.
...@@ -1304,7 +1317,6 @@ static void report_sec_mismatch(const char *modname, ...@@ -1304,7 +1317,6 @@ static void report_sec_mismatch(const char *modname,
break; break;
case DATA_TO_ANY_INIT: { case DATA_TO_ANY_INIT: {
prl_to = sec2annotation(tosec); prl_to = sec2annotation(tosec);
const char *const *s = mismatch->symbol_white_list;
fprintf(stderr, fprintf(stderr,
"The variable %s references\n" "The variable %s references\n"
"the %s %s%s%s\n" "the %s %s%s%s\n"
...@@ -1312,9 +1324,7 @@ static void report_sec_mismatch(const char *modname, ...@@ -1312,9 +1324,7 @@ static void report_sec_mismatch(const char *modname,
"variable with __init* or __refdata (see linux/init.h) " "variable with __init* or __refdata (see linux/init.h) "
"or name the variable:\n", "or name the variable:\n",
fromsym, to, prl_to, tosym, to_p); fromsym, to, prl_to, tosym, to_p);
while (*s) print_section_list(mismatch->symbol_white_list);
fprintf(stderr, "%s, ", *s++);
fprintf(stderr, "\n");
free(prl_to); free(prl_to);
break; break;
} }
...@@ -1329,7 +1339,6 @@ static void report_sec_mismatch(const char *modname, ...@@ -1329,7 +1339,6 @@ static void report_sec_mismatch(const char *modname,
break; break;
case DATA_TO_ANY_EXIT: { case DATA_TO_ANY_EXIT: {
prl_to = sec2annotation(tosec); prl_to = sec2annotation(tosec);
const char *const *s = mismatch->symbol_white_list;
fprintf(stderr, fprintf(stderr,
"The variable %s references\n" "The variable %s references\n"
"the %s %s%s%s\n" "the %s %s%s%s\n"
...@@ -1337,9 +1346,7 @@ static void report_sec_mismatch(const char *modname, ...@@ -1337,9 +1346,7 @@ static void report_sec_mismatch(const char *modname,
"variable with __exit* (see linux/init.h) or " "variable with __exit* (see linux/init.h) or "
"name the variable:\n", "name the variable:\n",
fromsym, to, prl_to, tosym, to_p); fromsym, to, prl_to, tosym, to_p);
while (*s) print_section_list(mismatch->symbol_white_list);
fprintf(stderr, "%s, ", *s++);
fprintf(stderr, "\n");
free(prl_to); free(prl_to);
break; break;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册