[omniORB] Issue transfering double over the network on x86_64/arvm8

Thomas Braun thomas.braun at byte-physics.de
Sun Feb 5 13:13:59 UTC 2023


Am Samstag, dem 04.02.2023 um 13:04 +0000 schrieb Duncan Grisby:
> 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
> oft he 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.

Thanks Duncan for the quick fix. I've confirmed that it works.

Question: Is there a good workaround for people not able to recompile
omniORB?

>From looking at the code above I would say adding

#ifndef __VFP_FP
#define __VFP_FP
#endif // __VFP_FP

before including omniORB header files should do the trick or?




More information about the omniORB-list mailing list