summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386
AgeCommit message (Collapse)Author
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
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