@@ -42,43 +42,13 @@ namespace Mono.Linker.Steps
4242
4343 public class OutputStep : BaseStep
4444 {
45- private Dictionary < ushort , TargetArchitecture > ? architectureMap ;
46-
47- private enum NativeOSOverride
48- {
49- Apple = 0x4644 ,
50- FreeBSD = 0xadc4 ,
51- Linux = 0x7b79 ,
52- NetBSD = 0x1993 ,
53- Default = 0
54- }
55-
5645 readonly List < string > assembliesWritten ;
5746
5847 public OutputStep ( )
5948 {
6049 assembliesWritten = new List < string > ( ) ;
6150 }
6251
63- TargetArchitecture CalculateArchitecture ( TargetArchitecture readyToRunArch )
64- {
65- if ( architectureMap == null ) {
66- architectureMap = new Dictionary < ushort , TargetArchitecture > ( ) ;
67- foreach ( var os in Enum . GetValues ( typeof ( NativeOSOverride ) ) ) {
68- ushort osVal = ( ushort ) ( NativeOSOverride ) os ;
69- foreach ( var arch in Enum . GetValues ( typeof ( TargetArchitecture ) ) ) {
70- ushort archVal = ( ushort ) ( TargetArchitecture ) arch ;
71- architectureMap . Add ( ( ushort ) ( archVal ^ osVal ) , ( TargetArchitecture ) arch ) ;
72- }
73- }
74- }
75-
76- if ( architectureMap . TryGetValue ( ( ushort ) readyToRunArch , out TargetArchitecture pureILArch ) ) {
77- return pureILArch ;
78- }
79- throw new BadImageFormatException ( "unrecognized module attributes" ) ;
80- }
81-
8252 protected override bool ConditionToProcess ( )
8353 {
8454 return Context . ErrorsCount == 0 ;
@@ -125,7 +95,7 @@ protected virtual void WriteAssembly (AssemblyDefinition assembly, string direct
12595 if ( module . IsCrossgened ( ) ) {
12696 module . Attributes |= ModuleAttributes . ILOnly ;
12797 module . Attributes ^= ModuleAttributes . ILLibrary ;
128- module . Architecture = CalculateArchitecture ( module . Architecture ) ;
98+ module . Architecture = TargetArchitecture . I386 ; // I386+ILOnly which ultimately translates to AnyCPU
12999 }
130100 }
131101
0 commit comments