[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Softfloat on ARM?

On 2007-02-12 15:51 +0100, David Fokkema wrote:
> Hi group,
> Regarding floating point operations in ImageMagick / NetPBM there were
> suggestions to try out the EABI port. Right now, that seems a bit
> painful. However, on the Debian EABI port page in the wiki it says that
> the current way of working (oldabi) is about ten times slower than a
> program compiled with softfloat, if I understand correctly. I tried
> simply to use an -msoft-float compiler switch. That issued a 'missing
> -lfloat' error and that seems to be a very old library removed from
> debian. IEEE softfloat is software released a long time ago which only
> creates an object file and doesn't have an ARM template???
> I'm really confused.
> Is it possible for me to just compile ImageMagick / NetPBM with some
> sort of softfloat support which doesn't generate hard illegal
> instruction faults and how could I do that?

In a word: No.

You can't (easily) mix soft-float compiled binaries with non-soft-float
compiled binaries on existing arm. (that's one major reason why
EABI/armel will imporve people's lives - this sort of thing becomes

The problem is that you can't link soft-float and hard-float binaries. 
To built it with soft-float requires all the libraries to also be
soft-float so that implies a lot of rebuilding and static-linking. 

Fixing netpbm to resize without doing FP (on arm) might not be a huge
job - I have no idea. It would certainly be appreciated by other
people using arm boxes in the way you are - soft-float is still very
slow in comparison to integer algorithms. 

FP is often used quite gratuitously by developers unfamiliar with the
idea that it might not be avilable.

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

This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

Reply to: