riscv: efi: Generate Microsoft PE format compliant images
Per Microsoft PE Format documentation [1], PointerToSymbolTable and NumberOfSymbols should be zero for an image in the COFF file header. Currently the COFF file header is hardcoded on RISC-V and these two members are not zero. This updates the hardcoded structure to clear these two members, as well as setting the flag IMAGE_FILE_LOCAL_SYMS_STRIPPED so that we can generate compliant *.efi images. [1] https://docs.microsoft.com/zh-cn/windows/desktop/Debug/pe-format Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
		
							parent
							
								
									fb8ebf52a4
								
							
						
					
					
						commit
						a33a4efd27
					
				| 
						 | 
				
			
			@ -41,13 +41,13 @@ coff_header:
 | 
			
		|||
	.short	2				/* nr_sections */
 | 
			
		||||
	.long	0				/* TimeDateStamp */
 | 
			
		||||
	.long	0				/* PointerToSymbolTable */
 | 
			
		||||
	.long	1				/* NumberOfSymbols */
 | 
			
		||||
	.long	0				/* NumberOfSymbols */
 | 
			
		||||
	.short	section_table - optional_header	/* SizeOfOptionalHeader */
 | 
			
		||||
	/*
 | 
			
		||||
	 * Characteristics: IMAGE_FILE_DEBUG_STRIPPED |
 | 
			
		||||
	 * IMAGE_FILE_EXECUTABLE_IMAGE | IMAGE_FILE_LINE_NUMS_STRIPPED
 | 
			
		||||
	 */
 | 
			
		||||
	.short	0x206
 | 
			
		||||
	/* Characteristics */
 | 
			
		||||
	.short	(IMAGE_FILE_EXECUTABLE_IMAGE | \
 | 
			
		||||
		 IMAGE_FILE_LINE_NUMS_STRIPPED | \
 | 
			
		||||
		 IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
 | 
			
		||||
		 IMAGE_FILE_DEBUG_STRIPPED)
 | 
			
		||||
optional_header:
 | 
			
		||||
	.short	0x20b				/* PE32+ format */
 | 
			
		||||
	.byte	0x02				/* MajorLinkerVersion */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue