Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This code is only used when MALLOC_CHECK_ is used. Then some bogus
crashes and/or assert could result from the locking changes. The code
ain't fast.
|
|
|
|
|
|
|
|
the real one.
|
|
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.
|
|
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.
|
|
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-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.h: Declare it.
* malloc/Versions: Export malloc_info for GLIBC_2.10.
* resolv/nss_dns/dns-host.c (getanswer_r): Use strcasecmp
|
|
size. Remove duplicated test. Don't handle mmap'ed blocks here.
Adjust all callers.
* malloc/hooks.c (realloc_check): Adjust _int_realloc call.
|
|
* 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.
|
|
* 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.
|
|
|
|
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.
|
|
|
|
* 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>
|
|
(update_data): Fix handling of wrapping back
|
|
to the beginning of the buffer.
|
|
manipulated brk, use malloc_printerr.
* misc/sbrk.c (__sbrk): Better error handling for nonsense
requests.
|
|
* 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.
|
|
really all bytes. Patch by Denys Vlasenko <dvlasenk@redhat.com>.
|
|
(public_pVALLOc): Likewise.
|
|
F_SETFD use if we know fopen set the flag.
|
|
|
|
2008-04-07 Jakub Jelinek <jakub@redhat.com>
* malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet.
|
|
* malloc/malloc.c: Fix typo in comment.
|
|
* 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.
|
|
* sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and
pollfd structures.
Patch by André Cruz.
|
|
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.
|
|
* 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.
|
|
main_arena, count all bytes inside the mprotect_size range of the
heap as uninitialized.
|
|
* malloc/Makefile (tests): Add tst-trim1.
|
|
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.
|
|
(shrink_heap): ... this new function.
(heap_trim): Call shrink_heap instead of grow_heap.
|
|
case don't call alloc_perturb.
|
|
|
|
* locales/oc_FR: Fix Thursday abday and August mon and abmon data.
|
|
* stdlib/stdlib.h (realloc): Remove __attribute_malloc__.
* malloc/malloc.h (realloc): Likewise.
2007-07-16 Jakub Jelinek <jakub@redhat.com>
|
|
* 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.
|
|
(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.
|
|
not overlapping with arena.
|
|
|