public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v5 00/10] Add Stack Smashing Protection and Object Size Checking
@ 2017-11-29  9:49 Yaakov Selkowitz
  2017-11-29  9:43 ` [PATCH v5 01/10] ssp: add APIs for Stack Smashing Protection Yaakov Selkowitz
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Yaakov Selkowitz @ 2017-11-29  9:49 UTC (permalink / raw)
  To: newlib

Changes in this version:

* _ELIDABLE_INLINE in C99 mode causes conflicts with extern function declarations.
Restoring __ssp_inline from NetBSD, updated to modern GCC, allows for fewer changes
to the main headers.

* The 'symbol' argument to __ssp_decl/__ssp_redirect_raw was always the same as 'fun'.
It is removed in this version to avoid needless duplication.

* The return type of read was fixed (tested on mmix-knuth-mmixware).

* Basic documentation has been added.

Yaakov Selkowitz (10):
  ssp: add APIs for Stack Smashing Protection
  ssp: add Object Size Checking common code
  ssp: add Object Size Checking for string.h
  ssp: add Object Size Checking for strings.h
  ssp: add Object Size Checking for stdio.h, part 1
  ssp: add Object Size Checking for unistd.h, part 1
  ssp: add documentation
  ssp: add build infrastructure
  cygwin: export SSP functions
  cygwin: create libssp compatibility import library

 newlib/Makefile.am                     |   4 +
 newlib/Makefile.in                     |   4 +
 newlib/libc/Makefile.am                |   4 +-
 newlib/libc/Makefile.in                |  15 +-
 newlib/libc/configure                  |   3 +-
 newlib/libc/configure.in               |   2 +-
 newlib/libc/include/ssp/ssp.h          |  77 ++++
 newlib/libc/include/ssp/stdio.h        | 101 +++++
 newlib/libc/include/ssp/string.h       | 115 ++++++
 newlib/libc/include/ssp/strings.h      |  55 +++
 newlib/libc/include/ssp/unistd.h       |  53 +++
 newlib/libc/include/stdio.h            |   4 +
 newlib/libc/include/string.h           |   4 +
 newlib/libc/include/strings.h          |   4 +
 newlib/libc/include/sys/features.h     |  18 +-
 newlib/libc/include/sys/unistd.h       |   5 +
 newlib/libc/libc.in.xml                |   1 +
 newlib/libc/libc.texinfo               |   1 +
 newlib/libc/ssp/Makefile.am            |  69 ++++
 newlib/libc/ssp/Makefile.in            | 706 +++++++++++++++++++++++++++++++++
 newlib/libc/ssp/chk_fail.c             |  13 +
 newlib/libc/ssp/gets_chk.c             |  78 ++++
 newlib/libc/ssp/memcpy_chk.c           |  54 +++
 newlib/libc/ssp/memmove_chk.c          |  50 +++
 newlib/libc/ssp/mempcpy_chk.c          |  21 +
 newlib/libc/ssp/memset_chk.c           |  49 +++
 newlib/libc/ssp/snprintf_chk.c         |  59 +++
 newlib/libc/ssp/sprintf_chk.c          |  63 +++
 newlib/libc/ssp/ssp.tex                |  44 ++
 newlib/libc/ssp/stack_protector.c      |  45 +++
 newlib/libc/ssp/stpcpy_chk.c           |  58 +++
 newlib/libc/ssp/stpncpy_chk.c          |  56 +++
 newlib/libc/ssp/strcat_chk.c           |  62 +++
 newlib/libc/ssp/strcpy_chk.c           |  55 +++
 newlib/libc/ssp/strncat_chk.c          |  73 ++++
 newlib/libc/ssp/strncpy_chk.c          |  55 +++
 newlib/libc/ssp/vsnprintf_chk.c        |  51 +++
 newlib/libc/ssp/vsprintf_chk.c         |  60 +++
 winsup/cygwin/Makefile.in              |   5 +-
 winsup/cygwin/common.din               |  19 +
 winsup/cygwin/include/cygwin/version.h |   7 +-
 41 files changed, 2210 insertions(+), 12 deletions(-)
 create mode 100644 newlib/libc/include/ssp/ssp.h
 create mode 100644 newlib/libc/include/ssp/stdio.h
 create mode 100644 newlib/libc/include/ssp/string.h
 create mode 100644 newlib/libc/include/ssp/strings.h
 create mode 100644 newlib/libc/include/ssp/unistd.h
 create mode 100644 newlib/libc/ssp/Makefile.am
 create mode 100644 newlib/libc/ssp/Makefile.in
 create mode 100644 newlib/libc/ssp/chk_fail.c
 create mode 100644 newlib/libc/ssp/gets_chk.c
 create mode 100644 newlib/libc/ssp/memcpy_chk.c
 create mode 100644 newlib/libc/ssp/memmove_chk.c
 create mode 100644 newlib/libc/ssp/mempcpy_chk.c
 create mode 100644 newlib/libc/ssp/memset_chk.c
 create mode 100644 newlib/libc/ssp/snprintf_chk.c
 create mode 100644 newlib/libc/ssp/sprintf_chk.c
 create mode 100644 newlib/libc/ssp/ssp.tex
 create mode 100644 newlib/libc/ssp/stack_protector.c
 create mode 100644 newlib/libc/ssp/stpcpy_chk.c
 create mode 100644 newlib/libc/ssp/stpncpy_chk.c
 create mode 100644 newlib/libc/ssp/strcat_chk.c
 create mode 100644 newlib/libc/ssp/strcpy_chk.c
 create mode 100644 newlib/libc/ssp/strncat_chk.c
 create mode 100644 newlib/libc/ssp/strncpy_chk.c
 create mode 100644 newlib/libc/ssp/vsnprintf_chk.c
 create mode 100644 newlib/libc/ssp/vsprintf_chk.c

-- 
2.15.0

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-11-29 17:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-29  9:49 [PATCH v5 00/10] Add Stack Smashing Protection and Object Size Checking Yaakov Selkowitz
2017-11-29  9:43 ` [PATCH v5 01/10] ssp: add APIs for Stack Smashing Protection Yaakov Selkowitz
2017-11-29  9:43 ` [PATCH v5 02/10] ssp: add Object Size Checking common code Yaakov Selkowitz
2017-11-29  9:43 ` [PATCH v5 07/10] ssp: add documentation Yaakov Selkowitz
2017-11-29  9:43 ` [PATCH v5 03/10] ssp: add Object Size Checking for string.h Yaakov Selkowitz
2017-11-29  9:43 ` [PATCH v5 05/10] ssp: add Object Size Checking for stdio.h, part 1 Yaakov Selkowitz
2017-11-29  9:51 ` [PATCH v5 09/10] cygwin: export SSP functions Yaakov Selkowitz
2017-11-29  9:51 ` [PATCH v5 10/10] cygwin: create libssp compatibility import library Yaakov Selkowitz
2017-11-29  9:51 ` [PATCH v5 06/10] ssp: add Object Size Checking for unistd.h, part 1 Yaakov Selkowitz
2017-11-29  9:53 ` [PATCH v5 08/10] ssp: add build infrastructure Yaakov Selkowitz
2017-11-29 17:22 ` [PATCH v5 04/10] ssp: add Object Size Checking for strings.h Yaakov Selkowitz
2017-11-30  1:43 ` [PATCH v5 00/10] Add Stack Smashing Protection and Object Size Checking Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).