Skip to contentSkip to conversation

Disable modpost warnings for linkonce sections

PATCH In review Andi Kleen 2 participants 3 messages May 8, 2008 – May 11, 2008 Kbuild

lore
Share & tools
lore

Andi Kleen

author
#0 lore raw

PATCH 1/1 Disable modpost warnings for linkonce sections

Disable modpost warnings for linkonce sections

My build gives lots of warnings like

WARNING: sound/core/snd.o (.gnu.linkonce.wi.mpspec_def.h.30779716): 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.

But for .linkonce. duplicated sections are actually ok and expected. So just disable the warning for this case.

scripts/mod/modpost.c +1 -1
Index: linux/scripts/mod/modpost.c
===================================================================
@@ -721,7 +721,7 @@ static int check_section(const char *mod
 		/* consume all digits */
 		while (*e && e != sec && isdigit(*e))
 			e--;
-		if (*e == '.') {
+		if (*e == '.' && !strstr(sec, ".linkonce")) {
 			warn("%s (%s): unexpected section name.\n"
 			     "The (.[number]+) following section name are "
 			     "ld generated and not expected.\n"
#1 lore raw
Quoted 4 lines · Andi Kleen

Disable modpost warnings for linkonce sections

My build gives lots of warnings like

Quoted 8 lines

WARNING: sound/core/snd.o (.gnu.linkonce.wi.mpspec_def.h.30779716): 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.

But for .linkonce. duplicated sections are actually ok and expected. So just disable the warning for this case.

Agreed.
Applied and pushed out.

Sam

author
#2 lore raw
Quoted 11 lines · Sam Ravnborg
Quoted 10 lines · Andi Kleen

Disable modpost warnings for linkonce sections

My build gives lots of warnings like

WARNING: sound/core/snd.o (.gnu.linkonce.wi.mpspec_def.h.30779716): 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.

Quoted 5 lines
Quoted 2 lines

But for .linkonce. duplicated sections are actually ok and expected. So just disable the warning for this case.

Agreed.
Applied and pushed out.

There's still the "crap in /proc/kallsyms" problem like

0000000000000b0c N DW.aio.h.903a6d92.0 0000000000000b19 N DW.aio.h.903a6d92.1 0000000000000b24 N DW.aio.h.903a6d92.2 0000000000000bce N DW.task_io_accounting.h.8d8de327.0

Haven't not looked at that yet, but that needs to be fixed too.

-Andi