|  | @@ -144,6 +144,20 @@ static inline void U64TO8_LE(unsigned char *p, const uint64_t v) {
 | 
	
		
			
				|  |  |  	#endif
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +/* Tor: GCC's Stack Protector freaks out and produces variable length
 | 
	
		
			
				|  |  | + * buffer warnings when alignment is requested that is greater than
 | 
	
		
			
				|  |  | + * STACK_BOUNDARY (x86 has special code to deal with this for SSE2).
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * Since the only reason things are 16 byte aligned in the first place
 | 
	
		
			
				|  |  | + * is for SSE2, only request variable alignment for SSE2 builds.
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59674
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#if !defined(ED25519_SSE2)
 | 
	
		
			
				|  |  | +	#undef ALIGN
 | 
	
		
			
				|  |  | +	#define ALIGN(x)
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  #include <stdlib.h>
 | 
	
		
			
				|  |  |  #include <string.h>
 | 
	
		
			
				|  |  |  
 |