[erlang-questions] has anyone cross compiled HiPE?

Matthias Lang <>
Wed Feb 29 16:48:54 CET 2012


On Wednesday, February 22, Daniel Goertzen wrote:
> Or is the sane way to get HiPE on ARM to start with a native ARM
> > toolchain?

> Yes!  Erlang (non-hipe) took about 20 minutes to compile on a Beagleboard
> XM.  I've sworn off cross compiling; there are so many packages that have
> cross compile issues and modern ARMs are plenty powerful for building
> almost everything.

Thanks to mobile handsets pushing embedded CPU development, we've
reached the point where if you have a top of the line ARM system then
the easiest way to get Erlang on it is to compile natively.

But...one big roadblock is that you can't run TI's tools natively. The
whole point of having a TI DMxxxx* processor is that it has a DSP on
it, and the compiler for that DSP is closed source x86-only. So you
have to come up with a hybrid build system which runs some things on
the target, some on a PC and coordinates the builds.

The slowdown** of running natively is probably not too bad, especially
if it's only 4x. The thing I tried seems far worse:

    c(string, native)

took 40s on a TI DM6443 with 64M of DRAM and no swap, compared to 0.4s
on my PC. I wasn't expecting it to be _that_ slow, even though the
DM6443 is about 3x or 4x slower than the DM3730. Maybe the 64M is
causing trouble. A quick look suggests that the hipe compiler itself isn't
natively compiled on either the PC or the target.

Matt

 * The beagleboard XM uses a TI DM3730 processor, which has a 1GHz ARM
   and an 800MHz VLIW DSP. My target uses a TI DM6443, which is
   similar but slower.

 ** Cross compiling Erlang (no HiPE) on my PC takes 5 minutes, i.e.
    4x faster than natively on beagleboard.



More information about the erlang-questions mailing list