aboutsummaryrefslogtreecommitdiff
path: root/malloc
AgeCommit message (Collapse)Author
2009-07-31Fix obstack* on i?86Jakub Jelinek
obstack calls several callbacks, so on i?86 it'd better be compiled without -mpreferred-stack-boundary=2, otherwise the callbacks are called with misaligned stack.
2009-07-16Fix race in corruption check.Ulrich Drepper
With atomic fastbins the checks performed can race with concurrent modifications of the arena. If we detect a problem re-do the test after getting the lock.
2009-07-16Use rel semantics of cas instead of acq semantics with full barrier before ↵Jakub Jelinek
it in _int_free The following patch fixes catomic_compare_and_exchange_*_rel definitions (which were never used and weren't correct) and uses catomic_compare_and_exchange_val_rel in _int_free. Comparing to the pre-2009-07-02 --enable-experimental-malloc state the generated code should be identical on all arches other than ppc/ppc64 and on ppc/ppc64 should use lwsync instead of isync barrier.
2009-07-02Fix possible race when freeing object in fast bin list.Ulrich Drepper
2009-06-18Add some more tests to malloc to detect corruptions.Ulrich Drepper
2009-06-16Don't treat bug reporting message as a format string.Andreas Schwab
2009-04-18* malloc/malloc.c (malloc_info): Output address space information.Ulrich Drepper
2009-04-18* malloc/malloc.c (malloc_info): Also output system memory information.Ulrich Drepper
2009-04-17(top_check): Force hook value into register.Ulrich Drepper
2009-04-16[BZ #9957]Ulrich Drepper
2009-04-16 Ulrich Drepper <drepper@redhat.com> [BZ #9957] * malloc/malloc.c (force_reg): Define. (sYSMALLOc): Load hook variable into variable before test and force into register. (sYSTRIm): Likewise. (public_mALLOc): Force hook value into register. (public_fREe): Likewise. (public_rEALLOc): Likewise. (public_mEMALIGn): Likewise. (public_vALLOc): Likewise. (public_pVALLOc): Likewise. (public_cALLOc): Likewise. (__posix_memalign): Likewise. * malloc/arena.c (ptmalloc_init): Load hook variable into variable before test and force into register. * malloc/hooks.c (top_check): Likewise. (public_s_ET_STATe): Pretty printing. * resolv/res_send.c (send_dg): Don't just ignore the result we got in case we only receive one reply in single-request mode.
2009-04-09* malloc/malloc.c (malloc_info): New function.cvs/fedora-glibc-20090409T1422Ulrich Drepper
* malloc/malloc.h: Declare it. * malloc/Versions: Export malloc_info for GLIBC_2.10. * resolv/nss_dns/dns-host.c (getanswer_r): Use strcasecmp
2009-04-08* malloc/malloc.c (_int_realloc): Add parameter with old blockUlrich Drepper
size. Remove duplicated test. Don't handle mmap'ed blocks here. Adjust all callers. * malloc/hooks.c (realloc_check): Adjust _int_realloc call.
2009-03-13* config.h.in (USE_MULTIARCH): Define.Ulrich Drepper
* configure.in: Handle --enable-multi-arch. * elf/dl-runtime.c (_dl_fixup): Handle STT_GNU_IFUNC. (_dl_fixup_profile): Likewise. * elf/do-lookup.c (dl_lookup_x): Likewise. * sysdeps/x86_64/dl-machine.h: Handle STT_GNU_IFUNC. * elf/elf.h (STT_GNU_IFUNC): Define. * include/libc-symbols.h (libc_ifunc): Define. * sysdeps/x86_64/cacheinfo.c: If USE_MULTIARCH is defined, use the framework in init-arch.h to get CPUID values. * sysdeps/x86_64/multiarch/Makefile: New file. * sysdeps/x86_64/multiarch/init-arch.c: New file. * sysdeps/x86_64/multiarch/init-arch.h: New file. * sysdeps/x86_64/multiarch/sched_cpucount.c: New file. * config.make.in (experimental-malloc): Define. * configure.in: Handle --enable-experimental-malloc. * malloc/Makefile: Handle experimental-malloc flag. * malloc/malloc.c: Implement PER_THREAD and ATOMIC_FASTBINS features. * malloc/arena.c: Likewise. * malloc/hooks.c: Likewise. * malloc/malloc.h: Define M_ARENA_TEST and M_ARENA_MAX.
2009-02-16* stdlib/monetary.h: Uglify function parameter names. cvs/fedora-glibc-20090218T1534Jakub Jelinek
* sunrpc/rpc/pmap_clnt.h: Likewise. * sunrpc/rpc/svc.h: Likewise. * sunrpc/rpc/xdr.h: Likewise. * sunrpc/rpc/clnt.h: Likewise. * resolv/netdb.h: Likewise. * resolv/arpa/nameser.h: Likewise. * resolv/resolv.h: Likewise. * argp/argp.h: Likewise. * locale/langinfo.h: Likewise. * io/sys/stat.h: Likewise. * posix/spawn.h: Likewise. * nis/rpcsvc/nislib.h: Likewise. * malloc/obstack.h: Likewise. * sysdeps/ia64/bits/link.h: Likewise. * sysdeps/i386/bits/link.h: Likewise. * sysdeps/s390/bits/link.h: Likewise. * sysdeps/powerpc/bits/link.h: Likewise. * sysdeps/x86_64/bits/link.h: Likewise. * sysdeps/sparc/bits/link.h: Likewise. * sysdeps/sh/bits/link.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise. * sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise. 2009-02-16 Jakub Jelinek <jakub@redhat.com> * stdlib/monetary.h: Uglify function parameter names. * sunrpc/rpc/pmap_clnt.h: Likewise. * sunrpc/rpc/svc.h: Likewise. * sunrpc/rpc/xdr.h: Likewise. * sunrpc/rpc/clnt.h: Likewise. * resolv/netdb.h: Likewise. * resolv/arpa/nameser.h: Likewise. * resolv/resolv.h: Likewise. * argp/argp.h: Likewise. * locale/langinfo.h: Likewise. * io/sys/stat.h: Likewise. * posix/spawn.h: Likewise. * nis/rpcsvc/nislib.h: Likewise. * malloc/obstack.h: Likewise. * sysdeps/ia64/bits/link.h: Likewise. * sysdeps/i386/bits/link.h: Likewise. * sysdeps/s390/bits/link.h: Likewise. * sysdeps/powerpc/bits/link.h: Likewise. * sysdeps/x86_64/bits/link.h: Likewise. * sysdeps/sparc/bits/link.h: Likewise. * sysdeps/sh/bits/link.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise. * sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise.
2009-02-07(_int_realloc): Likewise. Third argument is now padded sizeUlrich Drepper
2009-02-07* malloc/malloc.c (_int_free): Second argument is now mchunkptr.Ulrich Drepper
Change all callers. (_int_realloc): Likewise. All _int_* functions are now static. * malloc/hooks.c: Change all callers to _int_free and _int_realloc. * malloc/arena.c: Likewise. * include/malloc.h: Remove now unnecessary declarations of the _int_* functions.
2009-02-07* malloc/malloc.c: Add branch prediction for use of the hooks.Ulrich Drepper
2009-02-06* debug/xtrace.sh: Unify translatable messages.Ulrich Drepper
* elf/ldd.bash.in: Likewise. * elf/sprof.c: Likewise. * locale/programs/locale.c: Likewise. * malloc/memusage.sh: Likewise. * nss/getent.c: Likewise. 2009-02-06 Joseph Myers <joseph@codesourcery.com> * debug/pcprofiledump.c (print_version, argp_program_version_hook): New function. * elf/ldconfig.c (more_help): New function. (argp): Use it. * elf/sln.c (usage): New function. (main): Support --help and --version. * malloc/memusagestat.c (print_version): New function. (argp_program_version_hook): New variable. * nscd/nscd.c (more_help): New function. (argp): Use it. * posix/getconf.c (main): Send --version output to stdout. Support --help. * sunrpc/rpc_main.c (usage, options_usage): Take STREAM and STATUS arguments. All callers changed. (print_version): New function. (parseargs): Support --help and --version. * sunrpc/rpcinfo.c (usage): Take STREAM argument. All callers changed. (print_version): New function. (main): Use getopt_long. Support --help and --version. * sysdeps/unix/sysv/linux/lddlibc4.c (main): Support --help and --version. 2009-02-06 Ulrich Drepper <drepper@redhat.com>
2009-02-06* malloc/memusage.c (DEFAULT_BUFFER_SIZE): Change to 32768.Ulrich Drepper
(update_data): Fix handling of wrapping back
2009-02-06* malloc/memusage.c (update_data): Fix handling of wrapping backUlrich Drepper
to the beginning of the buffer.
2009-01-30* malloc/malloc.c (sYSMALLOc): Don't use assert when detectingUlrich Drepper
manipulated brk, use malloc_printerr. * misc/sbrk.c (__sbrk): Better error handling for nonsense requests.
2009-01-02* posix/getconf.c: Update copyright year.Ulrich Drepper
* nss/getent.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c: Likewise. * elf/ldconfig.c: Likewise. * catgets/gencat.c: Likewise. * csu/version.c: Likewise. * elf/ldd.bash.in: Likewise. * elf/sprof.c (print_version): Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * nscd/nscd.c (print_version): Likewise. * debug/xtrace.sh: Likewise. * malloc/memusage.sh: Likewise. * malloc/mtrace.pl: Likewise. * debug/catchsegv.sh: Likewise.
2008-11-03* malloc/malloc.c (public_rEALLOc): When new arena is used, copyUlrich Drepper
really all bytes. Patch by Denys Vlasenko <dvlasenk@redhat.com>.
2008-09-12(public_vALLOc): Try other arenas in case _int_valloc fails. ↵Ulrich Drepper
(public_pVALLOc): Likewise.
2008-07-26* malloc/mtrace.c (mtrace): Use 'e' flag in fopen call. DropUlrich Drepper
F_SETFD use if we know fopen set the flag.
2008-07-15(__malloc_check_init): Remove printf.Ulrich Drepper
2008-04-07* malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet.Jakub Jelinek
2008-04-07 Jakub Jelinek <jakub@redhat.com> * malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet.
2008-03-04[BZ #5736]Ulrich Drepper
* malloc/malloc.c: Fix typo in comment.
2008-01-10* pthread-errnos.sym: Add EOVERFLOW.Ulrich Drepper
* sysdeps/unix/sysv/linux/structsem.sym: Add SEM_VALUE_MAX. * sysdeps/unix/sysv/linux/sem_post.c: Don't overflow value field. * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
2008-01-09[BZ #5541]Ulrich Drepper
* sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and pollfd structures. Patch by André Cruz.
2008-01-09[BZ #5553]Ulrich Drepper
2008-01-09 Ulrich Drepper <drepper@redhat.com> [BZ #5553] * malloc/malloc.c (public_mALLOc): Set ar_ptr when trying main_arena. (public_mEMALIGn): Likewise. Patch mostly by Daniel Jacobowitz.
2008-01-02* posix/getconf.c: Update copyright year.Ulrich Drepper
* nss/getent.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c: Likewise. * elf/ldconfig.c: Likewise. * catgets/gencat.c: Likewise. * csu/version.c: Likewise. * elf/ldd.bash.in: Likewise. * elf/sprof.c (print_version): Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * nscd/nscd.c (print_version): Likewise. * debug/xtrace.sh: Likewise. * malloc/memusage.sh: Likewise. * malloc/mtrace.pl: Likewise. * debug/catchsegv.sh: Likewise.
2007-12-17* malloc/malloc.c (public_cALLOc): For arena other thanUlrich Drepper
main_arena, count all bytes inside the mprotect_size range of the heap as uninitialized.
2007-12-16* malloc/tst-trim1.c: New file.Ulrich Drepper
* malloc/Makefile (tests): Add tst-trim1.
2007-12-16* malloc/malloc.c (public_mTRIm): Iterate over all arenas and callUlrich Drepper
mTRIm for all of them. (mTRIm): Additionally iterate over all free blocks and use madvise to free memory for all those blocks which contain at least one memory page. * malloc/malloc.c (do_check_malloc_state): Minimal cleanups.
2007-12-12* malloc/arena.c (grow_heap): Split out code to shrink heap into...Ulrich Drepper
(shrink_heap): ... this new function. (heap_trim): Call shrink_heap instead of grow_heap.
2007-12-11* malloc/malloc.c (_int_malloc): sYSMALLOc might fail, in thisUlrich Drepper
case don't call alloc_perturb.
2007-10-28* malloc/arena.c [!NO_THREADS]: Use ATFORK_MEM if defined.Ulrich Drepper
2007-10-02[BZ #4941]Ulrich Drepper
* locales/oc_FR: Fix Thursday abday and August mon and abmon data.
2007-07-19[BZ #4792]Ulrich Drepper
* stdlib/stdlib.h (realloc): Remove __attribute_malloc__. * malloc/malloc.h (realloc): Likewise. 2007-07-16 Jakub Jelinek <jakub@redhat.com>
2007-07-16* elf/ldconfig.c: Allow GPLv2 or any later version.Roland McGrath
* elf/readlib.c: Likewise. * elf/chroot_canon.c: Likewise. * elf/cache.c: Likewise. * nscd/mem.c: Likewise. * nscd/getpwuid_r.c: Likewise. * nscd/grpcache.c: Likewise. * nscd/aicache.c: Likewise. * nscd/getsrvbynm_r.c: Likewise. * nscd/nscd.c: Likewise. * nscd/servicescache.c: Likewise. * nscd/getsrvbypt_r.c: Likewise. * nscd/initgrcache.c: Likewise. * nscd/gethstbyad_r.c: Likewise. * nscd/gethstbynm2_r.c: Likewise. * nscd/getgrnam_r.c: Likewise. * nscd/nscd_setup_thread.c: Likewise. * nscd/getpwnam_r.c: Likewise. * nscd/gai.c: Likewise. * nscd/connections.c: Likewise. * nscd/dbg_log.c: Likewise. * nscd/cache.c: Likewise. * nscd/hstcache.c: Likewise. * nscd/nscd_conf.c: Likewise. * nscd/getgrgid_r.c: Likewise. * nscd/pwdcache.c: Likewise. * catgets/gencat.c: Likewise. * locale/programs/linereader.h: Likewise. * locale/programs/locarchive.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/locfile-kw.h: Likewise. * locale/programs/ld-address.c: Likewise. * locale/programs/xmalloc.c: Likewise. * locale/programs/ld-time.c: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/simple-hash.c: Likewise. * locale/programs/xstrdup.c: Likewise. * locale/programs/ld-numeric.c: Likewise. * locale/programs/locfile-kw.gperf: Likewise. * locale/programs/ld-collate.c: Likewise. * locale/programs/charmap-kw.gperf: Likewise. * locale/programs/charmap.h: Likewise. * locale/programs/charmap-kw.h: Likewise. * locale/programs/config.h: Likewise. * locale/programs/locfile.c: Likewise. * locale/programs/ld-ctype.c: Likewise. * locale/programs/charmap.c: Likewise. * locale/programs/ld-messages.c: Likewise. * locale/programs/repertoire.h: Likewise. * locale/programs/locale.c: Likewise. * locale/programs/ld-name.c: Likewise. * locale/programs/linereader.c: Likewise. * locale/programs/locfile.h: Likewise. * locale/programs/3level.h: Likewise. * locale/programs/ld-monetary.c: Likewise. * locale/programs/ld-measurement.c: Likewise. * locale/programs/charmap-dir.c: Likewise. * locale/programs/ld-identification.c: Likewise. * locale/programs/localedef.h: Likewise. * locale/programs/charmap-dir.h: Likewise. * locale/programs/repertoire.c: Likewise. * locale/programs/simple-hash.h: Likewise. * locale/programs/ld-telephone.c: Likewise. * locale/programs/locale-spec.c: Likewise. * locale/programs/locfile-token.h: Likewise. * posix/getconf.c: Likewise. * iconv/dummy-repertoire.c: Likewise. * iconv/iconv_charmap.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c: Likewise. * malloc/memusagestat.c: Likewise. * sysdeps/unix/sysv/linux/nscd_setup_thread.c: Likewise.
2007-05-21* malloc/hooks.c (MALLOC_STATE_VERSION): Bump.Ulrich Drepper
(public_sET_STATe): If ms->version < 3, put all chunks into unsorted chunks and clear {fd,bk}_nextsize fields of largebin chunks. * malloc/malloc.c [MALLOC_DEBUG]: Revert 2007-05-13 changes. * malloc/hooks.c: Likewise. * malloc/arena.c: Likewise. * malloc/malloc.c (do_check_malloc_state): Don't assert n_mmaps is not greater than n_mmaps_max. This removes the need for the previous change. * malloc/Makefile (CFLAGS-malloc.c): Revert accidental 2007-05-07 commit.
2007-05-19* malloc/malloc.c (do_check_chunk): Correct check for mmaped blockUlrich Drepper
not overlapping with arena.
2007-05-19* malloc/mcheck.c (reallochook): If size==0, free the block.Ulrich Drepper
2007-05-15* malloc/malloc.c: Use all small bin slots on 64-bit archs.Ulrich Drepper
* malloc/malloc.c (largebin_index): Really have 32 buckets with 64 sizes.
2007-05-14* malloc/malloc.c (largebin_index): Really have 32 buckets with 64 sizes.Ulrich Drepper
2007-05-13 Ulrich Drepper <drepper@redhat.com>
2007-05-13[MALLOC_DEBUG]: Keep track of current maximum number of mmaps. n_mmaps_max ↵Ulrich Drepper
is the target.
2007-05-07* malloc/arena.c (heap_info): Add mprotect_size field, adjust pad. Jakub Jelinek
(new_heap): Initialize mprotect_size. (grow_heap): When growing, only mprotect from mprotect_size till new_size if mprotect_size is smaller. When shrinking, use PROT_NONE MMAP for __libc_enable_secure only, otherwise use MADV_DONTNEED. 2007-05-07 Ulrich Drepper <drepper@redhat.com> Jakub Jelinek <jakub@redhat.com> * malloc/arena.c (heap_info): Add mprotect_size field, adjust pad. (new_heap): Initialize mprotect_size. (grow_heap): When growing, only mprotect from mprotect_size till new_size if mprotect_size is smaller. When shrinking, use PROT_NONE MMAP for __libc_enable_secure only, otherwise use MADV_DONTNEED.
2007-04-30[BZ #4349]Ulrich Drepper
2007-04-30 Ulrich Drepper <drepper@redhat.com> Jakub Jelinek <jakub@redhat.com> [BZ #4349] * malloc/malloc.c: Keep separate list for first blocks on the bin lists with a given size. This helps skipping over list elements we know won't fit in two places. Inspired by a patch by Tomash Brechko <tomash.brechko@gmail.com>.
2007-02-17[BZ #3348]Ulrich Drepper
2007-02-17 Ulrich Drepper <drepper@redhat.com> [BZ #3348] * malloc/memusage.sh: Cleanups. * debug/xtrace.sh: Quoting and trap changes. * locale/iso-3166.def: Add Jersey, Guernsey, and Isle Of Man entries.