openblas: fix build issues on ARM
commitcaf8074cb4a08d61d5179b77bba7c72dc2c95481
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 7 Aug 2016 21:32:34 +0000 (7 23:32 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 9 Aug 2016 13:51:48 +0000 (9 15:51 +0200)
tree41c56927177f785b9be31045ba1970dd1ac8b7b5
parentc0a5fdf188e2d474ff601b31f8b7551946553f14
openblas: fix build issues on ARM

This commit fixes several build issues of OpenBLAS on ARM:

 - The first one occured on ARMv5 platforms, when the ARMV5 OpenBLAS
   architecture is used. In this case, OpenBLAS build system forces
   -march=armv5, which may not be correct for certain toolchains. As an
   example, the Sourcery CodeBench toolchain has an ARMv4 and an ARMv5
   sysroot. The ARMv5 sysroot is actually an armv5te sysroot, so when
   OpenBLAS forces -march=armv5, gcc thinks it should use the ARMv4
   sysroot, causing build failures.

   To address this, a patch to completely remove the -march ARM CFLAGS
   is added to OpenBLAS.

   Fixes:

     http://autobuild.buildroot.net/results/991497b12b70f948169e5ad99eebd0fe7f6209a2/

 - The second one occured on ARMv7 platforms, when the ARMV7 OpenBLAS
   architecture is used. The OpenBLAS code expects an EABIhf build, so a
   dependency is added for EABIhf for both ARMv6 and ARMv7.

   Fixes:

     http://autobuild.buildroot.net/results/0ba0bee48a83367fcefab827e8eaa72f0c8fe90b/

 - Once the previous ARMv7 problem has been fixed, it turns out that the
   ARMv7 specific code in OpenBLAS contains VFPv3 specific
   code. Therefore, the user *must* have choosen either VFPv3 or VFPv4,
   or the code will not build. VFPv3-D16/VFPv4-D16 are not sufficient,
   as more than 16 registers are used by the OpenBLAS code.

   To address this, the ARMV7 platform of OpenBLAS is restricted to the
   proper VFPv3/VFPv4 selection, and the ARMV6 platform is restricted to
   the proper VFPv2 selection.

   This problem was not visible in the autobuilders, as it was hidden by
   the previous one.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/openblas/0002-Makefile.arm-remove-march-flags.patch [new file with mode: 0644]
package/openblas/Config.in