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
next prev parent 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).