@@ -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