mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	kbuild: Fix running modpost with musl libc
commit3d57e1b7b1("kbuild: refactor the prerequisites of the modpost rule") moved 'vmlinux.o' inside modpost-args, possibly before some of the other options. However, getopt() in musl libc follows POSIX and stops looking for options upon reaching the first non-option argument. As a result, the '-T' option is misinterpreted as a positional argument, and the build fails: make -f ./scripts/Makefile.modpost scripts/mod/modpost -E -o Module.symvers vmlinux.o -T modules.order -T: No such file or directory make[1]: *** [scripts/Makefile.modpost:137: Module.symvers] Error 1 make: *** [Makefile:1960: modpost] Error 2 The fix is to move all options before 'vmlinux.o' in modpost-args. Fixes:3d57e1b7b1("kbuild: refactor the prerequisites of the modpost rule") Signed-off-by: Samuel Holland <samuel@sholland.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
		
							parent
							
								
									9c9b55a594
								
							
						
					
					
						commit
						63ffe00d8c
					
				
					 1 changed files with 11 additions and 11 deletions
				
			
		|  | @ -55,6 +55,17 @@ ifneq ($(findstring i,$(filter-out --%,$(MAKEFLAGS))),) | ||||||
| modpost-args += -n | modpost-args += -n | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
|  | ifneq ($(KBUILD_MODPOST_WARN)$(missing-input),) | ||||||
|  | modpost-args += -w | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | # Read out modules.order to pass in modpost. | ||||||
|  | # Otherwise, allmodconfig would fail with "Argument list too long". | ||||||
|  | ifdef KBUILD_MODULES | ||||||
|  | modpost-args += -T $(MODORDER) | ||||||
|  | modpost-deps += $(MODORDER) | ||||||
|  | endif | ||||||
|  | 
 | ||||||
| ifeq ($(KBUILD_EXTMOD),) | ifeq ($(KBUILD_EXTMOD),) | ||||||
| 
 | 
 | ||||||
| # Generate the list of in-tree objects in vmlinux | # Generate the list of in-tree objects in vmlinux | ||||||
|  | @ -113,17 +124,6 @@ modpost-args += -e $(addprefix -i , $(KBUILD_EXTRA_SYMBOLS)) | ||||||
| 
 | 
 | ||||||
| endif # ($(KBUILD_EXTMOD),) | endif # ($(KBUILD_EXTMOD),) | ||||||
| 
 | 
 | ||||||
| ifneq ($(KBUILD_MODPOST_WARN)$(missing-input),) |  | ||||||
| modpost-args += -w |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| ifdef KBUILD_MODULES |  | ||||||
| modpost-args += -T $(MODORDER) |  | ||||||
| modpost-deps += $(MODORDER) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| # Read out modules.order to pass in modpost. |  | ||||||
| # Otherwise, allmodconfig would fail with "Argument list too long". |  | ||||||
| quiet_cmd_modpost = MODPOST $@ | quiet_cmd_modpost = MODPOST $@ | ||||||
|       cmd_modpost = \ |       cmd_modpost = \ | ||||||
| 	$(if $(missing-input), \ | 	$(if $(missing-input), \ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Samuel Holland
						Samuel Holland