|
@@ -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 "
|
|
|
|
- "Section mismatch analysis\"\n"
|
|
|
|
- "in the Kernel Hacking menu "
|
|
|
|
- "(CONFIG_SECTION_MISMATCH).\n", sec_mismatch_count);
|
|
|
|
|
|
+ "To see full details build your kernel with:\n"
|
|
|
|
+ "'make CONFIG_DEBUG_SECTION_MISMATCH=y'\n",
|
|
|
|
+ sec_mismatch_count);
|
|
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|