GNU ld의 대안은 무엇입니까?

GNU ld의 대안은 무엇입니까?

GNU 툴체인(gcc+autotools) 없이 Linux 커널을 빌드하는 것이 가능한지 궁금합니다.

나는 이것이 가능하다는 것을 알았습니다: 패치를 적용한 후llvm.linuxfoundation.org, clang을 사용하여 Linux 커널을 빌드할 수 있습니다. GNU 링커가 사용됩니다.

그 대안은 GNU binutils의 일부 ld이기도 합니다 . gold인기 있는 musl+clang 툴체인 ELLCC도 GNU binutils를 사용합니다.

더 많은 옵션이 있습니다: ( lld안정적인 버전 없음), mclinker(안정적인 버전 없음).

GNU binutils에 대한 대안이 있습니까? 아마도 Mac OS X 또는 FreeBSD에서 구축하는 데 GNU 도구가 필요하지 않을 수도 있습니다.

답변1

2018년 기준으로 lld생산에 사용할 수 있을 만큼 성숙한 것으로 보이며 100% 호환되지는 않지만 bfd대부분의 경우 드롭인 교체로 사용할 수 있습니다.

업데이트: 최근 새로운 링커가 등장하여 활발하게 개발 중입니다: mold.

답변2

UNIX 링커는 소스 코드(CDDL 아래)에서 무료로 사용할 수 있습니다. 소스 코드는 OpenSolaris 프로젝트와 함께 제공됩니다.

일부 결함과 버그로 인해 GNU 링커는 Solaris의 UNIX ld를 대체하지 않습니다. 반면에 Linux에서의 링크는 gld 편차(예: 다른 명령줄 옵션 및 호환되지 않는 맵 파일 구현)에 따라 달라질 수 있습니다.

다음과 같이 OpenSolaris 소스 코드를 확인할 수 있습니다.http://schillix.sourceforge.net 링커 소스는 다음 위치에 있습니다.usr/src/cmd/sgs 싱가포르 표준 연구소대표하다소프트웨어 생성 시스템공정한.

관련 정보