1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-06-13 19:21:36 +03:00
Commit Graph

434 Commits

Author SHA1 Message Date
cbc00a0398 Set MALLOC_ALIGNMENT to at least __alignof__ (long double) for new ABIs. 2012-05-21 11:13:10 -07:00
bedee953d8 For [BZ #208], accumulate malloc stats over all arenas. 2012-05-16 16:46:10 -07:00
eb96ffb07d Move stdio-common/_itoa.h to sysdeps/generic 2012-03-20 16:00:23 -07:00
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
3b49edc04b Cleanups of malloc
Remove ugly names and unnecessary wrappers.
2012-01-31 18:49:22 -05:00
6e4b210745 More minor malloc cleanups 2012-01-17 19:21:09 -05:00
d77e786926 Minor cleanups of malloc code 2012-01-16 12:07:56 -05:00
a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -05:00
380d7e87dc Implement aligned_alloc 2012-01-01 07:17:21 -05:00
6ef76f3b51 Avoid assertion in processes with VM in bad shape 2011-10-29 16:39:03 -04:00
8e58439c92 Remove MALLOC_FAILURE_ACTION use in malloc 2011-09-10 22:12:38 -04:00
02d46fc4b9 Simplify malloc initialization
Singificantly reduce the code needed at malloc initialization.  In
the process getpagesize is simplified by always initializing
GLRO(dl_pagesize).
2011-09-10 21:47:36 -04:00
22a8918713 Simplify malloc code
Remove all kinds of unused configuration options and dead code.
2011-09-10 18:10:17 -04:00
d063d16433 Remove support for !USE___THREAD 2011-09-10 16:50:28 -04:00
ded5b9b7c7 Remove doubled words. 2011-04-22 21:34:32 -04:00
9798346413 Use fastbin macro everywhere. 2010-12-25 14:15:42 -05:00
fdc0f374bc Fix perturbing in malloc on free. 2010-10-24 22:37:00 -04:00
b9b42ee01c Replace divide and multiply with mask in sYSTRIm 2010-08-16 23:06:55 -07:00
5f24d53acb Fix race in free sanity check. 2010-05-06 04:42:46 -07:00
2645b8e5cc Remove unintended change. 2010-04-14 21:09:21 -07:00
dd37cd1a12 Optimie x86-64 SSE4 memcmp for unaligned data. 2010-04-14 17:53:44 -07:00
ad3d3e8f20 Fix possibly uninitilized variable handling.
If malloc errors are ignored (which say aren't by default and never
should be) malloc in the old, slow form might use an uninitialized
variable.
2010-04-08 17:12:42 -07:00
90a3055e8b One more sanity check in free. 2010-04-03 09:47:01 -07:00
991eda1ec1 Fix set_max_fast in malloc. 2010-04-03 09:43:10 -07:00
2b0fba7530 Remove stale reference to website 2010-03-26 05:09:55 -07:00
3e259dbb32 Remove unwanted malloc changes, again. 2010-03-26 04:00:10 -07:00
70c90289ff Merge branch 'master' of ssh://sources.redhat.com/git/glibc
Conflicts:
	ChangeLog
2010-03-25 19:45:20 -07:00
9d2569846c Fix typos I added in malloc.c 2010-02-24 19:47:09 -08:00
8c0b5f148e Fix assertion in palloc and pvalloc as well. 2010-02-24 15:44:29 -08:00
2c2243f708 Undo unintended maloc change. 2010-02-10 00:04:49 -08:00
7eb22e757e Avoid PLT call to fegetenv on s390 2010-02-09 22:34:17 -08:00
346bc35c33 Fix malloc_info without prioor allocations. 2010-01-14 13:32:58 -08:00
ee6f35389c Fix typos in format strings of malloc_info. 2009-10-29 21:50:35 -07:00
72f9026327 Add local assert function to avoid problems with memory allocation in
the real one.
2009-08-31 04:55:10 -07:00
bec466d922 Fix race in corruption check.
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-16 09:54:34 -07:00
bea0ac1d87 Use rel semantics of cas instead of acq semantics with full barrier before 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-16 07:24:50 -07:00
6cbbaa50aa Fix possible race when freeing object in fast bin list. 2009-07-02 03:30:55 -07:00
f6887a0d9a Add some more tests to malloc to detect corruptions. 2009-06-18 22:37:31 -07:00
0588a9cb62 * malloc/malloc.c (malloc_info): Output address space information. 2009-04-18 08:44:10 +00:00
da2d2fb68d * malloc/malloc.c (malloc_info): Also output system memory information. 2009-04-18 05:14:52 +00:00
df77455c4b [BZ #9957]
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-16 21:22:16 +00:00
bb06654506 * malloc/malloc.c (malloc_info): New function.
* 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-09 05:45:42 +00:00
4c8b8cc332 * malloc/malloc.c (_int_realloc): Add parameter with old block
size.  Remove duplicated test.  Don't handle mmap'ed blocks here.
	Adjust all callers.
	* malloc/hooks.c (realloc_check): Adjust _int_realloc call.
2009-04-08 18:00:34 +00:00
425ce2edb9 * config.h.in (USE_MULTIARCH): Define.
* 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-03-13 23:53:18 +00:00
6dd6a580df (_int_realloc): Likewise. Third argument is now padded size 2009-02-07 22:49:34 +00:00
78ac92ad8d * malloc/malloc.c (_int_free): Second argument is now mchunkptr.
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 22:01:49 +00:00
bfacf1af1a * malloc/malloc.c: Add branch prediction for use of the hooks. 2009-02-07 19:05:28 +00:00
1fdd89a78d * malloc/malloc.c (sYSMALLOc): Don't use assert when detecting
manipulated brk, use malloc_printerr.
	* misc/sbrk.c (__sbrk): Better error handling for nonsense
	requests.
2009-01-30 17:47:23 +00:00
486bdb8863 * malloc/malloc.c (public_rEALLOc): When new arena is used, copy
really all bytes.  Patch by Denys Vlasenko <dvlasenk@redhat.com>.
2008-11-03 08:07:39 +00:00
dba385512d (public_vALLOc): Try other arenas in case _int_valloc fails. (public_pVALLOc): Likewise. 2008-09-12 18:18:25 +00:00