linux-packaging-mono/external/binary-reference-assemblies
Pat Tullmann 0cb742dafb binfmt-detector-cli: rewrite to support PE32+ binaries (#38)
Rewrite with hard-coded offsets into the PE file format to discern
if a binary is PE32 or PE32+, and then to determine if it contains
a "CLR Data Directory" entry that looks valid.

Tested with PE32 and PE32+ compiled Mono binaries, PE32 and PE32+ native
binaries, and a random assortment of garbage files.

Former-commit-id: 9e7ac86ec84f653a2f79b87183efd5b0ebda001b
2023-10-16 20:16:47 +02:00
..
2017-10-19 20:04:20 +00:00
2017-04-11 11:25:27 +00:00
2017-06-07 13:16:24 +00:00
2020-01-16 16:38:04 +00:00
2018-01-24 17:04:36 +00:00

Mono binary reference assemblies

Built using csc 2.1.0.

Adding a new .NET profile

Use the following steps (we're using 4.7.1 as example):

  1. Copy existing v4.7/Makefile and src/v4.7/* to new folders and commit
  2. Update PROFILE variable in v4.7.1/Makefile
  3. Wire up new profile in Makefile in repo root
  4. Run the generation script ./generate-refasm-sources.sh v4.7.1 some/path/to/netfx/referenceassemblies
  5. Revert deletion of *.extra.cs
  6. Revert changes that remove #if / #endif
  7. Revert suspicious changes to:
    • Accessibility.cs (bug in GenApi)
    • Microsoft.VisualBasic.cs (bug in GenApi and wrong AssemblyCopyright/Product attribute)
    • Microsoft.VisualC.cs (bug in GenApi)
    • System.Data.Linq.cs (bug in GenApi)
    • System.Deployment.cs (we only have stub assemblies)
    • System.Runtime.DurableInstancing.cs (bug in GenApi)
    • System.Security.cs (bug in GenApi)
    • System.Web.Mobile.cs (we only have stub assemblies)
    • System.Workflow.*.cs (we only have stub assemblies)
  8. Add new assemblies/facades to v4.7.1/Makefile
  9. Run make -C v4.7.1 and ensure everything compiles