platform_bionic/libc/include
Dan Albert 8b154b1e82 Guard the GNU strerror_r with an API check.
The deprecated headers have always had only the POSIX definition
available (and it's always been available). With the unified headers
as they are now, we actually make it unavailable for C++ users (C++
implies _GNU_SOURCE) targeting below M. Adding this guard means that
pre-M users will still at least get the POSIX one.

It's not great that moving to M as your target API will actually
change the signature of your strerror_r, but I don't see a better
option here (not until we have the compatibility library, anyway).

Test: make checkbuild
Bug: None
Change-Id: I2d15702467533a826c4ec10fd973ee929d2b562a
2017-02-14 19:29:31 -08:00
..
android Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
arpa Remove remaining big-endian cruft. 2016-09-16 18:53:34 -07:00
bits Update to kernel headers v4.9.3. 2017-01-25 16:23:56 -08:00
net Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
netinet Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
netpacket
sys Match __bos0 to __pass_object_size0 in FORTIFY 2017-02-10 18:14:43 -08:00
alloca.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
ar.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
assert.h Stop #define'ing __func__ and __restrict. 2016-07-25 11:13:47 -07:00
byteswap.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
complex.h Remove #pragma GCC visibility. 2016-07-25 15:57:02 -07:00
cpio.h Add two missing POSIX constant-only headers. 2016-08-12 09:28:17 -07:00
ctype.h Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
dirent.h Remove unnecessary 'extern's. 2016-07-22 18:57:12 -07:00
dlfcn.h Runtime support for CFI 2017-01-18 13:13:52 -08:00
elf.h versioner: refactor to use CompilerInstance directly. 2016-11-09 13:50:07 -08:00
endian.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
err.h The err family allow null format strings. 2014-07-11 02:53:27 +00:00
errno.h Rename __pure, __pure2, and __purefunc. 2016-09-28 12:36:38 -07:00
error.h Make it possible to build bionic with -I instead of -isystem. 2016-07-22 13:12:53 -07:00
fcntl.h libc: add clang FORTIFY support 2017-02-09 15:49:32 -08:00
features.h Move the meat of <features.h> into <sys/cdefs.h>. 2014-08-19 11:18:20 -07:00
fenv.h Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
fnmatch.h Remove unnecessary 'extern's. 2016-07-22 18:57:12 -07:00
fts.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
ftw.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
getopt.h Extract getopt and friends to <bits/getopt.h> 2016-04-07 18:01:59 -07:00
grp.h Make it possible to build bionic with -I instead of -isystem. 2016-07-22 13:12:53 -07:00
ifaddrs.h Add versioning information to symbols. 2016-04-29 16:39:50 -07:00
inttypes.h Fix format macros for fast16 and fast32 int types. 2016-10-26 17:52:38 -07:00
langinfo.h Implement <langinfo.h>. 2016-11-19 11:46:54 -08:00
lastlog.h Fix various empty .h files in bionic. 2016-04-29 22:30:19 -07:00
libgen.h Remove unnecessary 'extern's. 2016-07-22 18:57:12 -07:00
limits.h Clean up <sys/limits.h> a bit. 2016-11-30 09:06:53 -08:00
link.h versioner: refactor to use CompilerInstance directly. 2016-11-09 13:50:07 -08:00
locale.h Provide fake definitions for libstdc++. 2016-09-08 16:13:28 -07:00
malloc.h libc: add clang FORTIFY support 2017-02-09 15:49:32 -08:00
math.h isnan and isinf aren't functions. 2017-02-02 14:02:49 -08:00
memory.h
mntent.h Add __INTRODUCED_IN_FUTURE for unreleased APIs. 2016-04-29 16:39:50 -07:00
netdb.h Document that our getnameinfo(3) prototype is unfixably wrong. 2016-08-16 15:05:57 -07:00
nl_types.h Add __INTRODUCED_IN_FUTURE for unreleased APIs. 2016-04-29 16:39:50 -07:00
paths.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
poll.h libc: add clang FORTIFY support 2017-02-09 15:49:32 -08:00
pthread.h Rename __pure, __pure2, and __purefunc. 2016-09-28 12:36:38 -07:00
pty.h Add versioning information to symbols. 2016-04-29 16:39:50 -07:00
pwd.h Remove BSD cruft from <pwd.h>. 2016-12-12 17:31:02 -08:00
regex.h Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64. 2015-08-27 14:48:32 -07:00
resolv.h Remove #pragma GCC visibility. 2016-07-25 15:57:02 -07:00
sched.h Remove unnecessary 'extern's. 2016-07-22 18:57:12 -07:00
search.h Update header versions for NDK platform fixes. 2016-06-02 13:40:35 -07:00
semaphore.h POSIX says SEM_FAILED shall have type sem_t*. 2016-08-12 10:28:52 -07:00
setjmp.h Update header versions for NDK platform fixes. 2016-06-02 13:40:35 -07:00
signal.h Add declaration of tgkill to signal.h. 2017-01-05 15:15:12 -08:00
stdatomic.h Guard include of uchar.h in stdatomic.h 2016-08-04 18:22:12 +00:00
stdint.h Fix instances of '#if __LP64__'. 2016-09-15 14:21:28 -07:00
stdio.h Match __bos0 to __pass_object_size0 in FORTIFY 2017-02-10 18:14:43 -08:00
stdio_ext.h Add versioning information to symbols. 2016-04-29 16:39:50 -07:00
stdlib.h libc: add clang FORTIFY support 2017-02-09 15:49:32 -08:00
string.h Guard the GNU strerror_r with an API check. 2017-02-14 19:29:31 -08:00
strings.h Update header versions for NDK platform fixes. 2016-06-02 13:40:35 -07:00
syscall.h Add all the glibc one-line "synonym" header files. 2015-07-17 13:59:36 -07:00
sysexits.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
syslog.h versioner: refactor to use CompilerInstance directly. 2016-11-09 13:50:07 -08:00
tar.h Add two missing POSIX constant-only headers. 2016-08-12 09:28:17 -07:00
termio.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
termios.h Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
time.h Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
time64.h Remove the non-standard time64 stuff for LP64. 2014-05-05 17:14:02 -07:00
uchar.h Clean up <uchar.h> and <wctype.h> transitive includes. 2016-07-27 10:45:05 -07:00
ucontext.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00
unistd.h Match __bos0 to __pass_object_size0 in FORTIFY 2017-02-10 18:14:43 -08:00
utime.h Remove unnecessary 'extern's. 2016-07-22 18:57:12 -07:00
utmp.h Add versioning information to symbols. 2016-04-29 16:39:50 -07:00
wait.h Add all the glibc one-line "synonym" header files. 2015-07-17 13:59:36 -07:00
wchar.h Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
wctype.h Use icu4c to implement <wctype.h>. 2016-11-29 19:19:30 +00:00
xlocale.h Always include <sys/cdefs.h>. 2016-07-22 17:01:54 -07:00