Vagadziri veGoogle vanoda kugadzira yavo libc yeLLVM

LLVM_Logo

Mumwe wevanogadzira Google akaunza paLLVM tsamba yekutumira musoro wenyaya wekuvandudza muchinjikwa-chikuva chakajairwa C raibhurari (Libc) mukati megadziriro yeLLVM chirongwa.

Nezvikonzero zvinoverengeka, Google haigutsikane neiyo yazvino libc (glibc, musl) uye kambani iri munzira yekuvandudza kumisikidza nyowani, iyo yaanoda kusimudzira sechikamu cheLLVM. LLVM zviitiko zvichangobva kushandiswa sehwaro hwekuvaka zvishandiso zveGoogle.

Kubudirira kunorongwa kuve zvishoma nezvishoma, zvishoma nezvishoma zvichiwedzera mashandiro. Izvo zvinokurudzirwa kuti sarudzo dzekutanga dzitore fomu yepakati yepakati pakati pechishandiso neiyo libc system, kubva kune izvo zvisingazivikanwe maficha zvichakweretwa.

Mushure mekusvika kune imwe nhanho yekushanda, iyo Libc nyowani inogona kushandiswa seyakazara kutsiva kweLibc system.

Izvo zvakarongerwa kutanga nerutsigiro rwe x86-64 dhizaini, Linux, uye zvimisikidzo zvinosunga (zvine simba kurodha, kurongedza, uye zvimwe zvekuvaka zvichaitwa chechipiri).

Iyo purojekiti ichiri muchikamu chekutanga chebudiriro, asi zvinangwa zvekutanga zvakatotsanangurwa:

  • Modularity uye kusimudzira zvinoenderana nehungwaru hwekupa raundi granular raibhurari, pane monolithic ensemble.
  • Static chinongedzo rutsigiro muPIE modes (chinzvimbo-chakazvimiririra chinoitwa) uye isina PIE. Ipa CRT (C yekumhanyisa nguva) uye PIE inorema yehuwandu hwakafananidzwa mafaera anogona.
  • Inotsigira mazhinji eC mabasa emaraibhurari yakajairwa nePOSIX plug-ins uye mamwe masisitimu-akanangana nekuwedzeredzwa ayo anokumbirwa mune zviripo zvinoshandiswa
  • Kuchenjerera maitiro kune chaiwo ekuwedzera kubva kumupi uye kungovawedzera pazvinenge zvichidikanwa. Kune yechitatu-bato yekuwedzera rutsigiro, zvinokurudzirwa kushandisa Clang uye libc ++ nzira yeprojekti.
  • Uchishandisa Akanaka Maitiro Mukuvandudza Uchishandisa LLVM Maturusi, senge kuiswa kwemishonga inouraya utachiona uye kubvisa bvunzo kubva pakutanga.

Mumwe wevanogadzira LLVM vagadziri vakaratidza izvo libc kuendesa sechikamu cheLLVM toolkit haina zvazvinoreva, asi kazhinji nechidimbu chakadaro vanoshandisa raibhurari yemusl, Yakanyorwa zvakanaka, inotsigira akawanda maumbirwo, uye inopa mashandiro anodikanwa, kusanganisira simba rekubatanidza.

Kubatanidzwa kweMusl muLLVM nekusimudzirwa kwayo seforogo yakayananiswa neprojekti hombe kunogona kururamiswa.

Pfungwa yake yakataurwa zvakare nemunyori weprojekti yeMusl, uyo akaedza kupokana kuti nei zano reGoogle uye kuiswa kweLibc mukutakura kweLLVM iri mifungo yakaipa kwazvo:

Kuvandudza nekuchengetedza iyo chaiyo, inoenderana uye yemhando yepamusoro libc ibasa rakaoma kwazvo. Dambudziko harisi muhuwandu hwekodhi, asi mukupa hunhu chaihwo.

Uye kuomarara nekumisikidzwa kweiyo interface, tichifunga iyo hombe repamhepo yezvikumbiro zvakanyorwa muC / C ++, pamwe nekushandisa mune mimwe mitauro iyo nguva yekumhanya inoshandiswa neLibc.

Kusvika pahuma pasina kufunga nezve nuances kunongotungamira kuchokwadi kuti mazhinji mapurogiramu aripo haazokwanisa kushanda neLibc, asi chirongwa chakadai hachizofadze kune vatengi.

Kuvandudza kwemubatanidzwa kunogona kukanganisa Libc, asi tyaira kushandiswa kwakapararira, izvo zvinoguma nekudikanwa kwekuwedzera hacks kuona kuenderana mune zvinoshandiswa.

Kubudirira pasi pesimba rehurongwa hwakavhurika hwekambani kunoendesa kufukidzwa kune zvido uye sarudzo dzekambani, zvichizokanganisa zvido zvemunharaunda.

Semuenzaniso, mune yekuona dambudziko rakakonzerwa nechikanganiso mune imwe chirongwa, mukuvandudza kuri pasi pekutonga, zviri nyore kuvimbisa kuenderana kweLibc nekanganiso iyi pane kugadzirisa iko kukanganisa iko pachako.

Apple inoshandisa iyo BSD libc forogo nekuda kwezvinangwa izvi uye Google inoshandisa iyo Fuchsia forogo. Chiitiko chaMusl chekuvandudza chinoratidza kuti magweta akamubata iye zvakanyanya kujekesa nyaya dzerezinesi.

mabviro: http://lists.llvm.org


Izvo zviri muchinyorwa zvinoomerera pamisimboti yedu ye tsika dzekunyora. Kuti utaure chikanganiso tinya pano.

Iva wekutanga kutaura

Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa.

*

*

  1. Inotarisira data: AB Internet Networks 2008 SL
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako