Date: Mon, 2 May 2005 11:10:21 GMT From: FUJISHIMA Satsuki <sf@FreeBSD.org> To: Ruslan Ermilov <ru@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src Makefile.inc1 src/sys/sys param.h src/tools/build Makefile src/lib/libc/locale rune.c src/include Makefile runefile.h src/usr.bin/mklocale ldef.h lex.l yacc.y Message-ID: <200505021110.j42BALe1036976@freefall.freebsd.org> In-Reply-To: <200502262147.j1QLls3r024384@repoman.freebsd.org> References: <200502262147.j1QLls3r024384@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This change broke binary compatibility with FreeBSD =< 5.x. They do not run on -CURRENT correctly when LC_CTYPE is set. Is this intentional? If so, is there any workaround? Currently Opera FreeBSD (4.6 binary) does not work in non-ASCII environment. # RELENG_4 binary does not work with LC_CTYPE but without it does. $ file /home/chroot/4/usr/bin/perl /home/chroot/4/usr/bin/perl: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.11 (492100), dynamically linked (uses shared libs), stripped $ env - LC_CTYPE=ja_JP.eucJP /home/chroot/4/usr/bin/perl < /dev/null perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LC_CTYPE = "ja_JP.eucJP", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). $ env - /home/chroot/4/usr/bin/perl < /dev/null # RELENG_5, same as above. $ file /home/chroot/5/usr/local/bin/perl /home/chroot/5/usr/local/bin/perl: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.4 (504100), dynamically linked (uses shared libs), stripped $ env - LC_CTYPE=ja_JP.eucJP /home/chroot/5/usr/local/bin/perl < /dev/null perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LC_CTYPE = "ja_JP.eucJP", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). $ env - /home/chroot/5/usr/local/bin/perl < /dev/null # Of course -CURRENT binary works. $ file /usr/local/bin/perl /usr/local/bin/perl: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 6.0 (600008), dynamically linked (uses shared libs), stripped $ env - LC_CTYPE=ja_JP.eucJP /usr/local/bin/perl < /dev/null $ env - /usr/local/bin/perl < /dev/null # copying LC_CTYPE from RELENG_5 fixes compatibility, but breaks -CURRENT binary. $ sudo cp /home/chroot/5/usr/share/locale/ja_JP.eucJP/LC_CTYPE /usr/share/locale/ja_JP.eucJP $ env - LC_CTYPE=ja_JP.eucJP /home/chroot/4/usr/bin/perl < /dev/null $ env - LC_CTYPE=ja_JP.eucJP /home/chroot/5/usr/local/bin/perl < /dev/null $ env - LC_CTYPE=ja_JP.eucJP /usr/local/bin/perl < /dev/null perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LC_CTYPE = "ja_JP.eucJP", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). $ At Sat, 26 Feb 2005 21:47:54 +0000 (UTC), Ruslan Ermilov wrote: > > ru 2005-02-26 21:47:54 UTC > > FreeBSD src repository > > Modified files: > . Makefile.inc1 > sys/sys param.h > tools/build Makefile > lib/libc/locale rune.c > include Makefile > usr.bin/mklocale ldef.h lex.l yacc.y > Added files: > include runefile.h > Log: > Make the format of LC_CTYPE files architecture independent by > introducing the disk formats for _RuneLocale and friends. > > The disk formats do not have (useless) pointers and have 32-bit > quantities instead of rune_t and long. (htonl(3) only works > with 32-bit quantities, so there's no loss). > > Bootstrap mklocale(1) when necessary. (Bootstrapping from 4.x > would be trivial (verified), but we no longer provide pre-5.3 > source upgrades and this is the first commit to actually break > it.) > > Revision Changes Path > 1.477 +5 -0 src/Makefile.inc1 > 1.233 +2 -1 src/include/Makefile > 1.1 +61 -0 src/include/runefile.h (new) > 1.13 +156 -66 src/lib/libc/locale/rune.c > 1.228 +1 -1 src/sys/sys/param.h > 1.8 +5 -0 src/tools/build/Makefile > 1.4 +7 -5 src/usr.bin/mklocale/ldef.h > 1.9 +0 -1 src/usr.bin/mklocale/lex.l > 1.24 +71 -76 src/usr.bin/mklocale/yacc.y >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505021110.j42BALe1036976>