การเปิดตัว GNU Binutils 2.37

มีการนำเสนอชุดยูทิลิตี้ระบบ GNU Binutils 2.37 ซึ่งรวมถึงโปรแกรมเช่น GNU linker, แอสเซมเบลอร์ GNU, nm, objdump, strings, strip

ในเวอร์ชันใหม่:

  • ข้อกำหนดสำหรับสภาพแวดล้อมแอสเซมบลีเพิ่มขึ้น ในการสร้าง Binutils จำเป็นต้องมีไลบรารีและคอมไพเลอร์ที่รองรับมาตรฐาน C99
  • การสนับสนุนรูปแบบ arm-symbianelf ถูกยกเลิกแล้ว
  • เพิ่มการรองรับ RME (Realm Management Extension) ซึ่งเป็นส่วนขยายสำหรับสถาปัตยกรรม ARMv9-A ซึ่งช่วยให้คุณสามารถจัดระเบียบการถ่ายโอนทรัพยากรและหน่วยความจำแบบไดนามิกไปยังพื้นที่ที่อยู่ที่ได้รับการป้องกันแยกต่างหาก ซึ่งแอปพลิเคชันสิทธิพิเศษและเฟิร์มแวร์ TrustZone ไม่สามารถเข้าถึงได้ คุณลักษณะที่นำเสนอนี้เป็นส่วนหนึ่งของโครงสร้างพื้นฐานสำหรับการสร้างสภาพแวดล้อมแบบแยก Arm CCA (Confidential Compute Architecture) RME ช่วยให้โปรแกรมทั่วไปจัดเก็บข้อมูลที่เป็นความลับในสภาพแวดล้อมดังกล่าว เพื่อปกป้องจากการเข้าถึงโดยไม่ได้รับอนุญาตในกรณีที่ระบบปฏิบัติการและไฮเปอร์ไวเซอร์เสียหาย
  • มีการใช้ตัวเลือกใหม่ในลิงเกอร์:
    • '-Bno-สัญลักษณ์' - ยกเลิกโหมด '-Bสัญลักษณ์' และ '-Bสัญลักษณ์-ฟังก์ชัน'
    • '-z report-relative-reloc' - แสดงข้อมูลเกี่ยวกับการเชื่อมโยงที่อยู่แบบไดนามิก (การย้ายตำแหน่ง)
    • '-z start-stop-gc' - ปิดใช้งานการประมวลผลการอ้างอิง __start_*/__stop_* ในขณะที่ตัวรวบรวมขยะล้างส่วนที่ไม่ได้ใช้
  • เพิ่มตัวเลือก “--sym-base=0|8|10|16” ลงในยูทิลิตี้ readelf เพื่อเลือกแบบฟอร์มสำหรับการแสดงสัญลักษณ์ตัวเลข
  • มีการเพิ่มตัวเลือกลงในยูทิลิตี้ nm แล้ว: '—format=just-สัญลักษณ์' ('-j') เพื่อแสดงเฉพาะชื่อสัญลักษณ์และ '—เงียบ' เพื่อปิดใช้งานข้อความวินิจฉัย "ไม่มีสัญลักษณ์"
  • เพิ่มตัวเลือก '—keep-section-สัญลักษณ์' ลงในยูทิลิตี้ objcopy และ strip เพื่อปิดการลบส่วนที่ไม่ได้ใช้เมื่อประมวลผลไฟล์
  • เพิ่มตัวเลือก '--weaken', '--weaken-สัญลักษณ์' และ '--weaken-สัญลักษณ์' เพื่อ objcopy เพื่อจำแนกสัญลักษณ์ที่ไม่ได้กำหนดไว้เป็นสัญลักษณ์ที่อ่อนแอ
  • ขณะนี้ Readelf และ objdump มีความสามารถในการแสดงเนื้อหาของส่วน “.debug_sup” และตามค่าเริ่มต้น อนุญาตให้มีลิงก์ไปยังแต่ละไฟล์ที่มีข้อมูลการแก้ไขข้อบกพร่อง

ที่มา: opennet.ru

เพิ่มความคิดเห็น