Re: [RFC PATCH 2/4] rseq: Allow extending struct rseq

From: Florian Weimer
Date: Wed Jul 15 2020 - 10:58:56 EST


* Mathieu Desnoyers:

> ----- On Jul 15, 2020, at 9:42 AM, Florian Weimer fweimer@xxxxxxxxxx wrote:
>> * Mathieu Desnoyers:
>>
> [...]
>>> How would this allow early-rseq-adopter libraries to interact with
>>> glibc ?
>>
>> Under all extension proposals I've seen so far, early adopters are
>> essentially incompatible with glibc rseq registration. I don't think
>> you can have it both ways.
>
> The basic question I'm not sure about is whether we are allowed to increase
> the size and alignement of __rseq_abi from e.g. glibc 2.32 to glibc 2.33.

With the current mechanism (global TLS data symbol), we can do that
using symbol versioning. That means that we can only do this on a
release boundary, and that it's incompatible with other libraries which
use an interposing unversioned symbol.

Thanks,
Florian