1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

Bug fixes, installer, [Export]

Fixed a bunch of bugs in aggregate const initializers
Fixed ZIP bugs
Fixed a compilation case where we change protection while reifying a type
Added another project kind - Dynamic Library
Added [Export] for DLL method exporting
Fixed some issues of things being  generated as __NOINLINE incorrectly
Fixed an issue with module extensions with not-yet-demanded on-demand methods
Started adding Installer
This commit is contained in:
Brian Fiete 2019-08-27 08:04:41 -07:00
parent efa22e51fb
commit 09016c8dc0
135 changed files with 3615 additions and 2337 deletions

View file

@ -1950,7 +1950,7 @@ void BeCOFFObject::Generate(BeModule* module)
InitSect(mDebugTSect, ".debug$T", IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ, true, false);
}
InitSect(mPDataSect, ".pdata", IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ, true, false);
mTextSect.mData.mData.Reserve(4096);
BfSizedVector<BeMCSymbol*, 32> globalVarSyms;
@ -2060,8 +2060,21 @@ void BeCOFFObject::Generate(BeModule* module)
BeMCContext context(this);
context.Generate(func);
if (func->mIsDLLExport)
{
mDirectives += " ";
mDirectives.Append("/EXPORT:");
mDirectives.Append(func->mName);
}
}
}
if (!mDirectives.IsEmpty())
{
InitSect(mDirectiveSect, ".drectve", IMAGE_SCN_LNK_INFO | IMAGE_SCN_LNK_REMOVE | IMAGE_SCN_ALIGN_1BYTES, true, false);
mDirectiveSect.mData.Write((void*)mDirectives.c_str(), (int)mDirectives.length());
}
if (hasDebugInfo)
{