summaryrefslogtreecommitdiff
path: root/libc
AgeCommit message (Collapse)Author
2001-10-05Wohoo! David McCullough found the bug! His comments follow:Eric Andersen
I had a look at it and you won't believe it was always broken. I'll try and explain it, let me know if it doesn't make sense. * ash calls setjmp, which messes with the stack to look like it has two args instead of one and then jmps (actually falls) into sigsetjmp. BUG * sigsetjmp then saves the registers and "jumps" to __sigset_save, a C function. BUG1 - because the caller pops its args off the stack, a program that changes it's number of args is broken because the caller will not pop the correct number of args. I think that jumping from the sigsetjmp asm to the 'C' code is unsafe but I can't think of an example. Anyway, I have attached what I think is a working fix. The reason this worked without -fomit-frame-pointer is that the _sigset_save 'C' code would restore the stack pointer from %ebp (the frame pointer) and because none of the asm had moded it, when we returned from __sigset_save the stack was back to it's correct position for 1 argument despite our best attempts to stuff it up ;-)
2001-10-04Yet more minor cleanupsEric Andersen
2001-10-04Patch from David McCullough <davidm@lineo.com>:Eric Andersen
* reduce the sigset types to 32 bits (I've mentioned this before) I think I saw this change go in for another platform anyway ;-) * Do not use _IO_FILE as it clashes with the C++ libraries which know too much about how glibc workds :-( * Do not use _G_va_list for the same reason. * remove the CTORS/DTORS from crt0.S for ARM as the compiler provided crtbegin.o and crtend.o have these (and only these) already in them and you get multiple defined errs :-(
2001-10-04With all the headerfile changes, some functions didn't get there arg typesDavid McCullough
fixed up.
2001-10-03Minor cleanupsEric Andersen
2001-10-03Silly little changesEric Andersen
2001-10-03Cleanup brk/sbrkEric Andersen
2001-09-30Fix nasty behavior difference from glibc -- also fixes getline()Eric Andersen
-Erik
2001-09-29Minor cleanupEric Andersen
2001-09-29Fix prototypeEric Andersen
2001-09-29Add in gcvt()Eric Andersen
2001-09-27Sigh. Erik mucks it up again...Eric Andersen
2001-09-27Make iopl and ioperm workEric Andersen
2001-09-27Duh.Eric Andersen
2001-09-27Add inb, outb and friends,Eric Andersen
2001-09-27Silence a silly warningEric Andersen
2001-09-27Silence stupid warnings caused by bad kernel network includesEric Andersen
2001-09-27Gut this file, and quit referrng to _IO_* junkEric Andersen
2001-09-27Finish syncing up armEric Andersen
2001-09-27Update to accomodate the header file changesEric Andersen
2001-09-25Fix fseek behavior.Manuel Novoa III
2001-09-15OopsEric Andersen
2001-09-15Recurse into 'file'Eric Andersen
2001-09-15Add lockfEric Andersen
2001-09-06Patch from Andrew Ip <aip@cwlinux.com> to add ftime,Eric Andersen
allowing openssl to be built.
2001-08-30"Kim B. Heino" <Kim.Heino@bluegiga.com> reportsEric Andersen
In the libc/stdlib/bsd_getpt.c file you have line: memcpy (buf, _PATH_PTY, sizeof (_PATH_PTY) - 1); It really should be: memcpy (buf, _PATH_PTY, sizeof (_PATH_PTY) ); The last nul character must be copied too because the next line uses strlen() to get buf's length.
2001-08-28Fix goofy formattingEric Andersen
2001-08-28This will hopefully make global constructors and destructors workEric Andersen
2001-08-28Add "__write" as a weak alias for "write"Eric Andersen
2001-08-24Use "stdin", "stdout", and "stderr", not "_stdin", "_stdout", andEric Andersen
"_stderr", since this is what gcc and libgcc expect... -Erik
2001-08-24Add the __fopen prototype, since I pulled it from stdio.hEric Andersen
2001-08-24atoi, atol, atoll, and atof are supposed to be functions, not macros.Eric Andersen
-Erik
2001-08-17Fix a silly bug with the header fileEric Andersen
2001-08-14use some #defines internal to the ctype functions to eliminate themEric Andersen
calling other tiny ctype functions. Now all ctype funcs will end up with no extern references, which ends up shrinking both the uClibc shared lib and shrinking client code. -Erik
2001-08-11I just wrote a stpncpy() since someone wanted itEric Andersen
2001-08-11I rewrote strcat without any function calls.Eric Andersen
2001-08-09Add cmsg_nxthdr function for the cases where the headersDavid McCullough
do not so it inline.
2001-08-09Add in changes from philipc@lineo:David McCullough
Fix three bugs and bring into line with glibc: 1. The first character read using getc() was being ignored if it was EOF. Normally this is okay because the next getc() returns EOF as well, but for sscanf, this was causing us to skip the null terminator and start scanning whatever happened to be next in memory. 2. %s, %c, and %[ formats now return -1 if EOF is reached before any characters are read, instead of 0. This was causing an infinite loop in diald. 3. Default to base 10 for %i fields if not prefix modifier present.
2001-08-09Added sigset_t casts so we behave like the other platforms.David McCullough
2001-08-09Fix a couple of warningsDavid McCullough
2001-08-09Make sure the weak aliases are defined before the functions/varsDavid McCullough
they use as stubs, otherwise, some compilers (ie., m68k-elf) tie them to the local symbols and the weak aliases do not work.
2001-08-08This syncs things up with my local tree. Mainly changes installerEric Andersen
issues, and syns things (as far as I am willing) with Dave Schleef's tree. We may need to go another round or so, but we do seem to be converging...
2001-08-06Fixup the pipe system call for the SH target.David McCullough
The FD's are returned in registers.
2001-07-28Oops... left in a debugging line.Manuel Novoa III
2001-07-28Back out the changes to _uClibc_fread and loop in fread() if incomplete, toManuel Novoa III
avoid problems with fgets on tty streams. I actually did some testing this time. ;-) Note: there is a difference in behavior between glibc and uClibc here regarding fread() on a tty stream. glibc's fread() seems to return after reading all _available_ data even if not at end-of-file, while uClibc's fread() continues reading until all requested or eof or error. The latter behavior seems correct w.r.t. the standards.
2001-07-26Yes... the previous "fix" was broken too... the result of careless cuttingManuel Novoa III
and pasting while pressed for time. I haven't checked this one either. :-(
2001-07-25Ok... the fix wasn't quite so straightforward. Hopefully this will do it.Manuel Novoa III
2001-07-25Fix fread bug reported by Vodz. The fix is straightforward, but I haven'tManuel Novoa III
tested it (lack of time).
2001-07-16use ln -fsEric Andersen
2001-07-13PowerPC has a different kernel interface for termios. Grrr...David Schleef