summaryrefslogtreecommitdiff
path: root/libc/stdlib/malloc/malloc.c
AgeCommit message (Collapse)Author
2013-02-05mman: rename MAP_UNINITIALIZE to MAP_UNINITIALIZEDBernhard Reutner-Fischer
The name was changed to include a trailing 'D' when it went into the kernel. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15malloc: use uClibc_mutex.h provided macros consequentlyPeter S. Mazinger
use the __UCLIBC_MUTEX macros remove unused code remove duplicated code (likely,unlikely) hide internal __x() functions (mainly debug related) Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-12-19malloc: fix race condition and other bugs in the no-mmu mallocFreeman Wang
Fixes multiple race conditions on mmb list. This was done by making the mmb_heap_lock into a recursive lock and making the regular heap_lock extend to cover the mmb heap handling. Also move the new_mmb allocation up to before the mmb list is iterated through to find the insertion point. When the mmb_heap also runs out and needs to be extended when the regular heap is just extended, the mmb list could be messed up. Signed-off-by: Freeman Wang <xwang@ubicom.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-11-23nommu: use MAP_UNINITIALIZE for mallocsMike Frysinger
Now that the kernel supports MAP_UNINITIALIZE, have the malloc places use it to get real uninitialized memory on no-mmu systems. This avoids a lot of normally useless overhead involved in zeroing out all of the memory (sometimes multiple times). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-09-18trim Experimentally off and uncommented hiddenBernhard Reutner-Fischer
sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *) sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *) should be a nop Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2008-11-26- revert 24148:24151Bernhard Reutner-Fischer
2008-11-25- remove some bloat that was added in r23660 and subsequent r23698.Bernhard Reutner-Fischer
The sbrk lock is only needed for LT.old
2008-11-20next portion of libc_hidden_proto removalDenis Vlasenko
2008-10-29- fix another fallout from r23660Bernhard Reutner-Fischer
2008-10-28Finally fix the MALLOC=y and MALLOC_SIMPLE=y breakage from svn 23660. (I ↵Rob Landley
found it, this is Bernhard's patch to fix it. Tested and it Works For Me (tm)).
2008-10-16This should fix malloc with debug and without threads. (Chase N Douglas)Bernhard Reutner-Fischer
This should have been in r23660. Untested.
2008-10-11Fix bug 4994 hangs on read(). I have tested the patch extensibly on ARM/LT.old.Khem Raj
Thank you Chase Douglas for reporting it and for the patch.
2008-05-20Introduce and use small[u]int type. Changes in size:Denis Vlasenko
- 79 0 28 107 6b libc/inet/rpc/create_xid.o + 76 0 25 101 65 libc/inet/rpc/create_xid.o - 126 0 4 130 82 libc/misc/assert/__assert.o + 123 0 1 124 7c libc/misc/assert/__assert.o - 648 4 24 676 2a4 libc/misc/internals/__uClibc_main.o + 645 4 21 670 29e libc/misc/internals/__uClibc_main.o - 230 0 4 234 ea libc/stdlib/abort.o + 216 0 1 217 d9 libc/stdlib/abort.o - 129 0 4 133 85 libc/termios/tcgetsid.o + 126 0 1 127 7f libc/termios/tcgetsid.o
2007-04-13fix up malloc debug buildingMike Frysinger
2007-04-02POSIX requires that errno be set whenever 0 is returned by malloc()Mike Frysinger
2006-02-18tweak the idea between having a MMU and actually using itMike Frysinger
2006-01-14hidden_def/hidden_proto: convert all users (I hope) termios split, add some ↵Peter S. Mazinger
missing headers, other jump relocs removed
2005-12-13__malloc_consolidate is only libc internal, enable use of __sbrkPeter S. Mazinger
2005-12-08mmap/mremap/socket/rewind gonePeter S. Mazinger
2004-07-15Use MAP_PRIVATE whenever __ARCH_HAS_MMU__ is set.Eric Andersen
Only use MAP_SHARED when mmu-less.
2003-10-16Don't set errno if for zero SIZE returns.Miles Bader
Code formatting cleanup.
2003-09-06Fix errno values. Fix MALLOC_GLIBC_COMPAT handling in malloc/malloc.c,Eric Andersen
which was reversed. Provide more consistancy between implementations. Handle it when people do stupid things like malloc(-1);
2003-08-08Add in a MALLOC_GLIBC_COMPAT option to let people decide if theyEric Andersen
want glibc style malloc(0) behavior
2003-01-23Update malloc behavior on malloc(0) to be consistant withEric Andersen
malloc-930716 behavior, i.e. return a NULL.
2002-11-21Improve malloc debugging support.Miles Bader
2002-10-18Don't infinitely recurse when trying to grow __malloc_mmb_heap.Miles Bader
2002-10-15Fix locking to not deadlock when __UCLIBC_UCLINUX_BROKEN_MUNMAP__ is defined.Miles Bader
2002-10-09* Add support for uClinux's broken munmap, contingent onMiles Bader
__UCLIBC_UCLINUX_BROKEN_MUNMAP__ (which is currently not defined anywhere). This makes other cases a tiny bit less efficient too. * Move the malloc lock into the heap structure (locking is still done at the malloc level though, not by the heap functions). * Initialize the malloc heap to contain a tiny initial static free-area so that programs that only do a very little allocation won't ever call mmap.
2002-09-06Update debugging hooks.Miles Bader
2002-08-30Use `likely' & `unlikely' instead of the `__malloc_'-prefixed versions.Miles Bader
2002-08-19(malloc): Use MALLOC_SETUP.Miles Bader
2002-08-14Add flow-control hints with __malloc_likely and __malloc_unlikely.Miles Bader
2002-07-31Update debugging printfs.Miles Bader
2002-07-31Use MALLOC_HEADER_SIZE.Miles Bader
2002-07-30MALLOC_SET_SIZE now takes the user-address rather than the base-address.Miles Bader
2002-07-30Use new malloc header macros.Miles Bader
2002-07-25Size tweaks.Miles Bader
2002-07-25Miscellaneous tidying-up.Miles Bader
2002-07-25Redo the locking, so that it may actually work. Now locking is done atMiles Bader
the malloc/free level, not within the heap abstraction, and there's a separate lock to control sbrk access. Also, get rid of the separate `unmap_free_area' function in free.c, and just put the code in the `free' function directly, which saves a bunch of space (even compared to using an inline function) for some reason.
2002-07-24Misc small cleanups.Miles Bader
2002-07-23* Automatically try to unmap heap free-areas when they get very big.Miles Bader
* Instead of using mmap/munmap directly for large allocations, just use the heap for everything (this is reasonable now that heap memory can be unmapped). * Use sbrk instead of mmap/munmap on systems with an MMU.
2002-07-19Doc fix.Miles Bader
2002-07-18Miles Bader implemented a new mmap based malloc which is muchEric Andersen
smarter than the old "malloc-simple", and actually works, unlike the old "malloc". So kill the old "malloc-simple" and the old "malloc" and replace them with Miles' new malloc implementation. Update Config files to match. Thanks Miles!
2001-09-29Minor cleanupEric Andersen
2001-09-27Update to accomodate the header file changesEric Andersen
2001-03-19Fix up breakage resulting from flipping the sense of some defines. Change fromEric Andersen
defining things to "0" in the disabled case to outright undefining them, lest code that does an "#ifdef FOO" get inadvertantly triggered. Remove now unneeded lines from Rules.mak which makes the command line smaller and avoids redundancy (since this stuff is now pulled in via features.h). -Erik
2001-02-21Update to "malloc" so it will work on CPUs not supporting non-aligned words.Eric Andersen
malloc still only works for little-endian CPUs... Patch by Jean-Yves Avenard
2001-01-15Reduce dependancies -- don't use sysconf() internal to libc.Eric Andersen
2001-01-12"I will always compile before I commit."Eric Andersen
"I will always compile before I commit." "I will always compile before I commit." -Erik
2001-01-12Patch from James Graves <jgraves@deltamobile.com> to better handle m68k.Eric Andersen
Also fixes 2 very important malloc bugs! Anyone using malloc (esp mmu-less) should update and recompile. -Erik