diff -r a63253e53bf9 gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86.h
--- a/gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86.h	Sat Oct 15 23:51:26 2011 +0200
+++ b/gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86.h	Sun Oct 16 00:05:12 2011 +0200
@@ -113,7 +113,7 @@
   /* Note: the "xchg" instruction does not need a "lock" prefix */
   __asm__ __volatile__("xchgb %0, %1"
 		: "=q"(oldval), "=m"(*addr)
-		: "0"(0xff), "m"(*addr) : "memory");
+		       : "0"((unsigned char) 0xff), "m"(*addr) : "memory");
   return (AO_TS_VAL_t)oldval;
 }
 
diff -r a63253e53bf9 gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h
--- a/gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h	Sat Oct 15 23:51:26 2011 +0200
+++ b/gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h	Sun Oct 16 00:05:12 2011 +0200
@@ -126,7 +126,7 @@
   /* Note: the "xchg" instruction does not need a "lock" prefix */
   __asm__ __volatile__("xchgb %0, %1"
 		: "=q"(oldval), "=m"(*addr)
-		: "0"(0xff), "m"(*addr) : "memory");
+		       : "0"((unsigned char) 0xff), "m"(*addr) : "memory");
   return (AO_TS_VAL_t)oldval;
 }
 
diff -r a63253e53bf9 gc/mach_dep.c
--- a/gc/mach_dep.c	Sat Oct 15 23:51:26 2011 +0200
+++ b/gc/mach_dep.c	Sun Oct 16 00:05:12 2011 +0200
@@ -161,7 +161,7 @@
 
 #if !defined(HAVE_PUSH_REGS) && defined(UNIX_LIKE)
 # include <signal.h>
-# include <ucontext.h>
+# include <sys/ucontext.h>
 #endif
 
 #if defined(UNIX_LIKE) && !defined(NO_GETCONTEXT) &&  \
diff -r a63253e53bf9 gc/os_dep.c
--- a/gc/os_dep.c	Sat Oct 15 23:51:26 2011 +0200
+++ b/gc/os_dep.c	Sun Oct 16 00:05:12 2011 +0200
@@ -2679,7 +2679,7 @@
 # if defined(MSWIN32) || defined(MSWINCE)
     LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info)
 # else
-#   include <ucontext.h>
+#   include <sys/ucontext.h>
     /*ARGSUSED*/
     STATIC void GC_write_fault_handler(int sig, siginfo_t *si, void *raw_sc)
 # endif /* MSWIN32 || MSWINCE */

