Index: gnusound-0.7.4/src/emergency.c
===================================================================
--- gnusound-0.7.4.orig/src/emergency.c	2007-06-02 16:43:11.869160127 +0200
+++ gnusound-0.7.4/src/emergency.c	2007-06-02 16:43:21.705863666 +0200
@@ -449,9 +449,16 @@
 #if __BYTE_ORDER == __LITTLE_ENDIAN
 #elif __BYTE_ORDER == __BIG_ENDIAN
     int i;
+    union {
+	float f;
+	int32_t i;
+    } u;
     
-    for(i = 0; i < count; i++)
-        buf[i] = bswap_32(buf[i]);
+    for(i = 0; i < count; i++) {
+	u.f = buf[i];
+	u.i = bswap_32(u.i);
+	buf[i] = u.f;
+    }
 #else
 # error "Unsupported endian"
 #endif
