lkml.org 
[lkml]   [2002]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.5.22 broke modversions
On Mon, 17 Jun 2002, Mikael Pettersson wrote:

> Something in the 2.5.22 Makefile/Rule.make changes broke
> modversions on my P4 box. For some reason, a number of
> exporting objects, including arch/i386/kernel/i386_ksyms,
> weren't given -D__GENKSYMS__ at genksym-time, with the
> effect that the resulting .ver files became empty, and the
> kernel exported the symbols with unexpanded _R__ver_ suffixes.

You're right, thanks for the report. The fix is appended ;)

> Modversions worked in 2.5.21. I didn't see anything obvious
> in patch-2.5.22 what could explain this, but I did notice a
> tendency of touching files as a means of maintaining dependencies.
> This may not actually work, unless you have a slow CPU or a
> file system with millisecond or better st_mtime resolution --
> most only maintain whole-second resolution st_mtimes.
> (My modversions fix in the 2.4.0-test series, which moved the
> modversions.h creation/update to a separate rule after make dep,
> was due to this very problem.)

I'm using touch in one place, as an optimization. For all I can see it
should be fine unless you run more than one complete build per second ;)

(Whenever a .ver file is updated, include/linux/modversions.h is touched,
so that during the build make only needs to check the timestamp
of modversions.h instead of all the individual .ver files - do you see a
problem with that?)

--Kai

===== Rules.make 1.59 vs edited =====
--- 1.59/Rules.make Mon Jun 10 21:59:33 2002
+++ edited/Rules.make Mon Jun 17 09:24:34 2002
@@ -131,9 +131,9 @@
genksyms_smp_prefix :=
endif

-$(MODVERDIR)/$(real-objs-y:.o=.ver): modkern_cflags := $(CFLAGS_KERNEL)
-$(MODVERDIR)/$(real-objs-m:.o=.ver): modkern_cflags := $(CFLAGS_MODULE)
-$(MODVERDIR)/$(export-objs:.o=.ver): export_flags := -D__GENKSYMS__
+$(addprefix $(MODVERDIR)/,$(real-objs-y:.o=.ver)): modkern_cflags := $(CFLAGS_KERNEL)
+$(addprefix $(MODVERDIR)/,$(real-objs-m:.o=.ver)): modkern_cflags := $(CFLAGS_MODULE)
+$(addprefix $(MODVERDIR)/,$(export-objs:.o=.ver)): export_flags := -D__GENKSYMS__

c_flags = -Wp,-MD,$(depfile) $(CFLAGS) $(NOSTDINC_FLAGS) \
$(modkern_cflags) $(EXTRA_CFLAGS) $(CFLAGS_$(*F).o) \
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:22    [W:0.069 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site