[omniORB] Issue transfering double over the network on x86_64/arvm8
Duncan Grisby
duncan at grisby.org
Sat Feb 4 13:04:15 UTC 2023
On Fri, 2023-02-03 at 12:35 +0100, Thomas Braun via omniORB-list wrote:
> Am 03.02.2023 um 11:45 schrieb Duncan Grisby:
>
> >
> > I would have hoped that __VFP_FP__ was defined in Apple's compiler,
> > but this would suggest that it is not. I can check what is defined
> > on an M1 system later today, but if you want to look sooner, that
> > is the place to check.
>
> Yes OMNI_MIXED_ENDIAN_DOUBLE is defined on my M1.
I confirmed that the Apple compiler does not set __VFP_FP__, nor does
it appear to set any defines that correspond to it.
I don't believe there are any 64-bit ARM CPUs that use the ARM FPA
float format, so I have changed code in CORBA_sysdep.h to be this:
--- omniORB/include/omniORB4/CORBA_sysdep.h (revision 6632)
+++ omniORB/include/omniORB4/CORBA_sysdep.h (working copy)
@@ -89,7 +89,7 @@
// __VFP_FP__ means that the floating point format in use is that of the ARM
// VFP unit, which is native-endian IEEE-754.
#if defined(__arm__)
-# if defined(__armv5teb__) || defined(__VFP_FP__)
+# if defined(__armv5teb__) || defined(__VFP_FP__) || defined(__aarch64__)
# define NO_OMNI_MIXED_ENDIAN_DOUBLE
# else
# define OMNI_MIXED_ENDIAN_DOUBLE
That is checked in to both the 4_2 and 4_3 branches.
Duncan.
--
Duncan Grisby <duncan at grisby.org>
More information about the omniORB-list
mailing list