首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux内核构建编译错误、stringop溢出和大小指针-memaccess

Linux内核构建编译错误、stringop溢出和大小指针-memaccess
EN

Stack Overflow用户
提问于 2018-12-09 12:42:50
回答 2查看 888关注 0票数 0

我尝试过构建Linux内核,并遇到了一些编译错误。有人知道我做错了什么吗?我怎样才能解决这个问题?(或者,您还需要哪些其他信息?)

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

目标系统是Radxa岩石Pi 4

导出ARCH=arm64 导出交叉编译=aarch64-linux-gnu-

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

是的,Radxa有一个论坛,我已经在那里交叉张贴,但我认为Stack area在这方面有更广泛的经验。

编译错误如下:

arch/arm64/内核/vdso.c:函数‘vdso_init’:arch/arm64/ size /vdso.c:119:6:警告:“memcmp”从大小为1的区域读取4个字节-Wstringop溢出= warning:vdso.c:119,如果(memcmp(&vdso_start,"\177ELF",4)) {{ make1:**脚本/Makefile.build:277:arch/arm64/内核/vdso.o错误1

fs/exec.c:函数‘get_task_comm’:fs/exec.c:1084:32:警告:在‘strncpy’调用中对‘size’的参数与源表达式相同;您是想使用目标的大小吗?--指针-memaccess错误,禁止的warning:exec.c:1084 strncpy(buf,tsk>comm,tsk>comm);

代码语言:javascript
运行
复制
                            ^
EN

回答 2

Stack Overflow用户

发布于 2018-12-09 13:55:22

Radxa提供了答案,即将gcc-aarch64-linux-gnu降级为version 7,就像在Fedora的上一版中所发现的那样。

票数 0
EN

Stack Overflow用户

发布于 2020-12-23 05:17:56

解决此问题的最佳方法是使用与您要编译的内核的年龄相匹配的编译器。

为此,使用预构建的编译器,将其安装到/usr/local中,并将其定义为CROSS_COMPILE变量:

代码语言:javascript
运行
复制
wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
sudo tar xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz  -C /usr/local/
export CROSS_COMPILE=/usr/local/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

现在,您可以这样做您的内核:

代码语言:javascript
运行
复制
export ARCH=arm64
make

否则,要具体修复您的bug,请更改以下内容(在arch/arm64/ your /vdso.c中):

代码语言:javascript
运行
复制
extern char vdso_start, vdso_end;

对此:

代码语言:javascript
运行
复制
extern char vdso_start[], vdso_end[];

也可以更改所有对

代码语言:javascript
运行
复制
&vdso_start

到以下

代码语言:javascript
运行
复制
vdso_start

然而,不幸的是,这只能解决大量bug中的第一个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53692404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档