Commit graph

1862 commits

Author SHA1 Message Date
Logan Chien
96ba713f73 Merge "Fix wchar.wcstold_hex_floats on arm64" 2017-08-23 07:16:34 +00:00
Christopher Ferris
1b3fe44e3d Merge "Refactor BufferOutputStream." 2017-08-22 22:50:32 +00:00
Christopher Ferris
9247640711 Refactor BufferOutputStream.
- Rewrite BufferOutputStream to handle 0 sized buffers and to get rid
  of an unnecessary loop.
- Add tests to verify overflow corner cases.
- Implement async_safe_format_buffer to call async_safe_format_buffer_va_list
  instead of duplicate the code.

Test: Ran new unit tests, booted on angler.
Change-Id: I7fb13e209f5b7443d212f55aab4b05ff2e0e8219
2017-08-22 13:17:28 -07:00
Logan Chien
0288dbb739 Fix wchar.wcstold_hex_floats on arm64
This commit fixes wchar.wcstold_hex_floats on arm64.  On AArch64
(ARM64), the `long double` type has 128 bits and is more precise then
`double` type (64-bit).  As a result, `1e100L` is slightly different
from `static_cast<long double>(1e100)`.

This commit fixes the regression by adding 'L' after the floating point
literals.  This should work because casting from a higher precision
to lower precision won't lose any precisions.

Test: adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests \
  --gtest-filter=wchar.wcstold_hex_floats
Test: adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests
Test: adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests

Change-Id: Ibd7b6a5d46c38338b4ca56838d9d272c710b32f6
2017-08-22 17:52:02 +08:00
George Burgess IV
411814e0a9 Merge "Disable FORTIFY on ASAN builds"
am: 7ac99d3ff6

Change-Id: Ib469956edc364bd0d4af59dc5a79439528bf5efd
2017-08-18 22:58:12 +00:00
George Burgess IV
d9551db089 Disable FORTIFY on ASAN builds
FORTIFY's *_chk functions mess with ASAN's library function
interceptors, which can apparently result in false-positives.

Since adding even more complexity to every run-time check condition in
FORTIFY doesn't seem like a great idea, and the majority of our builds
will still use FORTIFY anyway, turning FORTIFY off here seems
reasonable.

Bug: 63104159
Test: checkbuild on internal master + CtsBionicTestCases. No new
failures.

Change-Id: Id32e551e28ee70a9815ad140c3253b86f03de63f
2017-08-18 13:33:45 -07:00
Evgenii Stepanov
62adbbf5e8 Merge changes from topic "cfi-shadow-size"
am: fc89237b77

Change-Id: I34c706c542e338616d07035e5209d727a43c69bb
2017-08-17 00:37:59 +00:00
Treehugger Robot
fc89237b77 Merge changes from topic "cfi-shadow-size"
* changes:
  Revert "Revert "arm64: expand CFI shadow to cover 48-bit virtual addresses""
  [cfi] Export __cfi_shadow_size.
2017-08-17 00:16:56 +00:00
George Burgess IV
87fcfefe26 Merge "libc fortify: error on realpath(NULL, foo)"
am: 6beab08440

Change-Id: I50cf25955d28df10661e08579fac001f7abdab5f
2017-08-15 17:45:01 +00:00
George Burgess IV
95bd4884b5 libc fortify: error on realpath(NULL, foo)
I've half a mind to make this a warning instead, since this sort of
call isn't UB. That said:
- if the user really wants this (I can't imagine why they would), they
  can just put NULL in a non-const variable,
- we're slowly moving to -Werror ~everywhere anyway, and
- it's presumably easier to change this from an error to a warning than
  the other way around

Bug: 12231437
Test: m checkbuild on bullhead internal master. No new
CtsBionicTestCases failures.

Change-Id: Ie8bf5a3455f663686fda4a7450fb35d147fa745e
2017-08-14 14:48:55 -07:00
Dan Albert
2104cf6795 Merge changes I36924c4b,Ib6bdd09e
am: 32f719ad1a

Change-Id: I5da04c1304ca69e9fbae4d1a559c2b6ccf428b1b
2017-08-10 02:12:57 +00:00
Treehugger Robot
32f719ad1a Merge changes I36924c4b,Ib6bdd09e
* changes:
  Expand swprintf tests.
  Expand wcsto* tests.
2017-08-10 02:07:34 +00:00
Dan Albert
e7c0abea6b Merge "Fix include to be file-relative."
am: e8658b3022

Change-Id: I6eb9aee12056817ee656cc54b0e36ac07fe415fe
2017-08-09 22:31:49 +00:00
Dan Albert
9601f162f4 Expand swprintf tests.
Test: bionic unit tests
Bug: None
Change-Id: I36924c4bdd2fa2c25e50ef7fef5500a365721a05
2017-08-09 14:59:33 -07:00
Dan Albert
6805c2db39 Expand wcsto* tests.
Test: bionic unit tests
Bug: None
Change-Id: Ib6bdd09ea2b30274f5312d2edd63ba9e727e9b9c
2017-08-09 14:55:27 -07:00
Dan Albert
b2ca03140d Fix include to be file-relative.
Discovered while trying to build this with the NDK.

Test: make checkbuild
Bug: None
Change-Id: Id5289065d7a1b36f20b0963b38b6ef4dc1d461b9
2017-08-07 16:28:13 -07:00
Tom Cherry
76f68b3357 Merge "Remove a check for AIDs in the OEM range."
am: f631e5a001

Change-Id: I712af017b833facad83e9d1e21d0c691c02e9559
2017-08-04 20:38:56 +00:00
Tom Cherry
f631e5a001 Merge "Remove a check for AIDs in the OEM range." 2017-08-04 20:28:05 +00:00
Elliott Hughes
212ea2b74e Merge "With O_TMPFILE, open(2) takes a mode argument."
am: 2fdefadcee

Change-Id: I5cd1f9103b4b5f20f18fd3f7f5be2511e2b1990f
2017-08-04 20:20:38 +00:00
Tom Cherry
a14485adde Remove a check for AIDs in the OEM range.
Remove the check that AIDs in the OEM range are not defind in
android_filesystem_config, as we do not yet have a good solution for
OEMs to define custom AIDs and what OEMs are currently doing isn't
hurting anything.

Bug: b/64137613
Test: pwd.getpwent_iterate / grp.getgrent_iterate
Change-Id: If98ad4443fe9e827e3f17b3df92eca82763e6290
2017-08-04 18:15:58 +00:00
Elliott Hughes
b115aefbb3 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
2017-08-04 10:20:18 -07:00
George Burgess IV
afaabfe5ea Merge "libc fortify: warn on open() with useless mode bits"
am: cc3639b3ee

Change-Id: I8df1df02ef729eb79af4030c43b508ec79858def
2017-08-04 07:43:36 +00:00
Treehugger Robot
cc3639b3ee Merge "libc fortify: warn on open() with useless mode bits" 2017-08-04 07:32:27 +00:00
George Burgess IV
4e37d53f29 libc fortify: warn on open() with useless mode bits
Bug: 64132680
Test: checkbuild on bullhead internal master; no new CtsBionicTestCases
fail.

Change-Id: I98762bbee0ecdd7b4ffc21135992f2eed320317f
2017-08-03 22:04:19 -07:00
Evgenii Stepanov
97c16f8dca [cfi] Export __cfi_shadow_size.
__cfi_shadow_size returns the size of the CFI shadow mapping, or 0 if
CFI is not (yet) used in this process. This can be used to adjust
RLIMIT_AS setting.

Test: device bionic tests
Bug: 64293803
Change-Id: Icd7164f96aa7115b3585c21c0f68529cd2f07c11
2017-08-03 14:04:15 -07:00
George Burgess IV
5869bbe1d0 Merge "libc fortify: make string.h use diagnose_if"
am: b1b125ead1

Change-Id: I9e4508c73a83987bbd21550538ff77d6cb65cace
2017-08-03 03:29:34 +00:00
Treehugger Robot
b1b125ead1 Merge "libc fortify: make string.h use diagnose_if" 2017-08-03 03:18:44 +00:00
Jiyong Park
ec8c79aaa1 Merge "linker: the global group is added to all built-in namespaces"
am: c9fb66209d

Change-Id: I9c45ba3b6878a9a098634eae4b9cb97360161495
2017-08-03 02:32:37 +00:00
Treehugger Robot
c9fb66209d Merge "linker: the global group is added to all built-in namespaces" 2017-08-03 02:23:53 +00:00
Elliott Hughes
bc6d5e9288 Merge "Add some <sched.h> tests."
am: 26c59f7082

Change-Id: I5423c0d614e7fee238f0f2980956878111604efe
2017-08-02 19:43:58 +00:00
Elliott Hughes
26c59f7082 Merge "Add some <sched.h> tests." 2017-08-02 19:28:38 +00:00
Jiyong Park
02586a2a34 linker: the global group is added to all built-in namespaces
With ld.config.txt, we now have multiple built-in namespaces other than
the default namespace. Libs (and their dependents) listed in LD_PRELOAD
must be visible to those additional namespaces as well.

This also adds a debugging only feature: path to the linker config file
can be customized via LD_CONFIG_FILE environment variable. This works
only for debuggable builds.

Bug: 38114603
Bug: 62815515
Test: 1. ./external/compiler-rt/lib/asan/scripts/asan_device_setup --lib
prebuilts/clang/host/linux-x86/clang-stable/lib64/clang/5.0/lib/linux
2. enable talkback shortcut
3. in the home screen, hold vol-up/down together
4. device does not reboots and talkback shortcut is toggled
Test: bionic-unit-tests and linker-unit-tests successful

Change-Id: I9a03591053f4a9caea82f0dcb23e7a3d324bb9bd
2017-08-03 01:02:07 +09:00
Elliott Hughes
2950f13eef Add some <sched.h> tests.
I was intending to change our behavior to match POSIX, but reality convinced
me otherwise.

Also add missing argument names to the header file on the assumption they'll
be shown in Studio one day.

Bug: http://b/26203902
Test: ran tests
Change-Id: I2aaea48a88d408a32925033fc8f17448fb63252e
2017-08-02 09:01:42 -07:00
Elliott Hughes
8f2608aba9 Merge "Finish <stdio_ext.h>."
am: 316a44f33c

Change-Id: I5ec959f2a1f4090ca3852c2ec453759e5676d93c
2017-08-02 15:09:50 +00:00
Elliott Hughes
316a44f33c Merge "Finish <stdio_ext.h>." 2017-08-02 15:00:38 +00:00
George Burgess IV
96eb6cbf9a Merge "libc fortify: make fcntl.h use diagnose_if"
am: 5ac5a7c083

Change-Id: I2db3f6d42cbb07c703f142665fd2a0c5059f78bc
2017-08-02 08:12:28 +00:00
Treehugger Robot
5ac5a7c083 Merge "libc fortify: make fcntl.h use diagnose_if" 2017-08-02 08:06:20 +00:00
George Burgess IV
1ede4abc4a Merge "libc fortify: make socket.h and stdlib.h use diagnose_if"
am: a821283d22

Change-Id: I818da183356943d72e96d1e2264747de6fe6a066
2017-08-02 07:43:56 +00:00
Treehugger Robot
a821283d22 Merge "libc fortify: make socket.h and stdlib.h use diagnose_if" 2017-08-02 07:37:46 +00:00
George Burgess IV
ced73cda27 Merge "libc fortify: make stdio.h use diagnose_if"
am: 6e0de9da49

Change-Id: Ic847d12c7822f7f8e25ec5a40e6cf7143417dad9
2017-08-02 07:33:55 +00:00
Treehugger Robot
6e0de9da49 Merge "libc fortify: make stdio.h use diagnose_if" 2017-08-02 07:27:23 +00:00
George Burgess IV
f5b6f13394 Merge "libc fortify: make poll.h and stat.h use diagnose_if"
am: cff14d9e3e

Change-Id: I4cd2863d8f9d859e8441da7cc54f2fc15294b42e
2017-08-02 06:50:53 +00:00
Treehugger Robot
cff14d9e3e Merge "libc fortify: make poll.h and stat.h use diagnose_if" 2017-08-02 06:44:41 +00:00
George Burgess IV
b6300463a8 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
2017-08-01 22:41:11 -07:00
George Burgess IV
54f5d8331f libc fortify: make socket.h and stdlib.h use diagnose_if
Since realpath no longer needs to be overloaded, we can restore the
upstream source to purity. We'll be able to do this with most of the
other functions when we pull a newer clang in.

Bug: 12231437
Test: m checkbuild on bionic internal master; CtsBionicTestCases show
no new failures.

Change-Id: I484221bba0b291273fece23d2be2f5f9fd713d2c
2017-08-01 22:32:15 -07:00
George Burgess IV
23dbf82132 libc fortify: make stdio.h use diagnose_if
This also throws in some reformatting to match the GCC FORTIFY style in
this file (e.g. 4 space standard indent).

Per b/36984245, some function protos are unwrapped beyond 100 chars, as
well.

Bug: 12231437
Test: m checkbuild on bionic internal master; CtsBionicTestCases show
no new failures.

Change-Id: I6dce60ec14d5cd703d9e724699634a197ca11023
2017-08-01 22:02:31 -07:00
George Burgess IV
52dde5fb1c libc fortify: make poll.h and stat.h use diagnose_if
Bug: 12231437
Test: m checkbuild on bionic internal master; CtsBionicTestCases show
no new failures.

Change-Id: I7dbdeca12c46d1ee3804f13546b11c3f3b3a7596
2017-08-01 21:32:12 -07:00
George Burgess IV
0df4c3787d 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
2017-08-01 19:55:02 -07:00
George Burgess IV
a28402b431 Merge "libc fortify: make unistd.h use diagnose_if"
am: 0ec52ce15b

Change-Id: I1361011fc3f466f681d651f85e8e828228c77b41
2017-08-01 23:18:59 +00:00
Treehugger Robot
0ec52ce15b Merge "libc fortify: make unistd.h use diagnose_if" 2017-08-01 23:06:09 +00:00