|
@@ -132,6 +132,8 @@ efi_head:
|
|
|
#endif
|
|
|
|
|
|
#ifdef CONFIG_EFI
|
|
|
+ .globl stext_offset
|
|
|
+ .set stext_offset, stext - efi_head
|
|
|
.align 3
|
|
|
pe_header:
|
|
|
.ascii "PE"
|
|
@@ -155,7 +157,7 @@ optional_header:
|
|
|
.long 0 // SizeOfInitializedData
|
|
|
.long 0 // SizeOfUninitializedData
|
|
|
.long efi_stub_entry - efi_head // AddressOfEntryPoint
|
|
|
- .long stext - efi_head // BaseOfCode
|
|
|
+ .long stext_offset // BaseOfCode
|
|
|
|
|
|
extra_header_fields:
|
|
|
.quad 0 // ImageBase
|
|
@@ -172,7 +174,7 @@ extra_header_fields:
|
|
|
.long _end - efi_head // SizeOfImage
|
|
|
|
|
|
// Everything before the kernel image is considered part of the header
|
|
|
- .long stext - efi_head // SizeOfHeaders
|
|
|
+ .long stext_offset // SizeOfHeaders
|
|
|
.long 0 // CheckSum
|
|
|
.short 0xa // Subsystem (EFI application)
|
|
|
.short 0 // DllCharacteristics
|
|
@@ -217,9 +219,9 @@ section_table:
|
|
|
.byte 0
|
|
|
.byte 0 // end of 0 padding of section name
|
|
|
.long _end - stext // VirtualSize
|
|
|
- .long stext - efi_head // VirtualAddress
|
|
|
+ .long stext_offset // VirtualAddress
|
|
|
.long _edata - stext // SizeOfRawData
|
|
|
- .long stext - efi_head // PointerToRawData
|
|
|
+ .long stext_offset // PointerToRawData
|
|
|
|
|
|
.long 0 // PointerToRelocations (0 for executables)
|
|
|
.long 0 // PointerToLineNumbers (0 for executables)
|