LLVM lld-ийн боловсруулсан хөгц 1.1 холбогчийг гаргах

Линукс систем дээрх GNU холбогчийг илүү хурдан, ил тод орлуулж болох Mold linker-ийн хувилбар хэвлэгдсэн байна. Төслийг LLVM lld холбогчийн зохиогч боловсруулсан. Mold-ийн гол онцлог нь GNU gold болон LLVM lld холбогчдоос илт давуу объект файлуудыг холбох маш өндөр хурд юм (Мөөгөнцөр дээр холбох нь cp хэрэглүүрийг ашиглан файл хуулахаас хоёр дахин хурдан хийгддэг). Код нь C++ (C++20) хэл дээр бичигдсэн бөгөөд AGPLv3 лицензийн дагуу түгээгддэг.

Шинэ хувилбарт:

  • Холбох үе шатанд (LTO, Link Time Optimization) оновчлолын дэмжлэгийг нэмсэн. LTO оновчлол нь бүтээх процесст оролцож буй бүх файлын төлөвийг харгалзан өөр өөр байдаг бол уламжлалт оновчлолын горимууд нь файл бүрийг тусад нь оновчтой болгодог бөгөөд бусад файлд тодорхойлсон функцуудыг дуудах нөхцлийг харгалздаггүй. Өмнө нь GCC эсвэл LLVM завсрын код (IR) файлууд олдох үед харгалзах ld.bfd эсвэл ld.lld холбогчдыг дууддаг байсан бол одоо Mold нь IR файлуудыг бие даан боловсруулж, GNU ld болон GNU-д ашигладаг Linker Plugin API-г ашигладаг. алт холбогч. Идэвхжүүлсэн үед LTO нь бусад холбогчтой харьцуулахад арай хурдан байдаг, учир нь ихэнх цагийг холбохоос илүү кодын оновчтой болгоход зарцуулдаг.
  • Хост болон зорилтот платформ дээр RISC-V (RV64) архитектурын дэмжлэгийг нэмсэн.
  • "--emit-relocs" сонголтыг нэмсэн бөгөөд нүүлгэн шилжүүлэх хэсгүүдийг оролтын файлуудаас гаралтын файлууд руу хуулж, дараа дараагийн оновчлолыг холбох үе шатанд ашиглах боломжтой.
  • Виртуал хаягийн орон зайд хаягийг засахаас өмнө хэсгүүдийн дарааллыг санамсаргүй байдлаар өөрчлөхийн тулд "--shuffle-sections" сонголтыг нэмсэн.
  • Оролтын файлуудын хоорондын хамаарлын талаарх мэдээллийг CSV форматаар гаргахын тулд "--print-dependencies" болон "--print-dependencies=full" гэсэн сонголтыг нэмсэн бөгөөд жишээлбэл, зарим объектын файлуудыг холбох үед холболтын шалтгааныг шинжлэхэд ашиглаж болно. эсвэл файлуудын хоорондох ажлын хамаарлыг багасгах үед.
  • "--warn-one" болон "--warn-textrel" сонголтуудыг нэмсэн.
  • libxxhash-ийн хамаарлыг арилгасан.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх