[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Make libelf build on Solaris



# HG changeset patch
# User john.levon@xxxxxxx
# Date 1170001675 28800
# Node ID 132cc7bc2a356aa058b8550b90d5bb491fe0ea8c
# Parent  a484197f951e32da001f56faf6b140c9ac297897
Make libelf build on Solaris.

libelf has a number of Linuxisms. Fix them up.

Signed-off-by: John Levon <john.levon@xxxxxxx>

diff --git a/xen/common/libelf/libelf-private.h 
b/xen/common/libelf/libelf-private.h
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -33,7 +33,14 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#ifdef __sun__
+#include <sys/byteorder.h>
+#define bswap_16(x) BSWAP_16(x)
+#define bswap_32(x) BSWAP_32(x)
+#define bswap_64(x) BSWAP_64(x)
+#else
 #include <byteswap.h>
+#endif
 #include <xen/elfnote.h>
 #include <xen/libelf.h>
 
diff --git a/xen/include/public/libelf.h b/xen/include/public/libelf.h
--- a/xen/include/public/libelf.h
+++ b/xen/include/public/libelf.h
@@ -7,6 +7,14 @@
 #include <public/features.h>
 typedef uint64_t off_t;
 
+#else /* !__XEN__ */
+
+#include <stddef.h>
+#include <inttypes.h>
+
+#endif
+
+#ifndef BYTE_ORDER
 #define LITTLE_ENDIAN 1234
 #define BIG_ENDIAN    4321
 #if defined(__i386__) || defined(__x86_64) || defined(__ia64__)
@@ -14,13 +22,7 @@ typedef uint64_t off_t;
 #elif defined(__powerpc__)
 #define BYTE_ORDER BIG_ENDIAN
 #endif
-
-#else /* !__XEN__ */
-
-#include <stddef.h>
-#include <inttypes.h>
-
-#endif
+#endif /* !BYTE_ORDER */
 
 #undef ELFSIZE
 #include "elfstructs.h"

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.