summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2008-12-05 17:54:09 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2008-12-05 17:54:09 +0000
commit1360677cfe3ca8f945fa1de77823df21a77e4500 (patch)
treeda000754e239aa02dbb414f5905e4b61c9326750
parent3990d09adf4463eca200ad964cc55643c33feb50 (diff)
downloadqemu-1360677cfe3ca8f945fa1de77823df21a77e4500.tar.gz
Attached patch makes NetBSD use the native bswap functions
which compile. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5886 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--bswap.h8
-rwxr-xr-xconfigure9
2 files changed, 17 insertions, 0 deletions
diff --git a/bswap.h b/bswap.h
index 523d805a21..08b77d9377 100644
--- a/bswap.h
+++ b/bswap.h
@@ -5,6 +5,12 @@
#include <inttypes.h>
+#ifdef HAVE_MACHINE_BSWAP_H
+#include <sys/endian.h>
+#include <sys/types.h>
+#include <machine/bswap.h>
+#else
+
#ifdef HAVE_BYTESWAP_H
#include <byteswap.h>
#else
@@ -58,6 +64,8 @@ static inline uint64_t bswap64(uint64_t x)
return bswap_64(x);
}
+#endif /* ! HAVE_MACHINE_BSWAP_H */
+
static inline void bswap16s(uint16_t *s)
{
*s = bswap16(*s);
diff --git a/configure b/configure
index 57b3b5a04d..7f82786606 100755
--- a/configure
+++ b/configure
@@ -1229,6 +1229,15 @@ EOF
if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
echo "#define HAVE_BYTESWAP_H 1" >> $config_h
fi
+ cat > $TMPC << EOF
+#include <sys/endian.h>
+#include <sys/types.h>
+#include <machine/bswap.h>
+int main(void) { return bswap32(0); }
+EOF
+ if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
+ echo "#define HAVE_MACHINE_BSWAP_H 1" >> $config_h
+ fi
fi
if [ "$openbsd" = "yes" ] ; then