C / C ++ Cyanogenmod Как скомпилировать ядро, используя разные версии набора инструментов?

Я пытаюсь скомпилировать ядро ​​для CyanogenMod 13. Я получаю ошибку

ERROR: modpost: Found 2 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
To build the kernel despite the mismatches, build with:
'make CONFIG_NO_ERROR_ON_MISMATCH=y'
(NOTE: This is not recommended)

я читаю это Вот. Что мне нужно, чтобы скомпилировать мое ядро, используя 4.7.
Как я могу выбрать версию набора инструментов во время сборки CyanogenMod ??

0

Решение

Я считаю, что вам нужно настроить gcc версии 4.7 и использовать переменную CC, чтобы установить его в качестве компилятора. Например. make target CC=/bin/gcc4.7

Дополнительная информация Вот а также Вот.

1

Другие решения

Спасибо @nopasara и его ценным комментариям.

Поэтому я провел небольшое исследование и обнаружил, что ядро ​​совместимо с arm-eabi tool chain не arm-linux-androideabi Набор инструментов. Так вот команда, которую я использовал

export PATH=$PATH:~/android/system/prebuilts/gcc/linux-x86/arm/arm-linux-eabi-4.7/bin/ && export ARCH=arm && export SUBARCH=arm && export CROSS_COMPILE=arm-linux-eabi- && make msm8226_defconfig O=~/android/system/out/target/product/E6790/obj/KERNEL_OBJ

а также

 make   O=~/android/system/out/target/product/E6790/obj/KERNEL_OBJ zImage -j4

Чтобы сделать с этим Cyanogenmod добавить следующую строку в свой BoardConfig.mk

  TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-eabi-

и либо использовать

 export TARGET_LEGACY_GCC_VERSION=4.7

Или отредактируйте ~ / android / system / build / core / combo / TARGET_linux-arm.mk и установите версию в

  $(combo_2nd_arch_prefix)TARGET_LEGACY_GCC_VERSION := 4.7
0