diff options
| author | Paul Lind <plind@mips.com> | 2011-03-10 11:13:50 -0800 |
|---|---|---|
| committer | Raghu Gandham <raghu@mips.com> | 2011-03-10 11:13:50 -0800 |
| commit | 865e3789dd222ca2ec4f173f43085851165a0ecb (patch) | |
| tree | c4b5129903b4ccf0bdad19d622406c313b6f3327 /libc | |
| parent | fed58049d50083e4c960d89f4bbd516a181c2d18 (diff) | |
[ENDIAN] Build md5 code correctly for bigendian targets
Signed-off-by: Raghu Gandham <raghu@mips.com>
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/bionic/md5.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libc/bionic/md5.c b/libc/bionic/md5.c index 087786ff3f..16674f1b66 100644 --- a/libc/bionic/md5.c +++ b/libc/bionic/md5.c @@ -38,6 +38,7 @@ __RCSID("$Heimdal: md5.c,v 1.15 2001/01/29 04:33:44 assar Exp $" "$NetBSD: md5.c,v 1.1.1.4 2002/09/12 12:41:42 joda Exp $"); #endif +#include <endian.h> #include "md5.h" #include "hash.h" @@ -178,8 +179,11 @@ calc (struct md5 *m, u_int32_t *data) /* * From `Performance analysis of MD5' by Joseph D. Touch <touch@isi.edu> */ +#if !defined(__BYTE_ORDER) || !defined (__BIG_ENDIAN) +#error __BYTE_ORDER macros not defined +#endif -#if defined(WORDS_BIGENDIAN) +#if __BYTE_ORDER == __BIG_ENDIAN static inline u_int32_t swap_u_int32_t (u_int32_t t) { @@ -217,7 +221,7 @@ MD5_Update (struct md5 *m, const void *v, size_t len) p += l; len -= l; if(offset == 64){ -#if defined(WORDS_BIGENDIAN) +#if __BYTE_ORDER == __BIG_ENDIAN int i; u_int32_t current[16]; struct x32 *u = (struct x32*)m->save; |
