6826940 Xorg server 1.6.1, Mesa 7.4.1, and associated module upgrades [PSARC 2009/292]
6837131 Can't bring up dtlogin with AST2000 driver on nvx_114
Includes fix contributed by Juergen Keil for OpenSolaris Bug #8687:
german keyboard layout: umlaut keys not accepted by Xvnc
http://defect.opensolaris.org/bz/show_bug.cgi?id=8687
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use subject to license terms.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, and/or sell copies of the Software, and to permit persons
# to whom the Software is furnished to do so, provided that the above
# copyright notice(s) and this permission notice appear in all copies of
# the Software and that both the above copyright notice(s) and this
# permission notice appear in supporting documentation.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Except as contained in this notice, the name of a copyright holder
# shall not be used in advertising or otherwise to promote the sale, use
# or other dealings in this Software without prior written authorization
# of the copyright holder.
diff -urp -x '*~' -x '*.orig' hw/xfree86/loader/loadmod.c hw/xfree86/loader/loadmod.c
--- hw/xfree86/loader/loadmod.c 2009-01-22 20:34:18.719862000 -0800
+++ hw/xfree86/loader/loadmod.c 2009-01-22 20:34:27.009905000 -0800
@@ -169,6 +169,12 @@ InitPathList(const char *path)
list[n][len - 1] = '/';
list[n][len] = '\0';
}
+#ifdef SUNSOFT /* strip amd64/ off loader path if it's there */
+ if (strcmp(list[n] + (len - 6), "amd64/") == 0) {
+ list[n][len - 6] = '\0';
+ }
+#endif
+
n++;
}
elem = strtok(NULL, ",");
@@ -346,6 +352,9 @@ InitSubdirs(const char **subdirlist)
} else
slash = "";
len += oslen + 2;
+#if defined(SUNSOFT) && (defined(__amd64) || defined(__amd64__))
+ len += 6; /* strlen("amd64/") */
+#endif
if (!(subdirs[i] = xalloc(len))) {
while (--i >= 0)
xfree(subdirs[i]);
@@ -355,10 +364,26 @@ InitSubdirs(const char **subdirlist)
return NULL;
}
/* tack on the OS name */
+#if defined(SUNSOFT) && (defined(__amd64) || defined(__amd64__))
+ sprintf(subdirs[i], "%s%s%s/amd64/", *s, slash, osname);
+#else
sprintf(subdirs[i], "%s%s%s/", *s, slash, osname);
+#endif
i++;
/* path as given */
+#if defined(SUNSOFT) && (defined(__amd64) || defined(__amd64__))
+ if (!(subdirs[i] = xalloc(len))) {
+ while (--i >= 0)
+ xfree(subdirs[i]);
+ xfree(subdirs);
+ if (tmp_subdirlist)
+ xfree(tmp_subdirlist);
+ return NULL;
+ }
+ sprintf(subdirs[i], "%s%samd64/", *s, slash);
+#else
subdirs[i] = xstrdup(*s);
+#endif
i++;
s++;
if (indefault && !s) {