HeadlinesBriefing HeadlinesBriefing.com

Mold Linker 3.0.0 – Rust में पुनर्लिखित

Hacker News •
×

mold 3.0.0 हाई-स्पीड लिंकर का एक नया प्रमुख रिलीज़ है, जिसे C++ से Rust में पुनर्लिखित किया गया है। यह पहला Rust संस्करण है, जिसमें 2.42.1 अंतिम C++ रिलीज़ है। mold 3.x का लक्ष्य GNU ld के साथ संगतता अंतराल को बंद करना है, विशेष रूप से लिंकर स्क्रिप्ट समर्थन में, और Linux वितरणों में डिफ़ॉल्ट लिंकर के रूप में अपनाए जाने का मार्ग प्रशस्त करना है।

mold 3.0 2.42.1 के लिए एक ड्रॉप-इन प्रतिस्थापन है, जो समान कमांड-लाइन विकल्पों को स्वीकार करता है और समान लक्ष्यों का समर्थन करता है। लिंकिंग प्रदर्शन समान रहता है। Rust में स्थानांतरण mold को दूषित इनपुट फ़ाइलों के साथ सुरक्षित बनाता है; C++ संस्करण सीमा से बाहर मेमोरी पढ़ सकता था, जबकि mold 3.0 सीमाओं की जाँच करता है और इसके बजाय पैनिक करता है।

बिल्ड परिवर्तनों में CMake के बजाय Cargo का उपयोग शामिल है, जिसके लिए Rust 1.95 या बाद के संस्करण की आवश्यकता है। `cargo build --release` और `./install-mold.sh` चलाएँ। mold अब TBB पर निर्भर नहीं है और mimalloc 3.5.3 को स्थिर रूप से लिंक करता है। परीक्षण सूट `cargo test` के साथ चलता है।

बग फिक्स में संस्करण स्क्रिप्ट के साथ क्रैश को ठीक करना, `--gc-sections` अब `--init` और `--fini` से फ़ंक्शन नहीं हटाता है, और कई क्षेत्रों में गैर-नियतात्मक आउटपुट को ठीक करना शामिल है। साझा लाइब्रेरी में प्रतीकों के खिलाफ PC-सापेक्ष स्थानांतरण के लिए त्रुटियाँ अब सही ढंग से संभाली जाती हैं।

स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित