mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rob Landley <rob@landley.net>
To: musl@lists.openwall.com, dalias@libc.org
Subject: Re: __xmknod, __sysv_signal
Date: Wed, 07 May 2014 05:18:30 -0500	[thread overview]
Message-ID: <536A0876.5010101@landley.net> (raw)
In-Reply-To: <20140507031740.GC26963@brightrain.aerifal.cx>

On 05/06/14 22:17, Rich Felker wrote:
> On Tue, May 06, 2014 at 11:55:48AM -0500, M Farkas-Dyck wrote:
>> What is musl's general policy on ABI compat? The FAQ says solely that
>> "musl aims for a degree of feature-compatibility", not what degree. Is
>> full binary compatibility with glibc the goal?
> 
> While I don't think it's spelled out anywhere, the hope is to make it
> so any strictly conforming POSIX program build against glibc also
> works with musl dropped in. Programs using extensions that musl also
> provides should work too. Programs using glibc features that musl does
> not provide, or depending on glibc bugs, are not intended to be
> supported.
> 
>> If we mean to include such, we ought to choose where to keep the code first.
> 
> Similar things are scattered here and there; see the junk in
> src/ctype.


Given that:

#ifdef __MUSL__
#include <gnuisms.h>
#endif

is off the table because musl is the platonic ideal C library, anonymous
and infinite, and the idea of having musl-specific idiosynrasies that
aren't necessarily considered the default (let alone building software
for other libraries with 90% market share and wildly different behavior)
will never come up in practice...

There's a gnu extension called #include_next that lets you have a second
set of headers inserted before the first set. It is, of course, a gnu
extension.

The library side seems easy enough to deal with via some sort of -lcrap
added to the build, if you don't want it in libc itself.

Or you could have a "./configure --legacy" to selectively enable this
sort of stuff in libc.so and the headers, and then require people to use
something like autoconf to determine whether or not this instance of
libc was built with that because a #define would be coddling them.

Rob


  reply	other threads:[~2014-05-07 10:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-19  2:18 M Farkas-Dyck
2014-04-19  2:52 ` Rich Felker
2014-04-19  3:11   ` M Farkas-Dyck
2014-05-01  0:32     ` Rich Felker
2014-05-06 16:55       ` M Farkas-Dyck
2014-05-07  3:17         ` Rich Felker
2014-05-07 10:18           ` Rob Landley [this message]
2014-05-07 22:58             ` 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=536A0876.5010101@landley.net \
    --to=rob@landley.net \
    --cc=dalias@libc.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).