- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用交叉 musl 编译器(相同版本)构建 native musl 编译器 (GCC 8.3.0),但出现此错误:
In file included from /usr/local/x86_64-cros-linux-musl/include/pthread.h:30,
from /usr/local/x86_64-cros-linux-musl/lib/gcc/x86_64-cros-linux-musl/8.3.0/include/c++/x86_64-cros-linux-musl/bits/gthr-default.h:35,
from /usr/local/x86_64-cros-linux-musl/lib/gcc/x86_64-cros-linux-musl/8.3.0/include/c++/x86_64-cros-linux-musl/bits/gthr.h:148,
from /usr/local/x86_64-cros-linux-musl/lib/gcc/x86_64-cros-linux-musl/8.3.0/include/c++/ext/atomicity.h:35,
from /usr/local/x86_64-cros-linux-musl/lib/gcc/x86_64-cros-linux-musl/8.3.0/include/c++/bits/basic_string.h:39,
from /usr/local/x86_64-cros-linux-musl/lib/gcc/x86_64-cros-linux-musl/8.3.0/include/c++/string:52,
from ../../gcc-8.3.0/gcc/brig/brigfrontend/brig-to-generic.h:25,
from ../../gcc-8.3.0/gcc/brig/brig-lang.c:46:
/usr/local/x86_64-cros-linux-musl/include/sched.h:76:7: error: attempt to use poisoned "calloc"
void *calloc(size_t, size_t);
^
/usr/local/x86_64-cros-linux-musl/include/sched.h:116:36: error: attempt to use poisoned "calloc"
#define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n)))
^
关于如何规避此问题的任何想法?
详细信息:
目标/主机三元组:x86_64-linux-musl
musl 版本:1.1.21
我在这里应用了 musl 补丁:http://port70.net/~nsz/musl/gcc-8.2.0/
我在源目录中运行了这个命令:
sed -e '/m64=/s/lib64/lib/' -i gcc/config/i386/t-linux64
最佳答案
所以我将继续并假设 #pragma poison calloc
在您的头文件中而不是在系统头文件中。
推荐的通用解决方案:在使用#pragma poison
之前包含所有系统头文件;当有多个程序头时,这可能会变得棘手,但确实需要完成。
另一种方法是从源代码中删除 #pragma poison
和安全措施。
关于c - 如何使用 GCC 规避 "attempt to use poisoned malloc/calloc"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55072102/
假设我有一个像这样的字符串:'1 + 2 + 3 * 4' 是否可以从左到右(顺序?线性?)计算它,使其等于 24 而不 15? 我事先不知道该字符串是什么,所以它可能是“1 + 2”,也可能是“1
我在脚本中得到了这一行,它检查项目类: $('#post').attr('class'); 有没有机会,读起来像: $('#post*').attr('class'); 所以如果 ID 是 fe。 p
将我的工具链安装在与其供应商要求的目录不同的目录中后,我一直在运行一些较小的问题,通过适本地设置 COMPILER_PATH、C_INCLUDE_PATH、CPLUS_INCLUDE_PATH 和 L
我正在使用 boost::program_options,它与许多其他 C++ 库一样受到同样的困扰,甚至是 std 本身:它仍然使用 C 风格的空终止字符串,因为没有人真正喜欢弱 std::字符串.
Peter Norvig 在 PAIP 中说道: in modern lisps...eval is used less often (in fact, in Scheme there isno ev
我有一个这样工作的程序: prog.py filename -r 使用我给定的默认默认值 prog.py filename -r 0 500 20 使用 0、500 和 20 我已经成功地使用了: c
我正在使用 Java 程序进行一些图像处理,目前我正在处理一些相当大的图像(大约十亿像素)。 毫不奇怪,由于以下异常,我无法做很多事情: Exception: java.lang.IllegalArg
所以我想用Scrapy做一个steam游戏的刷屏器。我不知道为什么有些游戏没有显示在结果 csv/json 中。我认为这是因为年龄验证表。 我真的很想看看问题出在哪里......但一切似乎都应该有效。
我正在尝试控制我的表单以及用户如何通过表单元素的 tabindex 属性与它们交互。我的所有元素都指定了 tabindex,我希望这个值得到尊重并得到正确使用。 我目前正在 Mac/Firefox 上
我将实现一个简单的链表。这是我到目前为止的(工作)代码: pub struct LinkedList { start: Option>>, } impl LinkedList { pu
我遇到了 IE8 的 31 个 CSS 文件限制。 我在想,除非我弄错了,否则 Assets 管道会结合我的 CSS 文件进行生产,因此这不会成为问题。 然而,当我为 IE 调试时,这是一个问题。有没
我正在尝试在 Yacc/Bison 中创建一个 LALR(1) 解析器,它可以接受具有灵活语法的命令。一个例子是通过调整室温( float )、 window 位置(整数)和吊扇(枚举)来控制房屋中的
为了调试,我想用 JSON.stringify(myobject) 序列化 javascript 对象。但这给出了: TypeError: Converting circular structure
我正在使用交叉 musl 编译器(相同版本)构建 native musl 编译器 (GCC 8.3.0),但出现此错误: In file included from /usr/local/x86_64
我是一名优秀的程序员,十分优秀!