mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: musl@lists.openwall.com
Cc: lowrisc-dev@lists.lowrisc.org
Subject: musl risc-v port & gsoc - resources & ideas
Date: Thu, 3 Mar 2016 22:58:12 -0500	[thread overview]
Message-ID: <20160304035811.GA10218@brightrain.aerifal.cx> (raw)

lowrisc.org has been accepted into Google Summer of Code 2016, and has
porting musl to risc-v as one of the suggested projects:

http://www.lowrisc.org/docs/gsoc-2016-ideas/

I'm very hopeful that we'll make the port happen this year. In this
email I'd like to go over some resources that may be helpful to
students interested in applying, and some ideas for other tasks that
could be included in proposals.

The musl wiki contains a porting page with some useful but
not-entirely-up-to-date information on porting musl to a new arch.
This is a good starting point, and updating it could actually be part
of the gsoc project. See http://wiki.musl-libc.org/wiki/Porting

Some information on recent changes can be found in the mailing list
archives. These threads pertain to changes to how ports are expected
to provide atomic primitives:

http://www.openwall.com/lists/musl/2015/05/17/2
http://www.openwall.com/lists/musl/2015/05/20/1
http://www.openwall.com/lists/musl/2016/01/10/6

which was committed here:

http://git.musl-libc.org/cgit/musl/commit/?id=1315596b510189b5159e742110b504177bdd4932

and other subsequent commits with per-arch improvements.

And these cover the bits deduplication:

http://www.openwall.com/lists/musl/2016/01/25/1
http://www.openwall.com/lists/musl/2016/01/27/9

which was committed here:

http://git.musl-libc.org/cgit/musl/commit/?id=4dfac11538cb20c848c30d754863800061ee8c81

Threads on the recent mips64 port work, which is almost ready for
merging, may also be helpful to read. It's broken up across several
threads but you can find most of the content in the January-March 2016
archives.

Since a port of musl to a new arch does not actually involve much
code, mainly attention to detail to make sure that all of the type
definitions/ABI/etc. are correct, I think that for a proposal to be
big enough to make a reasonable GSoC project, it should go beyond just
the basic porting. Some ideas for things to include would be:

- Improvement of porting documentation

- Feedback/patches on where there's too much redundancy between ports
  and how to reduce it (i.e. making improvements to musl that reduce
  the amount of code/headers needed for a new port).

- Patches for musl-cross and/or musl-cross-make (build systems for
  generating a cross-compiler toolchain) to make it easy to build a
  musl/riscv cross compiler.

- Optimizing performance-critical code like memcpy or floating point
  math functions for riscv.

- Improving test coverage, especially for things that are easy to get
  wrong in a new port.

I'll follow up with more ideas if I think of any.

Students interested in the project are welcome (and encouraged!) to
ask questions and discuss here on the musl list. Obviously everyone
should have in mind writing their own proposals but I want everyone to
have access to knowledge/resources/community for ideas.

Rich


             reply	other threads:[~2016-03-04  3:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-04  3:58 Rich Felker [this message]
2016-03-06  3:25 ` Rich Felker
2016-03-06 18:31 ` Hesham Almatary
2016-03-06 18:45   ` Re: [lowrisc-dev] " Rich Felker
2016-03-06 22:33 ` Rich Felker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160304035811.GA10218@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=lowrisc-dev@lists.lowrisc.org \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).