Commit Graph

77 Commits

Author SHA1 Message Date
Florian Weimer
cc8dcf96e7 test-skeleton: Support temporary files without memory leaks [BZ#18333]
add_temp_file now makes a copy which is freed by delete_temp_files.
Callers to create_temp_file can now free the returned file name to
avoid the memory leak.  These changes do not affect the leak behavior
of existing code.

Also address a NULL pointer derefence in tzset after a memoru allocation
failure, found during testing.
2015-04-27 16:19:55 +02:00
Florian Weimer
42261ad731 Make time zone file parser more robust [BZ #17715] 2015-04-24 17:34:48 +02:00
Kevin Easton
6807b1db82 Reduce lock contention in __tz_convert() [BZ #16145] (partial fix)
This patch is an "easy win" partial fix for BZ #16145, which notes
the heavy contention on tzset_lock when multiple threads are converting
times with localtime_r().

In __tz_convert(), the lock does not need to be held after
__tzfile_compute() / __tz_compute() have been called, so we can move the
unlock up.  At this point there is still significant work to be done in
__offtime(), so we see some improvement (in my testing with 8 cores
banging on localtime_r(), ~20% improvement in throughput).
2015-02-24 23:58:59 -05:00
Joseph Myers
b168057aaa Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Ondřej Bílka
a1ffb40e32 Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
Allan McRae
d4697bc93d Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Paul Eggert
0748546f66 Support TZ transition times < 00:00:00.
This is needed for version-3 tz-format files; it supports time
stamps past 2037 for America/Godthab (the only entry in the tz
database for which this change is relevant).
* manual/time.texi (TZ Variable): Document transition times
from -167:59:59 through -00:00:01.
* time/tzset.c (tz_rule): Time of day is now signed.
(__tzset_parse_tz): Parse negative time of day.
2013-12-17 10:18:10 -08:00
Joseph Myers
60d2f8f3c7 Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
Joseph Myers
2e09a79ada Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Ian Wienand
b9f1922d7e Fix daylight time change for the US
[BZ #14080]
	* time/tzset.c (__tzset_parse_tz): Update default rules for
	daylight time changes in the Energy Policy Act of 2005.
2012-05-09 06:15:56 +02:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Ulrich Drepper
bd82a24718 * time/tzset.c: Optimize a bit for size. 2009-03-10 17:00:17 +00:00
Ulrich Drepper
686f8c9daf * time/tzset.c (__tzset_parse_tz): Use correct string when parsing
DST name.
	* time/tst-posixtz.c: Add tests for quoted timezone names.
2009-03-10 15:23:46 +00:00
Ulrich Drepper
82780cbee5 * time/tzset.c (tzset_internal): Correct parsing of TZ envvar. 2009-02-24 22:45:58 +00:00
Ulrich Drepper
970aa10f95 * time/tzset.c (__tzset_parse_tz): DST offset must also allow hour
value of 24.
2009-02-05 20:09:58 +00:00
Ulrich Drepper
72e6cdfa2c Remove useless "if" before "free". 2008-03-19 06:43:34 +00:00
Ulrich Drepper
58423c7dbb [BZ #5186]
* time/tzset.c (__tz_convert): Don't force testing for a change of
	TZ if not called from localtime.  But then also see whether the
	file changed, in case __use_tzfile is set.
2007-10-17 20:23:20 +00:00
Ulrich Drepper
fa76dde2cf * include/time.h: Declare __tzset_parse_tz and __tzset_compute.
* time/tzset.c (tzset_internal): Break TZ string parsing out into
	__tzset_parse_tz and updating of daylight, timezone, tzname into
	update_vars.
	(__tz_compute): Renamed from tz_compute.  Take additional parameters.
	(__tz_convert): Updating of tm_isdst, tm_zone, and tm_gmtoff now
	happens in __tz_compute.
	* time/tzfile.c (__tzfile_read): Also read TZ string.
	(find_transition): Fold into __tzfile_compute.
	(__tzfile_compute): For times beyond the last transition try to
	use the TZ string.
	* timezone/tst-timezone.c: Information in daylight and tzname does
	change for Asia/Tokyo timezone with more concrete information.
	Remove the test.

	* include/stdio.h: Add libc_hidden_proto for ftello.
	* libio/ftello.c: Add libc_hidden_def.
2007-10-14 09:15:45 +00:00
Ulrich Drepper
bbd0bf24e9 [BZ #601]
Update.
2004-12-06  Jakub Jelinek  <jakub@redhat.com>

	* time/tzset.c (tzset_internal): If + or - is seen,
	but no offset after it, reset offset to 0.  [BZ #601]

	* libio/ioseekpos.c (_IO_seekpos_unlocked): Call _IO_SEEKOFF not
2004-12-06 22:51:31 +00:00
Ulrich Drepper
79937577d1 Update.
2004-09-13  Ulrich Drepper  <drepper@redhat.com>

	* misc/sys/cdefs.h: Restore old definition of __P.
	* csu/munch.awk: Remove uses of __P and __PMT.
	* gmon/gmon.c: Likewise.
	* hesiod/hesiod.h: Likewise.
	* include/stdio.h: Likewise.
	* io/fts.c: Likewise.
	* libio/genops.c: Likewise.
	* libio/libioP.h: Likewise.
	* libio/fileops.c: Likewise.
	* libio/iolibio.h: Likewise.
	* libio/libio.h: Likewise.
	* libio/memstream.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldstdfiles.c: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/vsnprintf.c: Likewise.
	* libio/vswprintf.c: Likewise.
	* libio/wgenops.c: Likewise.
	* libio/oldiopopen.c: Likewise.
	* locale/programs/xmalloc.c: Likewise.
	* locale/programs/xstrdup.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/getusershell.c: Likewise.
	* nis/rpcsvc/ypupd.h: Likewise.
	* posix/fnmatch.h: Likewise.
	* posix/glob.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/gethnamaddr.c: Likewise.
	* resolv/resolv.h: Likewise.
	* resolv/inet_net_ntop.c: Likewise.
	* resolv/inet_net_pton.c: Likewise.
	* resolv/res_init.c: Likewise.
	* resolv/nss_dns/dns-network.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/reg-printf.c: Likewise.
	* sysdeps/generic/chflags.c: Likewise.
	* sysdeps/generic/fchflags.c: Likewise.
	* sysdeps/generic/glob.c: Likewise.
	* sysdeps/generic/printf_fphex.c: Likewise.
	* sysdeps/generic/memcmp.c: Likewise.
	* sysdeps/generic/memcopy.h: Likewise.
	* sysdeps/generic/morecore.c: Likewise.
	* sysdeps/generic/sstk.c: Likewise.
	* sysdeps/posix/sigvec.c: Likewise.
	* sysdeps/posix/ttyname_r.c: Likewise.
	* sysdeps/standalone/arm/bits/errno.h: Likewise.
	* sysdeps/standalone/standalone.h: Likewise.
	* sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
	* sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/sigaction.c: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/getdents.c: Likewise.
	* sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
	* sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
	* sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sysv4/waitpid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise.
	* time/tzset.c: Likewise.
	* time/strftime_l.c: Likewise.
	* time/strptime_l.c: Likewise.
	* crypt/md5.h: Likewise.
2004-09-14 04:41:35 +00:00
Ulrich Drepper
c3d1af70af (tzset_internal): Add new parameter which is nonzero if called through tzset. Use TZDEFAULT name including name comparison if the new parameter is zero. This means implicit tzset calls will not cause files to be opened and read by tzfile.c all the time. 2004-08-11 19:24:24 +00:00
Ulrich Drepper
fe6cc2ae09 [BZ #154]
Update.
2004-08-09  Ulrich Drepper  <drepper@redhat.com>

	* time/tzset.c (tzset_internal): If TZ is not set do not compare
	old and new tz value since it might be /etc/localtime in both
	cases although the file changed.  [BZ #154]
	Patch by Christian Franke <franke@computer.org>.

	* time/tzfile.c (__tzfile_read): Determine dev/ino of file.
	Compare with values of previously opened file.  Don't do anything
	is they match.
2004-08-09 07:24:19 +00:00
Roland McGrath
9eec17f5f2 * time/tzset.c (tzset_internal): Cap hour in POSIX $TZ rule format to
24, not 23.
2004-02-09 20:16:34 +00:00
Ulrich Drepper
38e68573bc Update.
2003-02-01  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c (__tzfile_compute): Change return value type to
	void.  Adjust return statements.
	* include/time.h (__tzfile_compute): Adjust prototype.

2003-02-01  Jim Meyering  <jim@meyering.net>

	* time/tzset.c (__tz_convert): Remove dead code; __tzfile_compute
	always returns 1.

2003-01-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
	[!__ASSUME_NEW_PRCTL_SYSCALL]: Noop prctl syscall and set ENOSYS.

2003-01-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
	[!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Generate ENOSYS stub.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
	[!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
	[!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
	[!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise.

2003-01-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/configure.in: Change arch_minimum_kernel
	back to 2.4.19 for powerpc64.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_NEW_PRCTL_SYSCALL): Define for powerpc64.
	(__ASSUME_NEW_RT_SIGRETURN_SYSCALL): Define for powerpc64.

2003-02-01  Ulrich Drepper  <drepper@redhat.com>

	* wcsmbs/wcscpy.c (wcscpy): Add alternative implementation for
	platforms with strange alignment requirements on wchar_t.
2003-02-01 20:53:16 +00:00
Roland McGrath
c877418f2e * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):
New macros.
	* elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove
	text_set_element.
	* elf/dl-libc.c (free_mem): Likewise.
	* iconv/gconv_conf.c (free_mem): Likewise.
	* iconv/gconv_db.c (free_mem): Likewise.
	* iconv/gconv_dl.c (free_mem): Likewise.
	* iconv/gconv_cache.c (free_mem): Likewise.
	* intl/finddomain.c (free_mem): Likewise.
	* intl/dcigettext.c (free_mem): Likewise.
	* locale/setlocale.c (free_mem): Likewise.
	* misc/fstab.c (fstab_free): Likewise.
	* nss/nsswitch.c (free_mem): Likewise.
	* posix/regcomp.c (free_mem): Likewise.
	* resolv/gai_misc.c (free_res): Likewise.
	* stdlib/fmtmsg.c (free_mem): Likewise.
	* sunrpc/clnt_perr.c (free_mem): Likewise.
	* sysdeps/generic/setenv.c (free_mem): Likewise.
	* sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise.
	* sysdeps/pthread/aio_misc.c (free_res): Likewise.
	* time/tzset.c (free_mem): Likewise.
	* malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section.
	* locale/loadarchive.c (_nl_archive_subfreeres): Likewise.
	* malloc/set-freeres.c (__libc_freeres): Likewise.

	* login/getutent.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutent): Allocate buffer the first time it is run.
	* login/getutid.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutid): Allocate buffer the first time it is run.
	* login/getutline.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutline): Allocate buffer the first time it is run.
	* malloc/mtrace.c (malloc_trace_buffer): Change into char *.
	(mtrace): Allocate malloc_trace_buffer.
	* resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf.
	* resolv/ns_print.c (ns_sprintrrf): Decrease size of t.
	* string/strerror.c: Include libintl.h and errno.h.
	(buf): New variable.
	(strerror): Only allocate buffer if actually needed (unknown error).
	* time/tzfile.c (transitions): Add libc_freeres_ptr.
	(freeres): Remove.

2002-10-25  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h (libc_freeres_ptr): New macro.
	* malloc/set-freeres.c (__libc_freeres_ptrs): Define using
	symbol_set_define.
	(__libc_freeres): Free all pointers in that section.
	* Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed
	commands when creating .lds script.
	(LDSEDCMD-c.so): New variable.
	* inet/rcmd.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rcmd_af): Use strdup to allocate ahostbuf.
	* inet/rexec.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rexec_af): Use strdup to allocate ahostbuf.
	* stdio-common/reg-printf.c (printf_funcs): Remove.
	(__printf_arginfo_table): Change into printf_arginfo_function **.
	Add libc_freeres_ptr.
	(__register_printf_function): Allocate __printf_arginfo_table
	and __printf_function_table the first time it is called.
	* stdio-common/printf-parse.h (__printf_arginfo_table): Change into
	printf_arginfo_function **.
	(parse_one_spec): Add __builtin_expect.
	* grp/fgetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* inet/getnetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* intl/localealias.c (libc_freeres_ptr): Define if !_LIBC.
	(string_space, map): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC.
	(buffer): Add libc_freeres_ptr.
	(free_mem): Remove for _LIBC.
	* nss/getXXbyYY.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* nss/getXXent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* pwd/fgetpwent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr.
	(free_mem): Remove.
	* shadow/fgetspent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add
	libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add
	libc_freeres_ptr.
	(free_mem): Remove.

2002-10-30  Jakub Jelinek  <jakub@redhat.com>

	* malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias
	instead of duplicating the whole function in libc.
2002-11-01 20:44:15 +00:00
Ulrich Drepper
418f17011f Update.
2002-03-12  Ulrich Drepper  <drepper@redhat.com>

	* posix/bug-regex5.c (main): Use nl_langinfo instead of _NL_CURRENT.

	* locale/localeinfo.h: Add attribute_hidden to _nl_current_LC_XXX,
	_nl_category_names, _nl_category_name_sizes, _nl_current,
	_nl_C_name, _nl_POSIX_name, _nl_C_codeset, and _nl_C_LC_XXX.

	* intl/dcigettext.c (_nl_default_default_domain): Define as hidden.
	(_nl_current_default_domain): Likewise
	(_nl_state_lock): Likewise.
	* intl/textdomain.c (_nl_default_default_domain): Declare as hidden.
	(_nl_current_default_domain): Likewise
	(_nl_state_lock): Likewise.
	* intl/bindtextdom.c (_nl_state_lock): Likewise.

	* stdlib/fpioconst.h (__tens): Add attribute_hidden.
	(_fpioconst_pow10): Likewise.

	* include/time.h (_tmbuf): Add attribute_hidden.

	* time/tzset.c (tzstring_list): Define as static.

	* include/time.h: Add attribute_hidden to __tzname_cur_max and
	__use_tzfile declaration.

	* wcsmbs/wcsmbsload.h: Add attribute_hidden to __wcsmbs_gconv_fcts
	and __wcsmbs_last_locale declaration.
2002-03-12 10:25:36 +00:00
Ulrich Drepper
a3931cbec9 Update.
2002-03-07  Jakub Jelinek  <jakub@redhat.com>

	* time/tst-posixtz.c (tests): Add new tests.
	(main): Test whether tzset() sets daylight properly.

2002-03-06  Jakub Jelinek  <jakub@redhat.com>

	* time/tzset.c (tz_compute): Move __daylight, __tzname and
	__tzname_cur_max setting...
	(tzset_internal): ...here.

2002-03-06  Jakub Jelinek  <jakub@redhat.com>

	* time/tzset.c (compute_change): Don't return any value.
	(tz_compute): Likewise.  Don't handle southern hemisphere here.
	(__tz_convert): But here.
2002-03-12 07:50:21 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Ulrich Drepper
fb0dd05043 Update.
* manual/Makefile (TEXI2PDF): Change to texi2dvi --pdf.
	Suggested by Minko Markov <mmarkov@home.com>.

2001-01-02  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/powerpc/elf/start.S (__data_start): Make it global.
	* sysdeps/powerpc/dl-machine.c (dl_reloc_overflow): Print the name of
	the failing symbol.
	(__process_machine_rela): Pass symbol to dl_reloc_overflow().

2001-01-02  Ben Collins  <bcollins@debian.org>

	* time/tzset.c (tzset_internal): Make sure we fall back to UTC
	if TZ is not set and TZDEFAULT is not present.

2001-01-01  Ben Collins  <bcollins@debian.org>

	* string/strings.h: Make sure we declare our functions even if
	string.h is already included, based on whether or not __USE_BSD is
	defined.

2001-01-02  Ulrich Drepper  <drepper@redhat.com>

	* dlfcn/dlerror.c (dlerror): Handle call of dlerror() before any
	other dlopen() and dlsym().
	Based on a patch by Ben Collins <bcollins@debian.org>.

2001-01-02  Andreas Jaeger  <aj@suse.de>

	* dlfcn/errmsg1.c (main): Call dlerror initially.
	Reported by Ben Collins <bcollins@debian.org>.

2001-01-02  Ulrich Drepper  <drepper@redhat.com>
2001-01-03 04:50:22 +00:00
Ulrich Drepper
83628d3173 (free_mem): New function. Free allocated memory. 2000-08-24 08:28:11 +00:00
Ulrich Drepper
49c091e523 Update.
2000-02-22  Ulrich Drepper  <drepper@redhat.com>

	* locales/mk_MK: New file.
	Contributed by Damjan Georgievski <gdamjan@freemail.org.mk>
	* SUPPORTED: Add mk_MK ISO-8859-1.
2000-02-22 09:00:35 +00:00
Ulrich Drepper
727211c429 Update.
1999-11-08  Andreas Jaeger  <aj@suse.de>

	* locale/findlocale.c (_nl_find_locale): Free normalized_codeset;
	this fixes a memory leak (closes PR libc/1435).

	* intl/l10nflist.c (_nl_normalize_codeset): Update comment to
	reflect memory allocation.

	* intl/loadinfo.h: Comment _nl_normalize_codeset, comment memory
	allocation in _nl_explode_name.

1999-11-06  Andreas Jaeger  <aj@suse.de>

	* time/tzset.c: Use __libc_lock_define_initialized for tzset_lock
	to initialize it.
	Reported by wes@surety.com, closes PR libc/1432.

1999-11-05  Geoff Keating  <geoffk@cygnus.com>

	* sysdeps/powerpc/fpu/bits/fenv.h: Don't put commas at the end of
	enumerator lists (-pedantic complains).
	(feraiseexcept): Use i#*X as the constraint.  Fix a bug in the
	test for 'one bit set'.
	(feclearexcept): Likewise.
1999-11-08 23:44:12 +00:00
Ulrich Drepper
7fcc87f467 Update.
1999-09-06  Andreas Schwab  <schwab@suse.de>

	* time/tzset.c (compute_change): Replace slow loop to compute T by
	simple algorithm.
1999-09-06 17:03:16 +00:00
Ulrich Drepper
c4563d2d66 Update.
1999-04-28  Ulrich Drepper  <drepper@cygnus.com>

	* argp/argp-ba.c (argp_program_bug_address): Don't initialize with 0.
	* argp/argp-parse.c (_argp_hang): Likewise.
	* argp/argp-pv.c (argp_program_version): Likewise.
	* argp/argp-pvh.c (argp_program_version_hook): Likewise.
	* inet/ether_hton.c (ether_hton, startp): Likewise.
	* inet/ether_ntoh.c (ether_ntoh, startp): Likewise.
	* inet/getnetgrent_r.c (setup, startp): Likewise.
	* intl/loadmsgcat.c (_nl_msg_cat_cntr): Likewise.
	* intl/localealias.c (string_space, string_space_act, string_space_max,
	nmap, maxmap): Likewise.
	* libio/iopopen.c (proc_file_chain): Likewise.
	* libio/oldiopopen.c (old_proc_file_chain): Likewise.
	* locale/lc-collate.c (__collate_table, __collate_extra,
	__collate_element_hash, __collate_element_strings,
	__collate_element_values): Likewise.
	* malloc/mcheck.c (mcheck_used): Likewise.
	* malloc/mtrace.c (added_atexit_handler): Likewise.
	* malloc/set-freeres.c (already_called): Likewise.
	* misc/getpass.c (getpass) [buf, bufsize]: Likewise.
	* misc/syslog.c (LogStat, LogTag): Likewise.
	* nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise.
	* nss/getXXbyYY_r.c (startp): Likewise.
	* posix/getopt.c (optarg, __getopt_initialized): Likewise.
	* posix/regex.c (init_syntax_once) [done]: Likewise.
	(debug): Likewise.
	* string/strfry.c (init): Likewise.
	* sunrpc/svc_run.c (svc_top): Likewise.
	* posix/euidaccess.c (have_ids): Likewise.
	* sysdeps/unix/sysv/linux/poll.c (must_emulate): Likewise.
	* sysdeps/unix/sysv/linux/ttyname.c (__ttyname, namelen): Likewise.
	* time/getdate.c (getdate_err): Likewise.
	* time/tzfile.c (transitions, type_idxs, types, zone_names, leaps):
	Likewise.
	* time/tzset.c (old_tz, is_initialized): Likewise.

	* inet/getnameinfo.c (nrl_domainname): Rewrite to allow initialization
	of static data with zero.
	* signal/allocrtsig.c (init): Likewise.

	* string/Makefile (routines): Add strchrnul.
	* string/Versions [GLIBC_2.1.1]: Add strchrnul.
	* string/string.c: Add strchrnul prototype.
	* include/string.h: Add __strchrnul prototype.
	* sysdeps/generic/strchrnul.c: New file.
	* sysdeps/i386/strchrnul.S: New file.
	* sysdeps/i386/bits/string.c: Add strchrnul optimization.
	* sysdeps/i386/i486/bits/string.c: Likewise.
	* argp/argp-help.c (argp_args_usage): Use __strchrnul.
	* inet/ether_line.c (ether_line): Likewise.
	* nscd/nscd_conf.c (nscd_parse_file): Likewise.
	* nss/nsswitch.c (nss_parse_file): Likewise.
	* posix/execvp.c (execvp): Likewise.
	* posix/fnmatch.c (internal_fnmatch): Likewise.
	* resolv/res_hconf.c (_res_hconv_init): Likewise.
	* resolv/res_init.c (res_init): Likewise.
	* stdlib/fmtmsg.c (init): Likewise.
	* stdlib/getsubopt.c (getsubopt): Likewise.

	* catgets/catgets.c (catopen): Only allocate one memory block.
	(catclose): Only one free call necessary.

	* catgets/open_catalog.c (__open_catalog): Simplify handling of
	file descriptor.

	* ctype/ctype-extn.c: Make __toascii_l and __isascii_l alias instead
	of real functions.  Simplify _tolower and _toupper.

	* grp/initgroups.c (compat_call): Remove unnecessary use of pointer
	variable.

	* iconv/gconv.h (struct gconv_info): Change data element from pointer
	to array of size 0.
	* iconv/gconv_open.c (__gconv_open): Allocate structures accordingly.
	* iconv/gconv_close.c (__gconv_close): Don't free data.

	* iconv/gconv_conf.c (add_alias): Avoid searching in tree twice to
	insert new alias.

	* iconv/gconv_db.c (add_derivation): More efficient copying.  Check
	for error while inserting in tree.

	* include/time.h: Pretty print.

	* inet/ruserpass.c: Rewrite use of toktab to avoid string pointers
	in table and lots of relocations.
	* posix/regex.c (regerror): Rewrite use of re_error_msgid to avoid
	string pointers in table and lots of relocations.

	* intl/finddomain.c: Remove definition of strchr macro.

	* io/ftw.c (nftw_arr, ftw_arr): Make const.

	* locale/loadlocale.c (_nl_load_locale): Optimize string copying.

	* locale/localeinfo.h (_nl_category_names): Change into an array with
	fixed width char string elements.
	* locale/setlocale.c (_nl_category_names): Likewise.
	(_nl_current): Make global.
	* locale/nl_langinfo.c (nldata): Removed.  Use _nl_current now.

	* malloc/Makefile (distribute): Add stackinfo.h.
	* sysdeps/generic/stackinfo.h: New file.
	* sysdeps/i386/stackinfo.h: New file.
	* posix/execl.c: Use stackinfo.h in optimizing alloca use.
	* posix/execle.c: Likewise.
	* posix/execlp.c: Likewise.

	* nis/nis_table.c (__create_ib_request): Always use realloc.

	* posix/execvp.c (execute): Rename to script_execute and keep only
	code to execute using shell.
	(execvp): Call execv directly and only fall back on script_execute.

	* resolv/inet_net_pton.c (inet_net_pton_ipv4): Remove digits define
	and always use xdigits instead.

	* resolv/res_init.c (res_init): Use rawmemchr instead of strchr
	where appropriate.

	* stdlib/fpioconst.h (__tens): New declaration.
	(struct mp_power): Remove array, add arrayoff element.
	* stdlib/fpioconst.c: Replace definitions of _ten_p* arrays by one
	__tens array and add in _fpioconst_pow10 offsets into __tens.
	* stdio-common/printf_fp.c: Rewrite to use new __tens array.
	* stdlib/strtod.c: Likewise.

	* stdlib/a64l.c (a64l_table): Avoid unnecessary elements.

	* stdlib/exit.c: Rewrite to use __exit_funcs being as sign for end
	of the list.
	* stdlib/atexit.c (__exit_funcs): Don't initialize.

	* stdlib/fmtmsg.c (keywords): Make name element fixed width array.

	* sunrpc/clnt_perr.c: Rewrite clnt_sperrno and auth_errmsg to use
	a single and an array with offsets.

	* sunrpc/des_soft.c (partab): Make it const.

	* sunrpc/key_call.c (trytimeout, tottimeout): Make const.
	(__key_encryptsession_pk_LOCAL): Don't initialize with 0.
	(__key_decryptsession_pk_LOCAL): Likewise.
	(__key_gendes_LOCAL): Likewise.
	(MESSENGER): Mark const.
	(key_call_private_main): Don't initialize with 0.
	(use_keyenvoy): Don't initialize with 0.
	(key_call): Rewrite to reverse logic of use_doors variable.

	* sunrpc/netname.c (OPSYS): Define as array, not pointer.
	(startp): Don't initialize with zero.

	* sunrpc/openchild.c (_openchild): Make first argument const.

	* sunrpc/pmap_rmt.c (timeout): Mark const.
	* sunrpc/xcrypt.c (hex): Likewise.

	* sysdeps/unix/sysv/linux/getcwd.c: Rewrite to allow omitting
	initialization of global variables.
	* sysdeps/unix/sysv/linux/getpt.c: Likewise.
	* sysdeps/unix/sysv/linux/if_index.c: Likewise.
	* termios/tcgetsid.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (x86_cap_flags): Change
	fxsr to osfxsr.

	* time/tzfile.c (__tzfile_read): Rewrite to allocate only one memory
	block.  Add function to free memory if wanted.
	* time/tzset.c (tzset_internal): Pass extra argument to __tzfile_read.

	* wcsmbs/wcsmbsload.c (to_wc, to_mb): Correct initializers.

	* wcsmbs/wmemset.c: Little code optimization.
1999-04-28 23:13:52 +00:00
Ulrich Drepper
b77e6cd621 Update.
1998-12-10  Ulrich Drepper  <drepper@cygnus.com>

	* inet/getnetgrent_r.c (innetgr): Check host and domain name with
	strcasecmp, not strcmp.  [PR libc/894].

1998-12-08  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* posix/regex.h: Declare re_comp, re_exec if compiling for libc to
	get prototypes.

	* wctype/wctype.h: Add prototypes for __iswblank_l and iswblank.

1998-12-08  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/gethostid.c: Include <netdb.h> to get
	prototype for __gethostbyname_r.

	* include/time.h: Add declarations of internal interfaces.

	* time/tzset.c: Remove declarations of internal interfaces.
	* time/gmtime.c: Likewise.
	* time/localtime.c: Likewise.
	* time/offtime.c: Likewise.
	* time/tzfile.c: Likewise.
1998-12-10 09:47:59 +00:00
Ulrich Drepper
e3e35cfc95 Update.
* elf/Versions [libc, GLIBC_2.01]: Add _dl_global_scope_alloc.
	* elf/dl-open.c (_dl_global_scope_alloc): Move definition to
	* elf/dl-deps.c: ...here.
	* elf/dl-open.c (dl_open_worker): Call _dl_map_object_deps with
	new parameter and expect result.  Remove code handling RTLD_GLOBAL.
	Add return value of _dl_map_object_deps to
	_dl_main_searchlist->r_nlist.
	* elf/dl-deps.c (_dl_map_object_deps): Change to return value.
	If we parameter GLOBAL is nonzero add object and dependencies to
	the global scope.
	* elf/ldsodefs.h: Adapt prototype for _dl_map_object_deps.
	* elf/rtld.c (dl_main): Call _dl_map_object_deps with new parameter.
	Mark all objects as in global scope.
	* elf/dl-object.c (_dl_new_object): Initialize l_global to zero.

	* sysdeps/unix/sysv/linux/bits/sockunion.h: Add Econet support.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Add .L prefix to symbols
	used in macro magic.

1998-11-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de> 
 
        * sysdeps/unix/sysv/linux/netatalk/at.h: Include <linux/atalk.h> 
        before <sys/socket.h> to make sockaddr_at available to 
        <sys/socket.h>. 

	* posix/glob.h: Remove __P from parameter lists of declarations.
 
1998-11-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de> 
 
	* time/tzset.c (tz_compute): Remove unused parameter timer. 
	Change caller. 
 
1998-11-02  Mark Kettenis  <kettenis@phys.uva.nl> 
 
	* sysdeps/generic/bits/types.h (__ipc_pid_t): New typedef. 
 
1998-11-02  Ulrich Drepper  <drepper@cygnus.com>
1998-11-02 21:48:45 +00:00
Ulrich Drepper
0e103c6d2a Update.
1998-10-26 11:09  Ulrich Drepper  <drepper@cygnus.com>

	* time/Makefile (tests): Add tst-posixtz.
	* time/tst-posixtz.c: New file.

1998-10-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* elf/rtld.c (process_envvars): Accept any non-null value of
	LD_BIND_NOW, as mandated by the ABI.

1998-10-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/pread.c: Rename __syscall_pread64 to
	__syscall_pread.
	* sysdeps/unix/sysv/linux/pwrite.c: Rename __syscall_pwrite64 to
	__syscall_pwrite.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.  Remove
	duplicate entries.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Remove
	s_pread64 and s_pwrite64.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.

1998-10-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/llseek.c: Use INLINE_SYSCALL.
	* sysdeps/unix/sysv/linux/arm/syscalls.list: Rename __sys_llseek
	to __syscall__llseek.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Remove entry for
	__sys_llseek.

1998-10-26  Cristian Gafton  <gafton@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add s_setfsgid
	and s_setfsuid.

1998-10-26  Ulrich Drepper  <drepper@cygnus.com>

	* time/tzset.c (tz_compute): Correct last patch and describe this
	in a comment.
1998-10-26 11:11:28 +00:00
Ulrich Drepper
14f65de694 (tz_compute): Correct last patch and describe this in a comment. 1998-10-26 09:35:41 +00:00
Ulrich Drepper
896ebd6bf6 (tz_compute): If time to switch to DST is later in the year switch back in the next year. 1998-10-25 22:10:12 +00:00
Ulrich Drepper
90865aa8d3 Update.
1998-09-10 11:53  Ulrich Drepper  <drepper@cygnus.com>

	* timezone/Makefile: Add rules to generate Asia/Tokyo zoneinfo files
	for test.
	* timezone/tst-timezone.c (tests): Fix typo in last patch.

	* time/tzfile.c (__tzfile_read): Handle case when there are no
	transitions.  Set __timezone based on computed offset.
	* time/tzset.c (tzset_internal): Set __timezone before returning.

	* time/tzset.c (tzset_internal): Optimize handling of local string
	copy.

1998-09-10  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* timezone/tst-timezone.c (tests): Add test for Asia/Tokyo (see PR
	libc/776).

	* sysdeps/powerpc/bits/fenv.h: Add parens.
1998-09-10 11:58:53 +00:00
Ulrich Drepper
2698e32c2c Update.
1998-07-31 17:59  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/Makefile [subdir==misc] (sysdep_routines):
	Add sys_setresuid.

1998-07-30  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/unix/sysv/linux/syscalls.list: Add __syscall_setresuid
	as real name for system call and make setresuid a weak alias.  Set
	caller to seteuid.
	* sysdeps/unix/sysv/linux/seteuid.c (seteuid): Implement using
	`setresuid' syscall if availble.  Fixes problems with sendmail
	which expects `seteuid' to not set the saved user ID.

1998-07-30 20:09 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* time/tzset.c (__tzstring): Get rid of excessive cleverness
	which was causing stack corruption.

1998-07-31 16:41 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* argp/argp-fmtstream.c (__argp_fmtstream_update): Correct
	off-by-one in wordwrap algorithm when there' a space at the
	beginning of the buffer.

1998-07-31 15:45  Ulrich Drepper  <drepper@cygnus.com>

	* Makerules (LDLIBS-c.so): Extend value instead of overwriting it.
1998-07-31 18:02:14 +00:00
Ulrich Drepper
ba9234d947 Update.
1998-07-04 10:14  Ulrich Drepper  <drepper@cygnus.com>

	* libio/Makefile (routines): Add iofread_u and iofwrite_u.
	* libio/Versions: Add fread_unlocked and fwrite_unlocked.

	* Makerules (lib%.so): Adjust ignore pattern for last makefile change.

	* time/tzfile.c (decode): Optimize by using bswap_32.
	(__tzfile_read): Use _unlocked stream functions.  Correct setting of
	__tzname array values.
	(__tzfile_compute): Correct setting of __tzname array values.
	* time/tzset.c (__tzstring): Clean up a bit.

1998-06-29 19:01  Jim Wilson  <wilson@cygnus.com>

	* posix/regex.c (re_comp): Add cast to char * before gettext calls.

1998-06-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/bsd/poll.c (__poll): Allocate fd_set dynamically so
	that fd can be bigger than FD_SETSIZE.

1998-07-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nscd/grpcache.c: Include <unistd.h>.
	* nscd/pwdcache.c: Likewise.

	* nis/nis_modify.c: Include <string.h>.
	* nis/nis_add.c: Likewise.
	* nis/nis_checkpoint.c: Likewise.
	* posix/runptests.c: Likewise.
	* sysdeps/generic/statvfs64.c: Likewise.
	* sysdeps/generic/fstatvfs64.c: Likewise.

1998-07-03 13:16  Ulrich Drepper  <drepper@cygnus.com>

	* localedata/charmaps/ISO-8859-9: Change mapping for 0xea, 0xec, 0xef
	to match data from Unicode.
	Reported by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.

1998-07-03 11:45  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/printf.h: Define printf_function and
	printf_arginfo_function types using __PMT not __P.
	Reported by Marc Lehmann.

1998-07-02 14:07 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* assert/test-assert.c: New test.
	* assert/test-assert-perr.c: New test.
	* assert/Makefile (tests): Add test-assert and test-assert-perr.

1998-07-02 13:45  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	BSD-style SCM_CREDS support.

	* sysdeps/unix/sysv/linux/socket.h: Define struct cmsgcred and
	SCM_CREDS.
	* sysdeps/unix/sysv/linux/sendmsg.c: New file.  Convert user
	visible SCM_CREDS packet to what the kernel wants.
	* sysdeps/unix/sysv/linux/recvmsg.c: New file.  Convert
	SCM_CREDS packet output by kernel to what users want.

	* sysdeps/unix/sysv/linux/sendmsg.S: Moved to...
	* sysdeps/unix/sysv/linux/__sendmsg.S: here.
	* sysdeps/unix/sysv/linux/recvmsg.S: Moved to...
	* sysdeps/unix/sysv/linux/__recvmsg.S: here.

	* sysdeps/unix/sysv/linux/Makefile [subdir=socket]: Add
	__sendmsg and __recvmsg to sysdep_routines.
	* sysdeps/unix/sysv/linux/Dist: Add __sendmsg.S and __recvmsg.S.

1998-07-02  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nscd/grpcache.c: Fix gid pointer handling and debug messages.
	* nscd/pwdcache.c: Fix uid pointer handling and debug messages.
	* nscd/nscd.c: Check, if pthread_create fails.

1998-07-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* stdio-common/test_rdwr.c (main): Use %Zu for size_t in printf
	format strings.
	* stdio-common/bug1.c (main): Likewise.
	* stdio-common/bug5.c (main): Likewise.
	* stdio-common/tstgetln.c (main): Likewise.
	* elf/sprof.c (generate_call_graph): Likewise.
	(load_shobj): Likewise.
	* posix/runptests.c (main): Likewise.
	* string/tst-strlen.c (main): Likewise.

	* sysdeps/libm-ieee754/e_acos.c (__ieee754_acos): Remove unused
	variable q3.
	* sysdeps/libm-ieee754/e_asin.c (__ieee754_asin): Likewise

1998-07-03  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* wctype/Versions: Add __towctrans.
	Noticed by Alex Buell <alex.buell@tahallah.demon.co.uk>.

1998-07-02  Mark Kettenis  <kettenis@phys.uva.nl>

	* grp/initgroups.c (compat_call): Only call dynamically loaded
	functions if they are really present.

1998-07-02  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/unix/sysv/linux/bits/sched.h: Move __END_DECLS within
	#ifdef that contains __BEGIN_DECLS.

1998-07-02  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libio/iofwrite.c: Fix return value when size == 0.

1998-07-01  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* posix/Makefile (distribute): Add annexc.c.
	(generated): Add $(objpfx)annexc and $(objpfx)annexc.out.

1998-07-01  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
	bits/pthreadtypes.h here, and do not clobber headers.

	* sysdeps/unix/sysv/linux/Dist: Add bits/pthreadtypes.h.

1998-07-03  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* timezone/tst-timezone.c: Add tests for tzname variable.

1998-07-03 12:17  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* Makefile [versioning=yes]: Build the mapfiles with a pattern
	rule that lists all of them as targets.
	(sysd-versions): Depend only on Versions.def.  Write a Makefile
	fragment that defines $(vers-libs) based on contents of that file;
	then include it.
	(lib-noranlib): Depend on lib-mapfiles not sysd-versions.
	(lib-mapfiles): New target, depends on sysd-versions and $(vers-libs).
	Predicate all this on avoid-generated unset as well as versioning.

1998-07-03 14:35  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1998-07-04 10:39:13 +00:00
Ulrich Drepper
a709dd439a Update.
1998-05-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Makeconfig (rpath-link): Add resolvobjdir.
	(resolvobjdir): New variable.
	Reported by Peter Breitenlohner <peb@mppmu.mpg.de> [fixes PR libc/633].

1998-05-20 09:36  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c: Call shared object terminators at the right time.
	Patch by Philippe Troin <phil@fifi.org>.

1998-05-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Make-dist (+tsrcs): Also add *.map for every member of
	$(extra-libs).

	* Makefile (distribute): Don't distribute scripts/printsources and
	scripts/=__ify.  Distribute FAQ.in.
	(rpm/%): Don't pass subdirs to sub-make.

	* timezone/Makefile: Protect inclusion of z.* by $(avoid-generated)
	instead of $(no_deps).

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/setenv.c: Protect against GNU C extension.
	(KNOWN_VALUE, STORE_VALUE): Do it right.
	(setenv): Remove unused variable.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* timezone/Makefile (tz-cflags): Define TM_GMTOFF and TM_ZONE.
	(CFLAGS-zdump.c): Add $(tz-cflags).

	* timezone/zdump.c (abbr): Use TM_ZONE if defined.  Add const to
	return type.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* time/tzfile.c (__tzfile_compute): Undo last change.  Instead
	take struct tm parameter and set tm_isdst, tm_zone and tm_offset
	if use_localtime.
	* time/tzset.c: Update prototype of __tzfile_compute.
	(__tz_convert): Pass tp to __tzfile_compute.  Don't set tm_isdst,
	tm_zone and tm_offset here if __use_tzfile.

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules: Install libc.a even if there are no object file.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (do-makelib): Don't force creating library from
	scratch, to avoid wasting time and space and to get correct
	behaviour if $(subdirs) is incomplete.

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (do-stamp): Make it work when building in source
	directory.
1998-05-20 10:50:03 +00:00
Ulrich Drepper
b17277cfa2 Update.
1998-05-15 14:36  Ulrich Drepper  <drepper@cygnus.com>

	* posix/wordexp-test.c: Avoid duplicate messages.

	* sysdeps/generic/setenv.c: Use __tfind and __tsearch, not tfind and
	tsearch.  Correctly interpret values returned by those functions.
	(unsetenv): Store pointer to string, not pointer to string pointer.

	* time/tzfile.c (__tzfile_compute): Take new arguments.  Store
	DST information and offset in them.
	* time/tzset.c (__tz_convert): Pass extra parameters to
	__tzfile_compute.  Compute equivalent values for use of tz_rules.

1998-05-15 00:49:11  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* iconvdata/Makefile (gen-8bit-table): Use move-if-change and
	stamp files to avoid unnecessary recompilation.
	(gen-8bit-gap-table): Likewise.
	(move-if-change): New variable.
	(all generated .h rules): Change to be .stmp rules.
	(%.h): New rule; depend on %.stmp; no commands.
	(distribute): Add gen-8bit.sh, gen-8bit-gap.sh,
	gen-8bit-gap-1.sh.

1998-05-15 01:09  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* Makerules (libc-map): Deleted.
	(load-map-file): Set to the appropriate compiler switch, not
	just the file name.  If libfoo-map is not set, look for a
	libfoo.map in the current directory and $(..).
	(map-file): New variable, contains just the mapfile name.
	(build-shlib): Adjust for new value of load-map-file.
	(libc.so): Correct dependencies.

	* extra-lib.mk: Correct shlib dependencies since libfoo-map
	may not be set anymore.

	* elf/Makefile: Set ld-map to $(..)libc.map, not $(libc-map).
	Delete libdl-map.  Tweak ld.so link rule to work with changed
	variable settings in Makerules.
	* iconvdata/Makefile: Tweak build-module to work with changed
	variable settings in Makerules.

	* db/Makefile: Delete libdb-map.
	* hesiod/Makefile: Delete libnss_hesiod-map.
	* linuxthreads/Makefile: Delete libpthread-map.
	* locale/Makefile: Delete libBrokenLocale-map.
	* login/Makefile: Delete libutil-map.
	* math/Makefile: Delete libm-map.
	* md5-crypt/Makefile: Delete libcrypt-map.
	* nis/Makefile: Delete libnsl-map, libnss_nis-map,
	libnss_nisplus-map, and libnss_compat-map.
	* nss/Makefile: Delete libnss_files-map, libnss_db-map, and
	libnss_ldap-map.
	* resolv/Makefile: Delete libresolv-map and libnss_dns-map.
	* rt/Makefile: Delete librt-map.

1998-05-15 01:06  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* configure.in: Instead of substituting `yes' or `no' for whether
	--no-whole-archive is available, set @no_whole_archive@ to the
	appropriate gcc switch or the empty string.  Likewise for
	-fno-exceptions.
	* config.make.in: Replace have-no-whole-archive with
	no-whole-archive and have-no-exceptions with no-exceptions.
	* Makerules: Delete stanzas setting no-whole-archive and
	no-exceptions.

	* sunrpc/Makefile: Use move-if-change to update generated .h
	and .c files.

1998-05-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* wcsmbs/wcsmbsload.c (extract_charset_name): Use strcspn instead
	of strchr loop.

1998-05-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* time/tzfile.c (__tzfile_read): Remove unused variable info.
	(__tzfile_compute): Likewise.

1998-05-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/bits/socket.h (AF_SNA,PF_SNA): Add new
	defines from Linux 2.1.102.
1998-05-15 14:46:36 +00:00
Ulrich Drepper
ff152e3fc8 Update.
1998-05-14 13:25  Ulrich Drepper  <drepper@cygnus.com>

	* inet/netinet/in.h: Add defines for multicast.
	Reported by Jeremy Hall <jhall@UU.NET>.

	* stdlib/stdlib.h: Add prototypes for __setenv and __unsetenv.
	* sysdeps/generic/putenv.c: Use __setenv and __unsetenv, not setenv
	and unsetenv.  Optimize _LIBC case.
	* sysdeps/generic/setenv.c: Prevent unnecessary memory leaks.
	Define functions with leading __.

	* time/tzfile.c: Correct handling of global variables daylight,
	timezone, and tzname.
	* time/tzset.c: Likewise.
	* timezone/Makefile (tests): Add tst-timezone.
	* timezone/tst-timezone.c: New file.

1998-05-14 10:35  Ulrich Drepper  <drepper@cygnus.com>

	* timezone/asia: Update from tzdata1998d.
	* timezone/australasia: Likewise.
	* timezone/europe: Likewise.
1998-05-14 19:14:48 +00:00
Ulrich Drepper
14ea22e96c Update.
1998-02-15  Ulrich Drepper  <drepper@cygnus.com>

	* nss/nsswitch.c (__nss_lookup): Return 1 if this was the last
	module.

	* nss/getXXent_r.c: If no more module is found don't try to call
	setXXent functions but leave unsuccessfully.

	* malloc/obstack.h: Cleanups.

	* sysdeps/wordsize-32/stdint.h: New file.
	* sysdeps/wordsize-64/stdint.h: New file.
	* sysdeps/generic/stdint.h: New file.
	* sysdeps/wordsize-32/inttypes.h: Adopt to use stdint.h.
	* sysdeps/wordsize-64/inttypes.h: Likewise.
	* stdlib/Makefile (headers): Add stdint.h.

1998-02-03  Paul Eggert  <eggert@twinsun.com>

	* malloc/obstack.h (PTR_INT_TYPE): Use __PTRDIFF_TYPE__ if available.

1998-02-13 17:59  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* timezone: New directory.
	* time/README, time/africa, time/antarctica, time/asia,
	time/australasia, time/backward, time/checktab.awk,
	time/etcetera, time/europe, time/factory, time/ialloc.c,
	time/iso3166.tab, time/leapseconds, time/northamerica,
	time/pacificnew, time/private.h, time/scheck.c,
	time/solar87, time/solar88, time/solar89, time/southamerica,
	time/systemv, time/test-tz.c, time/tzfile.h,
	time/tzselect.ksh, time/yearistype, time/zdump.c,
	time/zic.c, time/zone.tab: Moved to timezone.
	* time/tzfile.c: Include tzfile.h from timezone subdir.
	* time/tzset.c: Likewise.
	* time/Makefile: Cut out all code relating to timezones...
	* timezone/Makefile: ...and paste it in here.
	* Makefile (subdirs): Add timezone.

1998-02-13 18:45  H.J. Lu  <hjl@gnu.org>

	* libc.map (_sys_nerr): Added.

	* sysdeps/unix/sysv/linux/errlist.c (_sys_nerr): Make it
	versioned symbol.

1998-02-15 17:16  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/bits/socket.h: Define PF_KEY and
	pseudo_AF_KEY instead of pseudo_PF_KEY and AF_KEY.
	Reported by Craig Metz <cmetz@inner.net>.

1998-01-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* nss/nss_files/files-parse.c (LOOKUP_NAME_CASE): Use __strcasecmp
	instead of strcasecmp.
	* nss/nss_files/files-alias.c (get_next_alias): Likewise.

	* wctype/wctype.h (_ISwbit): Avoid warning with gcc before 2.8.

1998-02-15 16:55  Ulrich Drepper  <drepper@cygnus.com>

	* socket/sys/socket.h (setsockopt): Make OPTVAL parameter const.
	Patch by Dean Gaudet <dgaudet@arctic.org>.

1998-02-15 16:53  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/Dist: Add getresgid.c and getresuid.c.

1998-02-15 10:49  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/unix/sysv/linux/poll.c: If compiled against a kernel
	with no poll syscall, just include the BSD version.
	* sysdeps/unix/sysv/linux/getresuid.c: If compiled against a
	kernel without the syscall, include the stub version.
	* sysdeps/unix/sysv/linux/getresgid.c: Likewise.
	* sysdeps/generic/getresuid.c: New file.
	* sysdeps/generic/getresgid.c: New file.

1998-02-15  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/vfscanf.c: Correct last change a bit.
1998-02-15 19:31:34 +00:00
Ulrich Drepper
fe0ec73edb Update.
1997-11-13 01:07  Ulrich Drepper  <drepper@cygnus.com>

	* manual/arith.texi: Update documentation according to most recent
	ISO C 9X draft.
	Document fma, fdim, fmin, and fmax.
	* manual/math.texi: Allow multiple defitino of mul etc.

	* math/complex.h (I): Define using _Complex_U not _Imaginary_I.

	* math/libm-test.c: Add tests for fma.

	* math/math.h: Describe DECIMAL_DIG macro.  Pretty print.

	* sysdeps/alpha/fpu/bits/mathdef.h: Define INFINITY as of type float.
	Define DECIMAL_DIG.
	* sysdeps/generic/bits/mathdef.h: Likewise.
	* sysdeps/i386/bits/mathdef.h: Likewise.
	* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
	* sysdeps/powerpc/bits/mathdef.h: Likewise.
	* sysdeps/sparc/fpu/bits/mathdef.h: Likewise.

	* sysdeps/ieee754/bits/nan.h: Define NAN as of type float.
	* sysdeps/m68k/bits/nan.h. Likewise.  Remove NANF and NANL.

1997-11-12 17:50  Ulrich Drepper  <drepper@cygnus.com>

	* sunrpc/xcrypt.c: Don't process #ident preprocessor instruction.
	Reported by Philip Blundell <pb@nexus.co.uk>.

	* string/strndup.c: Use K&R like definition.

	* sysdeps/unix/sysv/linux/getcwd.c: New file.  Use kernel information
	instead of longish search for the name.
	* sysdeps/posix/getcwd.c: Add support for use of the code as a
	backup solution.

1997-11-12 15:31  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/sysdep.h (SYS_ify): Don't add
	SWI_BASE in twice.

	* sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter):
	Use correct name to access PC.

	* sysdeps/unix/arm/sysdep.S: Include <bits/errno.h> not <errnos.h>.

	* sysdeps/generic/bits/types.h: Add __ino64_t and __off64_t.
	* sysdeps/generic/bits/stat.h: Add struct stat64.

1997-11-12 16:08  Ulrich Drepper  <drepper@cygnus.com>

	* intl/loadmsgcat.c [_LIBC] (fstat): Don't define as __fstat since
	now we have a definition as _fxstat.
	* libio/fileops.c: Likewise.
	* libio/oldfileops.c: Likewise.
	Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>.

1997-11-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/wordsize-32/inttypes.h (SIG_ATOMIC_MAX): Correct value.
	* sysdeps/wordsize-64/inttypes.h (SIG_ATOMIC_MAX): Likewise.

1997-11-11  Paul Eggert  <eggert@twinsun.com>

	Add overflow checking for 64-bit time_t and 32-bit int.

	* time/time.h (__offtime): Now returns int.

	* time/offtime.c (__offtime): Return nonzero if successful;
	check for tm_year overflow.
	(DIV): New macro.
	(LEAPS_THRU_END_OF): Handle negative years correctly.

	* time/tzset.c (__tz_convert): Return NULL if offtime cannot convert.

	* time/mktime.c (ranged_convert): New function.
	(ydhms_tm_diff): Return nonzero if TP is null.
	(__mktime_internal): Handle cases correctly even if they are near or
	past the limits of time_t values that can be broken down to struct tm.
	(print_tm, check_result, main): Diagnose localtime failures.

	* manual/time.texi: Document the fact that localtime returns 0
	if the time can't be represented.

1997-11-12 06:03  Ulrich Drepper  <drepper@cygnus.com>

	* time/strftime.c (memset_space, memset_zero): Use MEMPCPY, not
	mempcpy.  Patch by Ken'ichi Handa  <handa@etl.go.jp>.

	* manual/time.texi: Document %F and %f format for strftime.

	* manual/arith.texi: Document copysign, nextafter and nan.

1997-11-06  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* test-installation.pl: New file. Tests for some installation
	problems.
1997-11-13 00:21:19 +00:00
Ulrich Drepper
1cab544423 Update.
1997-10-31 23:16  Ulrich Drepper  <drepper@cygnus.com>

	* posix/glob.c (glob): If calling glob_in_dir for a list which was
	generated by a glob call disable GLOB_ERR since there might be
	non-directories in the list (PR203).

	* posix/glob.h (GLOB_ONLYDIR): New flag.
	(__GLOB_FLAGS): Add GLOB_ONLYDIR.
	* posix/glob.c: Define HAVE_D_TYPE if _DIRENT_HAVE_D_TYPE is defined.
	(glob): Add GLOB_ONLYDIR to recursive call to match dirname.
	(glob_in_dir) [HAVE_D_TYPE]: While reading directory entries test
	whether they are directories if GLOB_ONLYDIR flag is given.
	* manual/pattern.texi: Document GLOB_ONLYDIR.

	* misc/Makefile (tests): Add tst-fdset.

	* sysdeps/i386/bits/select.h: Rewrite asm macros to be cleaner.

	* sysdeps/unix/sysv/linux/Dist: Add xstatconv.c.
	* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.

	* time/strptime.c (strptime_internal): In %y format, regard years
	>= 69 as of twentieth century, all other as of twenty-first.

	* time/tzset.c: Correct typo and little optimization.

1997-10-31 16:01  Ulrich Drepper  <drepper@cygnus.com>

	* inet/getnetgrent.c: Allocate buffer dynamically if needed.
	Suggested by Joe Keane <jgk@jgk.org>.

1997-10-31  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* io/ftw.h: Declare __ftw64_func_t and __nftw64_func_t only when
	__USE_FILE_OFFSET64 || __USE_LARGEFILE64 is true.

1997-10-30 05:47  Ulrich Drepper  <drepper@cygnus.com>

	* misc/mntent.c: Don't use statically allocated buffer.  Allocate
	it dynamically if necessary.
	* misc/efgcvt.c: Likewise.
	Patch by Joe Keane <jgk@jgk.org>.

	* misc/mntent.c: Allow freeing of allocated buffer in
	__libc_subfreeres.
	* misc/efgcvt.c: Likewise.

	* misc/efgcvt.c: Call correct reentrant functions.
	Use better values for MAXDIG.
	* misc/qefgcvt.c: Use better values for MAXDIG.

1997-10-29 18:48   Richard Henderson  <rth@cygnus.com>

	* sysdeps/unix/sysv/linux/Makefile [io]: Add xstatconv.
	* sysdeps/unix/sysv/linux/alpha/xstatconv.c: New file.  Convert
	between kernel_stat and the userland version indicated.
	* sysdeps/unix/sysv/linux/xstatconv.c: Likewise.
	* sysdeps/unix/sysv/linux/bits/stat.h: Define _STAT_VER_KERNEL.

	* sysdeps/unix/sysv/linux/fxstat.c: Defer to __xstat_conv.  Alias
	to __*xstat64 if requested.
	* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat.c: Likewise.

	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Add struct stat64.
	Increment _STAT_VER, and make struct stat the same.
	* sysdeps/unix/sysv/linux/alpha/bits/types.h: Add __ino64_t, and
	__off64_t.  Reorganize.
	* sysdeps/unix/sysv/linux/alpha/kernel_stat.h: Add struct glibc2_stat
	for backward compatibility.  Define XSTAT_IS_XSTAT64.

	* sysdeps/unix/sysv/linux/alpha/fxstat64.c: Empty file.
	* sysdeps/unix/sysv/linux/alpha/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/xstat64.c: Likewise.

	* sysdeps/unix/sysv/linux/alpha/bits/dirent.h (struct dirent): For
	consistency, force d_ino to use ino_t and supply padding.

1997-10-29 18:47  Richard Henderson  <rth@cygnus.com>

	* libio/iofopen.c: Correct weak_alias.
1997-10-31 22:55:02 +00:00
Ulrich Drepper
dd7d45e838 Update.
1997-10-29 21:20  Ulrich Drepper  <drepper@cygnus.com>

	* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
	pointers are tied set mode according to current stream mode.

	* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
	199506L.
	Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
	* manual/creature.texi: Describe this.

	* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
	recv, recvfrom, and recvmsg as cancelation points.
	* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
	functions.

1997-10-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Make-dist (try-sysdeps): Don't look for stub files anymore.

	* manual/maint.texi (Porting): Remove another reference to stub
	directory.

	* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
	generic subdir.
	* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
	* sysdeps/unix/sysv/irix4/swapon.c: Likewise

1997-10-29 03:54  Ulrich Drepper  <drepper@cygnus.com>

	* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
	in all error cases (PR 244).

1997-10-29 00:56  Ulrich Drepper  <drepper@cygnus.com>

	* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
	Optimize by using mempcpy.

1997-10-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* po/Makefile ($(mo-installed)): Don't fail during installation if
	files don't exist (might happen if msgfmt doesn't exist) (PR 328).
	Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.

1997-10-24  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
	Pointed out by Klaus Espenlaub
	<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).

1997-10-28 17:40  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
	zero isn't enough to determine illegal arguments.
	* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
	* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.

1997-10-28 17:14  Ulrich Drepper  <drepper@cygnus.com>

	* manual/filesys.texi (S_ISVTX): Describe that it is available with
	_BSD_SOURCE only.
	Reported by Jochen Hein <jochen.hein@delphi.central.de>.

1997-10-28 04:26  Ulrich Drepper  <drepper@cygnus.com>

	* time/tzfile.c (__tzfile_compute): Use negated value of offset for
	timezone variable.
	* time/tzset.c (tz_compute): Likewise.
	Reported by Erik Troan <ewt@redhat.com>.

1997-10-28 02:51  Ulrich Drepper  <drepper@cygnus.com>

	* manual/filesys.texi: Correct prototype in readdir_r description.
	Reported by Jim Meyering <meyering@eng.ascend.com>.

1997-10-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).

1997-10-26 19:39  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* stdlib/l64a.c: Produce a useful result for n < 0.
	* stdlib/a64l.c: Use unsigned type for working variable.
	* manual/string.texi (general): Grammar, typo, overfull fixes.
	(strlen): Insert warning about sizeof(char *).
	(a64l, l64a): Make documentation agree with implementation.

	* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
	* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-29 20:33:40 +00:00