mirror of https://github.com/acidanthera/audk.git
BaseTools: Roll back GenFw Change to keep unknown field in RSDS debug entry
https://lists.01.org/pipermail/edk2-devel/2017-August/013488.html These fields are actually a GUID and DWORD respectively: the GUID identifies the PDB to make it possible to verify that a given PDB matches the PE file, and the DWORD is the "age" of the PDB which is simply a helper value that is incremented by 1 by the linker every time the file is remade. Wiping the GUID will cause PDB parsers (such as the MS DIA SDK that IDA and most other tools use) to treat the PDB as a mismatch and refuse to load it. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
e4d409c6e3
commit
279c01ce13
|
@ -2903,13 +2903,7 @@ Returns:
|
|||
}
|
||||
if (DebugEntry->Type == EFI_IMAGE_DEBUG_TYPE_CODEVIEW) {
|
||||
RsdsEntry = (EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY *) (FileBuffer + DebugEntry->FileOffset);
|
||||
if (RsdsEntry->Signature == CODEVIEW_SIGNATURE_RSDS) {
|
||||
RsdsEntry->Unknown = 0;
|
||||
RsdsEntry->Unknown2 = 0;
|
||||
RsdsEntry->Unknown3 = 0;
|
||||
RsdsEntry->Unknown4 = 0;
|
||||
RsdsEntry->Unknown5 = 0;
|
||||
} else if (RsdsEntry->Signature == CODEVIEW_SIGNATURE_MTOC) {
|
||||
if (RsdsEntry->Signature == CODEVIEW_SIGNATURE_MTOC) {
|
||||
// MTOC sets DebugDirectoryEntrySize to size of the .debug section, so fix it.
|
||||
if (!ZeroDebugFlag) {
|
||||
if (Optional32Hdr->Magic == EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC) {
|
||||
|
|
Loading…
Reference in New Issue