[PATCH glibc 0/3] Restartable Sequences enablement

Florian Weimer fweimer@redhat.com
Wed Jun 3 13:40:44 GMT 2020


* Florian Weimer via Libc-alpha:

> This series unfortunately needs to be rebased (with conflicts) on
> current master.
>
> There is a new elf/tst-auditmany failure, showing bug 26076, but
> actually caused by bug 26075 (I think).  I will attempt to work around
> these two issues, which are independent of the rseq changes.

Mathieu, it turns out that a change like this is needed:

diff --git a/elf/dl-tls.c b/elf/dl-tls.c
index fa03234610..817bcbbf59 100644
--- a/elf/dl-tls.c
+++ b/elf/dl-tls.c
@@ -31,7 +31,7 @@
 
 /* Amount of excess space to allocate in the static TLS area
    to allow dynamic loading of modules defining IE-model TLS data.  */
-#define TLS_STATIC_SURPLUS     64 + DL_NNS * 100
+#define TLS_STATIC_SURPLUS     64 + DL_NNS * 176
 
 
 /* Out-of-memory handler.  */


I think you can just put that into the main rseq patch.  This change
needs to be mentioned in the commit message, of course.

With this change, elf/tst-auditmany passes again for me.

The increase (76 bytes) is larger than 32 bytes because we have not done
this in quite a while.  The cost in terms of additional TLS storage is
quite significant, but it will also obscure some initial-exec-related
dlopen failures.

Conceptually, we could also switch to 64 + (DL_NNS - 1) * 176, an
increase of 1040 bytes over what we have today.

Thanks,
Florian



More information about the Libc-alpha mailing list