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>
This commit is contained in:
Sam Ravnborg 2008-02-02 18:57:18 +01:00
parent 9135f1901e
commit e5f95c8b77
2 changed files with 8 additions and 9 deletions

View File

@ -81,7 +81,7 @@ config HEADERS_CHECK
config DEBUG_SECTION_MISMATCH config DEBUG_SECTION_MISMATCH
bool "Enable full Section mismatch analysis" bool "Enable full Section mismatch analysis"
default n depends on UNDEFINED
help help
The section mismatch analysis checks if there are illegal The section mismatch analysis checks if there are illegal
references from one section to another section. references from one section to another section.

View File

@ -1125,15 +1125,15 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
to = to_is_func ? "function" : "variable"; to = to_is_func ? "function" : "variable";
to_p = to_is_func ? "()" : ""; to_p = to_is_func ? "()" : "";
sec_mismatch_count++;
if (!sec_mismatch_verbose)
return;
fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in" fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in"
" reference from the %s %s%s to the %s %s:%s%s\n", " reference from the %s %s%s to the %s %s:%s%s\n",
modname, fromsec, fromaddr, from, fromsym, from_p, modname, fromsec, fromaddr, from, fromsym, from_p,
to, tosec, tosym, to_p); to, tosec, tosym, to_p);
sec_mismatch_count++;
if (!sec_mismatch_verbose)
return;
switch (mismatch) { switch (mismatch) {
case TEXT_TO_INIT: case TEXT_TO_INIT:
fprintf(stderr, fprintf(stderr,
@ -1939,10 +1939,9 @@ int main(int argc, char **argv)
write_dump(dump_write); write_dump(dump_write);
if (sec_mismatch_count && !sec_mismatch_verbose) if (sec_mismatch_count && !sec_mismatch_verbose)
fprintf(stderr, "modpost: Found %d section mismatch(es).\n" fprintf(stderr, "modpost: Found %d section mismatch(es).\n"
"To see additional details select \"Enable full " "To see full details build your kernel with:\n"
"Section mismatch analysis\"\n" "'make CONFIG_DEBUG_SECTION_MISMATCH=y'\n",
"in the Kernel Hacking menu " sec_mismatch_count);
"(CONFIG_SECTION_MISMATCH).\n", sec_mismatch_count);
return err; return err;
} }