aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathieu Desnoyers <compudj@krystal.dyndns.org>2008-07-21 17:21:38 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-22 12:59:41 -0400
commitd35cb360c29956510b2fe1a953bd4968536f7216 (patch)
tree1bdc33054c8c2c082f0f5cca119cdae548d8a7e1
parent5f17156fc55abac476d180e480bedb0f07f01b14 (diff)
markers: fix duplicate modpost entry
When a kernel was rebuilt, the previous Module.markers was not cleared. It caused markers with different format strings to appear as duplicates when a markers was changed. This problem is present since scripts/mod/modpost.c started to generate Module.markers, commit b2e3e658b344c6bcfb8fb694100ab2f2b5b2edb0 It therefore applies to 2.6.25, 2.6.26 and linux-next. I merely merged the patches from Roland, Wenji and Takashi here. Credits to Roland McGrath <roland@redhat.com> Wenji Huang <wenji.huang@oracle.com> and Takashi Nishiie <t-nishiie@np.css.fujitsu.com> for providing the individual fixes. - Changelog : - Integrated Takashi's Makefile modification to clear Module.markers upon make clean. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Cc: Roland McGrath <roland@redhat.com> Cc: Wenji Huang <wenji.huang@oracle.com> Cc: Takashi Nishiie <t-nishiie@np.css.fujitsu.com> Cc: <stable@kernel.org> [2.6.25.x, 2.6.26.x] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--Makefile3
-rw-r--r--scripts/Makefile.modpost1
-rw-r--r--scripts/mod/modpost.c3
3 files changed, 5 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 6192922de9c0..4bcd1cf90cb1 100644
--- a/Makefile
+++ b/Makefile
@@ -1148,7 +1148,8 @@ clean: archclean $(clean-dirs)
1148 @find . $(RCS_FIND_IGNORE) \ 1148 @find . $(RCS_FIND_IGNORE) \
1149 \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ 1149 \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
1150 -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ 1150 -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
1151 -o -name '*.symtypes' -o -name 'modules.order' \) \ 1151 -o -name '*.symtypes' -o -name 'modules.order' \
1152 -o -name 'Module.markers' \) \
1152 -type f -print | xargs rm -f 1153 -type f -print | xargs rm -f
1153 1154
1154# mrproper - Delete all generated files, including .config 1155# mrproper - Delete all generated files, including .config
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index 17092d6c7db3..9ee9783aea57 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
101 cmd_kernel-mod = $(modpost) $@ 101 cmd_kernel-mod = $(modpost) $@
102 102
103vmlinux.o: FORCE 103vmlinux.o: FORCE
104 @rm -fr $(kernelmarkersfile)
104 $(call cmd,kernel-mod) 105 $(call cmd,kernel-mod)
105 106
106# Declare generated files as targets for modpost 107# Declare generated files as targets for modpost
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index a07f91aac920..8f038e6d5f98 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1992,7 +1992,8 @@ static void read_markers(const char *fname)
1992 mod->skip = 1; 1992 mod->skip = 1;
1993 } 1993 }
1994 1994
1995 add_marker(mod, marker, fmt); 1995 if (!mod->skip)
1996 add_marker(mod, marker, fmt);
1996 } 1997 }
1997 return; 1998 return;
1998fail: 1999fail: