#
2a7af30c |
| 13-Jun-2010 |
tnozaki <tnozaki@NetBSD.org> |
1. split runetype_local.h -> runetype_file.h and remove renameing _Rune* -> _NBRune* namespace protection.
FreeBSD traditionaly exposes struct _Rune* in runetype.h which included by ctype.h
1. split runetype_local.h -> runetype_file.h and remove renameing _Rune* -> _NBRune* namespace protection.
FreeBSD traditionaly exposes struct _Rune* in runetype.h which included by ctype.h. it may cause conflicting type error in our cross build process, former we use renaming namespace to avoid this problem, now i reworked more resonable way.
2. merge rune_local.h to runetype_local.h, and remove it. 3. split bsdctype.h -> bsdctype_{file,local}.h
show more ...
|
#
db741099 |
| 18-Jan-2009 |
tnozaki <tnozaki@NetBSD.org> |
PR lib/40411, nuke wctrans_init(). lazy initialization is not good idea. statically initialized _DefaultRuneLocale.rl_wctrans field. so we can re-const-ify _DefaultRuneLocale.
pkgsrc/shells/standalo
PR lib/40411, nuke wctrans_init(). lazy initialization is not good idea. statically initialized _DefaultRuneLocale.rl_wctrans field. so we can re-const-ify _DefaultRuneLocale.
pkgsrc/shells/standalone-tcsh should be rebuild, because it's staticaly linked binary.
show more ...
|
#
826ddf7e |
| 16-Jan-2009 |
christos <christos@NetBSD.org> |
PR/40411: Hisashi T Fujinaka: standalone-tcsh dumps core when tab completing
The new rune code abuses __UNCONST to lazily initialize _RuneLocale. If that happens to be the _DefaultRuneLocale which i
PR/40411: Hisashi T Fujinaka: standalone-tcsh dumps core when tab completing
The new rune code abuses __UNCONST to lazily initialize _RuneLocale. If that happens to be the _DefaultRuneLocale which is const, the program will core-dump because it will attempt to write to read-only memory. Catch this and clone a copy of the locale and return it. The reason we don't see everything core-dumping is because our shared library code probably loads the text segment COW so it works (Is there an mprotect missing somewhere?). But on statically linked binaries this is not the case and we die.
XXX[1]: Vet the code so that we are sure that there is no more of that happening trying to get rid of much of the __UNCONST'ing. XXX[2]: This needs to be fixed for 5.0 and all related fixes. XXX[3]: There is one place in the code where _DefaultRuneLocale is treated specially, does the patch break things?
show more ...
|
#
52ed7b03 |
| 02-Jan-2009 |
tnozaki <tnozaki@NetBSD.org> |
Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format. ok'ed by core and releng. (thanks for agc@, snj@ and i'm sorry for long time patience).
[libc] - localeio.[ch] and
Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format. ok'ed by core and releng. (thanks for agc@, snj@ and i'm sorry for long time patience).
[libc] - localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by new locale-db implementation using citrus_db backend, see src/lib/libc/citrus/citrus_lc_*.[ch]. - add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation internally, because they're locale-aware function. - add some stubs for multi-locale issue, see {current,global}_locale.c. - remove some obsolete file, setrunelocale.c, ___runetype_mb.c. - remove __savectype() from ctypeio.[ch].
[tools] - mklocale(1): add new option ``-t'' that generates new style LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format. - chrtbl(1): added ctypeio.[ch] for __savectype().
[locale-db] - added en_US.US-ASCII locale. - removed some shareable locale definition file: en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8 zh_CN.eucCN -> zh_CN.GB18030 and more...see src/share/locale/*/Makefile. - remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS. - change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP* for X11's locale.alias file alignments. - fix regression test, wrong wcs?width(3), NAN/INF usage.
i tested release-build following arch: i386, amd64, hpc{mips,arm,sh}, sparc64, vax.
citrus_lc_*.[ch] also can read old-plain-text style locale-db. so that backward compatibility is keeped, but lc*.[ch] can't read new citrus_db'ed locale-db and localeio.c never check sanity, so forward compatibility is broken ;-<
old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
show more ...
|