[Mono-bugs] [Bug 81368][Maj] New - [ARM9] Endian issues with doubles

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Apr 13 07:15:14 EDT 2007

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by lchin at erggroup.com.


--- shadow/81368	2007-04-13 07:15:14.000000000 -0400
+++ shadow/81368.tmp.27076	2007-04-13 07:15:14.000000000 -0400
@@ -0,0 +1,64 @@
+Bug#: 81368
+Product: Mono: Runtime
+Version: 1.2
+OS: other
+OS Details: linux on i386 / linux on ARM9
+Status: NEW   
+Priority: Major
+Component: JIT
+AssignedTo: lupus at ximian.com                            
+ReportedBy: lchin at erggroup.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+Summary: [ARM9] Endian issues with doubles
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+***Description of Problem***:
+There are endian problems between a compiled version of mono for arm9 and
+the same version for the i386. This ONLY happens when using Attribute's
+(System.Reflection.Attribute) NOT when storing local / constant variables.
+The i386 version of mono stores doubles in the same format as the c#
+compiler included with the 1.1 MS .NET Framework.
+The arm9 version of mono however, wordswaps all doubles. This means that
+eg. double constants defined in an i386 compiled .NET binary will end up
+wordswapped when run on arm9 and vice versa.
+***Steps to reproduce the problem***:
+I've attached some code which shows the problem.
+- Compile under i386, run under ARM
+- Or Compile under ARM and run under i386
+***Actual Results***:
+attr.long   = 1
+attr.double = 5.30498947741318E-315
+attr.string = 3
+attr.long   = 2
+attr.double = 5.31017013119972E-315
+attr.string = 6
+***Expected Results***:
+attr.long   = 1
+attr.double = 2
+attr.string = 3
+attr.long   = 2
+attr.double = 4
+attr.string = 6
+***How often does this happen? ***
+***Additional Information***:
+This ONLY happens when using Attribute's (System.Reflection.Attribute) NOT
+when storing local / constant variables.

More information about the mono-bugs mailing list