Mon Dec 2 03:59:38 1996 Ulrich Drepper <drepper@cygnus.com>
* grp/initgroups.c: Update and reformat copyright.
Use __getgrent_r instead of getgrent.
* inet/rcmd.c: Update and reformat copyright.
Use __gethostbyname_r instead of gethostbyname.
* inet/rexec.c: Likewise.
* intl/finddomain.c: Correct comment about CEN sponsor and revision.
* locale/findlocale.c: Likewise.
* intl/l10nflist.c: Correct handling of CEN sponsor and revision.
* locale/Makefile (CPPFLAGS): Add definition of LOCALEDIR.
* locale/setlocale.c (setlocale): Correctly split value of
LOCALE_PATH.
* locale/programs/localedef.c: Use LOCALEDIR not LOCALE_PATH to
find output directory.
* nss/getXXbyYY.c [NEED_H_ERRNO]: Before enlarging buffer test
h_errno_tmp variable.
Save error value from being changed during `free' call.
* nss/getXXent.c: Likewise.
* nss/nss_files/files-XXX.c: Set h_errno variable to NETDB_INTERNAL
before returning ERANGE error.
* posix/glob.c: Use getlogin_r and getpwnam_r function when available
or in GNU libc.
* pwd/getpw.c: Use getpwuid_r instead of getpwuid.
* sunrpc/clnt_gen.c: Use gethostbyname_r and getprotobyname_r.
* sunrpc/clnt_simp.c: Likewise.
* sunrpc/getrpcport.c: Likewise.
* sysdeps/unix/sysv/linux/gethostid.c: Likewise.
* posix/getconf.c: Treat _SC_UNIT_MAX and _SC_ULONG_MAX separately
since the value might be outsode the range of the `long int'.
Print string `undefined' when a value is undefined.
* stdlib/l64a.c: Return correct pointer.
Patch by NIIBE Yutaka <gniibe@mri.co.jp>.
* string/Makefile (routines): Add argz-addsep.
* string/argz-addsep.c: New file.
* string/argz.h: Add prototypes for argz_add_sep.
* string/argz-ctsep.c: Prevent memory leak.
* string/strcoll.c: Correct typo in comment.
Sat Nov 30 02:53:59 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sys/serial.h: Removed again. The file is
not general enough to be part of the libc.
* sysdeps/unix/sysv/linux/Dist: Remove sys/serial.h.
* sysdeps/unix/sysv/linux/Makefile: Don't install sys/serial.h.
Thu Nov 28 20:04:41 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile: Fix typo.
* nss/Makefile (generated): Filter out db-alias.c.
Thu Nov 28 14:44:01 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* time/Makefile (echo-zonenames): Don't depend on non-existing
target `zonenames'.
Thu Nov 28 12:34:05 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* link.h: New file.
* nss/nsswitch.c: Use it.
* printf.h: Fix file name.
* stdlib/strfmon.c: Use it.
Fri Oct 11 19:13:34 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/Makefile (CPPFLAGS): Set CHARMAP_PATH to
"$(i18ndir)/charmaps".
Fri Oct 11 22:12:41 1996 NIIBE Yutaka <gniibe@mri.co.jp>
* sysdeps/unix/sysv/linux/sys/procfs.h: Include <asm/user.h>
to get definition of FPU description struct.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=socket] (subdir_headers):
Add net/if.h, net/if_ppp.h, net/ppp-comp.h, net/ppp_defs.h,
net/if_arp.h, and net/route.h.
* sysdeps/unix/sysv/linux/net/if_arp.h: New file.
* sysdeps/unix/sysv/linux/net/route.h: New file.
Fri Oct 11 14:49:13 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/readdir_r.c: New file. We need a stub version.
* sysdeps/stub/e_acosl.c: Likewise.
* sysdeps/stub/e_asinl.c: Likewise.
* sysdeps/stub/e_atan2l.c: Likewise.
* sysdeps/stub/e_expl.c: Likewise.
* sysdeps/stub/e_fmodl.c: Likewise.
* sysdeps/stub/e_log10l.c: Likewise.
* sysdeps/stub/e_logl.c: Likewise.
* sysdeps/stub/e_sqrtl.c: Likewise.
* sysdeps/stub/s_atanl.c: Likewise.
* sysdeps/stub/s_log1pl.c: Likewise.
* Makefile (distribute): Add nsswitch.h and netgroup.h.
* nss/Makefile (generated): db-netgrp.c is not generated.
* sysdeps/alpha/Dist: Add stxcpy.S and stxncpy.S.
* Make-dist (+out): Add $(dont_distribute).
Fri Oct 11 00:27:18 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/Makefile (routines): Add tmpnam_r.
Fri Oct 11 05:32:51 1996 Ulrich Drepper <drepper@cygnus.com>
* version.h: Bump version to 1.96.
Fri Oct 11 18:13:47 1996 Andreas Jaeger <aj@arthur.pfalz.de>
* stdio-common/tst-printf.c: Some more cleanups.
Fri Oct 11 02:48:02 1996 Ulrich Drepper <drepper@cygnus.com>
* resolv/arpa/nameser.h: Update from bind-4.9.5-T6B.
* resolv/resolv.h: Likewise.
* resolv/gethnamaddr.c: Likewise.
* resolv/res_comp.c: Likewise.
* resolv/res_debug.c: Likewise.
* resolv/res_init.c: Likewise.
* resolv/res_send.c: Likewise.
* resolv/Banner: Update version number.
* nss/nss_dns/dns-host.c: Update according to change in
resolv/gethnamaddr.c.
Fri Oct 10 20:52:28 1996 Ralph Loader <loader@maths.ox.ac.uk>
* crypt/md5.c (md5_stream): When reading the block in several
pieces append to instead of replace previously read data.
Thu Oct 10 15:53:17 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/stxcpy.S ($unaligned): In single word copy, correct
last-byte-written bit for source word misalignment.
* sysdeps/alpha/strchr.c: Removed. There is now an assembler
version.
Thu Oct 10 17:17:23 1996 Ulrich Drepper <drepper@cygnus.com>
* sunrpc/Makefile (rpcsvc): Remove yp.x. The corrected version
comes with glibc-nis.
* sunrpc/rpcsvc/yp.x: Removed.
* nss/nss_files/files-netgr.c (_nss_netgroup_parseline): Test
for *CURSOR to be NULL and dump a core if yes.
Thu Oct 9 20:09:53 1996 Matthew Jacob <mjacob@feral.com>
* sysdeps/unix/sysv/linux/alpha/brk.S: Define _ERRNO_H before
including <errnos.h> to get error numbers.
Thu Oct 10 14:00:01 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigcontext.h: Moved file...
* sysdeps/unix/sysv/linux/sigcontext.h: ...to here. So the
Alpha people find a correct file.
* sysdeps/libm-ieee754/w_cabs.c: We cannot make __cabsl simply
an alias of __cabs since the structures have different names.
* sysdeps/libm-ieee754/w_log10.c: Fix typo in weak_alias.
Reported by Matthew Jacob <mjacob@feral.com>.
simply a wrapper around the <linux/elfcore.h> file since the
Sun Sep 8 02:36:02 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/SYS_libc.c (_libc_intl_domainname): Change value to "libc".
This is consistent with all other GNU packages. We shouldn't
take care for a possible clash. Somebody will name the domain
of a package libc if it is not the libc itself.
* MakeTAGS ($P/SYS_libc.pot): Rename to $P/libc.pot.
* po/Makefile (domainname): Change to libc.
(distribute): Now ship libc.pot.
* catgets/gencat.c (usage): Use `PACKAGE' for package name in
version information banner.
Change bug report address to bug-glibc@prep not @gnu.
* db/makedb.c (PACKAGE): New macro. Set to _libc_intl_domain.
(main): Use `PACKAGE' for package name in version information
banner.
Change bug report address to bug-glibc@prep not @gnu.
* locale/programs/locale.c (main): Use `PACKAGE' for package name
in version information banner.
Change bug report address to bug-glibc@prep not @gnu.
* locale/programs/localedef.c (main): Likewise.
* version.h (VERSION): Bump to 1.94.
* libio/iofdopen: Initialize _lock field only if _IO_MTSAFE_IO.
* time/strftime.c (strftime: do_number): Initialize PRINTED to
MAXDIGITS in case P is null and so sprintf is never actually called.
Mon Jul 29 02:46:23 1996 Ulrich Drepper <drepper@cygnus.com>
Add support for the to-be-written internationalized regexp.
This code must be able to use collation symbols and collation
equivalent classes.
* locale/C-collate.c (_nl_C_LC_COLLATE_symbol_hash,
_nl_C_LC_COLLATE_symbol_strings, _nl_C_LC_COLLATE_symbol_classes):
New global variables for collation classes.
* locale/categories.def: Add new descriptions for collation symbols
and collation classes.
* locale/langinfo.h: Add constants for collation symbols and
collation classes.
* locale/lc-collate.c: Add new global variables for collation symbols
and collation classes.
(_nl_postload_collate): Initialize new variables.
* locale/programs/ld-collate.c: Add code to emit tables for
collation symbols and collation classes.
* locale/programs/locales.h: Change prototype for `collate_output'.
* locale/programs/locfile.c (write_all_categories): Call
`collate_output' with new argument.
* locale/localeinfo.h: Add declaration for new global vars.
(union locale_data_value): New member wstr for `wchar_t' strings.
* locale/programs/locale-spec.c: Handle `collate-classes'
keyword and print information about available collation classes.
* locale/strlen-hash.h: New file. Simple hashing function which
takes a string with known length.
* locale/Makefile (distribute): Add strlen-hash.h.
(locale-modules): New var. Additional files for `locale' program.
* locale/C-ctype.c: Rewrite to avoid using string for giving values
which are of type `u_int32_t'.
Correct entry for EOF in toupper and tolower tables.
* locale/loadlocale.c (_nl_load_locale): Add cast to prevent
warning.
* locale/programs/ld-ctype.c (ctype_output): Add code to make
sure that all tables in binary file are words aligned.
* locale/programs/locfile.c (write_locale_data): Correct handling
of LC_MESSAGES locale. Create directory if necessary.
* locale/setlocale.c (setlocale): Add cast to avoid warning.
* string/string.h: Add prototype for `__strndup'.
Wed Jul 24 19:10:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* wcsmbs/mbrtowc.c: Remove unused variable.
Sun Jul 28 22:40:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): Update to
2.0.10; some problems were reported with an earlier version, and this
one is known to work.
* sysdeps/generic/dl-sysdep.c (__libc_enable_secure): New variable.
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* catgets/gencat.c (write_out): Use %Zu to print variables of type
size_t.
* resolv/res_debug.c (__p_rr): Print size_t variable as %lu and
cast it to (unsigned long) to make it work both on 32 and 64
bit architectures.
Sat Jun 22 13:05:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/Makefile (distribute): Add `programs/' prefix to all
files in that directory.
* Makerules (distinfo-vars): Assign subdir directly so that `ifdef
subdir' works.
* MakeTAGS (sources, headers): Make them simply expanded variables
so that all-dist is expanded before it is changed.
* math/Makefile (distribute): Add ieee-math.c.
Wed Jun 19 03:24:58 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/codeset_name.c: New file. Provide function for information
about currently used character set.
* locale/Makefile (routines): Add codeset_name.
* locale/langinfo.h (_NL_CTYPE_CODESET_NAME): Add new constant.
* locale/localeinfo.h: Change magic number because of incompatible
change.
* locale/C-ctype.c: Add initializer for new field `codeset_name'.
* locale/programs/ld-ctype.c: Implement handling of `codeset_name'.
* locale/programs/locfile.c: Don't depend in pre-2.0 Linux specific
name `MAX_IOVEC'. Instead use standard name `UIO_MAXIOV'.
* locale/setlocale.c (setlocale): Initialize local variables to
prevent warnings.
* limits.h: Change MB_LEN_MAX to 6. A 31-bit ISO 10646
character in UTF-8 encoding has that many bytes.
* locale/langinfo.h: New element _NL_CTYPE_MB_CUR_MAX.
* locale/categories.def: Add description of field _NL_CTYPE_MB_CUR_MAX.
* locale/Makefile (routines): Add mb_cur_max.
* locale/mb_cur_max.c: New file. This function gets called
when the macro MB_CUR_MAX is used.
* locale/C-ctype.c: Initialize new mb_cur_max field.
* locale/localeinfo.h: Change magic value because of incompatible
change.
* locale/programs/ld-ctype.c: Determine value of mb_cur_max
according to current character set and write it out with the rest.
* stdlib/stdlib.h (MB_CUR_MAX): Not constant anymore. Get value
according to currently used locale for catefory LC_CTYPE by
calling the function __ctype_get_mb_cur_max.
Tue May 28 03:27:46 1996 Ulrich Drepper <drepper@cygnus.com>
* FAQ: Fix some typos.
Tell that for Linux the kernel header files are necessary.
* PROJECTS: New file. List of open jobs for glibc.
* Makefile (distribute): Add PROJECTS.
* crypt/GNUmakefile (headers): New variable. Mention crypt.h.
* crypt/crypt.h: Header for crypt functions.
* elf/elf.h: Add some new constants from recent Cygnus ELF
header files.
* login/getutid_r.c: Test for correct type.
Don't depend on ut_type and ut_id unless _HAVE_UT_TYPE and
_HAVE_UT_ID resp. are defined.
Make really compliant with specification.
* login/getutline_r.c, login/pututline_r.c: Don't depend on
ut_type and ut_id unless _HAVE_UT_TYPE and _HAVE_UT_ID resp. are
defined.
Make really compliant with specification.
* login/setutent_r.c: Don't depend on ut_type and ut_id unless
_HAVE_UT_TYPE and _HAVE_UT_ID resp. are defined.
* login/login.c, login/logout.c, login/logwtmp.c: Complete
rewrite. Now based on getut*/setut* functions.
* stdlib/strtol.c: Undo changes of Wed May 22 01:48:54 1996.
This prevented using this file in other GNU packages.
* sysdeps/gnu/utmpbits.h: Define _HAVE_UT_TYPE, _HAVE_UT_ID,
and _HAVE_UT_TV because struct utmp has these members.
* sysdeps/libm-i387/e_exp.S: Correct exp(+-Inf) case.
* utmp.h: New file. Wrapper around login/utmp.h.
* elf/dl-error.c (struct catch): New type.
(catch): New static variable, struct catch *.
(catch_env, signalled_errstring, signalled_objname): Variables removed.
(_dl_signal_error): If CATCH is non-null, set its errstring and
objname members and jump to CATCH->env. If it is null, call
_dl_sysdep_fatal with a standard message.
* elf/rtld.c (dl_main): Explode `doit' function into dl_main's body.
No longer use _dl_catch_error.
* locale/C_name.c: New file.
(_nl_C_name): Put it here instead.
* locale/Makefile (aux): Add C_name.
* sysdeps/mach/hurd/dl-sysdep.c (open): Don't pass io port in
auth_user_authenticate rpc.
(open): Avoid using strtol in digit conversion for "fd/N" magic.
(_dl_sysdep_start): Likewise for memobj name in magic switches.
* elf/Makefile (reloc-link): New variable.
(dl-allobjs.so): New target, link together $(rtld-routines).
(librtld.so): Depend on that instead of the rtld components.
(generated): Add dl-allobjs.so.
* intl/Makefile (CPPFLAGS): Change $(nlsdir) to $(i18ndir) in
LOCALE_ALIAS_PATH.
Fri May 3 03:14:02 1996 Ulrich Drepper <drepper@cygnus.com>
* intl/Makefile (routines): Add l10nflist and explodename.
(distribute): Add loadinfo.h and locale.alias.
(install-others): New variable to install locale.alias.
* intl/dcgettext.c, intl/finddomain.c, intl/gettextP.h,
intl/loadmsgcat.c: Adapt for upcoming gettext-0.10.13. Some code
is now shared with the locale implementation.
* intl/explodename.c, intl/l10nflist.c, intl/loadinfo.h: New file.
Extracted from finddomain.c. This is also used in the locale
implementation.
* intl/locale.alias: New file. Locale alias database compatible
with X Window System's locale alias file. Can now be used in
locale and gettext code.
* libio/stdio.h: Add prototypes for asprint and vasprintf.
* locale/C-collate.c, locale/C-ctype.c, locale/C-messages.c,
locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c: Add new
field in structure with name of locale ("C" in this case).
* locale/Makefile (routines): Add findlocale.
* locale/findlocale.c: New file. Instead of trying to load the
directly described file we now try to be much smarter when this
fails. Use the same code as gettext does.
* locale/loadlocale.c, locale/setlocale.c: Rewrite to know about
new loading scheme.
* locale/localeinfo.h: Adapt prototypes and declarations for new
setlocale implementation. Remove definition of u32_t type. We
now use u_int32_t from <sys/types.h>.
* locale/programs/charset.h (ILLEGAL_CHAR_VALUE): Provide type
with constant.
* locale/programs/config.h, locale/lc-collate.c,
locale/localeinfo.h, locale/programs/ld-collate.c,
locale/programs/ld-ctype.c, locale/programs/ld-messages.c,
locale/programs/ld-monetary.c, locale/programs/ld-numeric.c,
locale/programs/ld-time.c, locale/weight.h, string/strcoll.c:
Change to use u_int32_t and u_int16_t.
* locale/programs/localedef.c (construct_output_path): Change name
of output locale to contain normalized form of the character set
portion.
* string/Makefile (routines): Add agrz-ctsep and argz-next.
(tests): Add tst-strlen.
* string/argz-ctsep.c: New file. Implement reverse operation
from argz-stringify.
* string/argz-next.c: Non-inline version of function from argz.h.
* string/argz.h, string/envz.h: Make usable as global header file.
* string/envz.c: Fix declarations to use size_t where prototypes
say so.
* string/tst-strlen.c: New file. Another test for critical
situation in strlen implementations.
* sysdeps/i386/i586/strlen.S: Fix bug with highest byte in word
being zero.
* wctype/test_wctype.c: Fix controlling comparison after change to
32 bit character class array.
Fri May 3 12:53:12 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/sys/socket.h: Remove spurious doubled line.
Thu May 2 22:50:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/getpriority.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add s_getpriority.
Thu May 2 22:41:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_DEFAULT):
Disable all exceptions.
Thu May 2 22:33:14 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_acosf.c,
sysdeps/m68k/fpu/e_fmod.c, sysdeps/m68k/fpu/e_fmodf.c,
sysdeps/m68k/fpu/isinfl.c, sysdeps/m68k/fpu/isnanl.c,
sysdeps/m68k/fpu/s_atan.c, sysdeps/m68k/fpu/s_atanf.c,
sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_frexpf.c,
sysdeps/m68k/fpu/s_ilogb.c, sysdeps/m68k/fpu/s_ilogbf.c,
sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_isinff.c,
sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_ldexpf.c,
sysdeps/m68k/fpu/s_modf.c, sysdeps/m68k/fpu/s_modff.c: Don't
define __NO_MATH_INLINES, which is already defined on command
line.
Thu May 2 22:18:28 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_j0f.c (__ieee754_j0f, __ieee754_y0f):
Replace 0x80000000 by 0x48000000.
* sysdeps/libm-ieee754/e_j1f.c (__ieee754_j1f): Likewise.
Thu May 2 21:30:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sunrpc/svc_simple.c: Make global variable pl local to
registerrpc.
Thu May 2 00:24:04 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* time/Makefile (tz-cflags): New variable.
(CFLAGS-tzfile.c): New variable.
(CFLAGS-zic.c): Add $(tz-cflags).
(tz-cc): Remove variable.
($(objpfx)tzfile.o, $(objpfx)zic.o): Remove targets.
* sysdeps/mach/hurd/getcwd.c: Jump out of both loops when we find a
name, instead of checking for reaching end of buffer, which happens
when the match is the last entry in the buffer.
* posix/glob.c (glob_pattern_p): Avoid scanning past eos if
the pattern ends with a backslash and quoting is enabled.
* posix/fnmatch.c (fnmatch): Likewise; return FNM_NOMATCH for such
patterns.
* intl/Makefile (copysrc): Add missing > in sed cmd.
Sat Mar 23 17:52:49 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* Makeconfig: Rename Makefile variable nlsdir to i18ndir and
change value to $(datadir)/i18n. `nls' is not an appropriate
name.
* Makefile (subdirs): Add new subdir wctype.
* ctype/ctype-info.c: Add new global variable __ctype_names
and initialize from _nl_C_LC_CTYPE.
* ctype/ctype.h: In P1003.3b/D11 `alnum' is a separate character
class. Use bit 11.
[_ISbit]: Protect definition of bitmasks because they are also
used in wctype.h.
* libio/genops.c (_IO_sputbackc, _IO_sungetc): Clear EOF flag
after successfully pushing back a character.
Fundamental changes in locale implementation. Almost nothing
from the old code is used anymore.
* locale/charmap.c, locale/collate.c, locale/config.h,
locale/ctypedump.c, locale/hash.h, locale/keyword.gperf,
locale/keyword.h, locale/loadlocale.c, locale/locale-ctype.c,
locale/locale.c locale/localeconv.c, locale/localedef.c,
locale/localedef.h, locale/locfile-hash.c, locale/locfile-lex.c,
locale/locfile-parse.c, locale/messages.c, locale/monetary.c,
locale/numeric.c, locale/setlocale.c, locale/token.h,
locale/xmalloc.c: Removed.
* locale/Makefile: Update for new locale implementation with
program source code distributed in subdir.
* locale/categories.def, locale/iso-4217.def: Updated file
for new locale implementation.
* locale/langinfo.h: Updated for new locale implementation.
(ERA_D_T_FMT, ERA_T_FMT): New official values according to
P1003.2b/D11.
(_NL_COLLATE_NRULES, _NL_COLLATE_RULES, _NL_COLLATE_HASH_SIZE,
_NL_COLLATE_HASH_LAYERS, _NL_COLLATE_TABLE_EB,
_NL_COLLATE_TABLE_EL, _NL_COLLATE_UNDEFINED, _NL_COLLATE_EXTRA_EB,
_NL_COLLATE_EXTRA_EL, _NL_CTYPE_NAMES_EB, _NL_CTYPE_NAMES_EL,
_NL_CTYPE_HASH_SIZE, _NL_CTYPE_HASH_LAYERS, _NL_CTYPE_CLASS_NAMES,
_NL_CTYPE_MAP_NAMES, _NL_CTYPE_WIDTH): New internal values for
extended LC_CTYPE and LC_COLLATE implementation.
* locale/simple-hash.c, locale/simple-hash.h, locale/xmalloc.c,
locale/xstrdup.c: Helper functions for locale related programs.
* locale/C-collate.c, locale/C-ctype.c,
locale/C-messages.c, locale/C-monetary.c,
locale/C-numeric.c, locale/C-time.c,
locale/lc-collate.c, locale/lc-ctype.c,
locale/lc-messages.c, locale/lc-monetary.c,
locale/lc-numeric.c, locale/lc-time.c: New implementation of locale
functions, and new generated "C" locale data.
* locale/loadlocale.c: Now handles word fields in locale binary
automatically by changing the endianess if necessary.
* locale/localeinfo.h (LIMAGIC): Changed magic number because
of incompatible changes.
(locale_data): Changed definition to allow word as a value type.
(coll_sort_rule): Values for collation sorting mode.
(_NL_CURRENT_WORD): New macro to access word value of locale entry.
(__collate_table, __collate_extra): Declare new global variables
for collation tables.
* locale/programs/charmap-kw.gperf, locale/programs/charmap-kw.h,
locale/programs/charmap.c, locale/programs/charset.c,
locale/programs/charset.h, locale/programs/config.h,
locale/programs/ctypedump.c, locale/programs/ld-collate.c,
locale/programs/ld-ctype.c, locale/programs/ld-messages.c,
locale/programs/ld-monetary.c, locale/programs/ld-numeric.c,
locale/programs/ld-time.c, locale/programs/linereader.c,
locale/programs/linereader.h, locale/programs/locale.c,
locale/programs/localedef.c, locale/programs/locales.h,
locale/programs/locfile-kw.gperf, locale/programs/locfile-kw.h,
locale/programs/locfile-token.h, locale/programs/locfile.c,
locale/programs/locfile.h, locale/programs/stringtrans.c,
locale/programs/stringtrans.h: Implementation of locale related
programs.
* locale/weight.h: Functions to access collation tables.
* posix/unistd.h: Define _POSIX2_LOCALEDEF.
* stdio-common/printf_fp.c: Fix bug with printing certain numbers
< 10^-1. Reported by Bill Metzenthen.
* stdio-common/tfformat.c: Add new test for above bug.
* string/strcoll.c, string/strxfrm.c: Real implementation of
string collation according to ISO C.
* wctype/Makefile, wctype/cname-lookup.h, wctype/iswctype.c,
wctype/test_wctype.c, wctype/towctrans.c, wctype/wcfuncs.c,
wctype/wctrans.c, wctype/wctype.c, wctype/wctype.h: New files.
Implementation of wide character classes and mapping.
* strftime.c (strftime):
When invoking self, check whether the subsidiary invocation failed.
Use "???" (not "") to denote unknown time zone information.
Make this source file portable to standalone contexts (e.g. GNU Emacs).
<config.h>: Include if HAVE_CONFIG_H is defined.
(HAVE_LIMITS_H, HAVE_MBLEN, HAVE_TM_ZONE, STDC_HEADERS): New symbols,
defined if _LIBC or if <config.h> defines them.
<ansidecl.h>, "../locale/localeinfo.h": Include only if _LIBC.
<sys/types.h>: New include; some hosts require it for `time_t'.
<ctype.h>: Include only if HAVE_MBLEN (since it's only needed then).
<limits.h>: Include only if HAVE_LIMITS_H.
<stddef.h, stdlib.h, string.h>: Include only if STDC_HEADERS.
(memcpy): Define in terms of bcopy if !STDC_HEADERS.
(__P, PTR): Define if not already defined.
(__tzname, __daylight, __timezone): Remove macros; no longer needed.
(add, strftime): Don't use NULL, for portability to some weird hosts.
(fmt): If !_LIBC, don't assume sprintf returns a count.
(week, strftime): Use old-style function declarations.
(weekday_name, month_name): New constants.
(strftime): Use traditional C values if locale support isn't available.
Use `const' instead of CONST. For time zones, use tm_zone if
possible, then fall back on tzname. Don't check for multibyte
characters unless mblen is supported. Use formats like %02d instead
of %.2d, for portability to older hosts.
Wed Jan 24 04:18:36 1996 Paul Eggert <eggert@twinsun.com>
* strftime.c (strftime):
When invoking self, check whether the subsidiary invocation failed.
Use "???" (not "") to denote unknown time zone information.
Make this source file portable to standalone contexts (e.g. GNU Emacs).
<config.h>: Include if HAVE_CONFIG_H is defined.
(HAVE_LIMITS_H, HAVE_MBLEN, HAVE_TM_ZONE, STDC_HEADERS): New symbols,
defined if _LIBC or if <config.h> defines them.
<ansidecl.h>, "../locale/localeinfo.h": Include only if _LIBC.
<sys/types.h>: New include; some hosts require it for `time_t'.
<ctype.h>: Include only if HAVE_MBLEN (since it's only needed then).
<limits.h>: Include only if HAVE_LIMITS_H.
<stddef.h, stdlib.h, string.h>: Include only if STDC_HEADERS.
(memcpy): Define in terms of bcopy if !STDC_HEADERS.
(__P, PTR): Define if not already defined.
(__tzname, __daylight, __timezone): Remove macros; no longer needed.
(add, strftime): Don't use NULL, for portability to some weird hosts.
(fmt): If !_LIBC, don't assume sprintf returns a count.
(week, strftime): Use old-style function declarations.
(weekday_name, month_name): New constants.
(strftime): Use traditional C values if locale support isn't available.
Use `const' instead of CONST. For time zones, use tm_zone if
possible, then fall back on tzname. Don't check for multibyte
characters unless mblen is supported. Use formats like %02d instead
of %.2d, for portability to older hosts.
Wed Jan 24 00:07:52 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio-common/vfscanf.c (GROUP, MALLOC): New flag macros.
(__vfscanf): Eliminate flag vars that were redundant with FLAGS bits.
Fix bug in recognition of %ll flag for long long.
Fix overeager checks for conflicting type modifiers.
With ' flag, match thousands separators for decimal numbers.
Tue Jan 23 22:02:40 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/Makefile (CFLAGS-locfile-lex.c): New variable.
* resolv/Makefile (CFLAGS): Disable some warnings.
* sysdeps/generic/Makefile (elided-routines): Removed hypot.
(+gccwarn): Set with override.
* stdio-common/Makefile (CFLAGS-tst-printf.c): New variable.
* posix/Makefile (CFLAGS-regex.c): New variable.
* malloc/Makefile (CFLAGS-obstack.c): New variable.
* io/Makefile (CFLAGS-fts.c): New variable.
* io/fts.c (fts_open): Use prototypes for COMPAR decl.
Tue Jan 23 21:35:32 1996 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/bind.c (bind): Ensure NAME for the AF_LOCAL
case is '\0'-terminated.
Tue Jan 23 19:49:54 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/rtld.c (dl_main): Support additional args in --list mode for
debugging: look them up as symbol names and print values.
* misc/getttyent.c (skip, value): Declare with prototypes in file
scope.
* csu/initfini.c (_init): Explicitly set a variable that is
pointer to volatile with the address of __gmon_start__, to avoid
the test being optimized out.
* locale/error.c, locale/error.h: Files removed.
* locale/Makefile (distribute): Remove error.h.
(lib-modules): Remove error.
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): For "tty"
magic, return ENXIO if no ctty.
* sysdeps/mach/hurd/mmap.c: For MAP_FIXED, deallocate a previous
mapping if vm_map fails for that reason.
* posix/glob.c: Implement new options GLOB_ALTDIRFUNC, GLOB_BRACE,
GLOB_TILDE, GLOB_NOMAGIC.
(glob): Use stat instead of lstat to determine directoriness.
* posix/glob.h (GLOB_ALTDIRFUNC, GLOB_BRACE, GLOB_NOMAGIC, GLOB_TILDE):
New flag bits.
(__GLOB_FLAGS): Include them.
(glob_t): New members gl_closedir, gl_readdir, gl_opendir, gl_lstat,
gl_stat.
* elf/elf.h (ET_NUM, SHT_NUM, STB_NUM, STT_NUM, PT_NUM): New macros.
* sysdeps/unix/sysv/linux/sys/mman.h: Include <linux/mman.h> to
define all the bit values.
(MAP_*, MCL_*): Macros removed.
* locale/SYS_libc.c: New file.
* libc-symbols.h (_): New macro.
* configure.in (libc_cv_asm_set_directive): Link program into
conftest instead of letting it default to a.out.
* elf/rtld.c [! NDEBUG] (__assert_perror_fail): New function.
* hurd/hurdstartup.c (_hurd_startup): Fancier kludge to guess phdr
and user entry point addresses.
* elf/dl-load.c (open_path): Don't do strlen on DIRPATH if it's null.
(_dl_map_object): DT_RPATH value is relative to DT_STRTAB value.
* Makerules (install-lib.so): Don't include libc.so.
[$(build-shared)=yes] (install): Depend on the installed libc.so file.
[$(build-shared)=yes] (install-no-libc.a): Make this, rather than
install, depend on the installed $(install-lib.so) files.
[$(build-shared)=yes] (install-lib.so): Append libc.so after that rule.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Add kludge to
allocate high addresses to avoid random mappings appearing there.
(mmap): Comment out mask; always pass zero.
Tue Jun 6 13:34:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/i386/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New macro.
* sysdeps/mach/hurd/dl-sysdep.c (mmap): Use it as mask in vm_map call.
* elf/dl-error.c (_dl_catch_error): Clear *ERRSTRING and *OBJNAME
when successful.
* sysdeps/mach/hurd/dl-sysdep.c (threadvars): New static variable.
(__hurd_threadvar_max, __hurd_threadvar_stack_offset): Define these
variables, using the `threadvars' buffer.
* elf/dl-reloc.c: Don't dereference L->l_prev when it's null.
* sysdeps/i386/dl-runtime.c: Likewise.
* elf/rtld.c (dl_main): Add missing NULL terminating argument in
_dl_sysdep_fatal call.
(__assert_fail): Likewise.
* locale/Makefile (localedef-modules): Renamed ctype to
locale-ctype so as not to conflict with the object file for
ctype/ctype.c in the build directory.
* sysdeps/i386/dl-machine.h (elf_machine_rel): If MAP->l_type is
lt_interpreter, first undo relocation done during bootstrapping.
* sysdeps/mach/hurd/i386/init-first.c: In cthreads case, handle
args on stack from kernel.
* posix/Makefile, sysdeps/alpha/Makefile,
* sysdeps/mach/hurd/Makefile, sysdeps/sparc/Makefile, Makefile,
* Makerules, Make-dist: Fix "cvs commit" cmds in rules to not fail
in the absence of CVS dirs.
* hurd/hurdstartup.c: Don't call __mach_init. Grok args from the
kernel on the stack properly.
* set-init.c: Never call _init/_fini; just run __libc_subinit.
* Makerules (LDFLAGS-c.so): Add -nostartfiles.
* mach/Machrules (LDFLAGS-$(interface.so)): Likewise.
* configure.in: Move defaulting of --with-elf and --with-gnu-*
based on host os outside the AC_CACHE_VAL for the sysdirs
calculation.
* Makeconfig (localedir, nlsdir): New variables.
* values.h: New file.
* Makefile (headers): Add values.h.
* locale/Makefile (distribute): Add error.h.
* locale/localedef.c: Include "error.h".
(main): Use error_message_count instead of warning_cntr.
Merged 1003.2 locale and localedef programs by Ulrich Drepper.
* locale/charmap.c: New file.
* locale/collate.c: New file.
* locale/config.h: New file.
* locale/ctype.c: New file.
* locale/ctypedump.c: New file.
* locale/hash.c: New file.
* locale/hash.h: New file.
* locale/iso-4217.def: New file.
* locale/keyword.gperf: New file.
* locale/keyword.h: New file.
* locale/libintl.h: New file.
* locale/locale.c: New file.
* locale/localedef.c: New file.
* locale/localedef.h: New file.
* locale/locfile-lex.c: New file.
* locale/locfile-parse.c: New file.
* locale/messages.c: New file.
* locale/monetary.c: New file.
* locale/numeric.c: New file.
* locale/token.h: New file.
* posix/regex.c, posix/regex.h: New files, incorporated from GNU regex.
* posix/Makefile (headers): Add regex.h.
(routines): Add regex.
(gpl2lgpl): Add regex.c and regex.h.
Tue May 16 17:35:07 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/loadlocale.c: Expect macro LOCALE_PATH to be defined,
instead of hard-coding "/share/locale".
mmap call.
* configure.in (os=freebsd*|bsdi*): Set base_os=unix/bsd/bsd4.4
for these too.
* sysdeps/unix/sysv/tcsetattr.c: Use |= instead of = to properly
set c_oflag value.
* Makeconfig [! objpfx] (csu-objpfx): Add trailing slash.
* locale/Makefile (categories): Uncomment collate.
* locale/lc-collate.c: New file.
* locale/localeinfo.h: Rewritten for new locale system, using
locale data files and with <langinfo.h> interface.
* locale/setlocale.c: Rewritten to use locale data files.
* langinfo.h: New file.
* locale/langinfo.h: New file.
* locale/nl_langinfo.c: New file.
* locale/loadlocale.c: New file.
* locale/lc-ctype.c: New file.
* locale/lc-messages.c: New file.
* locale/lc-monetary.c: New file.
* locale/lc-numeric.c: New file.
* locale/lc-time.c: New file.
* locale/categories.def: New file.
* locale/Makefile (headers): Remove localeinfo.h.
(distribute): New variable; put localeinfo.h here, and categories.def.
(routines): Add loadlocale.
(categories): New variable.
(aux): Use that to get C-category and lc-category.
* ctype/ctype.h (_IS*): Use independent bits for all but _ISalnum.
* locale/C-ctype.c, locale/C-messages.c: New files.
* locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c:
Default "C" locale data updated for new locale system.
* locale/C-collate.c: File removed.
* locale/C-ctype_ct.c: File removed.
* locale/C-ctype_mb.c: File removed.
* locale/C-response.c: File removed.
* locale/localeconv.c: Use _NL_CURRENT macro to access locale data.
* stdio/printf_fp.c, stdio/vfprintf.c, stdio/vfscanf.c,
stdlib/strtod.c, time/asctime.c, time/strftime.c:
Include ../locale/localeinfo.h and use _NL_CURRENT macro to access
locale data.
* time/localtime.c: Don't include <localeinfo.h>.
* time/tzset.c: Don't use locale items for default TZ value or
"GMT" string (use "UTC").
* stdio/vfprintf.c [USE_IN_LIBIO] (PAD): Only call the function if
WIDTH>0; update DONE.
* malloc/malloc.c (morecore): Fix last change to calculate by
blocks instead of bytes.