Digabung minggu ini ke GNU Binutils adalah dukungan awal untuk membaca dan menulis ke bagian binari "SFrame" yang baru.
SFrame adalah kependekan dari Simple Frame Format dan untuk menjaga jumlah minimal informasi yang diperlukan untuk pelepasan tumpukan. Harapan dengan SFrame adalah memungkinkan pelacakan kembali online yang cepat menggunakan pelepas sederhana.
Pekerjaan SFrame untuk GNU Binutils ini dipimpin oleh Indu Bhagat dari Oracle. Assembler GNU "Gas" telah menambahkan opsi baru "--gsframe" untuk menghasilkan bagian .sframe.
gas menafsirkan arahan CFI untuk menghasilkan info .eh_frame berbasis DWARF. Struktur DWARF internal ini sekarang digunakan oleh sub-sistem gen-sframe.[ch] untuk, pada gilirannya, membuat informasi pelepasan SFrame. Struktur DWARF internal ini bersifat hanya-baca untuk tujuan pembuatan info pelepasan SFrame.
Pembuatan info pelepasan SFrame tidak memengaruhi pembuatan info pelepasan .eh_frame. Baik .eh_frame dan .sframe dapat berdampingan dalam file ELF, jika diinginkan oleh pengguna.
Ingatlah bahwa informasi pelepasan SFrame hanya berisi informasi minimal yang diperlukan untuk menghasilkan jejak balik dan tidak memberikan informasi untuk memulihkan semua register yang disimpan oleh penerima. Alasannya karena register yang disimpan oleh callee selain FP tidak diperlukan untuk stack unwinding, dan karenanya tidak termasuk dalam bagian .sframe. GNU Binutils juga menggabungkan libsframe sebagai perpustakaan untuk mendekode bagian .sframe, memeriksa bagian .sframe, dan penanganan terkait Readelf dan objdump Binutil juga telah diperbarui dengan dukungan untuk membaca bagian SFrame baru saat ada dan menggunakan opsi "--sframe" yang baru.
Pekerjaan SFrame ini saat ini difokuskan pada target x86_64 dan AArch64. Sementara pekerjaan awal GNU Binutils ini telah digabungkan, SFrame unwinder belum di-upstream.
Lihat komitmen SFrame baru untuk perincian lebih lanjut tentang pekerjaan ini untuk pelepasan tumpukan sederhana dan khususnya adalah file spesifikasi SFrame baru untuk mereka yang tertarik dengan formatnya.
Itulah berita seputar GNU Binutils Mendapat Dukungan Format "SFrame" Baru Untuk Stack Unwinding Sederhana, semoga bermanfaat. Disadur dari Phoronix.com.