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