Linaro provides a specialized toolchain for embedded (bare metal) development. But after installing, I could not execute the binary:
$ gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc -bash: gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc: No such file or directory
Also ldd claims its not dynamically linked:
$ ldd gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc not a dynamic executable
The truth is: it is dynamically linked, but against 32-Bit libraries. And since I have not yet installed any 32-Bit library, ldd doesn’t work properly. According to the readme, you should install the 32-Bit variant of libc and libncurses. Since Ubuntu is Multi-Arch, you can easily install those libs:
sudo apt-get install libc6:i386 libncurses5:i386
Now you should be able to run the Linaro toolchain on 64-Bit variants of Ubuntu.
For Arch Linux you need to edit /etc/pacman.conf (enable multilib) and install the libs:
pacman -Syyu
pacman -S lib32-glibc