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

Function WriteDebug32

BaseTools/Source/C/GenFw/Elf32Convert.c:1120–1149  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1118}
1119
1120STATIC
1121VOID
1122WriteDebug32 (
1123 VOID
1124 )
1125{
1126 UINT32 Len;
1127 EFI_IMAGE_OPTIONAL_HEADER_UNION *NtHdr;
1128 EFI_IMAGE_DATA_DIRECTORY *DataDir;
1129 EFI_IMAGE_DEBUG_DIRECTORY_ENTRY *Dir;
1130 EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY *Nb10;
1131
1132 Len = strlen(mInImageName) + 1;
1133
1134 Dir = (EFI_IMAGE_DEBUG_DIRECTORY_ENTRY*)(mCoffFile + mDebugOffset);
1135 Dir->Type = EFI_IMAGE_DEBUG_TYPE_CODEVIEW;
1136 Dir->SizeOfData = sizeof(EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY) + Len;
1137 Dir->RVA = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY);
1138 Dir->FileOffset = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY);
1139
1140 Nb10 = (EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY*)(Dir + 1);
1141 Nb10->Signature = CODEVIEW_SIGNATURE_NB10;
1142 strcpy ((char *)(Nb10 + 1), mInImageName);
1143
1144
1145 NtHdr = (EFI_IMAGE_OPTIONAL_HEADER_UNION *)(mCoffFile + mNtHdrOffset);
1146 DataDir = &NtHdr->Pe32.OptionalHeader.DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_DEBUG];
1147 DataDir->VirtualAddress = mDebugOffset;
1148 DataDir->Size = sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY);
1149}
1150
1151STATIC
1152VOID

Callers

nothing calls this directly

Calls 2

strlenFunction · 0.50
strcpyFunction · 0.50

Tested by

no test coverage detected