This problem is almost certanly due to the unusual double format used
on arm (which is old ABI, little endian on debian currently).

The two 32-bit words are arranged big-endian, whilst the bytes withint
each word are arranged little-endian. This (odd, but IEEE-754
compliant) format is unique to arm. i.e. double format bytes are laid
out 56781234

(on armeb it is big-endian word, big-endian bytes). Same on armel
(forthcoming EABI distribution).

That is probably enough info for those familiar with the code to fix
the problem. I'll take a look now and see if I can workout the right
runes.

To make it work for the existing arm arch and for armeb and armel use
this compiler directive to surround code swaping the bytes about:

#if defined(__arm__) && !defined(__vfp__) && (__ARMEL__)
swap top word and bottom word


Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/                 play: http://wookware.org/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to