summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
...
* Per suggestion from Miles Bader, move calloc.c to libc/stdlib.Eric Andersen2002-08-074-11/+15
| | | | | | Also, Manuel notices that I forgot to check for when nmemb=0, which would result in a segfault, so fix that case as well. -Erik
* Fixup the last missing pieces of thread lockingEric Andersen2002-08-061-22/+80
| | | | -Erik
* Rework RPC code once again. By default, only enable theEric Andersen2002-08-0614-33/+708
| | | | | stuff needed for NFS mounts, rsh, and similar. -Erik
* Changed fflush() behavior to no-op for r/w streams in read-mode.Manuel Novoa III2002-08-061-17/+33
| | | | | | | | | | | | | This falls under undefined behavior wrt ANSI/ISO C99, but SUSv3 seems to treat it as a no-op and it occurs in some apps. Fixed a problem with _stdio_fwrite() not checking for underlying write() failures. Fixed both _stdio_fwrite() and _stdio_fread() to make sure that the putc and getc macros were disabled if the stream was in and error state. The above changes should take care of a problem initially reported by "Steven J. Hill" <sjhill@realitydiluted.com>.
* Unify calloc (its the same thing regardless of the underlyingEric Andersen2002-08-064-59/+35
| | | | | | | | malloc implementation). Fix problem reported to bugtraq about problems with integer overflow that can occur during the computation of the memory region size by calloc (and similar functions) which could result in a subsequent buffer overflow. -Erik
* Just in case, crash if somehow `exit' returns anywaysEric Andersen2002-08-061-0/+2
| | | | -Erik
* A couple of little cleanups I forgot to check in.Manuel Novoa III2002-08-032-3/+1
|
* When DODEBUG and HAS_WCHAR were enabled and HAS_LOCALE was disabled,Eric Andersen2002-08-031-2/+6
| | | | | | | | wchar.c wouldn't compile: wchar.c: In function `__mbsnrtowcs': wchar.c:631: `__ctype_encoding_7_bit' undeclared (first use in this function) This fixes it by keeping the locale specific asserts hidden when not relevant. -Erik
* Use MALLOC_REALLOC_MIN_FREE_SIZE.Miles Bader2002-08-011-1/+1
|
* (MALLOC_REALLOC_MIN_FREE_SIZE): New macro.Miles Bader2002-08-011-2/+8
| | | | Enable debugging if MALLOC_DEBUGGING is defined.
* (HEAP_MIN_SIZE): New macro.Miles Bader2002-08-011-6/+15
| | | | | (HEAP_MIN_FREE_AREA_SIZE): Increase size. Enable debugging if HEAP_DEBUGGING is defined.
* Joseph Chiu <josephc@idealab.com> found an off-by-one bug. oops!Eric Andersen2002-08-011-1/+1
|
* In the allocate-and-copy case, don't include the malloc header in ourMiles Bader2002-07-311-2/+2
| | | | size calculations.
* Update debugging printfs.Miles Bader2002-07-313-4/+4
|
* Per discussion on the mailing list, simply vfork -> fork mapping to only applyEric Andersen2002-07-313-3/+3
| | | | | iff we do not have vfork available, which is simpler and more reasonable. -Erik
* Patch from Martin Proulx <mproulx@okiok.com> to fix i960Eric Andersen2002-07-311-1/+1
| | | | create_module() support.
* Account for MALLOC_HEADER_SIZE when calculating new size.Miles Bader2002-07-311-3/+4
|
* Use MALLOC_HEADER_SIZE.Miles Bader2002-07-311-1/+1
|
* (MALLOC_HEADER_SIZE): New macro.Miles Bader2002-07-311-2/+6
| | | | (MALLOC_BASE, MALLOC_ADDR): Use it.
* Make sure NEW_SIZE is a multiple of HEAP_GRANULARITY.Miles Bader2002-07-301-2/+2
| | | | Calculate amount freed when shrinking correctly.
* Update the size of grown/shrunk allocations.Miles Bader2002-07-301-16/+16
| | | | MALLOC_SET_SIZE now takes the user-address rather than the base-address.
* MALLOC_SET_SIZE now takes the user-address rather than the base-address.Miles Bader2002-07-301-2/+1
|
* Define MALLOC_SET_SIZE to take the user-address rather than the base-address.Miles Bader2002-07-301-2/+2
|
* Implement shrinking.Miles Bader2002-07-301-6/+19
| | | | | Fix bug when growing an allocation. Use new malloc header macros.
* Use new malloc header macros.Miles Bader2002-07-302-5/+6
|
* Add macros to abstract the malloc header format a bit.Miles Bader2002-07-301-1/+22
|
* Oops. I accidentally omitted the actual mknod() function.Eric Andersen2002-07-271-0/+9
| | | | -Erik
* Ok, I get it. sjhill kept adding the 'find' command sinceEric Andersen2002-07-261-0/+1
| | | | | | include/sgidefs.h wasn't getting scrubbed. Fix it so this symlink gets properly scrubbed, even for mipsel. -Erik
* The __set_errno macro _must_ match that defined in include/bits/errno.h. WeEric Andersen2002-07-261-1/+9
| | | | | | | can't tack in the return -1 since then when people include errno.h, the return -1 mysteriously vanishes... Setting the __set_errno back and restoring the 'return -1;' calls to each _syscall[0-n] macro makes mips syscalls work again. -Erik
* ldso specific syscalls and userspace syscalls all in one file now."Steven J. Hill"2002-07-251-5/+214
|
* Implement syscall() for armEric Andersen2002-07-252-1/+50
| | | | -Erik
* Size tweaks.Miles Bader2002-07-253-15/+17
|
* Miscellaneous tidying-up.Miles Bader2002-07-252-13/+10
|
* Redo the locking, so that it may actually work. Now locking is done atMiles Bader2002-07-258-130/+186
| | | | | | | | | 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.
* Add support for people calling syscall()Eric Andersen2002-07-243-76/+78
| | | | -Erik
* Remove source files that, well, no longer exist :)."Steven J. Hill"2002-07-241-1/+1
|
* Factor out some common code sequences into inline functions.Miles Bader2002-07-242-53/+74
|
* Misc small cleanups.Miles Bader2002-07-243-4/+6
|
* Remove, since it's entirely incorrectMiles Bader2002-07-241-33/+0
|
* * Automatically try to unmap heap free-areas when they get very big.Miles Bader2002-07-238-190/+234
| | | | | | | | * 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.
* Add some syscalls which I moved out of syscalls.cEric Andersen2002-07-225-0/+239
| | | | -Erik
* Rework syscall handling. Rewrite syscall handlers for x86 and ARM.Eric Andersen2002-07-2220-886/+423
| | | | | | Prepare to kill the UNIFIED_SYSCALL option and instead have it be a per arch thing that is either enabled or not for that arch. -Erik
* Doc fix.Miles Bader2002-07-195-5/+5
|
* Rename mutex stuff to use heap-specific names.Miles Bader2002-07-195-24/+26
| | | | Doc fix.
* Miles Bader implemented a new mmap based malloc which is muchEric Andersen2002-07-1816-1392/+740
| | | | | | | 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!
* Fix from "Gerhard Uttenthaler" <uttenthaler@ems-wuensche.com> soEric Andersen2002-07-161-1/+1
| | | | that cfsetspeed would actually be compiled in.
* We don't need the debug versionsEric Andersen2002-07-161-2/+2
|
* __morecore need not be a function pointerEric Andersen2002-07-161-9/+8
|
* Disable debug stuff by defaultEric Andersen2002-07-161-1/+1
|
* Odd. Got a copy of junk in here.Eric Andersen2002-07-161-9/+0
|