build: fix regression for kernels < 5.10
This fixes a regression introduced with commit
5ed1e5140a ("build: build kernel image
before building modules/packages").
Before this commit the make target would always include "modules",
resulting in a MODPOST and a complete Module.symvers file. Since this
commit a MODPOST of the kernel modules is not guaranteed for kernels <
5.10. This results in some broken SDKs in which external packages that
depend on exported symbols from kernel modules fail to compile.
Adding "modules" back to the calls to the CompileImage defines fixes the
regression. For kernels > 5.10 this is not needed, but it doesn't cause
any harm either.
Tested with kernels 5.4.x and 5.10.x.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
			
			
This commit is contained in:
		 Sebastian Kemper
					Sebastian Kemper
				
			
				
					committed by
					
						 Paul Spooren
						Paul Spooren
					
				
			
			
				
	
			
			
			 Paul Spooren
						Paul Spooren
					
				
			
						parent
						
							5f1338e983
						
					
				
				
					commit
					54070a1f5c
				
			| @@ -149,12 +149,17 @@ define Kernel/CopyImage | ||||
| 	} | ||||
| endef | ||||
|  | ||||
| # Always add "modules" so a proper Module.symvers file is written that | ||||
| # also contains symbols from the kernel modules. Without these symbols | ||||
| # external packages that depend on exported symbols from kernel modules | ||||
| # will fail to build. | ||||
| define Kernel/CompileImage/Default | ||||
| 	rm -f $(TARGET_DIR)/init | ||||
| 	+$(KERNEL_MAKE) $(KERNEL_MAKEOPTS_IMAGE) $(if $(KERNELNAME),$(KERNELNAME),all) | ||||
| 	+$(KERNEL_MAKE) $(KERNEL_MAKEOPTS_IMAGE) $(if $(KERNELNAME),$(KERNELNAME),all) modules | ||||
| 	$(call Kernel/CopyImage) | ||||
| endef | ||||
|  | ||||
| # Here as well, always add "modules", see comment above. | ||||
| ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) | ||||
| define Kernel/CompileImage/Initramfs | ||||
| 	$(call Kernel/Configure/Initramfs) | ||||
| @@ -175,7 +180,7 @@ endif | ||||
| # ?	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZ4),) | ||||
| 	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD),$(STAGING_DIR_HOST)/bin/zstd -T0 -f -o $(KERNEL_BUILD_DIR)/initrd.cpio.zstd $(KERNEL_BUILD_DIR)/initrd.cpio) | ||||
| endif | ||||
| 	+$(KERNEL_MAKE) $(KERNEL_MAKEOPTS_IMAGE) $(if $(KERNELNAME),$(KERNELNAME),all) | ||||
| 	+$(KERNEL_MAKE) $(KERNEL_MAKEOPTS_IMAGE) $(if $(KERNELNAME),$(KERNELNAME),all) modules | ||||
| 	$(call Kernel/CopyImage,-initramfs) | ||||
| endef | ||||
| else | ||||
|   | ||||
		Reference in New Issue
	
	Block a user