diff -ur ORBit-0.5.12.orig/src/orb/corba_any.c ORBit-0.5.12/src/orb/corba_any.c
--- ORBit-0.5.12.orig/src/orb/corba_any.c	Tue Sep 11 17:25:38 2001
+++ ORBit-0.5.12/src/orb/corba_any.c	Thu Oct  4 21:41:31 2001
@@ -189,7 +189,7 @@
 /*	    *val = ALIGN_ADDRESS(*val, ALIGNOF_CORBA_UNION); */
 
 	    *val = ALIGN_ADDRESS(*val, ORBit_find_alignment(tc));
-	    max_size = ORBit_gather_alloc_info(tc) - (*val - newval);
+	    max_size = ORBit_gather_alloc_info(tc) - ((int)*val - (int)newval);
 
 	    newval = ((char *)*val) + max_size;
 	    ORBit_marshal_value(buf, val, utc, mi);
diff -ur ORBit-0.5.12.orig/src/orb/corba_typecode.h ORBit-0.5.12/src/orb/corba_typecode.h
--- ORBit-0.5.12.orig/src/orb/corba_typecode.h	Mon Oct 11 21:31:53 1999
+++ ORBit-0.5.12/src/orb/corba_typecode.h	Thu Oct  4 15:05:46 2001
@@ -59,7 +59,7 @@
 	CORBA_tk_wchar=26,
 	CORBA_tk_wstring=27,
 	CORBA_tk_fixed=28,
-	CORBA_tk_recursive=0xffffffff,
+	CORBA_tk_recursive=0x7fffffff,
 	CORBA_tk_last=29	/* hack for GIOP */
 } CORBA_TCKind;
 
diff -ur ORBit-0.5.12.orig/src/orb/genrand.c ORBit-0.5.12/src/orb/genrand.c
--- ORBit-0.5.12.orig/src/orb/genrand.c	Thu Jan 18 14:16:44 2001
+++ ORBit-0.5.12/src/orb/genrand.c	Thu Oct  4 15:05:46 2001
@@ -66,7 +66,7 @@
   sa.sa_handler = handle_alarm;
   sigaction(SIGALRM, &sa, &oldsa);
   memset(&it, 0, sizeof(it));
-  it.it_value.tv_usec = 1;
+  it.it_value.tv_usec = 10;
   getitimer(ITIMER_REAL, &oldit);
 
   for(i = 0, min = LONG_MAX, max = 0; i < buf_len; i++)
