Yaakov Selkowitz
59822e777f
libm/machine: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:53 -06:00
Yaakov Selkowitz
ac8b60bdd1
complex: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:53 -06:00
Yaakov Selkowitz
3312f960a7
libm/common: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:53 -06:00
Yaakov Selkowitz
571ff42ae4
unix: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:53 -06:00
Yaakov Selkowitz
5aa2434de0
time: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:53 -06:00
Yaakov Selkowitz
adfde9d773
sys: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:52 -06:00
Yaakov Selkowitz
352c8f2f0d
string: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:52 -06:00
Yaakov Selkowitz
a38fc79ee9
stdlib: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:52 -06:00
Yaakov Selkowitz
a60026253d
stdio64: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:51 -06:00
Yaakov Selkowitz
c7ef9668cf
stdio: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:51 -06:00
Yaakov Selkowitz
b88cfbc1e5
signal: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:51 -06:00
Yaakov Selkowitz
bf3a554bc6
search: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:51 -06:00
Yaakov Selkowitz
35d2d2fe2e
reent: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:51 -06:00
Yaakov Selkowitz
aa06fa01dc
posix: remove TRAD_SYNOPSIS
2017-12-01 03:41:50 -06:00
Yaakov Selkowitz
191b4f35bc
misc: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:50 -06:00
Yaakov Selkowitz
1f1e477554
powerpc: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:50 -06:00
Yaakov Selkowitz
ddd22ee069
nds32: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:50 -06:00
Yaakov Selkowitz
4e8c64b928
microblaze: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:50 -06:00
Yaakov Selkowitz
59235deeec
locale: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:50 -06:00
Yaakov Selkowitz
03973c19e9
iconv: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:50 -06:00
Yaakov Selkowitz
9db7609592
ctype: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:50 -06:00
Yaakov Selkowitz
8ba0bbb913
ssp: add Object Size Checking for unistd.h, part 2
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:49 -06:00
Corinna Vinschen
10b57ba8d0
cygwin: Document latest changes, bump API minor
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 21:57:16 +01:00
Corinna Vinschen
d43863f569
newlib: vf[w]scanf: Implement POSIX %m modifier
...
* The new code is guarded with _WANT_IO_POSIX_EXTENSIONS, but
this is automatically enabled with _WANT_IO_C99_FORMATS for now.
* vfscanf neglects to implement %l[, so %ml[ is not implemented yet
either.
* Sidenote: vfwscanf doesn't allow ranges in %[ yet. Strictly this
is allowed per POSIX, but it differes from vfscanf as well as from
glibc.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 21:50:23 +01:00
Corinna Vinschen
27c1a7972c
cygwin: [w]mempcpy: fix global symbol
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 21:34:29 +01:00
Corinna Vinschen
aea710b5fb
cygwin: x86_64: implement mempcpy/wmempcpy in assembler
...
* change memcpy to internal _memcpy not setting the return value in %rax
* implement all memcpy-like functions as caller to _memcpy, setting %rax
to correct return value beforehand. This is possible because _memcpy
does not use %rax at all
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 21:15:28 +01:00
Corinna Vinschen
7161622514
newlib: vfwscanf: fix miscomputation of max field width in %[] case
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 21:02:38 +01:00
Yaakov Selkowitz
b9a662bb4c
Feature test macros overhaul: unistd.h, part 3
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30 12:09:05 -06:00
Yaakov Selkowitz
1e43e181c2
ssp: add Object Size Checking for stdlib.h
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30 12:09:03 -06:00
Corinna Vinschen
0fd2c9bd12
newlib: vf[w]scanf: add validity checks
...
POSIX requires that directive characters appear in a certain sequence:
1. '%' or '%<n>$'
2. optional '*'
3. optional field width digits
4. optional 'm' (not yet implemented)
5. optional length modifier ('l', 'L', 'll', 'h', 'hh', 'j', 't', 'z')
6. conversion specifier ('d', 's', etc)
Add a few basic validity checks to that effect, otherwise reject
directive as match failure.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 11:55:27 +01:00
Corinna Vinschen
31f11d0572
newlib: vf[w]scanf: Use SIZE_MAX rather than ~0
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 11:41:36 +01:00
Corinna Vinschen
5e4a1c9c97
newlib: vfscanf: fix formatting
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 11:41:36 +01:00
Corinna Vinschen
2e328edee4
newlib: vf[w]scanf: Only return from a single point to simplify cleanup
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-30 11:41:36 +01:00
Yaakov Selkowitz
f636eae26f
cygwin: export wmempcpy
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30 04:06:51 -06:00
Yaakov Selkowitz
8a94bca694
string: add wmempcpy
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30 04:06:49 -06:00
Yaakov Selkowitz
da4839ec18
cygwin: add Object Size Checking to sys/socket.h
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30 04:06:48 -06:00
Yaakov Selkowitz
b3281de25f
cygwin: add Object Size Checking to sys/poll.h
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30 04:06:47 -06:00
Sebastian Huber
dadc9e7e4a
RTEMS: Add semaphore <sys/lock.h> functions
...
Declare semaphore try wait and post binary functions.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-11-30 07:00:45 +01:00
Sebastian Huber
5a2ab9d55e
RTEMS: Timed wait by ticks <sys/lock.h> functions
...
Declare timed wait by ticks functions.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-11-30 07:00:45 +01:00
Sebastian Huber
186166f67a
RTEMS: Add set/get name <sys/lock.h> functions
...
Add inline functions to set/get the name.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-11-30 07:00:45 +01:00
Yaakov Selkowitz
552a20ab4e
cygwin: create libssp compatibility import library
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:49 -06:00
Yaakov Selkowitz
6a848db442
cygwin: export SSP functions
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:48 -06:00
Yaakov Selkowitz
6f84ee8105
ssp: add build infrastructure
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:46 -06:00
Yaakov Selkowitz
192de5a349
ssp: add documentation
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:45 -06:00
Yaakov Selkowitz
6b02865d80
ssp: add Object Size Checking for unistd.h, part 1
...
The implementation is from NetBSD, with the addition of feature test macros
for readlink. glibc also wraps the following functions:
confstr, getdomainname, getgroups, gethostname, getlogin_r, getwd, pread,
readlinkat, ttyname_r.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:44 -06:00
Yaakov Selkowitz
576093d46b
ssp: add Object Size Checking for stdio.h, part 1
...
The implementation is mostly from NetBSD, except for switching fgets to
pure inline, and the addition of fgets_unlocked, fread, and fread_unlocked
for parity with glibc. The following functions are also guarded in glibc:
asprintf, dprintf, fprintf, printf, vasprintf, vdprintf, vfprintf, vprintf.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:42 -06:00
Yaakov Selkowitz
a997f98b2a
ssp: add Object Size Checking for strings.h
...
The implementation is from NetBSD, with the addition of explicit_bzero
for parity with glibc.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:41 -06:00
Yaakov Selkowitz
e4fc4d7bc4
ssp: add Object Size Checking for string.h
...
The implementation is from NetBSD, with the addition of mempcpy (a GNU
extension) for parity with glibc and libssp.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:40 -06:00
Yaakov Selkowitz
3e8fc7d9f2
ssp: add Object Size Checking common code
...
The Object Size Checking (-D_FORTIFY_SOURCE=*) functionality provides
wrappers around functions suspectible to buffer overflows. While
independent from Stack Smashing Protection (-fstack-protector*), they
are often used and implemented together.
While GCC also provides an implementation in libssp, it is completely
broken (CVE-2016-4973, RHBZ#1324759) and seemingly unfixable, as there
is no reliable way for a preprocessor macro to trigger a link flag.
Therefore, adding this here is necessary to make it work.
Note that this does require building gcc with --disable-libssp and
gcc_cv_libc_provides_ssp=yes.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:39 -06:00
Yaakov Selkowitz
0a5dfdbd1b
ssp: add APIs for Stack Smashing Protection
...
Compiling with any of the -fstack-protector* flags requires the
__stack_chk_guard data import (which needs to be initialized) and the
__stack_chk_fail{,_local} functions. While GCC's own libssp can provide
these, it is better that we provide these ourselves. The implementation
is custom due to being OS-specific.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-29 11:25:37 -06:00