r3639 - in branches/2.0/varnish-cache: . lib/libvarnish
    tfheen at projects.linpro.no 
    tfheen at projects.linpro.no
       
    Fri Feb  6 10:55:39 CET 2009
    
    
  
Author: tfheen
Date: 2009-02-06 10:55:39 +0100 (Fri, 06 Feb 2009)
New Revision: 3639
Modified:
   branches/2.0/varnish-cache/configure.ac
   branches/2.0/varnish-cache/lib/libvarnish/vsha256.c
Log:
Merge r3439: Endianness optimisation
Try to get the endianess optimization working, by including an assortment
of possibly relevant headers and only go with the fast path if we have
credible information that this is a big-endian platform.
Modified: branches/2.0/varnish-cache/configure.ac
===================================================================
--- branches/2.0/varnish-cache/configure.ac	2009-02-06 09:51:51 UTC (rev 3638)
+++ branches/2.0/varnish-cache/configure.ac	2009-02-06 09:55:39 UTC (rev 3639)
@@ -70,11 +70,13 @@
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
 AC_HEADER_TIME
+AC_CHECK_HEADERS([sys/endian.h])
 AC_CHECK_HEADERS([sys/filio.h])
 AC_CHECK_HEADERS([sys/mount.h])
 AC_CHECK_HEADERS([sys/socket.h])
 AC_CHECK_HEADERS([sys/statvfs.h])
 AC_CHECK_HEADERS([sys/vfs.h])
+AC_CHECK_HEADERS([endian.h])
 AC_CHECK_HEADERS([netinet/in.h])
 AC_CHECK_HEADERS([pthread_np.h])
 AC_CHECK_HEADERS([stddef.h])
Modified: branches/2.0/varnish-cache/lib/libvarnish/vsha256.c
===================================================================
--- branches/2.0/varnish-cache/lib/libvarnish/vsha256.c	2009-02-06 09:51:51 UTC (rev 3638)
+++ branches/2.0/varnish-cache/lib/libvarnish/vsha256.c	2009-02-06 09:55:39 UTC (rev 3639)
@@ -26,10 +26,22 @@
  * From: $FreeBSD: head/lib/libmd/sha256c.c 154479 2006-01-17 15:35:57Z phk $
  */
 
+#include "config.h"
+
 #include <stdint.h>
-
 #include <string.h>
 
+#ifdef HAVE_ENDIAN_H
+#include <endian.h>
+#define BYTE_ORDER	__BYTE_ORDER
+#define BIG_ENDIAN	__BIG_ENDIAN
+#endif
+#ifdef HAVE_SYS_ENDIAN_H
+#include <sys/endian.h>
+#define BYTE_ORDER	_BYTE_ORDER
+#define BIG_ENDIAN	_BIG_ENDIAN
+#endif
+
 #include "vsha256.h"
 
 #if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN
    
    
More information about the varnish-commit
mailing list