mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	kbuild: always create intermediate vmlinux.unstripped
Generate the intermediate vmlinux.unstripped regardless of CONFIG_ARCH_VMLINUX_NEEDS_RELOCS. If CONFIG_ARCH_VMLINUX_NEEDS_RELOCS is unset, vmlinux.unstripped and vmlinux are identiacal. This simplifies the build rule, and allows to strip more sections by adding them to remove-section-y. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nicolas Schier <nsc@kernel.org> Link: https://patch.msgid.link/a48ca543fa2305bd17324f41606dcaed9b19f2d4.1758182101.git.legion@kernel.org Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
		
							parent
							
								
									8d18ef04f9
								
							
						
					
					
						commit
						0ce5139fd9
					
				
					 1 changed files with 22 additions and 23 deletions
				
			
		|  | @ -9,20 +9,6 @@ include $(srctree)/scripts/Makefile.lib | |||
| 
 | ||||
| targets := | ||||
| 
 | ||||
| ifdef CONFIG_ARCH_VMLINUX_NEEDS_RELOCS | ||||
| vmlinux-final := vmlinux.unstripped | ||||
| 
 | ||||
| quiet_cmd_strip_relocs = RSTRIP  $@ | ||||
|       cmd_strip_relocs = $(OBJCOPY) --remove-section='.rel*' --remove-section=!'.rel*.dyn' $< $@ | ||||
| 
 | ||||
| vmlinux: $(vmlinux-final) FORCE | ||||
| 	$(call if_changed,strip_relocs) | ||||
| 
 | ||||
| targets += vmlinux | ||||
| else | ||||
| vmlinux-final := vmlinux | ||||
| endif | ||||
| 
 | ||||
| %.o: %.c FORCE | ||||
| 	$(call if_changed_rule,cc_o_c) | ||||
| 
 | ||||
|  | @ -61,19 +47,19 @@ targets += .builtin-dtbs-list | |||
| 
 | ||||
| ifdef CONFIG_GENERIC_BUILTIN_DTB | ||||
| targets += .builtin-dtbs.S .builtin-dtbs.o | ||||
| $(vmlinux-final): .builtin-dtbs.o | ||||
| vmlinux.unstripped: .builtin-dtbs.o | ||||
| endif | ||||
| 
 | ||||
| # vmlinux | ||||
| # vmlinux.unstripped | ||||
| # --------------------------------------------------------------------------- | ||||
| 
 | ||||
| ifdef CONFIG_MODULES | ||||
| targets += .vmlinux.export.o | ||||
| $(vmlinux-final): .vmlinux.export.o | ||||
| vmlinux.unstripped: .vmlinux.export.o | ||||
| endif | ||||
| 
 | ||||
| ifdef CONFIG_ARCH_WANTS_PRE_LINK_VMLINUX | ||||
| $(vmlinux-final): arch/$(SRCARCH)/tools/vmlinux.arch.o | ||||
| vmlinux.unstripped: arch/$(SRCARCH)/tools/vmlinux.arch.o | ||||
| 
 | ||||
| arch/$(SRCARCH)/tools/vmlinux.arch.o: vmlinux.o FORCE | ||||
| 	$(Q)$(MAKE) $(build)=arch/$(SRCARCH)/tools $@ | ||||
|  | @ -86,17 +72,30 @@ cmd_link_vmlinux =							\ | |||
| 	$< "$(LD)" "$(KBUILD_LDFLAGS)" "$(LDFLAGS_vmlinux)" "$@";	\ | ||||
| 	$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true) | ||||
| 
 | ||||
| targets += $(vmlinux-final) | ||||
| $(vmlinux-final): scripts/link-vmlinux.sh vmlinux.o $(KBUILD_LDS) FORCE | ||||
| targets += vmlinux.unstripped | ||||
| vmlinux.unstripped: scripts/link-vmlinux.sh vmlinux.o $(KBUILD_LDS) FORCE | ||||
| 	+$(call if_changed_dep,link_vmlinux) | ||||
| ifdef CONFIG_DEBUG_INFO_BTF | ||||
| $(vmlinux-final): $(RESOLVE_BTFIDS) | ||||
| vmlinux.unstripped: $(RESOLVE_BTFIDS) | ||||
| endif | ||||
| 
 | ||||
| ifdef CONFIG_BUILDTIME_TABLE_SORT | ||||
| $(vmlinux-final): scripts/sorttable | ||||
| vmlinux.unstripped: scripts/sorttable | ||||
| endif | ||||
| 
 | ||||
| # vmlinux | ||||
| # --------------------------------------------------------------------------- | ||||
| 
 | ||||
| remove-section-y                                   := | ||||
| remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*' | ||||
| 
 | ||||
| quiet_cmd_strip_relocs = OBJCOPY $@ | ||||
|       cmd_strip_relocs = $(OBJCOPY) $(addprefix --remove-section=,$(remove-section-y)) $< $@ | ||||
| 
 | ||||
| targets += vmlinux | ||||
| vmlinux: vmlinux.unstripped FORCE | ||||
| 	$(call if_changed,strip_relocs) | ||||
| 
 | ||||
| # modules.builtin.ranges | ||||
| # --------------------------------------------------------------------------- | ||||
| ifdef CONFIG_BUILTIN_MODULE_RANGES | ||||
|  | @ -110,7 +109,7 @@ modules.builtin.ranges: $(srctree)/scripts/generate_builtin_ranges.awk \ | |||
| 			modules.builtin vmlinux.map vmlinux.o.map FORCE | ||||
| 	$(call if_changed,modules_builtin_ranges) | ||||
| 
 | ||||
| vmlinux.map: $(vmlinux-final) | ||||
| vmlinux.map: vmlinux.unstripped | ||||
| 	@: | ||||
| 
 | ||||
| endif | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Masahiro Yamada
						Masahiro Yamada