Famoahana ny rohy Mold 1.1, novolavolain'ny LLVM lld

Navoaka ny famoahana ny Mold linker, izay azo ampiasaina ho fanoloana haingana kokoa sy mangarahara ho an'ny rohy GNU amin'ny rafitra Linux. Ny tetikasa dia novolavolain'ny mpanoratra ny LLVM lld linker. Ny endri-javatra manan-danja amin'ny Mold dia ny hafainganam-pandeha avo indrindra amin'ny fampifandraisana ny rakitra zavatra, hita mialoha ny GNU gold sy LLVM lld linkers (fampifandraisana amin'ny Mold dia atao amin'ny hafainganam-pandeha antsasany haingana toy ny kopia fotsiny ny rakitra amin'ny cp utility). Ny kaody dia voasoratra amin'ny C++ (C++20) ary zaraina eo ambanin'ny fahazoan-dΓ lana AGPLv3.

Ao amin'ny dikan-teny vaovao:

  • Fanampiana fanampiny ho an'ny fanatsarana amin'ny dingana mampifandray (LTO, Link Time Optimization). Ny fanatsarana ny LTO dia tsy mitovy amin'ny alΓ lan'ny fiheverana ny toetry ny rakitra rehetra tafiditra amin'ny dingan'ny fananganana, raha toa kosa ny maodely optimization nentim-paharazana dia manatsara ny rakitra tsirairay ary tsy miraharaha ny fepetra hiantsoana ireo fiasa voafaritra amin'ny rakitra hafa. Raha teo aloha, rehefa hita ny rakitra GCC na LLVM intermediate code (IR) dia nantsoina ireo mpampitohy ld.bfd na ld.lld mifanaraka amin'izany, ankehitriny ny Mold dia manodina ny rakitra IR tsy miankina ary mampiasa ny Linker Plugin API, ampiasaina ao amin'ny GNU ld sy GNU. volamena mampifandray. Rehefa alefa, ny LTO dia somary haingana kokoa noho ireo mpampitohy hafa satria ny ankamaroan'ny fotoana dia lany amin'ny fanaovana fanatsarana kaody fa tsy ny fampifandraisana.
  • Fanampiana fanampiny ho an'ny maritrano RISC-V (RV64) amin'ny sehatra mpampiantrano sy kendrena.
  • Nampiana ny safidy "--emit-relocs" ahafahana mandika ny fizarana fifindra-monina avy amin'ny rakitra fampidirana mankany amin'ny rakitra mamoaka ho an'ny fampiharana ny fanatsarana manaraka eo amin'ny dingana aorian'ny fampifandraisana.
  • Nampiana ny safidy "--shuffle-sections" mba handaminana ny filaharan'ny fizarana alohan'ny hanitsiana ny adiresiny ao amin'ny habaka adiresy virtoaly.
  • Safidy fanampiny "--print-dependencies" sy "--print-dependencies = feno" mba hamoahana amin'ny endrika CSV fampahafantarana momba ny fiankinan-doha eo amin'ny rakitra fampidirana, izay, ohatra, dia azo ampiasaina handinihana ny anton'ny fifandraisana rehefa mampifandray ny rakitra zavatra sasany. na rehefa manatanteraka asa fiankinan-doha eo amin'ny rakitra.
  • Nampiana safidy "--warn-once" sy "--warn-textrel".
  • Nesorina ny fiankinan-doha amin'ny libxxhash.

Source: opennet.ru

Add a comment