LLVM lld විසින් වැඩි දියුණු කරන ලද අච්චු 1.1 සම්බන්ධකය මුදා හැරීම

ලිනක්ස් පද්ධති මත GNU සම්බන්ධකය සඳහා වේගවත්, විනිවිද පෙනෙන ආදේශකයක් ලෙස භාවිතා කළ හැකි අච්චු සම්බන්ධකයේ නිකුතුවක් ප්‍රකාශයට පත් කර ඇත. මෙම ව්‍යාපෘතිය LLVM lld linker හි කතුවරයා විසින් සංවර්ධනය කර ඇත. අච්චුවේ ප්‍රධාන ලක්ෂණය වන්නේ වස්තු ගොනු සම්බන්ධ කිරීමේ ඉතා ඉහළ වේගයකි, 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-relocks” විකල්පය එක් කරන ලදී.
  • අතථ්‍ය ලිපින අවකාශයේ ඒවායේ ලිපින සවි කිරීමට පෙර කොටස් අනුපිළිවෙල සසම්භාවී කිරීමට “--shuffle-sections” විකල්පය එක් කරන ලදී.
  • ආදාන ගොනු අතර පරායත්තතා පිළිබඳ තොරතුරු CSV ආකෘතියෙන් ප්‍රතිදානය කිරීමට “--මුද්‍රණය-පරාධීනතා” සහ “--මුද්‍රණය-පදාපන්න=සම්පූර්ණ” විකල්ප එකතු කරන ලදී, උදාහරණයක් ලෙස, ඇතැම් වස්තු ගොනු සම්බන්ධ කිරීමේදී සම්බන්ධ වීමට හේතු විශ්ලේෂණය කිරීමට භාවිතා කළ හැක. හෝ ගොනු අතර minification වැඩ පරායත්තයන් සිදු කරන විට.
  • "--අවවාදයයි-වරක්" සහ "--අවවාදයයි-textrel" විකල්ප එකතු කරන ලදී.
  • libxxhash මත යැපීම ඉවත් කරන ලදී.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න