Mold 1.1 لنڪر جو رليز، LLVM lld پاران تيار ڪيل

مولڊ لنڪر جو هڪ رليز شايع ڪيو ويو آهي، جيڪو لينڪس سسٽم تي GNU لنڪر لاء تيز، شفاف متبادل طور استعمال ڪري سگهجي ٿو. پروجيڪٽ ايل ايل وي ايم ايل ايل ڊي لنڪر جي ليکڪ طرفان تيار ڪئي وئي آهي. Mold جي هڪ اهم خصوصيت آبجیکٹ فائلن کي ڳنڍڻ جي تمام تيز رفتار آهي، خاص طور تي 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“ اختيار شامل ڪيو ويو.
  • شامل ڪيل آپشنز “--print-dependencies” and “--print-dependencies=full” CSV فارميٽ ۾ ان پٽ فائلن جي وچ ۾ انحصار بابت معلومات کي آئوٽ ڪرڻ لاءِ، جيڪي مثال طور، ڪنيڪشن جي سببن جو تجزيو ڪرڻ لاءِ استعمال ڪري سگھجن ٿيون جڏهن ڪنيڪشن جي سببن کي ڳنڍڻ وقت ڪجهه اعتراض فائلن کي ڳنڍيو وڃي ٿو. يا جڏهن فائلن جي وچ ۾ minification ڪم جي انحصار کي کڻڻ.
  • شامل ڪيو ويو "--warn-one" ۽ "--warn-textrel" اختيارن.
  • libxxhash تي انحصار ختم ڪيو.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو