Linux kernel compile error

I am trying to compile Linux 4.1.15 for Colibri i.MX7 and meet such error:

OBJCOPY arch/arm/vdso/vdso.so
BFD: arch/arm/vdso/vdso.so: Not enough room for program headers, try linking with -N
/home/ban/Toradex/oe-core-tegra/LinuxSDK/v2.6/tegra/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux/arm-angstrom-linux-objcopy:arch/arm/vdso/vdso.so[.hash]: Bad value
BFD: arch/arm/vdso/vdso.so: Not enough room for program headers, try linking with -N
/home/ban/Toradex/oe-core-tegra/LinuxSDK/v2.6/tegra/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux/arm-angstrom-linux-objcopy:arch/arm/vdso/vdso.so: Bad value
make[1]: *** [arch/arm/vdso/vdso.so] Error 1
make: *** [arch/arm/vdso] Error 2

This the GCC I use.

ban@LinuxDev:~/Toradex/oe-core-tegra/LinuxKernel/rt-linux/imx7/beta2/linux-toradex$ /home/ban/Toradex/oe-core-tegra/LinuxSDK/v2.6/tegra/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux/arm-angstrom-linux-gcc --version
arm-angstrom-linux-gcc (Linaro GCC 5.2-2015.11-2) 5.2.1 20151005
Copyright (C) 2015 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.

Could you give some advice about it ?
Thanks very much!

Hi

You probably need to force the use of the bfd linker.

make -j3 zImage LD=${CROSS_COMPILE}ld.bfd | tee build.log

Edit:
And for the OBJCOPY arch/arm/vdso/vdso.so error you need to specify CROSS_COMPILE differently.
You have to set PATH to also include the compiler path and CROSS_COMPILE to only define the cross compiler prefix.

export PATH=$PATH:/home/ban/Toradex/oe-core-tegra/LinuxSDK/v2.6/tegra/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux
export CROSS_COMPILE=arm-angstrom-linux-

Max

Hi Max. There is still the same error even forced to use bfd linker. I just export ARCH and CROSS_COMPILE. But when building within OpenEmbedded(bitbake virtual/kernel), it is ok.

Hi Benjamin

The kernel builds on my machine when I use the OE built toolchain.

How much RAM do you have on your build machine?
Did you change the kernel config from what colibri_imx7_defconfig provides?

Max

Hi Max. Sorry for the missing information. I used another deconfig file instead of colibri_imx7_defconfig. It comes from linux-fslc-imx-rt_4.1-1.0.x.bb
I tried it on another PC today. Patch our 4.1.15 kernel with those last 3 patches and patch-4.1.15-rt16.patch.gz , use that defconfig file. And it amazingly compiled with on error.
By the way, do we have plan for krogoth brach, maybe in our V2.7 BSP.

Hi Benjamin

Ok.

I don’t think the error is only happening when trying to build a rt kernel.
I edited my answer above.

We plan the 3rd quarter release to again be based on jethro while the 4th quarter release is planned to go to a newer yocto release, either krogoth or maybe even its successor.

Max