Tso Mould 1.1 linker, tsim los ntawm LLVM lld

Kev tso tawm ntawm Mould linker tau tshaj tawm, uas tuaj yeem siv tau sai dua, pob tshab hloov pauv rau GNU linker ntawm Linux systems. Qhov project yog tsim los ntawm tus sau ntawm LLVM lld linker. Ib qho tseem ceeb ntawm Pwm yog qhov ceev heev ntawm kev sib txuas cov ntaub ntawv khoom, pom zoo ua ntej ntawm GNU kub thiab LLVM lld linkers (txuas hauv Mould yog ua ntawm qhov nrawm tsuas yog ib nrab kom nrawm li tsuas yog luam cov ntaub ntawv nrog cp utility). Cov cai tau sau hauv C ++ (C ++ 20) thiab muab faib raws li daim ntawv tso cai AGPLv3.

Hauv qhov tshiab version:

  • Ntxiv kev txhawb nqa rau kev ua kom zoo nyob rau theem txuas (LTO, Txuas Sijhawm Ua Haujlwm Zoo). LTO optimizations sib txawv los ntawm kev coj mus rau hauv tus account lub xeev ntawm tag nrho cov ntaub ntawv koom nyob rau hauv lub tsim txheej txheem, thaum ib txwm optimization hom optimize txhua cov ntaub ntawv sib cais thiab tsis txhob coj mus rau hauv tus account lub tej yam kev mob rau hu ua hauj lwm teev nyob rau hauv lwm cov ntaub ntawv. Raws li yav dhau los, thaum GCC lossis LLVM cov ntaub ntawv nruab nrab (IR) tau pom, qhov sib txuas ld.bfd lossis ld.lld txuas tau raug hu, tam sim no Pwm ua cov ntaub ntawv IR ntawm nws tus kheej thiab siv Linker Plugin API, kuj siv hauv GNU ld thiab GNU. kub linkers. Thaum enabled, LTO tsuas yog marginally sai dua lwm cov linkers vim hais tias feem ntau ntawm cov sij hawm yog siv ua code optimizations es tsis txuas.
  • Ntxiv kev txhawb nqa rau RISC-V (RV64) architecture ntawm tus tswv tsev thiab lub hom phiaj platforms.
  • Ntxiv qhov "--emit-relocs" kev xaiv los pab kom luam ntawm qhov chaw hloov chaw los ntawm cov ntaub ntawv nkag mus rau cov ntaub ntawv tso tawm rau cov ntawv thov tom ntej ntawm kev ua kom zoo ntawm cov theem tom qab txuas.
  • Ntxiv qhov "--shuffle-sections" kev xaiv los randomize qhov kev txiav txim ntawm ntu ua ntej kho lawv qhov chaw nyob hauv qhov chaw nyob virtual.
  • Ntxiv cov kev xaiv "--print-dependencies" thiab "--print-dependencies=full" los tso tawm hauv CSV cov ntaub ntawv hais txog kev vam khom ntawm cov ntaub ntawv nkag, uas, piv txwv li, tuaj yeem siv los txheeb xyuas cov laj thawj ntawm kev sib txuas thaum txuas qee cov ntaub ntawv khoom los yog thaum nqa tawm minification ua hauj lwm dependencies ntawm cov ntaub ntawv.
  • Ntxiv "--warn-ib zaug" thiab "--warn-textrel" xaiv.
  • Tshem tawm kev vam khom ntawm libxxhash.

Tau qhov twg los: opennet.ru

Ntxiv ib saib