LLVM lld کے ذریعہ تیار کردہ Mold 1.1 لنکر کی ریلیز

مولڈ لنکر کی ایک ریلیز شائع کی گئی ہے، جسے لینکس سسٹمز پر GNU لنکر کے تیز، شفاف متبادل کے طور پر استعمال کیا جا سکتا ہے۔ پروجیکٹ ایل ایل وی ایم ایل ایل ڈی لنکر کے مصنف نے تیار کیا ہے۔ مولڈ کی ایک اہم خصوصیت آبجیکٹ فائلوں کو جوڑنے کی بہت تیز رفتار ہے، جو کہ GNU گولڈ اور LLVM lld لنکرز سے نمایاں طور پر آگے ہے (مولڈ میں لنکنگ صرف نصف رفتار سے ہوتی ہے جتنی کہ صرف فائلوں کو سی پی یوٹیلیٹی کے ساتھ کاپی کرنا)۔ کوڈ C++ (C++20) میں لکھا گیا ہے اور AGPLv3 لائسنس کے تحت تقسیم کیا گیا ہے۔

نئے ورژن میں:

  • لنک کرنے کے مرحلے پر اصلاح کے لیے مدد شامل کی گئی (LTO، لنک ٹائم آپٹیمائزیشن)۔ تعمیر کے عمل میں شامل تمام فائلوں کی حالت کو مدنظر رکھتے ہوئے LTO آپٹیمائزیشن مختلف ہوتی ہے، جبکہ روایتی آپٹیمائزیشن موڈز ہر فائل کو الگ سے آپٹمائز کرتے ہیں اور دوسری فائلوں میں بیان کردہ کالنگ فنکشنز کی شرائط کو مدنظر نہیں رکھتے۔ جبکہ پہلے، جب GCC یا LLVM انٹرمیڈیٹ کوڈ (IR) فائلیں ملتی تھیں، متعلقہ ld.bfd یا ld.lld لنکرز کو بلایا جاتا تھا، اب Mold IR فائلوں کو آزادانہ طور پر پروسیس کرتا ہے اور Linker Plugin API کا استعمال کرتا ہے، GNU ld اور GNU میں بھی استعمال ہوتا ہے۔ سونے کے لنکرز. فعال ہونے پر، LTO دوسرے لنکرز کے مقابلے میں صرف معمولی طور پر تیز ہوتا ہے کیونکہ زیادہ تر وقت لنک کرنے کے بجائے کوڈ کو بہتر بنانے میں صرف ہوتا ہے۔
  • میزبان اور ٹارگٹ پلیٹ فارمز پر RISC-V (RV64) فن تعمیر کے لیے شامل کردہ تعاون۔
  • لنک کرنے کے بعد کے مرحلے میں اصلاح کے بعد کے اطلاق کے لیے ان پٹ فائلوں سے آؤٹ پٹ فائلوں میں نقل مکانی کے حصوں کی نقل کو فعال کرنے کے لیے "--emit-relocs" اختیار شامل کیا گیا۔
  • ورچوئل ایڈریس اسپیس میں ان کے پتوں کو ٹھیک کرنے سے پہلے حصوں کی ترتیب کو بے ترتیب کرنے کے لیے "-shuffle-sections" کا اختیار شامل کیا گیا۔
  • ان پٹ فائلوں کے درمیان انحصار کے بارے میں CSV فارمیٹ کی معلومات میں آؤٹ پٹ کرنے کے لیے "--print-dependencies" اور "-print-dependencies=full" کے اختیارات شامل کیے گئے، جو مثال کے طور پر، بعض آبجیکٹ فائلوں کو لنک کرتے وقت کنکشن کی وجوہات کا تجزیہ کرنے کے لیے استعمال کیے جا سکتے ہیں۔ یا فائلوں کے درمیان minification کام کے انحصار کو انجام دیتے وقت۔
  • "--warn-one" اور "-warn-textrel" کے اختیارات شامل کیے گئے۔
  • libxxhash پر انحصار کو ہٹا دیا گیا۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں