summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386
AgeCommit message (Collapse)Author
2001-11-14Initial first (lame) pass at making a pthreads library. ThisEric Andersen
works for me when linking staticly on x86.
2001-11-14Fix the clone syscall so it actually works.Eric Andersen
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-03Cleanup brk/sbrkEric Andersen
2001-09-27Gut this file, and quit referrng to _IO_* junkEric Andersen
2001-09-27Update to accomodate the header file changesEric Andersen
2001-08-28This will hopefully make global constructors and destructors workEric Andersen
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-03remove bits/syscall.h when cleaningDavid Schleef
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-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-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-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-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-15I am very proud of myself. I managed to write a working _start forEric Andersen
x86 entirely in C -- no asm required. muahahahaha! -Erik
2001-05-26Makefile targets to symlink arch-specific headers into include/ (onlyDavid Schleef
used on mipsel.)
2001-05-25Add in some more GNU compatible locale stuff. I only implement theEric Andersen
C locale of course. util-linux needs this stuff to compile...
2001-05-12Ok, this should finish off my massive ro-organization. The sourceEric Andersen
tree is less messy now (which helps), all libraries are placed into uClibc/lib when compiling, all libraries now use a consistant mechanism for being built, all libraries use a consistant naming scheme where the lib name includes the uClibc version number, which makes ldconfig happy and willing to work with us. -Erik
2001-05-07Change FILENAME_MAX to be only 255. Max filename on ext2 is 255,Eric Andersen
so there is no reason to allocate 4k. Change working of execvep.c per patch from Matthias Kilian <kili@outback.escape.de> so that there is not a fixed 127 byte buffer. Too easy to overflow... -Erik
2001-04-19Bring sh and i386 longjmp implementations into syncEric Andersen
2001-04-19Remove all the __THROW macrosEric Andersen
2001-04-06Fix include/errno.h to not use kernel header, and instead use bits/errno.h.Eric Andersen
This required we use _LIBC instead of __LIBC__ to be consistent with glibc. This had some sideffects in sys/syscalls.h. While fixing things, I made everything use __set_errno() for (eventual) thread support. -Erik
2001-03-20Fix longjmp on i386. Also adds siglongjmp.Manuel Novoa III
2001-03-19Sync with glibc i386 bits.Eric Andersen
2001-03-19Sync i386 up with _all_ the glibc 2.1.3 include/bits headers,Eric Andersen
since we will end up needing a few more of them anyways, and all the other arches have the full set anyways. -Erik
2001-03-06Move fork to common/syscalls (with NO_MMU check). Add Makefile to sparc soManuel Novoa III
make clean works.
2001-03-05Patch from Michael Shmulevich (michaels@jungo.com) -- functions were notManuel Novoa III
declared type function.
2001-03-04Fixed vfork on i386. Reduced size of __uClibc_syscall.Manuel Novoa III
2001-02-19Create __uClibc_main to handle what can be done in C instead of each arch'sManuel Novoa III
respective crt0.S. crt0.S should now only be responsible for setting things up to call __uClibc_main(argc, argv, envp), which will do any other necessary setup (setting global __environ, stdio init, etc), call main, and exit. This should ease both maintainance and porting.
2001-02-09Revert stdio to initializing itself. Not quite a pretty but that ensures thatEric Andersen
we don't blow up by using too much stack space, and simplifies the job of supporting new architectures, since they don't have to mess with calling foo init functions in crt0 and cleaning up the resulting damage. -Erik
2001-01-25Clean up atexit.c; make sure sysconf and atexit agree; link in ref'd libgcc.aManuel Novoa III
objects with shared uClibc; allow disabling long long support.
2001-01-16"I will always compile before I commit."Eric Andersen
"I will always compile before I commit." "I will always compile before I commit." -Erik
2001-01-16Update the comments a wee bit.Eric Andersen
2001-01-16Remove an extra "/" from the crt0 pathEric Andersen
2001-01-16Makefile fixesEric Andersen
2001-01-16Facelist/cleanup for several syscalls. Added poll.Eric Andersen
2001-01-16Added common handling of errno.Eric Andersen
2001-01-15Fix termios handling. Now synced with behavior of GNU libc.Eric Andersen
-Erik
2001-01-15Use the name crt0.o, and cp it to $(TOPDIR)/libcrt0.oEric Andersen
2001-01-11A large update from Manuel Novoa III <mnovoa3@bellsouth.net>.Eric Andersen
2000-12-13Handle fork and vfork on a per architecture basis...Eric Andersen
2000-11-04Fix doc blunder.Eric Andersen
2000-11-04Make spelling of uClibc be consistant.Eric Andersen
2000-11-04More cleanups. Fix things so tinylogin compiles.Eric Andersen
Fix a bug in getdelim -- patch from David Whedon <dwhedon@gordian.com>.
2000-10-30Fix symbol problem. Add in arm support -- might even work...Eric Andersen
2000-10-30Remove need for the bloated sysdep.h -- we don't need it, so axe it.Eric Andersen
2000-10-30Fixup some PMTsEric Andersen