--- cuneiform-0.4/cuneiform_src/Kern/std/src/stdassrt.cpp.vanilla	2008-09-06 13:27:41.000000000 +0200
+++ cuneiform-0.4/cuneiform_src/Kern/std/src/stdassrt.cpp	2008-09-06 13:28:56.000000000 +0200
@@ -90,8 +90,12 @@
                 exit(0);
 if ( c == 13){
 #ifdef __GNUC__
+#if defined (__i386__) || defined (__x86_64__)
            asm("int $0x03");
 #else
+           abort();
+#endif
+#else
            _asm int 3
 #endif
                }
--- cuneiform-0.4/cuneiform_src/Kern/rstr/src/perc.c.vanilla	2008-09-06 13:32:58.000000000 +0200
+++ cuneiform-0.4/cuneiform_src/Kern/rstr/src/perc.c	2008-09-06 13:39:55.000000000 +0200
@@ -108,6 +108,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
+#include <byteswap.h>
 #include "nt_types.h"
 #include "struct.h"
 #include "func.h"
@@ -784,8 +785,8 @@
                                  __asm   bswap EAX    \
                                  __asm   mov   a,EAX  \
                                }
-#elif defined(__GNUC__) /* FIXME: also check that we are on x86. And little-endian. */
-    #define swapbytes(a) asm ("bswap %0;" :"=r"(a) :"0"(a));
+#elif defined(__GNUC__) /* FIXME: we assume the system C library is optimized */
+  #define   swapbytes(a) {a = bswap_32 (a);}
 #else
   #error You must define swapbytes for your platform
 #endif
--- cuneiform-0.4/cuneiform_src/Kern/rstr/src/snap.c.vanilla	2008-09-06 13:40:29.000000000 +0200
+++ cuneiform-0.4/cuneiform_src/Kern/rstr/src/snap.c	2008-09-06 13:40:52.000000000 +0200
@@ -971,8 +971,12 @@
             else
                 {   // F7 : debug
 #if defined (__GNUC__) /* FIXME: only works on 32 bit x86. */
+#if defined (__i386__) || defined (__x86_64__)
                 asm("int $0x03");
 #else
+                abort();
+#endif
+#else
                 __asm  int 03h;
 #endif
                 }
