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 '17 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 '17 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 '17 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 '17 at 10:12

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 '17 at 16:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.