【发布时间】:2018-05-17 21:21:56
【问题描述】:
如何在编译 Pin 工具时更改 g++ 选项?例如,是否可以防止警告被视为错误,或者是否可以将工具与 bfd 等外部库链接?
【问题讨论】:
标签: compilation shared-libraries compiler-warnings intel-pin
如何在编译 Pin 工具时更改 g++ 选项?例如,是否可以防止警告被视为错误,或者是否可以将工具与 bfd 等外部库链接?
【问题讨论】:
标签: compilation shared-libraries compiler-warnings intel-pin
不鼓励将 Pin 链接到预编译库。 Pin 使用不同的 libc,链接将在运行时失败或导致问题。如果您希望使用外部库,请针对 pin 的运行时编译它或在单独的进程中使用它。
要以非标准方式构建特定文件,请将规则添加到相关 makefile 的 Build rules 部分。
一般来说,修改 pin 的默认标志是个坏主意。它们都有一个目的。
【讨论】:
makefile.rules 文件,了解特殊规则的样子
所以 gcc 7 添加了一些额外的警告,这些警告破坏了我的 pin-tool。所以我想删除-Werror 命令行参数。这不应该影响最终的二进制文件,所以它应该是完全安全的。
您可以简单地将其从带有过滤器的引脚指定参数列表中删除。
这是我的 makefile.rules 的“构建规则”部分的全部内容
MY_CXX_FLAGS:=$(filter-out -Werror, $(TOOL_CXXFLAGS))
$(OBJDIR)generate_loop_info$(OBJ_SUFFIX): generate_loop_info.cpp
$(CXX) $(MY_CXX_FLAGS) -D OUTPUT_FILE $(COMP_OBJ)$@ $<
$(OBJDIR)generate_loop_info$(PINTOOL_SUFFIX): $(OBJDIR)generate_loop_info$(OBJ_SUFFIX)
$(LINKER) $(TOOL_LDFLAGS) $(LINK_EXE)$@ $< $(TOOL_LPATHS) $(TOOL_LIBS)
【讨论】: