Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Cross Compiled FATE

December 16th, 2008 by Multimedia Mike

I have been considering the idea of adding gcc cross compilers to FATE. At first, I just want to try compiling some binaries to make sure the builds stay working; testing may come later via qemu or physical hardware.

There was once a time when I was reasonably competent at setting up cross compiling toolchains, when I was developing software for the Sega Dreamcast on a hobby basis (SH-4 and ARM toolchains). But I seem to have lost the skill somewhere along the line. Fundamentally, it involves configuring GNU binutils with an alternate –target than the default, native platform. The trouble is that it’s difficult to figure out exactly what the target is named. I recently tried to set up a toolchain for MIPS, just in case I should come into possession of a laptop with such a CPU. I couldn’t figure out if I needed a mips-elf target, or a mips32-elf target, or perhaps a mips32-linux-elf target. Nothing I tried worked.

Maybe I just don’t have the right targets. What would be some good, useful, cross-compiled targets to be building continuously with FATE? I suspect that, at a minimum, all of the targets for which FFmpeg has SIMD optimizations: Alpha, ARM, Blackfin, PS2-MIPS, SH-4, and Sparc.

Posted in FATE Server | 4 Comments »

4 Responses

  1. Reimar Says:

    Since you have gentoo somewhere,
    crossdev mips-linux-uclibc
    would work, except that basically no version uclibc seems to build for MIPS anymore.
    You could try the build environment binaries (OpenWRT-SDK-…) in the subdirectories here: but the one I had missed sinf and many more math functions FFmpeg needs…

  2. Mans Says:

    For ARM, use arm-none-linux-gnueabi. This is what I use, and it works well.

    Qemu from svn is good enough to run FFmpeg regression tests for ARM without NEON and for SH4. The latest release will not work.

  3. m Says:

    You can find at a arm big endian toolchain.
    If you want to build one the target is armeb-none-linux-gnueabi, but some patches are need…

  4. Mans Says:

    Are any widely used ARM systems configured as big endian?