--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libX11/7038737.patch Fri Apr 22 14:03:57 2011 -0700
@@ -0,0 +1,88 @@
+From 393921cf2188b2b0713cc157effaf17d0abab783 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <[email protected]>
+Date: Thu, 21 Apr 2011 16:21:04 -0700
+Subject: [PATCH:libX11] Delete special case code to append "/sparcv9" to i18n module path
+
+Was triggered by defined(__sparcv9) so only built on Solaris SPARC 64-bit.
+Inconsistent with all other platforms, and a bit overcomplicated.
+
+Should anyone need to continue using that path, simply build with
+a #define POSTLOCALELIBDIR "sparcv9" to get the same result.
+
+Fixes Solaris bug 7038737:
+ sparcv9 Xlib looking in wrong path for i18n loadable modules
+
+Signed-off-by: Alan Coopersmith <[email protected]>
+Reviewed-by: Daniel Stone <[email protected]>
+---
+ src/xlibi18n/XlcDL.c | 40 ----------------------------------------
+ 1 files changed, 0 insertions(+), 40 deletions(-)
+
+diff --git a/src/xlibi18n/XlcDL.c b/src/xlibi18n/XlcDL.c
+index bf06490..75e193c 100644
+--- a/src/xlibi18n/XlcDL.c
++++ b/src/xlibi18n/XlcDL.c
+@@ -86,16 +86,6 @@ Sun Microsystems, Inc. or its licensors is granted.
+ #include "XlcPublic.h"
+ #include "XlcPubI.h"
+
+-#if defined(_LP64) && defined(__sparcv9)
+-# define _MACH64_NAME "sparcv9"
+-#else
+-# undef _MACH64_NAME
+-#endif /* defined(_LP64) && defined(__sparcv9) */
+-
+-#ifdef _MACH64_NAME
+-# define _MACH64_NAME_LEN (sizeof (_MACH64_NAME) - 1)
+-#endif
+-
+ #define XI18N_DLREL 2
+
+ #define iscomment(ch) ((ch) == '\0' || (ch) == '#')
+@@ -269,35 +259,6 @@ __lc_path(const char *dl_name, const char *lc_dir)
+ if (strstr (dl_name, "../"))
+ return NULL;
+
+-#if defined (_LP64) && defined (_MACH64_NAME)
+- len = (lc_dir ? strlen(lc_dir) : 0 ) +
+- (dl_name ? strlen(dl_name) : 0) + _MACH64_NAME_LEN + 10;
+- path = Xmalloc(len + 1);
+-
+- if (strchr(dl_name, '/') != NULL) {
+- char *tmp = strdup(dl_name);
+- char *dl_dir, *dl_file;
+- char *slash_p;
+- slash_p = strchr(tmp, '/');
+- *slash_p = '\0';
+- dl_dir = tmp;
+- dl_file = ++slash_p;
+-
+- slash_p = strrchr(lc_dir, '/');
+- *slash_p = '\0';
+- strcpy(path, lc_dir); strcat(path, "/");
+- strcat(path, dl_dir); strcat(path, "/");
+- strcat(path, _MACH64_NAME); strcat(path, "/");
+- strcat(path, dl_file); strcat(path, ".so.2");
+-
+- *slash_p = '/';
+- Xfree(tmp);
+- } else {
+- strcpy(path, lc_dir); strcat(path, "/");
+- strcat(path, _MACH64_NAME); strcat(path, "/");
+- strcat(path, dl_name); strcat(path, ".so.2");
+- }
+-#else
+ len = (lc_dir ? strlen(lc_dir) : 0 ) +
+ (dl_name ? strlen(dl_name) : 0) + 10;
+ #if defined POSTLOCALELIBDIR
+@@ -322,7 +283,6 @@ __lc_path(const char *dl_name, const char *lc_dir)
+ #endif
+ strcat(path, dl_name); strcat(path, ".so.2");
+ }
+-#endif
+ return path;
+ }
+
+--
+1.7.3.2
+
--- a/open-src/lib/libX11/Makefile Wed Apr 20 16:51:33 2011 -0700
+++ b/open-src/lib/libX11/Makefile Fri Apr 22 14:03:57 2011 -0700
@@ -37,6 +37,7 @@
SOURCE_PATCHES = \
xml-install.patch,-p1 \
xml-install-paths.patch,-p1 \
+ 7038737.patch,-p1 \
1234757.patch \
4010755.patch \
4614834.patch \