Messages in this thread Patch in this message | | | Date | Mon, 17 Jun 2002 09:30:13 -0500 (CDT) | From | Kai Germaschewski <> | Subject | Re: 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/
| |