summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386
AgeCommit message (Collapse)Author
2008-12-29- whitespace cleanup; no obj-code changesBernhard Reutner-Fischer
2008-12-23These defines needs to be considered after recent linux kernel combined i386 ↵Khem Raj
and x86_64 into x86
2008-12-15Remove __libc_posix_fadvise[64] alias. It existed on i386 and arm only,Denis Vlasenko
and google says only uclibc has it, no users at all. text data bss dec hex filename - 229374 1367 11280 242021 3b165 lib/libuClibc-0.9.30-svn.so + 229347 1367 11280 241994 3b14a lib/libuClibc-0.9.30-svn.so
2008-12-15sigaction overhaul as described in docs/sigaction.txtDenis Vlasenko
Run tested on i386.
2008-12-13Remove the rest of "bounded pointers" scaffolding. gcc website says"Denis Vlasenko
"Bounds Checking Projects... This project has been abandoned" for four years at least.
2008-12-12i386/brk.c: gcc can't figure out how to use %ebx in PIC mode,Denis Vlasenko
help it. Code size is the same.
2008-12-12smaller brk() for i386. Inspected assembly to see it's still valid.Denis Vlasenko
text data bss dec hex filename - 44 0 4 48 30 libc/sysdeps/linux/i386/brk.o + 42 0 4 46 2e libc/sysdeps/linux/i386/brk.o
2008-12-01fix sigset_t size for mips (it's the only arch with 128 signals).Denis Vlasenko
fix _NSIG for it. better document what's going on in sigaction(). seems to not induce any actual code changes (sans mips).
2008-11-21fix ioperm build problems caused by libc_hidden_proto removalDenis Vlasenko
2008-11-20next portion of libc_hidden_proto removalDenis Vlasenko
2008-11-15- Remove linux-specific prototypes if asked to.Bernhard Reutner-Fischer
2008-11-15- revert wrong r24049Bernhard Reutner-Fischer
2008-11-15- Remove linux-specific prototypes if asked to.Bernhard Reutner-Fischer
2008-10-19- fix sigaction on older kernels (Michael Deutschmann)Bernhard Reutner-Fischer
In issue #5554 Michael wrote: The implementation of sigaction on i386 for older kernels makes the system call using an inline asm element with two flaws: 1. The asm is not marked as depending on the kact structure or modifying the koact structure. Thus, GCC is free to assume these structures need not be kept consistent, allowing it to remove all initialization of kact. 2. The asm allows the signal number to be provided as a memory reference. But this allows GCC to provide a stack-relative operand, which will break because the assembler saves %ebx on the stack before using that operand. 1 didn't use to be a problem in practice because GCC 4.2.* didn't seize the optimization opportunity. GCC 4.3.2, however, optimizes out the "kact.sa_flags = act->sa_flags | SA_RESTORER;" line, so that the kernel sees garbage in sa_flags. This can result in the kernel seeing the SA_RESETHAND flag, causing erratic behaviour in signal dependent programs. 2 becomes an issue if "-fomit-frame-pointer" is provided. In uClibc-0.9.29 it isn't, uClibc-0.9.30-rc2 does use the flag by default.
2008-10-03- add long double math wrappers (Ned Ludd)Bernhard Reutner-Fischer
2008-09-29- now passes all LTP testsBernhard Reutner-Fischer
2008-09-25- fix !LFS case for i386Bernhard Reutner-Fischer
2008-09-19- add posix_fadvise. Not yet tested most likely broken in advise64Bernhard Reutner-Fischer
2008-09-19- take LFS into account and add fallback via fadvise64Bernhard Reutner-Fischer
2008-09-19- posix_fadvise64 for i386Bernhard Reutner-Fischer
2008-09-16- sync_file_range(). Missed the i386 directory in previous commitBernhard Reutner-Fischer
2008-09-16- add sync_file_range()Bernhard Reutner-Fischer
Tested successfully on i386..
2008-08-06- some more asm keyword fixes (Yann E. MORIN)Bernhard Reutner-Fischer
2008-07-23- trim any trailing whitespaceBernhard Reutner-Fischer
2008-07-23- fix asm and volatile keywordsBernhard Reutner-Fischer
2008-06-03- adds several config-options to allow for turning off certain featuresBernhard Reutner-Fischer
like o UCLIBC_HAS_GNU_ERROR o UCLIBC_HAS_BSD_ERR o UCLIBC_HAS_PTY o UCLIBC_HAS_GETPT (1) o UCLIBC_SYSCALL_STUBS o UCLIBC_SYSCALL_STUB_WARNING o UCLIBC_LINUX_SPECIFIC (2) o UCLIBC_BSD_SPECIFIC (3) o UCLIBC_NTP_LEGACY (4) o UCLIBC_SV4_DEPRECATED (5) o UCLIBC_HAVE_REALTIME (6) o UCLIBC_HAVE_ADVANCED_REALTIME (7) o UCLIBC_HAVE_EPOLL (8) o UCLIBC_HAVE_XATTR (9) o UCLIBC_HAVE_PROFILING (10) (1) make non-standard getpt optional and implement standard posix_openpt (2) fstatfs(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(), personality() ppoll(), setresuid() (3) mincore(), getdomainname(), setdomainname() (4) ntp_adjtime(), ntp_gettime() aliases (5) ustat() [use statfs(2) in your code instead] (6) All marked as "(REALTIME)" in SUSv3 (7) All marked as "(ADVANCED REALTIME)" in SUSv3 (8) epoll_create(), epoll_ctl(), epoll_wait() (9) all Extended Attributes (10) helpers for gcc's -finstrument-functions - Fixes _dl_exit() - Implements sleep(3) for !UCLIBC_HAVE_REALTIME - Implements usleep(3) for !UCLIBC_HAVE_REALTIME - adds #warning about incorrect posix_fadvise{,64}() - removes unused and unwanted uselib() Net outcome is that an allnoconfig with HAVE_SHARED is now about 88k instead of formerly 130k.
2008-06-01Rework smallint machinery so that it will reliably fail to compileDenis Vlasenko
even if arch overrides smallint size. Makes it easier to spot bugs on such arches.
2008-05-20Introduce and use small[u]int type. Changes in size:Denis Vlasenko
- 79 0 28 107 6b libc/inet/rpc/create_xid.o + 76 0 25 101 65 libc/inet/rpc/create_xid.o - 126 0 4 130 82 libc/misc/assert/__assert.o + 123 0 1 124 7c libc/misc/assert/__assert.o - 648 4 24 676 2a4 libc/misc/internals/__uClibc_main.o + 645 4 21 670 29e libc/misc/internals/__uClibc_main.o - 230 0 4 234 ea libc/stdlib/abort.o + 216 0 1 217 d9 libc/stdlib/abort.o - 129 0 4 133 85 libc/termios/tcgetsid.o + 126 0 1 127 7f libc/termios/tcgetsid.o
2008-05-19Moving libc_hidden_proto's into #ifdef UCLIBC_INTERNAL blockDenis Vlasenko
in string.h and strings.h. This caught unguarded string ops in libc/inet/ethers.c __ether_line_w() function. I will wait for fallout reports for a week or so, then continue converting more libc_hidden_proto's.
2008-05-03- add missing #endifBernhard Reutner-Fischer
2008-05-03- implement splice,vmsplice,tee for all archesBernhard Reutner-Fischer
- synch F_LINUX_SPECIFIC_BASE related fcntls for all arches
2008-05-02- add vmsplice, splice, tee (Timo Teräs)Bernhard Reutner-Fischer
- pull bits/fcntl.h from glibc (Timo Teräs)
2008-04-24- fixup asm. No object-code changesBernhard Reutner-Fischer
2008-01-17A patch from our Blackfin repository, originally from Jie Zhang. This fixesBernd Schmidt
a problem where the linker was trying to use the wrong symbol name for the init function. Define SYMBOL_PREFIX as _ in Rules.mak for h8300, bfin, i960, microblaze, and v850. Add -D__UCLIBC_UNDERSCORES__ in CFLAGS for targets which define SYMBOL_PREFIX as _. Remove defines and undefs from uClibc_arch_features.h of each target. Add $(SYMBOL_PREFIX) to __uClibc_init when passed by ld option -init.
2008-01-08change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when ↵Mike Frysinger
doing double negatives
2008-01-05michael_d writes in #1874: Mike Frysinger
On an i386 platform with no rt_sigsuspend syscall (ie: Linux 2.0), compilation will halt on libc/sysdeps/linux/common/sigsuspend.os with a cryptic error message: "Error: non-constant expression in ".if" statement" I've investigated and found that the cause is that a literal '0' is being passed into a block of complex assembler macrology that is only prepared to deal with register names - '%eax', etc. In turn, that seems to be because of a typo in the GCC register constraints. The constraints for 2 and 3-argument syscalls includes a "C" constraint. To gcc, "C" means an SSE floating point constant -- an unlikely element in a syscall. I suspect the author meant to type "S" (%esi).
2007-07-29Remove stray code alignment (.align 16 and .align 4 directives)Denis Vlasenko
from i386 and x86_64.
2007-06-24- make sure to define _LIBC in libc-symbols.h before including anythingBernhard Reutner-Fischer
else. - internal_function is only used inside libc, so do not define it in uClibc_arch_features.h on i386 if we are outside of libc.
2007-03-13Using local variable 'result' caused problems with lseek64 syscall failing ↵Khem Raj
with gcc 4.2. Renaming to make it a bit uncommon name.
2007-03-06Add posix_fadvise posix_fadvise64 for arm.Khem Raj
Import INTERNAL_SYSCALL macro for i386 from glibc. Use above macro in posix_fadvise implementation if an arch defines it.
2007-02-28Add a hack for compiling a 32 bit user space with a 64 bit kernel on x86_64Eric Andersen
2006-12-08Take Mike Frysinger's comments into account -- make certain that userEric Andersen
applications stop using _syscall#() and use syscall() instead. Cleanup internal handling of syscall includes to use the correct header file.
2006-12-06bits/kernel_stat.h is for internal uClibc use only, fix a few otherEric Andersen
minor include file issues
2006-08-24fix from psm: enable readahead prototypeMike Frysinger
2006-08-24use the common huge_val.h version nowMike Frysinger
2006-08-24fix from psm: just use common resource.hMike Frysinger
2006-08-23sync with psm: update errno handling to be the same on all archesMike Frysinger
2006-08-23sync with upstream via psmMike Frysinger
2006-08-23fixes from psm: hide internal brk symbolsMike Frysinger
2006-08-23fixes from psm: disable unsupported __fpu_control and sync with upstreamMike Frysinger