Hi! On Wed, 26 Feb 2014 10:23:28 +0100, I wrote: > On Wed, 19 Feb 2014 19:14:45 -0500, "Carlos O'Donell" <car...@redhat.com> > wrote: > > The GNU Project is participating in GSoC 2014 and have asked > > individual GNU projects to nominate their own GSoC projects > > under their umbrella. > > > > We have proposed an initial three projects for the GNU C Library > > and you can see them here: > > http://www.gnu.org/software/soc-projects/ideas-2014.html
José, please apply the following patch to ideas-2014.html: > I have just added »Implement Missing Interfaces for GNU Hurd«, > <https://sourceware.org/glibc/wiki/GSoC#Implement_Missing_Interfaces_for_GNU_Hurd>: > Please review/edit/amend/polish this (please shout if you need to be > added to <https://sourceware.org/glibc/wiki/EditorGroup>), and then I'll > soon ask José to also include it on > <http://www.gnu.org/software/soc-projects/ideas-2014.html> as well as put > it on/link to it from > <http://www.gnu.org/software/hurd/community/gsoc/project_ideas.html>. diff --git ideas-2014.html ideas-2014.html index d9fa315..56a5657 100644 --- ideas-2014.html +++ ideas-2014.html @@ -232,6 +232,28 @@ for all functions. This work can stop at any point and we will have made progress against testing the current implementation. </p> +<h4 id="glibc_hurd_missing_interfaces">Implement Missing Interfaces for GNU Hurd</h4> +<p> +In glibc's Linux kernel port, most simple POSIX interfaces are in fact just forwarded to (implemented by) Linux kernel system calls. +In contrast, in the <a href="http://www.gnu.org/software/hurd/glibc.html">GNU Hurd port</a>, the POSIX (and other) interfaces are actually implemented in glibc on top of the <a href="http://www.gnu.org/software/hurd/hurd/rpc.html">Hurd RPC protocols</a>. +A few examples: +<a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/getuid.c">getuid</a>, +<a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/open.c">open</a>, +<a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/rmdir.c">rmdir</a>, +<a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/setresuid.c">setresuid</a>, +<a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/socketpair.c">socketpair</a>. +</p> + +<p> +When new interfaces are added to glibc (new editions of POSIX and similar standards, support for new editions of C/C++ standards, new GNU-specific extensions), generally <a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/execve.c">ENOSYS stubs</a> are added, which are then used as long as there is no real implementation, and often these real implementations are only done for the Linux kernel port, but not GNU Hurd. +(This is because most of the contributors are primarily interested in using glibc on Linux-based systems.) +Also, there is quite a backlog of <a href="http://darnassus.sceen.net/~hurd-web/open_issues/glibc/#missing">missing implementations</a> for GNU Hurd. +</p> + +<p> +In coordination with the <a href="mailto:bug-hurd@gnu.org">GNU Hurd developers</a>, you'd work on implementing such missing interfaces. +</p> + <h3 id="gdb"><a href="http://www.gnu.org/software/gdb">GDB</a></h3> <p> GDB, the GNU Project debugger, allows you to see what is going on @@ -455,7 +477,7 @@ results. <strong>Mentor</strong>: <a href="mailto:l...@gnu.org">Ludovic Courtès</a> -<h4>Porting Guix to GNU/Hurd</h4> +<h4 id="guix_hurd">Porting Guix to GNU/Hurd</h4> <p> GNU Guix currently supports building packages for GNU/Linux only. The @@ -704,7 +726,10 @@ implemented by the Unix kernel or similar kernels (such as Linux). <p>Please see this <a href="/software/hurd/community/gsoc/project_ideas.html">separate - page for our project ideas</a>, as well as - + page for our project ideas</a>, as well as + on this page <a href="#glibc_hurd_missing_interfaces">glibc: Implement + Missing Interfaces for GNU Hurd</a> and <a href="#guix_hurd">Porting Guix to + GNU/Hurd</a>, and also our <a href="/software/hurd/community/gsoc/student_application_form.html">student application form</a>.</p> Grüße, Thomas
pgp04Q5m99kit.pgp
Description: PGP signature