History

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.

Sam Ravnborg committed 18 years ago

Commit e5f95c81 parent 9135f192 files · +8 −9Browse files

Unified · Split

2 files
  1. lib/Kconfig.debug +1 −1
  2. scripts/mod/modpost.c +7 −8
lib/Kconfig.debug+1−1
@@ -81,7 +81,7 @@ config HEADERS_CHECK · 80 unmodified lines
81 81
82config DEBUG_SECTION_MISMATCH82config DEBUG_SECTION_MISMATCH
83 bool "Enable full Section mismatch analysis"83 bool "Enable full Section mismatch analysis"
84 default n84 depends on UNDEFINED
85 help85 help
86 The section mismatch analysis checks if there are illegal86 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.
scripts/mod/modpost.c+7−8
@@ -1125,15 +1125,15 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch, · 1124 unmodified lines
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) · 799 unmodified lines
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}