首页 文章

Linux内核构建编译错误stringop-overflow和sizeof-pointer-memaccess

提问于
浏览
0

我尝试构建Linux内核,但我遇到了一些编译错误 . 有谁知道我做错了什么以及如何解决它? (或者,您需要哪些其他信息?)

Build系统正在运行最近的Fedora:4.19.6-300.fc29.x86_64#1 SMP Sun Dec 2 17:33:14 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux

目标系统是Radxa Rock Pi 4

导出ARCH = arm64导出CROSS_COMPILE = aarch64-linux-gnu-

参考https://forum.radxa.com/t/building-debian-image-on-gcc8-systems/128/4

是的,Radxa有一个论坛,我在那里交叉发布,但我认为Stack Overflow在这个领域有更广泛的经验 .

编译错误如下:

arch / arm64 / kernel / vdso.c:在函数'vdso_init'中:arch / arm64 / kernel / vdso.c:119:6:警告:'memcmp'从大小为1的区域读取4个字节[-Wstringop-overflow =]错误,禁止警告:vdso.c:119 if(memcmp(&vdso_start,“\ 177ELF”,4)){^ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ make [1]:*** [scripts / Makefile.build:277:arch / arm64 / kernel / vdso.o]错误1

fs / exec.c:在函数'get_task_comm'中:fs / exec.c:1084:32:警告:'strncpy'调用中'sizeof'的参数与源是相同的表达式;你的意思是使用目的地的大小? [-Wsizeof-pointer-memaccess]错误,禁止警告:exec.c:1084 strncpy(buf,tsk-> comm,sizeof(tsk-> comm));

^

1 回答

  • 0

    Radxa提供了答案,即将 gcc-aarch64-linux-gnu 降级到版本7,就像之前发布的Fedora一样 .

相关问题