diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ea51aa210628aeb824bb4e336949422d3515003d..61970e69f79f65b7265128945fa0e3fdda7793c1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2005-12-06  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/darwin.h (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): New.
+
 2005-12-06  Aldy Hernandez  <aldyh@redhat.com>
 
        PR C++/24138
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index a78d1d33b075591ed92538f3fc598561753fa4be..48bf0790fcca86eb530d9088c5ac7d10ade52d75 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -419,6 +419,10 @@ Boston, MA 02110-1301, USA.  */
 #undef TARGET_WEAK_NOT_IN_ARCHIVE_TOC
 #define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 1
 
+/* On Darwin, we don't (at the time of writing) have linkonce sections
+   with names, so it's safe to make the class data not comdat.  */
+#define TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT hook_bool_void_false
+
 /* We make exception information linkonce. */
 #undef TARGET_USES_WEAK_UNWIND_INFO
 #define TARGET_USES_WEAK_UNWIND_INFO 1