Re: Issue transfering double over the network on x86_64/arvm8
Duncan Grisby via omniORB-list <[email protected]> Sat, 04 Feb 2023 13:04:15 +0000
| Newsgroups | gmane.comp.corba.omniorb.user |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]>