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
Block a user