summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386
AgeCommit message (Collapse)Author
2003-05-30In a number of places we erroneously used tests such as '#ifdef PIC' when weEric Andersen
should instead have been testing for '#ifdef __PIC__'. This resulted in NON-PIC code getting mixed into the shared library. Oops!!! -Erik
2003-03-04Fix compile when profiling is disabledEric Andersen
2003-03-03Initial effort at adding profiling support.Eric Andersen
2003-02-03Oops. I'd left an extra invocation of sigaction in there...Eric Andersen
2003-01-24Finish up fixing stat and setting various system types.Eric Andersen
2003-01-24Ok, people are probably going to hate me for this... This commit changes theEric Andersen
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
2003-01-23Update architecture specific support to consistantlyEric Andersen
generate a crt0 and crt1 file. Most arches still need to be updated to call __uClibc_start_main() rather than __uClibc_main().
2003-01-23Update a tiny bitEric Andersen
2003-01-23simpler method for getting a 'main' reference. Make _init and _finiEric Andersen
be weak so people won't need to fix their compilers
2003-01-22Update sigaction syscall names to act more like glibc. Fix the x86 sigactionEric Andersen
implementation such that gdb can actually debug signal handlers. Gdb behaves much better now, for example, on multi-threaded apps. -Erik
2002-12-12Based on discussions with Stefan Allius, change it so that we alwaysEric Andersen
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
2002-11-29I forgot to include features.hEric Andersen
2002-11-27Make support for global constructors and global destructors beEric Andersen
configurable, so people who do not need or want ctor/dtor support can disable it and make their binaries a little bit smaller. -Erik
2002-10-09Support O_STREAMINGEric Andersen
2002-10-01This commit contains a patch from Stefan Allius <allius@atecom.com> to changeEric Andersen
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.
2002-09-05Change <bits/syscall.h> to <bits/sysnum.h>.Miles Bader
2002-08-27Added __kernel_fsid_t to satisfy some apps that need it.David McCullough
Definitions taken from 2.4 kernel sources for each of the platforms.
2002-08-26Make bits/kernel_types.h include guard names match the includeEric Andersen
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
2002-08-24Tweak things so that struct stat and struct stat64 (seem to) work onManuel Novoa III
i386. This is for Erik to look at wrt the other archs.
2002-08-24Break dependancy of bits/types.h on the asm/posix_types.h kernelEric Andersen
header, which is not directly usable for many architectures. -Erik
2002-08-23Split out the definition of struct stat into the new archEric Andersen
specific bits/kernel_stat.h file. -Erik
2002-08-19Eliminate wrapping of struct stat and use the kernel versionEric Andersen
directly. Eliminate all the attendant baggage. Fix internal types to match kernel types more closely. -Erik
2002-08-16Replace all instances of _LIBC_REENTRANT with __UCLIBC_HAS_THREADS__Eric Andersen
-Erik
2002-08-06Just in case, crash if somehow `exit' returns anywaysEric Andersen
-Erik
2002-07-24Add support for people calling syscall()Eric Andersen
-Erik
2002-07-22Rework syscall handling. Rewrite syscall handlers for x86 and ARM.Eric Andersen
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
2002-07-15Clean up CLK_TCK situation. clock() and sysconf() now use anManuel Novoa III
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.
2002-04-14Fix dummy main reference so it works...Eric Andersen
2002-04-14Manuel and I were looking into a problem with applications failing to linkEric Andersen
(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
2002-04-09Create a much more careful ftruncate64 implementation, that shouldEric Andersen
address all the concern Miles had with the earlier versions... -Erik
2002-03-31Add in support for ftruncate64 on both ARM and x86Eric Andersen
-Erik
2002-03-16Remove the C++ support stubs, since these now live elsewhere andEric Andersen
these stubs were preventing the real stuff from working properly. -Erik
2002-03-13Build our own crti.o and crtn.o with a cross arch method that IEric Andersen
can live with much better the what glibc does. -Erik
2002-03-01Move syscall.h generation to the top level MakefileEric Andersen
-Erik
2002-03-01Major rework of the include files to eliminate redundancyEric Andersen
and to better support each arch. This is a really big patch... -Erik
2002-01-31Fixup setjmp and longjmp so they behave themselves properly nowEric Andersen
on both x86 and arm... -Erik
2002-01-30Fixup setjmp implementation so it actaully works as expectedEric Andersen
-Erik
2002-01-21Make sbrk common, add arm/brk.c, cleanup leftover damageEric Andersen
2002-01-02Turn off the useless personality crapEric Andersen
2002-01-01Change all 'cd <foo>; bar' constructs to 'cd <foo> && bar' forEric Andersen
proper error checking -Erik
2001-12-19Update my email address. I am no longer andersen@lineo.comEric Andersen
2001-12-19Use the asm version by default on x86. Tag _start as a function.Eric Andersen
2001-11-29Add include/sys/reg.h to make gdbserver happyEric Andersen
2001-11-14Scrub up some lingering problems preventing readdir64 from workingEric Andersen
and creating several *64 problems, particualrly when client apps used -D_FILE_OFFSET_BITS=64 -D__USE_FILE_OFFSET64. All better now. -Erik
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