mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@aerifal.cx>
To: musl@lists.openwall.com
Subject: Re: Any plans on MMU-less support?
Date: Sun, 30 Mar 2014 19:17:47 -0400	[thread overview]
Message-ID: <20140330231747.GB26358@brightrain.aerifal.cx> (raw)
In-Reply-To: <20140330150139.GJ27448@port70.net>

On Sun, Mar 30, 2014 at 05:01:39PM +0200, Szabolcs Nagy wrote:
> * Smirnov Vladimir <mapron1@gmail.com> [2014-03-30 15:49:08 +0900]:
> > I wonder if MUSL have such roadmap or there is any hackish way to
> > add that support (may be some unoffitial patches).
> > My problem that i've stucked with old gcc toolchain and uClibc
> > supporting one widely used ARMv4 MMUless chip.
> 
> looking at uClibc the main differences in a no-mmu system:
> 
> fork is not available so related functions have to be changed/disabled
> (vfork, daemon, wordexp, forkpty, pthread_atfork)

vfork does not use fork except as a default implementation when no
arch-specific file exists.

The rest are probably mostly uninteresting to nommu; in any case,
they're not something libc can fix, but things apps must avoid using
to work on nommu.

> brk is not available so malloc needs to change

Thankfully support for the case where brk fails is already on the
agenda due to the kernel bug that affects PIE.

> mmap may need MAP_UNINITIALIZED flag for performance

This is unrelated to libc and gives wrong semantics. If apps want they
can do it, but it's really a bad idea.

> (and MAP_FIXED flag will fail)

Just for MAP_SHARED.

> memory management related things may need to be changed/disabled
> (mprotect?,mlock,msync,..)

Shouldn't affect libc.

> for dynamic linking ldso and libc startup code may need some change
> (some targets (not arm) need fdpic or dsbt elf support)
> (others can use a shared flat binary format)

This is definitely a topic that needs more research. I doubt dynamic
linking could be made to work easily.

> pthread may need smaller default stack and more careful stack usage

This only matters if the machine has a tiny amount of memory; it's
orthogonal to nommu.

> arm startup code needs a change according to
> http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/arm/crt1.S#n179

This is rather hideous.

Rich


  reply	other threads:[~2014-03-30 23:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-30  6:49 Smirnov Vladimir
2014-03-30 15:01 ` Szabolcs Nagy
2014-03-30 23:17   ` Rich Felker [this message]
2014-03-31  9:04     ` Szabolcs Nagy
2014-03-31  6:44   ` Владимир Смирнов

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=20140330231747.GB26358@brightrain.aerifal.cx \
    --to=dalias@aerifal.cx \
    --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).