Skip to content

Commit

Permalink
kbuild: distinguish between errors and warnings in modpost
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Sam Ravnborg <[email protected]>
  • Loading branch information
Matthew Wilcox authored and sravnborg committed May 2, 2007
1 parent 63431e7 commit 2a11665
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
22 changes: 19 additions & 3 deletions scripts/mod/modpost.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
}
Expand Down
1 change: 1 addition & 0 deletions scripts/mod/modpost.h
Original file line number Diff line number Diff line change
Expand Up @@ -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, ...);

0 comments on commit 2a11665

Please sign in to comment.