Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <3BLFYULF50JCZ.2CFAX0M3JJP1V@mforney.org>
Date: Thu, 29 Oct 2020 00:37:22 -0700
From: Michael Forney <mforney@...rney.org>
To: musl@...ts.openwall.com
Subject: Re: qemu-user and musl

Rich Felker <dalias@...c.org> wrote:
> I think that's okay, and I'm merging the patch now (thanks for
> reminding me!), but I'm not sure if it will work still. The signal
> number used as SIGTIMER is considered an implementation-reserved
> internal signal by musl, and as such it can't be poked at by any of
> the public signal API -- and even if it could be, poking at it would
> break things.

Doesn't qemu's signal translating code solve this problem? As of
[0], it maps target signals starting at 32 to host signal SIGRTMIN
+ sig - 32 (previously, it just swapped __SIGRTMIN and __SIGRTMAX).
So the target libc's reserved signal maps to some free RT signal
on the host, and that's what ends up in the sigev_signo passed to
the host libc.

I wrote a simple test program that used SIGEV_THREAD, and it seemed
to work after applying James' patch.

[0] https://github.com/qemu/qemu/commit/6bc024e713fd35eb5fddbe16acd8dc92d27872a9

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.