diff options
author | Mathieu Desnoyers <compudj@krystal.dyndns.org> | 2008-07-21 17:21:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-22 12:59:41 -0400 |
commit | d35cb360c29956510b2fe1a953bd4968536f7216 (patch) | |
tree | 1bdc33054c8c2c082f0f5cca119cdae548d8a7e1 | |
parent | 5f17156fc55abac476d180e480bedb0f07f01b14 (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-- | Makefile | 3 | ||||
-rw-r--r-- | scripts/Makefile.modpost | 1 | ||||
-rw-r--r-- | scripts/mod/modpost.c | 3 |
3 files changed, 5 insertions, 2 deletions
@@ -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 | ||
103 | vmlinux.o: FORCE | 103 | vmlinux.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; |
1998 | fail: | 1999 | fail: |