gccrs akan diintegrasikan ke dalam GCC 13

gccrs

gccrs adalah implementasi alternatif lengkap dari bahasa Rust melalui GCC

Baru-baru ini terungkap bahwa proyek gccrs, yang tujuannya adalah menyediakan antarmuka untuk bahasa Rust ke GCC (GNU Compiler Collection), sedang dalam proses untuk diintegrasikan ke dalam GCC 13.  Pada konferensi pengembang FOSDEM awal bulan ini, insinyur Arthur Cohen memberikan presentasi tentang gccrs yang menguraikan keadaan pekerjaan saat ini.

Bagi mereka yang tidak mengetahui proyek gccrs, mereka harus tahu ini implementasi alternatif lengkap dari bahasa Rust di atas GCC dengan tujuan untuk sepenuhnya menjadi GNU toolchain.

Asal usul proyek ini adalah upaya komunitas beberapa tahun lalu, ketika Rust masih dalam versi 0.9; bahasa yang dibuat oleh Mozilla tunduk pada begitu banyak perubahan sehingga upaya komunitas menjadi sulit untuk mengejar ketinggalan.

Sekarang setelah bahasanya stabil, saatnya membuat kompiler alternatif:

“Dimulai pada 2014 (dan diluncurkan kembali pada 2019), upaya tersebut telah berlangsung sejak 2020 dan kami telah melakukan banyak upaya dan banyak kemajuan. Kami telah mengunggah gccrs versi pertama di dalam GCC. Jadi lain kali Anda menginstal GCC 13, itu akan memiliki gccrs di dalamnya.

Anda dapat menggunakannya dan Anda dapat mulai meretasnya, Anda dapat melaporkan masalah ketika pasti macet dan mati secara mengerikan. Satu hal besar yang kami lakukan adalah membuat rangkaian uji rustc berfungsi, ”kata Arthur Cohen selama presentasinya di konferensi FOSDEM awal bulan ini.

Kemampuan untuk berhasil menjalankan rangkaian pengujian kompiler rustc juga tetap menjadi tujuan. Menurut Cohen, Antarmuka GCC Rust juga menunjuk ke Rust libcore 1.49 yang lebih lama.

FAQ proyek gccrs mencatat bahwa semua teknologi build LLVM, yang digunakan oleh Rust, "tidak memiliki beberapa backend yang kompatibel dengan GCC, jadi implementasi gccrs dapat mengisi celah untuk digunakan dalam pengembangan tersemat".

Perhatikan, bagaimanapun, bahwa kompiler Rust-GCC (gccrs) masih dalam tahap yang sangat awal dan belum dapat digunakan untuk mengkompilasi program Rust yang sebenarnya.

Tim GCC memilih Juli lalu untuk menyetujui integrasi gccrs sebagai build suite. Pentingnya proyek ini terletak pada pentingnya kernel Linux. Faktanya, kernel Linux biasanya dibangun dengan GCC, tetapi rencana untuk mengizinkan bahasa Rust digunakan bersama C untuk kode kernel, untuk alasan keamanan memori, terus berkembang.

Proyek "Rust for Linux" secara resmi digabungkan ke dalam pohon utama Linux 6.1 Git Oktober lalu, menjadikan Rust sebagai bahasa kedua yang didedikasikan untuk pengembangan Linux, setelah 31 tahun pengembangan berbasis C secara eksklusif.

“Kami ingin gccrs menjadi kompiler Rust sejati dan bukan proyek mainan atau sesuatu yang mengkompilasi bahasa yang terlihat seperti Rust tetapi bukan Rust; kami benar-benar berusaha membuat test suite ini berfungsi, ”tambahnya. Selama presentasi, Cohen juga mengatakan bahwa meskipun antarmuka Rust GCC 13 dimulai dengan baik, masih banyak pekerjaan yang harus dilakukan. Kode verifikasi yang dipinjam secara mencolok tidak ada saat ini, dukungan untuk modul bawaan dan intrinsik masih berlangsung, dan tonggak penting kompilasi kode Rust untuk Linux belum tercapai.

Sebagai pengingat, proyek "Rust for Linux" bertujuan untuk memperkenalkan bahasa pemrograman sistem baru ke dalam kernel Linux. Menurut para ahli, bahasa Rust memiliki properti kunci yang membuatnya sangat menarik untuk dipertimbangkan sebagai bahasa kedua dari kernel Linux: memastikan bahwa tidak ada perilaku yang tidak terdefinisi (selama kode tidak aman itu waras).

Ini termasuk tidak adanya error seperti after-free use, double frees, data races, dll. Perdebatan terkait berkisar pada kemungkinan membuang C demi bahasa Rust. Tapi Linus Torvalds, pencipta Linux, mengatakan itu bukan tujuan proyek Rust untuk Linux.

Akhirnya, Perlu disebutkan bahwa meskipun antarmuka gccrs digabungkan untuk versi berikutnya dari GCC 13, itu belum dalam keadaan di mana sebagian besar pengembang Rust benar-benar dapat menggunakannya sebagai alternatif kompiler LLVM resmi Rust.

Seharusnya tidak sampai tahun depan, setidaknya dengan GCC 14 setidaknya.

sumber: https://fosdem.org/


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.