Tha Mould 1.1 air a leigeil ma sgaoil mu thràth, fios agad air naidheachdan an Linker ùr-nodha seo nas fheàrr na òr GNU agus LLVM

O chionn grunn làithean chaidh an dreach ùr den Linker Mould 1.1 ùr-nodha ainmeachadh, a dh’ fhaodar a chleachdadh mar àite follaiseach nas luaithe airson an ceangal GNU air siostaman Linux.

Anns an dreach ùr seo de molltair 1.1 tha dreach a tha tha feartan ùra ann, rèiteachadh bug, agus leasachaidhean coileanaidh.

Mu Mholltair

Mould a ’toirt taic do na feartan uile aig an inneal-ceangail GNU agus tha coileanadh fìor àrd aige, leis nach eil na ceanglaichean a tha e a ’dèanamh ach dà uair cho slaodach ri bhith a’ dèanamh lethbhreac de fhaidhlichean leis a ’ghoireas cp.

San dòigh seo tha an tha lughdachadh ùine cur ri chèile gu mòr a ’leasachadh goireasachd phròiseactan mòra le bhith a ’lughdachadh na h-ùine feitheimh sa phròiseas gineadh faidhle so-ghnìomhaichte nuair a bhios debugging agus deuchainn atharrachaidhean.

B ’e an adhbhar airson Mould a chruthachadh an dragh a bh’ ann a bhith a ’feitheamh ris a’ cheangal a chrìochnachadh às deidh gach atharrachadh còd, a bharrachd air èifeachdas ìseal an luchd-ceangail a th ’ann mar-thà ann an siostaman ioma-cheàrnach agus am miann a bhith a’ dèanamh deuchainn air ailtireachd ceangail a tha gu tur eadar-dhealaichte gun a bhith a ’cleachdadh mhodalan iom-fhillte gun fheum leithid ceangal ceum air cheum.

Tha an coileanadh àrd ann a bhith a ’ceangal faidhle so-ghnìomhaichte bho àireamh mhòr de fhaidhlichean nì a chaidh ullachadh le inneal ann am Mould air a choileanadh tro bhith a’ cleachdadh algorithms nas luaithe, co-shìnteachadh gnìomhach obrachaidhean eadar na corailean CPU a tha rim faighinn, agus cleachdadh structaran dàta nas èifeachdaiche.

Mar eisimpleir, Bidh Mould a’ cur an gnìomh dòigh gus àireamhachadh dian a dhèanamh aig an aon àm le copaidh fhaidhlichean, a’ luchdachadh faidhlichean stuth gu cuimhne gu for-ghnìomhach, a’ cleachdadh bùird hash luath nuair a bhios tu a’ fuasgladh charactaran, a’ sganadh chlàran ath-shuidheachadh ann an sruth air leth agus a’ dì-dhùblachadh earrannan a tha air an ath-aithris ann am faidhlichean eadar-dhealaichte.

Prìomh nithean ùra Mould 1.1

Anns an dreach ùr seo de Mould 1.1 a tha air a thaisbeanadh, tha e air a chomharrachadh gu bheil an taic airson optimization ìre ceangail (LTO, Optimization Ùine Ceangal).

Bidh optimizations LTO eadar-dhealaichte le bhith a’ toirt aire do staid a h-uile faidhle a tha an sàs sa phròiseas togail, fhad ‘s a tha modhan optimization traidiseanta a’ dèanamh an fheum as fheàrr de gach faidhle leotha fhèin agus nach eil a ’toirt aire do na cumhaichean airson gnìomhan gairm a tha air am mìneachadh ann am faidhlichean eile.

Roimhe sin, nuair a chaidh faidhlichean còd eadar-mheadhanach GCC no LLVM (IR) a lorg, chaidh na ceanglaichean ld.bfd no ld.lld iomchaidh a chleachdadh, ach a-nis bidh Mould a’ làimhseachadh faidhlichean IR leis fhèin agus a’ cleachdadh an Linker plugin API, a tha cuideachd air a chleachdadh ann an GNU ld agus Luchd-ceangail òir GNU. Chan eil astar nuair a tha LTO air a chomasachadh ach beagan nas luaithe na luchd-ceangail eile, leis gu bheilear a’ caitheamh a’ mhòr-chuid den ùine a’ dèanamh an còd as fheàrr, gun a bhith a’ ceangal.

Thathas cuideachd a ’soilleireachadh sin roghainnean air an cur ris “–print-pendencies” agus “–print-pendencies = làn” pGus fiosrachadh a ghineadh ann an cruth CSV mu na h-eisimeileachd eadar faidhlichean cuir a-steach, a dh’ fhaodar, mar eisimpleir, a chleachdadh gus adhbharan ceangail a sgrùdadh nuair a thathar a’ ceangal cuid de fhaidhlichean nì no fhad ‘s a thathar ag obair gus eisimeileachd eadar faidhlichean a lughdachadh.

Is e atharrachadh eile a tha a’ seasamh a-mach bhon tionndadh ùr gu bheil an taic airson ailtireachd RISC-V (RV64) air na h-àrd-ùrlaran aoigheachd agus targaid.

A bharrachd air an sin, is urrainn dhuinn sin a lorg cuideachd chuir e roghainn “–emit-relocs” ris gus leth-bhreac a dhèanamh de earrannan gluasad seòlaidhean bho fhaidhlichean cuir a-steach gu faidhlichean deireannach airson tuilleadh optimizations a chuir an sàs aig ìre post-link.

De na h-atharrachaidhean eile a tha a ’seasamh a-mach:

  • Roghainn a bharrachd “–shuffle-sections” gus òrdugh nan earrannan a chuir air thuaiream mus cuir iad na seòlaidhean aca anns an àite seòlaidh brìgheil.
  • Chaidh roghainnean “–warn-once” agus “–warn-textrel” a chur ris.
  • Thoir air falbh eisimeileachd air libxxhash.

Mu dheireadh ma tha ùidh agad barrachd fhaighinn a-mach mu dheidhinn, faodaidh tu sgrùdadh a dhèanamh air mion-fhiosrachadh anns an ceangal a leanas.

Ciamar a stàladh Mould?

Dhaibhsan aig a bheil ùidh ann a bhith comasach air obrachadh le Mould, faodaidh iad an goireas fhaighinn le bhith a’ luchdachadh sìos agus a’ cur ri chèile an còd stòr. Gus seo a dhèanamh, dìreach fosgail inneal-crìochnachaidh agus sgrìobh na leanas:

git clone https://github.com/rui314/mold.git
cd mold
git checkout v1.1.1
make -j$(nproc) CXX=clang++
sudo make install

Gus eòlas fhaighinn air cleachdadh Mould, faodaidh tu sùil a thoirt air na sgrìobhainnean anns a ’cheangal seo.


Tha susbaint an artaigil a ’cumail ri na prionnsapalan againn de moraltachd deasachaidh. Gus aithris a dhèanamh air mearachd cliog an seo.

Bi a 'chiad fhear a thog beachd

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh.

*

*

  1. Uallach airson an dàta: Miguel Ángel Gatón
  2. Adhbhar an dàta: Smachd air SPAM, riaghladh bheachdan.
  3. Dìleab: Do chead
  4. Conaltradh an dàta: Cha tèid an dàta a thoirt do threas phàrtaidhean ach a-mhàin fo dhleastanas laghail.
  5. Stòradh dàta: Stòr-dàta air a chumail le Occentus Networks (EU)
  6. Còraichean: Aig àm sam bith faodaidh tu am fiosrachadh agad a chuingealachadh, fhaighinn air ais agus a dhubhadh às.