Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Ard Biesheuvel 02a5421f57 BaseTools/GenFw: move PE/COFF header closer to payload
The secondary header (not the DOS header) of a PE/COFF binary
does not reside at a fixed offset. Instead, its offset into the
file is recorded in the DOS header.

This gives us the flexibility to move it, along with the section
headers, to right before the first section if there is considerable
space before it, i.e., when the PE/COFF file alignment is substantially
larger than the size of the header.

Since the PE/COFF to TE conversion replaces everything before the
section headers with a simple TE header, this change removes all
the header padding from such images, leading to smaller files.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18078 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-27 13:50:09 +00:00
AppPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ArmPkg ArmPkg: Remove PCD declarations linked to the ARM BDS Linux Loader 2015-07-14 14:39:45 +00:00
ArmPlatformPkg ArmPlatformPkg/Bds: Use HandleProtocol to get SNP instance 2015-07-16 11:27:05 +00:00
ArmVirtPkg ArmVirtPkg/ArmVirtQemu: support SMBIOS 2015-07-26 08:03:00 +00:00
BaseTools BaseTools/GenFw: move PE/COFF header closer to payload 2015-07-27 13:50:09 +00:00
BeagleBoardPkg ArmPlatformPkg: Remove Linux specific boot path 2015-07-14 14:37:57 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg: Get power management register addresses. 2015-07-01 09:41:58 +00:00
CorebootPayloadPkg CorebootPayloadPkgIa32: Don't specify X64 architecture 2015-07-27 06:43:29 +00:00
CryptoPkg CryptoPkg: remove redundant parentheses 2015-07-14 02:57:38 +00:00
DuetPkg DuetPkg: Use the new PCDs defined in MdePkg. 2015-05-06 03:26:49 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg: Remove gZeroGuid def in FrameworkHiiOnUefiHiiThunk 2015-07-07 03:05:18 +00:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg EmbeddedPkg/Lan9118Dxe: Ignore spurious RXE errors 2015-07-16 11:24:42 +00:00
EmulatorPkg EmulatorPkg: Update comment for PcdDefaultTerminalType 2015-07-16 08:50:15 +00:00
FatBinPkg FatBinPkg: Update ARM and AArch64 binaries 2015-02-27 17:27:42 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg AcpiS3SaveDxe: Reduce reserved memory consumption 2015-07-27 03:04:03 +00:00
IntelFrameworkPkg IntelFrameworkPkg FrameworkUefiLib: Fix ASSERT in CatVSPrint 2015-07-10 01:08:05 +00:00
IntelFspPkg IntelFspPkg BaseFspDebugLibSerialPort: Use safe string functions 2015-06-30 06:30:20 +00:00
IntelFspWrapperPkg FspInitPei function calling parameters not matching with the function definition. 2015-07-07 05:47:08 +00:00
MdeModulePkg MdeModulePkg:Add ESC key support in setup browser pop-up message box 2015-07-27 09:49:01 +00:00
MdePkg MdePkg: Add missing PCD usage information in UNI files. 2015-07-27 03:10:37 +00:00
NetworkPkg NetworkPkg: fix an error lead building crash 2015-07-27 02:45:43 +00:00
Nt32Pkg Nt32Pkg: Update DSC/FDF to include drivers for HTTP boot. 2015-07-09 08:33:38 +00:00
Omap35xxPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
OptionRomPkg OptionRomPkg: Remove redundant included header file defintion in Ax88772.h and Ax88772b.h files 2015-07-08 02:56:54 +00:00
OvmfPkg OvmfPkg: SmbiosPlatformDxe: restrict current Xen code to IA32/X64 2015-07-26 08:02:40 +00:00
PcAtChipsetPkg PcAtChipsetPkg/PciHostBridgeDxe/PciRootBridgeIo.c: rewrap code, strip trailing ws 2015-07-14 12:01:30 +00:00
PerformancePkg PerformancePkg Dp_App: Fix ASSERT in GetNameFromHandle 2015-07-13 01:24:44 +00:00
SecurityPkg SecurityPkg AuthVariableLib: Correct address pointers data 2015-07-26 08:03:54 +00:00
ShellBinPkg ShellBinPkg: Ia32/X64 Shell binary update. 2015-06-12 11:20:53 +00:00
ShellPkg ShellPkg: Fix the ASSERT issue in Shell 'for' loop 2015-07-26 08:06:01 +00:00
SourceLevelDebugPkg SourceLevelDebugPkg/SecPeiDebugAgentLib: Restore CPU interrupt state 2015-07-10 05:48:19 +00:00
StdLib StdLib: Do not define memcpy for AARCH64 builds 2015-07-26 08:07:20 +00:00
StdLibPrivateInternalFiles */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UefiCpuPkg UefiCpuPkg/CpuMpPei: Register callback on End Of Pei PPI 2015-07-15 03:46:13 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Fixed potential security issue introduced by SmramCpuNvs variable. 2015-06-23 07:22:44 +00:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from build 2015-07-10 05:47:31 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
Edk2Setup.bat Edk2: Update Edk2Setup.bat 2015-06-16 07:23:45 +00:00
Maintainers.txt Maintainers.txt: Add Daryl's new email address 2015-07-26 08:06:05 +00:00
edksetup.bat Update edksetup.bat to support Microsoft Visual Studio 2013 when building the Nt32Pkg emulation platform (enabled using the --nt32 flag). 2014-10-30 17:09:25 +00:00
edksetup.sh edksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout 2014-07-28 17:37:40 +00:00