#ifdef MD5_ASM
# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
-# define md5_block_host_order md5_block_asm_host_order
+# if !defined(B_ENDIAN)
+# define md5_block_host_order md5_block_asm_host_order
+# endif
# elif defined(__sparc) && defined(OPENSSL_SYS_ULTRASPARC)
void md5_block_asm_data_order_aligned (MD5_CTX *c, const MD5_LONG *p,size_t num);
# define HASH_BLOCK_DATA_ORDER_ALIGNED md5_block_asm_data_order_aligned
void md5_block_data_order (MD5_CTX *c, const void *p,size_t num);
#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
+# if !defined(B_ENDIAN)
/*
* *_block_host_order is expected to handle aligned data while
* *_block_data_order - unaligned. As algorithm and host (x86)
*
* <appro@fy.chalmers.se>
*/
-#define md5_block_data_order md5_block_host_order
+# define md5_block_data_order md5_block_host_order
+# endif
#endif
#define DATA_ORDER_IS_LITTLE_ENDIAN