[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: esdump dumps ...... core!



Paul Haahr wrote...
   
   Um, because of changes to crt0?  What?  How?  Huh?

   The only thing of that might affect this is that crt0 could be defining
   some symbol that es wants to be bss'ed.

I thought it was crt0 because I'd have problems with some function (I believe
it was getenv()) where the argument to the function was
"ENABLE_STARTUP_LOCALE", according to gdb.  Looking through FreeBSD's CVS
logs on crt0.c, I found

----------------------------
revision 1.21
date: 1995/11/02 12:42:42;  author: ache;  state: Exp;  lines: +1 -12
Remove my locale hack. Sigh.
----------------------------
.
.
.
----------------------------
revision 1.14
date: 1994/09/24 16:01:30;  author: ache;  state: Exp;  lines: +3 -2
Call reduced (8-bit only) startup_setlocale()
----------------------------
revision 1.13
date: 1994/09/19 02:00:21;  author: ache;  state: Exp;  lines: +5 -6
Change level of setlocale hack enabling from compile option STARTUP_LOCALE
to check (via getenv) environment variable "ENABLE_STARTUP_LOCALE" at
runtime.
Submitted by: me per Bruce suggestion
----------------------------
revision 1.12
date: 1994/09/18 22:21:04;  author: ache;  state: Exp;  lines: +8 -2
Add (#ifdef'ed by STARTUP_LOCALE) following line to crt0.c

	(void) setlocale(LC_ALL, "");

It will be easiest way now to make national chars available
for all ctype-oriented programs at once by simple:

setenv LANG Your_National_Charset

Default case (without "LANG" environment
variable) will be fully ANSI compatible (got "C" locale).

If "LANG" variable present, extention becomes active.

Effect of this extention is great: in one time all ctype
oriented programs can accept/print national characters
without any touching source/binary code, it is big win, IMHO.

This method is fully compatible with ISO8859-* and russian koi8-r
too (in general -- with all 8-bit character sets). I think
it is very useful.
I got this idea from Xenix locale implementation.

This extention is even never compiled in, unless you set
	setenv STARTUP_LOCALE
before rebuilding crt0.c or corresponding variable in /etc/make.conf
----------------------------

etc.


   
   I won't be able to track this one down, I suspect.

Would an account help?  :)