[PATCH, RFC] Fix bogus modpost warnings

From: Ralf Baechle
Date: Wed Apr 29 2009 - 08:32:31 EST


Trying to build the current kernel with gcc 4.4.0 will result in a large
number of apparently bogus warnings like these:

WARNING: crypto/cryptd.o (.text.T.349): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

WARNING: drivers/block/pktcdvd.o (.text.T.772): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

emitted by modpost. This is because with -ffunction-sections gcc may now
generate some section names like .text.T.772 itself instead of like in
the past deriving those from the function's name like .text.ipgre_close.

Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
---

For now I see this patch as a proposal only. I'm also not sure if with
this addition check there are still section names left for which the if
condition would ever be true. Data sections maybe?

scripts/mod/modpost.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 8d46ea7..13e801e 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -739,7 +739,8 @@ static int check_section(const char *modname, const char *sec)
/* consume all digits */
while (*e && e != sec && isdigit(*e))
e--;
- if (*e == '.' && !strstr(sec, ".linkonce")) {
+ if (*e == '.' &&
+ !strstr(sec, ".linkonce") && !strstr(sec, ".text")) {
warn("%s (%s): unexpected section name.\n"
"The (.[number]+) following section name are "
"ld generated and not expected.\n"
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/