złoto (łącznik)
Deweloperzy | Iana Lance'a Taylora |
---|---|
Napisane w | C++ |
System operacyjny | GNU ANTYLOPA |
Platforma | x86, x86-64, ARM, PowerPC, TileGX |
Typ | Łącznik |
Licencja | Powszechna Licencja Publiczna GNU wersja 3 |
Strona internetowa |
W inżynierii oprogramowania złoto jest łącznikiem dla plików ELF . Stał się oficjalnym pakietem GNU i został dodany do binutils w marcu 2008 roku i po raz pierwszy wydany w wersji binutils 2.19. gold został opracowany przez Iana Lance'a Taylora i mały zespół w Google . Motywacją do napisania golda było stworzenie linkera, który byłby szybszy niż linker GNU , szczególnie dla dużych aplikacji napisanych w C++ .
W przeciwieństwie do konsolidatora GNU, gold nie używa biblioteki BFD do przetwarzania plików obiektowych . Chociaż ogranicza to formaty plików obiektowych, które może przetwarzać tylko do ELF, twierdzi się również, że zapewnia czystszą i szybszą implementację bez dodatkowej warstwy abstrakcji. Autor podał całkowite usunięcie BFD jako powód do stworzenia nowego linkera od podstaw, zamiast stopniowego ulepszania linkera GNU. To przepisanie naprawia również niektóre błędy w starym ld, które psują pliki ELF na różne drobne sposoby.
Aby określić złoto w pliku makefile , należy ustawić zmienną środowiskową LD lub LD na ld.gold
. Aby określić złoto
za pomocą opcji kompilatora , można użyć opcji gcc -fuse-ld=gold
.
Fedora przeniosła złoto z binutils do własnego pakietu z powodu obaw związanych z bitrotem po tym, jak zainteresowanie Google przeniosło się na LLVM .
Zobacz też
- Porównanie formatów plików wykonywalnych , także dla formatów PE/COFF (Windows) i Mach-O (Mac OS X).
Linki zewnętrzne
- Ian Lance Taylor (22.08.2007). „Linkery część 1” . Źródło 2020-04-28 .
- Krawędź, Jake (2008-03-26). „Uderzające złoto w binutils” . LWN.net . Źródło 2020-04-28 .
- „Złota wtyczka LLVM” . LLVM .
- Coutant, Cary (2012-04-05). „Przyrostowe łączenie ze złotem” (PDF) . Szczyt współpracy Fundacji Linuksa .
- „Przyrostowe łączenie ze złotem” . Szczyt współpracy 2012 Linux Foundation . 2012-04-11.