2016-07-24 2 views
-3

황금 링커가 링크 과정을 빠르게 진행하는지 확인하고 있습니다. ld의 소프트 링크를 /etc/alternative/ld에서 /usr/bin/gold.ld을 가리 키도록 변경했습니다. 이는 알 수 있습니다.골드 링커 문제

그 결과 링크 시간이 훨씬 느려졌 고 최악은 연결이 내가 이해하지 못하는 이유에서 실패한다는 것입니다.

골드 링커로 전환 한 경험이 있습니까? 어떻게 병렬 연결을 사용합니까? (상위 명령을 사용하여 1 ld 프로세스 만 보았습니다).

감사

답변

1

Does anyone have experience with transitioning to gold linker?

예.

(나는 이것이 대부분 쓸모없는 대답 실현,하지만 당신은 쓸모없는 질문을했기 때문에 그건.)

How do I use the parallel linking in it?

골드 링커가 기본하지 않은, --enable-threads로 구성해야합니다.

링커가 스레드를 지원하도록 구성된 경우 --thread--thread-count COUNT이 찾고있는 플래그입니다 (man page).

참고하지만, 내 경험에 ld.gold는 사용하여 스레드하지 않고 4-6 배 빠른 ld.bfd보다, 스레드는 확실히 링크 장애를 치료하지 않을 수 있습니다.

가장 좋은 방법은 링크 오류를 이해하고 문제가 무엇이든 해결하는 것입니다. 일단 그렇게하면 ld.gold이 더 빠를 가능성이 높습니다.

+0

"/ usr/bin/ld : 치명적인 오류 : -r을 동적 객체 ../libm.so와 섞을 수 없습니다."라는 오류가 있습니다. 그게 무슨 뜻인지 아세요? 나는 EXTRA_LDFLAGS에서 --enable-threads를 할 수 있었지만 다른 두 플래그는 링크가 실패했다. linux의 맨 페이지에 표시되었지만 (링크가 작동하지 않았다.). 아이디어가 있습니까? 감사합니다 – itayb

+0

@itayb "여기에 실패했습니다"- 링크 명령 줄이 잘못되었습니다. 그것으로부터'-r'을 제거하십시오. –