aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2008-02-02 12:57:18 -0500
committerSam Ravnborg <sam@ravnborg.org>2008-02-03 02:58:07 -0500
commite5f95c8b7700a7bf1c2d24eedc677954d9aa0285 (patch)
treecc7b0105a6acf863e508f51dc3450df080f0e0c9
parent9135f1901ee6449dfe338adf6e40e9c2025b8150 (diff)
kbuild: print only total number of section mismatces found
We have too many section mismatches detected at the moment. So silence modpost and prevent the option from being set in a typical allyesconfig build. Tell the user how to see all the deteils in the summary message from modpost. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r--lib/Kconfig.debug2
-rw-r--r--scripts/mod/modpost.c15
2 files changed, 8 insertions, 9 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 0d8a5a4a789d..d090d7201086 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -81,7 +81,7 @@ config HEADERS_CHECK
81 81
82config DEBUG_SECTION_MISMATCH 82config DEBUG_SECTION_MISMATCH
83 bool "Enable full Section mismatch analysis" 83 bool "Enable full Section mismatch analysis"
84 default n 84 depends on UNDEFINED
85 help 85 help
86 The section mismatch analysis checks if there are illegal 86 The section mismatch analysis checks if there are illegal
87 references from one section to another section. 87 references from one section to another section.
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index f8efc93eb700..c2e918e2cef1 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1125,15 +1125,15 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
1125 to = to_is_func ? "function" : "variable"; 1125 to = to_is_func ? "function" : "variable";
1126 to_p = to_is_func ? "()" : ""; 1126 to_p = to_is_func ? "()" : "";
1127 1127
1128 sec_mismatch_count++;
1129 if (!sec_mismatch_verbose)
1130 return;
1131
1128 fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in" 1132 fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in"
1129 " reference from the %s %s%s to the %s %s:%s%s\n", 1133 " reference from the %s %s%s to the %s %s:%s%s\n",
1130 modname, fromsec, fromaddr, from, fromsym, from_p, 1134 modname, fromsec, fromaddr, from, fromsym, from_p,
1131 to, tosec, tosym, to_p); 1135 to, tosec, tosym, to_p);
1132 1136
1133 sec_mismatch_count++;
1134 if (!sec_mismatch_verbose)
1135 return;
1136
1137 switch (mismatch) { 1137 switch (mismatch) {
1138 case TEXT_TO_INIT: 1138 case TEXT_TO_INIT:
1139 fprintf(stderr, 1139 fprintf(stderr,
@@ -1939,10 +1939,9 @@ int main(int argc, char **argv)
1939 write_dump(dump_write); 1939 write_dump(dump_write);
1940 if (sec_mismatch_count && !sec_mismatch_verbose) 1940 if (sec_mismatch_count && !sec_mismatch_verbose)
1941 fprintf(stderr, "modpost: Found %d section mismatch(es).\n" 1941 fprintf(stderr, "modpost: Found %d section mismatch(es).\n"
1942 "To see additional details select \"Enable full " 1942 "To see full details build your kernel with:\n"
1943 "Section mismatch analysis\"\n" 1943 "'make CONFIG_DEBUG_SECTION_MISMATCH=y'\n",
1944 "in the Kernel Hacking menu " 1944 sec_mismatch_count);
1945 "(CONFIG_SECTION_MISMATCH).\n", sec_mismatch_count);
1946 1945
1947 return err; 1946 return err;
1948} 1947}