df9a489b2bfcc224943a12b447e9cf00db81d9e0 |
|
23-Aug-2017 |
Elliott Hughes <enh@google.com> |
Add more const-correct C++ overloads. libc++ actually provides overloads for all the standard C library stuff, so we just need to handle the POSIX and GNU extensions, of which there are just two more: memrchr and strcasestr. Bug: http://b/22768375 Test: builds Change-Id: Ie9ed1fbcc794e14a0c9bba13b5307ad677949613
|
b6300463a829762841e3fb7126833f77f62f7100 |
|
01-Aug-2017 |
George Burgess IV <gbiv@google.com> |
libc fortify: make string.h use diagnose_if This also has a handful of style fixups, to make this file more consistent. And removes __bionic_zero_size_is_okay_t, since there's a better workaround available. Bug: 12231437 Test: m checkbuild on bionic internal master; CtsBionicTestCases show no new failures. Change-Id: I75a020630dbab0ce828563502900cba14ae992d1
|
3f66e74b903905e763e104396aff52a81718cfde |
|
01-Aug-2017 |
Elliott Hughes <enh@google.com> |
Remove nullability specifications. Bug: http://b/64251432 Test: builds Change-Id: I5b1613484783f7478d30b5e694007f77fa626659
|
ec6850d849746ffbafaaf9b993c5dbb74a014b3f |
|
01-Aug-2017 |
Elliott Hughes <enh@google.com> |
Remove restrict/__restrict. We've never really used __restrict: only <string.h> and <stdio.h> (which are still very similar to upstream BSD headers) consistently have these annotations. Neither clang nor GCC warns for trivial cases, and there's little obvious documentation benefit. Bug: http://b/30833514 Test: builds Change-Id: I3e4384281865475d0c55d764b546d8166419ee31
|
b97049c0390cb1a11b9cb0b14391972e69398ce5 |
|
25-Jul-2017 |
George Burgess IV <gbiv@google.com> |
libc: Split FORTIFY into its own headers This patch cleans up our standard headers by moving most of the FORTIFY cruft out in to its own sandbox. In order to include the *_chk and *_real declarations, you can either enable FORTIFY, or `#define __BIONIC_DECLARE_FORTIFY_HELPERS`. Both sys/select.h and strings.h are explicitly ignored by this patch. Both of these files have very small __BIONIC_FORTIFY blocks, and don't define any actual FORTIFY'ed functions (just macros, and 3 *_chk functions). This patch also makes the versioner ignore the FORTIFY implementation headers, since we're guaranteed to pick the FORTIFY'ed headers up when looking at the regular headers. (...Not to mention that making the FORTIFY'ed headers freestanding would be annoying to do and maintain for ~no benefit). We bake the knowledge of where FORTIFY headers live directly into the versioner. We could go with a more general approach (e.g. adding an -X IGNORED_FILE flag that tells the versioner to ignore $HEADER_PATH/$IGNORED_FILE), but we'd then have to repeat that for every test, every manual invocation of the versioner, etc. for no benefit that's obvious to me. Bug: 12231437 Test: m checkbuild on bullhead internal master + CtsBionicTestCases. no new errors. Change-Id: Iffc0cc609009b33d989cdaddde0a809282131a5b
|