On Fri, May 18, 2007 at 08:52:31AM +0200, Jan Engelhardt wrote:
> 
> On May 18 2007 08:49, Sam Ravnborg wrote:
> >index 113dc77..acd28ab 100644
> >--- a/scripts/mod/modpost.c
> >+++ b/scripts/mod/modpost.c
> >@@ -885,29 +885,28 @@ static void warn_sec_mismatch(const char *modname, 
> >const char *fromsec,
> >             return;
> > 
> >     if (before && after) {
> >-            warn("%s - Section mismatch: reference to %s:%s from %s "
> >-                 "between '%s' (at offset 0x%llx) and '%s'\n",
> >-                 modname, secname, refsymname, fromsec,
> >+            warn("%s(%s+0x%llx): Section mismatch: reference to %s:%s "
> >+                 "(between '%s' and '%s')\n",
> >+                 modname, fromsec, (long long)r.r_offset,
> >+                 secname, refsymname,
> 
> %x always takes unsigned. %llx => (unsigned long long)r.r_offset.
> Ditto below.
> 
> >                  elf->strtab + before->st_name,
> >-                 (long long)r.r_offset,
> >                  elf->strtab + after->st_name);
> >     } else if (before) {
> >-            warn("%s - Section mismatch: reference to %s:%s from %s "
> >-                 "after '%s' (at offset 0x%llx)\n",
> >-                 modname, secname, refsymname, fromsec,
> >-                 elf->strtab + before->st_name,
> >-                 (long long)r.r_offset);
> >+            warn("%s(%s+0x%llx): Section mismatch: reference to %s:%s "
> >+                 "(after '%s')\n",
> >+                 modname, fromsec, (long long)r.r_offset,
> >+                 secname, refsymname,
> >+                 elf->strtab + before->st_name);
> [more occurences]

Thanks, updated patch below.

        Sam

>From 4dba30ccfdb911b0810f6527de66b1515349d8c4 Mon Sep 17 00:00:00 2001
From: Russell King <[EMAIL PROTECTED]>
Date: Thu, 10 May 2007 23:03:25 +0100
Subject: [PATCH 01/14] kbuild: make modpost section warnings clearer

Change modpost section mismatch warnings to be less confusing;
model them on the binutils linker warnings which we all know how
to interpret.

Also, fix the wrong ordering of arguments for the final case -
fromsec and refsymname were reversed.

Signed-off-by: Russell King <[EMAIL PROTECTED]>
Acked-by: Acked-by: David S. Miller <[EMAIL PROTECTED]>
Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>
---
 scripts/mod/modpost.c |   33 ++++++++++++++++-----------------
 1 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 113dc77..acd28ab 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -885,29 +885,28 @@ static void warn_sec_mismatch(const char *modname, const 
char *fromsec,
                return;
 
        if (before && after) {
-               warn("%s - Section mismatch: reference to %s:%s from %s "
-                    "between '%s' (at offset 0x%llx) and '%s'\n",
-                    modname, secname, refsymname, fromsec,
+               warn("%s(%s+0x%llx): Section mismatch: reference to %s:%s "
+                    "(between '%s' and '%s')\n",
+                    modname, fromsec, (unsigned long long)r.r_offset,
+                    secname, refsymname,
                     elf->strtab + before->st_name,
-                    (long long)r.r_offset,
                     elf->strtab + after->st_name);
        } else if (before) {
-               warn("%s - Section mismatch: reference to %s:%s from %s "
-                    "after '%s' (at offset 0x%llx)\n",
-                    modname, secname, refsymname, fromsec,
-                    elf->strtab + before->st_name,
-                    (long long)r.r_offset);
+               warn("%s(%s+0x%llx): Section mismatch: reference to %s:%s "
+                    "(after '%s')\n",
+                    modname, fromsec, (unsigned long long)r.r_offset,
+                    secname, refsymname,
+                    elf->strtab + before->st_name);
        } else if (after) {
-               warn("%s - Section mismatch: reference to %s:%s from %s "
+               warn("%s(%s+0x%llx): Section mismatch: reference to %s:%s "
                     "before '%s' (at offset -0x%llx)\n",
-                    modname, secname, refsymname, fromsec,
-                    elf->strtab + after->st_name,
-                    (long long)r.r_offset);
+                    modname, fromsec, (unsigned long long)r.r_offset,
+                    secname, refsymname,
+                    elf->strtab + after->st_name);
        } else {
-               warn("%s - Section mismatch: reference to %s:%s from %s "
-                    "(offset 0x%llx)\n",
-                    modname, secname, fromsec, refsymname,
-                    (long long)r.r_offset);
+               warn("%s(%s+0x%llx): Section mismatch: reference to %s:%s\n",
+                    modname, fromsec, (unsigned long long)r.r_offset,
+                    secname, refsymname);
        }
 }
 
-- 
1.5.1.rc3.20.gaa453

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to