diff options
author | Mathieu Desnoyers <compudj@krystal.dyndns.org> | 2008-07-22 20:05:14 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-08-01 11:50:46 -0700 |
commit | 9b7bca7cc5bc852fb7c1a4137912c5f549b8bf7b (patch) | |
tree | 57eedcaab8047e0a50930a1548a1ac994e07d9f7 | |
parent | feaf6a2f9bb63a5b40ccb3d6ec6a4a109eaf3edc (diff) |
markers: fix duplicate modpost entry
commit: d35cb360c29956510b2fe1a953bd4968536f7216
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>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | scripts/Makefile.modpost | 1 | ||||
-rw-r--r-- | scripts/mod/modpost.c | 3 |
3 files changed, 5 insertions, 2 deletions
@@ -1126,7 +1126,8 @@ clean: archclean $(clean-dirs) @find . $(RCS_FIND_IGNORE) \ \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ - -o -name '*.symtypes' -o -name 'modules.order' \) \ + -o -name '*.symtypes' -o -name 'modules.order' \ + -o -name 'Module.markers' \) \ -type f -print | xargs rm -f # mrproper - Delete all generated files, including .config diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index 2d20640854b..af21ea99f19 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost @@ -87,6 +87,7 @@ quiet_cmd_kernel-mod = MODPOST $@ cmd_kernel-mod = $(modpost) $@ vmlinux.o: FORCE + @rm -fr $(kernelmarkersfile) $(call cmd,kernel-mod) # Declare generated files as targets for modpost diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 110cf243fa4..7b16b365ebd 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1973,7 +1973,8 @@ static void read_markers(const char *fname) mod->skip = 1; } - add_marker(mod, marker, fmt); + if (!mod->skip) + add_marker(mod, marker, fmt); } return; fail: |