mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@aerifal.cx>
To: musl@lists.openwall.com
Subject: Re: STLport
Date: Mon, 31 Dec 2012 10:29:56 -0500	[thread overview]
Message-ID: <20121231152956.GM20323@brightrain.aerifal.cx> (raw)
In-Reply-To: <50E1319C.1060301@gmail.com>

On Mon, Dec 31, 2012 at 12:33:00PM +0600, agent wrote:
> >Is anyone already working on a libc++ integration with musl?
> >
> i have tried to build the whole stack: clang, libc++, libc++abi with
> musl, though i got stuck with libunwind for libc++abi. libc++
> compiled fine when using libsupc++, but i didn't test it anyhow
> (maybe it is even unusable). i'm going to try out clang + libc++ +
> libcxxrt + musl soon.they say libc++ works with libcxxrt and
> libcxxrt has it's own unwind.

We seem to be _almost_ to the point of having libunwind working now.
The only failure I'm still seeing is missing sigreturn/setcontext,
which are referenced from src/x86/Gos-linux.c. Adding the full
ucontext stuff would be a pain (lots of arch-specific code), but we
could cheat and handle just setcontext with minimal code by letting
the kernel do all the work (it requires a syscall anyway to set the
signal mask, so we might as well let the kernel do all the work by
implementing setcontext in terms of SYS_rt_sigreturn).

With that said, I suspect the function in src/x86/Gos-linux.c that's
using sigreturn and setcontext is utterly useless; its purpose seems
to be unwinding across signal handler boundaries, which cannot happen
in correct programs anyway. Replacing the whole function with
something like *(volatile char *)0=0; (i.e. crash) should get you a
working libunwind.

Rich


      parent reply	other threads:[~2012-12-31 15:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <16264585.15369.1356916055281.JavaMail.root@grantgray.id.au>
2012-12-31  1:11 ` STLport Grant Gray
2012-12-31  1:43   ` STLport Luca Barbato
2012-12-31  2:06   ` STLport Rich Felker
2012-12-31  2:58     ` STLport idunham
2012-12-31  3:00     ` STLport Grant Gray
2012-12-31  3:07       ` STLport Rich Felker
2012-12-31  6:33       ` STLport agent
2012-12-31  7:57         ` STLport Daniel Cegiełka
2012-12-31 17:37           ` STLport Rich Felker
2012-12-31 15:29         ` Rich Felker [this message]

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=20121231152956.GM20323@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).