summer-of-code
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnu-soc] GNU GSOC 2023 application


From: Samuel Thibault
Subject: Re: [gnu-soc] GNU GSOC 2023 application
Date: Wed, 8 Feb 2023 00:39:54 +0100
User-agent: NeoMutt/20170609 (1.8.3)

Hello Jose,

- GNU Hurd
- The GNU Hurd is the GNU project's replacement for the Unix kernel. It
  is a collection of servers that run on the Mach microkernel to
  implement file systems, network protocols, file access control, and
  other features that are implemented by the Unix kernel or similar
  kernels (such as Linux).
- https://www.gnu.org/software/hurd/
- Porting Rust to GNU/Hurd

- The goal of this project is to make the Rust language
(https://www.rust-lang.org/) available on GNU/Hurd.

The Rust language is being used more and more widely, and notably in
rather fundamental libraries such as librsvg or python-cryptography. It
is thus more and more pressing for GNU/Hurd to have a compiler for Rust.

The Rust compiler itself is quite portable, but its runtime library,
libstd, needs to be ported to the GNU/Hurd system. This essentially
consists in telling Rust how the standard C library functions can be
called.

And example of the main part of such port can be seen for the VxWorks
port:
https://github.com/rust-lang/libc/blob/master/src/vxworks/mod.rs

The bulk of such a file can be mostly generated from the libc C
headers thanks to the bindgen tool, it then needs to be cleaned up and
integrated into the Rust build infrastructure, some preliminary work had
already been investigated in that part.

A cross-bootstrap from Linux will then need to be achieved to build
rustc and cargo, and then it will be self-hosted on GNU/Hurd.

- A good level of C programming will be welcome to understand the
questions of ABI and the libc C functions being bound.

Knowing the Rust language is not required: it can be learnt along the
way, this can be a good occasion.

- bug-hurd@gnu.org
- https://darnassus.sceen.net/~hurd-web/community/gsoc/project_ideas/rust/
https://www.rust-lang.org/
https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html

Samuel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]