Rhyddhau cysylltydd yr Wyddgrug 1.1, a ddatblygwyd gan LLVM lld

Mae datganiad o gysylltydd yr Wyddgrug wedi'i gyhoeddi, y gellir ei ddefnyddio yn lle'r cysylltydd GNU ar systemau Linux yn gyflymach ac yn dryloyw. Datblygir y prosiect gan awdur y cysylltydd LLVM lld. Un o nodweddion allweddol yr Wyddgrug yw cyflymder uchel iawn cysylltu ffeiliau gwrthrych, yn amlwg o flaen y cysylltwyr aur GNU a LLVM lld (cysylltu yn yr Wyddgrug yn perfformio ar gyflymder dim ond hanner mor gyflym â dim ond copïo ffeiliau gyda'r cp cyfleustodau). Mae'r cod wedi'i ysgrifennu yn C++ (C++20) a'i ddosbarthu o dan drwydded AGPLv3.

Yn y fersiwn newydd:

  • Cefnogaeth ychwanegol ar gyfer optimeiddio yn y cam cysylltu (LTO, Optimeiddio Amser Cyswllt). Mae optimeiddio LTO yn wahanol trwy ystyried cyflwr yr holl ffeiliau sy'n ymwneud â'r broses adeiladu, tra bod dulliau optimeiddio traddodiadol yn optimeiddio pob ffeil ar wahân ac nid ydynt yn ystyried yr amodau ar gyfer galw swyddogaethau a ddiffinnir mewn ffeiliau eraill. Yn flaenorol, pan ddarganfuwyd ffeiliau cod canolradd GCC neu LLVM (IR), galwyd y cysylltwyr ld.bfd neu ld.lld cyfatebol, bellach mae'r Wyddgrug yn prosesu ffeiliau IR yn annibynnol ac yn defnyddio'r Linker Plugin API, a ddefnyddir hefyd yn y GNU ld a GNU cysylltwyr aur. Pan fydd wedi'i alluogi, mae LTO ychydig yn gyflymach na chysylltwyr eraill oherwydd treulir y rhan fwyaf o'r amser yn perfformio optimeiddio cod yn hytrach na chysylltu.
  • Cefnogaeth ychwanegol i bensaernïaeth RISC-V (RV64) ar y llwyfannau gwesteiwr a tharged.
  • Ychwanegwyd yr opsiwn “--emit-relocs” i alluogi copïo adrannau adleoli o ffeiliau mewnbwn i ffeiliau allbwn ar gyfer cymhwyso optimeiddio dilynol yn y cam ôl-gysylltu.
  • Ychwanegwyd yr opsiwn “--shuffle-sections” i hap-drefnu trefn adrannau cyn gosod eu cyfeiriadau yn y gofod cyfeiriad rhithwir.
  • Ychwanegwyd opsiynau “--print-dependencies” a “--print-dependencies=llawn” i allbynnu gwybodaeth mewn fformat CSV am ddibyniaethau rhwng ffeiliau mewnbwn, y gellir, er enghraifft, eu defnyddio i ddadansoddi'r rhesymau dros gysylltu wrth gysylltu rhai ffeiliau gwrthrych neu wrth wneud gwaith lleihau dibyniaethau rhwng ffeiliau.
  • Ychwanegwyd opsiynau "--warn-once" a "--warn-textrel".
  • Wedi dileu dibyniaeth ar libxxhash.

Ffynhonnell: opennet.ru

Ychwanegu sylw