* gnu/packages/patches/python-3-arm-alignment.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python.scm (python-3.8)[source](patches): Add it when the current system is ARM.
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			718 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			718 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Ensure memory accesses in the sha3 module are aligned on ARM as it causes
 | |
| problems when running 32-bit code on a 64-bit kernel.
 | |
| 
 | |
| Patch taken from upstream bug report:
 | |
| https://bugs.python.org/issue36515
 | |
| 
 | |
| --- a/Modules/_sha3/sha3module.c
 | |
| +++ b/Modules/_sha3/sha3module.c
 | |
| @@ -64,6 +64,12 @@
 | |
|  #define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
 | |
|  #endif
 | |
|  
 | |
| +/* Bus error on 32-bit ARM due to un-aligned memory accesses; 64-bit ARM
 | |
| + * doesn't complain but un-aligned memory accesses are sub-optimal */
 | |
| +#if defined(__arm__) || defined(__aarch64__)
 | |
| +#define NO_MISALIGNED_ACCESSES
 | |
| +#endif
 | |
| +
 | |
|  /* mangle names */
 | |
|  #define KeccakF1600_FastLoop_Absorb _PySHA3_KeccakF1600_FastLoop_Absorb
 | |
|  #define Keccak_HashFinal _PySHA3_Keccak_HashFinal
 |