forked from rpms/glibc
		
	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