summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common/ssp.c
AgeCommit message (Collapse)Author
2012-06-15libc-internal.h: use a consistent prototype for __stack_chk_failPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-03-09guard *_chk() related stuff with UCLIBC_HAS_FORTIFYPeter S. Mazinger
Guard x86_64 memset_chk/memcpy_chk be guarded by UCLIBC_HAS_FORTIFY. Compile ssp.c if one of SSP/FORTIFY is defined. Guard __chk_fail() with UCLIBC_HAS_FORTIFY and move its prototype to libc-internal.h. Disable _FORTIFY_SOURCE if UCLIBC_HAS_FORTIFY is not set. The config option itself is omitted on purpose, headers need to be reviewed and generic *_chk() functions need to be first provided. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03Correct ssp codePeter S. Mazinger
Avoid using strong_alias in ssp, some archs dislike it. Make stack_chk_guard static. Export __stack_smash_handler only if compatibility option is enabled. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2009-12-19x86_64: fix multiple definition of chk functionsAustin Foxley
also enable __chk_fail and only try to call it when SSP is on Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-09-18trim Experimentally off and uncommented hiddenBernhard Reutner-Fischer
sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *) sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *) should be a nop Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-02-13- workaround oddity with position of function attributesBernhard Reutner-Fischer
2008-12-01on Bernd's request, remove commented-out code snippetsDenis Vlasenko
2008-12-01remove checks for "impossible" errors,Denis Vlasenko
clarify uses of unoptimized sigXXX ops (they check signo), use faster sigops where approproate. text data bss dec hex filename - 68 0 0 68 44 libc/signal/sighold.o + 63 0 0 63 3f libc/signal/sighold.o - 114 0 0 114 72 libc/signal/sigintr.o + 110 0 0 110 6e libc/signal/sigintr.o - 113 0 0 113 71 libc/signal/sigpause.o + 108 0 0 108 6c libc/signal/sigpause.o - 68 0 0 68 44 libc/signal/sigrelse.o + 63 0 0 63 3f libc/signal/sigrelse.o
2008-12-01optimize signal mask ops. comment out "impossible" errorsDenis Vlasenko
text data bss dec hex filename - 1179 13 2 1194 4aa libc/misc/syslog/syslog.o + 1165 13 2 1180 49c libc/misc/syslog/syslog.o - 435 4 0 439 1b7 libc/pwd_grp/lckpwdf.o + 393 4 0 397 18d libc/pwd_grp/lckpwdf.o - 38 0 0 38 26 libc/signal/sigandset.o + 32 0 0 32 20 libc/signal/sigandset.o - 63 0 0 63 3f libc/signal/sigblock.o + 56 0 0 56 38 libc/signal/sigblock.o - 22 0 0 22 16 libc/signal/sigempty.o + 20 0 0 20 14 libc/signal/sigempty.o - 25 0 0 25 19 libc/signal/sigfillset.o + 20 0 0 20 14 libc/signal/sigfillset.o - 34 0 0 34 22 libc/signal/sigisempty.o + 16 0 0 16 10 libc/signal/sigisempty.o - 38 0 0 38 26 libc/signal/sigorset.o + 32 0 0 32 20 libc/signal/sigorset.o - 119 0 0 119 77 libc/signal/sigpause.o + 113 0 0 113 71 libc/signal/sigpause.o - 215 0 0 215 d7 libc/signal/sigset.o + 211 0 0 211 d3 libc/signal/sigset.o - 63 0 0 63 3f libc/signal/sigsetmask.o + 56 0 0 56 38 libc/signal/sigsetmask.o - 194 0 1 195 c3 libc/stdlib/abort.o + 183 0 1 184 b8 libc/stdlib/abort.o - 323 0 0 323 143 libc/unistd/sleep.o + 309 0 0 309 135 libc/unistd/sleep.o
2008-11-29shring sugnal-relared stuff a bit. BTW why constant memset is not inlined by ↵Denis Vlasenko
gcc? text data bss dec hex filename - 38015 18096 8636 64747 fceb lib/libpthread-0.9.30-svn.so + 38001 18096 8636 64733 fcdd lib/libpthread-0.9.30-svn.so - 274842 1835 19012 295689 48309 lib/libuClibc-0.9.30-svn.so + 274779 1835 19012 295626 482ca lib/libuClibc-0.9.30-svn.so
2008-11-20Last portion of libc_hidden_proto removal.Denis Vlasenko
Appears to build fine (several .configs tried)
2008-11-20next portion of libc_hidden_proto removalDenis Vlasenko
2008-11-18- add __hot and __cold annotationsBernhard Reutner-Fischer
Will spare us quite some likely()/unlikely() occurances. See http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html for details
2008-09-29- honour UCLIBC_HAS_SYSLOGBernhard 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.
2006-01-26Get rid of missing prototype warningsPeter 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
2006-01-09Hope I have it correct now w/ native gcc4 sspPeter S. Mazinger
2006-01-04one reloc less, uninline, should save some spacePeter S. Mazinger
2006-01-04tweak __progname handling some more since some [bad] apps actually try and ↵Mike Frysinger
use it
2005-12-16Convert some usersPeter S. Mazinger
2005-12-08Try to mimic glibc sigaction, sjhill, could you please test w/ this version?Peter S. Mazinger
2005-12-08Correct use of __*logPeter S. Mazinger
2005-12-03More hiding, including __mempcpyPeter S. Mazinger
2005-12-01Hide mostly used functionsPeter S. Mazinger
2005-11-04Make use of newly introduced attribute_noreturnPeter S. Mazinger
2005-10-27Moved guard_setup to dl-osinfo.h (used commonly by ldso and libc). Renamed ↵Peter S. Mazinger
to _dl_setup_stack_chk_guard, as in glibc. SSP requires now binutils-2.16.1 and newer. Add NOT_IN_libc/IS_IN_libc. Began using -DSHARED in uClibc_main.c, there are more candidates in there. Move back dl_protect_relro to it's earlier place.
2005-10-01Add gcc-4.1 non-TLS __stack_chk_guard support. Run the guard setup only once.Peter S. Mazinger
2005-09-23Changed ssp.c license to LGPL and added vapier as contributorPeter S. Mazinger
2005-09-23New ssp code using syscalls where possible.Peter S. Mazinger
Moved guard_setup to __uClibc_main.c, the only place where it is called. Removed SIGKILL option, not usable with sigaction.
2005-06-07move tv def back with gettimeofday() funcMike Frysinger
2005-05-27touchup defines so that we can use same ssp.c in both glibc and uclibcMike Frysinger
2005-05-27- keep gcc-4.x happyNed Ludd
2005-05-27style updatesMike Frysinger
2005-03-12- added externs to keep gcc quiet about implicit declaration of 3 functionsNed Ludd
2005-02-08- 2/NN patches for ssp. Updates from Peter S. Mazinger and Robert ConnollyNed Ludd
2005-02-08- 1/NN patches for sspNed Ludd
2005-01-11dont bother including sysctl.h unless we need itMike Frysinger
2004-11-25update : $Ned Ludd
2004-11-11misc cleanups of __stack_smash_handler() function when ssp support is ↵Ned Ludd
enabled. syslog() support should now work both inside and outside of chroots. erandom code left in but remains #ifdef out by default. May remove erandom completely in the future for uClibc unless the LFS guys and gals want to keep it.
2004-11-11misc cleanups of __stack_smash_handler() function when ssp support is ↵Ned Ludd
enabled. syslog() support should now work both inside and outside of chroots. erandom code left in but remains #ifdef out by default. May remove erandom completely in the future for uClibc unless the LFS guys and gals want to keep it.
2004-01-21Split up syscalls.c, since it had grown to be quite large and ugly.Eric Andersen
-Erik
2004-01-02Peter S. Mazinger writes:Eric Andersen
Hello Erik! I have made some cosmetical changes to the files, removed the added SCRT=-fPIC option from building the crt0.S file (but it is a requirement to build them with -fPIC), and changed some comments. I have left the ldso.c patch with PIE_SUPPORT ifdefs, but consider applying it w/o them (see some earlier comment from PaX Team on this issue, as it is considered a bug). To have it work correctly, you'll also need removing COMPLETELY_PIC. One thing is missing: PIE_SUPPORT should be usable only for i386 (for now). Also added the support for propolice protection (that works for me and catches memcpy/strcpy attacks (but needs a special gcc version). Thanks, Peter