Resolves: #1124987.
- Allow up to 32 dlopened modules to use static TLS (#1124987). - Run glibc tests in %%check section of RPM spec file. - Do not run tests with `-k` and fail if any test fails to build.
This commit is contained in:
parent
f64bffe28e
commit
7448524498
5004
ChangeLog.old
Normal file
5004
ChangeLog.old
Normal file
File diff suppressed because it is too large
Load Diff
32
glibc-rh1124987.patch
Normal file
32
glibc-rh1124987.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#
|
||||||
|
# This is an experimental patch that should go into rawhide and
|
||||||
|
# Fedora 21 to fix failures where python applications fail to
|
||||||
|
# load graphics applications because of the slot usages for TLS.
|
||||||
|
# This should eventually go upstream.
|
||||||
|
#
|
||||||
|
# - Carlos O'Donell
|
||||||
|
#
|
||||||
|
diff -urN glibc-2.19-886-gdd763fd/sysdeps/generic/ldsodefs.h glibc-2.19-886-gdd763fd.mod/sysdeps/generic/ldsodefs.h
|
||||||
|
--- glibc-2.19-886-gdd763fd/sysdeps/generic/ldsodefs.h 2014-08-21 01:00:55.000000000 -0400
|
||||||
|
+++ glibc-2.19-886-gdd763fd.mod/sysdeps/generic/ldsodefs.h 2014-09-04 19:29:42.929692810 -0400
|
||||||
|
@@ -388,8 +388,18 @@
|
||||||
|
have to iterate beyond the first element in the slotinfo list. */
|
||||||
|
#define TLS_SLOTINFO_SURPLUS (62)
|
||||||
|
|
||||||
|
-/* Number of additional slots in the dtv allocated. */
|
||||||
|
-#define DTV_SURPLUS (14)
|
||||||
|
+/* Number of additional allocated dtv slots. This was initially
|
||||||
|
+ 14, but problems with python, MESA, and X11's uses of static TLS meant
|
||||||
|
+ that most distributions were very close to this limit when they loaded
|
||||||
|
+ dynamically interpreted languages that used graphics. The simplest
|
||||||
|
+ solution was to roughly double the number of slots. The actual static
|
||||||
|
+ image space usage was relatively small, for example in MESA you
|
||||||
|
+ had only two dispatch pointers for a total of 16 bytes. If we hit up
|
||||||
|
+ against this limit again we should start a campaign with the
|
||||||
|
+ distributions to coordinate the usage of static TLS. Any user of this
|
||||||
|
+ resource is effectively coordinating a global resource since this
|
||||||
|
+ surplus is allocated for each thread at startup. */
|
||||||
|
+#define DTV_SURPLUS (32)
|
||||||
|
|
||||||
|
/* Initial dtv of the main thread, not allocated with normal malloc. */
|
||||||
|
EXTERN void *_dl_initial_dtv;
|
5186
glibc.spec
5186
glibc.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user