浏览代码

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: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Randy Dunlap 14 年之前
父节点
当前提交
00759c0ea0
共有 1 个文件被更改,包括 15 次插入8 次删除
  1. 15 8
      scripts/mod/modpost.c

+ 15 - 8
scripts/mod/modpost.c

@@ -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,
 		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,
 		"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)
-			fprintf(stderr, "%s, ", *s++);
-		fprintf(stderr, "\n");
+		print_section_list(mismatch->symbol_white_list);
 		free(prl_to);
 		free(prl_to);
 		break;
 		break;
 	}
 	}
@@ -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,
 		"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)
-			fprintf(stderr, "%s, ", *s++);
-		fprintf(stderr, "\n");
+		print_section_list(mismatch->symbol_white_list);
 		free(prl_to);
 		free(prl_to);
 		break;
 		break;
 	}
 	}