Skip to content

nano Portable Executable (nPE) file format #105

Open
@nfbot

Description

@nfbot

From nf-interpreter created by cw2 : nanoframework/nf-interpreter#40

Based on NETMF's PE, but without its obsolete/unused features. Planned modifications:

  • Follows ECMA-335 specification for metadata tables,
    • Extending metadata tables is needed to support generics
  • No padding information, always aligned to 32-bit boundary (even on the disk),
  • No endianness information - handled on the PC side (?)

https://github.com/dotnet/corefx/tree/master/src/System.Reflection.Metadata/src/System/Reflection/Metadata/Ecma335

  • Does Roslyn provide extensibility point for a custom assembly emitter?
    • If yes, implement Roslyn extension to produce nPE files
    • If not, implement managed tool to transform .NET dll into nPE (with MSBuild task wrapper?)
  • Update assembly loader C++ structures and functionality
  • Unit tests

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions