Subject: Re: multibyte LC_CTYPE locales (Re: dlopen() twists)
To: None <tech-userlevel@netbsd.org>
From: Jun-ichiro itojun Hagino <itojun@iijlab.net>
List: tech-userlevel
Date: 01/22/2001 10:19:22
if you care about multibyte locale stuff and use of dlopen from
within libc, please take a look at PR 12027 and give me comments
(here, or onto the PR). the latest summary is like below.
i'd really like to pick either way and enable multibyte locale stuff
sooner, so that it can get tested enough before 1.6 branch is cut.
itojun
---
by coconut.itojun.org (8.9.3+3.2W/3.7W) with SMTP id KAA14933
for <itojun@itojun.org>; Mon, 22 Jan 2001 10:17:28 +0900 (JST)
by mail.netbsd.org with SMTP; 22 Jan 2001 01:17:12 -0000
by coconut.itojun.org (8.9.3+3.2W/3.7W) with ESMTP id KAA14926;
Mon, 22 Jan 2001 10:17:10 +0900 (JST)
to: gnats-bugs@gnats.netbsd.org (NetBSD GNATS submissions and
followups),
netbsd-bugs@NetBSD.ORG (NetBSD Bugs and PR posting List),
soda@netbsd.org
In-reply-to: itojun's message of Mon, 22 Jan 2001 09:32:38 JST.
<14507.980123558@coconut.itojun.org>
Subject: Re: bin/12017: how to enable multibyte locale (and problem around it)
From: itojun@iijlab.net
Date: Mon, 22 Jan 2001 10:17:09 +0900
Message-ID: <14924.980126229@coconut.itojun.org>
Sender: netbsd-bugs-owner@netbsd.org
so try to summarize the current situation:
- if you do not call setlocale() from within your program,
your binary won't have multibyte locale stuff pulled in.
- if you do call setlocale() from within your program,
multibyte locale stuff will be pulled into your program.
- now ld.elf_so issue (issue (b) in the original summary) is no longer
there. it is okay (unless someone introduce a call to setlocale()
in ld.elf_so source code).
so, remaining issue is:
(a) whether it is okay to call dlopen() from within libc
if it is okay to use dlopen(), that's fine with me.
it seems that there are objections to it. i can understand those
objections, since this can be seen similar to PAM, and I find PAM a
scary idea (BSDI BSD authentication code is much better).
statically lined binaries cannot use multibyte locale however,
due to dlopen() restriction.
if it is not okay, that's fine with me too. we need to modify
lib/libc/locale/setrunelocale.c and recompile libc when we see a
new encoding defined, but given the expected frequency of such an
event, that's okay with me. a good thing is that we can use
multibyte locale from within statically-linked binary, independent
from the lack of dloepn() support in statically-linked binary.
in either way, i have working patches.
i just want a consensus here.
itojun