summaryrefslogtreecommitdiff
path: root/libc/stdlib
AgeCommit message (Collapse)Author
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-09-05mjn3 noticed we were missing seed48, which was odd since we hadEric Andersen
all the other *48 random functions.
2003-08-24Fix a few bugs in the new extended locale functions.Manuel Novoa III
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.
2003-08-08Add in a MALLOC_GLIBC_COMPAT option to let people decide if theyEric Andersen
want glibc style malloc(0) behavior
2003-08-01Add a new *scanf implementation, includeing the *wscanf functions.Manuel Novoa III
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.
2003-04-23Thierry De Corte notices that when UCLIBC_HAS_FLOAT is disabled, we must alsoEric Andersen
disable drand48, drand48_r, erand48, and erand48_r since they use floats.
2003-04-02(free_to_heap): Unlock the heap before returning in theMiles Bader
__UCLIBC_UCLINUX_BROKEN_MUNMAP__ case. Fix from YYang1@Winbond.com.tw.
2003-01-24Doh! Fix potential stack corruption caused by dynamic atexitEric Andersen
allocating size incorrectly.... -Erik
2003-01-23Kill the needless '#if 1'Eric Andersen
2003-01-23Update malloc behavior on malloc(0) to be consistant withEric Andersen
malloc-930716 behavior, i.e. return a NULL.
2002-11-22Ok... here's the summary:Manuel Novoa III
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.
2002-11-21Debugging tweaks.Miles Bader
2002-11-21Improve malloc debugging support.Miles Bader
2002-11-19Implement dynamic atexit handling. Adds a few bytes and a dependancyEric Andersen
on malloc (via realloc). -Erik
2002-11-07Remove atof from strtod.o...Manuel Novoa III
2002-11-07Okay, fix for atof _correctly_...Manuel Novoa III
2002-11-07Apparently I forgot to build atof...Manuel Novoa III
2002-10-31Ok, this commit is _huge_ and its gonna change the world. I'veEric Andersen
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
2002-10-29Fix a couple of 'restrict' bugs in mbstowcs and wcstombs.Manuel Novoa III
2002-10-22When UNIX98PTY_ONLY was false, but Unix 98 ptys were in fact working andEric Andersen
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
2002-10-18Don't infinitely recurse when trying to grow __malloc_mmb_heap.Miles Bader
2002-10-17Fix malloc so it compiles and works when using pthreadsEric Andersen
-Erik
2002-10-15Use __heap_[un]lock instead of __malloc_[un]lock.Miles Bader
2002-10-15Get rid of old malloc lock stuff.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-26A bug fix from Alexey V. Neyman:Eric Andersen
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.
2002-09-19Hide my personal #warning reminders. Add __wcschrnul, rename strchrnulManuel Novoa III
to __strchrnul, and add weak aliases for them.
2002-09-13(__heap_check_failure): New function.Miles Bader
(__heap_check): Add more checks. Use `__heap_check_failure'.
2002-09-09Remove malloc_simple from subdir list.Manuel Novoa III
2002-09-09(realloc): Record the correct size in the malloc header in the caseMiles Bader
where we extended the existing allocation, and got back more than we asked for from the heap.
2002-09-06Add #include <malloc.h> to silence warning.Manuel Novoa III
2002-09-06Initial checkin.Miles Bader
2002-09-06Update debugging hooks.Miles Bader
2002-09-05split-out memalign and reallocEric Andersen
-Erik
2002-09-04Make sjhill happy, and revive memalignEric Andersen
-Erik
2002-09-04Per discussions with Erik, 'valloc.c' should be built on top of whichever"Steven J. Hill"
memory allocator you choose. Unfortunately, the 'malloc-930716' needs a fair amount of work before it is functional. For now, changes have been made to add the 'valloc' call and it works properly with the plain 'malloc' allocator.
2002-09-04Added 'valloc' back in. Ok, Erik can smack me now."Steven J. Hill"
2002-09-04Added function 'mkdtemp' for Linux Test Project."Steven J. Hill"
2002-09-04(free):Miles Bader
Update debug statement. Update to use __heap_delete and __heap_is_empty.
2002-09-04(__heap_delete): Renamed from `__heap_unlink_free_area'.Miles Bader
(__heap_free_area_alloc): Use __heap_delete. (__heap_is_empty): New macro.
2002-08-30Doc fix.Miles Bader
2002-08-30(__heap_free): Tighten up the inner loop, and make the code more readable.Miles Bader
2002-08-30Use `likely' & `unlikely' instead of the `__malloc_'-prefixed versions.Miles Bader
2002-08-30(likely, unlikely): New macros.Miles Bader
2002-08-30(likely, unlikely): New macros.Miles Bader
(__malloc_likely, __malloc_unlikely): Macros removed.
2002-08-25Kill the HAS_LONG_LONG option. It really did not make a lot ofEric Andersen
sense to exclude it, gcc always supports long long, and we never fully excluded long long anyways (off64_t for example). -Erik
2002-08-19Eliminate wrapping of struct stat and use the kernel versionEric Andersen
directly. Eliminate all the attendant baggage. Fix internal types to match kernel types more closely. -Erik
2002-08-19(CSRC): Make contents source files, not object files.Miles Bader
2002-08-19(CSRC): Add `memalign.c'.Miles Bader