edk2/BaseTools/Source/C
Chris Fernald 27ac8fac0b BaseTools: Add support for preserving build ID
Adds an optional flag that copies the GNU build-id note from the input
ELF file into the output PE/COFF firmware image as a dedicated ".bldid"
section. The build ID is emitted by the linker as a unique fingerprint
of the binary and allows custom post-build and debugging tools to
reliably match a firmware image against its corresponding unstripped
ELF and debug symbols, without relying on file names, timestamps, or
build paths.

This notable opts to use a non-standard section name ".bldid" to store
the build ID. This approach was chosen to keep genfw and the parsers simple
since the full "build-id" name would require redirecting the section name.
While this breaks from standard conventions, this is not impactful since
GenFW is already creating a non-standard artifact for the PE image with
the associated ELF symbol file.

Signed-off-by: Chris Fernald <chfernal@microsoft.com>
2026-07-22 18:06:03 +00:00
..
BrotliCompress BaseTools: Fix multiple security vulnerabilities (Defense in Depth) 2025-12-22 04:53:27 +00:00
Common BaseTools: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
DevicePath BaseTools: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
EfiRom BaseTools: Add missing machine types while dumping Option Rom 2026-04-23 05:31:47 +00:00
GenCrc32 BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
GenFfs BaseTools: GenFfs/GenFv/GenSec: Fixing Warning 4319 from MSVC 2026-03-13 19:14:49 +00:00
GenFv BaseTools/GenFv: Preserve legacy rebase behavior when Xip is unused 2026-07-15 21:37:05 +00:00
GenFw BaseTools: Add support for preserving build ID 2026-07-22 18:06:03 +00:00
GenSec BaseTools: GenFfs/GenFv/GenSec: Fixing Warning 4319 from MSVC 2026-03-13 19:14:49 +00:00
Include BaseTools/Source/C/Include/Common: Add back include guard 2026-02-27 07:15:11 +00:00
LzmaCompress BaseTools: Allow users to specify compiler to use with make CC= CXX= 2023-04-05 15:44:48 +00:00
Makefiles BaseTools: Enable control flow guard for Windows builds 2026-03-26 02:28:23 +00:00
PyEfiCompressor BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
TianoCompress BaseTools: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
VfrCompile BaseTools/Source/C/VfrCompile: Fix parallel make failures 2026-02-27 04:54:43 +00:00
VolInfo BaseTools: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
GNUmakefile Revert "BaseTools: Add support for out-of-tree builds" 2026-02-11 22:53:29 +00:00
Makefile BaseTools: Adding cross compilation of BaseTool for Windows ARM/ARM64 2024-12-20 22:57:04 +00:00