1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 03:28:20 +02:00

Fixed emit file paths with LLVM link

This commit is contained in:
Brian Fiete 2025-01-21 08:02:55 -08:00
parent 50eb4dbb9d
commit f595434086

View file

@ -3451,6 +3451,13 @@ void COFF::ParseCompileUnit_Symbols(DbgCompileUnit* compileUnit, uint8* sectionD
_FlushDeferredVariableLocations(); _FlushDeferredVariableLocations();
} }
static void FixEmitFileName(const char*& fileName)
{
const char* emitPtr = strstr(fileName, "$Emit$");
if (emitPtr != NULL)
fileName = emitPtr;
}
CvCompileUnit* COFF::ParseCompileUnit(CvModuleInfo* moduleInfo, CvCompileUnit* compileUnit, uint8* sectionData, int sectionSize) CvCompileUnit* COFF::ParseCompileUnit(CvModuleInfo* moduleInfo, CvCompileUnit* compileUnit, uint8* sectionData, int sectionSize)
{ {
BP_ZONE("COFF::ParseCompileUnit"); BP_ZONE("COFF::ParseCompileUnit");
@ -3648,8 +3655,7 @@ CvCompileUnit* COFF::ParseCompileUnit(CvModuleInfo* moduleInfo, CvCompileUnit* c
const char* fileName = mStringTable.mStrTable + fileTableOfs; const char* fileName = mStringTable.mStrTable + fileTableOfs;
if ((fileName[0] == '\\') && (fileName[1] == '$')) FixEmitFileName(fileName);
fileName++;
DbgSrcFile* srcFile = NULL; DbgSrcFile* srcFile = NULL;
@ -4696,8 +4702,7 @@ void COFF::ScanCompileUnit(int compileUnitId)
else else
{ {
const char* fileName = mStringTable.mStrTable + fileTableOfs; const char* fileName = mStringTable.mStrTable + fileTableOfs;
if ((fileName[0] == '\\') && (fileName[1] == '$')) FixEmitFileName(fileName);
fileName++;
srcFile = AddSrcFile(NULL, fileName); srcFile = AddSrcFile(NULL, fileName);
mSrcFileDeferredRefs.Add(srcFile); mSrcFileDeferredRefs.Add(srcFile);
*srcFilePtr = srcFile; *srcFilePtr = srcFile;