在函数‘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扩展什么的。具体并不知道咋做的。。
本人纯小白,跟着韦东山的书刚开始学 就卡在这了,不能继续 好桑心 |