I am trying to compile kernel for Allwinner A10 processor (sun4i, ARMV7) for Android 4.1.2. Config file is copied from the device. This is the output :

$ make ARCH=arm CROSS_COMPILE=/home/user/android_kernel/arm-eabi-4.4.3/bin/arm-eabi- CHK include/linux/version.h CHK include/generated/utsrelease.h make[1]: include/generated/mach-types.h is up to date. CC kernel/bounds.s kernel/bounds.c:1: sorry, unimplemented: -mfloat-abi=hard and VFP make[1]: *** [kernel/bounds.s] Error 1 make: *** [prepare0] Error 2

The error is the kernel/bounds.c:1: sorry, unimplemented: -mfloat-abi=hard and VFP, for which I could not find solution

Any suggestions?

  • 1
    What is your cross compiler? "The combination of -mfpu=vfp and -mfloat-abi=hard is not available in FSF GCC 4.4". Shouldn't you configure -mfpu=neon as the A10 has an cortex-A8 with NEON?
    – Philippos
    Aug 14, 2017 at 8:39
  • I am using gcc version 4.8.4. Do I understand it right that I should change it in the Makefile?
    – J. Novotny
    Aug 14, 2017 at 9:21
  • But the version of arm-linux-androideabi-gcc, with which it is compiling is gcc version 4.7.3 (Linaro GCC 4.7-2014.01).
    – J. Novotny
    Aug 14, 2017 at 9:38
  • Okay, I don't have information about this issue for linaro gcc 4.7, but I would try to find, where -mfpu=vfp is set and change it to neon. I don't know whether this will solve the problem, but it's worth a try.
    – Philippos
    Aug 14, 2017 at 10:12

1 Answer 1


It seems like you're using a toolchain configured for softfloat targets. You'll need a hardware floating point-supported one.

  • Thanks! I did : sudo apt-get install gcc-arm-linux-gnueabihf and used it as CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
    – J. Novotny
    Aug 14, 2017 at 16:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .