summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux
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-03Silly little changesEric Andersen
2001-10-03Cleanup brk/sbrkEric 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-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-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-09Add cmsg_nxthdr function for the cases where the headersDavid McCullough
do not so it inline.
2001-08-09Added sigset_t casts so we behave like the other platforms.David McCullough
2001-08-06Fixup the pipe system call for the SH target.David McCullough
The FD's are returned in registers.
2001-07-16use ln -fsEric Andersen
2001-07-13The previous termios.h strongly appeared to be from a differentDavid Schleef
architecture.
2001-07-11Added __BEGIN_DECLS and __END_DECLS to the files that didn't haveDavid McCullough
it and that I could see needed it. Should be pretty low impact as these are only defined when using C++.
2001-07-11Fixup the atexit weak alias for elf, need to include <features.h> toDavid McCullough
get the correct value for the HAVE_ELF define.
2001-07-09Workaround an old m68k-coff compiler problemEric Andersen
2001-07-03remove bits/syscall.h when cleaningDavid Schleef
2001-07-03Autogen include/bits/syscall.h for ARMEric Andersen
-Erik
2001-07-03Get rid of warning messages and spurious diffsDavid Schleef
2001-07-03Need to include sys/syscall.h because of other changesDavid Schleef
2001-07-03It is now autogeneratedDavid Schleef
2001-07-03Fix to autogen bits/syscall.h, like i386David Schleef
2001-06-30Add syscalls.h for ARMEric Andersen
2001-06-28Changes for new auto-generated syscall.hDavid McCullough
2001-06-28Changes to support autogenerated syscall.hDavid McCullough
2001-06-28sysdep.h was not providing all the needed bits to build working asm withDavid McCullough
some compilers, so define any macros we need that are not defined already. Needed to include uClibc_config.h to get some defines. New syscall header files for _mmap vfork.c is not used so ditch it.
2001-06-28Added a script to create bits/syscall.h for each arch.Manuel Novoa III
NOTE!!! This is run by "make -C libc/sysdeps/linux/$(TARGET_ARCH) headers" in the main Makefile, but I only changed libc/sysdeps/linux/i386/Makefile as I had no way of testing it for the other archs. Various arch maintainers, please check and update the corresponding Makefile... or report bugs ;-)... appropriately. You'll also want to "cvs del" syscall.h and add it to a .cvsignore in $(ARCH)/bits. Also added a define to uClibc_config.h, __UCLIBC_USE_UNIFIED_SYSCALL__, and moved i386 unified syscall stuff out of common and into i386/bits/syscalls.h.
2001-06-27the minimum needed for nowDavid McCullough
2001-06-27Added this guy, nothing needed here really.David McCullough
2001-06-27Remove obsolete files tell.c and getdents.cManuel Novoa III
2001-06-27Stub out an initial version. Manuel will be writingEric Andersen
some code to autogenerate this stuff...
2001-06-27Step one in a process to ween ourselves off of using asm/unistd.h.Eric Andersen
This will break the build for a bit. -Erik
2001-06-27Make these PIC and _LIBC_REENTRANT compatible.Manuel Novoa III
2001-06-27Yes... I forgot to update bits/dirent.h for the other archs. :-(Manuel Novoa III
2001-06-25Remove simulated d_type support for getdents and the dirent struct, and useManuel Novoa III
the straight getdents syscall instead of the wrapper (which leaked memory).
2001-06-25Add in missing syscalls.h for powerpcEric Andersen
2001-06-25Fixed vfork so the child doesn't trash the parents return address.David McCullough
2001-06-23This adds in support for PIC on x86. Unfortunately, this will breakEric Andersen
all arches till they add in an libc/sysdeps/linux/<arch>/bits/syscalls.h file. Sorry about there, there was no other way... -Erik
2001-06-21Patch from Shane Nay, who noticed that these were not properly labelingEric Andersen
functions as such, thereby hosing the shared lib loader.
2001-06-19This was violating policy and using a kernel header file...Eric Andersen
-Erik
2001-06-18This commit finishes adding support for the old m68k-coff toolchains byEric Andersen
working around a missing header file in the compiler shipped with the uCsimm and uCdimm. This should make the folk in Toronto happy, since now they can use the latest CVS version of uClibc. -Erik
2001-06-17Add the in* and out* functions for i386. Note: the sys/io.h header forManuel Novoa III
glibc-2.2.2 actually defines static inline versions for i386, but only provides prototypes for externs for the other archs I looked at. Since uClibc shares this header amongst archs, I stashed the inline defs in bits/io_i386.h and included it when __i386__ was defined. Better solutions are most welcome, but it doesn't clutter sys/io.h too badly and now lilo and the pcmcia tools build against uClibc on i386 without modification.
2001-06-15These are needed for powerpc to compileEric Andersen