edk2/BaseTools/Source/C/GenFw
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
..
elf32.h BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Elf32Convert.c BaseTools: Remove ARM32 Support 2025-09-25 22:04:10 +00:00
Elf32Convert.h BaseTools: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
elf64.h BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Elf64Convert.c BaseTools: Add support for preserving build ID 2026-07-22 18:06:03 +00:00
Elf64Convert.h BaseTools: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
elf_common.h BaseTools,UefiPayloadPkg: Replace deprecated R_AARCH64_NONE value 2025-12-24 10:58:20 +00:00
ElfConvert.c BaseTools: Add support for preserving build ID 2026-07-22 18:06:03 +00:00
ElfConvert.h BaseTools: Add support for preserving build ID 2026-07-22 18:06:03 +00:00
GenFw.c BaseTools: Add support for preserving build ID 2026-07-22 18:06:03 +00:00
GenFw.h BaseTools: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
GNUmakefile BaseTools: Support custom library build for base tools on Linux ARM 2024-12-20 22:57:04 +00:00
Makefile BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00