--- /dev/null
+diff -urN glibc-2.2.3.org/sysdeps/generic/bits/confname.h glibc-2.2.3/sysdeps/generic/bits/confname.h
+--- glibc-2.2.3.org/sysdeps/generic/bits/confname.h Tue May 8 23:51:52 2001
++++ glibc-2.2.3/sysdeps/generic/bits/confname.h Tue May 8 23:52:08 2001
+@@ -560,7 +560,7 @@
+ # define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+ # endif
+
+- _CS_V6_WIDTH_RESTRICTED_ENVS,
++ _CS_V6_WIDTH_RESTRICTED_ENVS
+ # define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
+ };
+ #endif
--- /dev/null
+diff -urN glibc-2.2.3.org/posix/confstr.c glibc-2.2.3/posix/confstr.c
+--- glibc-2.2.3.org/posix/confstr.c Tue May 8 23:52:57 2001
++++ glibc-2.2.3/posix/confstr.c Tue May 8 23:53:10 2001
+@@ -44,19 +44,6 @@
+ }
+ break;
+
+- case _CS_XBS5_ILP32_OFFBIG_CFLAGS:
+- case _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS:
+- case _CS_LFS_CFLAGS:
+-#if _XBS5_LP64_OFF64 == -1 && _XBS5_LPBIG_OFFBIG == -1 && _XBS5_ILP32_OFFBIG == 1
+- /* Signal that we want the new ABI. */
+- {
+- static const char file_offset[] = "-D_FILE_OFFSET_BITS=64";
+- string = file_offset;
+- string_len = sizeof (file_offset);
+- }
+- break;
+-#endif
+-
+ case _CS_V6_WIDTH_RESTRICTED_ENVS:
+ /* We have to return a newline-separated list of named of
+ programming environements in which the widths of blksize_t,
+@@ -94,6 +81,20 @@
+ string_len = sizeof (restenvs);
+ }
+ break;
++
++ case _CS_XBS5_ILP32_OFFBIG_CFLAGS:
++ case _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS:
++ case _CS_LFS_CFLAGS:
++#if _XBS5_LP64_OFF64 == -1 && _XBS5_LPBIG_OFFBIG == -1 && _XBS5_ILP32_OFFBIG == 1
++ /* Signal that we want the new ABI. */
++ {
++ static const char file_offset[] = "-D_FILE_OFFSET_BITS=64";
++ string = file_offset;
++ string_len = sizeof (file_offset);
++ }
++ break;
++#endif
++ /* FALLTHROUGH */
+
+ case _CS_LFS_LINTFLAGS:
+ case _CS_LFS_LDFLAGS:
--- /dev/null
+diff -urN glibc-2.2.3.org/nis/Makefile glibc-2.2.3/nis/Makefile
+--- glibc-2.2.3.org/nis/Makefile Tue May 8 23:50:34 2001
++++ glibc-2.2.3/nis/Makefile Tue May 8 23:50:45 2001
+@@ -55,7 +55,7 @@
+ nis_clone_res
+
+ libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) \
+- nisplus-parser nss-nis
++ nisplus-parser nss-nis nss-nisplus
+ libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes))
+
+ libnss_nis-routines := $(addprefix nis-,$(databases)) nis-initgroups \
+diff -urN glibc-2.2.3.org/nis/nss-nis.h glibc-2.2.3/nis/nss-nis.h
+--- glibc-2.2.3.org/nis/nss-nis.h Tue May 8 23:50:34 2001
++++ glibc-2.2.3/nis/nss-nis.h Tue May 8 23:50:45 2001
+@@ -31,9 +31,9 @@
+ static inline enum nss_status
+ yperr2nss (int errval)
+ {
+- if ((unsigned int) errval > __yperr2nss_count)
++ if ((unsigned int) errval >= __yperr2nss_count)
+ return NSS_STATUS_UNAVAIL;
+- return __yperr2nss_tab[errval];
++ return __yperr2nss_tab[(unsigned int) errval];
+ }
+
+ #endif /* nis/nss-nis.h */
+diff -urN glibc-2.2.3.org/nis/nss-nisplus.h glibc-2.2.3/nis/nss-nisplus.h
+--- glibc-2.2.3.org/nis/nss-nisplus.h Tue May 8 23:50:34 2001
++++ glibc-2.2.3/nis/nss-nisplus.h Tue May 8 23:50:45 2001
+@@ -32,9 +32,9 @@
+ static inline enum nss_status
+ niserr2nss (int errval)
+ {
+- if ((unsigned int) errval > __niserr2nss_count)
++ if ((unsigned int) errval >= __niserr2nss_count)
+ return NSS_STATUS_UNAVAIL;
+- return __niserr2nss_tab[errval];
++ return __niserr2nss_tab[(unsigned int) errval];
+ }
+
+ #endif /* nis/nss-nisplus.h */