மோல்ட் 1.1 லிங்கரின் வெளியீடு, LLVM lld ஆல் உருவாக்கப்பட்டது

மோல்ட் லிங்கரின் வெளியீடு வெளியிடப்பட்டது, இது லினக்ஸ் கணினிகளில் குனு இணைப்பிக்கு விரைவான, வெளிப்படையான மாற்றாகப் பயன்படுத்தப்படலாம். திட்டம் LLVM lld இணைப்பாளரின் ஆசிரியரால் உருவாக்கப்பட்டது. மோல்டின் முக்கிய அம்சம், பொருள் கோப்புகளை இணைப்பதில் மிக அதிக வேகம் ஆகும், இது குனு கோல்ட் மற்றும் எல்எல்விஎம் எல்எல்டி லிங்கர்களை விட குறிப்பிடத்தக்க வகையில் முன்னால் உள்ளது (சிபி பயன்பாட்டுடன் கோப்புகளை நகலெடுப்பதை விட பாதி வேகத்தில் மோல்டில் இணைப்பது செய்யப்படுகிறது). குறியீடு C++ (C++20) இல் எழுதப்பட்டு AGPLv3 உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

புதிய பதிப்பில்:

  • இணைக்கும் கட்டத்தில் மேம்படுத்தலுக்கான ஆதரவு சேர்க்கப்பட்டது (LTO, இணைப்பு நேர உகப்பாக்கம்). LTO மேம்படுத்தல்கள் உருவாக்க செயல்பாட்டில் உள்ள அனைத்து கோப்புகளின் நிலையை கணக்கில் எடுத்துக்கொள்வதன் மூலம் வேறுபடுகின்றன, அதே நேரத்தில் பாரம்பரிய தேர்வுமுறை முறைகள் ஒவ்வொரு கோப்பையும் தனித்தனியாக மேம்படுத்துகின்றன மற்றும் பிற கோப்புகளில் வரையறுக்கப்பட்ட அழைப்பு செயல்பாடுகளை கணக்கில் எடுத்துக்கொள்ளாது. முன்பு, GCC அல்லது LLVM இடைநிலை குறியீடு (IR) கோப்புகள் கண்டுபிடிக்கப்பட்டபோது, ​​தொடர்புடைய ld.bfd அல்லது ld.lld இணைப்பிகள் அழைக்கப்பட்டன, இப்போது Mold ஐஆர் கோப்புகளை சுயாதீனமாக செயலாக்குகிறது மற்றும் GNU ld மற்றும் GNU இல் பயன்படுத்தப்படும் Linker Plugin API ஐப் பயன்படுத்துகிறது. தங்க இணைப்பாளர்கள். இயக்கப்பட்டால், LTO மற்ற இணைப்பிகளை விட ஓரளவு வேகமானது, ஏனெனில் பெரும்பாலான நேரம் இணைப்பதை விட குறியீடு மேம்படுத்தல்களைச் செய்வதிலேயே செலவிடப்படுகிறது.
  • ஹோஸ்ட் மற்றும் இலக்கு தளங்களில் RISC-V (RV64) கட்டமைப்பிற்கான ஆதரவு சேர்க்கப்பட்டது.
  • இணைப்புக்குப் பிந்தைய கட்டத்தில் மேம்படுத்தல்களைப் பயன்படுத்துவதற்கு, உள்ளீட்டு கோப்புகளிலிருந்து வெளியீட்டு கோப்புகளுக்கு இடமாற்றம் பிரிவுகளை நகலெடுப்பதை இயக்குவதற்கு “--emit-relocks” விருப்பம் சேர்க்கப்பட்டது.
  • மெய்நிகர் முகவரி இடத்தில் அவற்றின் முகவரிகளை சரிசெய்வதற்கு முன் பிரிவுகளின் வரிசையை சீரற்றதாக மாற்ற “--shuffle-sections” விருப்பம் சேர்க்கப்பட்டது.
  • உள்ளீட்டு கோப்புகளுக்கு இடையே உள்ள சார்புநிலைகள் பற்றிய தகவல்களை CSV வடிவில் வெளியிடுவதற்கு “--print-dependencies” மற்றும் “--print-dependencies=full” ஆகிய விருப்பங்கள் சேர்க்கப்பட்டன, எடுத்துக்காட்டாக, சில ஆப்ஜெக்ட் கோப்புகளை இணைக்கும்போது இணைப்புக்கான காரணங்களை பகுப்பாய்வு செய்ய பயன்படுத்தலாம். அல்லது கோப்புகளுக்கு இடையே சிறுமைப்படுத்தும் பணி சார்புகளை மேற்கொள்ளும் போது.
  • "--எச்சரிக்கை-ஒருமுறை" மற்றும் "--எச்சரிக்கை-textrel" விருப்பங்கள் சேர்க்கப்பட்டது.
  • libxxhash மீதான சார்பு நீக்கப்பட்டது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்