[omniORB] CORBA::Double type corrouption issue in python omniORB

Michael Powell mwpowellhtx at gmail.com
Fri Apr 19 13:21:52 BST 2013


Haven't dealt much with Omni yet. A little with CORBA, mostly with WCF
and custom network layers.

I do work with ARM on a daily basis though. Floating point is an issue
on ARM, whether it is soft, hard, or softfp. We have soft I think.

Without addressing the ORB itself, could you work around it and custom
marshal, say a byte array (unsigned char) from your doubles?

That or possibly prefer floats to doubles. Or avoid floating point
altogether if you don't need them.

HTH

On Fri, Apr 19, 2013 at 6:11 AM, Johnny Willemsen <jwillemsen at remedy.nl> wrote:
> Hi,
>
> Found the needed ARM documentation on the web. Looks TAO doesn't support the
> mixed endian double on ARM. Amit, I would recommend you to run the ACE
> tests/CDR_Array_Test on your target and see whether it works or not.
>
> Best regards,
>
> Johnny Willemsen
> Remedy IT
> http://www.theaceorb.nl
>
>
> On 04/19/2013 10:57 AM, Duncan Grisby wrote:
>>
>> On Fri, 2013-04-19 at 08:57 +0200, Johnny Willemsen wrote:
>>
>>> I do have seen problems recently with TAO on ARM where endianess is
>>> causing problems. What is the value you get on the TAO side? Have you
>>> run the ACE/TAO test suite on the target?
>>
>>
>> Some ARMs have a bizarre mixed endian double, where the 64-bit double is
>> split into two 32-bit words in big-endian format but then the 32-bit
>> words are encoded in little-endian format.
>>
>> omniORB has specific support for handling thes mixed endian doubles on
>> ARM. I don't know if TAO does, but I expect this is the cause of your
>> problem -- either you need to configure TAO to use mixed-endian doubles,
>> or TAO needs to grow support for them.
>>
>> Cheers,
>>
>> Duncan.
>>
>
>
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list



More information about the omniORB-list mailing list