mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@aerifal.cx>
To: musl@lists.openwall.com
Subject: C++ ABI compatibility and musl-gcc
Date: Wed, 24 Jul 2013 19:21:41 -0400	[thread overview]
Message-ID: <20130724232141.GA6531@brightrain.aerifal.cx> (raw)

I've just committed the last of a series of changes that make it
possible to load the glibc-built libstdc++.so.6 under musl. While it
may look like a bit of ugliness, roughly half of the changes were
needed anyway to lay the ground for future locale support; the
long-term goal is to support customizable LC_TIME, LC_MONETARY,
LC_COLLATE, and LC_MESSAGES, but I don't expect any of that to happen
until after the 1.0 release.

Anyway, back to musl-gcc. My hope was that supporting the glibc
libstdc++ would make it possible to use musl-gcc to compile C++ code,
which could in turn be useful for bootstrapping compilers written in
C++ (gcc 4.8 or clang/LLVM). However, it seems the installed C++
headers are also full of glibc-header-specific assumptions, so using
musl-gcc for C++ is not as easy as I'd hoped it might be.

I''ve already spent a great deal of time and effort onthis C++ ABI
topic and would rather focus on release prep and other issues for a
while now. But perhaps someone interested in this topic could do some
research and see if the idea of using musl-gcc for C++ can be
salvaged. Here are some possible approaches:

1. Figuring out what's wrong with the headers and working around it.
   Or, in other words:

   <chris2> lets write a musl-fixincludes :P

2. Determining if the C++ headers that result from building a
   musl-targetted libstdc++ are clean and arch-agnostic, and if so,
   just packaging them up in a tarball that users could download and
   install.

Whichever approach is taken, if we get this working there should be a
doc on the wiki explaining what to do. This would include not only
dealing with the header issue, but also things like copying
libstdc++.so.6 into $(prefix)/lib or similar.

By the way, merely running existing C++ apps linked against glibc IS
possible under musl now, and it should work with either the original
glibc libstdc++.so.6 or the (new, post-ABI-fixes) musl libstdc++.so.6.

Rich


             reply	other threads:[~2013-07-24 23:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-24 23:21 Rich Felker [this message]
2013-07-27  6:04 ` Rob Landley

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=20130724232141.GA6531@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).