Miles Bader [Thu, 25 Jul 2002 01:58:57 +0000 (01:58 -0000)]
Redo the locking, so that it may actually work. Now locking is done at
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.
Miles Bader [Tue, 23 Jul 2002 06:50:40 +0000 (06:50 -0000)]
* Automatically try to unmap heap free-areas when they get very big.
* 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.
Eric Andersen [Mon, 22 Jul 2002 17:10:30 +0000 (17:10 -0000)]
Rework syscall handling. Rewrite syscall handlers for x86 and ARM.
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
Eric Andersen [Thu, 18 Jul 2002 15:00:07 +0000 (15:00 -0000)]
Miles Bader implemented a new mmap based malloc which is much
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!
Clean up CLK_TCK situation. clock() and sysconf() now use an
arch-specific constant value defined in bits/uClibc_clk_tck.h.
Default is 100 (common/bits) but alpha uses 1024 following glibc.
Override per arch as necessary.
Eric Andersen [Wed, 10 Jul 2002 04:32:03 +0000 (04:32 -0000)]
Per bug report from Ronald Wahl <[email protected]>:
...inet_pton breaks since tolower is implemented as
a macro and its argument is evaluated more than once:
while ((ch = tolower (*src++)) != '\0') {
So I fixed it by just undefining tolower() so we use the
function version, not the macro.
-Erik
Eric Andersen [Sun, 7 Jul 2002 07:25:57 +0000 (07:25 -0000)]
Kill namespace pollution in getrpcent.c. Silence other rpc warnings
by fixing prototypes. Fix global stuff so it should behave itself
properly now,
-Erik
Eric Andersen [Sat, 6 Jul 2002 00:00:40 +0000 (00:00 -0000)]
Stupid filesystems like cramfs fail to guarantee that st_ino and st_dev
uniquely identify a file, contrary to SuSv3, so we cannot be quite so
precise as to require an exact match. Settle for something less...
Grumble...
-Erik
Enable WCHAR support for C/POSIX stub locales.
Implemented unformatted wide i/o functions. (ungetwc still needs testing)
Fix a few bugs in wchar.c.
Modifications for bcc/elks support.
Eric Andersen [Mon, 1 Jul 2002 16:36:20 +0000 (16:36 -0000)]
This patch, from Ronald Wahl <[email protected]>, fixes the
spots where I screwed up and forgot to fix realloc to use
free_unlocked() instead of free(). Thanks Ronald!
Eric Andersen [Thu, 20 Jun 2002 10:25:10 +0000 (10:25 -0000)]
Fix a bug reported by Michael Weiser <[email protected]>
which could cause incorrect invocations of g++. Cleanup a few things.
Add a new --uclibc-ctors flag allowing one to apply ctor/dtor support
to regular C code.
-Erik
Eric Andersen [Tue, 18 Jun 2002 20:43:49 +0000 (20:43 -0000)]
Cleanup the getcwd implementation (again) since I broke it
last night. Restore malloc-ing when buf=NULL for the syscall
version... Move getcwd to libc/sysdeps/linux/common and out
of syscalls.c so there is just one getcwd.o object present.
-Erik