summaryrefslogtreecommitdiff
path: root/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2005-06-30 08:19:37 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-06-30 08:19:37 +0000
commitc8e5702127e507e82e6f68a4b8c546803accea9d (patch)
tree00583491f40ecc640f2b28452af995e3a63a09d7 /packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch
parent87ec8ca4d2e2eb4d1c1e1e1a6b46a395d56805b9 (diff)
import clean BK tree at cset 1.3670
Diffstat (limited to 'packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch')
-rw-r--r--packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch b/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch
index e69de29bb2..569ab96461 100644
--- a/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch
+++ b/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch
@@ -0,0 +1,26 @@
+--- glibc22/nss/nsswitch.c~ Fri Mar 31 15:38:32 2000
++++ glibc22/nss/nsswitch.c Thu Nov 9 17:28:45 2000
+@@ -333,9 +333,20 @@
+ ni->library->lib_handle = __libc_dlopen (shlib_name);
+ if (ni->library->lib_handle == NULL)
+ {
+- /* Failed to load the library. */
+- ni->library->lib_handle = (void *) -1l;
+- __set_errno (saved_errno);
++ /* Failed to load the library. Try a fallback. */
++ int n = __snprintf(shlib_name, shlen, "libnss_%s.so.%d.%d",
++ ni->library->name, __GLIBC__, __GLIBC_MINOR__);
++ if (n >= shlen)
++ ni->library->lib_handle = NULL;
++ else
++ ni->library->lib_handle = __libc_dlopen (shlib_name);
++
++ if (ni->library->lib_handle == NULL)
++ {
++ /* Ok, really fail now. */
++ ni->library->lib_handle = (void *) -1l;
++ __set_errno (saved_errno);
++ }
+ }
+ }
+