Hernandez Miramontes, Jose Miguel <jose.miguel.hernandez.miramontes@...>

yes, but if the section is not removed debugger would be able to find the debug symbols. Like how it happens with PDB files.
We could leave the symbols in the binaries, but it will consume more space. Space in the SPI is usually a constrain

I am just wondering if it is possible to fix this so that the section is there in the final efi.
If I were to try it, where would I start?

Jose Miguel Hernandez Miramontes
BIOS Engineer
+1 (512) 362-1230
Intel Corporation

-----Original Message-----
From: Ard Biesheuvel <>
Sent: Wednesday, March 24, 2021 10:26 AM
To: Laszlo Ersek <>
Cc:; Hernandez Miramontes, Jose Miguel <>; Feng, Bob C <>; Saucedo Tejada, Genaro <>; Ortiz Garcia, Jorge E <>; Ard Biesheuvel (TianoCore) <>
Subject: Re: [edk2-discuss]

On Wed, 24 Mar 2021 at 16:18, Laszlo Ersek <> wrote:


On 03/24/21 02:49, Hernandez Miramontes, Jose Miguel wrote:

Is anyone familiar with this file?
I would like to understand more what it does and why it is needed.

When looking at the .efi output of genfw, it seems the .build-id section generated by gcc is discarded.
git-blame is your friend. It leads to commit 7fd5d619806d ("BaseTools
GCC: drop GNU notes section from EFI image", 2016-08-02).
The build-id is used by Linux distros when they ship debug symbols with production shared libraries. The build-id permits the loader to look up the correct file, and confirm that the versions match.

In EDK2, the ELF binary is only an intermediate artifact, and so I fail to see why we would need build IDs here. If the ELF binary was built with debug symbols, they will be in the binary itself, not in a side loaded symbol file.

Join to automatically receive all group messages.