I changed the read_enum_value function to do the swaps and rebuilt. Now the Console.Error.WriteLine() in WindowsRuntimeProjection() produces:
WindowsRuntimeProjection - System_Runtime System_Runtime_InteropServices_WindowsRuntime Count Which is what is expected. However, I’m still crashing with NRE later in the build: Unhandled Exception: Mono.CSharp.InternalErrorException: Microsoft.Win32/RegistryKeyPermissionCheck.cs(31,21): Microsoft.Win32 ---> Mono.CSharp.InternalErrorException: Microsoft.Win32/RegistryKeyPermissionCheck.cs(33,14): Microsoft.Win32.RegistryKeyPermissionCheck ---> System.TypeInitializationException: An exception was thrown by the type initializer for IKVM.Reflection.WindowsRuntimeProjection ---> System.NullReferenceException: Object reference not set to an instance of an object at IKVM.Reflection.TypeName.GetHashCode ()<0x2000800c398 + 0x001bc> in <filename unknown>:0 Hi Neale, ves_icall_System_Enum_GetEnumValuesAndNames.3229: 0. field=System_Runtime value=0 ves_icall_System_Enum_GetEnumValuesAndNames.3229: 1. field=System_Runtime_InteropServices_WindowsRuntime value=16777216 ves_icall_System_Enum_GetEnumValuesAndNames.3229: 2. field=System_ObjectModel value=33554432 ves_icall_System_Enum_GetEnumValuesAndNames.3229: 3. field=System_Runtime_WindowsRuntime value=50331648 ves_icall_System_Enum_GetEnumValuesAndNames.3229: 4. field=System_Runtime_WindowsRuntime_UI_Xaml value=67108864 ves_icall_System_Enum_GetEnumValuesAndNames.3229: 5. field=Count value=83886080 Note 16777216 is hex 10000000. Now to find out how that value gets placed there and to do some byte swapping on it. You are probably looking for https://github.com/mono/mono/blob/master/mono/metadata/icall.c#L2961. There has been no endian changes there for years but due to different codepath this is now hit more often before. Marek P.S. I am wondering if it would be worth it to create a routine or more in icall.c to do the byte swap for 2/4/8 byte integers rather than coding up clumsy stuff in managed code. On 3/10/15, 3:01 PM, "Robert Jordan" <robe...@gmx.net<mailto:robe...@gmx.net>> wrote: >There was a recent commit which added MS' reference source Enum >support to Mono: > >https://github.com/mono/mono/commit/65dba595eaea2c871d1f72fbdc04f6440350af >96 > >Maybe it's an endian-related issue. _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com<mailto:Mono-devel-list@lists.ximian.com> http://lists.ximian.com/mailman/listinfo/mono-devel-list
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list