Coder Social home page Coder Social logo

3f / coreclr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dotnet/coreclr

8.0 8.0 3.0 286.67 MB

.NET Core CLR (CoreCLR) and its various support & modifications

License: MIT License

Shell 0.23% C# 67.69% C++ 28.12% C 2.12% Perl 0.01% Assembly 0.42% Objective-C 0.01% Python 0.21% Makefile 0.02% PowerShell 0.06% CMake 0.32% Batchfile 0.09% Awk 0.01% Yacc 0.07% Smalltalk 0.28% SuperCollider 0.01% M4 0.01% Roff 0.29% TeX 0.06% Scala 0.01%
coreclr dllexport dotnet dotnet-dllexport dotnetcore dotnetcore3 ilasm ildasm pe32 pe32-plus

coreclr's Introduction

coreclr's People

Contributors

adityamandaleeka avatar andyayersms avatar briansull avatar bruceforstall avatar caroleidt avatar danmoseley avatar dotnet-bot avatar dotnet-maestro-bot avatar dotnet-maestro[bot] avatar echesakov avatar ellismg avatar gkhanna79 avatar janvorli avatar jkotas avatar josephtremoulet avatar kouvel avatar kyulee1 avatar michalstrehovsky avatar michellemcdaniel avatar mikedn avatar mikem8361 avatar mmitche avatar parjong avatar pgavlin avatar russkeldorph avatar sdmaclea avatar stephentoub avatar swgillespie avatar tannergooding avatar wtgodbe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

coreclr's Issues

Compact ILAsm/ILDasm for DllExport

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:

  • "\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\x64\ildasm.exe" - v4.6.1055.0
  • "\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe" - v4.6.1038.0

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:

  • NuGet package

Still TODO:

ilasm on CoreCLR does not support full sign / getting public key from container

When we are trying to sign assembly ...

snk:

Error: ilasm on CoreCLR does not support full sign.

asmman.cpp#L700

#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.

asmman.cpp#L612

#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)

Restore the .line directives for Win platform

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.

ilasm.exe: Unhandled exception. RangeChecks instrumentation code detected an out of range array access

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.