From 3a14ee805269f9de8031c60ea44d90dfbe193f86 Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Tue, 14 Oct 2008 00:54:00 +0000 Subject: [PATCH] Included some more options to modpost according to kernel options configured. darcs-hash:20081014005448-ff715-265250d6d2fd9dbc92c978ecd94c10e1565ca909.gz --- rules/linux/kernelcfg2mk | 13 +++++++++++++ snippets/linux | 28 ++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/rules/linux/kernelcfg2mk b/rules/linux/kernelcfg2mk index 7a305e0..435b387 100755 --- a/rules/linux/kernelcfg2mk +++ b/rules/linux/kernelcfg2mk @@ -145,6 +145,7 @@ endif flags: @echo LINUX_SRC="\$(OMK_LINUX_SRC)" >>\$(obj)/flags @echo LINUX_ARCH="\$(ARCH)" >>\$(obj)/flags + @echo LINUX_BUILDHOST="\$(KBUILD_BUILDHOST)" >>\$(obj)/flags @echo LINUX_LDFLAGS="" >>\$(obj)/flags @echo LINUX_ARFLAGS="\$(ARFLAGS)" >>\$(obj)/flags @echo LINUX_CROSS_COMPILE="\$(CROSS_COMPILE)" >>\$(obj)/flags @@ -165,6 +166,18 @@ endif @echo LINUX_AR="\$(AR)" >>\$(obj)/flags @echo LINUX_MODULE_EXT=".ko" >>\$(obj)/flags @echo LINUX_QUOTE_MODNAME=\$(if \$(findstring KBUILD_STR,\$(basename_flags)),y,) >>\$(obj)/flags + @echo LINUX_CONFIG_MODVERSIONS=\$(CONFIG_MODVERSIONS) >>\$(obj)/flags + @echo LINUX_CONFIG_MODULE_SRCVERSION_ALL=\$(CONFIG_MODULE_SRCVERSION_ALL) >>\$(obj)/flags + @echo LINUX_CONFIG_DEBUG_SECTION_MISMATCH=\$(CONFIG_DEBUG_SECTION_MISMATCH) >>\$(obj)/flags + @echo LINUX_CONFIG_MARKERS=\$(CONFIG_MARKERS) >>\$(obj)/flags + @echo LINUX_KBUILD_EXTMOD=\$(KBUILD_EXTMOD) >>\$(obj)/flags + @echo LINUX_KBUILD_EXTRA_SYMBOLS=\$(KBUILD_EXTRA_SYMBOLS) >>\$(obj)/flags + @echo LINUX_KBUILD_MODPOST_WARN=\$(KBUILD_MODPOST_WARN) >>\$(obj)/flags + @echo LINUX_CROSS_BUILD=\$(cross_build) >>\$(obj)/flags + @echo LINUX_KERNELSYMFILE=\$(kernelsymfile) >>\$(obj)/flags + @echo LINUX_MODULESYMFILE=\$(modulesymfile) >>\$(obj)/flags + @echo LINUX_KERNELMARKERSFILE=\$(kernelmarkersfile) >>\$(obj)/flags + @echo LINUX_MARKERSFILE=\$(markersfile) >>\$(obj)/flags EOF # modkern_cflags := $(CFLAGS_KERNEL) / $(CFLAGS_MODULE) diff --git a/snippets/linux b/snippets/linux index 4c071d6..a725373 100644 --- a/snippets/linux +++ b/snippets/linux @@ -468,6 +468,30 @@ KERN_MODULES_LINK_DIR = $(KERN_MODULES_DIR) KERN_LINK_SUFFIX = $(KERN_EXE_SUFFIX) endif +ifeq ($(LINUX_CONFIG_MODVERSIONS),y) +MODPOST_OPTS += -m +MODPOST_OPTS += -i $(LINUX_DIR)/Module.symvers +MODPOST_OPTS += -I $(KERN_LIB_DIR)/Module.symvers +MODPOST_OPTS += -o $(KERN_LIB_DIR)/Module.symvers +endif + +ifeq ($(LINUX_CONFIG_DEBUG_SECTION_MISMATCH),y) +MODPOST_OPTS += -S +endif + +ifeq ($(LINUX_CONFIG_MARKERS),y) +MODPOST_OPTS += -K $(LINUX_DIR)/Module.markers +MODPOST_OPTS += -M $(KERN_LIB_DIR)/Module.markers +endif + +ifeq ($(LINUX_KBUILD_MODPOST_WARN),y) +MODPOST_OPTS += -w +endif + +ifneq ($(LINUX_BUILDHOST),$(LINUX_ARCH)) +MODPOST_OPTS += -c +endif + define COMPILE_c_o_kern_template $(2): $(1) @@ -555,7 +579,7 @@ $(2)/$(1)$(KERN_LINK_SUFFIX): $$($(1)_OBJS) @echo >>$(KERN_OBJS_DIR)/$(1).mod.d @if [ "$(KERN_EXE_SUFFIX)" = ".ko" ] ; then \ echo $(1) >>$(KERN_MODPOST_DIR)/module-changes ; \ - echo $(1) >>$(KERN_MODPOST_DIR)/$(1).mod.stamp ; \ + echo $(1) >$(KERN_MODPOST_DIR)/$(1).mod.stamp ; \ fi endef @@ -620,7 +644,7 @@ kernel-modpost-versions: $(wildcard $(LINUX_DIR)/Module.symvers) @$(QUIET_CMD_ECHO) " MODPOST $(KERN_MODPOST_DIR)" @echo >$(KERN_MODPOST_DIR)/modpost-running @rm -f $(KERN_MODPOST_DIR)/module-changes - $(Q) $(KERN_MODPOST) $(MODULES_LIST:%=%$(KERN_LINK_SUFFIX)) $(^:%=-i %) + $(Q) $(KERN_MODPOST) $(MODPOST_OPTS) $(MODULES_LIST:%=%$(KERN_LINK_SUFFIX)) $(MODULES_LIST:%=%.mod.c) : kernel-modpost-versions -- 2.39.2