Error: selected processor does not support `isb ' in ARM mode

Hi, I am attempting to cross compile the Linux Kernel 4.20 to be loaded on my BeagleBone Black, however I am receiving the below error:

AS usr/initramfs_data.o
/tmp/cc6hWxZG.s: Assembler messages:
/tmp/cc6hWxZG.s:39: Error: selected processor does not support isb ' in ARM mode /tmp/cc6hWxZG.s:90: Error: selected processor does not support isb ’ in ARM mode
/tmp/cc6hWxZG.s:354: Error: selected processor does not support isb ' in ARM mode scripts/Makefile.build:291: recipe for target 'arch/arm/vfp/vfpmodule.o' failed make[1]: *** [arch/arm/vfp/vfpmodule.o] Error 1 Makefile:1060: recipe for target 'arch/arm/vfp' failed make: *** [arch/arm/vfp] Error 2 make: *** Waiting for unfinished jobs.... CC init/do_mounts_rd.o AR usr/built-in.a CC init/do_mounts_initrd.o /tmp/ccBVuroD.s: Assembler messages: /tmp/ccBVuroD.s:1680: Error: selected processor does not support cpsid i’ in ARM mode
/tmp/ccBVuroD.s:1819: Error: selected processor does not support cpsid i' in ARM mode /tmp/ccBVuroD.s:1876: Error: selected processor does not support cpsie i’ in ARM mode
/tmp/ccBVuroD.s:2073: Error: selected processor does not support cpsie i' in ARM mode scripts/Makefile.build:291: recipe for target 'init/main.o' failed make[1]: *** [init/main.o] Error 1 make[1]: *** Waiting for unfinished jobs.... /tmp/cc8dytlI.s: Assembler messages: /tmp/cc8dytlI.s:808: Error: selected processor does not support dmb ish’ in ARM mode
/tmp/cc8dytlI.s:811: Error: architectural extension mp' is not allowed for the current base architecture /tmp/cc8dytlI.s:812: Error: selected processor does not support pldw [r3]’ in ARM mode
/tmp/cc8dytlI.s:815: Error: selected processor does not support pld [r3]' in ARM mode /tmp/cc8dytlI.s:821: Error: selected processor does not support ldrex r2,[r3]’ in ARM mode
/tmp/cc8dytlI.s:823: Error: selected processor does not support strex r1,r2,[r3]' in ARM mode /tmp/cc8dytlI.s:828: Error: selected processor does not support dmb ish’ in ARM mode
scripts/Makefile.build:291: recipe for target ‘init/do_mounts.o’ failed
make[1]: *** [init/do_mounts.o] Error 1
Makefile:1060: recipe for target ‘init’ failed
make: *** [init] Error 2
ERROR

I am running the below commands, and it is crashing on line 14 “building the zImage”. Has anyone seen this problem before?

1 #!/bin/bash
2
3 PATH=${HOME}/x-tools/arm-cortex_a8-linux-gnueabihf/bin/:$PATH
4
5 cd linux-stable
6 if [ $? != 0 ]; then echo “ERROR”; exit; fi
7
8 make ARCH=arm CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- mrproper
9 if [ $? != 0 ]; then echo “ERROR”; exit; fi
10
11 make ARCH=arm multi_v7_defconfig
12 if [ $? != 0 ]; then echo “ERROR”; exit; fi
13
14 make -j4 ARCH=arm CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- zImage
15 if [ $? != 0 ]; then echo “ERROR”; exit; fi
16
17 make -j4 ARCH=arm CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- modules
18 if [ $? != 0 ]; then echo “ERROR”; exit; fi
19
20 make ARCH=arm CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- dtbs
21 if [ $? != 0 ]; then echo “ERROR”; exit; fi
22

Your cross compiler smell's fishy...

arm-cortex_a8-linux-gnueabihf-gcc --version

Regards,

This is my version below.

Prompt $ arm-cortex_a8-linux-gnueabihf-gcc --version
arm-cortex_a8-linux-gnueabihf-gcc (crosstool-NG 1.24.0.6-afaf7b9) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I installed it via:
git clone //github.com/crosstool-ng/crosstool-ng.git
cd crosstool-ng
./bootstrap
./configure --enable-local
make
make install

Hello,

I’m following the same tutorial and I found the problem:

For the crosstool-ng configuration, the book specifies (or suggests rather) that you set the hardware floating point option to true. What it didn’t mention is that you also need to specify the FPU hardware. Run ct-ng menuconfig, go to “Target options → Use specific FPU” and type “vfpv3” which is the floating point unit specification for the Arm Cortex A8 according to its wiki page. You also may want to specify the Linux version in the “Operating System -->” menu.

Basically you are setting the -mfpu runtime flag for the gcc cross compiler. Refer to https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html for more information and look for the “-mfpu” flag.

FYI: major Linux distributions, such as Ubuntu, maintain their own pre-built versions of crosstool-ng for ARM. I find it much easier to just use those than just customizing crosstool-ng from scratch. This link will put you on the right path: https://elinux.org/Building_for_BeagleBone#Distro_provided

Hope this helps!

Justin

"

I had the same problem. mrjex...@gmail.com answer was the key.