【问题标题】:Does Cygwin support the Gold linker?Cygwin 是否支持 Gold 链接器?
【发布时间】:2015-11-04 06:04:13
【问题描述】:

我正在执行发布测试周期。 GNU Linux 的一项测试是与Gold linker 的集成:

export LD=ld.gold
make

makefile 具有以下逻辑来识别 Gold 链接器:

# LD gold linker testing
ifeq ($(findstring ld.gold,$(LD)),ld.gold)
GOLD_OPTION = -Wl,-fuse-ld=gold
endif # Gold

然后是利用它的配方:

cryptest.exe: libcryptopp.a $(TESTOBJS)
    $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(GOLD_OPTION) $(LDLIBS)

但是,当针对 Cygwin 运行时:

g++ -o cryptest.exe -DNDEBUG -g3 -O3 -march=native -pipe bench.o bench2.o test.o \
  validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o \
  ./libcryptopp.a -Wl,-fuse-ld=gold
collect2: fatal error: cannot find 'ld'

我检查了Cygwin FAQ,但它没有提到黄金。但是,它确实调用了 Gold 所属的 Binutils。并且端口不拒绝-fuse-ld=gold

Cygwin 是否支持 Gold 链接器?如果是这样,我该怎么办?


(Cygwin 似乎可以从 Gold 中受益,因为链接需要很长时间。在这个测试系统上,链接 cryptest.exe 需要大约 15 到 20 秒。所以这也是个人目标)。

【问题讨论】:

    标签: c++ linker cygwin gold-linker


    【解决方案1】:

    没有。根据您链接的 wiki 页面,黄金仅限于 ELF 格式。 Windows 使用 PE 格式。

    【讨论】:

      猜你喜欢
      • 2011-06-24
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多