More ... ![]() |
*update every hour
This project forked from dotnet/coreclr
.NET Core CLR (CoreCLR) and its various support & modifications
License: MIT License
Please follow the readme info: https://github.com/3F/coreclr#coreclr-ilasm
Modern releases:
I will temporarily provide my own binaries for DllExport project. This especially is needed for something like this:
etc.
by the way, the open coreclr repo (latest commits and tags) contains max v4.5.22220. I don't know where placed src for v4.6.1055.0
upd:
CI: https://ci.appveyor.com/project/3Fs/coreclr/history
Latest binaries:
Architecture | Platform | Config | commit-sha1 | ILD/Asm | coreclr | Binaries |
---|---|---|---|---|---|---|
x86 | Windows | Release | 05afa4f | [ 4.5.1 ] -> *4.5.22220.0 | *v1.0.4 | Download |
x64 | Windows | Release | 05afa4f | [ 4.5.1 ] -> *4.5.22220.0 | *v1.0.4 | Download |
* - The base of version, i.e. it can be different from official release
NuGet:
Still TODO:
same remarks, today only this:
for(WORD j = 0; (pMD = pClass->m_MethodList.PEEK(j)); j++)
{
...
EATEntry* pEATE;
/*
struct EATEntry
{
DWORD dwStubRVA;
DWORD dwOrdinal;
char* szAlias;
};
*/
...
m_EATList.PUSH(pEATE);
ext IMAGE_COR20_HEADER:
.field public static literal int32 'MyField' at '@00007400' // RVA: 0x00001CE8
When we are trying to sign assembly ...
snk:
Error: ilasm on CoreCLR does not support full sign.
#ifdef FEATURE_CORECLR
report->error("Error: ilasm on CoreCLR does not support full sign.\n");
m_pCurAsmRef = NULL;
return;
#else
pfx:
Error: ilasm on CoreCLR does not support getting public key from container.
#ifdef FEATURE_CORECLR
report->error("Error: ilasm on CoreCLR does not support getting public key from container.\n");
m_pCurAsmRef = NULL;
return;
#else
but I see logic in #else block, so maybe it's soft restriction (for #3 this is a hard restriction without variants)
My full explanation here: 3F/DllExport#125 (comment)
More probably we also need an additional key for ILAsm, because this is specific behavior due to 3F/DllExport#90
I will look into later. Follow the news.
We need to restore this feature to support debug info for this 3F/DllExport#23
It was removed starting from this:
SHA-1: 1b6658714821566dd9ab78dcf1fe96fcb0f8772a
...
This ILDASM now depends on CoreCLR targeting cross-platform and thus
I dropped some features like GUI/PDB -- default output is console.
whoops, mscorpe/ceefilegenwriter.cpp#L979
// already should not contain any leading and trailing white-space chars
int len = lstrlenW(path);
yeah great, but how about:
ilasm /CVRES="bin\coreclr\one and two\\ "
my typo -_-
For version v1.0.4 - 51131a5 - 4.5.22220.0
both x86 and x64
ildasm.exe /quoteallnames /unicode /nobar /linenum "/out:DllExportAndFody.il" "DllExportAndFody.exe"
seems solves problem 3F/DllExport#17
but, after:
ilasm.exe /nologo "/out:DllExportAndFody.exe" "DllExportAndFody.il" /EXE "/resource=DllExportAndFody.res" /debug
Unhandled exception at 0x00007FFF807653F7 (ntdll.dll) in ilasm.exe:
RangeChecks instrumentation code detected an out of range array access.
ntdll.dll!00007fff807653f7() Unknown
ntdll.dll!00007fff80779afd() Unknown
ntdll.dll!00007fff80704fe9() Unknown
ntdll.dll!00007fff80778c0a() Unknown
ntdll.dll!00007fff8076540e() Unknown
ilasm.exe!CCompRC::LoadLibrary(HINSTANCE__ * * pHInst) Line 1136 C++
ilasm.exe!CCompRC::GetLibrary(const wchar_t * langId, HINSTANCE__ * * phInst) Line 558 C++
ilasm.exe!CCompRC::LoadString(CCompRC::ResourceCategory eCategory, const wchar_t * langId, unsigned int iResourceID, wchar_t * szBuffer, int iMax, int * pcwchUsed) Line 724 C++
ilasm.exe!CCompRC::LoadString(CCompRC::ResourceCategory eCategory, unsigned int iResourceID, wchar_t * szBuffer, int iMax, int * pcwchUsed) Line 705 C++
ilasm.exe!UtilLoadResourceString(CCompRC::ResourceCategory eCategory, unsigned int iResourceID, wchar_t * szBuffer, int) Line 101 C++
ilasm.exe!FormatRuntimeErrorVa(wchar_t * rcMsg, unsigned long hrRpt, HRESULT marker, char *) Line 184 C++
ilasm.exe!PostErrorVA(HRESULT hrRpt, char * marker) Line 368 C++
ilasm.exe!PostError(HRESULT hrRpt, ...) Line 403 C++
ilasm.exe!ConvertResource(const wchar_t * pszFilename, wchar_t * pszTempFilename, unsigned __int64 pewriter, PEWriter &) Line 1097 C++
ilasm.exe!CeeFileGenWriter::emitResourceSection() Line 1128 C++
ilasm.exe!CeeFileGenWriter::link() Line 339 C++
ilasm.exe!Assembler::CreatePEFile(wchar_t *) Line 1662 C++
ilasm.exe!wmain(int argc, wchar_t * * argv) Line 727 C++
ilasm.exe!__scrt_common_main_seh() Line 253 C++
kernel32.dll!00007fff7e728102() Unknown
ntdll.dll!00007fff8072c5b4() Unknown
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.