انتشار مجموعه ابزارهای سیستمی GNU Binutils 2.37 ارائه شده است که شامل برنامه هایی مانند GNU linker، GNU assembler، nm، objdump، strings، strip است.
در نسخه های جدید:
- الزامات محیط اسمبلی افزایش یافته است؛ برای ساخت Binutils، کتابخانه ها و کامپایلری که از استاندارد C99 پشتیبانی می کند، اکنون مورد نیاز است.
- پشتیبانی از فرمت arm-symbianelf متوقف شده است.
- پشتیبانی اضافه شده برای RME (افزونه مدیریت قلمرو)، افزونه ای برای معماری ARMv9-A، که به شما امکان می دهد انتقال پویا منابع و حافظه را به یک فضای آدرس محافظت شده جداگانه سازماندهی کنید، که برنامه های کاربردی ممتاز و سیستم عامل TrustZone به آن دسترسی ندارند. ویژگی پیشنهادی بخشی از زیرساخت برای ایجاد محیط های ایزوله Arm CCA (معماری محاسباتی محرمانه) است. RME برنامههای رایج را قادر میسازد تا دادههای محرمانه خود را در چنین محیطهایی ذخیره کنند تا در صورت به خطر افتادن سیستمعامل و هایپروایزر از آنها در برابر دسترسی غیرمجاز محافظت کنند.
- گزینه های جدیدی در لینکر پیاده سازی شده است:
- '-Bno-symbolic' - حالت های '-Bsymbolic' و '-Bsymbolic-functions' را لغو می کند.
- '-z report-relative-reloc' - اطلاعات مربوط به پیوند پویا آدرس ها را نمایش می دهد (تغییر مکان).
- '-z start-stop-gc' - پردازش ارجاعات __start_*/__stop_* را غیرفعال میکند در حالی که زبالهگیر بخشهای استفاده نشده را تمیز میکند.
- گزینه "--sym-base=0|8|10|16" به ابزار readelf اضافه شده است تا فرم نمایش نمادهای عددی را انتخاب کنید.
- گزینههایی به ابزار nm اضافه شدهاند: '—format=just-symbols' ('-j') برای نمایش فقط نام نمادها و '—quiet' برای غیرفعال کردن پیامهای تشخیصی «بدون نماد».
- گزینه '-keep-section-symbols' به ابزارهای objcopy و strip اضافه شده است تا حذف بخش های استفاده نشده هنگام پردازش فایل ها غیرفعال شود.
- گزینه های '--weaken'، '--weaken-symbol' و '--weaken-symbols' برای objcopy اضافه شده تا نمادهای تعریف نشده را به عنوان نمادهای ضعیف طبقه بندی کنند.
- Readelf و objdump اکنون این توانایی را دارند که محتویات بخشهای ".debug_sup" را نمایش دهند و بهطور پیشفرض، پیوندهایی به فایلهای جداگانه با اطلاعات اشکال زدایی را مجاز میکنند.
منبع: opennet.ru