Age | Commit message (Collapse) | Author |
|
2002-08-04 Jakub Jelinek <jakub@redhat.com>
* manual/debug.texi: Fix spelling to programmatically.
Reported by <hayastan132@hotmail.com>.
* include/libio.h: Add libc_hidden_proto for __uflow.
* include/stdio.h: Map fopen, fdopen, fclose, fputs, fsetpos, and
fgetpos to _IO_* names.
Add libc_hidden_proto for fileno, fwrite, fseek, fflush_unlocked,
fread_unlocked, fwrite_unlocked, fgets_unlocked, fputs_unlocked.
* include/wchar.h: Add libc_hidden_proto for fputws_unlocked,
putwc_unlocked, vswscanf.
* libio/iolibio.h: Add libc_hidden_proto for _IO_fputs.
* libio/fileno.c: Use <stdio.h> and libc_hidden_def.
* libio/fseek.c: Likewise.
* libio/fmemopen.c: Include "libioP.h". Call _IO_fopencookie and
not fopencookie.
* libio/genops.c (__uflow): Add libc_hidden_def.
* libio/iofflush_u.c (fflush_unlocked): Likewise.
* libio/iofgets_u.c (fgets_unlocked): Likewise.
* libio/iofputs_u.c (fputs_unlocked): Likewise.
* libio/iofputws_u.c (fputws_unlocked): Likewise.
* libio/iofread_u.c (fread_unlocked): Likewise.
* libio/iofwrite_u.c (fwrite_unlocked): Likewise.
* libio/iovswscanf.c (vswscanf): Likewise.
* libio/putwc_u.c (putwc_unlocked): Likewise.
* libio/iofputs.c: Use libc_hidden_def instead of INTDEF.
* malloc/malloc.c: Redirect fwrite calls to _IO_fwrite.
* malloc/mtrace.c: Likewise.
* sunrpc/clnt_perr.c: Remove fputs macro.
* sunrpc/svc_simple.c: Likewise.
* sunrpc/svc_tcp.c: Likewise.
* sunrpc/svc_udp.c: Likewise.
* sunrpc/xdr_rec.c: Likewise.
* sunrpc/xdr_ref.c: Likewise.
* iconv/Makefile: Add CPPFLAGS definitions with -DNOT_in_libc for
iconv_prog, linereader, and charmap-dir.
* locale/Makefile: Likewise for locale and charmap-dir.
* malloc/Makefile: Likewise for memusagestat.
* nscd/Makefile: Likewise for nscd, nscd_conf, and dbg_log.
* sunrpc/Makefile: Likewise for rpc_main.
* sysdeps/unix/sysv/linux/Makefile: Likewise for lddlibc4.
* timezone/Makefile: Likewise for zic.
* stdio-common/perror.c: Avoid multiple calls to fileno_unlocked.
|
|
2002-08-03 Jakub Jelinek <jakub@redhat.com>
Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (public_cALLOc): Only divide if at least one of
arguments is big enough to cause an overflow.
|
|
[USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file,
which does the right thing when __thread support is available.
* descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]:
Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop',
`p_h_errno', `p_resp', and `p_res' members.
* pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]:
Don't initialize `p_errnop' and `p_h_errnop' members.
(__pthread_reset_main_thread): Likewise.
(__pthread_initialize_manager): Likewise.
* manager.c (__pthread_manager, pthread_handle_create): Likewise.
* pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]:
Don't initialize `p_resp' member.
(__pthread_reset_main_thread): Likewise.
* manager.c (pthread_handle_create): Likewise.
* specific.c (libc_internal_tsd_set, libc_internal_tsd_get):
Conditionalize these on [!(USE_TLS && HAVE___THREAD)].
* errno.c [USE_TLS && HAVE___THREAD]
(__h_errno_location, __res_state): Don't define these at all.
* sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments!
(INSTALL_NEW_DTV, GET_DTV): Likewise.
* sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise.
* weaks.c: Don't include <errno.h> here.
2002-08-01 Roland McGrath <roland@redhat.com>
* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of
TLS_INIT_TP.
(TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall.
(TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both.
(TLS_INIT_TP): Use that.
|
|
|
|
2002-06-18 Jakub Jelinek <jakub@redhat.com>
* include/unistd.h (__fork_internal): Remove.
(__fork): Don't define to __fork_internal.
* sysdeps/mach/hurd/fork.c (__fork): Remove INTDEF.
* sysdeps/unix/sysv/aix/fork.c (__fork): Likewise.
* sysdeps/unix/sysv/linux/ia64/fork.S (__fork_internal): Remove alias.
* sysdeps/unix/sysv/linux/sparc/fork.S (__fork_internal): Likewise.
* sysdeps/unix/sysv/linux/syscalls.list (__fork_internal): Likewise.
2002-06-20 Ulrich Drepper <drepper@redhat.com>
* po/hr.po: New file.
2002-06-11 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c: Fix error path when new_heap() returns NULL.
Reported by Michael Meissner <meissner@redhat.com>.
2002-06-20 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/getcontext.S: Fix typo.
Patch by Hans Boehm <hans_boehm@hp.com>.
|
|
2002-05-11 Jakub Jelinek <jakub@redhat.com>
* include/netinet/in.h (bindresvport_internal): Add prototype.
* include/rpc/auth.h (authunix_create_internal,
authunix_create_default_internal, authnone_create_internal,
authdes_pk_create_internal): Add prototypes.
* include/rpc/clnt.h (clnt_create_internal, clnttcp_create_internal,
clntudp_create_internal, clntudp_bufcreate_internal,
clntunix_create_internal): Add prototypes.
* include/rpc/svc.h (svc_sendreply_internal, svcerr_decode_internal,
svc_getreq_internal, svc_getreq_common_internal,
svc_getreqset_internal, svc_getreq_poll_internal,
svc_register_internal, svc_unregister_internal,
svcudp_create_internal, svcudp_bufcreate_internal): Add prototypes.
* include/rpc/svc_auth.h (_authenticate_internal): Add prototype.
* include/sys/socket.h (__sendto, __recvfrom, __sendmsg, __recvmsg,
__setsockopt, __getsockname, __bind, __listen): Add prototypes.
* inet/rexec.c (rexec_af): Use __listen and __getsockname.
* inet/rcmd.c (rcmd_af): Use __listen.
(rresvport_af): Use __bind.
* sunrpc/clnt_udp.c: Use INTUSE calls to bindresvport,
authunix_create, authunix_create_default, authnone_create,
authdes_pk_create, clnt_create, clnttcp_create, clntudp_create,
clntudp_bufcreate, clntunix_create svc_sendreply, svcerr_decode,
svc_getreq, svc_getreq_common, svc_getreqset, svc_getreq_poll,
svc_register, svc_unregister, svcudp_create, svcudp_bufcreate,
_authenticate, add INTDEF after such function definitions.
Use __listen, __bind, __sendto, __recvfrom, __sendmsg, __recvmsg,
__setsockopt, __getsockname instead of non-__ variants.
* sunrpc/pmap_rmt.c: Likewise.
* sunrpc/rtime.c: Likewise.
* sunrpc/svc_udp.c: Likewise.
* sunrpc/clnt_unix.c: Likewise.
* sunrpc/svc_unix.c: Likewise.
* sunrpc/bindrsvprt.c: Likewise.
* sunrpc/svc_tcp.c: Likewise.
* sunrpc/auth_none.c: Likewise.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/key_call.c: Likewise.
* sunrpc/clnt_gen.c: Likewise.
* sunrpc/pm_getmaps.c: Likewise.
* sunrpc/clnt_simp.c: Likewise.
* sunrpc/pmap_clnt.c: Likewise.
* sunrpc/svc_run.c: Likewise.
* sunrpc/svc.c: Likewise.
* sunrpc/svc_simple.c: Likewise.
* sunrpc/pm_getport.c: Likewise.
* sunrpc/auth_des.c: Likewise.
* sunrpc/svc_auth.c: Likewise.
* sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases,
__register_frame_info_table_bases, __deregister_frame_info_bases):
Add INTDEF.
(__register_frame_info_bases_internal,
__register_frame_info_table_bases_internal,
__deregister_frame_info_bases_internal): Add prototypes.
(__register_frame_info, __register_frame): Use INTUSE in call to
__register_frame_info_bases.
(__register_frame_info_table): Similarly.
(__deregister_frame_info, __deregister_frame): Similarly.
* sysdeps/generic/sendto.c (__sendto): Renamed from sendto, add
sendto as weak alias.
* sysdeps/mach/hurd/sendto.c: Likewise.
* sysdeps/generic/recvfrom.c (__recvfrom): Renamed from recvfrom, add
recvfrom as weak alias.
* sysdeps/mach/hurd/recvfrom.c: Likewise.
* sysdeps/unix/sysv/aix/recvfrom.c: Likewise.
* sysdeps/generic/recvmsg.c (__recvmsg): Renamed from recvmsg, add
recvmsg as weak alias.
* sysdeps/unix/sysv/aix/recvmsg.c: Likewise.
* sysdeps/generic/sendmsg.c (__sendmsg): Renamed from sendmsg, add
sendmsg as weak alias.
* sysdeps/unix/sysv/aix/sendmsg.c: Likewise.
* sysdeps/generic/setsockopt.c (__setsockopt): Renamed from
setsockopt, add setsockopt as weak alias.
* sysdeps/mach/hurd/setsockopt.c: Likewise.
* sysdeps/generic/bind.c (__bind): Renamed from bind, add bind as
weak alias.
* sysdeps/mach/hurd/bind.c: Likewise.
* sysdeps/generic/listen.c (__listen): Renamed from listen, add listen
as weak alias.
* sysdeps/mach/hurd/listen.c: Likewise.
* sysdeps/generic/getsockname.c (__getsockname): Renamed from
getsockname, add getsockname as weak alias.
* sysdeps/mach/hurd/getsockname.c: Likewise.
* sysdeps/unix/sysv/aix/getsockname.c: Likewise.
* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Add weak alias.
* sysdeps/mach/hurd/sendmsg.c (__sendmsg): Add weak alias.
* sysdeps/unix/inet/syscalls.list (__bind, __listen, __recvmsg,
__recvfrom, __sendmsg, __sendto, __setsockopt): Add aliases.
* sysdeps/unix/sysv/linux/alpha/syscalls.list (__recvmsg, __sendmsg):
Add aliases.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/recvfrom.S (__recvfrom): Add weak alias.
* sysdeps/unix/sysv/linux/recvmsg.S (__recvmsg): Likewise.
* sysdeps/unix/sysv/linux/sendmsg.S (__sendmsg): Likewise.
* sysdeps/unix/sysv/linux/sendto.S (__sendto): Likewise.
* sysdeps/unix/sysv/linux/setsockopt.S (__setsockopt): Likewise.
* sysdeps/unix/sysv/linux/bind.S (__bind): Likewise.
* sysdeps/unix/sysv/linux/listen.S (__listen): Likewise.
* sysdeps/unix/sysv/linux/getsockname.S (__getsockname): Likewise.
2002-05-10 Jakub Jelinek <jakub@redhat.com>
* locale/programs/localedef.h (show_archive_content): Add verbose
argument.
* locale/programs/localedef.c (main): Adjust caller.
* locale/programs/locarchive.c (struct nameent, struct dataent): New.
(nameentcmp, dataentcmp): New functions.
(xstrcmp): Remove.
(show_archive_content): Print verbose listing with --list-archive -v.
* locale/programs/locarchive.c (open_archive): Take extra argument
readonly. If true open file with O_RDONLY and don't create the
archive if it doesn't exist.
Adapt all callers.
(close_archive): Don't do anything if fd element is -1.
* locale/programs/localedef.h (open_archive): Adjust prototype.
* locale/programs/locfile.c (write_all_categories): Adjust open_archive
call.
* malloc/malloc.c (__posix_memalign): Correct check for size of
alignment value [PR libc/3444].
|
|
2002-04-02 Jakub Jelinek <jakub@redhat.com>
* inet/ether_ntoh.c (__nss_ethers_lookup): Add internal_function.
* inet/ether_hton.c (__nss_ethers_lookup): Likewise.
* inet/getnetgrent_r.c (__nss_netgroup_lookup): Likewise.
* sunrpc/netname.c (__nss_publickey_lookup): Likewise.
* sunrpc/publickey.c (__nss_publickey_lookup): Likewise.
2002-03-30 Jakub Jelinek <jakub@redhat.com>
* elf/dynamic-link.h (elf_get_dynamic_info): Don't abort on unknown
dynamic tags.
2002-03-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/fpu/s_fabs.S: New file.
* sysdeps/i386/fpu/s_fabsf.S: New file.
* sysdeps/i386/fpu/s_fabsl.S: New file.
* sysdeps/sparc/sparc64/fpu/s_fabs.c: New file.
* sysdeps/sparc/sparc64/fpu/s_fabsf.c: New file.
* sysdeps/sparc/sparc64/fpu/s_fabsl.c: New file.
2002-04-02 Ulrich Drepper <drepper@redhat.com>
* rt/tst-shm.c (do_test): Add one more test for size of shared
memory object.
2002-03-29 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c: Add short description and prototypes for
malloc_get_state, malloc_set_state and posix_memalign, for
consistency and to avoid warnings with -Wstrict-prototypes.
Reported by Andreas Jaeger <aj@suse.de>.
2002-04-02 Ulrich Drepper <drepper@redhat.com>
* po/gl.po: Update from translation team.
|
|
2002-03-13 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed.
2002-03-02 Andreas Schwab <schwab@suse.de>
* stdio-common/vfprintf.c (process_arg): Fix decimal format with
'h' flag and positional arg.
* stdio-common/tst-printf.c (rfg3): New function to test
positional arguments.
(main): Fix some warnings.
2002-03-13 Jakub Jelinek <jakub@redhat.com>
* elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED.
* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.
|
|
* stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden.
(_itowa_upper_digits): Likewise.
* libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden.
* libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare
as hidden.
* libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps,
_IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps,
_IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal,
_IO_wfile_jumps_internal, and _IO_list_all_internal as hidden.
* gmon/gmon.c (__bb_head): Define as hidden.
* gmon/bb_exit_func.c (__bb_head): Declare as hidden.
* argp/argp-parse.c (_argp_hang): Define as static.
* include/libc-symbols.h (_INTVARDEF): Adjust for visibility
handling in latest compilers.
* inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to
define alias.
* libio/fileops.c (_IO_file_jumps): Likewise.
* libio/stdfiles.c (_IO_list_all): Likewise.
* libio/wfileops.c (_IO_wfile_jumps): Likewise.
* malloc/malloc.h: Move __libc_malloc_initialized declaration to
include/malloc.h.
* include/malloc.h: Add __libc_malloc_initialized declaration
here. Mark variable hidden.
* malloc/malloc.c: Include <malloc.h> not "malloc.h".
* elf/dl-open.c (__libc_argc): Declare as hidden.
(__libc_argv): Likewise.
* sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden.
(__libc_argv): Likewise.
* sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and
__libc_argv as hidden.
* sysdeps/mach/hurd/mips/init-first.c: Likewise.
* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
* sysdeps/unix/sysv/aix/init-first.c: Likewise.
* sysdeps/unix/sysv/linux/init-first.c: Likewise.
|
|
* malloc/malloc.c [! HAVE_MREMAP]: Likewise.
|
|
2002-01-18 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c: Rewrite, adapted from Doug Lea's malloc-2.7.0.c.
* malloc/malloc.h: Likewise.
* malloc/arena.c: New file.
* malloc/hooks.c: New file.
* malloc/tst-mallocstate.c: New file.
* malloc/Makefile: Add new testcase tst-mallocstate.
Add arena.c and hooks.c to distribute. Fix commented CPPFLAGS.
2002-01-28 Ulrich Drepper <drepper@redhat.com>
* stdlib/msort.c: Remove last patch. The optimization violates the
same rule which qsort.c had problems with.
2002-01-27 Paul Eggert <eggert@twinsun.com>
* stdlib/qsort.c (_quicksort): Do not apply the comparison function
to a pivot element that lies outside the array to be sorted, as
ISO C99 requires that the comparison function be called only with
addresses of array elements [PR libc/2880].
|
|
2001-09-18 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (ptmalloc_init): Handle _environ==NULL.
Reported by B. D. Elliott <bde@nwlink.com> [PR libc/2541].
2001-09-18 Andreas Schwab <schwab@suse.de>
* elf/dl-load.c (_dl_map_object_from_fd): Update handling of scope
list, now that l_scope is a pointer.
* elf/dl-open.c (dl_open_worker): Fix thinko when enlarging the
scope list.
2001-09-18 kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix reverse condition.
(elf_machine_rela_relative): Add a missing declaration.
2001-09-18 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New.
* sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New.
* sysdeps/unix/sysv/linux/configure.in: Add ia64 and s390
ldd-rewrite scripts.
2001-09-18 Ulrich Drepper <drepper@redhat.com>
* elf/ldd.bash.in: Update copyright message.
2001-09-17 H.J. Lu <hjl@gnu.org>
* hurd/hurdmalloc.c (bcopy): Removed.
(realloc): Replace bcopy with memcpy.
* hurd/path-lookup.c (file_name_path_scan): Likewise.
* resolv/gethnamaddr.c (map_v4v6_address): Likewise.
* sunrpc/rpcinfo.c (pmapdump): Likewise.
* resolv/gethnamaddr.c (getanswer): Replace bcopy with memmove.
(gethostbyaddr): Likewise.
* sunrpc/rpcinfo.c (get_inet_address): Likewise.
2001-09-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/gnu/eval.c: Removed.
|
|
* string/bits/string2.h: Remove strnlen optimization here.
* sysdeps/i386/i486/bits/string.h: Add it here.
2001-08-21 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c: Make access to ..._hook pointers thread-safe.
2001-08-21 Ulrich Drepper <drepper@redhat.com>
|
|
2001-08-11 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (ptmalloc_init): Don't call getenv five times.
Instead use new function next_env_entry which iterates over the
environment once.
* sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Only set
_dl_profile_map for the right object.
* elf/dl-reloc.c (_dl_relocate_object): Allocate l_reloc_result
only if consider_profiling is != 0, not if _dl_profile != NULL.
* sysdeps/generic/dl-environ.c (_dl_next_ld_env_entry): Optimize a bit.
Now returns pointer to first character set "LD_".
* elf/rtld.c (process_envvars): Adjust for change above.
* sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
Likewise.
2001-08-10 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (grow_heap): Use mmap() rather than mprotect()
to allocate new memory, for better performance with Linux-2.4.x.
|
|
2001-07-18 Ulrich Drepper <drepper@redhat.com>
* libio/filedoalloc.c (_IO_file_doallocate): A few more minor
cleanups and improvements.
2001-07-18 Andreas Schwab <schwab@suse.de>
* posix/regex.c (WORDCHAR_P) [WCHAR]: Also return true for the
underscore character.
2001-07-18 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc (new_heap): Don't call munmap for zero length.
2001-07-18 Ulrich Drepper <drepper@redhat.com>
* libio/filedoalloc.c (_IO_file_doallocate): Use DEV_TTY_P if
available to determine whether descriptor is for tty before
calling isatty.
* sysdeps/unix/sysv/linux/device-nrs.h: Define DEV_TTY_P.
* sysdeps/generic/device-nrs.h: Likewise.
|
|
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-06-22 Jakub Jelinek <jakub@redhat.com>
* posix/regex.c (regex_compile, re_match_2_internal): Fix comment
typos.
2001-06-01 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (malloc_atfork, free_atfork): Use a unique value
ATFORK_ARENA_PTR, not 0, for the thread-specific arena pointer
when malloc_atfork is in use.
|
|
2001-04-25 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c: Allow MALLOC_ALIGNMENT to be defined on the
compiler command line.
* sysdeps/hppa/Makefile: Add -DMALLOC_ALIGNMENT=16 to compiler
command line for malloc.c.
|
|
2001-02-14 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (new_heap): When allocating large chunk aligned
to HEAP_MAX_SIZE, prefer one with lower address, to avoid `holes'
between the heaps.
|
|
2001-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/powerpc/mmap64.c: Correctly mask offset.
2001-01-21 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c: Remove a few unnecessary initializers of global
variables.
|
|
2000-12-28 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (MALLOC_COPY): Handle case if source and
destination overlap. Assume dest is always below source if
overlapping.
|
|
instead of MALLOC_COPY if source and destination might overlap.
|
|
2000-09-19 H.J. Lu <hjl@gnu.org>
* malloc/malloc.h (__memalign_hook): Fix the parameter order.
* malloc/malloc.c (__memalign_hook): Likewise.
(memalign_hook_ini): Likewise.
|
|
2000-09-26 Thorsten Kukuk <kukuk@suse.de>
* nscd/dbg_log.c (dbg_log): Add missing format string.
* catgets/catgets.c (catopen): Use getenv instead of __secure_getenv
since we filter out the variable once.
* iconv/gconv_conf.c (__gconv_get_path): Likewise.
* locale/newlocale.c (__newlocale): Likewise.
* locale/setlocale.c (setlocale): Likewise.
* malloc/malloc.c (ptmalloc_init): Likewise.
* resolv/res_hconf.c (_res_hconf_init): Likewise.
* resolv/res_init.c (__res_vinit): Likewise.
* time/tzfile.c (__tzfile_read): Likewise.
* sysdeps/generic/unsecvars.h: New file.
* elf/dl-support.c (non_dynamic_init): Use it here to remove variables.
* elf/rtld.c (process_envvars): Likewise.
* elf/Makefile (distribute): Add unsecvars.h.
|
|
2000-08-31 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (ptmalloc_init): Optimize a bit by not calling
__secure_getenv. Instead test __libc_enable_secure once.
* io/pwd.c (main): Provide a good example, use *_unlocked function.
|
|
* argp/argp-help.c: Unify use of function aliases to make more compact
PLT.
* include/libintl.h: Likewise.
* inet/rcmd.c: Likewise.
* intl/dcigettext.c: Likewise.
* libio/iofputws.c: Likewise.
* libio/iofputws_u.c: Likewise.
* libio/iogetwline.c: Likewise.
* libio/swprintf.c: Likewise.
* malloc/malloc.c: Likewise.
* nss/digits_dots.c: Likewise.
* posix/fnmatch.c: Likewise.
* posix/spawn_faction_addclose.c: Likewise.
* posix/spawn_faction_adddup2.c: Likewise.
* posix/spawn_faction_addopen.c: Likewise.
* posix/spawni.c: Likewise.
* posix/wordexp.c: Likewise.
* posix/spawni.c: Likewise.
* resolv/res_hconf.c: Likewise.
* resolv/res_init.c: Likewise.
* shadow/lckpwdf.c: Likewise.
* signal/sighold.c: Likewise.
* signal/sigrelse.c: Likewise.
* stdio-common/printf-parse.h: Likewise.
* stdio-common/printf-prs.c: Likewise.
* stdio-common/printf_fp.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
* stdio-common/vfscanf.c: Likewise.
* stdlib/rpmatch.c: Likewise.
* sunrpc/create_xid.c: Likewise.
* sunrpc/key_call.c: Likewise.
* sysdeps/generic/setrlimit64.c: Likewise.
* sysdeps/generic/utmp_file.c: Likewise.
* sysdeps/generic/vlimit.c: Likewise.
* sysdeps/posix/posix_fallocate.c: Likewise.
* sysdeps/posix/posix_fallocate64.c: Likewise.
* sysdeps/posix/sigpause.c: Likewise.
* sysdeps/posix/sigset.c: Likewise.
* sysdeps/unix/grantpt.c: Likewise.
* sysdeps/unix/bsd/ualarm.c: Likewise.
* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
* sysdeps/unix/sysv/linux/getloadavg.c: Likewise.
* sysdeps/unix/sysv/linux/ttyname.c: Likewise.
* sysdeps/unix/sysv/linux/ulimit.c: Likewise.
* time/strftime.c: Likewise.
* wcsmbs/wcscoll.c: Likewise.
* wcsmbs/wcsxfrm.c: Likewise.
* sysdeps/powerpc/fpu_control.h (_FPU_GETCW): Allow gcc to generate
postinc/predec instruction.
|
|
* malloc/mtrace.pl (usage): Inform about --help.
2000-08-19 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (new_heap): try harder to get an aligned chunk of
size HEAP_MAX_SIZE.
2000-08-19 Andreas Jaeger <aj@suse.de>
* shlib-versions: Remove libnss_db, libdb and libdb1.
2000-08-19 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/readdir.c: Move...
* sysdeps/unix/sysv/linux/ia64/readdir.c: ...here and
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: ...here.
* sysdeps/unix/sysv/linux/alpha/readdir_r.c: Move...
* sysdeps/unix/sysv/linux/ia64/readdir_r.c: ...here and
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: ...here.
* sysdeps/unix/sysv/linux/alpha/readdir64.c: Remove.
* sysdeps/unix/sysv/linux/alpha/readdir64_r.c: Remove.
* sysdeps/unix/sysv/linux/alpha/getdents64.c: Remove.
* sysdeps/unix/sysv/linux/alpha/getdents.c: Only use for non-LFS
getdents.
* sysdeps/unix/sysv/linux/readdir64.c: Remove versioning.
* sysdeps/unix/sysv/linux/readdir64_r.c: Likewise.
2000-08-18 Jakub Jelinek <jakub@redhat.com>
* include/glob.h (__glob64): Add prototype.
* sysdeps/generic/glob.c: If GLOB_ONLY_P is defined, only
define glob and glob_in_dir.
* sysdeps/unix/sysv/linux/i386/Versions: Add glob64@@GLIBC_2.2.
* sysdeps/unix/sysv/linux/arm/Versions: Likewise.
* sysdeps/unix/sysv/linux/powerpc/Versions: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
* sysdeps/unix/sysv/linux/i386/glob64.c: New file.
* sysdeps/unix/sysv/linux/arm/glob64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/glob64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c: New file.
2000-08-18 Jakub Jelinek <jakub@redhat.com>
* malloc/Makefile (memusage): libmemusage.so is installed in slibdir.
2000-08-17 Andreas Jaeger <aj@suse.de>
* math/test-fenv.c (fe_single_test): New function.
(fe_env_tests): Use fe_single_test.
(feenable_test): New tests for feenable/fedisable and
fegetexcpetions.
(feexcp_mask_test): New function.
(feexcp_nomask_test): New function.
2000-08-19 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/fpu/fenv_libc.h: New file.
* sysdeps/alpha/fpu/fclrexcpt.c: Use it.
* sysdeps/alpha/fpu/fegetenv.c: Likewise.
* sysdeps/alpha/fpu/fesetround.c: Likewise.
* sysdeps/alpha/fpu/fegetround.c: Likewise.
* sysdeps/alpha/fpu/fgetexcptflg.c: Likewise.
* sysdeps/alpha/fpu/fraiseexcpt.c: Likewise.
* sysdeps/alpha/fpu/ftestexcept.c: Likewise.
* sysdeps/alpha/fpu/fedisblxcpt.c: Likewise. Use the smaller mask.
* sysdeps/alpha/fpu/feenablxcpt.c: Likewise.
* sysdeps/alpha/fpu/fegetexcept.c: Likewise.
* sysdeps/alpha/fpu/feholdexcpt.c: Retain the SWCR_MAP bits.
* sysdeps/alpha/fpu/fesetenv.c: Likewise.
* sysdeps/alpha/fpu/feupdateenv.c: Likewise.
* sysdeps/alpha/fpu/fsetexcptflg.c: Likewise.
* sysdeps/alpha/fpu/bits/fenv.h (FE_DENORMAL): New.
(FE_MAP_DMZ, FE_MAP_UMZ, FE_NONIEEE_ENV): New.
2000-08-19 Andreas Jaeger <aj@suse.de>
|
|
2000-07-29 Greg McGary <greg@mcgary.org>
* Rules (test-bp-inputs, make-test-out): New variables.
($(objpfx)%-bp.out): New rule.
($(objpfx)%.out): Rewrite in terms of new variables.
* libio/iovswscanf.c (vswscanf): Pass _IO_FILE_plus pointer to
internal function that uses vtable.
* libio/vsnprintf.c (_IO_vsnprintf): Likewise.
* libio/vswprintf.c (_IO_vswprintf): Likewise.
* malloc/malloc.c (mem2chunk): Define in terms of chunk_at_offset.
(malloc_extend_top): Convert brk to chunk using chunk_at_offset.
(chunk_align): Likewise.
* time/asctime.c (ab_day_name, ab_month_name): Rewrite expression
in a way that conforms to decl, and avoids spurious bounds violation.
* sysdeps/arm/frame.h (struct layout): Make pointers __unbounded.
* sysdeps/generic/frame.h: Likewise.
* sysdeps/generic/backtrace.c (ADVANCE_STACK_FRAME): Wrap bounds
around return value.
(__backtrace): Qualify frame-pointer chain and return address
pointers as __unbounded. Wrap bounds around variable `current'.
* sysdeps/generic/segfault.c (ADVANCE_STACK_FRAME): Wrap bounds
around return value.
(catch_segfault): Qualify frame-pointer chain and return address
pointers as __unbounded. Wrap bounds around variable `current'.
* sysdeps/i386/backtrace.c (struct layout): Make pointers __unbounded.
(ADVANCE_STACK_FRAME): Wrap bounds around return value.
* sysdeps/powerpc/backtrace.c (struct layout): Make pointers __unbounded.
(__backtrace): Qualify frame-pointer chain and return address
pointers as __unbounded. Wrap bounds around variable `current'.
* sysdeps/i386/addmul_1.S: s2_limb is scalar so remove bounds check.
* sysdeps/i386/mul_1.S: Likewise.
* sysdeps/i386/submul_1.S: Likewise.
* sysdeps/i386/i586/addmul_1.S: Likewise.
* sysdeps/i386/i586/mul_1.S: Add bounds checks.
* sysdeps/i386/i586/submul_1.S: Likewise.
|
|
|
|
2000-07-26 Greg McGary <greg@mcgary.org>
* Makeconfig (+link-bounded, link-libc-bounded,
link-extra-libs-bounded): New variables.
(built-program-cmd): Omit $(run-program-prefix) for static BP tests.
* Makerules (do-tests-clean, common-mostlyclean): Remove BP test files.
* Rules (tests-bp.out): New variable.
(tests): Conditionally add BP tests.
(binaries-bounded): Add variable and associated rule.
* csu/Makefile [build-bounded] (extra-objs, install-lib):
Move conditional stuff after place where condition is defined.
* malloc/malloc.c (bp-checks.h): Add #include.
(mem2chunk, chunk_at_offset, bin_at): Wrap BOUNDED_1 around expression.
(_bin_at): Add unbounded version of bin_at.
(IAV, chunk_alloc): Use unbounded _bin_at.
(mALLOc, rEALLOc, chunk_realloc, mEMALIGn, cALLOc,
chunk2mem_check, realloc_check, malloc_starter, malloc_atfork):
Wrap BOUNDED_N around return value.
(chunk_realloc): Adjust oldsize once.
* sysdeps/generic/bp-checks.h (__memchr): Remove incorrect decl.
(__ubp_memchr): Add correct decl.
(_CHECK_STRING): Use __ubp_memchr.
* sysdeps/alpha/memchr.S [!__BOUNDED_POINTERS__] (__ubp_memchr):
New alias for unbounded-pointer __memchr.
* sysdeps/i386/memchr.S: Likewise.
* sysdeps/ia64/memchr.S: Likewise.
* sysdeps/m68k/memchr.S: Likewise.
* sysdeps/sparc/sparc32/memchr.S: Likewise.
* sysdeps/sparc/sparc64/memchr.S: Likewise.
* sysdeps/vax/memchr.s: Likewise.
* sysdeps/i386/strtok.S: Fix bounds checks to pass tests.
(SAVE_PTR): New macro. (save_ptr): Expand size as BP.
(strtok): Don't bother to write into SAVE_PTR when returning NULL.
* sysdeps/i386/i686/strtok.S: Likewise.
* sysdeps/i386/bp-asm.h (RETURN_BOUNDED_POINTER,
RETURN_NULL_BOUNDED_POINTER): Use %ecx as the scratch register.
* sysdeps/i386/bits/string.h [!__BOUNDED_POINTERS__]: Disable inlines.
* sysdeps/i386/i486/bits/string.h [!__BOUNDED_POINTERS__]: Likewise.
* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Copy
bounds of copy_result to mount_proc.
|
|
2000-07-21 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (chunk_alloc): Try mmap_chunk() for smaller
allocations only if a non-main arena cannot be extended.
* sysdeps/powerpc/bp-asm.h (DISCARD_BOUNDS): Rename from
UNCHECK_BOUNDS.
|
|
set_inuse_bit_at_offset, clear_inuse_bit_at_offset, set_foot):
Define in terms of chunk_at_offset.
(inuse, set_inuse, clear_inuse): Define in terms of next_chunk.
(next_bin, prev_bin): offset by size of real array elements.
(chunk_align): Make `m' a scalar, since that's how it's used.
* malloc/malloc.c (next_chunk, prev_chunk, inuse_bit_at_offset,
set_inuse_bit_at_offset, clear_inuse_bit_at_offset, set_foot):
Define in terms of chunk_at_offset.
(inuse, set_inuse, clear_inuse): Define in terms of next_chunk.
(next_bin, prev_bin): offset by size of real array elements.
(chunk_align): Make `m' a scalar, since that's how it's used.
2000-07-21 Greg McGary <greg@mcgary.org>
|
|
2000-07-18 Kaz Kylheku <kaz@ashi.footprints.net>
* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Fixed
bug whereby thr field of waitnode structure would not be correctly
set unless a null self pointer is passed to the functions.
Eliminated redundant calls to thread_self().
|
|
2000-07-17 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): Initialize the __data
field of struct __gconv_trans_data differently. Don't pass NULL to
trans_init_fct. Simplify list append operation.
2000-07-14 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (dcigettext): Call plural_eval on all platforms,
not only those having tsearch.
2000-07-17 Ulrich Drepper <drepper@redhat.com>
* locale/langinfo.h: Add placeholder values in enum for removed
LC_CTYPE entries.
2000-07-17 Jakub Jelinek <jakub@redhat.com>
* elf/dl-addr.c (_dl_addr): Keep searching in the _dl_loaded
chain if the PHDR check fails.
2000-07-17 Mark Kettenis <kettenis@gnu.org>
* nss/getent.c (print_hosts): Make sure we always print a space
between numeric addresses and hostnames.
2000-07-17 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (chunk_alloc): Use mmap_chunk() only if allowed,
i.e. if n_mmaps_max>0.
2000-07-16 Mark Kettenis <kettenis@gnu.org>
* resolv/netdb.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Adjust
values to remove possible clash with other AI_* constants.
(AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST): Define as
hexadecimal constants to stress the fact they're in fact
bit flags.
2000-07-15 Mark Kettenis <kettenis@gnu.org>
* nss/getXXent_r.c [NEED__RES]: Include <resolv.h>.
(SETFUNC_NAME, ENDFUNC_NAME, REENTRANT_GETNAME): Use res_ninit
instead of res_init.
|
|
2000-06-28 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (chunk_alloc): If extension of the linear heap
fails, try mmap_chunk() as a last resort even though n_mmaps_max
may have been reached.
|
|
* csu/Makefile (routines): Add check_fds.
* elf/rtld.c (dl_main): Call __libc_check_standard_fds for SUID
binaries. Add various __builtin_expect.
* sysdeps/generic/libc-start.c: Move check_fds and helper functions...
* sysdeps/generic/check_fds.c: ...here. New file.
* malloc/malloc.c (ptmalloc_init): Only enable debugging for SUID
binaries if file /etc/suid-debug is available.
|
|
|
|
* malloc/malloc.c: Undo all of today's changes.
|
|
* locale/programs/locale.c (show_info): Don't try to look into
data for LC_ALL (there is none).
|
|
* malloc/malloc.c (cALLOc): Clear only what the user asked for and
avoid writing over boundary.
Patch by Greg McGary <gkm@eng.ascend.com>.
|
|
2000-03-29 Jes Sorensen <jes@pcatls01.cern.ch>
* malloc/malloc.c: Declare bit flags UL so that they will not
default to int size when being inverted.
2000-03-29 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/arm/errlist.c: Use shlib-compat macros.
* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
2000-03-29 Andreas Jaeger <aj@suse.de>,
Ralf Baechle <ralf@uni-koblenz.de>
* Makeconfig: Introduce new variable SHARED to mark code used in
the shared library.
* elf/dl-close.c: Use it instead of PIC.
* elf/dl-load.c: Likewise.
* elf/dl-open.c: Likewise.
* hurd/geteuids.c: Likewise.
* include/libc-symbols.h: Likewise.
* include/shlib-compat.h: Likewise.
* libio/freopen.c: Likewise.
* linuxthreads/cancel.c: Likewise.
* linuxthreads/pthread.c: Likewise.
* linuxthreads/wrapsyscall.c: Likewise.
* nss/nsswitch.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
* sysdeps/arm/init-first.c: Likewise.
* sysdeps/i386/init-first.c: Likewise
* sysdeps/generic/init-first.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* sysdeps/mips/init-first.c: Likewise.
* sysdeps/powerpc/elf/libc-start.c: Likewise.
* sysdeps/unix/sysv/linux/init-first.c: Likewise.
* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
* sysdeps/unix/sysv/linux/arm/errlist.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
* sysdeps/mips/machine-gmon.h (asm): Use __PIC__ as check.
|
|
2000-02-21 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/bits/in.h (IPV6_RXSRCRT): Renamed to
IPV6_RTHDR; added IPV6_RTHDR_LOOSE, IPV6_RTHDR_STRICT and
IPV6_RTHDR_TYPE_0 to synch with RFC 2292.
* sysdeps/generic/bits/in.h: Likewise.
2000-02-21 Ulrich Drepper <drepper@redhat.com>
* po/gl.po: Update from translation team.
* timezone/antarctica: Update from tzdata2000b.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/europe: Likewise.
* malloc/malloc.c (vALLOc): Call ptmalloc_init before mEMALIGn
call to initialize malloc_getpagesize.
(pvALLOc): Likewise.
|
|
1999-12-09 Andreas Jaeger <aj@suse.de>
* nis/nss_compat/compat-pwd.c (internal_getpwuid_r): Always set
errno to ENOENT when returning NSS_STATUS_NOTFOUND.
Reported by Christian Starkjohann <cs@obdev.at>.
1999-12-09 Andreas Jaeger <aj@suse.de>
* sysdeps/i386/fpu/libm-test-ulps: Added some ulps.
1999-12-09 Jakub Jelinek <jakub@redhat.com>
* stdlib/longlong.h: Update from latest egcs version.
* sysdeps/sparc/fpu/fegetenv.c: Add semicolons.
* sysdeps/unix/sysv/linux/bits/errno.h (__errno_location): __THROW
has to preceede __attribute__, otherwise g++ barfs.
* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Make things compile
on sparc64-*-linux.
* sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h: Changed to
use sigcontext.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h: Likewise.
1999-12-05 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (arena_get2): If generating a new arena fails,
try to generate a minimal one and hope for mmap_chunk() to succeed
later.
1999-11-07 Wolfram Gloger <wg@malloc.de>
* malloc/thread-m.h [NO_THREADS]: The mutex_* macros now let
mutex_t work as an `in-use' flag even without threads.
* malloc/malloc.c (USE_ARENAS): New feature flag, controls support
for multiple arenas separately from NO_THREADS.
(mALLOc, chunk_realloc, mEMALIGn, cALLOc) [USE_ARENAS]: try to
fall back to an mmap()ed arena when sbrk() has failed.
|
|
1999-09-24 Andreas Jaeger <aj@suse.de>
* stdio-common/tst-printf.c (main): Add a testcase for large
precision. Reported by Tymm Twillman <tymm@coe.missouri.edu>.
1999-09-24 Andreas Schwab <schwab@suse.de>
* math/bits/mathcalls.h: Fix last change. Also declare __finite.
1999-09-24 Andreas Jaeger <aj@suse.de>
* intl/finddomain.c (_nl_find_domain): Fix memory leak: Free
normalized_codeset. Reported by Belicky Zsolt <zsolt@prolan.hu>.
1999-09-23 Mark Kettenis <kettenis@gnu.org>
* sysdeps/unix/sysv/linux/Makefile [malloc] (CFLAGS-malloc.c): New
variable. Define MORECORE_CLEARS to 2.
* malloc/malloc.c (cALLOc): Correctly handle systems where sbrk
doesn't clear the contents of memory that is reallocated after
decrementing the break value first. Update comment about
MORECORE_CLEARS, explaining the meaning of the values it can be
set to.
|
|
1999-08-28 Ulrich Drepper <drepper@cygnus.com>
* malloc/malloc.c (ptmalloc_init): Don't use variables to set
thresholds for SUID binaries. [PR libc/1277]
1999-08-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/install.texi (Running make install): Give examples for
timezone and locale installation.
1999-08-28 Zack Weinberg <zack@bitmover.com>
* glibcbug.in: Get CCVERSION from autoconf substitution.
* configure.in: Calculate and substitute CCVERSION.
1999-08-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Fix sa_flags,
partially reverting a patch from 1998-12-29. We just can't change
the flags, kernels with different flags lead to
incompatibilities.
|
|
1999-08-06 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/bits/socket.h: Fix typo (MSG_TRUNC ->
MSG_DONTWAIT).
|
|
1999-08-06 H.J. Lu <hjl@gnu.org>
* malloc/malloc.c: Initialize __libc_pagesize early.
|
|
1999-07-30 Ulrich Drepper <drepper@cygnus.com>
* malloc/malloc.c (ptmalloc_init): Correct last patch. The
assignment cannot be moved.
|
|
* malloc/malloc.c (ptmalloc_init): Also initialize __libc_pagesize
if no threads are used.
* libio/iofwrite.c: Add weak alias for _unlocked function if not
_IO_MTSAFE_IO.
* libio/iofread.c: Likewise.
* libio/iofgets.c: Likewise.
* libio/iofputs.c: Likewise.
* sysdeps/generic/bits/libc-lock.h (__libc_cleanup_end): New
definition.
|
|
* stdio-common/bug1.c: Include <stdlib.h> to get prototype for free.
* malloc/malloc.c: Add missing chunk of patch from 1999-07-04.
|