about summary refs log tree commit diff
path: root/malloc/malloc.c
Commit message (Collapse)AuthorAgeFilesLines
* Update.Ulrich Drepper2001-01-221-9/+9
| | | | | | | | | | | 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.
* Update.Ulrich Drepper2000-12-311-15/+21
| | | | | | | | 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.
* (memmove): Add prototypes. (MALLOC_MEMMOVE): Define. (chunk_realloc): Use it ↵Ulrich Drepper2000-12-271-0/+5
| | | | instead of MALLOC_COPY if source and destination might overlap.
* Update.Ulrich Drepper2000-09-291-5/+5
| | | | | | | | 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.
* Update.Ulrich Drepper2000-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2000-08-311-14/+15
| | | | | | | | | 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.
* Update.Ulrich Drepper2000-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Update.Ulrich Drepper2000-08-191-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Update.Greg McGary2000-07-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* (HAVE_MREMAP): Undo change of 1997-12-04.Ulrich Drepper2000-07-271-1/+1
|
* updateGreg McGary2000-07-261-23/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2000-07-221-3/+6
| | | | | | | | | | 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.
* * malloc/malloc.c (next_chunk, prev_chunk, inuse_bit_at_offset, Greg McGary2000-07-211-24/+20
| | | | | | | | | | | | | | | | 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>
* Update.Ulrich Drepper2000-07-181-6/+5
| | | | | | | | | 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().
* Update.Ulrich Drepper2000-07-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2000-06-281-3/+11
| | | | | | | | 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.
* Update.Ulrich Drepper2000-05-251-1/+1
| | | | | | | | | | | * 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.
* Implement posix_memalign for glibc.Ulrich Drepper2000-04-141-0/+23
|
* Update.Ulrich Drepper2000-04-121-1/+1
| | | | * malloc/malloc.c: Undo all of today's changes.
* Update.Ulrich Drepper2000-04-121-1/+1
| | | | | * locale/programs/locale.c (show_info): Don't try to look into data for LC_ALL (there is none).
* Update.Ulrich Drepper2000-04-121-1/+1
| | | | | | * malloc/malloc.c (cALLOc): Clear only what the user asked for and avoid writing over boundary. Patch by Greg McGary <gkm@eng.ascend.com>.
* Update.Ulrich Drepper2000-03-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2000-02-221-2/+7
| | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper1999-12-101-53/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper1999-09-251-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper1999-08-281-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper1999-08-061-1/+0
| | | | | | | 1999-08-06 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/bits/socket.h: Fix typo (MSG_TRUNC -> MSG_DONTWAIT).
* Update.Ulrich Drepper1999-08-061-4/+3
| | | | | | 1999-08-06 H.J. Lu <hjl@gnu.org> * malloc/malloc.c: Initialize __libc_pagesize early.
* Update.Ulrich Drepper1999-07-311-1/+3
| | | | | | | 1999-07-30 Ulrich Drepper <drepper@cygnus.com> * malloc/malloc.c (ptmalloc_init): Correct last patch. The assignment cannot be moved.
* Update.Ulrich Drepper1999-07-301-1/+3
| | | | | | | | | | | | | | * 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.
* Update.Ulrich Drepper1999-07-171-5/+2
| | | | | | * stdio-common/bug1.c: Include <stdlib.h> to get prototype for free. * malloc/malloc.c: Add missing chunk of patch from 1999-07-04.
* Update.Ulrich Drepper1999-07-071-0/+1
| | | | | | * sysdeps/generic/setenv.c: Describe problem. * malloc/malloc.c (request2size): Also set errno if failing.
* Update.Ulrich Drepper1999-07-071-1/+6
| | | | * malloc/malloc.c (request2size): Also set errno of failing.
* Update.Ulrich Drepper1999-07-071-2/+3
| | | | | * malloc/malloc.c (request2size): Take care of overflow in addition.
* Update.Ulrich Drepper1999-07-061-16/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-07-06 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/alpha/ioperm.c: Update for some more motherboards. Patch by Jay Estabrook. * sysdeps/unix/sysv/linux/configure.in: Don't test for libc4 in ldd for SPARC. * /sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed: New file. Patch by Cristian Gafton. 1999-07-02 Cristian Gafton <gafton@redhat.com> * sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): "return 0" instead of "return NULL" to make C++ happy. 1999-07-04 Mark Kettenis <kettenis@gnu.org> * libio/iofdopen.c (_IO_new_fdopen): Set EINVAL if MODE is not allowed by the file access mode of the open file. 1999-07-06 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/setfpucw.c: Include math.h to get all needed macros defined. 1999-07-03 Jakub Jelinek <jj@ultra.linux.cz> * sysdeps/sparc/sparc64/submul_1.S: Fix carry handling. Optimize. * sysdeps/sparc/sparc64/lshift.S: Make a leaf subroutine. Optimize. * sysdeps/sparc/sparc64/rshift.S: Likewise. * sysdeps/sparc/sparc64/mul_1.S: Optimize. 1999-07-04 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/malloc.c (request2size): Check for overflow and return NULL whenever it is encountered. 1999-07-04 Zack Weinberg <zack@rabi.columbia.edu> * sysdeps/posix/tempname.c (__gen_tempname): Add ability to create directories. Replace OPENIT and LARGEFILE args with a single flags parameter. * sysdeps/generic/tempname.c: Likewise. * include/stdio.h: Adjust prototype of __gen_tempname to match. Define symbolic constants for second argument. * misc/mkdtemp.c: New file, provides new function mkdtemp(). * stdlib/stdlib.h: Prototype it. * misc/Versions: Export it. * misc/Makefile (routines): Add mktemp. * manual/filesys.texi: Document it. * misc/mktemp.c: Adjust call of __gen_tempname to match new convention. * misc/mkstemp.c: Likewise. * stdio-common/tempnam.c: Likewise. * stdio-common/tmpfile.c: Likewise. * stdio-common/tmpfile64.c: Likewise. * stdio-common/tmpnam.c: Likewise. * stdio-common/tmpnam_r.c: Likewise. 1999-07-05 Jakub Jelinek <jj@ultra.linux.cz> * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Support R_SPARC_OLO10 relocations. * elf/elf.h (R_SPARC_OLO10): Fix comment.
* Update.Ulrich Drepper1999-06-061-1/+1
| | | | | | | | | 1999-06-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/libm-test.c (yn_test): Change one delta. (jn_test): Likewise. (j1_test): Likewise. (y0_test): Likewise.
* Update.Ulrich Drepper1999-06-061-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-06-06 Ulrich Drepper <drepper@cygnus.com> * malloc/malloc.c: Introduce local variable __libc_getpagesize to avoid multiple calls to getpagesize() which might be a syscall. 1999-06-06 Philip Blundell <philb@gnu.org> * stdio-common/tstscanf.c (main): Test the half-word format "%hd". 1999-06-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/install.texi (Running make install): Correct typo in dynamic linker invocation. 1999-06-05 Philip Blundell <philb@gnu.org> * sysdeps/arm/dl-machine.h (elf_machine_load_address): Fix problems with GOT addressing. 1999-06-05 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/malloc.c (check_action): Change into bitmap so that both diagnostic and abort can be requested by setting it to 3. (mALLOC_SET_STATe): Disable malloc checking if necessary.
* Update.Ulrich Drepper1999-05-171-25/+44
| | | | | | | | | | | | | | | | | | | 1999-05-16 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/malloc.c: Cleanup to bring in line with released stand-alone version `ptmalloc'. Update some comments. (internal_function): Move fallback definition so that the source compiles outside of libc, and use it in more places. (malloc_atfork): Fix when malloc_check is in use. 1999-05-16 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * stdlib/tst-strtod.c: Fix typo. 1999-05-16 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * elf/dl-close.c (_dl_close): Add cast to avoid warning about const incorrectness.
* Update.Ulrich Drepper1999-04-281-9/+9
| | | | | | | | | | | | * malloc/malloc.c (rEALLOc): Only free memory for size 0 if oldmem is != NULL. 1999-04-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * malloc/malloc.c (REALLOC_ZERO_BYTES_FREES): Define it to follow ISO C9x and Unix98. 1999-04-28 Ulrich Drepper <drepper@cygnus.com>
* Update.Ulrich Drepper1999-02-241-15/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-02-23 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * malloc/malloc.c (mALLOC_SET_STATe): Handle the case where a non-checked heap is restored when malloc checking was requested by the user. (struct malloc_state): Add using_malloc_checking. (MALLOC_STATE_VERSION): Increment minor. (using_malloc_checking, disallow_malloc_check): New variables. (__malloc_check_init): Use them. (mALLOC_GET_STATe): Use mALLOc to allocate the malloc_state, so that it can the chunk is properly instrumented when malloc checking is enabled. Set the new using_malloc_checking field. (malloc_hook_ini): Correct signature when _LIBC is not defined. 1999-02-23 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/unix/sysv/linux/i386/dl-librecon.h (DISTINGUISH_LIB_VERSIONS): Don't relocate DT_STRTAB a second time. * elf/rtld.c (dl_main): Rename paths_initialized to rtld_is_main. Don't call elf_get_dynamic_info and _dl_setup_hash a second time if ld.so is the main program. * stdio-common/vfprintf.c (vfprintf): If precision or width is too
* Update.Ulrich Drepper1998-11-041-9/+15
| | | | | | | 1998-11-04 Ulrich Drepper <drepper@cygnus.com> * malloc/malloc.c: Make sure calloc really returned zeroed memory. Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
* Update.Ulrich Drepper1998-08-281-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1998-08-28 09:22 Ulrich Drepper <drepper@cygnus.com> * elf/rtld.c (process_envvars): Fix copy&paste error. * malloc/malloc.c (malloc_hook_ini): Don't overwrite realloc and memalign hook. (realloc_hook_ini): Don't overwrite memalign hook. (memalign_hook_ini): Don't overwrite malloc and memalign hooks. Reported by Philippe Troin <phil@fifi.org>. * malloc/mcheck.c (mprobe): Call checkhdr with adjusted pointer. Patch by Philippe Troin <phil@fifi.org>. 1998-08-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/generic/segfault.c (install_handler): Protect the non-POSIX signals with #ifdef. (catch_segfault): Add missing mode parameter for open. * debug/catchsegv.sh: Avoid termination message from shell. Allow other termination signals. 1998-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * debug/Makefile (distribute): Add register-dump.h. 1998-08-28 10:41 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* 1998-08-12 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1998-08-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/mach/usleep.c: Include <unistd.h>. (usleep): Return void. 1998-08-11 Roland McGrath <roland@baalperazim.frob.com> * sysdeps/generic/if_index.c (struct if_freenameindex): Add forward decl to inhibit warning in if_freenameindex defn. * sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Remove unused variable. * sysdeps/mach/hurd/getdomain.c (getdomainname): Renamed from __ name. * sysdeps/mach/hurd/reboot.c: Include <sys/reboot.h>. * sysdeps/mach/hurd/getdents.c: Include <unistd.h>. * sysdeps/mach/hurd/sbrk.c: Include <unistd.h>. * sysdeps/mach/usleep.c: Likewise. * sysdeps/mach/hurd/bind.c (bind): Add a const. * sysdeps/mach/hurd/getdents.c (__getdirentries): Use prototype defn. * sysdeps/unix/bsd/init-posix.c (__init_posix): Likewise. * sysdeps/unix/bsd/times.c (timeval_to_clock_t): Likewise. * sysdeps/mach/hurd/reboot.c (reboot): Likewise. * sysdeps/mach/usleep.c (usleep): Likewise. * sysdeps/mach/hurd/chflags.c (chflags): Likewise. * sysdeps/mach/hurd/fchflags.c (fchflags): Likewise. * sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise. * sysdeps/mach/hurd/stdio_init.c (__stdio_init_stream): Likewise. 1998-08-11 Roland McGrath <roland@baalperazim.frob.com> * sysdeps/generic/glob64.c: Include <sys/types.h>, <glob.h>, <errno.h>. (glob64): Fix typo. * malloc/malloc.c (free_check, realloc_check): Don't cast to long for %p arg to fprintf, since `void *' is the right type already.
* Update. Old logs are in ChangeLog.7.Ulrich Drepper1998-08-111-2/+2
| | | | | | 1998-08-11 18:39 Ulrich Drepper <drepper@cygnus.com> * string/strsignal.c (strsignal): Count real-time signals from zero. See ChangeLog.8 for earlier changes.
* Update.Ulrich Drepper1998-08-031-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1998-08-03 16:36 Ulrich Drepper <drepper@cygnus.com> * catgets/catgets.c: Use mmap/munmap only is _POSIX_MAPPED_FILES is defined. * catgets/open_catalog.c: Likewise. * iconv/iconv_prog.c: Likewise. * intl/loadmsgcat.c: Likewise. * locale/findlocale.c: Likewise. * locale/loadlocale.c: Likewise. * locale/programs/localedef.c: Likewise. * malloc/malloc.c: Likewise. * elf/elf.h: Fix typo. * math/Makefile: Use $(LN_S) instead of ln. * sysdeps/generic/getpgid.c: Fix return type. 1998-08-01 02:49 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * sysdeps/posix/tempname.c (__stdio_gen_tempname): Rename to __gen_tempname and simplify the interface. Strip out the code to do path search and create FILE objects. This function now takes a mktemp() style template and returns either a name or a file descriptor. (__path_search): New function; searches for directories for temp files. * sysdeps/generic/tempname.c: Stub out __gen_tempname and __path_search, not __stdio_gen_tempname. * libio/stdio.h: Prototype __gen_tempname and __path_search, not __stdio_gen_tempname. * stdio/stdio.h: Likewise. * stdio-common/tempnam.c: Use __path_search and __gen_tempname. * stdio-common/tmpfile.c: Likewise. * stdio-common/tmpfile64.c: Likewise. * stdio-common/tmpnam.c: Likewise. * stdio-common/tmpnam_r.c: Likewise. * misc/mkstemp.c: New file. Use __gen_tempname. * misc/mktemp.c: Likewise. * sysdeps/posix/mkstemp.c: Removed. * sysdeps/posix/mktemp.c: Removed. * sysdeps/generic/mkstemp.c: Removed. * sysdeps/generic/mktemp.c: Removed. 1998-08-02 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * configure.in: Check, if door add-on is installed. * config.make.in: Add have_doors. * sunrpc/Makefile: Add HAVE_DOOR define. * sunrpc/key_call.c: Add keyserv/door interface. * sunrpc/svc_unix.c: Call setsockopt only if SO_PASSCRED is defined. * sunrpc/clnt_unix.c: Likewise. 1998-08-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * inet/netinet/in.h (IN_CLASSC): Correct mask. Reported by Ian Staniforth <I.Staniforth@sheffield.ac.uk> [fixes PR libc/727]. 1998-08-03 10:23 Ulrich Drepper <drepper@cygnus.com> * misc/Makefile: Fix installation problem with --disable-shared. * posix/Makefile: Likewise. 1998-08-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * posix/regex.c (re_search_2): Optimize searching for anchored pattern if '^' cannot match at embedded newlines. (regerror): Renamed from __regerror, which it should only be called if _LIBC. 1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/svc_unix.c (__msgread): Check setsockopt return value. 1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/generic/glob.c: Remove obsolete cast. 1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Rules (tests): Fix last change.
* Update.Ulrich Drepper1998-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1998-05-19 15:58 Ulrich Drepper <drepper@cygnus.com> * elf/rtld.c (process_envvars): Fix typo. Don't handle LD_PROFILE_OUTPUT in SUID binaries. * intl/dcgettext.c: In SUID binaries don't let language part of locale value contain path elements. * intl/explodename.h: Define new function _nl_find_language. * intl/loadinfo.h: Declare _nl_find_language. * locale/findlocale.c (_nl_find_locale): Use _nl_find_locale to get language part it drop the value is path element is contained. * locale/setlocale.c: Fix typo. 1998-05-18 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/unix/sysv/linux/arm/socket.S: Correct handling of arguments. * sysdeps/arm/strlen.S: Support both big and little endian processors. * sysdeps/arm/sysdep.h (ALIGNARG): ELF .align directive uses a log, not a byte-count. * sysdeps/unix/arm/sysdep.S (syscall_error): Use C_SYMBOL_NAME for a.out compatibility. 1998-05-19 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/bsd/vax/vfork.S: Fix the "the the" problems. * sysdeps/unix/bsd/sun/m68k/vfork.S: Likewise. * sysdeps/unix/bsd/hp/m68k/vfork.S: Likewise. * posix/unistd.h: Likewise. * math/math.h: Likewise. * manual/users.texi (Manipulating the Database): Likewise. * manual/signal.texi (Job Control Signals): Likewise. * manual/message.texi (The gencat program): Likewise. * manual/filesys.texi (Hard Links): Likewise. * manual/math.texi (SVID Random): Likewise. * manual/llio.texi (Waiting for I/O): Likewise. * manual/io.texi (File Name Errors): Likewise. * manual/conf.texi (String Parameters): Likewise. * manual/arith.texi (Infinity): Likewise. * malloc/malloc.c: Likewise. * hurd/hurdsig.c (_hurd_internal_post_signal): Likewise. * csu/Makefile: Likewise.
* Update.Ulrich Drepper1998-05-121-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1998-05-12 12:15 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c: Move to ... * sysdeps/generic/glob.c: ...here. * posix/glob.h (glob_t): Use correct types for gl_pathc and gl_offs elements. * sysdeps/unix/sysv/linux/alpha/glob.c: New file. * sysdeps/unix/sysv/linux/alpha/oldglob.c: New file. * sysdeps/unix/sysv/linux/alpha/Dist: Add oldglob.c. * sysdeps/unix/sysv/linux/alpha/Makefile: Compile oldglob in posix subdir. * libc.map [GLIBC_2.1]: Add glob and globfree. 1998-05-12 Ulrich Drepper <drepper@cygnus.com> * sunrpc/Makefile (generated): Restore old list. 1998-05-11 Andreas Jaeger <aj@arthur.rhein-neckar.de> * rt/Makefile (tests): Define only if we have a thread library. * nis/ypclnt.c: Add: #include <errno.h>. 1998-05-10 15:39 Zack Weinberg <zack@rabi.phys.columbia.edu> * configure.in: Define and substitute RELEASE as well as VERSION. * config.make.in: Add RELEASE and VERSION to be substituted. * Makeconfig: Delete all references to version.mk. * Make-dist: Likewise. * MakeTAGS: Likewise. * elf/Makefile: Likewise. 1998-05-10 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nis/ypclnt.c: Move "(none)" domainname check from __yp_check to yp_get_default_domain. 1998-05-12 Ulrich Drepper <drepper@cygnus.com> * sysdeps/posix/profil.c (__profil): Don't define act and timer variables as static. Patch by Joe Keane <jgk@jgk.org>. 1998-05-12 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/malloc.c: Fix for NO_THREADS case. Remove statfs and fstatfs. and pwrite as EXTRA. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* Update.Ulrich Drepper1998-05-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 1998-05-08 12:26 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv_int.h (struct gconv_module): Remove cost field and add cost_hi and cost_lo. * iconv/gconv_conf.c (builtin_modules): Initialize cost_hi from Cost parameter and set cost_lo to INT_MAX. (add_module): Take new parameter and use it to initialize cost_lo. (read_conf_file): Count modules being loaded and use counter for new parameter to add_module. * iconv/gconv_db.c (find_derivation): When look for cost examine cost_hi and cost_lo. 1998-05-08 10:52 Ulrich Drepper <drepper@cygnus.com> * string/bits/string2.h: Don't use unsigned char * unless really necessary since this disturbs C++. * sysdeps/i386/i486/bits/string.h: Likewise. Patch by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>. 1998-05-08 13:53 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * malloc/malloc.c (top_check): Fix last change.
* Update.Ulrich Drepper1998-05-071-0/+5
| | | | | | | | | | | | | | | | 1997-05-07 13:26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules (lib): Put back dependency on lib-noranlib. ($(subdirs-stamps)): Remove dependency on stamp.* again. 1998-05-07 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu/bits/mathinline.h: Use long long int also for test in __pow2 implementation. 1998-05-07 Andreas Jaeger <aj@arthur.rhein-neckar.de> * malloc/malloc.c (top_check): Add void as parameter to silent gcc.
* Update.Ulrich Drepper1998-05-061-45/+118
| | | | | | | | | | | | | | | | | | | | | | 1998-05-06 12:51 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu/bits/mathinline.h (pow): Use long long int for test for integer. * sysdeps/libm-i387/e_pow.S: Correctly shift double word. * sysdeps/libm-i387/e_powl.S: Likewise. 1998-03-31 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/malloc.c (chunk2mem_check, top_check): New functions. (malloc_check, free_check, realloc_check, memalign_check): Use them to improve overrun checking. Overruns of a single byte and corruption of the top chunk are now detected much more reliably. 1998-05-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/libm-test.c (pow_test): Add test for special value from PR libc/590.