2012-11-10 2 views
4

Я хочу использовать золото как мой системный компоновщик вместо ld, так как ld не поддерживает -fPIC и -shared. Я последовал за этот конкретный URL, чтобы сделать так, gold-plugin Согласно документации, я побежал НКУ -v filename.c, чтобы выяснить, какая команда ссылка НКУ будет работать. Затем он говорит мне проверить строку, которая запускает collect2, и заменить ее на -plugin /path/to/LLVMgold.so. Но gcc и collect2 являются двоичными файлами. Я немного изучил .. и понял, что gcc вызывает collect2, в свою очередь collect2 вызывает системный компоновщик ld, ища ld-linux.so.2. У меня есть rpm-пакет gcc4.4.4, установленный на моей федерации ... как я могу изменить свою конфигурацию.Использование золота вместо ld в качестве системного компоновщика на fedora

Как я могу сделать gcc-вызов ld-new/gold вместо collect2?

ответ

0

Поскольку я читаю стандартные инструменты, такие как ld или ar, нельзя переименовать или иметь расширение типа ld_1.6 или что-то еще. возможно, вы можете изменить имя ld_new на ld и поместить его адрес перед PATH в файл .login.user или временно добавить в командной строке. Затем, когда любая программа вызывает ld, вы можете быть уверены, что ваш ld будет вызван первым, так как я использую ld-gold без изменения bin/ld.

7

Я немного опоздал, но я понял, что Fedora выходит с золотом, распределенным с binutils. Команда ld.gold. Вы можете выбрать его в качестве компоновщика по умолчанию, используя alternatives:

# alternatives --config ld 

There is 2 program that provides 'ld'. 

    Selection Command 
----------------------------------------------- 
*+ 1   /usr/bin/ld.bfd 
    2   /usr/bin/ld.gold 

Enter to keep the current selection[+], or type selection number: 2 
Смежные вопросы