在编译rockchip官方的内核时mm/memcontrol.c报错:
mm/memcontrol.c: In function 'memcg_stat_show':
mm/memcontrol.c:3539:1: warning: the frame size of 1120 bytes is larger than 1024 bytes [-Wframe-larger-than=]
error, forbidden warning:memcontrol.c:3539
3539 | }
| ^
mm/memcontrol.c: In function 'memory_stat_show':
mm/memcontrol.c:5706:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
error, forbidden warning:memcontrol.c:5706
5706 | }
| ^
make[1]: *** [scripts/Makefile.build:334: mm/memcontrol.o] Error 1
make: *** [Makefile:1195: mm] Error 2
解决办法:重新运行menuconfig
交叉编译需要添加自己的编译参数:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
配置步骤:
(1)make menuconfig或make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
(2)进入kernel hacking 下面的Compile-time checks and compiler options
(3)修改warn for stack frames larger than 的数值,将其修改为4096(最好不要大过这个数值)
(4)重新编译内核模块则不会出现如上的告警信息。
直接编辑源码目录下的配置文件应该也可以vim .config
直接修改或添加: CONFIG_FRAME_WARN=4096
浙公网安备 33010602011771号