mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: Jeffrey Walton <noloader@gmail.com>
Cc: musl@lists.openwall.com
Subject: Re: [musl] Re: OS detection wrong on Alpine Linux 3.10
Date: Wed, 23 Sep 2020 12:36:31 -0400	[thread overview]
Message-ID: <20200923163630.GK3265@brightrain.aerifal.cx> (raw)
In-Reply-To: <CAH8yC8moSUU1ge7+t+59hNB_MoCncmXmffFysZje-GKnKBf8Qw@mail.gmail.com>

On Wed, Sep 23, 2020 at 12:16:36PM -0400, Jeffrey Walton wrote:
> On Wed, Sep 23, 2020 at 12:08 PM Rich Felker <dalias@libc.org> wrote:
> >
> > On Wed, Sep 23, 2020 at 09:13:16AM -0400, James Y Knight wrote:
> > > >
> > > > >All I need to know is what version of Musl I am dealing with and I can
> > > > >configure myself.
> > > >
> > > >   Are you willing to maintain an #ifdef forest for all the versions of
> > > > all the libcs and all the kernels your programs may be used with, so
> > > > you can list exhaustively the available features in every configuration?
> > >
> > > At the risk of jumping in on a question asked of someone else: yes,
> > > absolutely! (Not _all_ available features of course, just the ones
> > > required.)
> > >
> > > There are generally not that many nonstandard features you'd want to use in
> > > a typical program, and using an ifdef forest to implement an abstraction
> > > layer around those couple items is just fine.
> >
> > I can't know whether you're "willing", but you're definitely not
> > willing and able. "All the..." includes people's personal projects
> > (from scratch or patches to existing ones) that you will never see,
> > future systems that come into existence long past your involvement in
> > the project or even your lifetime, etc.
> 
> Unless something has changed recently, Botan, Crypto++ and OpenSSL are
> still being carried by most Linux distributions. OpenSSL is also
> regularly distributed as part of other OSes, like AIX, Android, BSDs,
> iOS, OS X and Solaris.
> 
> And unlike some other projects,[1] Botan, Crypto++ and OpenSSL
> actually work in practice on all the platforms without a configuration
> program that performs feature tests.

OpenSSL most certainly does not; it just has a fairly large set of
known systems it works on. Early in musl history there were lots of
problems with it; IIRC it wanted to use some broken ancient pty or
termio APIs rather than the modern ones because __linux__ &&
!__GLIBC__, among other things. If you made up a new POSIX-conforming
system from scratch and didn't teach OpenSSL about it, I'm almost sure
it would have build or runtime problems.

> [1] the Rust compiler comes to mind here. It works on Linux x86_64,
> but it's hit or miss whether it works or not on other architectures
> like ARMv7, Aarch64 and PowerPC, even after an approved configuration
> program is run.

I think now you're confusing host and target. Of course a compiler
needs explicit support for each target arch/ABI, and this is not
something detectable. This doesn't mean it can't run on arbitrary
hosts. (Of course it's already unable to run on arbitrary hosts
because it's written in Rust and thereby has a dependency on something
that can't target arbitrary hosts, but you can hack around that with
an emulator if you really care.)

Rich

  parent reply	other threads:[~2020-09-23 16:36 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4768019.hHWyC0TzgU@omega>
2020-09-20 10:12 ` Dmitry V. Levin
2020-09-20 11:19   ` Bruno Haible
2020-09-20 12:18     ` Ariadne Conill
2020-09-20 13:56     ` Szabolcs Nagy
2020-09-20 17:14       ` Rich Felker
2020-09-20 19:21         ` Bruno Haible
2020-09-20 20:58           ` Hadrien Lacour
2020-09-21  6:53           ` A. Wilcox
2020-09-21 11:46             ` Florian Weimer
2020-09-22 18:46           ` Rich Felker
2020-09-22 20:18             ` Bruno Haible
2020-09-22 20:33               ` Jeffrey Walton
2020-09-22 20:39             ` Jeffrey Walton
2020-09-22 21:04               ` Laurent Bercot
2020-09-22 21:17                 ` Jeffrey Walton
2020-09-23  8:49                   ` Laurent Bercot
2020-09-23 13:13                     ` James Y Knight
2020-09-23 16:08                       ` Rich Felker
2020-09-23 16:16                         ` Jeffrey Walton
2020-09-23 16:26                           ` Ariadne Conill
2020-09-23 16:57                             ` Jeffrey Walton
2020-09-23 16:36                           ` Rich Felker [this message]
2020-09-20 12:19   ` Ariadne Conill

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=20200923163630.GK3265@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=musl@lists.openwall.com \
    --cc=noloader@gmail.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).