f81abef14852f2738043998e2f420d97ba59c286 |
|
26-Jan-2018 |
Chih-Hung Hsieh <chh@google.com> |
Use __BIONIC_FORTIFY_VARIADIC for variadic functions. * Variadic functions usually cannot be inlined. * Do not use misleading __always_inline attribute, and also avoid early clang 7.0 compiler bug. Bug: 72412382 Test: build and boot aosp*-eng in emulator Change-Id: I7490976166581abc626f397ad408581ada0ed308
|
b115aefbb3a472c605e167e09d14b1a797337e77 |
|
04-Aug-2017 |
Elliott Hughes <enh@google.com> |
With O_TMPFILE, open(2) takes a mode argument. Strictly, the mode isn't really meaningful unless you supply O_EXCL, but the kernel will take it and fstat will return it even if you never give the file a name. Also warn for O_TMPFILE without a mode at compile time where possible. Bug: N/A Test: ran tests Change-Id: I729b6d6e6190676fd017a1190b6200bf9abdbfd8
|
4e37d53f2999f683e99a5cf90d2651e2cd9924fc |
|
04-Aug-2017 |
George Burgess IV <gbiv@google.com> |
libc fortify: warn on open() with useless mode bits Bug: 64132680 Test: checkbuild on bullhead internal master; no new CtsBionicTestCases fail. Change-Id: I98762bbee0ecdd7b4ffc21135992f2eed320317f
|
0df4c3787db169429e353ca0b4e5af912ba679b5 |
|
01-Aug-2017 |
George Burgess IV <gbiv@google.com> |
libc fortify: make fcntl.h use diagnose_if Bug: 12231437 Test: m checkbuild on bionic internal master; CtsBionicTestCases show no new failures. Change-Id: I4a31d9e65ed5820a581261a7e8f63a83e44936c3
|
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
|