금(링커)

gold (linker)
금의
개발자이언 랜스 테일러
기록 위치C++
운영 체제GNU
플랫폼x86, x86-64, ARM, PowerPC, TailGX
유형링커
면허증GNU General Public License 버전 3
웹사이트sourceware.org/binutils/

소프트웨어 공학에서 금은 ELF 파일의 링크다.공식 GNU 패키지가 되어 2008년[1][2] 3월 바이너일에 추가되어 바이너리 버전 2.19로 처음 출시되었으며, 이안 랜스 테일러와 구글의 소규모 팀이 금을 개발하였다.[3]금을 쓰는 동기는 특히 C++[3]코딩된 대형 어플리케이션의 경우 GNU 링커보다 빠른 링커를 만들기 위해서였다.

GNU 링커와 달리 골드는 BFD 라이브러리를 사용하여 객체 파일을 처리하지 않는다.이는 처리할 수 있는 객체 파일 형식을 ELF로만 제한하지만, 추가적인 추상화 계층 없이 보다 깨끗하고 빠른 구현을 초래한다는 주장도 제기된다.저자는 GNU Linker를 점진적으로 개선하지 않고 처음부터 새로운 Linker를 만드는 이유로 BFD의 완전한 제거를 꼽았다.[4]이 재작성은 또한 ELF 파일을 여러 가지 사소한 방법으로 깨뜨리는 몇몇 버그를 고친다.[5]

makefile에서 금을 지정하려면 LD 또는 LD 환경 변수를 다음으로 설정하십시오.ld.gold. 지정하려면 다음과 같이 하십시오.gold컴파일러 옵션을 통해 gcc 옵션을 사용할 수 있다.-fuse-ld=gold.

페도라는 구글의 관심이 LLVM으로 옮겨간 뒤 비트롯에 시달리고 있다는 우려에 따라 금을 바이너틸에서 자체 패키지로 옮겼다.[6]

참고 항목

  • PE/COFF(Windows) 및 Mach-O(Mac OS X) 형식에 대한 실행 파일 형식 비교.

참조

  1. ^ "gold README: Rewrite, with some notes on unsupported features". 2008-03-25. Retrieved 2020-04-28. It is a GNU program, and therefore follows the GNU formatting standards[...]
  2. ^ Ian Lance Taylor (2008-03-22). "New ELF linker code added to GNU binutils". binutils mailing list. Retrieved 2020-04-28.
  3. ^ a b Ian Lance Taylor (2008-04-04). "gold: Google Releases New and Improved GCC Linker". Google Open Source Blog. Retrieved 2020-04-28.
  4. ^ Ian Lance Taylor (2008). A New ELF Linker. GCC Developers' Summit. pp. 129–136. Retrieved 2020-04-28.
  5. ^ "ElflintGNU". sourceware.org. Retrieved 2020-04-28. eu-elflint has a flag '--gnu-ld' described as "Binary has been created with GNU ld and is therefore known to be broken in certain ways". Note that by GNU ld the original GNU binutils ld is meant, not the newer GNU binutils gold linker.
  6. ^ Michael Larabel (2019-02-24). "GNU's Gold Linker Is Stagnating, Fedora Looking To Punt It Off Into A Separate Package". Phoronix. Retrieved 2021-02-03.

외부 링크