[Mono-bugs] [Bug 342700] New: "Mixed Mode" assemblies in Cecil

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Nov 19 08:06:18 EST 2007


https://bugzilla.novell.com/show_bug.cgi?id=342700

           Summary: "Mixed Mode" assemblies in Cecil
           Product: Mono: Class Libraries
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Cecil
        AssignedTo: jbevain at novell.com
        ReportedBy: ck at carlo-kok.com
         QAContact: mono-bugs at ximian.com
          Found By: ---


Since these aren't actually documented in the spec I'll write out the details
here. A regular assembly and mixed mode assembly only differ in that a regular
one only has an entry point with a call to the mscoree entry point, while a
mixed mode assembly contains more code before or after the call to mscoree. if
there is a custom entry point, the MS.NET runtime will execute it when loading
the assembly. 

Doing calls from unmanaged to managed code depends on the mscoree api, using
the ee.h and related files. Calling unmanaged methods from managed code is done
by defining a global method (a real one, shows in the root in ildasm) with a
methodimpl of Native. The RVA points then to the unmanaged code in the .text
section. These methods aren't accessible from outside the assembly, but from
within can be called with regular calls.


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list