打印
[嵌入式linux]

新手求助Linux编译工具链的时候出现open_missing_mode错误

[复制链接]
562|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
夜雨幻姬|  楼主 | 2016-11-9 14:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在函数‘open’中,
    内联自‘collect_execute’于 /work/tools/create_crosstools/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6/gcc-3.4.5/gcc/collect2.c:1537:20:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h:51:24: 错误: 调用‘__open_missing_mode’,声明有错误属性:open with O_CREAT in second argument needs 3 arguments
make[1]: *** [collect2.o] 错误 1
make[1]:正在离开目录 `/work/tools/create_crosstools/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6/build-gcc-core/gcc'
make: *** [all-gcc] 错误 2
在网上也查了 redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);
O_CREAT后面需要再加参数 ,但是我在collect2.c里加了参数之后,再继续编译,每次都会collect.c里被我加参数的open函数都会被强行还原,然后看到有人说可以通过设置FORTIFY_SOURCE=0来disable对open()的检查,还有禁止FORITY扩展什么的。具体并不知道咋做的。。
本人纯小白,跟着韦东山的书刚开始学 就卡在这了,不能继续 好桑心

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

14

帖子

0

粉丝