Home | History | Annotate | only in /src/include/ssp
History log of /src/include/ssp
RevisionDateAuthorComments
 1.16 15-Nov-2023  christos Allow __ssp_inline to be overriden
 1.15 10-Nov-2023  christos PR/57689: RVP: getcwd() not overridable with -D_FORTIFY_SOURCE
 1.14 29-Mar-2023  christos PR/57288: Mingye Wang: <ssp/ssp.h>: Use __builtin_dynamic_object_size
for LLVM > 9 and GCC > 12, introducing _SSP_FORTIFY_LEVEL == 3
 1.13 03-Sep-2015  plunky correct __ssp_overlap() to not trigger for adjacent areas
 1.12 25-Jun-2015  joerg Allow SSP enabled functions to conditionally skip the object size check.
Use this is fix the getcwd(NULL, lmit) case, which breaks in lang/parrot.
 1.11 09-May-2015  christos add a macro to check overlapping pointers
 1.10 08-Aug-2012  joerg SSP mostly works with Clang, even if optimisation is disabled.
Explicitly disable it for Lint though.
 1.9 21-Feb-2011  joerg branches: 1.9.4;
Redo the SSP wrappers to be transparent on the resulting object files.
This works by having the inline wrapper calling a second function which
uses renaming to output the correct function name.
 1.8 26-Jan-2011  christos provide a way to override the weak name.
 1.7 25-Jan-2011  christos proved an __ssp_check macro.
 1.6 20-Jan-2011  christos Use the _sys alias instead of the _ alias as the way to access the baseline
syscall.
 1.5 19-Jan-2011  christos branches: 1.5.2;
Re-do ssp hijacking by defining inline functions and using the weak libc
symbols to do the indirection for unistd.h instead of #define tricks.
Fixes compilation for things that define struct { ssize_t read(int fd, ...); }.
 1.4 22-Dec-2010  jruoho Use __dead instead of __attribute__((__noreturn__)) directly.
 1.3 28-Apr-2008  martin branches: 1.3.10;
Remove clause 3 and 4 from TNF licenses
 1.2 03-Jun-2007  christos branches: 1.2.2; 1.2.8; 1.2.14;
- Misc cleanups to make the code more readable.
- Detect if we are compiling in libc and provide the appropriate name.
 1.1 30-May-2007  tls Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.
 1.2.14.1 18-May-2008  yamt sync with head.
 1.2.8.2 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.2.8.1 03-Jun-2007  wrstuden file ssp.h was added on branch wrstuden-fixsa on 2007-09-03 07:01:09 +0000
 1.2.2.2 22-Jul-2007  liamjfoy Pull up to netbsd-4 (requested by christos in ticket #773):

Move libssp to libc.
 1.2.2.1 03-Jun-2007  liamjfoy file ssp.h was added on branch netbsd-4 on 2007-07-22 18:44:39 +0000
 1.3.10.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.10.1 28-Apr-2008  martin file ssp.h was added on branch christos-time_t on 2008-04-28 20:22:55 +0000
 1.5.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.5.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.9.4.1 30-Oct-2012  yamt sync with head
 1.5 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.4 25-Feb-2010  joerg Consistently use __printflike and __scanflike.
 1.3 28-Apr-2008  martin branches: 1.3.10; 1.3.18;
Remove clause 3 and 4 from TNF licenses
 1.2 30-May-2007  tls branches: 1.2.2; 1.2.8; 1.2.14;
Match usage of FORTIFY_SOURCE on other platforms by not requiring special
include path: the normal header files now include the "SSP" ones (which one
should note are not really named right: SSP and FORTIFY_SOURCE are independent
features).

Disable USE_SSP on targets where the compiler doesn't support it at all
(mips, alpha) or it's known broken (sh3). But enable FORTIFY_SOURCE,
without SSP, on those platforms -- tested on mipsel.
 1.1 30-May-2007  tls Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.
 1.2.14.1 18-May-2008  yamt sync with head.
 1.2.8.2 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.2.8.1 30-May-2007  wrstuden file stdio.h was added on branch wrstuden-fixsa on 2007-09-03 07:01:09 +0000
 1.2.2.2 22-Jul-2007  liamjfoy Pull up to netbsd-4 (requested by christos in ticket #773):

Move libssp to libc.
 1.2.2.1 30-May-2007  liamjfoy file stdio.h was added on branch netbsd-4 on 2007-07-22 18:44:40 +0000
 1.3.18.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.3.10.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.10.1 28-Apr-2008  martin file stdio.h was added on branch christos-time_t on 2008-04-28 20:22:55 +0000
 1.14 05-Sep-2020  mrg make the 2nd argument to __memmove_chk() const
 1.13 29-Nov-2014  pooka Create the stpncpy() inline only when GCC>=4.8 || clang

Mirrors the stpncpy() wrapper macro and avoids the following:
warning: implicit declaration of function ‘__builtin___stpncpy_chk’
 1.12 25-Apr-2014  pooka Apparently clang pretends to be gcc 4.2 but is secretly much awesomer
than gcc 4.2, so enable the stpncpy() wrapper also for clang.
 1.11 24-Apr-2014  pooka Wrap stpncpy() iff GNUC_PREREQ(4,8). Fixes USE_SSP=yes builds
with gcc 4.5.
 1.10 06-Apr-2014  christos add stpncpy()
 1.9 07-Nov-2013  christos branches: 1.9.2;
gcc-4.8.1 is has a builtin stpncpy, but is missing the __builtin_ ssp
equivalent. go figure.
 1.8 07-Nov-2013  tron Revert my last change. I'm not convinced it is correct and while it seems
to fix some build problems it might cause others.
 1.7 06-Nov-2013  tron Add missing declarations for SSP versions of stpcpy(3) and stpncpy(3).
 1.6 06-Nov-2013  christos add stp{,n}cpy
 1.5 22-Jul-2012  joerg branches: 1.5.2;
Always provide *_chk prototypes. Fixes DBG=-g build of libc.
 1.4 17-Nov-2009  drochner branches: 1.4.8;
add some prototypes for checked string functions
 1.3 28-Apr-2008  martin branches: 1.3.10;
Remove clause 3 and 4 from TNF licenses
 1.2 30-May-2007  tls branches: 1.2.2; 1.2.8; 1.2.14;
Match usage of FORTIFY_SOURCE on other platforms by not requiring special
include path: the normal header files now include the "SSP" ones (which one
should note are not really named right: SSP and FORTIFY_SOURCE are independent
features).

Disable USE_SSP on targets where the compiler doesn't support it at all
(mips, alpha) or it's known broken (sh3). But enable FORTIFY_SOURCE,
without SSP, on those platforms -- tested on mipsel.
 1.1 30-May-2007  tls Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.
 1.2.14.1 18-May-2008  yamt sync with head.
 1.2.8.2 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.2.8.1 30-May-2007  wrstuden file string.h was added on branch wrstuden-fixsa on 2007-09-03 07:01:10 +0000
 1.2.2.2 22-Jul-2007  liamjfoy Pull up to netbsd-4 (requested by christos in ticket #773):

Move libssp to libc.
 1.2.2.1 30-May-2007  liamjfoy file string.h was added on branch netbsd-4 on 2007-07-22 18:44:40 +0000
 1.3.10.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.10.1 28-Apr-2008  martin file string.h was added on branch christos-time_t on 2008-04-28 20:22:55 +0000
 1.4.8.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.8.1 30-Oct-2012  yamt sync with head
 1.5.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.2.1 10-Aug-2014  tls Rebase.
 1.3 28-Apr-2008  martin branches: 1.3.10;
Remove clause 3 and 4 from TNF licenses
 1.2 30-May-2007  tls branches: 1.2.2; 1.2.8; 1.2.14;
Match usage of FORTIFY_SOURCE on other platforms by not requiring special
include path: the normal header files now include the "SSP" ones (which one
should note are not really named right: SSP and FORTIFY_SOURCE are independent
features).

Disable USE_SSP on targets where the compiler doesn't support it at all
(mips, alpha) or it's known broken (sh3). But enable FORTIFY_SOURCE,
without SSP, on those platforms -- tested on mipsel.
 1.1 30-May-2007  tls Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.
 1.2.14.1 18-May-2008  yamt sync with head.
 1.2.8.2 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.2.8.1 30-May-2007  wrstuden file strings.h was added on branch wrstuden-fixsa on 2007-09-03 07:01:10 +0000
 1.2.2.2 22-Jul-2007  liamjfoy Pull up to netbsd-4 (requested by christos in ticket #773):

Move libssp to libc.
 1.2.2.1 30-May-2007  liamjfoy file strings.h was added on branch netbsd-4 on 2007-07-22 18:44:40 +0000
 1.3.10.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3.10.1 28-Apr-2008  martin file strings.h was added on branch christos-time_t on 2008-04-28 20:22:55 +0000
 1.7 25-Jun-2015  joerg Allow SSP enabled functions to conditionally skip the object size check.
Use this is fix the getcwd(NULL, lmit) case, which breaks in lang/parrot.
 1.6 26-Jan-2011  christos fix readlink prototype.
 1.5 19-Jan-2011  christos branches: 1.5.2;
Re-do ssp hijacking by defining inline functions and using the weak libc
symbols to do the indirection for unistd.h instead of #define tricks.
Fixes compilation for things that define struct { ssize_t read(int fd, ...); }.
 1.4 28-Apr-2008  martin branches: 1.4.10;
Remove clause 3 and 4 from TNF licenses
 1.3 03-Jun-2007  christos branches: 1.3.2; 1.3.8; 1.3.14;
- Misc cleanups to make the code more readable.
- Detect if we are compiling in libc and provide the appropriate name.
 1.2 30-May-2007  tls Match usage of FORTIFY_SOURCE on other platforms by not requiring special
include path: the normal header files now include the "SSP" ones (which one
should note are not really named right: SSP and FORTIFY_SOURCE are independent
features).

Disable USE_SSP on targets where the compiler doesn't support it at all
(mips, alpha) or it's known broken (sh3). But enable FORTIFY_SOURCE,
without SSP, on those platforms -- tested on mipsel.
 1.1 30-May-2007  tls Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.
 1.3.14.1 18-May-2008  yamt sync with head.
 1.3.8.2 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.3.8.1 03-Jun-2007  wrstuden file unistd.h was added on branch wrstuden-fixsa on 2007-09-03 07:01:11 +0000
 1.3.2.2 22-Jul-2007  liamjfoy Pull up to netbsd-4 (requested by christos in ticket #773):

Move libssp to libc.
 1.3.2.1 03-Jun-2007  liamjfoy file unistd.h was added on branch netbsd-4 on 2007-07-22 18:44:41 +0000
 1.4.10.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4.10.1 28-Apr-2008  martin file unistd.h was added on branch christos-time_t on 2008-04-28 20:22:55 +0000
 1.5.2.1 08-Feb-2011  bouyer Sync with HEAD

RSS XML Feed