Re: [RFC] [PATCH] new modversions implementation

From: Sam Ravnborg (sam@ravnborg.org)
Date: Sat Jan 25 2003 - 16:56:37 EST


On Sat, Jan 25, 2003 at 12:44:39PM -0600, Kai Germaschewski wrote:

Just some small nit-picking..

        Sam

diff -Nru a/kernel/module.c b/kernel/module.c
--- a/kernel/module.c Sat Jan 25 12:25:07 2003
+++ b/kernel/module.c Sat Jan 25 12:25:07 2003

+ kernel_gpl_symbols.num_syms = (__stop___ksymtab_gpl
+ - __start___ksymtab_gpl);

The member "num_syms" says something about number of symbols,
but is contains the syms_size. Misleading name.
I can see this was also the case before, but confused me a bit.

+ | $(GENKSYMS) -k $(VERSION).$(PATCHLEVEL).$(SUBLEVEL) \
+ | grep __ver \
+ | sed 's/\#define __ver_\([^ ]*\)[ ]*\([^ ]*\)/__crc_\1 =
+0x\2 ;/g' \

A genksyms replacement should do all the three steps above?

+cmd_link_multi-m = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_MODULE) -o $@
+$(filter $(addprefix $(obj)/,$($(subst $(obj)/,,$(@:.o=-objs))) $($(subst
+$(obj)/,,$(@:.o=-y)))),$^)

The comment
#
# Rule to link composite objects
#

Could tell a bit more:
#
# Rule to link composite objects
# Listed in kbuild makefiles with:
# <composite object>-objs := <list of .o files>
# or
# <composite object>-y := <list of .o files>
#

+cmd_link_module = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_MODULE) -o $@ $<
+init/vermagic.o

How about
ld_modflags = $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_MODULE)

+
+# Don't rebuilt vermagic.o unless we actually are in the init/ dir
+ifneq ($(obj),init)
+init/vermagic.o: ;
+endif

The above magic does not look safe to me when utilising parrallel builds.
At least init/vermagic.o needs to be in the prepare: rule.

+$(multi-used-m) : %.o: $(multi-objs-m) FORCE

I cannot see the need for the "%.o". The "%" is not used - or have
I misunderstood the usage of the above construction?

+ $(touch-module)

Add comment:
+ $(touch-module) # Record update in .tmp_versions/path/to/module.ko

 quiet_cmd_link_multi-m = LD [M] $@
-quiet_cmd_link_single-m = LD [M] $@
+quiet_cmd_link_module = LD [M] $@

Inconsistent naming, I would like the old naming back for consistency.

        Sam
-
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/



This archive was generated by hypermail 2b29 : Fri Jan 31 2003 - 22:00:14 EST