[erlang-questions] Enabling HiPE for ARMv7 (armv7l) ?

Winston Smith smith.winston.101@REDACTED
Fri Dec 9 00:22:41 CET 2011


Building R14B04 on an ARMv7 (ARM Cortex A8 I think) works fine, but
HiPE is not enabled.  It seems that in $ERL_TOP/erts/configure there's
a case statement (around line 5258 in R14B04) that checks the CPU type
which it gets from ac_cv_host which comes from config.sub.  However,
the case statement only seems to support ARMv5:

case $chk_arch_ in
   sun4u)      ARCH=ultrasparc;;
   sparc64)    ARCH=sparc64;;
   sun4v)      ARCH=ultrasparc;;
   i86pc)      ARCH=x86;;
   i386)       ARCH=x86;;
   i486)       ARCH=x86;;
   i586)       ARCH=x86;;
   i686)       ARCH=x86;;
   x86_64)     ARCH=amd64;;
   amd64)      ARCH=amd64;;
   macppc)     ARCH=ppc;;
   ppc)        ARCH=ppc;;
   ppc64)      ARCH=ppc64;;
   "Power Macintosh")  ARCH=ppc;;
   armv5b)     ARCH=arm;;
   armv5teb)   ARCH=arm;;
   armv5tel)   ARCH=arm;;
   tile)       ARCH=tile;;
   *)          ARCH=noarch;;
esac

The output of uname -m is:

armv7l

Later, HiPE gets enabled (or disabled) in the following construct:


       case "$ARCH-$OPSYS" in
           x86-linux|amd64-linux|x86-darwin*|amd64-darwin*|ppc-linux|ppc64-linux|ppc-darwin|arm-linux|amd64-freebsd|x86-freebsd|x86-sol2|amd64-sol2|ultrasparc-linux)
               enable_hipe=yes
               ;;


Is this just an omission on the case $chk_arch statement?  Or is the
HiPE support for ARM truly limited to ARMv5; if so, what is the
reason/what needs to be done to support ARMv7?

Thanks in advance!


W.



More information about the erlang-questions mailing list