Cygwin 是否支持 Gold 链接器?

Does Cygwin support the Gold linker?

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

的集成
export LD=ld.gold
make

makefile 具有以下逻辑来识别 Gold linker:

# 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,但它没有提到黄金。但是,它确实调用了 Binutils,Gold 是其中的一部分。并且端口不拒绝 -fuse-ld=gold.

Cygwin 是否支持 Gold linker?如果是这样,我应该做什么?


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

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