[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