<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.os.netbsd.devel.userlevel">
    <title>gmane.os.netbsd.devel.userlevel</title>
    <link>http://blog.gmane.org/gmane.os.netbsd.devel.userlevel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16712"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16700"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16692"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16691"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16681"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16677"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16671"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16654"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16653"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16652"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16647"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16632"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16629"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16610"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16603"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16598"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16595"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16532"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16524"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16498"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16712">
    <title>Incompat change (6 weeks ago) in stdio breaks formail (from procmail)</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16712</link>
    <description>&lt;pre&gt;A seemingly inoccuous change in the latest version of lib;libc/stdio/stdio.c
made in late March ...

--- stdio.c2012/03/20 01:42:591.20
+++ stdio.c2012/03/27 15:05:421.21

-(void) lseek(__sfileno(fp), (off_t)0, SEEK_END);
+if (lseek(__sfileno(fp), (off_t)0, SEEK_END) == (off_t)-1)
+return -1;

which looks like it should obviously be the correct thing to do
(as after all, we should always check syscall errors...) but turns
out to cause problems.

This seek is done only if the (internal) __SAPP flag is set, which is
only ever set in the case of fdopen(fd, "a").   The problem for formail
is that it does this precise operation on a fd that (in the way I use
it anyway) had fd being the (write half of) the result from pipe(2).

I am not sure why formail is using "a" mode, rather than "w" but it might
be that the same fdopen() is also used where the fd came from different
origins, and append mode is actually wanted (formail is absurdly difficult
to decipher...).   In any case, this code has worked (and still works on all
NetBSD except current) for ages, and apparently works on all other systems
(the procmail stuff seems to have hacks to deal with just about every quirk in
every system ever seen, but it has nothing for this one).

Two solutions (other than a possible patch to formail - which would take some
investigation to validate the correctness of) seem possible to me.

One would be to simply revert that change, and ignore errors from the lseek()
like was always done before.

Another possibility would be to check for ESPIPE errno, and ignore that
particular error (anything that gives ESPIPE is unseekable, hence by
definition, all writes must be at the end - nothing else makes sense - and
so the lseek() is just a waste of time in that case).   If that's the
solution, I'd check for ESPIPE, if the lseek() fails, and if that's
the error, clear __SAPP (no point ever trying the lseek() again on
that fd) and continue - return the error for other errors (though I am
not sure what other errors lseek() could ever happen - the man page
mentions just ESPIPE, EBADF (which would be detected by the immediately
following write() sys call, so ignoring that one harms nothing) and
EINVAL, which cannot happen for this particular call.

That suggests that perhaps just reverting the change, and simply ignoring
the error is a better change.

Opinions?

kre

&lt;/pre&gt;</description>
    <dc:creator>Robert Elz</dc:creator>
    <dc:date>2013-05-19T02:11:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16700">
    <title>Alternative access for C locale</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16700</link>
    <description>&lt;pre&gt;Hi all,
there was a concern about exposing the C locale via the special NULL
argument on source-changes. The attached patch provides LC_C_LOCALE and
LC_GLOBAL_LOCALE for access to the corresponding locales. Inside libc,
they are protected, so that access can avoid the GOT and use PC relative
addressing if supported by the platform. This removes the last potential
performance penality of the *_l wrapping.

The patch allows LC_GLOBAL_LOCALE for all locale functions, which is an
extension over POSIX. LC_C_LOCALE can be easily implemented using
newlocale() if necessary on platforms lacking it. I'm in the process of
getting it supported e.g. by Apple as well.

The patch contains one chunk from the mbsnrtowcs patch that is unrelated
and not for commit, but I don't want to edit that out before commit time.

Joerg
Index: include/locale.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/include/locale.h,v
retrieving revision 1.21
diff -u -p -r1.21 locale.h
--- include/locale.h30 Apr 2013 00:45:04 -00001.21
+++ include/locale.h7 May 2013 12:53:38 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,10 +85,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct _locale*locale_t;
 #  endif
 #endif
 
-#ifdef __SETLOCALE_SOURCE__
-#define _LC_GLOBAL_LOCALE((locale_t)-1)
-#endif
-
 __BEGIN_DECLS
 struct lconv *localeconv(void);
 char *setlocale(int, const char *) __RENAME(__setlocale50);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -109,6 +105,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; locale_tduplocale(locale_t);
 voidfreelocale(locale_t);
 struct lconv*localeconv_l(locale_t);
 locale_tnewlocale(int, const char *, locale_t);
+
+#ifndef _LIBC
+extern struct _locale_lc_global_locale;
+extern const struct _locale _lc_C_locale;
+#else
+extern __dso_protected struct _locale_lc_global_locale;
+extern __dso_protected const struct _locale _lc_C_locale;
+#endif
+#define LC_GLOBAL_LOCALE(&amp;amp;_lc_global_locale)
+#define LC_C_LOCALE((locale_t)__UNCONST(&amp;amp;_lc_C_locale))
 #endif
 __END_DECLS
 
Index: lib/libc/gdtoa/strtod.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/gdtoa/strtod.c,v
retrieving revision 1.13
diff -u -p -r1.13 strtod.c
--- lib/libc/gdtoa/strtod.c19 Apr 2013 10:41:53 -00001.13
+++ lib/libc/gdtoa/strtod.c7 May 2013 11:13:01 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1103,7 +1103,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _int_strtod_l(CONST char *s00, char **se
 double
 strtod(CONST char *s, char **sp)
 {
-return _int_strtod_l(s, sp, *_current_locale());
+return _int_strtod_l(s, sp, LC_GLOBAL_LOCALE);
 }
 
 #ifdef __weak_alias
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1113,7 +1113,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; __weak_alias(strtod_l, _strtod_l)
 double
 strtod_l(CONST char *s, char **sp, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return _int_strtod_l(s, sp, loc);
 }
Index: lib/libc/gdtoa/strtof.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/gdtoa/strtof.c,v
retrieving revision 1.6
diff -u -p -r1.6 strtof.c
--- lib/libc/gdtoa/strtof.c18 Apr 2013 21:54:11 -00001.6
+++ lib/libc/gdtoa/strtof.c7 May 2013 11:13:03 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -96,13 +96,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _int_strtof_l(CONST char *s, char **sp, 
 float
 strtof(CONST char *s, char **sp)
 {
-return _int_strtof_l(s, sp, *_current_locale());
+return _int_strtof_l(s, sp, LC_GLOBAL_LOCALE);
 }
 
 float
 strtof_l(CONST char *s, char **sp, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return _int_strtof_l(s, sp, loc);
 }
Index: lib/libc/gdtoa/strtof_vaxf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/gdtoa/strtof_vaxf.c,v
retrieving revision 1.7
diff -u -p -r1.7 strtof_vaxf.c
--- lib/libc/gdtoa/strtof_vaxf.c18 Apr 2013 21:54:11 -00001.7
+++ lib/libc/gdtoa/strtof_vaxf.c7 May 2013 11:13:05 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -83,13 +83,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _int_strtof_l(CONST char *s, char **sp, 
 float
 strtof(CONST char *s, char **sp)
 {
-return _int_strtof_l(s, sp, *_current_locale());
+return _int_strtof_l(s, sp, LC_GLOBAL_LOCALE);
 }
 
 float
 strtof_l(CONST char *s, char **sp, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return _int_strtof_l(s, sp, loc);
 }
Index: lib/libc/gdtoa/strtold_subr.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/gdtoa/strtold_subr.c,v
retrieving revision 1.2
diff -u -p -r1.2 strtold_subr.c
--- lib/libc/gdtoa/strtold_subr.c18 Apr 2013 21:54:11 -00001.2
+++ lib/libc/gdtoa/strtold_subr.c7 May 2013 11:13:07 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -53,13 +53,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _int_strtold_l(const char *nptr, char **
 long double
 strtold(CONST char *s, char **sp)
 {
-return _int_strtold_l(s, sp, *_current_locale());
+return _int_strtold_l(s, sp, LC_GLOBAL_LOCALE);
 }
 
 long double
 strtold_l(CONST char *s, char **sp, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return _int_strtold_l(s, sp, loc);
 }
Index: lib/libc/gen/isctype.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/gen/isctype.c,v
retrieving revision 1.23
diff -u -p -r1.23 isctype.c
--- lib/libc/gen/isctype.c16 Apr 2013 11:29:13 -00001.23
+++ lib/libc/gen/isctype.c7 May 2013 11:06:20 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -57,8 +57,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; is##name(int c) \
 int \
 is##name ## _l(int c, locale_t loc) \
 { \
-if (loc == NULL) \
-loc = _C_locale; \
 return (int)(((loc-&amp;gt;cache-&amp;gt;ctype_tab + 1)[c]) &amp;amp; (bit)); \
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -84,8 +82,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; toupper(int c)
 int
 toupper_l(int c, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return (int)(((loc-&amp;gt;cache-&amp;gt;toupper_tab + 1)[c]));
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -98,8 +94,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; tolower(int c)
 int
 tolower_l(int c, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return (int)(((loc-&amp;gt;cache-&amp;gt;tolower_tab + 1)[c]));
 }
 
Index: lib/libc/locale/Makefile.inc
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/Makefile.inc,v
retrieving revision 1.62
diff -u -p -r1.62 Makefile.inc
--- lib/libc/locale/Makefile.inc30 Apr 2013 00:45:05 -00001.62
+++ lib/libc/locale/Makefile.inc7 May 2013 11:03:43 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,7 +6,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 SRCS+=_def_messages.c _def_monetary.c _def_numeric.c _def_time.c \
 setlocale.c __mb_cur_max.c \
-current_locale.c c_locale.c duplocale.c global_locale.c fix_grouping.c \
+c_locale.c duplocale.c global_locale.c fix_grouping.c \
 freelocale.c localeconv.c newlocale.c nl_langinfo.c \
 generic_lc_all.c dummy_lc_collate.c \
 wcstol.c wcstoll.c wcstoimax.c wcstoul.c wcstoull.c wcstoumax.c \
Index: lib/libc/locale/_wcstod.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/_wcstod.h,v
retrieving revision 1.3
diff -u -p -r1.3 _wcstod.h
--- lib/libc/locale/_wcstod.h18 Apr 2013 22:23:17 -00001.3
+++ lib/libc/locale/_wcstod.h7 May 2013 11:13:09 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -134,15 +134,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _RETURN_TYPE
 INT_NAME(, _FUNCNAME, )(const wchar_t * __restrict nptr,
     wchar_t ** __restrict endptr)
 {
-return INT_NAME(_int_, _FUNCNAME, _l)(nptr, endptr, *_current_locale());
+return INT_NAME(_int_, _FUNCNAME, _l)(nptr, endptr, LC_GLOBAL_LOCALE);
 }
 
 _RETURN_TYPE
 INT_NAME(, _FUNCNAME, _l)(const wchar_t * __restrict nptr,
     wchar_t ** __restrict endptr, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return INT_NAME(_int_, _FUNCNAME, _l)(nptr, endptr, loc);
 }
 #endif /*__WCSTOD_H_*/
Index: lib/libc/locale/_wcstol.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/_wcstol.h,v
retrieving revision 1.5
diff -u -p -r1.5 _wcstol.h
--- lib/libc/locale/_wcstol.h16 Apr 2013 16:52:13 -00001.5
+++ lib/libc/locale/_wcstol.h7 May 2013 11:13:11 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -150,14 +150,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; __INT
 _FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base)
 {
 return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base,
-  *_current_locale());
+  LC_GLOBAL_LOCALE);
 }
 
 __INT
 INT_FUNCNAME(, _FUNCNAME, _l)(const wchar_t *nptr, wchar_t **endptr,
       int base, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, loc);
 }
Index: lib/libc/locale/_wcstoul.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/_wcstoul.h,v
retrieving revision 1.5
diff -u -p -r1.5 _wcstoul.h
--- lib/libc/locale/_wcstoul.h16 Apr 2013 16:52:13 -00001.5
+++ lib/libc/locale/_wcstoul.h7 May 2013 11:13:17 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -126,14 +126,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; __UINT
 _FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base)
 {
 return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base,
-  *_current_locale());
+  LC_GLOBAL_LOCALE);
 }
 
 __UINT
 INT_FUNCNAME(, _FUNCNAME, _l)(const wchar_t *nptr, wchar_t **endptr,
       int base, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, loc);
 }
Index: lib/libc/locale/c_locale.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/c_locale.c,v
retrieving revision 1.2
diff -u -p -r1.2 c_locale.c
--- lib/libc/locale/c_locale.c21 Apr 2013 17:45:46 -00001.2
+++ lib/libc/locale/c_locale.c7 May 2013 12:24:56 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -145,7 +145,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static const struct _locale_cache_t _C_c
 #endif
 };
 
-static const struct _locale __C_locale = {
+__dso_protected const struct _locale _lc_C_locale = {
     .cache = __UNCONST(&amp;amp;_C_cache),
     .query = { _C_LOCALE },
     .part_name = {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -172,5 +172,3 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static const struct _locale __C_locale =
     __UNCONST(&amp;amp;_DefaultTimeLocale),
     },
 };
-
-__dso_hidden struct _locale *_C_locale = __UNCONST(&amp;amp;__C_locale);
Index: lib/libc/locale/current_locale.c
===================================================================
RCS file: lib/libc/locale/current_locale.c
diff -N lib/libc/locale/current_locale.c
--- lib/libc/locale/current_locale.c14 Apr 2013 23:30:16 -00001.4
+++ /dev/null1 Jan 1970 00:00:00 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,49 +0,0 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-/* $NetBSD: current_locale.c,v 1.4 2013/04/14 23:30:16 joerg Exp $ */
-
-/*-
- * Copyright (c)2008 Citrus Project,
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include &amp;lt;sys/cdefs.h&amp;gt;
-#if defined(LIBC_SCCS) &amp;amp;&amp;amp; !defined(lint)
-__RCSID("$NetBSD: current_locale.c,v 1.4 2013/04/14 23:30:16 joerg Exp $");
-#endif /* LIBC_SCCS and not lint */
-
-#include &amp;lt;sys/cdefs.h&amp;gt;
-#include &amp;lt;sys/types.h&amp;gt;
-#include &amp;lt;langinfo.h&amp;gt;
-#define __SETLOCALE_SOURCE__
-#include &amp;lt;locale.h&amp;gt;
-#include &amp;lt;stdlib.h&amp;gt;
-
-#include "setlocale_local.h"
-
-static struct _locale *__current_locale = &amp;amp;_global_locale;
-
-struct _locale **
-_current_locale(void)
-{
-return &amp;amp;__current_locale;
-}
Index: lib/libc/locale/freelocale.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/freelocale.c,v
retrieving revision 1.1
diff -u -p -r1.1 freelocale.c
--- lib/libc/locale/freelocale.c30 Apr 2013 00:45:05 -00001.1
+++ lib/libc/locale/freelocale.c7 May 2013 10:59:36 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -44,8 +44,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void
 freelocale(locale_t locale)
 {
 
-_DIAGASSERT(locale != _LC_GLOBAL_LOCALE);
+_DIAGASSERT(locale != LC_GLOBAL_LOCALE);
+_DIAGASSERT(locale != LC_C_LOCALE);
 _DIAGASSERT(locale != NULL);
-_DIAGASSERT(locale != &amp;amp;_global_locale);
 free(locale);
 }
Index: lib/libc/locale/global_locale.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/global_locale.c,v
retrieving revision 1.16
diff -u -p -r1.16 global_locale.c
--- lib/libc/locale/global_locale.c21 Apr 2013 17:45:46 -00001.16
+++ lib/libc/locale/global_locale.c7 May 2013 11:03:15 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -147,7 +147,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct _locale_cache_t _global_ca
 #endif
 };
 
-struct _locale _global_locale = {
+__dso_protected struct _locale _lc_global_locale = {
     .cache = &amp;amp;_global_cache,
     .query = { _C_LOCALE },
     .part_name = {
Index: lib/libc/locale/iswctype_mb.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/iswctype_mb.c,v
retrieving revision 1.12
diff -u -p -r1.12 iswctype_mb.c
--- lib/libc/locale/iswctype_mb.c16 Apr 2013 11:39:13 -00001.12
+++ lib/libc/locale/iswctype_mb.c7 May 2013 11:13:23 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -57,9 +57,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; isw##name##_l(wint_t wc, locale_t loc)
 _RuneLocale const *rl;\
 _WCTypeEntry const *te;\
 \
-if (loc == NULL)\
-loc = _C_locale;\
-\
 rl = _RUNE_LOCALE(loc);\
 te = &amp;amp;rl-&amp;gt;rl_wctype[index];\
 return _iswctype_priv(rl, wc, te);\
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,7 +64,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; isw##name##_l(wint_t wc, locale_t loc)
 int\
 isw##name(wint_t wc)\
 {\
-return isw##name##_l(wc, *_current_locale());\
+return isw##name##_l(wc, LC_GLOBAL_LOCALE);\
 }
 
 _ISWCTYPE_FUNC(alnum,  _WCTYPE_INDEX_ALNUM)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -90,9 +87,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; tow##name##_l(wint_t wc, locale_t loc)
 _RuneLocale const *rl;\
 _WCTransEntry const *te;\
 \
-if (loc == NULL)\
-loc = _C_locale;\
-\
 rl = _RUNE_LOCALE(loc);\
 te = &amp;amp;rl-&amp;gt;rl_wctrans[index];\
 return _towctrans_priv(wc, te);\
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -100,7 +94,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; tow##name##_l(wint_t wc, locale_t loc)
 wint_t\
 tow##name(wint_t wc)\
 {\
-return tow##name##_l(wc, *_current_locale());\
+return tow##name##_l(wc, LC_GLOBAL_LOCALE);\
 }
 _TOWCTRANS_FUNC(upper, _WCTRANS_INDEX_UPPER)
 _TOWCTRANS_FUNC(lower, _WCTRANS_INDEX_LOWER)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,9 +105,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wctype_l(const char *charclass, locale_t
 _RuneLocale const *rl;
 size_t i;
 
-if (loc == NULL)
-loc = _C_locale;
-
 rl = _RUNE_LOCALE(loc);
 for (i = 0; i &amp;lt; _WCTYPE_NINDEXES; ++i) {
 if (!strcmp(rl-&amp;gt;rl_wctype[i].te_name, charclass))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -125,7 +116,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wctype_l(const char *charclass, locale_t
 wctype_t
 wctype(const char *charclass)
 {
-return wctype_l(charclass, *_current_locale());
+return wctype_l(charclass, LC_GLOBAL_LOCALE);
 }
 
 wctrans_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -134,9 +125,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wctrans_l(const char *charmap, locale_t 
 _RuneLocale const *rl;
 size_t i;
 
-if (loc == NULL)
-loc = _C_locale;
-
 rl = _RUNE_LOCALE(loc);
 for (i = 0; i &amp;lt; _WCTRANS_NINDEXES; ++i) {
 _DIAGASSERT(rl-&amp;gt;rl_wctrans[i].te_name != NULL);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -149,7 +137,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wctrans_l(const char *charmap, locale_t 
 wctrans_t
 wctrans(const char *charmap)
 {
-return wctrans_l(charmap, *_current_locale());
+return wctrans_l(charmap, LC_GLOBAL_LOCALE);
 }
 
 int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -163,9 +151,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; iswctype_l(wint_t wc, wctype_t charclass
 return 0;
 }
 
-if (loc == NULL)
-loc = _C_locale;
-
 rl = _RUNE_LOCALE(loc);
 te = (_WCTypeEntry const *)(void *)charclass;
 return _iswctype_priv(rl, wc, te);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -174,7 +159,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; iswctype_l(wint_t wc, wctype_t charclass
 int
 iswctype(wint_t wc, wctype_t charclass)
 {
-return iswctype_l(wc, charclass, *_current_locale());
+return iswctype_l(wc, charclass, LC_GLOBAL_LOCALE);
 }
 
 wint_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -209,9 +194,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcwidth_l(wchar_t wc, locale_t loc)
 if (wc == L'\0')
 return 0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 rl = _RUNE_LOCALE(loc);
 x = _runetype_priv(rl, wc);
 if (x &amp;amp; _RUNETYPE_R)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -222,7 +204,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcwidth_l(wchar_t wc, locale_t loc)
 int
 wcwidth(wchar_t wc)
 {
-return wcwidth_l(wc, *_current_locale());
+return wcwidth_l(wc, LC_GLOBAL_LOCALE);
 }
 
 int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -234,9 +216,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcswidth_l(const wchar_t * __restrict ws
 
 _DIAGASSERT(ws != NULL);
 
-if (loc == NULL)
-loc = _C_locale;
-
 rl = _RUNE_LOCALE(loc);
 width = 0;
 while (wn &amp;gt; 0 &amp;amp;&amp;amp; *ws != L'\0') {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -252,5 +231,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcswidth_l(const wchar_t * __restrict ws
 int
 wcswidth(const wchar_t * __restrict ws, size_t wn)
 {
-return wcswidth_l(ws, wn, *_current_locale());
+return wcswidth_l(ws, wn, LC_GLOBAL_LOCALE);
 }
Index: lib/libc/locale/localeconv.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/localeconv.c,v
retrieving revision 1.20
diff -u -p -r1.20 localeconv.c
--- lib/libc/locale/localeconv.c17 Apr 2013 20:40:13 -00001.20
+++ lib/libc/locale/localeconv.c7 May 2013 11:08:46 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -47,7 +47,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; localeconv(void)
 struct lconv *
 localeconv_l(locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 return loc-&amp;gt;cache-&amp;gt;ldata;
 }
Index: lib/libc/locale/multibyte_amd1.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/multibyte_amd1.c,v
retrieving revision 1.11
diff -u -p -r1.11 multibyte_amd1.c
--- lib/libc/locale/multibyte_amd1.c19 Apr 2013 14:35:33 -00001.11
+++ lib/libc/locale/multibyte_amd1.c7 May 2013 11:14:07 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -59,9 +59,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbrlen_l(const char *s, size_t n, mbstat
 size_t ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
 
 err0 = _citrus_ctype_mbrlen(_ps_to_ctype(ps), s, n,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -75,7 +72,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbrlen_l(const char *s, size_t n, mbstat
 size_t
 mbrlen(const char *s, size_t n, mbstate_t *ps)
 {
-return mbrlen_l(s, n, ps, *_current_locale());
+return mbrlen_l(s, n, ps, LC_GLOBAL_LOCALE);
 }
 
 int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -88,9 +85,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbsinit_l(const mbstate_t *ps, locale_t 
 if (ps == NULL)
 return 1;
 
-if (loc == NULL)
-loc = _C_locale;
-
 if (_ps_to_runelocale(ps) == NULL)
 rl = _RUNE_LOCALE(loc);
 else
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -108,7 +102,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbsinit_l(const mbstate_t *ps, locale_t 
 int
 mbsinit(const mbstate_t *ps)
 {
-return mbsinit_l(ps, *_current_locale());
+return mbsinit_l(ps, LC_GLOBAL_LOCALE);
 }
 
 size_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -117,9 +111,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbrtowc_l(wchar_t *pwc, const char *s, s
 size_t ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
 
 err0 = _citrus_ctype_mbrtowc(_ps_to_ctype(ps), pwc, s, n,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -133,7 +124,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbrtowc_l(wchar_t *pwc, const char *s, s
 size_t
 mbrtowc(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
 {
-return mbrtowc_l(pwc, s, n, ps, *_current_locale());
+return mbrtowc_l(pwc, s, n, ps, LC_GLOBAL_LOCALE);
 }
 
 size_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -143,9 +134,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbsrtowcs_l(wchar_t *pwcs, const char **
 size_t ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
 
 err0 = _citrus_ctype_mbsrtowcs(_ps_to_ctype(ps), pwcs, s, n,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -159,17 +147,37 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbsrtowcs_l(wchar_t *pwcs, const char **
 size_t
 mbsrtowcs(wchar_t *pwcs, const char **s, size_t n, mbstate_t *ps)
 {
-return mbsrtowcs_l(pwcs, s, n, ps, *_current_locale());
+return mbsrtowcs_l(pwcs, s, n, ps, LC_GLOBAL_LOCALE);
 }
 
 size_t
-wcrtomb_l(char *s, wchar_t wc, mbstate_t *ps, locale_t loc)
+mbsnrtowcs_l(wchar_t *pwcs, const char **s, size_t in, size_t n, mbstate_t *ps,
+    locale_t loc)
 {
 size_t ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
+_fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
+
+err0 = _citrus_ctype_mbsnrtowcs(_ps_to_ctype(ps), pwcs, s, in, n,
+_ps_to_private(ps), &amp;amp;ret);
+if (err0)
+errno = err0;
+
+return ret;
+}
+
+size_t
+mbsnrtowcs(wchar_t *pwcs, const char **s, size_t in, size_t n, mbstate_t *ps)
+{
+return mbsnrtowcs_l(pwcs, s, in, n, ps, LC_GLOBAL_LOCALE);
+}
+
+size_t
+wcrtomb_l(char *s, wchar_t wc, mbstate_t *ps, locale_t loc)
+{
+size_t ret;
+int err0;
 
 _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -184,7 +192,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcrtomb_l(char *s, wchar_t wc, mbstate_t
 size_t
 wcrtomb(char *s, wchar_t wc, mbstate_t *ps)
 {
-return wcrtomb_l(s, wc, ps, *_current_locale());
+return wcrtomb_l(s, wc, ps, LC_GLOBAL_LOCALE);
 }
 
 size_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -194,9 +202,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcsrtombs_l(char *s, const wchar_t **ppw
 size_t ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
 
 err0 = _citrus_ctype_wcsrtombs(_ps_to_ctype(ps), s, ppwcs, n,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -210,7 +215,30 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcsrtombs_l(char *s, const wchar_t **ppw
 size_t
 wcsrtombs(char *s, const wchar_t **ppwcs, size_t n, mbstate_t *ps)
 {
-return wcsrtombs_l(s, ppwcs, n, ps, *_current_locale());
+return wcsrtombs_l(s, ppwcs, n, ps, LC_GLOBAL_LOCALE);
+}
+
+size_t
+wcsnrtombs_l(char *s, const wchar_t **ppwcs, size_t in, size_t n, mbstate_t *ps,
+    locale_t loc)
+{
+size_t ret;
+int err0;
+
+_fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
+
+err0 = _citrus_ctype_wcsnrtombs(_ps_to_ctype(ps), s, ppwcs, in, n,
+_ps_to_private(ps), &amp;amp;ret);
+if (err0)
+errno = err0;
+
+return ret;
+}
+
+size_t
+wcsnrtombs(char *s, const wchar_t **ppwcs, size_t in, size_t n, mbstate_t *ps)
+{
+return wcsnrtombs_l(s, ppwcs, in, n, ps, LC_GLOBAL_LOCALE);
 }
 
 wint_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -219,9 +247,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; btowc_l(int c, locale_t loc)
 wint_t ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 err0 = _citrus_ctype_btowc(_CITRUS_CTYPE(loc), c, &amp;amp;ret);
 if (err0)
 errno = err0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -232,7 +257,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; btowc_l(int c, locale_t loc)
 wint_t
 btowc(int c)
 {
-return btowc_l(c, *_current_locale());
+return btowc_l(c, LC_GLOBAL_LOCALE);
 }
 
 int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -241,9 +266,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wctob_l(wint_t wc, locale_t loc)
 int ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 err0 = _citrus_ctype_wctob(_CITRUS_CTYPE(loc), wc, &amp;amp;ret);
 if (err0)
 errno = err0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -254,14 +276,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wctob_l(wint_t wc, locale_t loc)
 int
 wctob(wint_t wc)
 {
-return wctob_l(wc, *_current_locale());
+return wctob_l(wc, LC_GLOBAL_LOCALE);
 }
 
 size_t
 _mb_cur_max_l(locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 
 return _citrus_ctype_get_mb_cur_max(_CITRUS_CTYPE(loc));
 }
Index: lib/libc/locale/multibyte_c90.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/multibyte_c90.c,v
retrieving revision 1.9
diff -u -p -r1.9 multibyte_c90.c
--- lib/libc/locale/multibyte_c90.c18 Apr 2013 22:22:21 -00001.9
+++ lib/libc/locale/multibyte_c90.c7 May 2013 11:13:29 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -55,9 +55,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mblen_l(const char *s, size_t n, locale_
 int ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 err0 = _citrus_ctype_mblen(_CITRUS_CTYPE(loc), s, n, &amp;amp;ret);
 if (err0)
 errno = err0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -69,7 +66,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mblen_l(const char *s, size_t n, locale_
 int
 mblen(const char *s, size_t n)
 {
-return mblen_l(s, n, *_current_locale());
+return mblen_l(s, n, LC_GLOBAL_LOCALE);
 }
 
 size_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -78,9 +75,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbstowcs_l(wchar_t *pwcs, const char *s,
 size_t ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 err0 = _citrus_ctype_mbstowcs(_CITRUS_CTYPE(loc), pwcs, s, n, &amp;amp;ret);
 if (err0)
 errno = err0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -91,7 +85,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbstowcs_l(wchar_t *pwcs, const char *s,
 size_t
 mbstowcs(wchar_t *pwcs, const char *s, size_t n)
 {
-return mbstowcs_l(pwcs, s, n, *_current_locale());
+return mbstowcs_l(pwcs, s, n, LC_GLOBAL_LOCALE);
 }
 
 int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -100,9 +94,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbtowc_l(wchar_t *pw, const char *s, siz
 int ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 err0 = _citrus_ctype_mbtowc(_CITRUS_CTYPE(loc), pw, s, n, &amp;amp;ret);
 if (err0)
 errno = err0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -113,7 +104,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbtowc_l(wchar_t *pw, const char *s, siz
 int
 mbtowc(wchar_t *pw, const char *s, size_t n)
 {
-return mbtowc_l(pw, s, n, *_current_locale());
+return mbtowc_l(pw, s, n, LC_GLOBAL_LOCALE);
 }
 
 size_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -122,9 +113,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcstombs_l(char *s, const wchar_t *wcs, 
 size_t ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 err0 = _citrus_ctype_wcstombs(_CITRUS_CTYPE(loc), s, wcs, n, &amp;amp;ret);
 if (err0)
 errno = err0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -135,7 +123,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcstombs_l(char *s, const wchar_t *wcs, 
 size_t
 wcstombs(char *s, const wchar_t *wcs, size_t n)
 {
-return wcstombs_l(s, wcs, n, *_current_locale());
+return wcstombs_l(s, wcs, n, LC_GLOBAL_LOCALE);
 }
 
 int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -144,9 +132,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wctomb_l(char *s, wchar_t wc, locale_t l
 int ret;
 int err0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 err0 = _citrus_ctype_wctomb(_CITRUS_CTYPE(loc), s, wc, &amp;amp;ret);
 if (err0)
 errno = err0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -157,5 +142,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wctomb_l(char *s, wchar_t wc, locale_t l
 int
 wctomb(char *s, wchar_t wc)
 {
-return wctomb_l(s, wc, *_current_locale());
+return wctomb_l(s, wc, LC_GLOBAL_LOCALE);
 }
Index: lib/libc/locale/nb_lc_template.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/nb_lc_template.h,v
retrieving revision 1.5
diff -u -p -r1.5 nb_lc_template.h
--- lib/libc/locale/nb_lc_template.h14 Apr 2013 23:30:16 -00001.5
+++ lib/libc/locale/nb_lc_template.h7 May 2013 11:02:28 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -236,7 +236,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _PREFIX(setlocale)(const char * __restri
 locale-&amp;gt;part_impl[(size_t)_CATEGORY_ID]
     = part-&amp;gt;impl;
 _PREFIX(build_cache)(locale-&amp;gt;cache, part-&amp;gt;impl);
-if (locale == &amp;amp;_global_locale)
+if (locale == LC_GLOBAL_LOCALE)
 _PREFIX(fixup)(part-&amp;gt;impl);
 }
 }
Index: lib/libc/locale/newlocale.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/newlocale.c,v
retrieving revision 1.1
diff -u -p -r1.1 newlocale.c
--- lib/libc/locale/newlocale.c30 Apr 2013 00:45:05 -00001.1
+++ lib/libc/locale/newlocale.c7 May 2013 11:14:14 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -55,7 +55,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; newlocale(int mask, const char *name, lo
 if (dst == NULL)
 return (locale_t)NULL;
 if (src == NULL)
-src = *_current_locale();
+src = LC_GLOBAL_LOCALE;
 memcpy(dst, src, sizeof(*src));
 strlcpy(&amp;amp;head[0], name, sizeof(head));
 tokens[0] = (const char *)&amp;amp;head[0];
Index: lib/libc/locale/setlocale.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/setlocale.c,v
retrieving revision 1.62
diff -u -p -r1.62 setlocale.c
--- lib/libc/locale/setlocale.c30 Apr 2013 00:45:05 -00001.62
+++ lib/libc/locale/setlocale.c7 May 2013 11:14:18 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -101,7 +101,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; __setlocale(int category, const char *na
 sl = _find_category(category);
 if (sl == NULL)
 return NULL;
-impl = *_current_locale();
+impl = LC_GLOBAL_LOCALE;
 return __UNCONST((*sl)(name, impl));
 }
 
Index: lib/libc/locale/setlocale_local.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/setlocale_local.h,v
retrieving revision 1.11
diff -u -p -r1.11 setlocale_local.h
--- lib/libc/locale/setlocale_local.h14 Apr 2013 23:44:54 -00001.11
+++ lib/libc/locale/setlocale_local.h7 May 2013 14:00:12 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -66,7 +66,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef const char *(*_locale_set_t)(con
 __BEGIN_DECLS
 _locale_set_t_find_category(int);
 const char*_get_locale_env(const char *);
-struct _locale**_current_locale(void);
 char*__setlocale(int, const char *);
 
 const char *_generic_LC_ALL_setlocale(
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,14 +84,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; const char *_citrus_LC_MESSAGES_setlocal
     const char * __restrict, struct _locale * __restrict);
 __END_DECLS
 
+#ifdef _LIBC
+extern __dso_protected struct _locale_lc_global_locale;
+
 static __inline struct _locale_cache_t *
 _current_cache(void)
 {
-return (*_current_locale())-&amp;gt;cache;
+return _lc_global_locale.cache;
 }
+#endif
 
-extern struct _locale_global_locale;
-extern __dso_hidden struct _locale *_C_locale;
 extern size_t __mb_len_max_runtime;
 
 #endif /*_SETLOCALE_LOCAL_H_*/
Index: lib/libc/locale/wcscoll.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/wcscoll.c,v
retrieving revision 1.3
diff -u -p -r1.3 wcscoll.c
--- lib/libc/locale/wcscoll.c18 Apr 2013 23:24:27 -00001.3
+++ lib/libc/locale/wcscoll.c7 May 2013 11:14:00 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -44,8 +44,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; __RCSID("$NetBSD: wcscoll.c,v 1.3 2013/0
 int
 wcscoll_l(const wchar_t *s1, const wchar_t *s2, locale_t loc)
 {
-if (loc == NULL)
-loc = _C_locale;
 /* XXX: LC_COLLATE should be implemented. */
 /* LINTED */ (void)loc;
 return (wcscmp(s1, s2));
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -54,5 +52,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcscoll_l(const wchar_t *s1, const wchar
 int
 wcscoll(const wchar_t *s1, const wchar_t *s2)
 {
-return wcscoll_l(s1, s2, *_current_locale());
+return wcscoll_l(s1, s2, LC_GLOBAL_LOCALE);
 }
Index: lib/libc/locale/wcsxfrm.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/wcsxfrm.c,v
retrieving revision 1.4
diff -u -p -r1.4 wcsxfrm.c
--- lib/libc/locale/wcsxfrm.c18 Apr 2013 23:24:27 -00001.4
+++ lib/libc/locale/wcsxfrm.c7 May 2013 11:14:02 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -46,8 +46,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcsxfrm_l(wchar_t *s1, const wchar_t *s2
 {
 size_t len;
 
-if (loc == NULL)
-loc = _C_locale;
 /* XXX: LC_COLLATE should be implemented. */
 /* LINTED */(void)loc;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -69,5 +67,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcsxfrm_l(wchar_t *s1, const wchar_t *s2
 size_t
 wcsxfrm(wchar_t *s1, const wchar_t *s2, size_t n)
 {
-return wcsxfrm_l(s1, s2, n, *_current_locale());
+return wcsxfrm_l(s1, s2, n, LC_GLOBAL_LOCALE);
 }
Index: lib/libc/stdio/vasprintf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vasprintf.c,v
retrieving revision 1.15
diff -u -p -r1.15 vasprintf.c
--- lib/libc/stdio/vasprintf.c19 Apr 2013 15:22:25 -00001.15
+++ lib/libc/stdio/vasprintf.c7 May 2013 11:14:24 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -88,7 +88,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; err:
 int
 vasprintf(char **str, const char *fmt, va_list ap)
 {
-return vasprintf_l(str, *_current_locale(), fmt, ap);
+return vasprintf_l(str, LC_GLOBAL_LOCALE, fmt, ap);
 }
 
 int
Index: lib/libc/stdio/vdprintf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vdprintf.c,v
retrieving revision 1.3
diff -u -p -r1.3 vdprintf.c
--- lib/libc/stdio/vdprintf.c19 Apr 2013 15:22:25 -00001.3
+++ lib/libc/stdio/vdprintf.c7 May 2013 11:14:26 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -121,5 +121,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; vdprintf_l(int fd, locale_t loc, const c
 int
 vdprintf(int fd, const char * __restrict fmt, va_list ap)
 {
-return vdprintf_l(fd, *_current_locale(), fmt, ap);
+return vdprintf_l(fd, LC_GLOBAL_LOCALE, fmt, ap);
 }
Index: lib/libc/stdio/vfscanf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vfscanf.c,v
retrieving revision 1.44
diff -u -p -r1.44 vfscanf.c
--- lib/libc/stdio/vfscanf.c19 Apr 2013 23:32:17 -00001.44
+++ lib/libc/stdio/vfscanf.c7 May 2013 11:14:28 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -132,7 +132,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; __collate_range_cmp(int c1, int c2, loca
 int
 __svfscanf(FILE *fp, char const *fmt0, va_list ap)
 {
-return __svfscanf_l(fp, *_current_locale(), fmt0, ap);
+return __svfscanf_l(fp, LC_GLOBAL_LOCALE, fmt0, ap);
 }
 
 int
Index: lib/libc/stdio/vfwprintf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vfwprintf.c,v
retrieving revision 1.31
diff -u -p -r1.31 vfwprintf.c
--- lib/libc/stdio/vfwprintf.c19 Apr 2013 15:22:25 -00001.31
+++ lib/libc/stdio/vfwprintf.c7 May 2013 11:14:55 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -552,7 +552,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; WDECL(vf,printf)(FILE * __restrict fp, c
 int ret;
 
 FLOCKFILE(fp);
-ret = WDECL(__vf,printf_unlocked_l)(fp, *_current_locale(), fmt0, ap);
+ret = WDECL(__vf,printf_unlocked_l)(fp, LC_GLOBAL_LOCALE, fmt0, ap);
 FUNLOCKFILE(fp);
 return ret;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -705,9 +705,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; WDECL(__vf,printf_unlocked_l)(FILE *fp, 
 static const char xdigs_lower[16] = "0123456789abcdef";
 static const char xdigs_upper[16] = "0123456789ABCDEF";
 
-if (loc == NULL)
-loc = _C_locale;
-
 /*
  * BEWARE, these `goto error' on error, PRINT uses `n2' and
  * PAD uses `n'.
Index: lib/libc/stdio/vfwscanf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vfwscanf.c,v
retrieving revision 1.9
diff -u -p -r1.9 vfwscanf.c
--- lib/libc/stdio/vfwscanf.c19 Apr 2013 23:32:17 -00001.9
+++ lib/libc/stdio/vfwscanf.c7 May 2013 11:14:54 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -114,7 +114,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int parsefloat(FILE *, wchar_t *,
 int
 vfwscanf(FILE * __restrict fp, const wchar_t * __restrict fmt, va_list ap)
 {
-return vfwscanf_l(fp, *_current_locale(), fmt, ap);
+return vfwscanf_l(fp, LC_GLOBAL_LOCALE, fmt, ap);
 }
 
 int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -171,9 +171,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; __vfwscanf_unlocked_l(FILE * __restrict 
 static short basefix[17] =
 { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
 
-if (loc == NULL)
-loc = _C_locale;
-
 nassigned = 0;
 nconversions = 0;
 nread = 0;
Index: lib/libc/stdio/vsnprintf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vsnprintf.c,v
retrieving revision 1.26
diff -u -p -r1.26 vsnprintf.c
--- lib/libc/stdio/vsnprintf.c19 Apr 2013 15:22:25 -00001.26
+++ lib/libc/stdio/vsnprintf.c7 May 2013 11:14:52 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -100,7 +100,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; vsnprintf_l(char *str, size_t n, locale_
 int
 vsnprintf(char *str, size_t n, const char *fmt, va_list ap)
 {
-return vsnprintf_l(str, n, *_current_locale(), fmt, ap);
+return vsnprintf_l(str, n, LC_GLOBAL_LOCALE, fmt, ap);
 }
 
 int
Index: lib/libc/stdio/vsprintf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vsprintf.c,v
retrieving revision 1.18
diff -u -p -r1.18 vsprintf.c
--- lib/libc/stdio/vsprintf.c19 Apr 2013 15:22:25 -00001.18
+++ lib/libc/stdio/vsprintf.c7 May 2013 11:14:51 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -83,7 +83,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; vsprintf_l(char *str, locale_t loc, cons
 int
 vsprintf(char *str, const char *fmt, va_list ap)
 {
-return vsprintf_l(str, *_current_locale(), fmt, ap);
+return vsprintf_l(str, LC_GLOBAL_LOCALE, fmt, ap);
 }
 
 int
Index: lib/libc/stdio/vsscanf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vsscanf.c,v
retrieving revision 1.20
diff -u -p -r1.20 vsscanf.c
--- lib/libc/stdio/vsscanf.c19 Apr 2013 23:32:17 -00001.20
+++ lib/libc/stdio/vsscanf.c7 May 2013 11:14:49 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,5 +85,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; vsscanf_l(const char *str, locale_t loc,
 int
 vsscanf(const char *str, const char *fmt, va_list ap)
 {
-return vsscanf_l(str, *_current_locale(), fmt, ap);
+return vsscanf_l(str, LC_GLOBAL_LOCALE, fmt, ap);
 }
Index: lib/libc/stdio/vswprintf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vswprintf.c,v
retrieving revision 1.4
diff -u -p -r1.4 vswprintf.c
--- lib/libc/stdio/vswprintf.c19 Apr 2013 15:22:25 -00001.4
+++ lib/libc/stdio/vswprintf.c7 May 2013 11:14:48 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -109,5 +109,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int
 vswprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict fmt,
     va_list ap)
 {
-return vswprintf_l(s, n, *_current_locale(), fmt, ap);
+return vswprintf_l(s, n, LC_GLOBAL_LOCALE, fmt, ap);
 }
Index: lib/libc/stdio/vswscanf.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/stdio/vswscanf.c,v
retrieving revision 1.11
diff -u -p -r1.11 vswscanf.c
--- lib/libc/stdio/vswscanf.c22 Apr 2013 19:33:53 -00001.11
+++ lib/libc/stdio/vswscanf.c7 May 2013 11:14:46 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -115,5 +115,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int
 vswscanf(const wchar_t * __restrict str, const wchar_t * __restrict fmt,
     va_list ap)
 {
-return vswscanf_l(str, *_current_locale(), fmt, ap);
+return vswscanf_l(str, LC_GLOBAL_LOCALE, fmt, ap);
 }
Index: lib/libc/string/strcoll.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/string/strcoll.c,v
retrieving revision 1.11
diff -u -p -r1.11 strcoll.c
--- lib/libc/string/strcoll.c19 Apr 2013 23:28:47 -00001.11
+++ lib/libc/string/strcoll.c7 May 2013 11:14:44 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -57,7 +57,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int
 strcoll(const char *s1, const char *s2)
 {
 
-return strcoll_l(s1, s2, *_current_locale());
+return strcoll_l(s1, s2, LC_GLOBAL_LOCALE);
 }
 
 int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -66,9 +66,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; strcoll_l(const char *s1, const char *s2
 _DIAGASSERT(s1 != NULL);
 _DIAGASSERT(s2 != NULL);
 
-if (loc == NULL)
-loc = _C_locale;
-
 /* LC_COLLATE is unimplemented, hence always "C" */
 /* LINTED */ (void)loc;
 return (strcmp(s1, s2));
Index: lib/libc/string/strxfrm.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/string/strxfrm.c,v
retrieving revision 1.13
diff -u -p -r1.13 strxfrm.c
--- lib/libc/string/strxfrm.c19 Apr 2013 23:28:47 -00001.13
+++ lib/libc/string/strxfrm.c7 May 2013 11:14:42 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -62,8 +62,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; strxfrm_l(char *dst, const char *src, si
 
 _DIAGASSERT(src != NULL);
 
-if (loc == NULL)
-loc = _C_locale;
 /* XXX: LC_COLLATE should be implemented. */
 /* LINTED */(void)loc;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -83,5 +81,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; strxfrm_l(char *dst, const char *src, si
 size_t
 strxfrm(char *dst, const char *src, size_t n)
 {
-return strxfrm_l(dst, src, n, *_current_locale());
+return strxfrm_l(dst, src, n, LC_GLOBAL_LOCALE);
 }
Index: lib/libc/string/wcscasecmp.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/string/wcscasecmp.c,v
retrieving revision 1.3
diff -u -p -r1.3 wcscasecmp.c
--- lib/libc/string/wcscasecmp.c18 Apr 2013 23:24:27 -00001.3
+++ lib/libc/string/wcscasecmp.c7 May 2013 11:14:40 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -33,9 +33,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcscasecmp_l(const wchar_t *s1, const wc
 int lc2  = 0;
 int diff = 0;
 
-if (loc == NULL)
-loc = _C_locale;
-
 _DIAGASSERT(s1);
 _DIAGASSERT(s2);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -58,5 +55,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcscasecmp_l(const wchar_t *s1, const wc
 int
 wcscasecmp(const wchar_t *s1, const wchar_t *s2)
 {
-return wcscasecmp_l(s1, s2, *_current_locale());
+return wcscasecmp_l(s1, s2, LC_GLOBAL_LOCALE);
 }
Index: lib/libc/string/wcsncasecmp.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/string/wcsncasecmp.c,v
retrieving revision 1.3
diff -u -p -r1.3 wcsncasecmp.c
--- lib/libc/string/wcsncasecmp.c18 Apr 2013 23:24:27 -00001.3
+++ lib/libc/string/wcsncasecmp.c7 May 2013 11:14:39 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -36,9 +36,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcsncasecmp_l(const wchar_t *s1, const w
 _DIAGASSERT(s1);
 _DIAGASSERT(s2);
 
-if (loc == NULL)
-loc = _C_locale;
-
 while (n--) {
 lc1 = towlower_l(*s1, loc);
 lc2 = towlower_l(*s2, loc);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -60,5 +57,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcsncasecmp_l(const wchar_t *s1, const w
 int
 wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n)
 {
-return wcsncasecmp_l(s1, s2, n, *_current_locale());
+return wcsncasecmp_l(s1, s2, n, LC_GLOBAL_LOCALE);
 }
Index: lib/libc/time/strftime.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/time/strftime.c,v
retrieving revision 1.25
diff -u -p -r1.25 strftime.c
--- lib/libc/time/strftime.c21 Apr 2013 17:45:46 -00001.25
+++ lib/libc/time/strftime.c7 May 2013 11:14:32 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,7 +111,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; size_t
 strftime_z(const timezone_t sp, char * __restrict s, size_t maxsize,
     const char * __restrict format, const struct tm * __restrict t)
 {
-return strftime_lz(sp, s, maxsize, format, t, *_current_locale());
+return strftime_lz(sp, s, maxsize, format, t, LC_GLOBAL_LOCALE);
 }
 
 size_t
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -121,9 +121,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; strftime_lz(const timezone_t sp, char *c
 char *p;
 intwarn;
 
-if (loc == NULL)
-loc = _C_locale;
-
 warn = IN_NONE;
 p = _fmt(sp, ((format == NULL) ? "%c" : format), t, s, s + maxsize,
     &amp;amp;warn, loc);
Index: lib/libc/time/strptime.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/time/strptime.c,v
retrieving revision 1.37
diff -u -p -r1.37 strptime.c
--- lib/libc/time/strptime.c21 Apr 2013 17:45:47 -00001.37
+++ lib/libc/time/strptime.c7 May 2013 11:14:34 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -77,7 +77,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static const u_char *find_string(const u
 char *
 strptime(const char *buf, const char *fmt, struct tm *tm)
 {
-return strptime_l(buf, fmt, tm, *_current_locale());
+return strptime_l(buf, fmt, tm, LC_GLOBAL_LOCALE);
 }
 
 char *
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -88,9 +88,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; strptime_l(const char *buf, const char *
 int alt_format, i, split_year = 0, neg = 0, offs;
 const char *new_fmt;
 
-if (loc == NULL)
-loc = _C_locale;
-
 bp = (const u_char *)buf;
 
 while (bp != NULL &amp;amp;&amp;amp; (c = *fmt++) != '\0') {
&lt;/pre&gt;</description>
    <dc:creator>Joerg Sonnenberger</dc:creator>
    <dc:date>2013-05-09T20:27:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16692">
    <title>clang build of libc on netbsd-6 fails</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16692</link>
    <description>&lt;pre&gt;Hello,

   Sync'd earlier today, and building yields:

   /usr/src/lib/libc/thread-stub/thread-stub.c:415:1: error: function
'__libc_thr_exit_stub' could be declared with attribute
      'noreturn' [-Werror,-Wmissing-noreturn]

   Adding "__dead" attribute/macro to function makes clang happy.

&lt;/pre&gt;</description>
    <dc:creator>Jan Danielsson</dc:creator>
    <dc:date>2013-05-09T11:44:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16691">
    <title>build.sh -Uuom i386 fails on i386: sysinstmsgs.* missing</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16691</link>
    <description>&lt;pre&gt;When building netbsd-6 with ./build.sh -Uuom i386 release, I get an
error beause
src/distrib/i386/ramdisks/ramdisk-big/sysinst/sysinstmsgs.fr is missing
(in fact src/distrib/i386/ramdisks/ramdisk-big/sysinst/sysinstmsgs.* is
missing).

This is on work-build target in distrib/i386/ramdisks/ramdisk-big. Any
idea of what happens? This is not a new problem, I observed it during
the last month.

missing: ./var/run (created)
missing: ./var/log (created)
missing: ./var/spool (created)  
missing: ./var/spool/lock (created)
cp:
/home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big/sysinst/sysinstmsgs
fr: No such file or directory

*** Failed target:  work.built  
*** Failed command: [ "ramdiskbin
/home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big/../common/dot.profil
e /home2/manu/src-6/destdir.i386/usr/mdec/boot
/home2/manu/src-6/destdir.i386/usr/mdec/bootxx_ffsv1
/home2/manu/src-6/destdir.i386/usr/mdec/mbr
/home2/manu/src-6/destdir.i386/usr/mdec/mbr_ext
/home2/manu/src-6/destdir.i386/usr/mdec/mbr_bootsel
/home2/manu/src-6/etc/group /home2/manu/src-6/etc/mast er.passwd
/home2/manu/src-6/etc/netconfig
/home2/manu/src-6/distrib/common/protocols
/home2/manu/src-6/distrib/common/services /home2/manu/src-6/etc/MAKEDEV
work.spec /home2/manu/src-6/distrib/common/parselist.awk
/home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big/../common/list.ramdi
sk /home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big/list
/home2/manu/src-6/distrib/common/list.sysinst
/home2/manu/src-6/distrib/common/list.makedev" = ramdiskbin -a -f
work.built -a work.built -nt ramdiskbin ] || { echo '# ' " build "
ramdisk-big/work; rm -rf work work.built; mkdir -m 755 work &amp;amp;&amp;amp;
/home2/manu/src-6/tooldir.NetBSD-6.0-amd64/bin/nbmtree -def work.spec -p
work/ -UW &amp;amp;&amp;amp; BOOTMODEL=big NETBSDSRCDIR=/home2/manu/src-6
CRUNCHBIN=ramdiskbin
CURDIR=/home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big
DESTDIR=/home2/manu/src-6/destdir.i386
DISTRIBDIR=/home2/manu/src-6/distrib MACHINE=i386 MACHINE_ARCH=i386
MAKE=/home2/manu/src-6/tooldir.NetBSD-6.0-amd64/bin/nbmake
OBJDIR=/home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big
MAKEDEVSCRIPT=/home2/manu/src-6/etc/MAKEDEV
TARGETDIR=/home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big/work
/home2/manu/src-6/tooldir.NetBSD-6.0-amd64/bin/nbawk -f
/home2/manu/src-6/distrib/common/parselist.awk -v mode=populate
/home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big/../common/list.ramdi
sk /home2/manu/src-6/distrib/i386/ramdisks/ramdisk-big/list
/home2/manu/src-6/distrib/common/list.sysinst
/home2/manu/src-6/distrib/common/list.makedev
/home2/manu/src-6/distrib/common/list.dhcpcd
/home2/manu/src-6/distrib/common/list.inet6 | /bin/sh -e &amp;amp;&amp;amp; touch
work.built ; }
*** Error


&lt;/pre&gt;</description>
    <dc:creator>Emmanuel Dreyfus</dc:creator>
    <dc:date>2013-05-09T07:36:03</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16681">
    <title>where is res_nupdate()?</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16681</link>
    <description>&lt;pre&gt;Hi

NetBSD 6.0 has &amp;lt;res_update.h&amp;gt;, which defines res_nupdate(). However, the
symbol does not seems to be defined anywhere in /lib or /usr/lib, and
trying to use the header I get an error because of a missing
&amp;lt;isc/list.h&amp;gt;:

/usr/include/res_update.h:29:22: fatal error: isc/list.h: No such file
or directory

I guess, DNS update client functionnality is absent from NetBSD resolver
in base system. How do I get it? I tried pkgsrc/net/bind99 but it seems
to be also absent there.

&lt;/pre&gt;</description>
    <dc:creator>Emmanuel Dreyfus</dc:creator>
    <dc:date>2013-05-08T04:35:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16677">
    <title>dhcpcd-5.99.5 final testing for DHCPv6</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16677</link>
    <description>&lt;pre&gt;Hi Everyone

I've finally found the time to finish DHCPv6 support in dhcpcd :D
The only biggie I've not entirely finished is DAD support. In a 
nutshell, no kernel (either Linux or BSD) will allow userland to send 
from the unspecified address, which means we HAVE to use the kernel for 
RFC conformant DAD support which only works when adding tentative 
addresses. This isn't great and as such we just log DAD failures - this 
is no better or worse than other implementations.
Future work will try and work around this so we can send a DHCP6 
DECLINE message when duplicates are found.

A side effect of this is that we run our hook script when addresses may 
be in the tentative state.
This *may* be fixed before dhcpcd-6.0.0 is finally released.

The only thing I intend to do before release is add a rtadvd(8) hook 
script for better Prefix Delegation support:
http://roy.marples.name/projects/dhcpcd/ticket/262

The new code has extensively been tested under valgrind(1) and has been 
working well for me now for many months.

This is your final time to test it before release. Grab your tarball 
from here:
ftp://roy.marples.name/pub/dhcpcd/dhcpcd-5.99.5.tar.bz2

Thanks,

Roy

&lt;/pre&gt;</description>
    <dc:creator>Roy Marples</dc:creator>
    <dc:date>2013-05-03T15:05:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16671">
    <title>test(1)/find(1) time comparison with timespec</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16671</link>
    <description>&lt;pre&gt;Use timespec (st_mtimespec) instead of time_t (st_mtime) in time(1)'s -nt
(newer than) / -ot (older than) and find(1)'s -newer.

Question is, if these changes will surprise someone somewhere?
Index: bin/test/test.c
===================================================================
RCS file: /cvsroot/src/bin/test/test.c,v
retrieving revision 1.39
diff -u -r1.39 test.c
--- bin/test/test.c15 Mar 2012 02:02:21 -00001.39
+++ bin/test/test.c23 Apr 2013 13:28:26 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -694,7 +694,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 return (stat(f1, &amp;amp;b1) == 0 &amp;amp;&amp;amp;
 stat(f2, &amp;amp;b2) == 0 &amp;amp;&amp;amp;
-b1.st_mtime &amp;gt; b2.st_mtime);
+timespeccmp(&amp;amp;b1.st_mtimespec, &amp;amp;b2.st_mtimespec, &amp;gt;));
 }
 
 static int
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -704,7 +704,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 return (stat(f1, &amp;amp;b1) == 0 &amp;amp;&amp;amp;
 stat(f2, &amp;amp;b2) == 0 &amp;amp;&amp;amp;
-b1.st_mtime &amp;lt; b2.st_mtime);
+timespeccmp(&amp;amp;b1.st_mtimespec, &amp;amp;b2.st_mtimespec, &amp;lt;));
 }
 
 static int
Index: usr.bin/find/find.h
===================================================================
RCS file: /cvsroot/src/usr.bin/find/find.h,v
retrieving revision 1.24
diff -u -r1.24 find.h
--- usr.bin/find/find.h6 Feb 2007 13:25:01 -00001.24
+++ usr.bin/find/find.h23 Apr 2013 13:28:36 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -35,6 +35,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  */
 
 #include &amp;lt;regex.h&amp;gt;
+#include &amp;lt;time.h&amp;gt;
 
 /* node type */
 enum ntype {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,6 +72,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 nlink_t _l_data;/* link count */
 off_t _o_data;/* file size */
 time_t _t_data;/* time value */
+struct timespec _ts_data;/* time value */
 uid_t _u_data;/* uid */
 short _mt_data;/* mount flags */
 struct _plandata *_p_data[2];/* PLAN trees */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -106,6 +108,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #defineo_datap_un._o_data
 #definep_datap_un._p_data
 #definet_datap_un._t_data
+#definets_datap_un._ts_data
 #defineu_datap_un._u_data
 #definee_argvp_un.ex._e_argv
 #definee_origp_un.ex._e_orig
Index: usr.bin/find/function.c
===================================================================
RCS file: /cvsroot/src/usr.bin/find/function.c,v
retrieving revision 1.71
diff -u -r1.71 function.c
--- usr.bin/find/function.c26 Aug 2012 14:26:37 -00001.71
+++ usr.bin/find/function.c23 Apr 2013 13:28:36 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -218,7 +218,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 f_anewer(PLAN *plan, FTSENT *entry)
 {
 
-return (entry-&amp;gt;fts_statp-&amp;gt;st_atime &amp;gt; plan-&amp;gt;t_data);
+return timespeccmp(&amp;amp;entry-&amp;gt;fts_statp-&amp;gt;st_atimespec, &amp;amp;plan-&amp;gt;ts_data, &amp;gt;);
 }
 
 PLAN *
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -234,7 +234,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 if (stat(filename, &amp;amp;sb))
 err(1, "%s", filename);
 new = palloc(N_ANEWER, f_anewer);
-new-&amp;gt;t_data = sb.st_atime;
+new-&amp;gt;ts_data = sb.st_atimespec;
 return (new);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -265,6 +265,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 TIME_CORRECT(new, N_ATIME);
 return (new);
 }
+
 /*
  * -cmin n functions --
  *
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -304,7 +305,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 f_cnewer(PLAN *plan, FTSENT *entry)
 {
 
-return (entry-&amp;gt;fts_statp-&amp;gt;st_ctime &amp;gt; plan-&amp;gt;t_data);
+return timespeccmp(&amp;amp;entry-&amp;gt;fts_statp-&amp;gt;st_ctimespec, &amp;amp;plan-&amp;gt;ts_data, &amp;gt;);
 }
 
 PLAN *
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -320,7 +321,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 if (stat(filename, &amp;amp;sb))
 err(1, "%s", filename);
 new = palloc(N_CNEWER, f_cnewer);
-new-&amp;gt;t_data = sb.st_ctime;
+new-&amp;gt;ts_data = sb.st_ctimespec;
 return (new);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1212,6 +1213,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 new-&amp;gt;min_data = atoi(arg);
 return (new);
 }
+
 /*
  * -mmin n functions --
  *
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1239,6 +1241,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 TIME_CORRECT(new, N_MMIN);
 return (new);
 }
+
 /*
  * -mtime n functions --
  *
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1327,7 +1330,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 f_newer(PLAN *plan, FTSENT *entry)
 {
 
-return (entry-&amp;gt;fts_statp-&amp;gt;st_mtime &amp;gt; plan-&amp;gt;t_data);
+return timespeccmp(&amp;amp;entry-&amp;gt;fts_statp-&amp;gt;st_mtimespec, &amp;amp;plan-&amp;gt;ts_data, &amp;gt;);
 }
 
 PLAN *
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1343,7 +1346,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 if (stat(filename, &amp;amp;sb))
 err(1, "%s", filename);
 new = palloc(N_NEWER, f_newer);
-new-&amp;gt;t_data = sb.st_mtime;
+new-&amp;gt;ts_data = sb.st_mtimespec;
 return (new);
 }
 
&lt;/pre&gt;</description>
    <dc:creator>Masao Uebayashi</dc:creator>
    <dc:date>2013-05-02T08:07:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16654">
    <title>Support for non-default rounding modes in the softfloat layer</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16654</link>
    <description>&lt;pre&gt;Hi all,
one major difference between the existing softfloat support in libc and
compiler-rt's softfloat implementation is the (non)support for
rounding modes. libc supports some global variables for that, which is
of limited usefulness in a multi-threaded world. Making them fully
thread-local on the other hand is quite expensive. A discussion with the
responsible developer of the compiler-rt code and some LLVM folks
resulting in the suggestion of providing an alternative set of entry
points, where the float environment is an explicit argument, if this
feature is really desirable. Long story short, does anyone use
non-default rounding modes on platforms with softfloat?

Joerg

&lt;/pre&gt;</description>
    <dc:creator>Joerg Sonnenberger</dc:creator>
    <dc:date>2013-04-30T10:17:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16653">
    <title>compiler_rt -- separate or part of libc?</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16653</link>
    <description>&lt;pre&gt;Hi all,
compiler-rt provides a replacement for almost all of libgcc under
BSD/MIT license. The exception here is the unwinder, but that's a topic
for another day. As there is no longer a license concern, it brings up
the question on whether we want to keep the files in separate library at
all, especially given the cyclic dependencies for some of the edge
cases. There is already some overlap with libc due to the softfloat
layer, so merging the compiler runtime into libc is not without
precendence. Opinions?

Joerg

&lt;/pre&gt;</description>
    <dc:creator>Joerg Sonnenberger</dc:creator>
    <dc:date>2013-04-30T10:13:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16652">
    <title>vndcompress</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16652</link>
    <description>&lt;pre&gt;(I am not subscribed to this list, so please cc me in replies.)

I rewrote vndcompress(1) to fix a few little bugs, to make it a lot
more robust, and to support SIGINFO, restarting if interrupted, and
non-seekable input/output (except for the output of vndcompress).  The
code is at &amp;lt;http://www.NetBSD.org/~riastradh/tmp/vndcompress&amp;gt; (which
is also a Git repository).

It can be a byte-for-byte drop-in replacement for vndcompress(1),
which means that files that are not a multiple of the compression
block size get spurious zero padding when compressed, but I don't
think that's terribly useful -- I left it as a cpp switch called
VNDCOMPRESS_COMPAT, in any case.

Comments?  Objections to replacing the current vndcompress code by it?

&lt;/pre&gt;</description>
    <dc:creator>Taylor R Campbell</dc:creator>
    <dc:date>2013-04-29T01:36:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16647">
    <title>RFC: Fix for PR 47645</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16647</link>
    <description>&lt;pre&gt;I've looked at uwe's PR 47645, and thought that the best way
(especially going forward if we want to move to using pkg tools form
pkgsrc) is to separate the pkg definitions out into their own
/etc/pkg.conf and /etc/defaults/pkg.conf

Accordingly, diffs here for review (I haven't done a pkg.conf(5) as
I didn't think it necessary). More concerned about the instance of
an /etc/wibble.conf where no /etc/wibble script exists.

Comments?

Thanks,
Alistair
--- /dev/null2013-04-27 17:44:46.000000000 -0700
+++ pkg.conf2013-04-27 17:34:13.000000000 -0700
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+#$NetBSD: security.conf,v 1.8 2000/10/01 05:53:03 lukem Exp $
+#
+# packaging tools configuration
+
+if [ -r /etc/defaults/pkg.conf ]; then
+. /etc/defaults/pkg.conf
+fi
+
+# Add local overrides below
+#
--- /dev/null2013-04-27 17:44:46.000000000 -0700
+++ defaults/pkg.conf2013-04-27 17:33:26.000000000 -0700
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+#$NetBSD: security.conf,v 1.24 2012/04/05 09:09:27 spz Exp $
+#
+# /etc/defaults/pkg.conf --
+#default configuration of /etc/pkg.conf
+#
+# packaging tools configuration
+#
+# DO NOT EDIT THIS FILE DIRECTLY; IT MAY BE REPLACED DURING A SYSTEM UPGRADE.
+# EDIT /etc/security.conf INSTEAD.
+#
+
+pkg_admin=/usr/sbin/pkg_admin
+pkg_info=/usr/sbin/pkg_info
Index: daily
===================================================================
RCS file: /cvsroot/src/etc/daily,v
retrieving revision 1.88
diff -u -r1.88 daily
--- daily8 Mar 2013 14:32:12 -00001.88
+++ daily28 Apr 2013 00:48:48 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -10,6 +10,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 if [ -s /etc/daily.conf ]; then
 . /etc/daily.conf
 fi
+if [ -s /etc/pkg.conf ]; then
+. /etc/pkg.conf
+fi
 
 host="$(hostname)"
 date="$(date)"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -257,7 +260,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 fi
 fi
 
-if pkg_info ${_compat_K_flag} -q -E '*'; then
+if ${pkg_info} ${_compat_K_flag} -q -E '*'; then
 if [ -z "$fetch_pkg_vulnerabilities" ]; then
 echo "fetch_pkg_vulnerabilities is not set in daily.conf(5)."
 echo "You should set it to YES to enable vulnerability checks"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -265,7 +268,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 elif checkyesno fetch_pkg_vulnerabilities; then
 echo ""
 echo "Fetching package vulnerabilities database:"
-( umask 022 &amp;amp;&amp;amp; pkg_admin ${_compat_K_flag} \
+( umask 022 &amp;amp;&amp;amp; ${pkg_admin} ${_compat_K_flag} \
     fetch-pkg-vulnerabilities -u )
 fi
 fi
Index: security
===================================================================
RCS file: /cvsroot/src/etc/security,v
retrieving revision 1.111
diff -u -r1.111 security
--- security5 Apr 2012 09:09:27 -00001.111
+++ security28 Apr 2013 00:48:48 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -21,6 +21,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 if [ -s /etc/security.conf ]; then
 . /etc/security.conf
 fi
+if [ -s /etc/pkg.conf ]; then
+. /etc/pkg.conf
+fi
 
 # Set reasonable defaults (if they're not set in security.conf)
 #
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -926,7 +929,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 if checkyesno check_pkgs &amp;amp;&amp;amp; have_pkgs; then
 pkgs=$work_dir/pkgs
 migrate_file "$backup_dir/pkgs" "$pkgs"
-pkg_dbdir=$(pkg_admin config-var PKG_DBDIR)
+pkg_dbdir=$(${pkg_admin} config-var PKG_DBDIR)
 : ${pkg_dbdir:=/var/db/pkg}
 (cd $pkg_dbdir
 $pkg_info | sort
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1009,7 +1012,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 if have_pkgs; then
 if checkyesno check_pkg_vulnerabilities; then
-pkg_admin ${_compat_K_flag} audit &amp;gt;${OUTPUT} 2&amp;gt;&amp;amp;1
+${pkg_admin} ${_compat_K_flag} audit &amp;gt;${OUTPUT} 2&amp;gt;&amp;amp;1
 if [ -s ${OUTPUT} ]; then
 printf "\nInstalled vulnerable packages:\n"
 cat ${OUTPUT}
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1017,7 +1020,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 fi
 
 if checkyesno check_pkg_signatures; then
-pkg_admin ${_compat_K_flag} check &amp;gt;${OUTPUT} 2&amp;gt;&amp;amp;1
+${pkg_admin} ${_compat_K_flag} check &amp;gt;${OUTPUT} 2&amp;gt;&amp;amp;1
 if [ $? -ne 0 ]; then
 printf "\nFiles with invalid signatures:\n"
 cat ${OUTPUT}
Index: defaults/security.conf
===================================================================
RCS file: /cvsroot/src/etc/defaults/security.conf,v
retrieving revision 1.24
diff -u -r1.24 security.conf
--- defaults/security.conf5 Apr 2012 09:09:27 -00001.24
+++ defaults/security.conf28 Apr 2013 00:48:48 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -30,7 +30,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 backup_dir=/var/backups
 backup_uses_rcs=YES
 diff_options=-u
-pkg_info=/usr/sbin/pkg_info
 
 check_homes_permit_usergroups=NO
 
&lt;/pre&gt;</description>
    <dc:creator>Alistair Crooks</dc:creator>
    <dc:date>2013-04-28T00:53:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16632">
    <title>Namespace pollution in strings.h</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16632</link>
    <description>&lt;pre&gt;The strings.h header is posix defined and only allowed to export very
few user visible symbols.

We do not follow the standard here, the attache patch tries to fix
that - however, this will result in ~nobody finding/using the popcount*
functions.

What do you think?

Martin
Index: strings.h
===================================================================
RCS file: /cvsroot/src/include/strings.h,v
retrieving revision 1.18
diff -u -r1.18 strings.h
--- strings.h22 Aug 2011 01:24:15 -00001.18
+++ strings.h27 Apr 2013 17:50:23 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -54,11 +54,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 void bzero(void *, size_t);
 int ffs(int);
 char*index(const char *, int);
+
+#if defined(_NETBSD_SOURCE)
 unsigned intpopcount(unsigned int) __constfunc;
 unsigned intpopcountl(unsigned long) __constfunc;
 unsigned intpopcountll(unsigned long long) __constfunc;
 unsigned intpopcount32(__uint32_t) __constfunc;
 unsigned intpopcount64(__uint64_t) __constfunc;
+#endif
+
 char*rindex(const char *, int);
 int strcasecmp(const char *, const char *);
 int strncasecmp(const char *, const char *, size_t);
&lt;/pre&gt;</description>
    <dc:creator>Martin Husemann</dc:creator>
    <dc:date>2013-04-27T17:52:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16629">
    <title>radiusd: Error detected by libpthread: Invalid mutex.</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16629</link>
    <description>&lt;pre&gt;I just updated from pkgsrc-2012Q4 to -2013Q1, and now FreeRADIUS fails with

radiusd: Error detected by libpthread: Invalid mutex.

There was no update to freeradius2 from 2012Q4 to 2013Q1, and indeed reverting
to the old package doesn't help.
So the issue is probably with one of the packages it depends on, i.e. perl,
gdbm, openldap-client, net-snmp or libltdl. I haven't tried to revert these yet.

It does help to start radiud single-threaded (-s), though.

Any ideas how to debug this? Does it ring a bell to someone?

&lt;/pre&gt;</description>
    <dc:creator>Edgar Fuß</dc:creator>
    <dc:date>2013-04-26T15:59:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16610">
    <title>RT-11 filesystem support for makefs</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16610</link>
    <description>&lt;pre&gt;Hello,

I added DEC RT-11 filesystem support to makefs, working from manuals on
bitsavers.org [1][2], sources of PUTR [3] and arff [4], and advice from
those who actually used the PDP-11; the images are accepted by RT-11 5.3
in SIMH.  It's still work in progress, please review it.

I did not find documentation for certain features (the INIT/RESTORE data
area, bad block relocation table, how to write boot blocks...).

Number of directory segments is chosen automatically, depending on the
size of filesystem, and is also settable via option.  I'm not sure that
'extra words in directory entry' feature is useful, so it's not there.
Filesystem is not autosized yet, '-s' option is required.

Volume and Owner IDs are fixed (makefs doesn't support string options).
Timestamps can be written with or without 'age' field, and if a date
cannot be represented in RT-11 format, it is written as zero ('no
date').

[1] AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf
[2] AA-PE7VA-TC_RT-11_Device_Handlers_Manual_Aug91.pdf
[3] http://www.dbit.com/pub/putr/putr.asm
[4] ftp://ftp.mrynet.com/pub/os/UNIX/4.2BSD/etc/arff.c

&lt;/pre&gt;</description>
    <dc:creator>Sergey Svishchev</dc:creator>
    <dc:date>2013-04-25T19:43:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16603">
    <title>utility to call getaddrinfo(3)</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16603</link>
    <description>&lt;pre&gt;(I am not subscribed to this list, so please cc me in replies.)

I'd like to import the following little utility to call getaddrinfo(3)
and print its output human- and awk-readably:

http://www.NetBSD.org/~riastradh/tmp/getaddrinfo-20130425.tgz

I often find that I want to see why applications are behaving the way
they are when dig(1) doesn't explain it, and as far as I know we have
no utility in base to answer this question, so I'd like to fill that
gap.

Comments?  Objections?



NAME
     getaddrinfo -- resolve names to socket addresses

SYNOPSIS
     getaddrinfo [-cnNP] [-f family] [-p protocol] [-t socktype] [-s service]
                 [hostname]

DESCRIPTION
     The getaddrinfo utility resolves host and service names to socket
     addresses as if with the getaddrinfo(3) routine and formats them to
     standard output.

&lt;/pre&gt;</description>
    <dc:creator>Taylor R Campbell</dc:creator>
    <dc:date>2013-04-25T15:01:14</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16598">
    <title>duplocale/freelocale/newlocale support</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16598</link>
    <description>&lt;pre&gt;Hi all,
attached is the remaining part for the explicit locale support.
This is with small changes from Takehiko Nozaki's patch.

Without going over the full libc source, this should bring us up to
POSIX2008 support with one exception. uselocale() and therefore thread
specific locales are not included. I am considering filling an issue
with Austin to declare that a separate extension. Adding thread specific
locales requires ABI breakage on most platforms and adds a non-trivial
performance penality e.g. to the ctype macros. I maintain that the gain
doesn't justify the cost.

Joerg
Index: include/locale.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/include/locale.h,v
retrieving revision 1.19
diff -u -p -r1.19 locale.h
--- include/locale.h17 Apr 2013 20:40:13 -00001.19
+++ include/locale.h21 Apr 2013 18:13:10 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -96,7 +96,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; char *setlocale(int, const char *) __REN
 typedef struct _locale*locale_t;
 #  define __LOCALE_T_DECLARED
 #  endif
+#defineLC_ALL_MASK((int)~0)
+#defineLC_COLLATE_MASK((int)(1 &amp;lt;&amp;lt; LC_COLLATE))
+#defineLC_CTYPE_MASK((int)(1 &amp;lt;&amp;lt; LC_CTYPE))
+#defineLC_MONETARY_MASK((int)(1 &amp;lt;&amp;lt; LC_MONETARY))
+#defineLC_NUMERIC_MASK((int)(1 &amp;lt;&amp;lt; LC_NUMERIC))
+#defineLC_TIME_MASK((int)(1 &amp;lt;&amp;lt; LC_TIME))
+#defineLC_MESSAGES_MASK((int)(1 &amp;lt;&amp;lt; LC_MESSAGES))
 struct lconv*localeconv_l(locale_t);
+locale_tduplocale(locale_t);
+voidfreelocale(locale_t);
+locale_tnewlocale(int, const char *, locale_t);
 #endif
 __END_DECLS
 
Index: lib/libc/include/namespace.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/include/namespace.h,v
retrieving revision 1.165
diff -u -p -r1.165 namespace.h
--- lib/libc/include/namespace.h21 Apr 2013 17:45:46 -00001.165
+++ lib/libc/include/namespace.h21 Apr 2013 18:09:21 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -243,6 +243,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define dn_expand_dn_expand
 #define dprintf_l_dprintf_l
 #define drand48_drand48
+#define duplocale_duplocale
 #define endfsent_endfsent
 #define endgrent_endgrent
 #define endhostent_endhostent
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -290,6 +291,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define freenetconfigent_freenetconfigent
 #define freeaddrinfo_freeaddrinfo
 #define freeifaddrs_freeifaddrs
+#define freelocale_freelocale
 #define fscanf_l_fscanf_l
 #define fstatvfs_fstatvfs
 #define ftok_ftok
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -479,6 +481,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define nc_perror_nc_perror
 #define nc_sperror_nc_sperror
 #define nanosleep_nanosleep
+#define newlocale_newlocale
 #define nice_nice
 #if 0
 #define nlist_nlist
Index: lib/libc/locale/Makefile.inc
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/Makefile.inc,v
retrieving revision 1.61
diff -u -p -r1.61 Makefile.inc
--- lib/libc/locale/Makefile.inc14 Apr 2013 23:44:53 -00001.61
+++ lib/libc/locale/Makefile.inc21 Apr 2013 18:32:37 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,8 +6,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 SRCS+=_def_messages.c _def_monetary.c _def_numeric.c _def_time.c \
 setlocale.c __mb_cur_max.c \
-current_locale.c c_locale.c global_locale.c fix_grouping.c \
-localeconv.c nl_langinfo.c \
+current_locale.c c_locale.c duplocale.c global_locale.c fix_grouping.c \
+freelocale.c localeconv.c newlocale.c nl_langinfo.c \
 generic_lc_all.c dummy_lc_collate.c \
 wcstol.c wcstoll.c wcstoimax.c wcstoul.c wcstoull.c wcstoumax.c \
 wcstod.c wcstof.c wcstold.c wcscoll.c wcsxfrm.c wcsftime.c
Index: lib/libc/locale/setlocale.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/setlocale.c,v
retrieving revision 1.61
diff -u -p -r1.61 setlocale.c
--- lib/libc/locale/setlocale.c14 Apr 2013 23:30:16 -00001.61
+++ lib/libc/locale/setlocale.c22 Apr 2013 17:38:45 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -56,6 +56,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static _locale_set_t all_categories[_LC_
 _locale_set_t
 _find_category(int category)
 {
+static int initialised;
+
+if (!initialised) {
+if (issetugid() || ((_PathLocale == NULL &amp;amp;&amp;amp;
+    (_PathLocale = getenv("PATH_LOCALE")) == NULL) ||
+    *_PathLocale == '\0'))
+_PathLocale = _PATH_LOCALE;
+initialised = 1;
+}
+
 if (category &amp;gt;= LC_ALL &amp;amp;&amp;amp; category &amp;lt; _LC_LAST)
 return all_categories[category];
 return NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -91,10 +101,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; __setlocale(int category, const char *na
 sl = _find_category(category);
 if (sl == NULL)
 return NULL;
-if (issetugid() || ((_PathLocale == NULL &amp;amp;&amp;amp;
-    (_PathLocale = getenv("PATH_LOCALE")) == NULL) ||
-    *_PathLocale == '\0'))
-_PathLocale = _PATH_LOCALE;
 impl = *_current_locale();
 return __UNCONST((*sl)(name, impl));
 }
Index: lib/libc/locale/duplocale.c
===================================================================
RCS file: lib/libc/locale/duplocale.c
diff -N lib/libc/locale/duplocale.c
--- /dev/null1 Jan 1970 00:00:00 -0000
+++ lib/libc/locale/duplocale.c21 Apr 2013 18:18:23 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,52 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/* $NetBSD$ */
+
+/*-
+ * Copyright (c)2008, 2011 Citrus Project,
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include &amp;lt;sys/cdefs.h&amp;gt;
+__RCSID("$NetBSD$");
+
+#include "namespace.h"
+
+#include &amp;lt;stdlib.h&amp;gt;
+#include &amp;lt;locale.h&amp;gt;
+#include &amp;lt;string.h&amp;gt;
+
+#include "setlocale_local.h"
+
+__weak_alias(duplocale, _duplocale)
+
+locale_t
+duplocale(locale_t src)
+{
+struct _locale *dst;
+
+dst = malloc(sizeof(*dst));
+if (dst != NULL)
+memcpy(dst, src, sizeof(*dst));
+
+return dst;
+}
Index: lib/libc/locale/freelocale.c
===================================================================
RCS file: lib/libc/locale/freelocale.c
diff -N lib/libc/locale/freelocale.c
--- /dev/null1 Jan 1970 00:00:00 -0000
+++ lib/libc/locale/freelocale.c21 Apr 2013 18:32:46 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,51 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/* $NetBSD$ */
+
+/*-
+ * Copyright (c)2008, 2011 Citrus Project,
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include &amp;lt;sys/cdefs.h&amp;gt;
+__RCSID("$NetBSD$");
+
+#include "namespace.h"
+
+#define __SETLOCALE_SOURCE__
+#include &amp;lt;assert.h&amp;gt;
+#include &amp;lt;locale.h&amp;gt;
+#include &amp;lt;stdlib.h&amp;gt;
+
+#include "setlocale_local.h"
+
+__weak_alias(freelocale, _freelocale)
+
+void
+freelocale(locale_t locale)
+{
+
+_DIAGASSERT(locale != _LC_GLOBAL_LOCALE);
+_DIAGASSERT(locale != NULL);
+_DIAGASSERT(locale != &amp;amp;_global_locale);
+free(locale);
+}
Index: lib/libc/locale/newlocale.c
===================================================================
RCS file: lib/libc/locale/newlocale.c
diff -N lib/libc/locale/newlocale.c
--- /dev/null1 Jan 1970 00:00:00 -0000
+++ lib/libc/locale/newlocale.c22 Apr 2013 07:12:18 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,101 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/* $NetBSD$ */
+
+/*-
+ * Copyright (c)2008, 2011 Citrus Project,
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include &amp;lt;sys/cdefs.h&amp;gt;
+__RCSID("$NetBSD$");
+
+#include "namespace.h"
+#include &amp;lt;assert.h&amp;gt;
+#include &amp;lt;errno.h&amp;gt;
+#include &amp;lt;locale.h&amp;gt;
+#include &amp;lt;stdlib.h&amp;gt;
+#include &amp;lt;string.h&amp;gt;
+
+#include "setlocale_local.h"
+
+__weak_alias(newlocale, _newlocale)
+
+locale_t
+newlocale(int mask, const char *name, locale_t src)
+{
+struct _locale *dst;
+char head[_LOCALENAME_LEN_MAX * (_LC_LAST - 1)], *tail;
+const char *tokens[_LC_LAST - 1];
+_locale_set_t l;
+int i, howmany, categories[_LC_LAST - 1];
+
+if (name == NULL)
+name = _C_LOCALE;
+dst = malloc(sizeof(*dst));
+if (dst == NULL)
+return (locale_t)NULL;
+if (src == NULL)
+src = *_current_locale();
+memcpy(dst, src, sizeof(*src));
+strlcpy(&amp;amp;head[0], name, sizeof(head));
+tokens[0] = (const char *)&amp;amp;head[0];
+tail = strchr(tokens[0], '/');
+if (tail == NULL) {
+for (i = 1; i &amp;lt; _LC_LAST; ++i) {
+if (mask &amp;amp; (1 &amp;lt;&amp;lt; i)) {
+l = _find_category(i);
+_DIAGASSERT(l != NULL);
+(*l)(tokens[0], dst);
+}
+}
+} else {
+*tail++ = '\0';
+howmany = 0;
+for (i = 1; i &amp;lt; _LC_LAST; ++i) {
+if (mask &amp;amp; (1 &amp;lt;&amp;lt; i))
+categories[howmany++] = i;
+}
+if (howmany-- &amp;gt; 0) {
+for (i = 1; i &amp;lt; howmany; ++i) {
+tokens[i] = (const char *)tail;
+tail = strchr(tokens[i], '/');
+if (tail == NULL) {
+free(dst);
+return NULL;
+}
+}
+tokens[howmany] = tail;
+tail = strchr(tokens[howmany], '/');
+if (tail != NULL) {
+free(dst);
+return NULL;
+}
+for (i = 0; i &amp;lt;= howmany; ++i) {
+l = _find_category(categories[i]);
+_DIAGASSERT(l != NULL);
+(*l)(tokens[i], dst);
+}
+}
+}
+return (locale_t)dst;
+}
&lt;/pre&gt;</description>
    <dc:creator>Joerg Sonnenberger</dc:creator>
    <dc:date>2013-04-23T20:53:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16595">
    <title>[PATCH] Support for mbsnrtowcs and wcsnrtomb</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16595</link>
    <description>&lt;pre&gt;Hi all,
attached patch adds the POSIX2008 functions mbsnrtowcs and wcsnrtombs.
They differ from the non-n variant in the possibility of limiting the
input size.

Joerg
Index: distrib/sets/lists/base/ad.mips64eb
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/base/ad.mips64eb,v
retrieving revision 1.127
diff -u -p -r1.127 ad.mips64eb
--- distrib/sets/lists/base/ad.mips64eb15 Apr 2013 19:26:15 -00001.127
+++ distrib/sets/lists/base/ad.mips64eb21 Apr 2013 13:01:50 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -26,51 +26,51 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/lib/64base-compat-lib
 ./usr/lib/64/i18nbase-compat-lib
 ./usr/lib/64/i18n/libBIG5.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libBIG5.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libBIG5.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libDECHanyu.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libDECHanyu.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libDECHanyu.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libEUC.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libEUC.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libEUC.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libEUCTW.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libEUCTW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libEUCTW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libGBK2K.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libGBK2K.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libGBK2K.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libHZ.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libHZ.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libHZ.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libISO2022.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libISO2022.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libISO2022.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libJOHAB.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libJOHAB.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libJOHAB.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libMSKanji.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libMSKanji.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libMSKanji.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libUES.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libUES.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libUES.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libUTF1632.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libUTF1632.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libUTF1632.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libUTF7.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libUTF7.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libUTF7.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libUTF8.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libUTF8.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libUTF8.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libVIQR.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libVIQR.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libVIQR.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libZW.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libZW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libZW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libiconv_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libiconv_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libiconv_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libiconv_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libiconv_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libiconv_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_646.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_646.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_646.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_parallel.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_parallel.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_parallel.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_serial.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_serial.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_serial.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_zone.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_zone.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_zone.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/libamu.so.4base-compat-shlibcompat,pic
 ./usr/lib/64/libamu.so.4.0base-compat-shlibcompat,pic
 ./usr/lib/64/libarchive.so.3base-compat-shlibcompat,pic
Index: distrib/sets/lists/base/ad.mips64el
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/base/ad.mips64el,v
retrieving revision 1.126
diff -u -p -r1.126 ad.mips64el
--- distrib/sets/lists/base/ad.mips64el11 Apr 2013 17:43:15 -00001.126
+++ distrib/sets/lists/base/ad.mips64el21 Apr 2013 13:01:13 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -26,51 +26,51 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/lib/64base-compat-lib
 ./usr/lib/64/i18nbase-compat-lib
 ./usr/lib/64/i18n/libBIG5.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libBIG5.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libBIG5.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libDECHanyu.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libDECHanyu.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libDECHanyu.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libEUC.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libEUC.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libEUC.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libEUCTW.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libEUCTW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libEUCTW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libGBK2K.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libGBK2K.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libGBK2K.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libHZ.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libHZ.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libHZ.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libISO2022.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libISO2022.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libISO2022.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libJOHAB.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libJOHAB.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libJOHAB.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libMSKanji.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libMSKanji.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libMSKanji.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libUES.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libUES.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libUES.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libUTF1632.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libUTF1632.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libUTF1632.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libUTF7.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libUTF7.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libUTF7.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libUTF8.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libUTF8.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libUTF8.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libVIQR.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libVIQR.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libVIQR.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libZW.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libZW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libZW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libiconv_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libiconv_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libiconv_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libiconv_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libiconv_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libiconv_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_646.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_646.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_646.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_parallel.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_parallel.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_parallel.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_serial.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_serial.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_serial.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/i18n/libmapper_zone.so.5base-i18n-shlibcompat,pic
-./usr/lib/64/i18n/libmapper_zone.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/64/i18n/libmapper_zone.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/64/libamu.so.4base-compat-shlibcompat,pic
 ./usr/lib/64/libamu.so.4.0base-compat-shlibcompat,pic
 ./usr/lib/64/libarchive.so.3base-compat-shlibcompat,pic
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -354,51 +354,51 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/lib/o32base-compat-lib
 ./usr/lib/o32/i18nbase-compat-lib
 ./usr/lib/o32/i18n/libBIG5.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libBIG5.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libBIG5.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libDECHanyu.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libDECHanyu.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libDECHanyu.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libEUC.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libEUC.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libEUC.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libEUCTW.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libEUCTW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libEUCTW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libGBK2K.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libGBK2K.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libGBK2K.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libHZ.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libHZ.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libHZ.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libISO2022.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libISO2022.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libISO2022.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libJOHAB.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libJOHAB.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libJOHAB.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libMSKanji.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libMSKanji.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libMSKanji.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libUES.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libUES.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libUES.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libUTF1632.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libUTF1632.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libUTF1632.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libUTF7.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libUTF7.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libUTF7.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libUTF8.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libUTF8.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libUTF8.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libVIQR.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libVIQR.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libVIQR.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libZW.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libZW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libZW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libiconv_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libiconv_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libiconv_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libiconv_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libiconv_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libiconv_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libmapper_646.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libmapper_646.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libmapper_646.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libmapper_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libmapper_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libmapper_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libmapper_parallel.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libmapper_parallel.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libmapper_parallel.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libmapper_serial.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libmapper_serial.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libmapper_serial.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libmapper_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libmapper_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libmapper_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/i18n/libmapper_zone.so.5base-i18n-shlibcompat,pic
-./usr/lib/o32/i18n/libmapper_zone.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/o32/i18n/libmapper_zone.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/o32/libamu.so.4base-compat-shlibcompat,pic
 ./usr/lib/o32/libamu.so.4.0base-compat-shlibcompat,pic
 ./usr/lib/o32/libarchive.so.3base-compat-shlibcompat,pic
Index: distrib/sets/lists/base/md.amd64
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/base/md.amd64,v
retrieving revision 1.204
diff -u -p -r1.204 md.amd64
--- distrib/sets/lists/base/md.amd6411 Apr 2013 17:43:16 -00001.204
+++ distrib/sets/lists/base/md.amd6421 Apr 2013 13:01:22 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,51 +18,51 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/lib/i386base-compat-libcompat
 ./usr/lib/i386/i18nbase-compat-libcompat
 ./usr/lib/i386/i18n/libBIG5.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libBIG5.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libBIG5.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libDECHanyu.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libDECHanyu.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libDECHanyu.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libEUC.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libEUC.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libEUC.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libEUCTW.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libEUCTW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libEUCTW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libGBK2K.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libGBK2K.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libGBK2K.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libHZ.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libHZ.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libHZ.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libISO2022.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libISO2022.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libISO2022.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libJOHAB.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libJOHAB.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libJOHAB.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libMSKanji.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libMSKanji.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libMSKanji.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libUES.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libUES.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libUES.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libUTF1632.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libUTF1632.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libUTF1632.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libUTF7.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libUTF7.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libUTF7.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libUTF8.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libUTF8.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libUTF8.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libVIQR.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libVIQR.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libVIQR.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libZW.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libZW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libZW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libiconv_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libiconv_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libiconv_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libiconv_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libiconv_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libiconv_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libmapper_646.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libmapper_646.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libmapper_646.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libmapper_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libmapper_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libmapper_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libmapper_parallel.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libmapper_parallel.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libmapper_parallel.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libmapper_serial.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libmapper_serial.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libmapper_serial.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libmapper_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libmapper_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libmapper_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/i18n/libmapper_zone.so.5base-i18n-shlibcompat,pic
-./usr/lib/i386/i18n/libmapper_zone.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/i386/i18n/libmapper_zone.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/i386/libamu.so.4base-compat-shlibcompat,pic
 ./usr/lib/i386/libamu.so.4.0base-compat-shlibcompat,pic
 ./usr/lib/i386/libarchive.so.3base-compat-shlibcompat,pic
Index: distrib/sets/lists/base/md.sparc64
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/base/md.sparc64,v
retrieving revision 1.191
diff -u -p -r1.191 md.sparc64
--- distrib/sets/lists/base/md.sparc6411 Apr 2013 17:43:16 -00001.191
+++ distrib/sets/lists/base/md.sparc6421 Apr 2013 13:01:30 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -16,51 +16,51 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/lib/sparcbase-compat-libcompat
 ./usr/lib/sparc/i18nbase-compat-libcompat
 ./usr/lib/sparc/i18n/libBIG5.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libBIG5.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libBIG5.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libDECHanyu.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libDECHanyu.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libDECHanyu.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libEUC.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libEUC.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libEUC.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libEUCTW.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libEUCTW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libEUCTW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libGBK2K.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libGBK2K.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libGBK2K.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libHZ.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libHZ.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libHZ.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libISO2022.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libISO2022.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libISO2022.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libJOHAB.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libJOHAB.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libJOHAB.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libMSKanji.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libMSKanji.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libMSKanji.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libUES.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libUES.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libUES.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libUTF1632.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libUTF1632.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libUTF1632.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libUTF7.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libUTF7.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libUTF7.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libUTF8.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libUTF8.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libUTF8.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libVIQR.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libVIQR.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libVIQR.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libZW.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libZW.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libZW.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libiconv_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libiconv_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libiconv_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libiconv_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libiconv_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libiconv_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libmapper_646.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libmapper_646.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libmapper_646.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libmapper_none.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libmapper_none.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libmapper_none.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libmapper_parallel.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libmapper_parallel.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libmapper_parallel.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libmapper_serial.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libmapper_serial.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libmapper_serial.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libmapper_std.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libmapper_std.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libmapper_std.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/i18n/libmapper_zone.so.5base-i18n-shlibcompat,pic
-./usr/lib/sparc/i18n/libmapper_zone.so.5.0base-i18n-shlibcompat,pic
+./usr/lib/sparc/i18n/libmapper_zone.so.5.1base-i18n-shlibcompat,pic
 ./usr/lib/sparc/libamu.so.4base-compat-shlibcompat,pic
 ./usr/lib/sparc/libamu.so.4.0base-compat-shlibcompat,pic
 ./usr/lib/sparc/libarchive.so.3base-compat-shlibcompat,pic
Index: distrib/sets/lists/base/shl.mi
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/base/shl.mi,v
retrieving revision 1.663
diff -u -p -r1.663 shl.mi
--- distrib/sets/lists/base/shl.mi11 Apr 2013 17:43:16 -00001.663
+++ distrib/sets/lists/base/shl.mi21 Apr 2013 12:52:35 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -94,73 +94,73 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./libexec/ld.elf_sobase-sys-shlibdynamicroot
 ./usr/lib/i18n/libBIG5.sobase-i18n-shlib
 ./usr/lib/i18n/libBIG5.so.5base-i18n-shlib
-./usr/lib/i18n/libBIG5.so.5.0base-i18n-shlib
+./usr/lib/i18n/libBIG5.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libDECHanyu.sobase-i18n-shlib
 ./usr/lib/i18n/libDECHanyu.so.5base-i18n-shlib
-./usr/lib/i18n/libDECHanyu.so.5.0base-i18n-shlib
+./usr/lib/i18n/libDECHanyu.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libEUC.sobase-i18n-shlib
 ./usr/lib/i18n/libEUC.so.5base-i18n-shlib
-./usr/lib/i18n/libEUC.so.5.0base-i18n-shlib
+./usr/lib/i18n/libEUC.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libEUCTW.sobase-i18n-shlib
 ./usr/lib/i18n/libEUCTW.so.5base-i18n-shlib
-./usr/lib/i18n/libEUCTW.so.5.0base-i18n-shlib
+./usr/lib/i18n/libEUCTW.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libGBK2K.sobase-i18n-shlib
 ./usr/lib/i18n/libGBK2K.so.5base-i18n-shlib
-./usr/lib/i18n/libGBK2K.so.5.0base-i18n-shlib
+./usr/lib/i18n/libGBK2K.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libHZ.sobase-i18n-shlib
 ./usr/lib/i18n/libHZ.so.5base-i18n-shlib
-./usr/lib/i18n/libHZ.so.5.0base-i18n-shlib
+./usr/lib/i18n/libHZ.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libISO2022.sobase-i18n-shlib
 ./usr/lib/i18n/libISO2022.so.5base-i18n-shlib
-./usr/lib/i18n/libISO2022.so.5.0base-i18n-shlib
+./usr/lib/i18n/libISO2022.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libJOHAB.sobase-i18n-shlib
 ./usr/lib/i18n/libJOHAB.so.5base-i18n-shlib
-./usr/lib/i18n/libJOHAB.so.5.0base-i18n-shlib
+./usr/lib/i18n/libJOHAB.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libMSKanji.sobase-i18n-shlib
 ./usr/lib/i18n/libMSKanji.so.5base-i18n-shlib
-./usr/lib/i18n/libMSKanji.so.5.0base-i18n-shlib
+./usr/lib/i18n/libMSKanji.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libUES.sobase-i18n-shlib
 ./usr/lib/i18n/libUES.so.5base-i18n-shlib
-./usr/lib/i18n/libUES.so.5.0base-i18n-shlib
+./usr/lib/i18n/libUES.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libUTF1632.sobase-i18n-shlib
 ./usr/lib/i18n/libUTF1632.so.5base-i18n-shlib
-./usr/lib/i18n/libUTF1632.so.5.0base-i18n-shlib
+./usr/lib/i18n/libUTF1632.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libUTF7.sobase-i18n-shlib
 ./usr/lib/i18n/libUTF7.so.5base-i18n-shlib
-./usr/lib/i18n/libUTF7.so.5.0base-i18n-shlib
+./usr/lib/i18n/libUTF7.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libUTF8.sobase-i18n-shlib
 ./usr/lib/i18n/libUTF8.so.5base-i18n-shlib
-./usr/lib/i18n/libUTF8.so.5.0base-i18n-shlib
+./usr/lib/i18n/libUTF8.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libVIQR.sobase-i18n-shlib
 ./usr/lib/i18n/libVIQR.so.5base-i18n-shlib
-./usr/lib/i18n/libVIQR.so.5.0base-i18n-shlib
+./usr/lib/i18n/libVIQR.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libZW.sobase-i18n-shlib
 ./usr/lib/i18n/libZW.so.5base-i18n-shlib
-./usr/lib/i18n/libZW.so.5.0base-i18n-shlib
+./usr/lib/i18n/libZW.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libiconv_none.sobase-i18n-shlib
 ./usr/lib/i18n/libiconv_none.so.5base-i18n-shlib
-./usr/lib/i18n/libiconv_none.so.5.0base-i18n-shlib
+./usr/lib/i18n/libiconv_none.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libiconv_std.sobase-i18n-shlib
 ./usr/lib/i18n/libiconv_std.so.5base-i18n-shlib
-./usr/lib/i18n/libiconv_std.so.5.0base-i18n-shlib
+./usr/lib/i18n/libiconv_std.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libmapper_646.sobase-i18n-shlib
 ./usr/lib/i18n/libmapper_646.so.5base-i18n-shlib
-./usr/lib/i18n/libmapper_646.so.5.0base-i18n-shlib
+./usr/lib/i18n/libmapper_646.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libmapper_none.sobase-i18n-shlib
 ./usr/lib/i18n/libmapper_none.so.5base-i18n-shlib
-./usr/lib/i18n/libmapper_none.so.5.0base-i18n-shlib
+./usr/lib/i18n/libmapper_none.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libmapper_parallel.sobase-i18n-shlib
 ./usr/lib/i18n/libmapper_parallel.so.5base-i18n-shlib
-./usr/lib/i18n/libmapper_parallel.so.5.0base-i18n-shlib
+./usr/lib/i18n/libmapper_parallel.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libmapper_serial.sobase-i18n-shlib
 ./usr/lib/i18n/libmapper_serial.so.5base-i18n-shlib
-./usr/lib/i18n/libmapper_serial.so.5.0base-i18n-shlib
+./usr/lib/i18n/libmapper_serial.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libmapper_std.sobase-i18n-shlib
 ./usr/lib/i18n/libmapper_std.so.5base-i18n-shlib
-./usr/lib/i18n/libmapper_std.so.5.0base-i18n-shlib
+./usr/lib/i18n/libmapper_std.so.5.1base-i18n-shlib
 ./usr/lib/i18n/libmapper_zone.sobase-i18n-shlib
 ./usr/lib/i18n/libmapper_zone.so.5base-i18n-shlib
-./usr/lib/i18n/libmapper_zone.so.5.0base-i18n-shlib
+./usr/lib/i18n/libmapper_zone.so.5.1base-i18n-shlib
 ./usr/lib/libamu.so.4base-amd-shlib
 ./usr/lib/libamu.so.4.0base-amd-shlib
 ./usr/lib/libarchive.sobase-sys-shlib
Index: distrib/sets/lists/debug/ad.mips64eb
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/debug/ad.mips64eb,v
retrieving revision 1.21
diff -u -p -r1.21 ad.mips64eb
--- distrib/sets/lists/debug/ad.mips64eb16 Apr 2013 15:03:18 -00001.21
+++ distrib/sets/lists/debug/ad.mips64eb21 Apr 2013 13:02:37 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -11,29 +11,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/libdata/debug/usr/libexec/ld.elf_so-64comp-obsoleteobsolete
 ./usr/libdata/debug/usr/bin/elf2aout.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/bin/elf2ecoff.debugcomp-sysutil-debugdebug
-./usr/libdata/debug/usr/lib/64/i18n/libBIG5.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libDECHanyu.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libEUC.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libEUCTW.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libGBK2K.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libHZ.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libISO2022.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libJOHAB.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libMSKanji.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libUES.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libUTF1632.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libUTF7.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libUTF8.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libVIQR.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libZW.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libiconv_none.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libiconv_std.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_646.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_none.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_parallel.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_serial.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_std.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_zone.so.5.0.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libBIG5.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libDECHanyu.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libEUC.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libEUCTW.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libGBK2K.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libHZ.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libISO2022.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libJOHAB.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libMSKanji.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libUES.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libUTF1632.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libUTF7.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libUTF8.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libVIQR.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libZW.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libiconv_none.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libiconv_std.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_646.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_none.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_parallel.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_serial.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_std.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_zone.so.5.1.debugcomp-i18n-debugdebug,compat
 ./usr/libdata/debug/usr/lib/64/npf/ext_log.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/64/npf/ext_normalise.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/64/npf/ext_rndblock.so.0.0.debugcomp-obsoleteobsolete
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -178,29 +178,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/libdata/debug/usr/lib/64/libz.so.1.0.debugcomp-sys-debugdebug,compat
 ./usr/libdata/debug/usr/lib/64/libzfs.so.0.0.debugcomp-zfs-debugzfs,dynamicroot,debug,compat
 ./usr/libdata/debug/usr/lib/64/libzpool.so.0.0.debugcomp-zfs-debugzfs,dynamicroot,debug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libBIG5.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libDECHanyu.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libEUC.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libEUCTW.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libGBK2K.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libHZ.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libISO2022.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libJOHAB.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libMSKanji.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libUES.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libUTF1632.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libUTF7.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libUTF8.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libVIQR.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libZW.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libiconv_none.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libiconv_std.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_646.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_none.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_parallel.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_serial.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_std.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_zone.so.5.0.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libBIG5.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libDECHanyu.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libEUC.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libEUCTW.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libGBK2K.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libHZ.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libISO2022.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libJOHAB.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libMSKanji.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libUES.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libUTF1632.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libUTF7.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libUTF8.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libVIQR.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libZW.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libiconv_none.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libiconv_std.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_646.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_none.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_parallel.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_serial.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_std.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_zone.so.5.1.debugcomp-i18n-debugdebug,compat
 ./usr/libdata/debug/usr/lib/o32/npf/ext_log.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/o32/npf/ext_normalise.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/o32/npf/ext_rndblock.so.0.0.debugcomp-obsoleteobsolete
Index: distrib/sets/lists/debug/ad.mips64el
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/debug/ad.mips64el,v
retrieving revision 1.22
diff -u -p -r1.22 ad.mips64el
--- distrib/sets/lists/debug/ad.mips64el16 Apr 2013 15:03:18 -00001.22
+++ distrib/sets/lists/debug/ad.mips64el21 Apr 2013 13:02:58 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -11,29 +11,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/libdata/debug/usr/libexec/ld.elf_so-64comp-obsoleteobsolete
 ./usr/libdata/debug/usr/bin/elf2aout.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/bin/elf2ecoff.debugcomp-sysutil-debugdebug
-./usr/libdata/debug/usr/lib/64/i18n/libBIG5.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libDECHanyu.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libEUC.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libEUCTW.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libGBK2K.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libHZ.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libISO2022.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libJOHAB.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libMSKanji.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libUES.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libUTF1632.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libUTF7.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libUTF8.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libVIQR.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libZW.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libiconv_none.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libiconv_std.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_646.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_none.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_parallel.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_serial.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_std.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/64/i18n/libmapper_zone.so.5.0.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libBIG5.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libDECHanyu.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libEUC.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libEUCTW.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libGBK2K.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libHZ.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libISO2022.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libJOHAB.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libMSKanji.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libUES.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libUTF1632.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libUTF7.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libUTF8.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libVIQR.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libZW.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libiconv_none.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libiconv_std.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_646.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_none.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_parallel.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_serial.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_std.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/64/i18n/libmapper_zone.so.5.1.debugcomp-i18n-debugdebug,compat
 ./usr/libdata/debug/usr/lib/64/npf/ext_log.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/64/npf/ext_normalise.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/64/npf/ext_rndblock.so.0.0.debugcomp-obsoleteobsolete
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -178,29 +178,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/libdata/debug/usr/lib/64/libz.so.1.0.debugcomp-sys-debugdebug,compat
 ./usr/libdata/debug/usr/lib/64/libzfs.so.0.0.debugcomp-zfs-debugzfs,dynamicroot,debug,compat
 ./usr/libdata/debug/usr/lib/64/libzpool.so.0.0.debugcomp-zfs-debugzfs,dynamicroot,debug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libBIG5.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libDECHanyu.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libEUC.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libEUCTW.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libGBK2K.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libHZ.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libISO2022.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libJOHAB.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libMSKanji.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libUES.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libUTF1632.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libUTF7.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libUTF8.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libVIQR.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libZW.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libiconv_none.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libiconv_std.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_646.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_none.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_parallel.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_serial.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_std.so.5.0.debugcomp-i18n-debugdebug,compat
-./usr/libdata/debug/usr/lib/o32/i18n/libmapper_zone.so.5.0.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libBIG5.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libDECHanyu.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libEUC.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libEUCTW.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libGBK2K.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libHZ.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libISO2022.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libJOHAB.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libMSKanji.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libUES.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libUTF1632.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libUTF7.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libUTF8.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libVIQR.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libZW.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libiconv_none.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libiconv_std.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_646.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_none.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_parallel.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_serial.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_std.so.5.1.debugcomp-i18n-debugdebug,compat
+./usr/libdata/debug/usr/lib/o32/i18n/libmapper_zone.so.5.1.debugcomp-i18n-debugdebug,compat
 ./usr/libdata/debug/usr/lib/o32/npf/ext_log.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/o32/npf/ext_normalise.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/o32/npf/ext_rndblock.so.0.0.debugcomp-obsoleteobsolete
Index: distrib/sets/lists/debug/md.amd64
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/debug/md.amd64,v
retrieving revision 1.21
diff -u -p -r1.21 md.amd64
--- distrib/sets/lists/debug/md.amd6416 Apr 2013 15:03:18 -00001.21
+++ distrib/sets/lists/debug/md.amd6421 Apr 2013 13:03:10 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,29 +6,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/libdata/debug/usr/libexec/ld.elf_so-i386comp-obsoleteobsolete
 ./usr/libdata/debug/usr/bin/fdformat.debugcomp-util-debugdebug
 ./usr/libdata/debug/usr/bin/iasl.debugcomp-util-debugdebug
-./usr/libdata/debug/usr/lib/i386/i18n/libBIG5.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libDECHanyu.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libEUC.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libEUCTW.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libGBK2K.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libHZ.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libISO2022.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libJOHAB.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libMSKanji.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libUES.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libUTF1632.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libUTF7.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libUTF8.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libVIQR.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libZW.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libiconv_none.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libiconv_std.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libmapper_646.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libmapper_none.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libmapper_parallel.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libmapper_serial.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libmapper_std.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/i386/i18n/libmapper_zone.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libBIG5.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libDECHanyu.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libEUC.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libEUCTW.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libGBK2K.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libHZ.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libISO2022.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libJOHAB.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libMSKanji.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libUES.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libUTF1632.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libUTF7.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libUTF8.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libVIQR.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libZW.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libiconv_none.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libiconv_std.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libmapper_646.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libmapper_none.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libmapper_parallel.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libmapper_serial.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libmapper_std.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/i386/i18n/libmapper_zone.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
 ./usr/libdata/debug/usr/lib/i386/npf/ext_log.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/i386/npf/ext_normalise.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/i386/npf/ext_rndblock.so.0.0.debugcomp-obsoleteobsolete
Index: distrib/sets/lists/debug/md.sparc64
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/debug/md.sparc64,v
retrieving revision 1.23
diff -u -p -r1.23 md.sparc64
--- distrib/sets/lists/debug/md.sparc6416 Apr 2013 15:03:18 -00001.23
+++ distrib/sets/lists/debug/md.sparc6421 Apr 2013 13:03:25 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,29 +6,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/libdata/debug/sbin/edlabel.debugcomp-sysutil-debugobsolete
 ./usr/libdata/debug/usr/bin/fdformat.debugcomp-util-debugdebug
 ./usr/libdata/debug/usr/libexec/ld.elf_so.sparccomp-obsoleteobsolete
-./usr/libdata/debug/usr/lib/sparc/i18n/libBIG5.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libDECHanyu.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libEUC.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libEUCTW.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libGBK2K.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libHZ.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libISO2022.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libJOHAB.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libMSKanji.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libUES.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libUTF1632.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libUTF7.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libUTF8.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libVIQR.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libZW.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libiconv_none.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libiconv_std.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_646.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_none.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_parallel.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_serial.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_std.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_zone.so.5.0.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libBIG5.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libDECHanyu.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libEUC.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libEUCTW.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libGBK2K.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libHZ.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libISO2022.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libJOHAB.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libMSKanji.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libUES.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libUTF1632.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libUTF7.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libUTF8.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libVIQR.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libZW.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libiconv_none.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libiconv_std.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_646.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_none.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_parallel.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_serial.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_std.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_zone.so.5.1.debugcomp-i18n-shlibcompat,pic,debug
 ./usr/libdata/debug/usr/lib/sparc/npf/ext_log.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/sparc/npf/ext_normalise.so.0.0.debugcomp-obsoleteobsolete
 ./usr/libdata/debug/usr/lib/sparc/npf/ext_rndblock.so.0.0.debugcomp-obsoleteobsolete
Index: distrib/sets/lists/debug/shl.mi
===================================================================
RCS file: /home/joerg/repo/netbsd/src/distrib/sets/lists/debug/shl.mi,v
retrieving revision 1.24
diff -u -p -r1.24 shl.mi
--- distrib/sets/lists/debug/shl.mi18 Apr 2013 21:53:55 -00001.24
+++ distrib/sets/lists/debug/shl.mi21 Apr 2013 12:52:54 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,29 +25,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ./usr/libdata/debug/lib/npf/ext_rndblock.so.0.0.debugcomp-sys-debugdebug,npf
 ./usr/libdata/debug/libexec/ld.elf_so.debugcomp-sys-debugdebug
 ./usr/libdata/debug/usr/libexec/ld.elf_so.debugcomp-obsoleteobsolete
-./usr/libdata/debug/usr/lib/i18n/libBIG5.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libDECHanyu.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libEUC.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libEUCTW.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libGBK2K.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libHZ.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libISO2022.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libJOHAB.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libMSKanji.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libUES.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libUTF1632.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libUTF7.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libUTF8.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libVIQR.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libZW.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libiconv_none.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libiconv_std.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libmapper_646.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libmapper_none.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libmapper_parallel.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libmapper_serial.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libmapper_std.so.5.0.debugcomp-i18n-debugdebug
-./usr/libdata/debug/usr/lib/i18n/libmapper_zone.so.5.0.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libBIG5.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libDECHanyu.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libEUC.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libEUCTW.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libGBK2K.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libHZ.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libISO2022.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libJOHAB.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libMSKanji.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libUES.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libUTF1632.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libUTF7.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libUTF8.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libVIQR.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libZW.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libiconv_none.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libiconv_std.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libmapper_646.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libmapper_none.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libmapper_parallel.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libmapper_serial.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libmapper_std.so.5.1.debugcomp-i18n-debugdebug
+./usr/libdata/debug/usr/lib/i18n/libmapper_zone.so.5.1.debugcomp-i18n-debugdebug
 ./usr/libdata/debug/usr/lib/libamu.so.4.0.debugcomp-amd-debugdebug
 ./usr/libdata/debug/usr/lib/libarchive.so.3.1.debugcomp-sys-debugdebug
 ./usr/libdata/debug/usr/lib/libasn1.so.9.0.debugcomp-krb5-debugkerberos,debug
 __END_DECLS
Index: include/wchar.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/include/wchar.h,v
retrieving revision 1.37
diff -u -p -r1.37 wchar.h
--- include/wchar.h19 Apr 2013 23:45:15 -00001.37
+++ include/wchar.h20 Apr 2013 20:03:22 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -212,6 +212,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct _locale*locale_t;
 #  define __LOCALE_T_DECLARED
 #  endif
 __BEGIN_DECLS
+size_tmbsnrtowcs(wchar_t * __restrict, const char ** __restrict, size_t,
+    size_t, mbstate_t * __restrict);
+size_twcsnrtombs(char * __restrict, const wchar_t ** __restrict, size_t,
+    size_t, mbstate_t * __restrict);
+
 intwcscoll_l(const wchar_t *, const wchar_t *, locale_t);
 size_twcsxfrm_l(wchar_t *, const wchar_t *, size_t, locale_t);
 int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -246,9 +251,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; size_tmbrtowc_l(wchar_t * __restrict, c
 intmbsinit_l(const mbstate_t *, locale_t);
 size_tmbsrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t,
     mbstate_t * __restrict, locale_t);
+size_tmbsnrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t,
+    size_t, mbstate_t * __restrict, locale_t);
 size_twcrtomb_l(char * __restrict, wchar_t, mbstate_t * __restrict, locale_t);
 size_twcsrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t,
     mbstate_t * __restrict, locale_t);
+size_twcsnrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t,
+    size_t, mbstate_t * __restrict, locale_t);
 intwctob_l(wint_t, locale_t);
 
 int fwprintf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...);
Index: lib/i18n_module/shlib_version
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/i18n_module/shlib_version,v
retrieving revision 1.6
diff -u -p -r1.6 shlib_version
--- lib/i18n_module/shlib_version11 Jan 2009 03:07:47 -00001.6
+++ lib/i18n_module/shlib_version21 Apr 2013 12:51:37 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2,4 +2,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #Remember to update distrib/sets/lists/base/shl.* when changing
 #
 major=5
-minor=0
+minor=1
Index: lib/libc/citrus/citrus_ctype.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/citrus_ctype.c,v
retrieving revision 1.6
diff -u -p -r1.6 citrus_ctype.c
--- lib/libc/citrus/citrus_ctype.c19 Nov 2011 18:34:21 -00001.6
+++ lib/libc/citrus/citrus_ctype.c21 Apr 2013 11:34:41 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -106,10 +106,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _initctypemodule(_citrus_ctype_t cc, cha
     cc-&amp;gt;cc_ops-&amp;gt;co_mbrtowc == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_mbsinit == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_mbsrtowcs == NULL ||
+    cc-&amp;gt;cc_ops-&amp;gt;co_mbsnrtowcs == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_mbstowcs == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_mbtowc == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_wcrtomb == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_wcsrtombs == NULL ||
+    cc-&amp;gt;cc_ops-&amp;gt;co_wcsnrtombs == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_wcstombs == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_wctomb == NULL ||
     cc-&amp;gt;cc_ops-&amp;gt;co_btowc == NULL ||
Index: lib/libc/citrus/citrus_ctype.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/citrus_ctype.h,v
retrieving revision 1.2
diff -u -p -r1.2 citrus_ctype.h
--- lib/libc/citrus/citrus_ctype.h5 Mar 2003 20:18:15 -00001.2
+++ lib/libc/citrus/citrus_ctype.h21 Apr 2013 11:38:52 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -95,6 +95,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _citrus_ctype_mbsrtowcs(_citrus_ctype_t 
 }
 
 static __inline int
+_citrus_ctype_mbsnrtowcs(_citrus_ctype_t cc, wchar_t *pwcs, const char **s,
+size_t in, size_t n, void *pspriv, size_t *nresult)
+{
+
+_DIAGASSERT(cc &amp;amp;&amp;amp; cc-&amp;gt;cc_ops &amp;amp;&amp;amp; cc-&amp;gt;cc_ops-&amp;gt;co_mbsnrtowcs &amp;amp;&amp;amp; nresult);
+return (*cc-&amp;gt;cc_ops-&amp;gt;co_mbsnrtowcs)(cc-&amp;gt;cc_closure, pwcs, s, in, n,
+   pspriv, nresult);
+}
+
+static __inline int
 _citrus_ctype_mbstowcs(_citrus_ctype_t cc, wchar_t *pwcs, const char *s,
        size_t n, size_t *nresult)
 {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -133,6 +143,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _citrus_ctype_wcsrtombs(_citrus_ctype_t 
 }
 
 static __inline int
+_citrus_ctype_wcsnrtombs(_citrus_ctype_t cc, char *s, const wchar_t **ppwcs,
+size_t in, size_t n, void *pspriv, size_t *nresult)
+{
+
+_DIAGASSERT(cc &amp;amp;&amp;amp; cc-&amp;gt;cc_ops &amp;amp;&amp;amp; cc-&amp;gt;cc_ops-&amp;gt;co_wcsnrtombs &amp;amp;&amp;amp; nresult);
+return (*cc-&amp;gt;cc_ops-&amp;gt;co_wcsnrtombs)(cc-&amp;gt;cc_closure, s, ppwcs, in, n,
+   pspriv, nresult);
+}
+
+static __inline int
 _citrus_ctype_wcstombs(_citrus_ctype_t cc, char *s, const wchar_t *wcs,
        size_t n, size_t *nresult)
 {
Index: lib/libc/citrus/citrus_ctype_local.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/citrus_ctype_local.h,v
retrieving revision 1.3
diff -u -p -r1.3 citrus_ctype_local.h
--- lib/libc/citrus/citrus_ctype_local.h9 Feb 2008 14:56:20 -00001.3
+++ lib/libc/citrus/citrus_ctype_local.h21 Apr 2013 12:50:40 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -60,6 +60,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int_citrus_##_e_##_ctype_mbsrtow
  const char ** __restrict,      \
  size_t, void * __restrict,      \
  size_t * __restrict);      \
+static int_citrus_##_e_##_ctype_mbsnrtowcs(void * __restrict,      \
+ wchar_t * __restrict,      \
+ const char ** __restrict,      \
+ size_t, size_t, void * __restrict,   \
+ size_t * __restrict);      \
 static int_citrus_##_e_##_ctype_mbstowcs(void * __restrict,      \
 wchar_t * __restrict,      \
 const char * __restrict,      \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -77,6 +82,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int_citrus_##_e_##_ctype_wcsrtom
  const wchar_t ** __restrict,      \
  size_t, void * __restrict,      \
  size_t * __restrict);      \
+static int_citrus_##_e_##_ctype_wcsnrtombs(void * __restrict,      \
+ char * __restrict,      \
+ const wchar_t ** __restrict,      \
+ size_t, size_t, void * __restrict,   \
+ size_t * __restrict);      \
 static int_citrus_##_e_##_ctype_wcstombs(void * __restrict,      \
 char * __restrict,      \
 const wchar_t * __restrict,      \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -100,10 +110,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _citrus_ctype_ops_rec_t _citrus_##_e_##_
 /* co_mbrtowc */&amp;amp;_citrus_##_e_##_ctype_mbrtowc,\
 /* co_mbsinit */&amp;amp;_citrus_##_e_##_ctype_mbsinit,\
 /* co_mbsrtowcs */&amp;amp;_citrus_##_e_##_ctype_mbsrtowcs,\
+/* co_mbsnrtowcs */&amp;amp;_citrus_##_e_##_ctype_mbsnrtowcs,\
 /* co_mbstowcs */&amp;amp;_citrus_##_e_##_ctype_mbstowcs,\
 /* co_mbtowc */&amp;amp;_citrus_##_e_##_ctype_mbtowc,\
 /* co_wcrtomb */&amp;amp;_citrus_##_e_##_ctype_wcrtomb,\
 /* co_wcsrtombs */&amp;amp;_citrus_##_e_##_ctype_wcsrtombs,\
+/* co_wcsnrtombs */&amp;amp;_citrus_##_e_##_ctype_wcsnrtombs,\
 /* co_wcstombs */&amp;amp;_citrus_##_e_##_ctype_wcstombs,\
 /* co_wctomb */&amp;amp;_citrus_##_e_##_ctype_wctomb,\
 /* co_btowc */&amp;amp;_citrus_##_e_##_ctype_btowc,\
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -131,6 +143,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef int(*_citrus_ctype_mbsrtowcs_t)
 (void * __restrict, wchar_t * __restrict, const char ** __restrict,
  size_t, void * __restrict,
  size_t * __restrict);
+typedef int(*_citrus_ctype_mbsnrtowcs_t)
+(void * __restrict, wchar_t * __restrict, const char ** __restrict,
+ size_t, size_t, void * __restrict,
+ size_t * __restrict);
 typedef int(*_citrus_ctype_mbstowcs_t)
 (void * __restrict, wchar_t * __restrict, const char * __restrict,
  size_t, size_t * __restrict);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -143,6 +159,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef int(*_citrus_ctype_wcrtomb_t)
 typedef int(*_citrus_ctype_wcsrtombs_t)
 (void * __restrict, char * __restrict, const wchar_t ** __restrict,
  size_t, void * __restrict, size_t * __restrict);
+typedef int(*_citrus_ctype_wcsnrtombs_t)
+(void * __restrict, char * __restrict, const wchar_t ** __restrict,
+ size_t, size_t, void * __restrict, size_t * __restrict);
 typedef int(*_citrus_ctype_wcstombs_t)
 (void * __restrict, char * __restrict, const wchar_t * __restrict,
  size_t, size_t * __restrict);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -158,10 +177,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef int(*_citrus_ctype_wctob_t)
  *   0x00000001
  *     initial version
  *   0x00000002
- *     ops record:btowc and wctob are added.
+ *     ops record:btowc and wctob added.
+ *     ctype record:unchanged.
+ *   0x00000003
+ *     ops record:mbsnrtowcs and wcsnrtombs added.
  *     ctype record:unchanged.
  */
-#define _CITRUS_CTYPE_ABI_VERSION0x00000002
+#define _CITRUS_CTYPE_ABI_VERSION0x00000003
 struct _citrus_ctype_ops_rec {
 uint32_tco_abi_version;
 /* version 0x00000001 */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -173,10 +195,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct _citrus_ctype_ops_rec {
 _citrus_ctype_mbrtowc_tco_mbrtowc;
 _citrus_ctype_mbsinit_tco_mbsinit;
 _citrus_ctype_mbsrtowcs_tco_mbsrtowcs;
+_citrus_ctype_mbsnrtowcs_tco_mbsnrtowcs;
 _citrus_ctype_mbstowcs_tco_mbstowcs;
 _citrus_ctype_mbtowc_tco_mbtowc;
 _citrus_ctype_wcrtomb_tco_wcrtomb;
 _citrus_ctype_wcsrtombs_tco_wcsrtombs;
+_citrus_ctype_wcsnrtombs_tco_wcsnrtombs;
 _citrus_ctype_wcstombs_tco_wcstombs;
 _citrus_ctype_wctomb_tco_wctomb;
 /* version 0x00000002 */
Index: lib/libc/citrus/citrus_ctype_template.h
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/citrus_ctype_template.h,v
retrieving revision 1.35
diff -u -p -r1.35 citrus_ctype_template.h
--- lib/libc/citrus/citrus_ctype_template.h9 Feb 2008 14:56:20 -00001.35
+++ lib/libc/citrus/citrus_ctype_template.h21 Apr 2013 12:34:55 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,8 +85,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  *           mbrtowc
  *           mbtowc
  *           mbsrtowcs
+ *           mbsnrtowcs
  *           wcrtomb
  *           wcsrtombs
+ *           wcsnrtombs
  *           wctomb
  *     These need to be keeped in the ctype encoding information structure,
  *     pointed by "cei".
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -282,6 +284,63 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bye:
 return err;
 }
 
+static int
+_FUNCNAME(mbsnrtowcs_priv)(_ENCODING_INFO * __restrict ei,
+  wchar_t * __restrict pwcs,
+  const char ** __restrict s, size_t in,
+  size_t n, _ENCODING_STATE * __restrict psenc,
+  size_t * __restrict nresult)
+{
+int err, cnt;
+size_t siz;
+const char *s0, *se;
+
+_DIAGASSERT(nresult != 0);
+_DIAGASSERT(ei != NULL);
+_DIAGASSERT(psenc != NULL);
+_DIAGASSERT(s == NULL);
+_DIAGASSERT(*s == NULL);
+
+/* if pwcs is NULL, ignore n */
+if (pwcs == NULL)
+n = 1; /* arbitrary &amp;gt;0 value */
+
+err = cnt = 0;
+se = *s + in;
+s0 = *s; /* to keep *s unchanged for now, use copy instead. */
+while (s0 &amp;lt; se &amp;amp;&amp;amp; n &amp;gt; 0) {
+err = _FUNCNAME(mbrtowc_priv)(ei, pwcs, &amp;amp;s0, se - s0,
+      psenc, &amp;amp;siz);
+if (siz == (size_t)-2)
+err = EILSEQ;
+if (err) {
+cnt = -1;
+goto bye;
+}
+switch (siz) {
+case 0:
+if (pwcs) {
+_FUNCNAME(init_state)(ei, psenc);
+}
+s0 = 0;
+goto bye;
+default:
+if (pwcs) {
+pwcs++;
+n--;
+}
+cnt++;
+break;
+}
+}
+bye:
+if (pwcs)
+*s = s0;
+
+*nresult = (size_t)cnt;
+
+return err;
+}
 
 static int
 _FUNCNAME(wcsrtombs_priv)(_ENCODING_INFO * __restrict ei, char * __restrict s,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -342,6 +401,66 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _FUNCNAME(wcsrtombs_priv)(_ENCODING_INFO
 return (0);
 }
 
+static int
+_FUNCNAME(wcsnrtombs_priv)(_ENCODING_INFO * __restrict ei, char * __restrict s,
+  const wchar_t ** __restrict pwcs, size_t in,
+  size_t n, _ENCODING_STATE * __restrict psenc,
+  size_t * __restrict nresult)
+{
+int cnt = 0, err;
+char buf[MB_LEN_MAX];
+size_t siz;
+const wchar_t* pwcs0;
+#if _ENCODING_IS_STATE_DEPENDENT
+_ENCODING_STATE state;
+#endif
+
+pwcs0 = *pwcs;
+
+if (!s)
+n = 1;
+
+while (in &amp;gt; 0 &amp;amp;&amp;amp; n &amp;gt; 0) {
+#if _ENCODING_IS_STATE_DEPENDENT
+state = *psenc;
+#endif
+err = _FUNCNAME(wcrtomb_priv)(ei, buf, sizeof(buf),
+      *pwcs0, psenc, &amp;amp;siz);
+if (siz == (size_t)-1) {
+*nresult = siz;
+return (err);
+}
+
+if (s) {
+if (n &amp;lt; siz) {
+#if _ENCODING_IS_STATE_DEPENDENT
+*psenc = state;
+#endif
+break;
+}
+memcpy(s, buf, siz);
+s += siz;
+n -= siz;
+}
+cnt += siz;
+if (!*pwcs0) {
+if (s) {
+_FUNCNAME(init_state)(ei, psenc);
+}
+pwcs0 = 0;
+cnt--; /* don't include terminating null */
+break;
+}
+pwcs0++;
+--in;
+}
+if (s)
+*pwcs = pwcs0;
+
+*nresult = (size_t)cnt;
+return (0);
+}
+
 
 /* ----------------------------------------------------------------------
  * templates for public functions
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -526,6 +645,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _FUNCNAME(ctype_mbsrtowcs)(void * __rest
 }
 
 static int
+_FUNCNAME(ctype_mbsnrtowcs)(void * __restrict cl, wchar_t * __restrict pwcs,
+   const char ** __restrict s, size_t in, size_t n,
+   void * __restrict pspriv,
+   size_t * __restrict nresult)
+{
+_ENCODING_STATE *psenc;
+_ENCODING_INFO *ei;
+int err = 0;
+
+_DIAGASSERT(cl != NULL);
+
+ei = _CEI_TO_EI(_TO_CEI(cl));
+_RESTART_BEGIN(mbsnrtowcs, _TO_CEI(cl), pspriv, psenc);
+err = _FUNCNAME(mbsnrtowcs_priv)(ei, pwcs, s, in, n, psenc, nresult);
+_RESTART_END(mbsnrtowcs, _TO_CEI(cl), pspriv, psenc);
+
+return (err);
+}
+
+static int
 _FUNCNAME(ctype_mbstowcs)(void * __restrict cl, wchar_t * __restrict pwcs,
   const char * __restrict s, size_t n,
   size_t * __restrict nresult)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -639,6 +778,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _FUNCNAME(ctype_wcsrtombs)(void * __rest
 
 static int
 /*ARGSUSED*/
+_FUNCNAME(ctype_wcsnrtombs)(void * __restrict cl, char * __restrict s,
+   const wchar_t ** __restrict pwcs, size_t in,
+   size_t n, void * __restrict pspriv,
+   size_t * __restrict nresult)
+{
+_ENCODING_STATE *psenc;
+_ENCODING_INFO *ei;
+int err = 0;
+
+_DIAGASSERT(cl != NULL);
+
+ei = _CEI_TO_EI(_TO_CEI(cl));
+_RESTART_BEGIN(wcsnrtombs, _TO_CEI(cl), pspriv, psenc);
+err = _FUNCNAME(wcsnrtombs_priv)(ei, s, pwcs, in, n, psenc, nresult);
+_RESTART_END(wcsnrtombs, _TO_CEI(cl), pspriv, psenc);
+
+return err;
+}
+
+static int
+/*ARGSUSED*/
 _FUNCNAME(ctype_wcstombs)(void * __restrict cl, char * __restrict s,
   const wchar_t * __restrict pwcs, size_t n,
   size_t * __restrict nresult)
Index: lib/libc/citrus/citrus_none.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/citrus_none.c,v
retrieving revision 1.18
diff -u -p -r1.18 citrus_none.c
--- lib/libc/citrus/citrus_none.c14 Jun 2008 16:01:07 -00001.18
+++ lib/libc/citrus/citrus_none.c21 Apr 2013 13:29:02 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -185,6 +185,46 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _citrus_NONE_ctype_mbsrtowcs(void * __re
 }
 
 static int
+/*ARGSUSED*/
+_citrus_NONE_ctype_mbsnrtowcs(void * __restrict cl, wchar_t * __restrict pwcs,
+     const char ** __restrict s, size_t in, size_t n,
+     void * __restrict pspriv,
+     size_t * __restrict nresult)
+{
+int cnt;
+const char *s0;
+
+/* if pwcs is NULL, ignore n */
+if (pwcs == NULL)
+n = 1; /* arbitrary &amp;gt;0 value */
+
+cnt = 0;
+s0 = *s; /* to keep *s unchanged for now, use copy instead. */
+while (in &amp;gt; 0 &amp;amp;&amp;amp; n &amp;gt; 0) {
+if (pwcs != NULL) {
+*pwcs = (wchar_t)(unsigned char)*s0;
+}
+if (*s0 == '\0') {
+s0 = NULL;
+break;
+}
+s0++;
+--in;
+if (pwcs != NULL) {
+pwcs++;
+n--;
+}
+cnt++;
+}
+if (pwcs)
+*s = s0;
+
+*nresult = (size_t)cnt;
+
+return (0);
+}
+
+static int
 _citrus_NONE_ctype_mbstowcs(void * __restrict cl, wchar_t * __restrict wcs,
     const char * __restrict s, size_t n,
     size_t * __restrict nresult)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -282,6 +322,47 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _citrus_NONE_ctype_wcsrtombs(void * __re
 }
 
 static int
+/*ARGSUSED*/
+_citrus_NONE_ctype_wcsnrtombs(void * __restrict cl, char * __restrict s,
+     const wchar_t ** __restrict pwcs, size_t in,
+     size_t n, void * __restrict pspriv,
+     size_t * __restrict nresult)
+{
+size_t count;
+const wchar_t *pwcs0;
+
+pwcs0 = *pwcs;
+count = 0;
+
+if (s == NULL)
+n = 1;
+
+while (in &amp;gt; 0 &amp;amp;&amp;amp; n &amp;gt; 0) {
+if ((*pwcs0 &amp;amp; ~0xFFU) != 0) {
+*nresult = (size_t)-1;
+return (EILSEQ);
+}
+if (s != NULL) {
+*s++ = (char)*pwcs0;
+n--;
+}
+if (*pwcs0 == L'\0') {
+pwcs0 = NULL;
+break;
+}
+count++;
+pwcs0++;
+--in;
+}
+if (s != NULL)
+*pwcs = pwcs0;
+
+*nresult = count;
+
+return (0);
+}
+
+static int
 _citrus_NONE_ctype_wcstombs(void * __restrict cl, char * __restrict s,
     const wchar_t * __restrict pwcs, size_t n,
     size_t * __restrict nresult)
Index: lib/libc/citrus/modules/citrus_big5.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_big5.c,v
retrieving revision 1.13
diff -u -p -r1.13 citrus_big5.c
--- lib/libc/citrus/modules/citrus_big5.c23 May 2011 14:53:46 -00001.13
+++ lib/libc/citrus/modules/citrus_big5.c21 Apr 2013 11:31:52 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -115,8 +115,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _BIG5States_mbrtowc;
 _BIG5States_mbtowc;
 _BIG5States_mbsrtowcs;
+_BIG5States_mbsnrtowcs;
 _BIG5States_wcrtomb;
 _BIG5States_wcsrtombs;
+_BIG5States_wcsnrtombs;
 _BIG5States_wctomb;
 } states;
 } _BIG5CTypeInfo;
Index: lib/libc/citrus/modules/citrus_dechanyu.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_dechanyu.c,v
retrieving revision 1.4
diff -u -p -r1.4 citrus_dechanyu.c
--- lib/libc/citrus/modules/citrus_dechanyu.c19 Nov 2011 18:20:13 -00001.4
+++ lib/libc/citrus/modules/citrus_dechanyu.c21 Apr 2013 11:59:21 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,8 +71,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _DECHanyuStates_mbrtowc;
 _DECHanyuStates_mbtowc;
 _DECHanyuStates_mbsrtowcs;
+_DECHanyuStates_mbsnrtowcs;
 _DECHanyuStates_wcrtomb;
 _DECHanyuStates_wcsrtombs;
+_DECHanyuStates_wcsnrtombs;
 _DECHanyuStates_wctomb;
 } states;
 } _DECHanyuCTypeInfo;
Index: lib/libc/citrus/modules/citrus_euc.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_euc.c,v
retrieving revision 1.14
diff -u -p -r1.14 citrus_euc.c
--- lib/libc/citrus/modules/citrus_euc.c11 Jan 2009 02:46:24 -00001.14
+++ lib/libc/citrus/modules/citrus_euc.c21 Apr 2013 11:31:44 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -107,8 +107,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _EUCStates_mbrtowc;
 _EUCStates_mbtowc;
 _EUCStates_mbsrtowcs;
+_EUCStates_mbsnrtowcs;
 _EUCStates_wcrtomb;
 _EUCStates_wcsrtombs;
+_EUCStates_wcsnrtombs;
 _EUCStates_wctomb;
 } states;
 } _EUCCTypeInfo;
Index: lib/libc/citrus/modules/citrus_euctw.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_euctw.c,v
retrieving revision 1.11
diff -u -p -r1.11 citrus_euctw.c
--- lib/libc/citrus/modules/citrus_euctw.c14 Jun 2008 16:01:07 -00001.11
+++ lib/libc/citrus/modules/citrus_euctw.c21 Apr 2013 11:31:41 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -98,8 +98,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _EUCTWStates_mbrtowc;
 _EUCTWStates_mbtowc;
 _EUCTWStates_mbsrtowcs;
+_EUCTWStates_mbsnrtowcs;
 _EUCTWStates_wcrtomb;
 _EUCTWStates_wcsrtombs;
+_EUCTWStates_wcsnrtombs;
 _EUCTWStates_wctomb;
 } states;
 } _EUCTWCTypeInfo;
Index: lib/libc/citrus/modules/citrus_gbk2k.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_gbk2k.c,v
retrieving revision 1.7
diff -u -p -r1.7 citrus_gbk2k.c
--- lib/libc/citrus/modules/citrus_gbk2k.c14 Jun 2008 16:01:07 -00001.7
+++ lib/libc/citrus/modules/citrus_gbk2k.c21 Apr 2013 11:31:37 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -72,8 +72,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _GBK2KStates_mbrtowc;
 _GBK2KStates_mbtowc;
 _GBK2KStates_mbsrtowcs;
+_GBK2KStates_mbsnrtowcs;
 _GBK2KStates_wcrtomb;
 _GBK2KStates_wcsrtombs;
+_GBK2KStates_wcsnrtombs;
 _GBK2KStates_wctomb;
 } states;
 } _GBK2KCTypeInfo;
Index: lib/libc/citrus/modules/citrus_hz.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_hz.c,v
retrieving revision 1.2
diff -u -p -r1.2 citrus_hz.c
--- lib/libc/citrus/modules/citrus_hz.c14 Jun 2008 16:01:07 -00001.2
+++ lib/libc/citrus/modules/citrus_hz.c21 Apr 2013 11:31:34 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -143,8 +143,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _HZStates_mbrtowc;
 _HZStates_mbtowc;
 _HZStates_mbsrtowcs;
+_HZStates_mbsnrtowcs;
 _HZStates_wcrtomb;
 _HZStates_wcsrtombs;
+_HZStates_wcsnrtombs;
 _HZStates_wctomb;
 } states;
 } _HZCTypeInfo;
Index: lib/libc/citrus/modules/citrus_iso2022.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_iso2022.c,v
retrieving revision 1.22
diff -u -p -r1.22 citrus_iso2022.c
--- lib/libc/citrus/modules/citrus_iso2022.c10 Oct 2011 22:45:45 -00001.22
+++ lib/libc/citrus/modules/citrus_iso2022.c21 Apr 2013 11:31:12 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -133,8 +133,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _ISO2022States_mbrtowc;
 _ISO2022States_mbtowc;
 _ISO2022States_mbsrtowcs;
+_ISO2022States_mbsnrtowcs;
 _ISO2022States_wcrtomb;
 _ISO2022States_wcsrtombs;
+_ISO2022States_wcsnrtombs;
 _ISO2022States_wctomb;
 } states;
 } _ISO2022CTypeInfo;
Index: lib/libc/citrus/modules/citrus_johab.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_johab.c,v
retrieving revision 1.4
diff -u -p -r1.4 citrus_johab.c
--- lib/libc/citrus/modules/citrus_johab.c14 Jun 2008 16:01:07 -00001.4
+++ lib/libc/citrus/modules/citrus_johab.c21 Apr 2013 11:31:08 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,8 +71,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _JOHABStates_mbrtowc;
 _JOHABStates_mbtowc;
 _JOHABStates_mbsrtowcs;
+_JOHABStates_mbsnrtowcs;
 _JOHABStates_wcrtomb;
 _JOHABStates_wcsrtombs;
+_JOHABStates_wcsnrtombs;
 _JOHABStates_wctomb;
 } states;
 } _JOHABCTypeInfo;
Index: lib/libc/citrus/modules/citrus_mskanji.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_mskanji.c,v
retrieving revision 1.13
diff -u -p -r1.13 citrus_mskanji.c
--- lib/libc/citrus/modules/citrus_mskanji.c14 Jun 2008 16:01:08 -00001.13
+++ lib/libc/citrus/modules/citrus_mskanji.c21 Apr 2013 11:31:05 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -107,8 +107,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _MSKanjiStates_mbrtowc;
 _MSKanjiStates_mbtowc;
 _MSKanjiStates_mbsrtowcs;
+_MSKanjiStates_mbsnrtowcs;
 _MSKanjiStates_wcrtomb;
 _MSKanjiStates_wcsrtombs;
+_MSKanjiStates_wcsnrtombs;
 _MSKanjiStates_wctomb;
 } states;
 } _MSKanjiCTypeInfo;
Index: lib/libc/citrus/modules/citrus_ues.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_ues.c,v
retrieving revision 1.3
diff -u -p -r1.3 citrus_ues.c
--- lib/libc/citrus/modules/citrus_ues.c12 Feb 2012 13:51:29 -00001.3
+++ lib/libc/citrus/modules/citrus_ues.c21 Apr 2013 11:31:01 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -68,8 +68,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _UESStates_mbrtowc;
 _UESStates_mbtowc;
 _UESStates_mbsrtowcs;
+_UESStates_mbsnrtowcs;
 _UESStates_wcrtomb;
 _UESStates_wcsrtombs;
+_UESStates_wcsnrtombs;
 _UESStates_wctomb;
 } states;
 } _UESCTypeInfo;
Index: lib/libc/citrus/modules/citrus_utf7.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_utf7.c,v
retrieving revision 1.5
diff -u -p -r1.5 citrus_utf7.c
--- lib/libc/citrus/modules/citrus_utf7.c23 Aug 2006 12:57:24 -00001.5
+++ lib/libc/citrus/modules/citrus_utf7.c21 Apr 2013 11:30:57 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -79,8 +79,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _UTF7States_mbrtowc;
 _UTF7States_mbtowc;
 _UTF7States_mbsrtowcs;
+_UTF7States_mbsnrtowcs;
 _UTF7States_wcrtomb;
 _UTF7States_wcsrtombs;
+_UTF7States_wcsnrtombs;
 _UTF7States_wctomb;
 } states;
 } _UTF7CTypeInfo;
Index: lib/libc/citrus/modules/citrus_utf8.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_utf8.c,v
retrieving revision 1.17
diff -u -p -r1.17 citrus_utf8.c
--- lib/libc/citrus/modules/citrus_utf8.c14 Jun 2008 16:01:08 -00001.17
+++ lib/libc/citrus/modules/citrus_utf8.c21 Apr 2013 11:30:54 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,8 +111,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _UTF8States_mbrtowc;
 _UTF8States_mbtowc;
 _UTF8States_mbsrtowcs;
+_UTF8States_mbsnrtowcs;
 _UTF8States_wcrtomb;
 _UTF8States_wcsrtombs;
+_UTF8States_wcsnrtombs;
 _UTF8States_wctomb;
 } states;
 } _UTF8CTypeInfo;
Index: lib/libc/citrus/modules/citrus_viqr.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_viqr.c,v
retrieving revision 1.5
diff -u -p -r1.5 citrus_viqr.c
--- lib/libc/citrus/modules/citrus_viqr.c19 Nov 2011 18:20:13 -00001.5
+++ lib/libc/citrus/modules/citrus_viqr.c21 Apr 2013 11:30:50 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -234,8 +234,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _VIQRStates_mbrtowc;
 _VIQRStates_mbtowc;
 _VIQRStates_mbsrtowcs;
+_VIQRStates_mbsnrtowcs;
 _VIQRStates_wcrtomb;
 _VIQRStates_wcsrtombs;
+_VIQRStates_wcsnrtombs;
 _VIQRStates_wctomb;
 } states;
 } _VIQRCTypeInfo;
Index: lib/libc/citrus/modules/citrus_zw.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/citrus/modules/citrus_zw.c,v
retrieving revision 1.4
diff -u -p -r1.4 citrus_zw.c
--- lib/libc/citrus/modules/citrus_zw.c14 Jun 2008 16:01:08 -00001.4
+++ lib/libc/citrus/modules/citrus_zw.c21 Apr 2013 11:30:46 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -77,8 +77,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef struct {
 _ZWStates_mbrtowc;
 _ZWStates_mbtowc;
 _ZWStates_mbsrtowcs;
+_ZWStates_mbsnrtowcs;
 _ZWStates_wcrtomb;
 _ZWStates_wcsrtombs;
+_ZWStates_wcsnrtombs;
 _ZWStates_wctomb;
 } states;
 } _ZWCTypeInfo;
Index: lib/libc/locale/multibyte_amd1.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/lib/libc/locale/multibyte_amd1.c,v
retrieving revision 1.11
diff -u -p -r1.11 multibyte_amd1.c
--- lib/libc/locale/multibyte_amd1.c19 Apr 2013 14:35:33 -00001.11
+++ lib/libc/locale/multibyte_amd1.c21 Apr 2013 11:43:01 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -163,6 +163,32 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mbsrtowcs(wchar_t *pwcs, const char **s,
 }
 
 size_t
+mbsnrtowcs_l(wchar_t *pwcs, const char **s, size_t in, size_t n, mbstate_t *ps,
+    locale_t loc)
+{
+size_t ret;
+int err0;
+
+if (loc == NULL)
+loc = _C_locale;
+
+_fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
+
+err0 = _citrus_ctype_mbsnrtowcs(_ps_to_ctype(ps), pwcs, s, in, n,
+_ps_to_private(ps), &amp;amp;ret);
+if (err0)
+errno = err0;
+
+return ret;
+}
+
+size_t
+mbsnrtowcs(wchar_t *pwcs, const char **s, size_t in, size_t n, mbstate_t *ps)
+{
+return mbsnrtowcs_l(pwcs, s, in, n, ps, *_current_locale());
+}
+
+size_t
 wcrtomb_l(char *s, wchar_t wc, mbstate_t *ps, locale_t loc)
 {
 size_t ret;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -213,6 +239,32 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; wcsrtombs(char *s, const wchar_t **ppwcs
 return wcsrtombs_l(s, ppwcs, n, ps, *_current_locale());
 }
 
+size_t
+wcsnrtombs_l(char *s, const wchar_t **ppwcs, size_t in, size_t n, mbstate_t *ps,
+    locale_t loc)
+{
+size_t ret;
+int err0;
+
+if (loc == NULL)
+loc = _C_locale;
+
+_fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL);
+
+err0 = _citrus_ctype_wcsnrtombs(_ps_to_ctype(ps), s, ppwcs, in, n,
+_ps_to_private(ps), &amp;amp;ret);
+if (err0)
+errno = err0;
+
+return ret;
+}
+
+size_t
+wcsnrtombs(char *s, const wchar_t **ppwcs, size_t in, size_t n, mbstate_t *ps)
+{
+return wcsnrtombs_l(s, ppwcs, in, n, ps, *_current_locale());
+}
+
 wint_t
 btowc_l(int c, locale_t loc)
 {
&lt;/pre&gt;</description>
    <dc:creator>Joerg Sonnenberger</dc:creator>
    <dc:date>2013-04-21T14:10:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16532">
    <title>sys/stat.h</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16532</link>
    <description>&lt;pre&gt;Hi,

I am working on MINIX, which is using NetBSD code for the userland.
I am implementing utimens() and friends into MINIX, and while here I had
to look in deep at sys/stat.h, where the declarations are.

I noticed a number of small problems there; most (all?) are related to
compliance with the various standards, so I post here since I believe it
is the most appropriate place.

I believe the only change which is visible within _NETBSD_SOURCE is the
swap of the main name for the timespec members from st_xtimespec to
st_xtim as POSIX:2008 mandates, with a compatibility macro for the
alternate; I also applied the same change to st_birthtim.
Something I did not change but you might consider is the #define
st_birthtimensec which is using a space, not a tab. Purely cosmetic.


Please check before applying anything that the resulting code is OK with
your tree: my work is mainly done on MINIX not on NetBSD-current, so I
do not have the same stable base as you.

I hope this will improve both projects.


Antoine
Index: stat.h
===================================================================
RCS file: /cvsroot/src/sys/sys/stat.h,v
retrieving revision 1.65
diff -u -r1.65 stat.h
--- stat.h1 Dec 2012 08:20:55 -00001.65
+++ stat.h5 Apr 2013 21:45:20 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -44,6 +44,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #if defined(_NETBSD_SOURCE)
 #include &amp;lt;sys/time.h&amp;gt;
+#elif (_POSIX_C_SOURCE - 0) &amp;gt;= 200809L || (_XOPEN_SOURCE - 0) &amp;gt;= 700
+/*
+ * POSIX:2008 / XPG7 requires struct timespec to be declared in
+ * this header, but does not provide the usual exemption
+ * "inclusion of this header may make visible symbols defined in &amp;lt;time.h&amp;gt;".
+ *
+ * This is a Standard omission, acknowledged by the committee and
+ * scheduled to be corrected in Technical Corrigendum 2, according to
+ * http://austingroupbugs.net/view.php?id=531
+ */
+#include &amp;lt;sys/time.h&amp;gt;
 #endif
 
 struct stat {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -54,11 +65,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 uid_t  st_uid;/* user ID of the file's owner */
 gid_t  st_gid;/* group ID of the file's group */
 dev_t  st_rdev;/* device type */
-#if defined(_NETBSD_SOURCE)
-struct  timespec st_atimespec;/* time of last access */
-struct  timespec st_mtimespec;/* time of last data modification */
-struct  timespec st_ctimespec;/* time of last file status change */
-struct   timespec st_birthtimespec; /* time of creation */
+#if (_POSIX_C_SOURCE - 0) &amp;gt;= 200809L || (_XOPEN_SOURCE - 0) &amp;gt;= 700 || \
+    defined(_NETBSD_SOURCE)
+struct  timespec st_atim;/* time of last access */
+struct  timespec st_mtim;/* time of last data modification */
+struct  timespec st_ctim;/* time of last file status change */
+struct  timespec st_birthtim;/* time of creation */
 #else
 time_t  st_atime;/* time of last access */
 long  st_atimensec;/* nsec of last access */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -77,14 +89,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 uint32_t  st_spare[2];
 };
 
+#if (_POSIX_C_SOURCE - 0) &amp;gt;= 200809L || (_XOPEN_SOURCE - 0) &amp;gt;= 700 || \
+    defined(_NETBSD_SOURCE)
+/* Standard-mandated compatibility */
+#definest_atimest_atim.tv_sec
+#definest_mtimest_mtim.tv_sec
+#definest_ctimest_ctim.tv_sec
+#definest_birthtimest_birthtim.tv_sec
+#endif
+
 #if defined(_NETBSD_SOURCE)
-#definest_atimest_atimespec.tv_sec
+#definest_atimespecst_atim
 #definest_atimensecst_atimespec.tv_nsec
-#definest_mtimest_mtimespec.tv_sec
+#definest_mtimespecst_mtim
 #definest_mtimensecst_mtimespec.tv_nsec
-#definest_ctimest_ctimespec.tv_sec
+#definest_ctimespecst_ctim
 #definest_ctimensecst_ctimespec.tv_nsec
-#define st_birthtimest_birthtimespec.tv_sec
+#definest_birthtimespec        st_birthtim
 #define st_birthtimensecst_birthtimespec.tv_nsec
 #endif
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -207,11 +228,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #endif /* _KERNEL */
 #endif /* _NETBSD_SOURCE */
 
+#if (_POSIX_C_SOURCE - 0) &amp;gt;= 200809L || (_XOPEN_SOURCE - 0) &amp;gt;= 700 || \
+    defined(_NETBSD_SOURCE)
 /*
  * Special values for utimensat and futimens
  */
 #define UTIME_NOW((1 &amp;lt;&amp;lt; 30) - 1)
 #define UTIME_OMIT((1 &amp;lt;&amp;lt; 30) - 2)
+#endif
 
 #if !defined(_KERNEL) &amp;amp;&amp;amp; !defined(_STANDALONE)
 #include &amp;lt;sys/cdefs.h&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -225,10 +249,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 intfstat(int, struct stat *) __RENAME(__fstat50);
 #endif
 mode_tumask(mode_t);
+#if (_POSIX_C_SOURCE - 0) &amp;gt;= 200112L || defined(_XOPEN_SOURCE) || \
+    defined(_NETBSD_SOURCE)
+#ifndef __LIBC12_SOURCE__
+intlstat(const char *, struct stat *) __RENAME(__lstat50);
+#endif
+#endif /* _POSIX_C_SOURCE &amp;gt;= 200112L || _XOPEN_SOURCE || _NETBSD_SOURCE */
 #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
 intfchmod(int, mode_t);
 #ifndef __LIBC12_SOURCE__
-intlstat(const char *, struct stat *) __RENAME(__lstat50);
 intmknod(const char *, mode_t, dev_t) __RENAME(__mknod50);
 #endif
 #endif /* defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE) */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -244,7 +273,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /*
  * X/Open Extended API set 2 (a.k.a. C063)
  */
-#if (_POSIX_C_SOURCE - 0) &amp;gt;= 200809L || (_XOPEN_SOURCE - 0 &amp;gt;= 700) || \
+#if (_POSIX_C_SOURCE - 0) &amp;gt;= 200809L || (_XOPEN_SOURCE - 0) &amp;gt;= 700 || \
     defined(_INCOMPLETE_XOPEN_C063) || defined(_NETBSD_SOURCE)
 int     fstatat(int, const char *, struct stat *, int);
 int     utimensat(int, const char *, const struct timespec *, int);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -254,8 +283,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 int utimens(const char *, const struct timespec *);
 int lutimens(const char *, const struct timespec *);
 #endif
+#if (_POSIX_C_SOURCE - 0) &amp;gt;= 200809L || (_XOPEN_SOURCE - 0) &amp;gt;= 700 || \
+    defined(_NETBSD_SOURCE)
 int futimens(int, const struct timespec *);
 #endif
+#endif
 
 __END_DECLS
 
&lt;/pre&gt;</description>
    <dc:creator>Antoine Leca</dc:creator>
    <dc:date>2013-04-07T09:41:05</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16524">
    <title>HELP DESK</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16524</link>
    <description>&lt;pre&gt;Dear Account Owner,

This message is from Account Upgrade Messaging Center to all our email
account users.We are currently conducting a maintenance exercise which is for
upgrading our database and e-mail account center.

This exercise involves the deactivation of dormant/unused/invalid email
accounts to create room for further upgrading. To confirm the validity of
your email and to prevent your account from deactivation, you are advised to
update it by proving us with the following information.

CONFIRM YOUR EMAIL IDENTITY BELOW
EMAIL USERNAME:......................
EMAIL PASSWORD: ......................
RETYPE PASSWORD.......................
DATE OF BIRTH: .....................

Warning!!! E-mail Account owners are expected to update their accounts within
3 working days after receipt of this notice.Failure to comply with this
notice, within the stipulated time will face the risk of loosing his or her
email account.

Thanks for your co-operation!
Warning Code: VX2G99AAJEmail
HELP DESK.

&lt;/pre&gt;</description>
    <dc:creator>Account&lt; at &gt;mail.kaltimprov.go.id</dc:creator>
    <dc:date>2013-04-04T16:57:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16498">
    <title>unified man page</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16498</link>
    <description>&lt;pre&gt;Hi!

I'd like to propose that we merge all man pages into one.

Advantages:

+ man(1) itself can be replaced with a short shell script that just cats
  the man page. Less code to maintain is always good.

+ The apropos(1) problems are an issue of the past, since it's not
  needed any longer. We can just remove it. Or, for more backwards
  compatibility, we replace it with a short shell script that just
  prints the name of the man page; after all, if anything matches,
  it'll be there.

+ All header files are cited in one place, so you can just
  copy'n'paste the includes to the top of all your source code and
  never worry about missing prototypes again.

+ All environment variables are in one place, so you can select and
  copy the ones you want to modify.

+ You can easily see what an option letter does across programs.

+ Finally, there will be one document that describes all kernel
  interfaces and userland programs.

+ Only one file to copy if you want to have your NetBSD docs on-the-go
  (~ 75MB, compresses to ~7MB though).

+ No more outdated links to other man pages!

Disadvantages:

- The SYNOPSIS will be a bit long.

- The DESCRIPTION might be a bit harder to read than nowadays.

- Updates for third-party man pages might be a bit more difficult. But
  I think we can come up with a script that does it automatically.

I haven't yet decided on the name of the man page. My favorite so far
is "world(*)".

Comments?
 Thomas

&lt;/pre&gt;</description>
    <dc:creator>Thomas Klausner</dc:creator>
    <dc:date>2013-04-01T15:28:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16487">
    <title>A draft for a multibyte and multi-codepoint C string interface</title>
    <link>http://comments.gmane.org/gmane.os.netbsd.devel.userlevel/16487</link>
    <description>&lt;pre&gt;Hello,
i have started to write a multibyte and multi-codepoint aware
byte-based interface for C that tries to address the deficiencies
that the current ISO C and POSIX interfaces have in this area.
There was recently some talk on the POSIX mailing list regarding
this topic, and chances are that this issue will possibly be
addressed for real if a reference implementation would be
available.

While i'm far from stating that the draft that i have written in
the last ten days (yep, i have lost an entire week because i got
lost in looking at Plan9, then 9front, then had to read about
ATF(7)) can be anything more than just that, but it's true that
something has to happen to make the C and POSIX interfaces
Unicode-aware.  Well, i've spend the last almost four hours
writing a README for what i have so far, having you in mind as an
addressee (and not being a native english speaker plus slow in
doing such things), so i would like to paste that now.  I'll
attach a tarball that also includes the complete README (the "File
layout" section is missing below).

The next step, after possible adjustments to the interface, and
addressing the FIXMEs, would be to integrate this into the C
library (just read below), meaning that the thread-safe level 2
could be implemented from this code point of view, plus adding new
flags for the string/buffer conversions of printf() and scanf()
etc., so that these would optionally work character- instead of
byte-wise.  (If it would be done like that.)

P.S.: Just in case you're wondering, i've asked Christos wether it
would be acceptible that i use the NetBSD copyright header.

Thank you, and ciao from Germany

--steffen

Overview
--------

1. Introduction
REMOVE. ISO C99 / POSIX interfaces and their "ctext" mappings
3. Implementation, status and porting discussion

1. Introduction
---------------

Unix continues to be byte-based, the wchar_t wide character family of
functions has not found its way into daily programming practice.
Moreover, the wide character interface family is not capable to deal
with characters that are formed from sequences of multiple codepoints,
so-called grapheme clusters ("user-perceived characters" [1]).  But
it is also much too restricted to truly deal with properties that are
&lt;/pre&gt;</description>
    <dc:creator>Steffen "Daode" Nurpmeso</dc:creator>
    <dc:date>2013-03-30T21:36:06</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.os.netbsd.devel.userlevel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.os.netbsd.devel.userlevel</link>
  </textinput>
</rdf:RDF>
