[PATCH] Linux: Remove rseq support
Florian Weimer
fweimer@redhat.com
Thu Jul 16 17:52:59 GMT 2020
* 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?
Thanks,
Florian
More information about the Libc-alpha
mailing list