Издање Молд 1.1 линкера, који је развио ЛЛВМ ллд

Објављено је издање Молд линкера, који се може користити као бржа, транспарентна замена за ГНУ линкер на Линук системима. Пројекат је развио аутор ЛЛВМ ллд линкера. Кључна карактеристика Молд-а је веома велика брзина повезивања објектних датотека, приметно испред линкера ГНУ голд и ЛЛВМ ллд (повезивање у Молд-у се изводи брзином која је само упола мања од једноставног копирања датотека помоћу цп услужног програма). Код је написан у Ц++ (Ц++20) и дистрибуиран под лиценцом АГПЛв3.

У новој верзији:

  • Додата подршка за оптимизацију у фази повезивања (ЛТО, Линк Тиме Оптимизатион). ЛТО оптимизације се разликују узимајући у обзир стање свих датотека укључених у процес изградње, док традиционални режими оптимизације оптимизују сваку датотеку посебно и не узимају у обзир услове за позивање функција дефинисаних у другим датотекама. Док су раније, када су пронађене ГЦЦ или ЛЛВМ датотеке средњег кода (ИР), позивани су одговарајући лд.бфд или лд.ллд линкери, сада Молд самостално обрађује ИР датотеке и користи АПИ додатка за повезивање, који се такође користи у ГНУ лд и ГНУ златни повезивачи. Када је омогућен, ЛТО је само незнатно бржи од других линкера јер се већина времена троши на оптимизацију кода, а не на повезивање.
  • Додата подршка за РИСЦ-В (РВ64) архитектуру на хост и циљној платформи.
  • Додата је опција „--емит-релоцс“ да би се омогућило копирање секција премештања из улазних датотека у излазне датотеке за накнадну примену оптимизација у фази пост-линковања.
  • Додата је опција „--схуффле-сецтионс“ за насумични редослед секција пре него што поправите њихове адресе у виртуелном адресном простору.
  • Додате опције “--принт-депенденциес” и “--принт-депенденциес=фулл” за излаз у ЦСВ формату информација о зависностима између улазних датотека, које се, на пример, могу користити за анализу разлога за повезивање приликом повезивања одређених објектних датотека или када се обављају зависности рада минификације између датотека.
  • Додате опције „--варн-онце“ и „--варн-тектрел“.
  • Уклоњена зависност од либккхасх-а.

Извор: опеннет.ру

Додај коментар