If you are using gnuarm cross compiler and get the following error while trying to compile using the gnuarm compiler :
This is most probably because you are using an executable meant for 64bit systems and your system is a 32 bit one and hence it is not comaptible with your system.
All the binaries above 4.0 on the gnuarm are for 64bit systems, try downloading the lower ones and it should work fine.
For eg: on Debian 6.0 if I try to use gnuarm-4.0.1 it will throw the above mentioned error but gnuarm-3.4.3 works perfectly well.
But if you want the latest cross compiler for 32 bit systems, then download the source and compile it yourself on your 32bit system. The instructions for compilation is also given in the gnuarm site under the tab "support".