summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common/ssp.c
AgeCommit message (Collapse)Author
2017-11-19remove unused FORTIFY code fragmentsWaldemar Brodkorb
2016-06-07ssp: remove SSP legacy codeWaldemar Brodkorb
Nobody should use gcc 3.3 nowadays.
2012-06-15ssp: rework, sync messages with the ones in glibcPeter S. Mazinger
Touch signals only if DODEBUG is enabled. Make the signal selection dependent on DODEBUG, as last resort use SIGKILL. Use internal functions with less arguments, some savings. Fix a warning about unused argument. Do not use openlog/closelog, while there remove their hidden versions. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
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