如何调试非重复符号的意外编译器/链接器重复数据删除问题?

时间:2018-08-02 02:10:45

标签: c++ mysql clang homebrew linkage

假设有人遇到了一个较新版本的Apple Clang变体的编译器/链接器错误,该错误导致所述编译器和/或链接器合并两个完全不相关的符号的定义,而您怀疑这是两个完全不同的翻译单元。是否有任何Clang编译器和/或链接器选项或使用技术可让您:

  1. 准确调试此符号链接问题的发生方式。
  2. 减轻它。

我浏览了ld的{​​{1}}页,并遇到了man链接器选项,我怀疑(但不确定)我可以添加到链接器标志中被构建脚本使用的项目会遇到此编译器/链接器错误,以便在调试时进行调试。我也看到了-verbose-deduplicate的{​​{1}}选项,但是坦率地说,可以这么说。为了解决这个问题,我是否可以调用任何编译器可见性属性或链接程序脚本指令?


操作系统:Apple OS X v10.11.6'El Capitan',版本15G22010
工具链:Xcode v8.2.1,内部版本8C1002,带有命令行工具v8.2.0.0.1.1480973914
目标问题:https://bugs.mysql.com/bug.php?id=86711
原因:解决https://github.com/Homebrew/homebrew-core/issues/30405

0 个答案:

没有答案