kbuild: distinguish between errors and warnings in modpost
Some of modpost's warnings are fatal, and some are not. Adopt the compiler distinction between errors and warnings by calling merror() for fatal diagnostics and warn() for non-fatal ones. merror() was used as replacemtn for error() to avoid clash with glibc Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
Родитель
63431e7569
Коммит
2a11665945
|
@ -55,6 +55,17 @@ void warn(const char *fmt, ...)
|
|||
va_end(arglist);
|
||||
}
|
||||
|
||||
void merror(const char *fmt, ...)
|
||||
{
|
||||
va_list arglist;
|
||||
|
||||
fprintf(stderr, "ERROR: ");
|
||||
|
||||
va_start(arglist, fmt);
|
||||
vfprintf(stderr, fmt, arglist);
|
||||
va_end(arglist);
|
||||
}
|
||||
|
||||
static int is_vmlinux(const char *modname)
|
||||
{
|
||||
const char *myname;
|
||||
|
@ -1307,9 +1318,14 @@ static int add_versions(struct buffer *b, struct module *mod)
|
|||
exp = find_symbol(s->name);
|
||||
if (!exp || exp->module == mod) {
|
||||
if (have_vmlinux && !s->weak) {
|
||||
warn("\"%s\" [%s.ko] undefined!\n",
|
||||
s->name, mod->name);
|
||||
err = warn_unresolved ? 0 : 1;
|
||||
if (warn_unresolved) {
|
||||
warn("\"%s\" [%s.ko] undefined!\n",
|
||||
s->name, mod->name);
|
||||
} else {
|
||||
merror("\"%s\" [%s.ko] undefined!\n",
|
||||
s->name, mod->name);
|
||||
err = 1;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -145,3 +145,4 @@ void release_file(void *file, unsigned long size);
|
|||
|
||||
void fatal(const char *fmt, ...);
|
||||
void warn(const char *fmt, ...);
|
||||
void merror(const char *fmt, ...);
|
||||
|
|
Загрузка…
Ссылка в новой задаче