Sementara GNU Hurd terus mengalami kesulitan dalam hal dukungan x86 dan GNU Hurd x86_64 sedang diupayakan, compiler GCC 14 telah mengerjakan dukungan toolchain compiler untuk GNU Hurd AArch64.
Dengan penggabungan kode minggu ini ke GCC Git menjelang rilis stabil GCC 14.1 mendatang, kini ada dukungan untuk “aarch64-gnu” untuk GNU/Hurd di AArch64 untuk sistem ARM 64-bit. Dipasangkan dengan patch Binutils, hal ini memungkinkan rantai alat berhasil membangun biner yang berfungsi yang menargetkan platform aarch64-gnu.
Catatan tempel:
“Ditambah dengan patch binutils yang sesuai, ini menghasilkan rantai alat yang berhasil membangun binari yang berfungsi menargetkan aarch64-gnu.” Namun mengingat sulitnya dukungan perangkat keras GNU Hurd, pekerjaan AArch64 ini mungkin hanya bermanfaat dalam jangka pendek untuk 64 -bit VM ARM jika ada. Saat ini tidak ada GNU Hurd AArch64 yang berfungsi untuk pengguna. Dalam pembaruan Hurd 2024-Q1 disebutkan:
“Terakhir kali, tidak ada port AArch64 di GNU Mach, jadi satu-satunya pengujian yang saya lakukan adalah menjalankan executable sederhana yang tertaut secara statis di Linux pada GDB, yang, bagaimanapun, membantu saya mengidentifikasi dan memperbaiki sejumlah masalah.
Namun, sejak saat itu, saya (mungkin ada yang mengatakan, tanpa henti) berupaya mengisi bagian yang hilang, yaitu porting GNU Mach (dengan bantuan & kontribusi penting dari Luca D.). Dengan senang hati saya laporkan bahwa kami sekarang memiliki port eksperimental GNU Mach yang dibuat dan berfungsi pada AArch64! Meskipun kedengarannya mengesankan, perhatikan bahwa berbagai hal di dalamnya berada dalam kondisi pembuktian konsep yang sangat mendasar, bukan siap produksi; dan juga bahwa Mach adalah kernel kecil (memang, mikrokernel), dan dirancang sejak awal (di tahun 80an) agar portabel, sehingga sebagian besar fungsi “logika bisnis” (memori virtual, IPC, tugas/utas /scheduler) secara eksplisit tidak bergantung pada arch.
Meskipun berstatus “WIP proof-of-concept” yang menakutkan, terdapat fungsionalitas yang cukup di Mach untuk menjalankan kode userland, menangani pengecualian dan syscall, berinteraksi dengan MMU untuk mengimplementasikan semua semantik memori virtual yang diharapkan, menjadwalkan/mengalihkan tugas dan thread, dan segera. Selain itu, semua pengujian mandiri ruang pengguna GNU Mach lulus!
Ini berarti ada cukup banyak hal yang tersedia bagi saya untuk mencoba menjalankan glibc di dalamnya, dan hal yang menakjubkan adalah pengujian sederhana saya dapat dieksekusi, sama dengan yang saya uji sebelumnya di Linux dengan GDB, hanya bekerja pada Mach nyata tanpa saya harus membuat tambahan apa pun perubahan pada sisi glibc, atau bahkan mengkompilasi ulangnya.
Namun saya tidak berhenti di situ, dan beberapa server inti Hurd berfungsi! Yaitu, server ext2fs, exec, startup, auth, dan proc. Semuanya kecuali ext2fs terhubung secara dinamis; ld aarch64.so.1 berhasil menemukan dan memetakan program itu sendiri dan dependensi yang diperlukan, serta halaman Mach dalam kode dan halaman data dari ext2fs saat diakses, secara transparan ke program, seperti yang diharapkan. “GNU Hurd masih masih banyak yang harus dilakukan untuk menjadi berguna terutama dalam hal dukungan perangkat keras bare metal.
Itulah berita seputar Kompiler GCC 14 Menambahkan Dukungan AArch64 GNU/Hurd, semoga bermanfaat. Disadur dari Phoronix.com.