リリース テスト サイクルを実行しています。GNU Linux のテストの 1 つは、Gold リンカーとの統合です。
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 については言及されていません。ただし、Gold が含まれている Binutils を呼び出します。ポートは拒否しません-fuse-ld=gold
。
Cygwin は Gold リンカーをサポートしていますか? もしそうなら、私は何をすべきですか?
(Cygwin は、リンクに時間がかかるため、Gold の恩恵を受ける可能性があるようです。このテスト システムでは、リンクに約 15 ~ 20 秒かかりますcryptest.exe
。したがって、これも個人的な目標です)。