Browse Source

kernel: lantiq: fix Module.symvers handling

If an external module uses exported symbols from another external
module, Kbuild needs to have full knowledge of all symbols to
avoid spitting out warnings about undefined symbols.

Use PKG_EXTMOD_SUBDIRS to point to the build directory which contains
the Module.symvers.

Pass KERNEL_MAKE_FLAGS to the external module build, to inject
KBUILD_EXTRA_SYMBOLS. KBUILD_EXTRA_SYMBOLS holds a space separated list
of Module.symvers, which list all exported symbols.

Signed-off-by: Mathias Kresin <[email protected]>
Mathias Kresin 5 years ago
parent
commit
d2d32dcd5f

+ 3 - 0
package/kernel/lantiq/ltq-adsl/Makefile

@@ -46,6 +46,9 @@ IFX_DSL_MAX_DEVICE=1
 IFX_DSL_LINES_PER_DEVICE=1
 IFX_DSL_LINES_PER_DEVICE=1
 IFX_DSL_CHANNELS_PER_LINE=1
 IFX_DSL_CHANNELS_PER_LINE=1
 
 
+MAKE_FLAGS += \
+	$(KERNEL_MAKE_FLAGS)
+
 CONFIGURE_ARGS += --enable-kernel-include="$(LINUX_DIR)/include" \
 CONFIGURE_ARGS += --enable-kernel-include="$(LINUX_DIR)/include" \
 	--with-max-device="$(IFX_DSL_MAX_DEVICE)" \
 	--with-max-device="$(IFX_DSL_MAX_DEVICE)" \
 	--with-lines-per-device="$(IFX_DSL_LINES_PER_DEVICE)" \
 	--with-lines-per-device="$(IFX_DSL_LINES_PER_DEVICE)" \

+ 1 - 1
package/kernel/lantiq/ltq-atm/Makefile

@@ -36,7 +36,7 @@ endef
 define Build/Compile
 define Build/Compile
 	cd $(LINUX_DIR); \
 	cd $(LINUX_DIR); \
 		ARCH=mips CROSS_COMPILE="$(KERNEL_CROSS)" \
 		ARCH=mips CROSS_COMPILE="$(KERNEL_CROSS)" \
-		$(MAKE) BUILD_VARIANT=$(BUILD_VARIANT) M=$(PKG_BUILD_DIR) V=1 modules
+		$(MAKE) $(KERNEL_MAKE_FLAGS) BUILD_VARIANT=$(BUILD_VARIANT) M=$(PKG_BUILD_DIR) V=1 modules
 endef
 endef
 
 
 $(eval $(call KernelPackage,ltq-atm-danube))
 $(eval $(call KernelPackage,ltq-atm-danube))

+ 1 - 0
package/kernel/lantiq/ltq-ifxos/Makefile

@@ -16,6 +16,7 @@ PKG_HASH:=ed7fe39311d7a4a13d23ed0ae2445c0d825b472b5a98da9b72bcaabcf5ed2d5f
 PKG_MAINTAINER:=John Crispin <[email protected]>
 PKG_MAINTAINER:=John Crispin <[email protected]>
 PKG_LICENSE:=GPL-2.0 BSD-2-Clause
 PKG_LICENSE:=GPL-2.0 BSD-2-Clause
 PKG_LICENSE_FILES:=LICENSE
 PKG_LICENSE_FILES:=LICENSE
+PKG_EXTMOD_SUBDIRS:=src
 
 
 PKG_FIXUP:=autoreconf
 PKG_FIXUP:=autoreconf
 
 

+ 1 - 1
package/kernel/lantiq/ltq-ptm/Makefile

@@ -45,7 +45,7 @@ endef
 define Build/Compile
 define Build/Compile
 	cd $(LINUX_DIR); \
 	cd $(LINUX_DIR); \
 		ARCH=mips CROSS_COMPILE="$(KERNEL_CROSS)" \
 		ARCH=mips CROSS_COMPILE="$(KERNEL_CROSS)" \
-		$(MAKE) BUILD_VARIANT=$(BUILD_VARIANT) M=$(PKG_BUILD_DIR) V=1 modules
+		$(MAKE) $(KERNEL_MAKE_FLAGS) BUILD_VARIANT=$(BUILD_VARIANT) M=$(PKG_BUILD_DIR) V=1 modules
 endef
 endef
 
 
 $(eval $(call KernelPackage,ltq-ptm-danube))
 $(eval $(call KernelPackage,ltq-ptm-danube))

+ 4 - 0
package/kernel/lantiq/ltq-tapi/Makefile

@@ -19,6 +19,7 @@ PKG_MAINTAINER:=John Crispin <[email protected]>
 
 
 PKG_CHECK_FORMAT_SECURITY:=0
 PKG_CHECK_FORMAT_SECURITY:=0
 PKG_FIXUP:=autoreconf
 PKG_FIXUP:=autoreconf
+PKG_EXTMOD_SUBDIRS:=src
 
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/package.mk
 
 
@@ -39,6 +40,9 @@ define KernelPackage/ltq-tapi/config
 	source "$(SOURCE)/Config.in"
 	source "$(SOURCE)/Config.in"
 endef
 endef
 
 
+MAKE_FLAGS += \
+	$(KERNEL_MAKE_FLAGS)
+
 CONFIGURE_ARGS += \
 CONFIGURE_ARGS += \
 	ARCH=$(LINUX_KARCH) \
 	ARCH=$(LINUX_KARCH) \
 	--enable-linux-26 \
 	--enable-linux-26 \

+ 2 - 0
package/kernel/lantiq/ltq-vdsl-mei/Makefile

@@ -21,6 +21,7 @@ PKG_FLAGS:=nonshared
 PKG_MAINTAINER:=John Crispin <[email protected]>
 PKG_MAINTAINER:=John Crispin <[email protected]>
 PKG_LICENSE:=GPL-2.0 BSD-2-Clause
 PKG_LICENSE:=GPL-2.0 BSD-2-Clause
 PKG_LICENSE_FILES:=LICENSE
 PKG_LICENSE_FILES:=LICENSE
+PKG_EXTMOD_SUBDIRS:=src
 
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/package.mk
 
 
@@ -52,6 +53,7 @@ define Package/ltq-vdsl-mei-test/description
 endef
 endef
 
 
 MAKE_FLAGS += \
 MAKE_FLAGS += \
+	$(KERNEL_MAKE_FLAGS) \
 	SHELL="$(BASH)"
 	SHELL="$(BASH)"
 
 
 CONFIGURE_ARGS += \
 CONFIGURE_ARGS += \

+ 1 - 0
package/kernel/lantiq/ltq-vdsl/Makefile

@@ -42,6 +42,7 @@ define Package/ltq-vdsl-vr9/description
 endef
 endef
 
 
 MAKE_FLAGS += \
 MAKE_FLAGS += \
+	$(KERNEL_MAKE_FLAGS) \
 	SHELL="$(BASH)"
 	SHELL="$(BASH)"
 
 
 CONFIGURE_ARGS += --enable-kernel-include="$(LINUX_DIR)/include" \
 CONFIGURE_ARGS += --enable-kernel-include="$(LINUX_DIR)/include" \

+ 3 - 0
package/kernel/lantiq/ltq-vmmc/Makefile

@@ -39,6 +39,9 @@ define KernelPackage/ltq-vmmc/config
 	source "$(SOURCE)/Config.in"
 	source "$(SOURCE)/Config.in"
 endef
 endef
 
 
+MAKE_FLAGS += \
+	$(KERNEL_MAKE_FLAGS)
+
 CONFIGURE_ARGS += \
 CONFIGURE_ARGS += \
 	ARCH=$(LINUX_KARCH) \
 	ARCH=$(LINUX_KARCH) \
 	--enable-linux-26 \
 	--enable-linux-26 \