summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/i386
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixup setjmp implementation so it actaully works as expectedEric Andersen2002-01-304-47/+146
| | | | -Erik
* Make sbrk common, add arm/brk.c, cleanup leftover damageEric Andersen2002-01-213-50/+3
|
* Turn off the useless personality crapEric Andersen2002-01-021-0/+2
|
* Change all 'cd <foo>; bar' constructs to 'cd <foo> && bar' forEric Andersen2002-01-011-2/+2
| | | | | proper error checking -Erik
* Update my email address. I am no longer andersen@lineo.comEric Andersen2001-12-192-6/+4
|
* Use the asm version by default on x86. Tag _start as a function.Eric Andersen2001-12-192-3/+6
|
* Add include/sys/reg.h to make gdbserver happyEric Andersen2001-11-292-0/+44
|
* Scrub up some lingering problems preventing readdir64 from workingEric Andersen2001-11-141-2/+4
| | | | | | and creating several *64 problems, particualrly when client apps used -D_FILE_OFFSET_BITS=64 -D__USE_FILE_OFFSET64. All better now. -Erik
* Initial first (lame) pass at making a pthreads library. ThisEric Andersen2001-11-141-0/+28
| | | | works for me when linking staticly on x86.
* Fix the clone syscall so it actually works.Eric Andersen2001-11-142-30/+31
|
* Wohoo! David McCullough found the bug! His comments follow:Eric Andersen2001-10-051-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ;-)
* Yet more minor cleanupsEric Andersen2001-10-041-1/+4
|
* Cleanup brk/sbrkEric Andersen2001-10-034-83/+77
|
* Gut this file, and quit referrng to _IO_* junkEric Andersen2001-09-271-146/+1
|
* Update to accomodate the header file changesEric Andersen2001-09-2771-1099/+1838
|
* This will hopefully make global constructors and destructors workEric Andersen2001-08-282-0/+21
|
* Added __BEGIN_DECLS and __END_DECLS to the files that didn't haveDavid McCullough2001-07-116-0/+20
| | | | | | it and that I could see needed it. Should be pretty low impact as these are only defined when using C++.
* remove bits/syscall.h when cleaningDavid Schleef2001-07-031-0/+1
|
* Added a script to create bits/syscall.h for each arch.Manuel Novoa III2001-06-284-426/+41
| | | | | | | | | | | 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.
* Stub out an initial version. Manuel will be writingEric Andersen2001-06-271-0/+229
| | | | some code to autogenerate this stuff...
* Step one in a process to ween ourselves off of using asm/unistd.h.Eric Andersen2001-06-271-1/+79
| | | | | This will break the build for a bit. -Erik
* Make these PIC and _LIBC_REENTRANT compatible.Manuel Novoa III2001-06-272-8/+89
|
* Remove simulated d_type support for getdents and the dirent struct, and useManuel Novoa III2001-06-251-2/+11
| | | | the straight getdents syscall instead of the wrapper (which leaked memory).
* This adds in support for PIC on x86. Unfortunately, this will breakEric Andersen2001-06-231-0/+81
| | | | | | all arches till they add in an libc/sysdeps/linux/<arch>/bits/syscalls.h file. Sorry about there, there was no other way... -Erik
* Add the in* and out* functions for i386. Note: the sys/io.h header forManuel Novoa III2001-06-171-0/+171
| | | | | | | | | 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.
* I am very proud of myself. I managed to write a working _start forEric Andersen2001-06-152-0/+52
| | | | | x86 entirely in C -- no asm required. muahahahaha! -Erik
* Makefile targets to symlink arch-specific headers into include/ (onlyDavid Schleef2001-05-261-0/+3
| | | | used on mipsel.)
* Add in some more GNU compatible locale stuff. I only implement theEric Andersen2001-05-251-0/+44
| | | | C locale of course. util-linux needs this stuff to compile...
* Ok, this should finish off my massive ro-organization. The sourceEric Andersen2001-05-121-3/+2
| | | | | | | | | 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
* Change FILENAME_MAX to be only 255. Max filename on ext2 is 255,Eric Andersen2001-05-071-1/+1
| | | | | | | 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
* Bring sh and i386 longjmp implementations into syncEric Andersen2001-04-191-0/+2
|
* Remove all the __THROW macrosEric Andersen2001-04-192-12/+12
|
* Fix include/errno.h to not use kernel header, and instead use bits/errno.h.Eric Andersen2001-04-063-9/+9
| | | | | | | 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
* Fix longjmp on i386. Also adds siglongjmp.Manuel Novoa III2001-03-204-2/+122
|
* Sync with glibc i386 bits.Eric Andersen2001-03-193-4/+4
|
* Sync i386 up with _all_ the glibc 2.1.3 include/bits headers,Eric Andersen2001-03-1929-0/+5529
| | | | | | since we will end up needing a few more of them anyways, and all the other arches have the full set anyways. -Erik
* Move fork to common/syscalls (with NO_MMU check). Add Makefile to sparc soManuel Novoa III2001-03-062-3/+1
| | | | make clean works.
* Patch from Michael Shmulevich (michaels@jungo.com) -- functions were notManuel Novoa III2001-03-052-4/+7
| | | | declared type function.
* Fixed vfork on i386. Reduced size of __uClibc_syscall.Manuel Novoa III2001-03-043-23/+38
|
* Create __uClibc_main to handle what can be done in C instead of each arch'sManuel Novoa III2001-02-191-31/+2
| | | | | | | 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.
* Revert stdio to initializing itself. Not quite a pretty but that ensures thatEric Andersen2001-02-091-21/+1
| | | | | | | 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
* Clean up atexit.c; make sure sysconf and atexit agree; link in ref'd libgcc.aManuel Novoa III2001-01-251-1/+4
| | | | objects with shared uClibc; allow disabling long long support.
* "I will always compile before I commit."Eric Andersen2001-01-161-0/+1
| | | | | | "I will always compile before I commit." "I will always compile before I commit." -Erik
* Update the comments a wee bit.Eric Andersen2001-01-161-4/+9
|
* Remove an extra "/" from the crt0 pathEric Andersen2001-01-161-1/+1
|
* Makefile fixesEric Andersen2001-01-161-4/+4
|
* Facelist/cleanup for several syscalls. Added poll.Eric Andersen2001-01-161-0/+51
|
* Added common handling of errno.Eric Andersen2001-01-161-7/+0
|
* Fix termios handling. Now synced with behavior of GNU libc.Eric Andersen2001-01-151-0/+212
| | | | -Erik
* Use the name crt0.o, and cp it to $(TOPDIR)/libcrt0.oEric Andersen2001-01-152-2/+133
|