summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/i386
Commit message (Collapse)AuthorAgeFilesLines
...
* Eliminate wrapping of struct stat and use the kernel versionEric Andersen2002-08-191-0/+4
| | | | | | directly. Eliminate all the attendant baggage. Fix internal types to match kernel types more closely. -Erik
* Replace all instances of _LIBC_REENTRANT with __UCLIBC_HAS_THREADS__Eric Andersen2002-08-162-8/+8
| | | | -Erik
* Just in case, crash if somehow `exit' returns anywaysEric Andersen2002-08-061-0/+2
| | | | -Erik
* Add support for people calling syscall()Eric Andersen2002-07-243-76/+78
| | | | -Erik
* Rework syscall handling. Rewrite syscall handlers for x86 and ARM.Eric Andersen2002-07-221-156/+109
| | | | | | 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
* Clean up CLK_TCK situation. clock() and sysconf() now use anManuel Novoa III2002-07-151-73/+0
| | | | | | 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.
* Fix dummy main reference so it works...Eric Andersen2002-04-141-2/+6
|
* Manuel and I were looking into a problem with applications failing to linkEric Andersen2002-04-142-0/+7
| | | | | | | | | | (undefined reference to `main') when the .o file containing main was contained in an static library(a '.a' ar archive). It turns out that due to its single pass nature, GNU ld was failing to pull it into the build. This sticks a dummy reference to main() into crt0.o, so that when an application is linked with the main() function in a static library, we can be sure that main() actually gets linked in. -Erik
* Create a much more careful ftruncate64 implementation, that shouldEric Andersen2002-04-092-23/+1
| | | | | address all the concern Miles had with the earlier versions... -Erik
* Add in support for ftruncate64 on both ARM and x86Eric Andersen2002-03-312-1/+23
| | | | -Erik
* Remove the C++ support stubs, since these now live elsewhere andEric Andersen2002-03-162-19/+0
| | | | | these stubs were preventing the real stuff from working properly. -Erik
* Build our own crti.o and crtn.o with a cross arch method that IEric Andersen2002-03-131-1/+1
| | | | | can live with much better the what glibc does. -Erik
* Move syscall.h generation to the top level MakefileEric Andersen2002-03-011-1/+0
| | | | -Erik
* Major rework of the include files to eliminate redundancyEric Andersen2002-03-0165-7233/+524
| | | | | and to better support each arch. This is a really big patch... -Erik
* Fixup setjmp and longjmp so they behave themselves properly nowEric Andersen2002-01-313-84/+1
| | | | | on both x86 and arm... -Erik
* 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
|