mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	kbuild: keep .modinfo section in vmlinux.unstripped
Keep the .modinfo section during linking, but strip it from the final vmlinux. Adjust scripts/mksysmap to exclude modinfo symbols from kallsyms. This change will allow the next commit to extract the .modinfo section from the vmlinux.unstripped intermediate. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Alexey Gladkov <legion@kernel.org> Reviewed-by: Nicolas Schier <nsc@kernel.org> Link: https://patch.msgid.link/aaf67c07447215463300fccaa758904bac42f992.1758182101.git.legion@kernel.org Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
		
							parent
							
								
									0ce5139fd9
								
							
						
					
					
						commit
						3e86e4d74c
					
				
					 3 changed files with 9 additions and 3 deletions
				
			
		|  | @ -831,6 +831,7 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG) | |||
| 
 | ||||
| /* Required sections not related to debugging. */ | ||||
| #define ELF_DETAILS							\ | ||||
| 		.modinfo : { *(.modinfo) }				\ | ||||
| 		.comment 0 : { *(.comment) }				\ | ||||
| 		.symtab 0 : { *(.symtab) }				\ | ||||
| 		.strtab 0 : { *(.strtab) }				\ | ||||
|  | @ -1044,7 +1045,6 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG) | |||
| 	*(.discard.*)							\ | ||||
| 	*(.export_symbol)						\ | ||||
| 	*(.no_trim_symbol)						\ | ||||
| 	*(.modinfo)							\ | ||||
| 	/* ld.bfd warns about .gnu.version* even when not emitted */	\ | ||||
| 	*(.gnu.version*)						\ | ||||
| 
 | ||||
|  |  | |||
|  | @ -86,11 +86,14 @@ endif | |||
| # vmlinux | ||||
| # --------------------------------------------------------------------------- | ||||
| 
 | ||||
| remove-section-y                                   := | ||||
| remove-section-y                                   := .modinfo | ||||
| remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*' | ||||
| 
 | ||||
| # To avoid warnings: "empty loadable segment detected at ..." from GNU objcopy, | ||||
| # it is necessary to remove the PT_LOAD flag from the segment. | ||||
| quiet_cmd_strip_relocs = OBJCOPY $@ | ||||
|       cmd_strip_relocs = $(OBJCOPY) $(addprefix --remove-section=,$(remove-section-y)) $< $@ | ||||
|       cmd_strip_relocs = $(OBJCOPY) $(patsubst %,--set-section-flags %=noload,$(remove-section-y)) $< $@; \ | ||||
|                          $(OBJCOPY) $(addprefix --remove-section=,$(remove-section-y)) $@ | ||||
| 
 | ||||
| targets += vmlinux | ||||
| vmlinux: vmlinux.unstripped FORCE | ||||
|  |  | |||
|  | @ -79,6 +79,9 @@ | |||
| / _SDA_BASE_$/d | ||||
| / _SDA2_BASE_$/d | ||||
| 
 | ||||
| # MODULE_INFO() | ||||
| / __UNIQUE_ID_modinfo[0-9]*$/d | ||||
| 
 | ||||
| # --------------------------------------------------------------------------- | ||||
| # Ignored patterns | ||||
| #  (symbols that contain the pattern are ignored) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Masahiro Yamada
						Masahiro Yamada