问题描述
一套可以用clang10+gcc编成功且能开机正常使用的源码,在使用clang11或者clang12的时候能编译成功,就是开不了机,想请教一下该如何解决
预期行为
进行一定的修改,通过clang11/12编译后的内核能正常开机使用
复现环境
系统:虚拟机Unbuntu18.04(编译环境正常)
手机设备:小米6
测试源码地址:https://github.com/lateautumn233/kernel_xiaomi_msm8998(应该是基于liunian开源并合并了分支)
编译脚本直接使用源码自带的仅修改编译器地址:
make O=out ARCH=arm64 sagit_defconfig
make -j$(nproc --all) O=out \
ARCH=arm64 \
CC=/home/yyq/kernel/cbl/bin/clang \
CLANG_TRIPLE=aarch64-linux-gnu- \
CROSS_COMPILE=/home/yyq/kernel/cbl/bin/aarch64-linux-gnu- \
CROSS_COMPILE_ARM32=/home/yyq/kernel/cbl/bin/arm-linux-gnueabi- \
LD=/home/yyq/kernel/cbl/bin/ld.lld \
llvm-ar=/home/yyq/kernel/cbl/bin/llvm-ar
##测试情况
1.google clang 10 + gcc11编译正常,开机正常
2.Liunian-clang-20200104(clang version 10)编译正常,开机正常
3.goolge clang 11 + gcc11编译正常,不能开机
4.Candy_clang-20200923(clang version 12)编译正常,不能开机