Кто-нибудь пытался использовать gold
вместо ld
?
gold
обещает, что будет намного быстрее, чем ld
, поэтому это может помочь ускорить циклы тестирования для больших приложений C ++, но может его можно использовать как замену ld?
Может ли gcc
/ g ++
напрямую вызывать gold
.?
Есть ли какие-нибудь известные ошибки или проблемы?
Хотя gold
уже давно входит в состав GNU binutils, я почти не нашел "историй успеха" или даже "Howtos" в Интернете.
( Обновление: добавлены ссылки на золото и запись в блоге, объясняющая это )
В настоящее время он компилирует более крупные проекты на Ubuntu 10.04. Здесь вы можете легко установить и интегрировать его с пакетом binutils-gold
(если вы удалите этот пакет, вы получите старый ld
). Тогда Gcc автоматически будет использовать золото.
Некоторый опыт:
/ usr / local / lib
Что не работает: он не может компилировать материал ядра и, следовательно, не может использовать модули ядра. Ubuntu делает это автоматически через DKMS, если обновляет проприетарные драйверы, такие как fglrx. Это не удается с ld-gold
(необходимо удалить gold, перезапустить DKMS, переустановить ld-gold
.
Вы можете связать ld
с gold
(в локальном бинарном каталоге, если у вас установлен ld
, чтобы избежать перезаписи):
ln -s `which gold` ~/bin/ld
или
ln -s `which gold` /usr/local/bin/ld