c++ - 带有 g++ 5.4.0 的 asan 无法在 travis CI 上运行

标签 c++ g++ travis-ci sanitizer address-sanitizer

直到最近,我使用地址清理器在 travis 上使用 g++ 5 进行的构建都通过了——在过去的一周中它们崩溃了。

我看到 g++ 的版本从 (Ubuntu 5.2.1-23ubuntu1~12.04) 5.2.1 20151031 升级到 (Ubuntu 5.4.0-3ubuntu1~12.04) 5.4。 0 20160603(从 ${CXX} --version 行看)

错误来自链接器 - /usr/bin/ld: unrecognized option '--push-state'

最后一个工作版本 - here

当前损坏的构建 - here

知道这是否是一个已知问题吗?是不是到处都被举报了?有解决方法吗?

here是我在 github 上的存储库——它使用 CMake 并且不添加任何链接器标志。我从 .travis.yml 配置文件中添加 -fsanitize=address - 参见 here

最佳答案

您的 ld 版本已过时 - 推送状态选项于 2014-08-08 引入。更新它,你会很高兴。

关于c++ - 带有 g++ 5.4.0 的 asan 无法在 travis CI 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37688926/

相关文章:

c++ - boost::bind 和删除

c++ - 如何为 MyClass** 传递 MyClass[][]?

c++ - 我可以使用相同的名称为周围范围内的类型声明一个成员类型别名吗?

elasticsearch - travis上的Elasticsearch Docker失败,文件夹访问被拒绝

android - travis CI 必须使用 gradlew 才能工作吗?

c++ - Exe 不能在旧版本的 Windows 上运行

c# - 访问 C# 字典中的元素

c++ - 如何编写构造函数来初始化一组指针

C++ list<T>::iterator 不能在派生类模板中使用

travis-ci - 无语言 : Travis CI