2015-08-11 2 views
1

Я выполняю цикл тестирования релиза. Один из тестов для 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. Так что это личная цель, тоже).

ответ

4

Количество слов на странице wiki, ссылка на которую ограничена только ELF. Windows использует формат PE.

+0

Спасибо. Почему они утверждают, что принимают варианты, которые они действительно не принимают ??? – jww

Смежные вопросы