diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ed8cdfc83c7e6b94d6862ed792750a6e5141194b..2f883fcb50d8453b8ee706d58414f7fc07993241 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,24 @@
 2010-03-31  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
 
+	PR testsuite/35165
+	* obj-c++.dg/try-catch-9.mm: Don't XFAIL m32 NeXT runtime.
+	* obj-c++.dg/try-catch-2.mm: Ditto.
+	* obj-c++.dg/lookup-2.mm: Ditto.
+	* obj-c++.dg/encode-8.m: Ditto.
+	* obj-c++.dg/cxx-ivars-2.mm: Ditto.
+	* obj-c++.dg/cxx-ivars-3.mm: Skip for GNU, XFail for m64 NeXT.
+	* obj-c++.dg/const-str-10.mm: Skip for GNU, match .quad for m64 NeXT.
+	* obj-c++.dg/const-str-11.mm: Ditto.
+	* obj-c++.dg/const-str-9.mm: Ditto.
+	* obj-c++.dg/bitfield-3.mm: Skip for GNU runtime.
+	* obj-c++.dg/bitfield-2.mm: XFAIL run for m64 NeXT runtime.
+	* obj-c++.dg/except-1.mm: Ditto.
+	* obj-c++.dg/const-str-7.mm: Ditto.
+	* obj-c++.dg/cxx-ivars-1.mm: Ditto.
+	* obj-c++.dg/const-str-3.mm: Ditto.
+	* obj-c++.dg/const-str-7.mm: Ditto.
+	* obj-c++.dg/stubify-2.mm: Change dump file name.
+
 	PR objc++/23613
 	* gcc/testsuite/objc-obj-c++-shared/next-mapping.h (CLASSPTRFIELD):
 	New macro.
diff --git a/gcc/testsuite/obj-c++.dg/bitfield-2.mm b/gcc/testsuite/obj-c++.dg/bitfield-2.mm
index 1bddf540a67d24d55d8efa99ac57a3a66e885bad..f384f24dd5ac15605842e2a7a4343a90e64cd4ab 100644
--- a/gcc/testsuite/obj-c++.dg/bitfield-2.mm
+++ b/gcc/testsuite/obj-c++.dg/bitfield-2.mm
@@ -2,6 +2,7 @@
    being "promoted" to ints).  */
 /* Contributed by Ziemowit Laski <zlaski@apple.com>.  */
 /* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
 
 #include "../objc-obj-c++-shared/Object1.h"
 #include <stdlib.h>
diff --git a/gcc/testsuite/obj-c++.dg/bitfield-3.mm b/gcc/testsuite/obj-c++.dg/bitfield-3.mm
index 32f2d726ddac905953e5a0a1a1ad667e81e6a246..d81976ab6244f8df927fb1497991fdc9f9d7515e 100644
--- a/gcc/testsuite/obj-c++.dg/bitfield-3.mm
+++ b/gcc/testsuite/obj-c++.dg/bitfield-3.mm
@@ -1,8 +1,9 @@
 /* Check if bitfield ivars are correctly @encode'd when
    the NeXT runtime is used.  */
 /* Contributed by Ziemowit Laski <zlaski@apple.com>.  */
-/* { dg-options "-fsigned-char" } */
 /* { dg-do run { target *-*-darwin* } } */
+/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
+/* { dg-options "-fsigned-char" } */
 
 typedef struct objc_object { struct objc_class *class_pointer; } *id;
 
diff --git a/gcc/testsuite/obj-c++.dg/const-str-10.mm b/gcc/testsuite/obj-c++.dg/const-str-10.mm
index 8605bdb33413ab4b6f7ff06b3e2c756764a030e9..693b6be6e846c96fbee62cc04897d4abf9ef2c88 100644
--- a/gcc/testsuite/obj-c++.dg/const-str-10.mm
+++ b/gcc/testsuite/obj-c++.dg/const-str-10.mm
@@ -2,7 +2,7 @@
    constant string classes get derived.  */
 /* Contributed by Ziemowit Laski <zlaski@apple.com>  */
 
-/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-do compile } */
 /* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
 
 #include "../objc-obj-c++-shared/Object1.h"
@@ -29,4 +29,5 @@ extern struct objc_class _NSConstantStringClassReference;
 const NSConstantString *appKey = @"MyApp";
 
 /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" } } */
-/* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" } } */
+/* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
+/* { dg-final { scan-assembler ".quad\t__NSConstantStringClassReference\n\t.quad\t.*\n\t.long\t5\n\t.space 4\n\t.data" { target { *-*-darwin* && { lp64 } } } } } */
diff --git a/gcc/testsuite/obj-c++.dg/const-str-11.mm b/gcc/testsuite/obj-c++.dg/const-str-11.mm
index 22c1f04cf1f960b3cd62a009b19022e107221a44..ea9371091b8cf195541203fe80d19475936a359e 100644
--- a/gcc/testsuite/obj-c++.dg/const-str-11.mm
+++ b/gcc/testsuite/obj-c++.dg/const-str-11.mm
@@ -2,7 +2,7 @@
    constant string classes get derived.  */
 /* Contributed by Ziemowit Laski <zlaski@apple.com>  */
 
-/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-do compile } */
 /* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
 /* { dg-options "-fconstant-string-class=XStr" } */
 
@@ -29,4 +29,5 @@ extern Class _XStrClassReference;
 const XStr *appKey = @"MyApp";
 
 /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" } } */
-/* { dg-final { scan-assembler ".long\t__XStrClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" } } */
+/* { dg-final { scan-assembler ".long\t__XStrClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
+/* { dg-final { scan-assembler ".quad\t__XStrClassReference\n\t.quad\t.*\n\t.long\t5\n\t.space 4\n\t.data" { target { *-*-darwin* && { lp64 } } } } } */
diff --git a/gcc/testsuite/obj-c++.dg/const-str-3.mm b/gcc/testsuite/obj-c++.dg/const-str-3.mm
index 3e7939adeb176f21a7ebfcf05822668fff9efbf7..5ea8e229fbef84b0b04ba82a8e94fc0cef3d3482 100644
--- a/gcc/testsuite/obj-c++.dg/const-str-3.mm
+++ b/gcc/testsuite/obj-c++.dg/const-str-3.mm
@@ -4,6 +4,7 @@
 
 /* { dg-options "-fconstant-string-class=Foo" } */
 /* { dg-do run { target *-*-darwin* } } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
 
 #import "../objc-obj-c++-shared/Object1.h"
 #import "../objc-obj-c++-shared/next-mapping.h"
diff --git a/gcc/testsuite/obj-c++.dg/const-str-7.mm b/gcc/testsuite/obj-c++.dg/const-str-7.mm
index fe66b2cc2c82c72464166931731d07b1d62fcf4e..755b0452be20a3cefe2678f67191825c91ccef04 100644
--- a/gcc/testsuite/obj-c++.dg/const-str-7.mm
+++ b/gcc/testsuite/obj-c++.dg/const-str-7.mm
@@ -4,6 +4,7 @@
 
 /* { dg-options "-fconstant-string-class=Foo" } */
 /* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
 
 #include "../objc-obj-c++-shared/Object1.h"
 #include "../objc-obj-c++-shared/next-mapping.h"
diff --git a/gcc/testsuite/obj-c++.dg/const-str-9.mm b/gcc/testsuite/obj-c++.dg/const-str-9.mm
index 28621334a6145a2b2d6340f0dc7e432cf29600be..bca916a1609c1edcc2ac39c2928f6334e2110fd3 100644
--- a/gcc/testsuite/obj-c++.dg/const-str-9.mm
+++ b/gcc/testsuite/obj-c++.dg/const-str-9.mm
@@ -21,4 +21,5 @@ extern struct objc_class _NSConstantStringClassReference;
 const NSConstantString *appKey = @"MyApp";
 
 /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" } } */
-/* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" } } */
+/* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data"  { target { *-*-darwin* && { ! lp64 } } }} } */
+/* { dg-final { scan-assembler ".quad\t__NSConstantStringClassReference\n\t.quad\t.*\n\t.long\t5\n\t.space 4\n\t.data" { target { *-*-darwin* && { lp64 } } } } } */
diff --git a/gcc/testsuite/obj-c++.dg/cxx-ivars-1.mm b/gcc/testsuite/obj-c++.dg/cxx-ivars-1.mm
index d89258aa6b75aef7eda4ccf4f2d5afd1e750fbdb..6e0c3fded4b0349e3114a242321843cee57583d5 100644
--- a/gcc/testsuite/obj-c++.dg/cxx-ivars-1.mm
+++ b/gcc/testsuite/obj-c++.dg/cxx-ivars-1.mm
@@ -1,7 +1,7 @@
 // Check if ivars may be accessed via the C++ dot notation.
-
 // { dg-do run }
 // { dg-options "-fno-objc-call-cxx-cdtors" }
+// { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } 
 
 #include "../objc-obj-c++-shared/Object1.h"
 #include <stdlib.h>
diff --git a/gcc/testsuite/obj-c++.dg/cxx-ivars-2.mm b/gcc/testsuite/obj-c++.dg/cxx-ivars-2.mm
index e07437187a4e5f65c01d5ef76b27dcded870a03f..a85f4e5b00cf6132cef9becd2222f563d695e9f3 100644
--- a/gcc/testsuite/obj-c++.dg/cxx-ivars-2.mm
+++ b/gcc/testsuite/obj-c++.dg/cxx-ivars-2.mm
@@ -1,7 +1,8 @@
 // Check if the '- .cxx_construct' and '-.cxx_destruct' methods get called
 // and if they perform their desired function.
 
-// { dg-do run { xfail { "*-*-*" } } } PR27247/PR23681
+// { dg-xfail-run-if "PR27247/PR23681" { *-*-* } { "-fgnu-runtime" } { "" } }
+// { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } }
 // { dg-options "-fobjc-call-cxx-cdtors" }
 
 #include "../objc-obj-c++-shared/Object1.h"
diff --git a/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm b/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm
index 898ce6aed903cdcf8703ac428a0c2f164a828aeb..a3c4b0c492a8cbcf35cdf0ea6d36376862782e69 100644
--- a/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm
+++ b/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm
@@ -1,9 +1,10 @@
 // Check if ObjC classes with non-POD C++ ivars are specially marked in the metadata.
 
 // { dg-do run { target *-*-darwin* } }
-// { dg-options "-fobjc-call-cxx-cdtors" }
 // { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } 
-/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
+// { dg-options "-fobjc-call-cxx-cdtors" }
+// { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } }
+
 #include "../objc-obj-c++-shared/Object1.h"
 #include "../objc-obj-c++-shared/next-mapping.h"
 
diff --git a/gcc/testsuite/obj-c++.dg/encode-8.mm b/gcc/testsuite/obj-c++.dg/encode-8.mm
index de800d08d9480db0b743694e3f02bbe97d2050d2..2d5734ebee18350fe67506615d12d1764bfea38a 100644
--- a/gcc/testsuite/obj-c++.dg/encode-8.mm
+++ b/gcc/testsuite/obj-c++.dg/encode-8.mm
@@ -2,7 +2,8 @@
    'BOOL *' (which should be encoded as '^c') and 'char *' (which
    should be encoded as '*').  */
 /* Contributed by Ziemowit Laski <zlaski@apple.com>.  */
-/* { dg-do run { xfail { "*-*-*" } } } PR27249 */
+/* { dg-xfail-run-if "PR27249" { *-*-* } { "-fgnu-runtime" } { "" } } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
 
 #include <string.h>           
 #include <stdlib.h>
diff --git a/gcc/testsuite/obj-c++.dg/except-1.mm b/gcc/testsuite/obj-c++.dg/except-1.mm
index ccd5bad5f2b43b0191287c6d2c6208e093b5c533..b835dc73ee0bd494833358bc66a93f56d29d6af8 100644
--- a/gcc/testsuite/obj-c++.dg/except-1.mm
+++ b/gcc/testsuite/obj-c++.dg/except-1.mm
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
 
 /* This tests that exceptions work.  It used to fail because
    objc_msgSend was marked with DECL_NOTHROW. 
diff --git a/gcc/testsuite/obj-c++.dg/lookup-2.mm b/gcc/testsuite/obj-c++.dg/lookup-2.mm
index 5dffb017d4d2d872b346a3769b23efa70ca78c7b..4d56cf25c14cc4bcd68af753161ffb90f7005108 100644
--- a/gcc/testsuite/obj-c++.dg/lookup-2.mm
+++ b/gcc/testsuite/obj-c++.dg/lookup-2.mm
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-xfail-if "PR23614" { "*-*-*" } { "*" } { "" } } */
+/* { dg-xfail-if "PR23614" { "*-*-*" } { "*" } { "-fnext-runtime" } } */
 /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
 #include "../objc-obj-c++-shared/Object1.h"
 #include <stdlib.h>
diff --git a/gcc/testsuite/obj-c++.dg/stubify-2.mm b/gcc/testsuite/obj-c++.dg/stubify-2.mm
index a928d3fb7ab9cdce5d4dee7f896c009a1b9a55c5..9db573e8afae8489e77cb4ed3c01fff45dc9a62a 100644
--- a/gcc/testsuite/obj-c++.dg/stubify-2.mm
+++ b/gcc/testsuite/obj-c++.dg/stubify-2.mm
@@ -28,4 +28,4 @@ extern int bogonic (int, int, int) ;
 
 /* Any symbol_ref of an un-stubified objc_msgSend is an error; look
    for "objc_msgSend" in quotes, without the $stub suffix.  */
-/* { dg-final { scan-file-not stubify-2.mm.08.jump "symbol_ref.*\"objc_msgSend\"" } } */
+/* { dg-final { scan-file-not stubify-2.mm.147r.jump "symbol_ref.*\"objc_msgSend\"" } } */
diff --git a/gcc/testsuite/obj-c++.dg/try-catch-2.mm b/gcc/testsuite/obj-c++.dg/try-catch-2.mm
index f39c22c878f785da9da0e27b10460b63e57dc96d..d85284b9aaed3519b13c04706ae0df2a834a6cfb 100644
--- a/gcc/testsuite/obj-c++.dg/try-catch-2.mm
+++ b/gcc/testsuite/obj-c++.dg/try-catch-2.mm
@@ -3,7 +3,8 @@
 /* Developed by Ziemowit Laski <zlaski@apple.com>.  */
 
 /* { dg-do run } */
-/* { dg-xfail-if "PR23616" { "*-*-*" } { "*" } { "" } } */
+/* { dg-xfail-if "PR23616" { "*-*-*" } { "*" } { "-fnext-runtime" } } */
+/* { dg-xfail-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } 
 /* { dg-options "-fobjc-exceptions" } */
 
 #include "../objc-obj-c++-shared/Object1.h"
diff --git a/gcc/testsuite/obj-c++.dg/try-catch-9.mm b/gcc/testsuite/obj-c++.dg/try-catch-9.mm
index 306c467a30f5ef568def98db884d9dcb44b1ebd2..21b7dd5476abed85beaabc83e4d25de58d858d54 100644
--- a/gcc/testsuite/obj-c++.dg/try-catch-9.mm
+++ b/gcc/testsuite/obj-c++.dg/try-catch-9.mm
@@ -3,7 +3,8 @@
 /* Developed by Ziemowit Laski <zlaski@apple.com>.  */
 
 /* { dg-do run } */
-/* { dg-xfail-if "PR23616" { *-*-* } { "*" } { "" } } */
+/* { dg-xfail-if "PR23616" { *-*-* } { "*" } { "-fnext-runtime" } } */
+/* { dg-xfail-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } 
 /* { dg-prune-output ".*internal compiler error.*" } */
 /* { dg-options "-fobjc-exceptions -O2" } */