about summary refs log tree commit diff
path: root/malloc
Commit message (Collapse)AuthorAgeFilesLines
* Add local assert function to avoid problems with memory allocation inUlrich Drepper2009-08-311-439/+461
| | | | the real one.
* Fix obstack* on i?86Jakub Jelinek2009-07-311-0/+1
| | | | | | 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.
* Fix race in corruption check.Ulrich Drepper2009-07-161-2/+23
| | | | | | 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.
* Use rel semantics of cas instead of acq semantics with full barrier before ↵Jakub Jelinek2009-07-161-2/+1
| | | | | | | | | | | 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.
* Fix possible race when freeing object in fast bin list.Ulrich Drepper2009-07-021-0/+1
|
* Add some more tests to malloc to detect corruptions.Ulrich Drepper2009-06-181-2/+27
|
* Don't treat bug reporting message as a format string.Andreas Schwab2009-06-161-1/+1
|
* * malloc/malloc.c (malloc_info): Output address space information.Ulrich Drepper2009-04-181-3/+29
|
* * malloc/malloc.c (malloc_info): Also output system memory information.Ulrich Drepper2009-04-181-2/+17
|
* (top_check): Force hook value into register.Ulrich Drepper2009-04-171-1/+1
|
* [BZ #9957]Ulrich Drepper2009-04-163-26/+41
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* * malloc/malloc.c (malloc_info): New function. cvs/fedora-glibc-20090409T1422Ulrich Drepper2009-04-093-0/+153
| | | | | | | * malloc/malloc.h: Declare it. * malloc/Versions: Export malloc_info for GLIBC_2.10. * resolv/nss_dns/dns-host.c (getanswer_r): Use strcasecmp
* * malloc/malloc.c (_int_realloc): Add parameter with old blockUlrich Drepper2009-04-082-19/+40
| | | | | | size. Remove duplicated test. Don't handle mmap'ed blocks here. Adjust all callers. * malloc/hooks.c (realloc_check): Adjust _int_realloc call.
* * config.h.in (USE_MULTIARCH): Define.Ulrich Drepper2009-03-135-56/+431
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * stdlib/monetary.h: Uglify function parameter names. cvs/fedora-glibc-20090218T1534Jakub Jelinek2009-02-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* (_int_realloc): Likewise. Third argument is now padded sizeUlrich Drepper2009-02-072-13/+12
|
* * malloc/malloc.c (_int_free): Second argument is now mchunkptr.Ulrich Drepper2009-02-073-57/+50
| | | | | | | | | | 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.
* * malloc/malloc.c: Add branch prediction for use of the hooks.Ulrich Drepper2009-02-071-11/+11
|
* * debug/xtrace.sh: Unify translatable messages.Ulrich Drepper2009-02-062-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* * malloc/memusage.c (DEFAULT_BUFFER_SIZE): Change to 32768.Ulrich Drepper2009-02-061-1/+1
| | | | (update_data): Fix handling of wrapping back
* * malloc/memusage.c (update_data): Fix handling of wrapping backUlrich Drepper2009-02-061-3/+5
| | | | to the beginning of the buffer.
* * malloc/malloc.c (sYSMALLOc): Don't use assert when detectingUlrich Drepper2009-01-301-2/+2
| | | | | | manipulated brk, use malloc_printerr. * misc/sbrk.c (__sbrk): Better error handling for nonsense requests.
* * posix/getconf.c: Update copyright year.Ulrich Drepper2009-01-022-4/+4
| | | | | | | | | | | | | | | | | | * 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.
* * malloc/malloc.c (public_rEALLOc): When new arena is used, copyUlrich Drepper2008-11-031-1/+1
| | | | really all bytes. Patch by Denys Vlasenko <dvlasenk@redhat.com>.
* (public_vALLOc): Try other arenas in case _int_valloc fails. ↵Ulrich Drepper2008-09-121-6/+51
| | | | (public_pVALLOc): Likewise.
* * malloc/mtrace.c (mtrace): Use 'e' flag in fopen call. DropUlrich Drepper2008-07-261-8/+10
| | | | F_SETFD use if we know fopen set the flag.
* (__malloc_check_init): Remove printf.Ulrich Drepper2008-07-151-3/+1
|
* * malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet.Jakub Jelinek2008-04-071-1/+1
| | | | | | 2008-04-07 Jakub Jelinek <jakub@redhat.com> * malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet.
* [BZ #5736]Ulrich Drepper2008-03-041-1/+1
| | | | * malloc/malloc.c: Fix typo in comment.
* * pthread-errnos.sym: Add EOVERFLOW.Ulrich Drepper2008-01-101-1/+2
| | | | | | | * 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.
* [BZ #5541]Ulrich Drepper2008-01-091-1/+2
| | | | | | * sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and pollfd structures. Patch by André Cruz.
* [BZ #5553]Ulrich Drepper2008-01-091-8/+11
| | | | | | | | 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.
* * posix/getconf.c: Update copyright year.Ulrich Drepper2008-01-022-4/+4
| | | | | | | | | | | | | | | | | | * 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.
* * malloc/malloc.c (public_cALLOc): For arena other thanUlrich Drepper2007-12-171-0/+6
| | | | | main_arena, count all bytes inside the mprotect_size range of the heap as uninitialized.
* * malloc/tst-trim1.c: New file.Ulrich Drepper2007-12-162-2/+58
| | | | * malloc/Makefile (tests): Add tst-trim1.
* * malloc/malloc.c (public_mTRIm): Iterate over all arenas and callUlrich Drepper2007-12-161-16/+63
| | | | | | | | | 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.
* * malloc/arena.c (grow_heap): Split out code to shrink heap into...Ulrich Drepper2007-12-121-33/+47
| | | | | (shrink_heap): ... this new function. (heap_trim): Call shrink_heap instead of grow_heap.
* * malloc/malloc.c (_int_malloc): sYSMALLOc might fail, in thisUlrich Drepper2007-12-111-2/+2
| | | | case don't call alloc_perturb.
* * malloc/arena.c [!NO_THREADS]: Use ATFORK_MEM if defined.Ulrich Drepper2007-10-281-0/+4
|
* [BZ #4941]Ulrich Drepper2007-10-021-0/+4
| | | | * locales/oc_FR: Fix Thursday abday and August mon and abmon data.
* [BZ #4792]Ulrich Drepper2007-07-191-2/+6
| | | | | | | * stdlib/stdlib.h (realloc): Remove __attribute_malloc__. * malloc/malloc.h (realloc): Likewise. 2007-07-16 Jakub Jelinek <jakub@redhat.com>
* * elf/ldconfig.c: Allow GPLv2 or any later version.Roland McGrath2007-07-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * malloc/hooks.c (MALLOC_STATE_VERSION): Bump.Ulrich Drepper2007-05-214-42/+17
| | | | | | | | | | | | | | | | (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.
* * malloc/malloc.c (do_check_chunk): Correct check for mmaped blockUlrich Drepper2007-05-192-2/+2
| | | | not overlapping with arena.
* * malloc/mcheck.c (reallochook): If size==0, free the block.Ulrich Drepper2007-05-191-1/+7
|
* * malloc/malloc.c: Use all small bin slots on 64-bit archs.Ulrich Drepper2007-05-151-4/+19
| | | | | * malloc/malloc.c (largebin_index): Really have 32 buckets with 64 sizes.
* * malloc/malloc.c (largebin_index): Really have 32 buckets with 64 sizes.Ulrich Drepper2007-05-141-1/+1
| | | | 2007-05-13 Ulrich Drepper <drepper@redhat.com>
* [MALLOC_DEBUG]: Keep track of current maximum number of mmaps. n_mmaps_max ↵Ulrich Drepper2007-05-133-4/+39
| | | | is the target.
* * malloc/arena.c (heap_info): Add mprotect_size field, adjust pad. Jakub Jelinek2007-05-072-8/+30
| | | | | | | | | | | | | | | (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.
* [BZ #4349]Ulrich Drepper2007-04-301-25/+110
| | | | | | | | | | | 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>.