[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1248023868.11643.1593026198678.JavaMail.zimbra@efficios.com>
Date: Wed, 24 Jun 2020 15:16:38 -0400 (EDT)
From: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
To: Florian Weimer <fweimer@...hat.com>
Cc: carlos <carlos@...hat.com>, Joseph Myers <joseph@...esourcery.com>,
Szabolcs Nagy <szabolcs.nagy@....com>,
libc-alpha <libc-alpha@...rceware.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ben Maurer <bmaurer@...com>,
Peter Zijlstra <peterz@...radead.org>,
Paul <paulmck@...ux.vnet.ibm.com>,
Boqun Feng <boqun.feng@...il.com>,
Will Deacon <will.deacon@....com>,
Dave Watson <davejwatson@...com>, Paul Turner <pjt@...gle.com>,
Rich Felker <dalias@...c.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-api <linux-api@...r.kernel.org>
Subject: Re: [PATCH 1/3] glibc: Perform rseq registration at C startup and
thread creation (v21)
----- On Jun 24, 2020, at 3:11 PM, Florian Weimer fweimer@...hat.com wrote:
> * Mathieu Desnoyers:
>
>>> I'm still worried that __rseq_static_assert and __rseq_alignof will show
>>> up in the UAPI with textually different definitions. (This does not
>>> apply to __rseq_tls_model_ie.)
>>
>> What makes this worry not apply to __rseq_tls_model_ie ?
>
> It's not needed by the kernel header because it doesn't contain a
> __rseq_abi declaration.
>
>>>
>>> Is my worry unfounded?
>>
>> So AFAIU you worry that eventually sys/rseq.h and linux/rseq.h carry different
>> definitions of __rseq_static_assert and __rseq_alignof.
>>
>> Indeed, I did not surround those #define with #ifndef/#endif. Maybe we should ?
>>
>> Just in case the definitions end up being different (worse case scenario), we
>> should expect their behavior to be pretty much equivalent. So going for the
>> following should address your concern I think:
>
> I think we should keep things simple on the glibc side for now and do
> this changes to the kernel headers first.
Just to be sure I understand what you mean by "keep things simple", do you
recommend removing the following lines completely for now from sys/rseq.h ?
/* Ensure the compiler supports rseq_align. */
__rseq_static_assert (__rseq_alignof (struct rseq_cs) >= 32, "alignment");
__rseq_static_assert (__rseq_alignof (struct rseq) >= 32, "alignment");
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
Powered by blists - more mailing lists