Sgaoileadh Mould 1.1 linker, air a leasachadh le LLVM lld

Chaidh foillseachadh den inneal ceangail Mould fhoillseachadh, a dh'fhaodar a chleachdadh mar àite nas luaithe agus nas soilleire airson an ceangal GNU air siostaman Linux. Tha am pròiseact air a leasachadh le ùghdar an neach-ceangail LLVM lld. Is e prìomh fheart den Mould an astar fìor àrd ann a bhith a’ ceangal fhaidhlichean stuth, gu sònraichte air thoiseach air luchd-ceangail òr GNU agus LLVM lld (tha ceangal san Mould air a dhèanamh aig astar dìreach leth cho luath ri dìreach a bhith a’ dèanamh lethbhreac de fhaidhlichean le goireas cp). Tha an còd sgrìobhte ann an C ++ (C ++20) agus air a chuairteachadh fo chead AGPLv3.

Anns an dreach ùr:

  • Taic a bharrachd airson optimization aig an ìre ceangail (LTO, Link Time Optimization). 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 air leth agus nach eil a ’toirt aire do na cumhaichean airson gnìomhan gairm a tha air am mìneachadh ann am faidhlichean eile. Ach roimhe seo, nuair a chaidh faidhlichean còd eadar-mheadhanach GCC no LLVM (IR) a lorg, chaidh na ceanglaichean ld.bfd no ld.lld co-fhreagarrach a ghairm, a-nis bidh Mould a’ pròiseasadh faidhlichean IR gu neo-eisimeileach agus a’ cleachdadh an Linker Plugin API, a tha cuideachd air a chleachdadh anns an GNU ld agus GNU luchd-ceangail òir. Nuair a bhios e comasach, chan eil LTO ach beagan nas luaithe na luchd-ceangail eile leis gu bheil a’ mhòr-chuid den ùine ga chaitheamh a’ coileanadh optimizations còd seach a bhith a’ ceangal.
  • Taic a bharrachd airson ailtireachd RISC-V (RV64) air na h-àrd-ùrlaran aoigheachd agus targaid.
  • Chuir sinn ris an roghainn “--emit-relocs” gus leigeil le earrannan gluasad a chopaigeadh bho fhaidhlichean cuir a-steach gu faidhlichean toraidh airson an cleachdadh às deidh sin de optimizations aig an ìre iar-cheangail.
  • Chuir sinn ris an roghainn “--shuffle-sections” gus òrdugh nan earrannan a chuir air thuaiream mus socraich iad na seòlaidhean aca anns an àite seòlaidh brìgheil.
  • Roghainnean a bharrachd “--print-dependencies” agus “--print-dependencies = làn” gus fiosrachadh a thoirt a-mach ann an cruth CSV mu eisimeileachd eadar faidhlichean cuir a-steach, a dh’ fhaodar, mar eisimpleir, a chleachdadh gus na h-adhbharan airson ceangal a sgrùdadh nuair a thathar a’ ceangal cuid de fhaidhlichean nì no nuair a bhios tu a’ dèanamh obair mion-sgrùdaidh air eisimeileachd eadar faidhlichean.
  • Chaidh roghainnean “--warn-once” agus “--warn-textrel” a chur ris.
  • Thoir air falbh eisimeileachd air libxxhash.

Source: fosgailtenet.ru

Cuir beachd ann