summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/i386
Commit message (Collapse)AuthorAgeFilesLines
...
* Oops. I'd left an extra invocation of sigaction in there...Eric Andersen2003-02-031-3/+1
|
* Finish up fixing stat and setting various system types.Eric Andersen2003-01-241-1/+1
|
* Ok, people are probably going to hate me for this... This commit changes theEric Andersen2003-01-241-29/+2
| | | | | | | | | | | | | | | type of 'struct stat' and 'struct stat64' so they use consistant types. This change is the result of a bug I found while trying to use GNU tar. The problem was caused by our using kernel types within struct stat and trying to directly compare these values with standard types. Trying an 'if (a < b)' when 'a' is an 'unsigned long' and 'b' is an 'int' leads to very different results then when comparing entities of the same type (i.e. time_t values).... Grumble. Nasty stuff, but I'm glad I got this out of the way now. As a result of this fix, uClibc 0.9.17 will not be binary compatible with earlier releases. I have always warned people this can and will happen. -Erik
* Update architecture specific support to consistantlyEric Andersen2003-01-232-3/+2
| | | | | | generate a crt0 and crt1 file. Most arches still need to be updated to call __uClibc_start_main() rather than __uClibc_main().
* Update a tiny bitEric Andersen2003-01-231-5/+1
|
* simpler method for getting a 'main' reference. Make _init and _finiEric Andersen2003-01-231-6/+12
| | | | be weak so people won't need to fix their compilers
* Update sigaction syscall names to act more like glibc. Fix the x86 sigactionEric Andersen2003-01-222-1/+170
| | | | | | implementation such that gdb can actually debug signal handlers. Gdb behaves much better now, for example, on multi-threaded apps. -Erik
* Based on discussions with Stefan Allius, change it so that we alwaysEric Andersen2002-12-123-61/+6
| | | | | | | build a crt0.o and a crt1.o. crt1.o will support ctors and dtors if such support is enabled. One more gratuitous toolchain support issue is thereby removed... -Erik
* I forgot to include features.hEric Andersen2002-11-291-0/+2
|
* Make support for global constructors and global destructors beEric Andersen2002-11-271-0/+9
| | | | | | configurable, so people who do not need or want ctor/dtor support can disable it and make their binaries a little bit smaller. -Erik
* Support O_STREAMINGEric Andersen2002-10-091-0/+1
|
* This commit contains a patch from Stefan Allius <allius@atecom.com> to changeEric Andersen2002-10-011-15/+12
| | | | | | | how uClibc handles _init and _fini, allowing shared lib constructors and destructors to initialize things in the correct sequence. Stefan ported the SH architecture. I then ported x86, arm, and mips. x86 and arm are working fine, but I don't think I quite got things correct for mips.
* Change <bits/syscall.h> to <bits/sysnum.h>.Miles Bader2002-09-053-5/+5
|
* Added __kernel_fsid_t to satisfy some apps that need it.David McCullough2002-08-271-0/+8
| | | | Definitions taken from 2.4 kernel sources for each of the platforms.
* Make bits/kernel_types.h include guard names match the includeEric Andersen2002-08-261-3/+9
| | | | | | | guard names used by the kernel's asm/posix_types.h to eliminate gratuitous conflicts and let our file win over the very-likely- to-be-broken kernel header file. -Erik
* Tweak things so that struct stat and struct stat64 (seem to) work onManuel Novoa III2002-08-241-0/+27
| | | | i386. This is for Erik to look at wrt the other archs.
* Break dependancy of bits/types.h on the asm/posix_types.h kernelEric Andersen2002-08-241-0/+29
| | | | | header, which is not directly usable for many architectures. -Erik
* Split out the definition of struct stat into the new archEric Andersen2002-08-231-0/+56
| | | | | specific bits/kernel_stat.h file. -Erik
* 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++.