summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386/sigaction.c
AgeCommit message (Collapse)Author
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-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-20next portion of libc_hidden_proto removalDenis Vlasenko
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-07-23- trim any trailing whitespaceBernhard Reutner-Fischer
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.
2007-07-29Remove stray code alignment (.align 16 and .align 4 directives)Denis Vlasenko
from i386 and x86_64.
2006-02-02even the hidden version of the weaks in libc (as strong in libpthread) have ↵Peter S. Mazinger
to be weaks
2006-01-26Get rid of missing prototype warningsPeter S. Mazinger
2006-01-25Guard the use of sigreturn as in x86_64, thx blindvtPeter S. Mazinger
2006-01-23make sigaction/raise/sigwait/siglongjmp/longjmp weak_alias, these are in ↵Peter S. Mazinger
libpthread as well
2006-01-23Make i386 build w/ -std=c99 (almost)Peter S. Mazinger
2006-01-15make gcc4 happy w/ hidden_def/proto, correct some typosPeter S. Mazinger
2006-01-14hidden_def/hidden_proto: convert all users (I hope) termios split, add some ↵Peter S. Mazinger
missing headers, other jump relocs removed
2005-12-10Merge from NPTL branch. Bring in the remaining changes for sigaction."Steven J. Hill"
2005-12-08Try to mimic glibc sigaction, sjhill, could you please test w/ this version?Peter S. Mazinger
2005-12-03More hiding, including __mempcpyPeter S. Mazinger
2005-12-01Hide mostly used functionsPeter S. Mazinger
2005-11-21tweak restore function definitions like glibc does it to get rid of warningsMike Frysinger
2003-02-03Oops. I'd left an extra invocation of sigaction in there...Eric Andersen
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