โครงการ SoLo พัฒนาระบบโหลดไลบรารี SO สำหรับระบบคงที่โดยสมบูรณ์ Linux-โปรแกรม

โปรเจ็กต์ SoLo ได้รับการเผยแพร่แล้ว ทำให้สามารถใช้งานแบบคงที่ได้อย่างสมบูรณ์ Linuxโปรแกรมที่สร้างด้วย musl ต้องโหลดไลบรารี glibc ที่ติดตั้งอยู่ในระบบผ่าน dlopen() โดยส่วนใหญ่จะเป็นไดรเวอร์ GPU การเชื่อมโยงแบบคงที่มักจะไม่เข้ากันกับไดรเวอร์ Vulkan และ OpenGL ซึ่งในชุดการแจกจ่ายจะจัดส่งมาเป็นไลบรารีแบบแชร์ที่สร้างด้วย glibc SoLo เอาชนะข้อจำกัดนี้ได้โดยใช้ตัวโหลด ELF ที่สร้างขึ้นในไฟล์ปฏิบัติการและเลเยอร์ที่แปลงการเรียกใช้ glibc ไปยังรันไทม์ของกระบวนการ musl ตัว glibc เองไม่ได้ถูกโหลดเข้าไปในกระบวนการ และไม่มีการเพิ่ม glibc ตัวที่สองเข้าไปในกระบวนการ โค้ดเขียนด้วยภาษา C++ และเผยแพร่ภายใต้ใบอนุญาต MIT

ที่เก็บโค้ดนี้มีตัวอย่างภาพประกอบ: ไฟล์ปฏิบัติการแบบคงที่ที่ไม่มีตัวแปลภาษาหรือส่วนไดนามิก ใช้เมธอดมาตรฐานของ Vulkan ในการค้นหาไดรเวอร์ที่ติดตั้งในระบบ โหลดไดรเวอร์พร้อมกับส่วนประกอบที่เกี่ยวข้อง เรียกใช้เชเดอร์ประมวลผล และบันทึกผลลัพธ์เป็นไฟล์ PNG ในส่วนของการบูรณาการอย่างต่อเนื่อง ตัวอย่างนี้ได้รับการทดสอบบน Alpine, Fedora และ Ubuntu โดยใช้แพ็กเกจ Lavapipe จากที่เก็บมาตรฐานของระบบปฏิบัติการเหล่านี้ วิธีการนี้ถูกนำไปใช้แล้ว โดยใช้ในการสร้างเวอร์ชันสำหรับเผยแพร่ของโปรแกรมจำลองเทอร์มินัล Shitty

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster