* locale/C-ctype.c: New correct data generated by drepper.
* Rules: Don't use $(libc.a).
Parsing of grouped numbers contributed by Ulrich Drepper.
* stdlib/strtol.c (__strtol_internal): Renamed from strtol. Take
new flag arg; if nonzero, parse locale-dependent thousands
grouping and interpret only the prefix that is correctly grouped.
(strtol): Define this to call _strtol_internal with zero for the flag.
Use a weak symbol for the definition.
* stdlib/strtod.c (strtod, __strtod_internal): Likewise.
Check for the exponent of the number overflowing the float format.
* stdlib/stdlib.h (__strtof, __strtold): Declarations removed.
(__strto{f,d,ld,l,ul,q,uq}_internal): Declare these functions.
[__OPTIMIZE__]: Define inline functions calling those.
* stdlib/grouping.h: New file, written by drepper.
* stdlib/Makefile (distribute): Add grouping.h.
* stdio/vfscanf.c: Grok %' modifier to numeric conversions. Call
__strtoX_internal with the grouping flag set iff the modifier is
present.
Wed Mar 15 00:40:54 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/memchr.c: Fix typos: limit.h -> limits.h.
* mach/Machrules: Produce static deps for all object flavors.
[interface-library]: Remove all these variables and rules.
($(interface-library)-routines): Define this variable.
(extra-libs): Append $(interface-library) to this.
* mach/Makefile (interface-library): Omit .a suffix.
* hurd/Makefile: Likewise.
Tue Mar 14 23:40:31 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio/internals.c (flushbuf): If !FLUSH_ONLY, don't skip out
early if no new data in buffer after priming.
* Makerules (object-suffixes, libtypes): Move all these variables
to Makeconfig.
* Makeconfig (object-suffixes, libtypes): Moved here from Makerules.
* Makerules (build-extra-lib): New canned sequence.
* sysdeps/mach/hurd/euidaccess.c: Include fcntl.h. Declare ERR;
fix uses of FILE and PORT. Remove bogus weak alias for `access'.
* sysdeps/mach/hurd/dirfd.c: Include hurd/fd.h and errno.h.
Add missing semicolon.
* sysdeps/mach/hurd/opendir.c: Include hurd/fd.h. Use a `struct
hurd_fd *' temp var, since DIRP->__fd is a `void *'.
* sysdeps/mach/hurd/readdir.c: Include hurd/fd.h.
* stdlib/wcstombs.c: #if 0 out code for non-ASCII chars until the
locale data format is implemented.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Pass &__sigreturn on the stack to the trampoline code, so it is
not position-dependent.
* stdio/printf_fp.c (NDEBUG): Define this to disable assert.
Don't include <stdarg.h>.
(__printf_fp): Last arg ARGS is now `const void **const';
dereference ARGS[0] instead of using va_arg.
* locale/setlocale.c: In LC_ALL case, initialize CATEGORY before
loop to install data.
* locale/loadlocale.c (_nl_category_num_items): Use _NL_ITEM_INDEX
to extract number from item code.
(_nl_load_locale): Close the descriptor when finished.
* malloc/realloc.c (_realloc_internal): Call _malloc_internal in
place of malloc.
* time/tzfile.c (__tzfile_default): Initialize RULE_STDOFF to zero.
* Makerules (libtypes, object-suffixes): New variables.
(libtype.*, CFLAGS-*, CPPFLAGS-*): New variables for each object
suffix.
(CFLAGS, CPPFLAGS): Append $(C{,CPP}FLAGS-$(suffix $@)).
(%.so, %.po, %.go): New compilation rules for %.S, %.s, %.c.
(close-check-inhibit-asm): Append a semicolon.
(sysd-rules): Generate rules for each object suffix.
(compile.S, compile.c): Always assume gcc.
(OUTPUT_OPTION): Define unconditionally.
(+make-deps): In generated rule, produce a dependent for each
object suffix.
(.SUFFIXES): Add $(object-suffixes) in place of .o.
(.PRECIOUS): Make all suffix flavors precious.
($(libc.a)): Target removed.
(lib): Depend on each enabled libtype.
(libobjs, objects, objs): Depend on all the enabled object flavors.
(lib%.a): New pattern rule.
[$(build-shared)=yes] (lib%.so: lib%_pic.a): New pattern rule.
(stamp-$(subdir)): Rewritten to a pattern rule for stamp.%-$(subdir)
to make one for each flavor; library dep rule likewise rewritten.
($(libc.a)(__.SYMDEF)): Target replaced with one target for each
flavor.
(symdef.%): New pattern rule; helper for __.SYMDEF targets.
(installed-libcs): New variable.
(install): Depend on that instead of
$(libdir)/lib$(libprefix)$(libc-name).a;
that file's rule rewritten to make each enabled libtype.
(install-lib.so): New variable, filters lib%.so from $(install-lib).
(install-lib): Filter out lib%.so after setting install-lib.so.
[$(build-shared)=yes] (install): Install $(install-lib.so).
(common-mostlyclean): Remove all flavors of objects.
* Makefile ($(libc.a)(__.SYMDEF)): Target removed.
[$(build-shared)=yes] (lib): Depend on $(common-objpfx)libc.so.
* sysdeps/stub/ulimit.c: Don't include gnu-stabs.h.
* sysdeps/stub/pause.c: Likewise.
* sysdeps/stub/time.c: Likewise.
* stdlib/mbtowc.c: #if 0 out code for non-ASCII chars until the
locale data format is implemented.
* stdlib/wctomb.c: Likewise.
* mach/Makefile ($(objpfx)errsystems.c): Reenable this rule; the
gcc bug is fixed.
* mach/errsystems.c: File removed.
* Makeconfig (libc.a): Variable removed.
(+link): Don't use it.
* configure.in (AC_ARG_ENABLE calls): Use $enableval instead of
assuming `yes'.
* malloc/malloc.h (_malloc_internal, _realloc_internal): Declare these.
* malloc/realloc.c (_realloc_internal): Renamed from realloc;
don't use __realloc_hook.
(realloc): New function; call __realloc_hook ?: _realloc_internal.
* malloc/malloc.c (_malloc_internal): Renamed from malloc;
don't use __malloc_hook.
(malloc): New function; call __malloc_hook ?: _malloc_internal.
(initialize): Set up _heaplimit to cover the _heapinfo table.
(morecore_recursing): New static variable.
(morecore): If that is set, return null immediately.
When growing the info table, before getting new core from the
system for it, set morecore_recursing and try moving _heapinfo
with _realloc_internal. When that fails and we get new core, set
_heaplimit to cover the core for the new _heapinfo table.
(register_heapinfo): New function. Record the _heapinfo table's
own blocks in that table and in the statistics variables.
(initialize, _malloc_internal): Use it after allocating new table.
Fri Mar 10 22:26:28 1995 Jim Meyering (meyering@comco.com)
* sysdeps/generic/memchr.c: Remove ansidecl.h and clean up for use
by other packages.
[LONG_MAX <= LONG_MAX_32_BITS]: Don't compile 64-bit code.
* mach/errorlib.h (errors): Use const for decl.
* time/tzfile.c (uc2ul, _uc2ul): Macros removed.
(decode): New inline function; decode signed 32-bit integers, and
sign-extend properly when long is longer than 32 bits.
(__tzfile_read): Changed all uses of uc2ul to decode.
Decode the transition times properly when sizeof (time_t) > 4.
* stdio/vfprintf.c [USE_IN_LIBIO] (PAD): Use return value of _IO_padn.
(buffered_vfprintf): Remove line buffer when flush failed.
* stdio/printf.h: Doc fixes. Don't #include <stddef.h>.
(printf_function): Make last arg ARGS a vector of pointers instead of a
pointer to va_list.
Fri Mar 10 13:46:25 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* stdio/vfprintf.c (PAD): use return value of _IO_padn.
(buffered_vfprintf): remove line buffer when flush failed.
Fri Mar 10 00:04:55 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* time/tzfile.c (struct ttinfo): New member `isgmt'.
(__tzfile_read): Read isgmt flags for each type.
(__tzfile_default): When using TZDEFRULES DST rules, adjust
transition times according to the isstd and isgmt flags for the
types of each transition, and adjust each transition to point to
type index either 0 or 1. Reset type indices 0 and 1 to describe
the user's settings.
into just CLASS. Add standard/optional flag to all items.
* locale/localeinfo.h (_NL_CURRENT_DEFINE): Fix typo.
* ctype/ctype.h [__BYTE_ORDER == __LITTLE_ENDIAN] (_ISbit):
Rearrange defn to satisfy compiler.
* locale/localeinfo.h: Declare _nl_current.
* posix/glob/configure.bat: Fixes from DJ.
* time/backward, time/europe, time/northamerica, time/pacificnew,
time/zdump.c, time/zic.c, time/tzfile.h, time/private.h,
time/ialloc.c: Code and data updated from ADO's 95b.
* time/emkdir.c: File removed.
* time/Makefile (distribute, extra-objs, zic): Omit it.
* time/localtime.c: Deansideclized. Never #define __tzname et al
to non-__ names.
* locale/lc-ctype.c (__ctype_tolower, __ctype_toupper): Use int *
instead of short int *.
* ctype/ctype-info.c: Likewise.
* ctype/ctype.h: Likewise.
* locale/langinfo.h (_NL_CTYPE_CLASS): Use this (just one) instead
of EB and EL versions.
* 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.
[IMPLICIT_ONE]: New macro, one for IEEE754 formats.
* stdlib/strtold.c [IMPLICIT_ONE]: New macro, 0.
* stdlib/strtof.c [IMPLICIT_ONE]: New macro, 1.
* stdio/vfprintf.c: Correctly notice Z modifier.
* sysdeps/mach/hurd/kill.c: When the process has no message port
registered and we have its task port, translate a few signals to
task_suspend/task_resume/task_terminate.
* sysdeps/mach/hurd/euidaccess.c: New file.
* sysdeps/stub/euidaccess.c: New file.
* posix/unistd.h [__USE_GNU] (euidaccess): Declare it.
* dirent/Makefile (routines): Add dirfd.
* sysdeps/stub/dirfd.c: New file.
* sysdeps/unix/dirfd.c: New file.
* sysdeps/unix/dirstream.h (_DIR_dirfd): New macro.
* dirent/dirent.h (dirfd): Declare new function. Define as macro
_DIR_dirfd if that is defined.
* sysdeps/mach/hurd/dirstream.h (DIR): Replace `__port' member
with `void *__fd'.
* sysdeps/mach/hurd/opendir.c: Use DIRP->__fd instead of DIRP->__port.
Open the file with `open'; set FD_CLOEXEC on the fd.
* sysdeps/mach/hurd/closedir.c: Likewise.
* sysdeps/mach/hurd/readdir.c: Likewise.
* sysdeps/mach/hurd/dirfd.c: New file.
* posix/Makefile (glob/configure): Do cvs commit if there is a CVS
directory.
(glob/ChangeLog): Likewise.
* locale/locale.h (LC_*): Use small integers instead of bit masks.
* sysdeps/mach/hurd/i386/sigreturn.c: Restore the FPU state.
* stdlib/random.c (__srandom): Change algorithm used to populate
the state array.
(randtbl): Recomputed with new algorithm.
* sysdeps/sparc/Makefile [subdir=crypt] (crypt): Reset only if set
to original value of `crypt'.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile [subdir=crypt]
(crypt): New variable, set to crypt.solar.