Doing diffs in libstdc++-v3:
--- ./libstdc++-v3/config/os/bsd/darwin/os_defines.h.~1~ 2008-12-13 12:42:29.000000000 -0800
+++ ./libstdc++-v3/config/os/bsd/darwin/os_defines.h 2008-12-13 12:42:50.000000000 -0800
@@ -44,6 +44,10 @@
// -flat_namespace to work around the way that it doesn't.
#define _GLIBCXX_WEAK_DEFINITION __attribute__ ((weak))
+#ifndef _GLIBCXX_VISIBILITY_DEFAULT
+#define _GLIBCXX_VISIBILITY_DEFAULT /* _GLIBCXX_VISIBILITY(default) */
+#endif
+
/* APPLE LOCAL begin version */
#ifndef __GNUC_LIBSTD__
--- ./libstdc++-v3/include/bits/c++config.~1~ 2008-12-13 12:45:45.000000000 -0800
+++ ./libstdc++-v3/include/bits/c++config 2008-12-13 12:16:56.000000000 -0800
@@ -62,21 +62,25 @@
#define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION
+#ifndef _GLIBCXX_VISIBILITY_DEFAULT
+#define _GLIBCXX_VISIBILITY_DEFAULT _GLIBCXX_VISIBILITY(default)
+#endif
+
// Macros for namespace scope.
// _GLIBCXX_BEGIN_NAMESPACE
// _GLIBCXX_END_NAMESPACE
// _GLIBCXX_BEGIN_NESTED_NAMESPACE
// _GLIBCXX_END_NESTED_NAMESPACE
#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION
-# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY(default) {
+# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_DEFAULT {
# define _GLIBCXX_END_NESTED_NAMESPACE } }
# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6)
# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE
#else
-# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY(default) {
+# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_DEFAULT {
# define _GLIBCXX_END_NAMESPACE }
# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG
-# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY(default) {
+# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_DEFAULT {
# define _GLIBCXX_END_NESTED_NAMESPACE } }
# else
# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X)
--------------
Doing diffs in libstdc++-v3:
--- libstdc++-v3/include/std/std_stdexcept.h.~1~ 2006-12-07 01:33:51.000000000 -0800
+++ libstdc++-v3/include/std/std_stdexcept.h 2009-01-12 16:48:31.000000000 -0800
@@ -43,6 +43,9 @@
#include <exception>
#include <string>
+/* APPLE LOCAL 5892085 */
+#pragma GCC visibility push(default)
+
_GLIBCXX_BEGIN_NAMESPACE(std)
/** Logic errors represent problems in the internal logic of a program;
@@ -145,4 +148,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_GLIBCXX_END_NAMESPACE
+/* APPLE LOCAL 5892085 */
+#pragma GCC visibility pop
+
#endif /* _GLIBCXX_STDEXCEPT */
--------------