Я выполняю цикл тестирования релиза. Один из тестов для GNU Linux является интеграция с Gold linker:Поддерживает ли Cygwin золотой линкер?
export LD=ld.gold
make
Makefile, имеет следующую логику, чтобы признать Золотую линкер:
# 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 [email protected] $(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 золотой линкер? Если да, что мне делать?
(Cygwin появляется он может извлечь выгоду из золота, так как связывание занимает так много времени. На этой тестовой системе, она занимает около 15 до 20 секунд, чтобы связать cryptest.exe
. Так что это личная цель, тоже).
Спасибо. Почему они утверждают, что принимают варианты, которые они действительно не принимают ??? – jww