在编译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