MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / WriteDebug64

Function WriteDebug64

BaseTools/Source/C/GenFw/Elf64Convert.c:1329–1358  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1327}
1328
1329STATIC
1330VOID
1331WriteDebug64 (
1332 VOID
1333 )
1334{
1335 UINT32 Len;
1336 EFI_IMAGE_OPTIONAL_HEADER_UNION *NtHdr;
1337 EFI_IMAGE_DATA_DIRECTORY *DataDir;
1338 EFI_IMAGE_DEBUG_DIRECTORY_ENTRY *Dir;
1339 EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY *Nb10;
1340
1341 Len = strlen(mInImageName) + 1;
1342
1343 Dir = (EFI_IMAGE_DEBUG_DIRECTORY_ENTRY*)(mCoffFile + mDebugOffset);
1344 Dir->Type = EFI_IMAGE_DEBUG_TYPE_CODEVIEW;
1345 Dir->SizeOfData = sizeof(EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY) + Len;
1346 Dir->RVA = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY);
1347 Dir->FileOffset = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY);
1348
1349 Nb10 = (EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY*)(Dir + 1);
1350 Nb10->Signature = CODEVIEW_SIGNATURE_NB10;
1351 strcpy ((char *)(Nb10 + 1), mInImageName);
1352
1353
1354 NtHdr = (EFI_IMAGE_OPTIONAL_HEADER_UNION *)(mCoffFile + mNtHdrOffset);
1355 DataDir = &NtHdr->Pe32Plus.OptionalHeader.DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_DEBUG];
1356 DataDir->VirtualAddress = mDebugOffset;
1357 DataDir->Size = sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY);
1358}
1359
1360STATIC
1361VOID

Callers

nothing calls this directly

Calls 2

strlenFunction · 0.50
strcpyFunction · 0.50

Tested by

no test coverage detected