summaryrefslogtreecommitdiffstats
path: root/libc/stdlib
Commit message (Collapse)AuthorAgeFilesLines
...
* s/UCLIBC_HAS_MMU/ARCH_HAS_MMU/gEric Andersen2004-01-162-5/+5
|
* Include missing errno.h header (as noted by Alan Hourihane).Eric Andersen2004-01-141-3/+5
| | | | | Fix uninitialized pthread mutex used to lock the list of aligned memory blocks.
* Fix the manditory typo in my last minute untested fix.Eric Andersen2003-12-301-1/+1
| | | | -Erik
* Rework malloc. The new default implementation is based on dlmalloc from DougEric Andersen2003-12-3018-798/+3133
| | | | | | | Lea. It is about 2x faster than the old malloc-930716, and behave itself much better -- it will properly release memory back to the system, and it uses a combination of brk() for small allocations and mmap() for larger allocations. -Erik
* Update and restore malloc-simple. Slow as molasses, but triviallyEric Andersen2003-12-302-0/+233
| | | | | simple and releases memory immediately when asked to do so. -Erik
* Handle the app_fini stuff in exit without requiring atexit().Manuel Novoa III2003-12-271-0/+9
| | | | This avoids pulling in all the malloc/free code for a simple true/false app.
* Fix a long-standing bug with pthreads. A couple of linuxthreads filesManuel Novoa III2003-12-279-26/+26
| | | | | | | | | | | | | | | | were including libc-lock.h which had a bunch of weak pragmas. Also, uClibc supplied a number of no-op weak thread functions even though many weren't needed. This combined result was that sometimes the functional versions of thread functions in pthread would not override the weaks in libc. While fixing this, I also prepended double-underscore to all necessary weak thread funcs in uClibc, and removed all unused weaks. I did a test build, but haven't tested this since these changes are a backport from my working tree. I did test the changes there and no longer need to explicitly add -lpthread in the perl build for perl to pass its thread self tests.
* If realloc failed, we'd lose the pointer to the exit function table.Manuel Novoa III2003-11-021-6/+8
|
* Peter Kjellerstedt writes:Eric Andersen2003-10-183-3/+3
| | | | | | | rm.patch: * Define $(RM) as rm -f in Rules.mak and test/Rules.mak (this is the same definition as gmake uses by default). * Change all occurrences of rm and rm -f into $(RM).
* Doh!!!Eric Andersen2003-10-171-1/+1
|
* Do not set errno when they asked for size 0Eric Andersen2003-10-161-1/+1
|
* Code formatting cleanup.Miles Bader2003-10-161-5/+6
|
* Don't set errno if for zero SIZE returns.Miles Bader2003-10-161-11/+14
| | | | Code formatting cleanup.
* More fiddling with static free-areas: make sure both their size _and_Miles Bader2003-09-221-5/+5
| | | | their alignment are correct.
* Make sure we don't allocate too little space for static free-areasMiles Bader2003-09-191-1/+3
| | | | because of our fiddling with alignment (because doing so is VERY BAD).
* Add dependencies on header files.Miles Bader2003-09-191-2/+5
|
* Make sure static heaps are aligned correctly.Miles Bader2003-09-171-9/+11
|
* 'extern inline' doesn't work... Use 'static inline'Eric Andersen2003-09-061-5/+5
|
* add missing prototypeEric Andersen2003-09-061-0/+2
|
* Fix errno values. Fix MALLOC_GLIBC_COMPAT handling in malloc/malloc.c,Eric Andersen2003-09-064-37/+59
| | | | | which was reversed. Provide more consistancy between implementations. Handle it when people do stupid things like malloc(-1);
* mjn3 noticed we were missing seed48, which was odd since we hadEric Andersen2003-09-053-1/+70
| | | | all the other *48 random functions.
* Fix a few bugs in the new extended locale functions.Manuel Novoa III2003-08-242-25/+54
| | | | | | | | | Move stub gettext functions to a stub libintl to make switching in gnu gettext easier. Also add a few gnu-isms. Change to using hidden names with global weak aliases for the extended locale functions, as expected by libstd++. Slightly rework the locale data generation stuff to allow pregenerated locale data to be used with buildroot.
* Add in a MALLOC_GLIBC_COMPAT option to let people decide if theyEric Andersen2003-08-082-0/+10
| | | | want glibc style malloc(0) behavior
* Add a new *scanf implementation, includeing the *wscanf functions.Manuel Novoa III2003-08-013-245/+766
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should be standards compliant and with several optional features, including support for hexadecimal float notation, locale awareness, glibc-like locale-specific digit grouping with the `'' flag, and positional arg support. I tested it pretty well (finding several bugs in glibc's scanf in the process), but it is brand new so be aware. The *wprintf functions now support floating point output. Also, a couple of bugs were squashed. Finally, %a/%A conversions are now implemented. Implement the glibc xlocale interface for thread-specific locale support. Also add the various *_l(args, locale_t loc_arg) funcs. NOTE!!! setlocale() is NOT threadsafe! NOTE!!! The strto{floating point} conversion functions are now locale aware. The also now support hexadecimal floating point notation. Add the wcsto{floating point} conversion functions. Fix a bug in mktime() related to dst. Note that unlike glibc's mktime, uClibc's version always normalizes the struct tm before attempting to determine the correct dst setting if tm_isdst == -1 on entry. Add a stub version of the libintl functions. (untested) Fixed a known memory leak in setlocale() related to the collation data. Add lots of new config options (which Erik agreed to sort out :-), including finally exposing some of the stripped down stdio configs. Be careful with those though, as they haven't been tested in a long time. (temporary) GOTCHAs... The ctype functions are currently incorrect for 8-bit locales. They will be fixed shortly. The ctype functions are now table-based, resulting in larger staticly linked binaries. I'll be adding an option to use the old approach in the stub locale configuration.
* Thierry De Corte notices that when UCLIBC_HAS_FLOAT is disabled, we must alsoEric Andersen2003-04-231-5/+4
| | | | disable drand48, drand48_r, erand48, and erand48_r since they use floats.
* (free_to_heap): Unlock the heap before returning in theMiles Bader2003-04-021-2/+5
| | | | __UCLIBC_UCLINUX_BROKEN_MUNMAP__ case. Fix from YYang1@Winbond.com.tw.
* Doh! Fix potential stack corruption caused by dynamic atexitEric Andersen2003-01-241-2/+6
| | | | | allocating size incorrectly.... -Erik
* Kill the needless '#if 1'Eric Andersen2003-01-231-2/+0
|
* Update malloc behavior on malloc(0) to be consistant withEric Andersen2003-01-231-2/+5
| | | | malloc-930716 behavior, i.e. return a NULL.
* Ok... here's the summary:Manuel Novoa III2002-11-222-50/+176
| | | | | | | | | | | | | | Hopefully locale support will build when cross compiling now. Collation is still not supported, but that's what I'm currently working on. In the next couple of days, I'll probably put up a couple of files for download that will save people the trouble of generating all the glibc locales. Added *wprintf functions, although they currently don't support floating point. That will be fixed when I rewrite _dtostr... or possibly before. Added the wcsto{inttype} functions. Added iconv() and a mini iconv utility. The require locale support and only provide for conversions involving the various unicode encodings { UCS-4*, UCS-2*, UTF-32*, UTF-16*, UTF-8 }, the 8-bit codesets built with the locale data, and the internal WCHAR_T.
* Debugging tweaks.Miles Bader2002-11-212-8/+12
|
* Improve malloc debugging support.Miles Bader2002-11-217-46/+186
|
* Implement dynamic atexit handling. Adds a few bytes and a dependancyEric Andersen2002-11-191-28/+68
| | | | | on malloc (via realloc). -Erik
* Remove atof from strtod.o...Manuel Novoa III2002-11-071-7/+0
|
* Okay, fix for atof _correctly_...Manuel Novoa III2002-11-071-1/+4
|
* Apparently I forgot to build atof...Manuel Novoa III2002-11-071-1/+1
|
* Ok, this commit is _huge_ and its gonna change the world. I'veEric Andersen2002-10-314-22/+28
| | | | | | | | | | | | | | | been working on a new config system on and off for about 6 months now, but I've never been fully satisfied. Well, I'm finally am happy with the new config system, so here it is. This completely removes the old uClibc configuration system, and replaces it with an entirely new system based on LinuxKernelConf, from http://www.xs4all.nl/~zippel/lc/ As it turns out, Linus has just merged LinuxKernelConf into Linux 2.5.45, so it looks like I made the right choice. I have thus far updated only x86. I'll be updating the other architectures shortly. -Erik
* Fix a couple of 'restrict' bugs in mbstowcs and wcstombs.Manuel Novoa III2002-10-291-3/+10
|
* When UNIX98PTY_ONLY was false, but Unix 98 ptys were in fact working andEric Andersen2002-10-221-7/+9
| | | | | | | functional, everything would succeed but then we would return a failure due to a silly logic bug. This patch fixes it so things will work correctly regardless of the UNIX98PTY_ONLY setting. -Erik
* Don't infinitely recurse when trying to grow __malloc_mmb_heap.Miles Bader2002-10-181-18/+19
|
* Fix malloc so it compiles and works when using pthreadsEric Andersen2002-10-172-5/+5
| | | | -Erik
* Use __heap_[un]lock instead of __malloc_[un]lock.Miles Bader2002-10-151-4/+4
|
* Get rid of old malloc lock stuff.Miles Bader2002-10-151-8/+0
|
* Fix locking to not deadlock when __UCLIBC_UCLINUX_BROKEN_MUNMAP__ is defined.Miles Bader2002-10-152-34/+32
|
* * Add support for uClinux's broken munmap, contingent onMiles Bader2002-10-094-29/+264
| | | | | | | | | __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.
* A bug fix from Alexey V. Neyman:Eric Andersen2002-09-261-2/+2
| | | | | | | In case of vfork(), the parent was left with __exit_count of -1 and thus tried to find non-NULL value of __exit_function_table[-1].atexit, __exit_function_table[-2].atexit and call this function; of course, it leads to coredump.
* Hide my personal #warning reminders. Add __wcschrnul, rename strchrnulManuel Novoa III2002-09-191-0/+4
| | | | to __strchrnul, and add weak aliases for them.
* (__heap_check_failure): New function.Miles Bader2002-09-131-16/+67
| | | | (__heap_check): Add more checks. Use `__heap_check_failure'.
* Remove malloc_simple from subdir list.Manuel Novoa III2002-09-091-1/+1
|
* (realloc): Record the correct size in the malloc header in the caseMiles Bader2002-09-091-1/+1
| | | | | where we extended the existing allocation, and got back more than we asked for from the heap.