[PATCH] Linux: Remove rseq support

Matheus Castanho msc@linux.ibm.com
Thu Jul 16 18:01:53 GMT 2020


On 7/16/20 2:52 PM, Florian Weimer wrote:
> * Matheus Castanho:
> 
>>> diff --git a/csu/libc-tls.c b/csu/libc-tls.c
>>> index 3f1655f264..06e76bd395 100644
>>> --- a/csu/libc-tls.c
>>> +++ b/csu/libc-tls.c
>>> @@ -112,12 +112,6 @@ __libc_setup_tls (void)
>>>    size_t tcb_offset;
>>>    const ElfW(Phdr) *phdr;
>>>  
>>> -  /* libc.so with rseq has TLS with 32-byte alignment.  Static dlopen
>>> -     requires at least 32-byte alignment as well, otherwise loading
>>> -     libc.so will always fail.  */
>>> -  if (max_align < 32)
>>> -    max_align = 32;
>>> -
>>>    struct link_map *main_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
>>>  
>>>    /* Look through the TLS segment if there is any.  */
>>> diff --git a/elf/dl-tls.c b/elf/dl-tls.c
>>> index 772e70d0f6..9a17427047 100644
>>> --- a/elf/dl-tls.c
>>> +++ b/elf/dl-tls.c
>>> @@ -55,7 +55,7 @@
>>>     but come on top when computing the number of namespaces.  */
>>>  
>>>  /* Size of initial-exec TLS in libc.so.  */
>>> -#define LIBC_IE_TLS 192
>>> +#define LIBC_IE_TLS 160
>>
>> ... this change?
> 
> It should work, given that we removed 32 bytes of TLS data with the
> other changes.
> 
> Did you observe the failure on powerpc64le?

Actually, on powerpc, powerpc64 and powerpc64le. The test is currently
failing on all of them.

--
Matheus Castanho


More information about the Libc-alpha mailing list