Re: [PATCH glibc 1/3] glibc: Perform rseq registration at C startup and thread creation (v20)

From: Mathieu Desnoyers
Date: Thu Jun 18 2020 - 09:03:11 EST


----- On Jun 18, 2020, at 8:22 AM, Szabolcs Nagy szabolcs.nagy@xxxxxxx wrote:

> The 06/11/2020 20:26, Joseph Myers wrote:
>> On Thu, 11 Jun 2020, Mathieu Desnoyers wrote:
>> > I managed to get a repository up and running for librseq, and have integrated
>> > the rseq.2 man page with comments from Michael Kerrisk here:
>> >
>> > https://git.kernel.org/pub/scm/libs/librseq/librseq.git/tree/doc/man/rseq.2
>> >
>> > Is that a suitable URL ? Can we simply point to it from glibc's manual ?
>>
>> Yes, that seems something reasonable to link to.
>
> is there work to make the usage of rseq critical
> sections portable? (e.g. transactional memory
> critical section has syntax in gcc, but that
> doesn't require straight line code with
> begin/end/abort labels in a particular layout.)
>
> the macros and inline asm in rseq-*.h are not
> too nice, but if they can completely hide the
> non-portable bits then i guess that works.

My goal with librseq is indeed to provide static inlines
which hide the architecture-specific ugliness of rseq
critical section assembly code behind an API which can be
used from all supported architectures for most of the
known use-cases, so only very specific use-case would
have to craft their own assembly.

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com