[PATCH] modpost: fix trailing comma

From: Randy Dunlap
Date: Tue Mar 15 2011 - 17:14:03 EST


From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>

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: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
---
scripts/mod/modpost.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)

--- linux-next-20110315.orig/scripts/mod/modpost.c
+++ linux-next-20110315/scripts/mod/modpost.c
@@ -1248,6 +1248,19 @@ static int is_function(Elf_Sym *sym)
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.
* Try to find symbols near it so user can find it.
@@ -1304,7 +1317,6 @@ static void report_sec_mismatch(const ch
break;
case DATA_TO_ANY_INIT: {
prl_to = sec2annotation(tosec);
- const char *const *s = mismatch->symbol_white_list;
fprintf(stderr,
"The variable %s references\n"
"the %s %s%s%s\n"
@@ -1312,9 +1324,7 @@ static void report_sec_mismatch(const ch
"variable with __init* or __refdata (see linux/init.h) "
"or name the variable:\n",
fromsym, to, prl_to, tosym, to_p);
- while (*s)
- fprintf(stderr, "%s, ", *s++);
- fprintf(stderr, "\n");
+ print_section_list(mismatch->symbol_white_list);
free(prl_to);
break;
}
@@ -1329,7 +1339,6 @@ static void report_sec_mismatch(const ch
break;
case DATA_TO_ANY_EXIT: {
prl_to = sec2annotation(tosec);
- const char *const *s = mismatch->symbol_white_list;
fprintf(stderr,
"The variable %s references\n"
"the %s %s%s%s\n"
@@ -1337,9 +1346,7 @@ static void report_sec_mismatch(const ch
"variable with __exit* (see linux/init.h) or "
"name the variable:\n",
fromsym, to, prl_to, tosym, to_p);
- while (*s)
- fprintf(stderr, "%s, ", *s++);
- fprintf(stderr, "\n");
+ print_section_list(mismatch->symbol_white_list);
free(prl_to);
break;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/