mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			1010 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1010 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* This is for tst-tlsalign-extern.c, which see.  It's essential for the
 | 
						|
   purpose of the test that these definitions be in a separate translation
 | 
						|
   unit from the code using the variables.  */
 | 
						|
 | 
						|
__thread int tdata1 = 1;
 | 
						|
__thread int tdata2 __attribute__ ((aligned (0x10))) = 2;
 | 
						|
__thread int tdata3 __attribute__ ((aligned (0x1000))) = 4;
 | 
						|
__thread int tbss1;
 | 
						|
__thread int tbss2 __attribute__ ((aligned (0x10)));
 | 
						|
__thread int tbss3 __attribute__ ((aligned (0x1000)));
 | 
						|
 | 
						|
/* This function is never called.  But its presence in this translation
 | 
						|
   unit makes GCC emit the variables above in the order defined (perhaps
 | 
						|
   because it's the order in which they're used here?) rather than
 | 
						|
   reordering them into descending order of alignment requirement--and so
 | 
						|
   keeps it more similar to the tst-tlsalign-static.c case--just in case
 | 
						|
   that affects the bug (though there is no evidence that it does).  */
 | 
						|
 | 
						|
void
 | 
						|
unused (void)
 | 
						|
{
 | 
						|
  tdata1 = -1;
 | 
						|
  tdata2 = -2;
 | 
						|
  tdata3 = -3;
 | 
						|
  tbss1 = -4;
 | 
						|
  tbss2 = -5;
 | 
						|
  tbss3 = -6;
 | 
						|
}
 |