diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b6f36173028b8213cb0a14e14a38d9d8f791be43..da82da671eb37a2a90e1df99094b085ce3de740d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2006-06-02  Eric Christopher  <echristo@apple.com>
+
+	* gcc.c-torture/compile/20000804-1.c: Skip if i?86-darwin.
+	* gcc.target/i386/20020523-1.c: Skip if darwin.
+	* gcc.target/i386/asm-3.c: Ditto.
+	* gcc.target/i386/20011119-1.c: Ditto.
+	* gcc.target/i386/clobbers.c: Remove pic part of test.
+
 2006-06-02  Steve Ellcey  <sje@cup.hp.com>
 
 	* g++.old-deja/g++.other/init5.C: XFAIL if cxa-atexit is false.
@@ -6,7 +14,7 @@
 	and add other platforms as expected failures.
 
 2006-06-01  Steve Ellcey  <sje@cup.hp.com>
-	
+
 	* lib/target-supports.exp (is-effective-target): Add cxa_atexit.
 	(is-effective-target-keyword): Ditto.
 
@@ -66,7 +74,7 @@
 2006-05-30  Mark Mitchell  <mark@codesourcery.com>
 
 	PR c++/27803
-	* g++.dg/parse/bitfield1.C: New test. 
+	* g++.dg/parse/bitfield1.C: New test.
 
 2006-05-30  Roger Sayle  <roger@eyesopen.com>
 
@@ -186,7 +194,7 @@
 	PR c++/20103
 	* g++.dg/ext/complit6.C: New test.
 	* g++.dg/ext/complit3.C: Adjust error markers.
-	* g++.dg/init/const3.C: New test. 	
+	* g++.dg/init/const3.C: New test.
 
 2006-05-25  Richard Guenther  <rguenther@suse.de>
 
diff --git a/gcc/testsuite/gcc.c-torture/compile/20000804-1.c b/gcc/testsuite/gcc.c-torture/compile/20000804-1.c
index 0decbc9e0b9e7c6c7874f5939fe6f47d123c0fdf..842a532658efac9da221d9d13f79c5e45b3e2e84 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20000804-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20000804-1.c
@@ -2,6 +2,7 @@
    statement to force a 'long long' (64-bits) to go in a register.  */
 /* { dg-do assemble { xfail m6811-*-* m6812-*-* h8300-*-* } } */
 /* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-skip-if "PIC default" { i?86-*-darwin* } { "*" } { "" } } */
 /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */
 
 /* Copyright (C) 2000, 2003 Free Software Foundation */
diff --git a/gcc/testsuite/gcc.target/i386/20011119-1.c b/gcc/testsuite/gcc.target/i386/20011119-1.c
index bbdf104d1c873e8ec3f37ebd69c941d8ad867467..4a338570dda70c8bb5232dba67903659a9d1c333 100644
--- a/gcc/testsuite/gcc.target/i386/20011119-1.c
+++ b/gcc/testsuite/gcc.target/i386/20011119-1.c
@@ -2,6 +2,7 @@
 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-require-effective-target ilp32 } */
 /* { dg-skip-if "" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-skip-if "PIC default" { "*-*-darwin*" } { "*" } { "" } } */
 /* { dg-options "-O2 -fomit-frame-pointer" } */
 
 static int ustrsize (const char *s);
@@ -59,7 +60,7 @@ main()
   ucwidth = ucwidth_;
   ugetxc = ugetxc_;
   usetc = usetc_;
-  
+
   /* ??? It is impossible to explicitly modify the hard frame pointer.
      This will run afoul of code in flow.c that declines to mark regs
      in eliminate_regs in regs_ever_used.  Apparently, we have to wait
diff --git a/gcc/testsuite/gcc.target/i386/20020523-1.c b/gcc/testsuite/gcc.target/i386/20020523-1.c
index 3338612efdc888e7da8454490120384bd56184c8..df9e0cbb9ed4940a7a2b9f6e3807d0a61dd541ee 100644
--- a/gcc/testsuite/gcc.target/i386/20020523-1.c
+++ b/gcc/testsuite/gcc.target/i386/20020523-1.c
@@ -3,6 +3,7 @@
    patterns were missing earlyclobber.  */
 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-skip-if "PIC default" { *-*-darwin* } { "*" } { "" } } */
 /* { dg-require-effective-target ilp32 } */
 /* { dg-options "-march=pentium3 -msse -ffast-math -O2" } */
 
diff --git a/gcc/testsuite/gcc.target/i386/asm-3.c b/gcc/testsuite/gcc.target/i386/asm-3.c
index 43cec25ed2b2f668c8ee2cdcf328ef3d09ea46f9..fb194e7995b061e15e1fca8061ab72cad57c9dfe 100644
--- a/gcc/testsuite/gcc.target/i386/asm-3.c
+++ b/gcc/testsuite/gcc.target/i386/asm-3.c
@@ -2,6 +2,7 @@
 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2" } */
 /* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-skip-if "PIC default" { *-*-darwin* } { "*" } { "" } } */
 
 extern void abort (void);
 
diff --git a/gcc/testsuite/gcc.target/i386/clobbers.c b/gcc/testsuite/gcc.target/i386/clobbers.c
index be48ed7e277ff7ca4ea1463d91a8b557ee2144f3..e0b06032133e4ba0c193b810e2aa51c6c1250044 100644
--- a/gcc/testsuite/gcc.target/i386/clobbers.c
+++ b/gcc/testsuite/gcc.target/i386/clobbers.c
@@ -11,9 +11,14 @@ int main ()
         __asm__ ("movl $1,%0\n\txorl %%eax,%%eax" : "=r" (i) : : "eax");
         if (i != 1)
                 abort ();
+	/* On darwin you can't call external functions from non-pic code,
+	   however, clobbering ebx isn't valid in pic code. Instead of
+	   disabling the whole test, just disable the ebx clobbering part.  */
+#if !(defined (__MACH__))
         __asm__ ("movl $1,%0\n\txorl %%ebx,%%ebx" : "=r" (i) : : "ebx");
         if (i != 1)
                 abort ();
+#endif
         __asm__ ("movl $1,%0\n\txorl %%ecx,%%ecx" : "=r" (i) : : "ecx");
         if (i != 1)
                 abort ();