Commit graph

7111 commits

Author SHA1 Message Date
Elliott Hughes
5ffed9b856 Move brillo closer to Android.
Hiding our legacy cruft seemed like a good idea, but in practice it will only
mean worse interoperability.

Plus we got it wrong, as the recent `putw` example showed.

Change-Id: I167c7168eff133889028089c22a7a0dfb8d6d0cf
2016-08-10 14:08:31 -07:00
Treehugger Robot
f5042cab10 Merge "Remove more stdio copy/paste." 2016-08-10 00:43:39 +00:00
Elliott Hughes
53cf348c82 Remove more stdio copy/paste.
Change-Id: Ia92629b75d2c153ecf1cec711e2f9575eef604ab
2016-08-09 16:27:23 -07:00
Treehugger Robot
dcc8feb696 Merge "Don't use the same declaration to declare multiple symbol names." 2016-08-09 00:57:32 +00:00
Josh Gao
8a03c83ef8 Don't use the same declaration to declare multiple symbol names.
This doesn't play well with preprocessing.

Bug: http://b/30170081
Change-Id: Id7fc648113336dcccdfa0a6b108f3d452aaf1ed2
2016-08-08 16:39:07 -07:00
Elliott Hughes
77a3e28e2e Update NOTICE files.
Change-Id: I591dc91b54804aebc05ba6f9974ef9add660ecfe
2016-08-08 12:39:56 -07:00
Treehugger Robot
4b10751310 Merge "Guard fortify inlines with __ANDROID_API__." 2016-08-06 01:31:18 +00:00
Dan Albert
dfa6bbb54b Guard fortify inlines with __ANDROID_API__.
Test: make checkbuild with libc ndk_library patches applied
Change-Id: Ic5e248994c4f2702b0f4d6dfeda787187ea86017
2016-08-05 16:33:32 -07:00
Elliott Hughes
d1f25a7eb1 Reimplement remove(3) without the lstat(2).
This assumes that it's more likely we're unlinking a file than a directory,
though even if that's not true, as long as a failed unlink(2) is cheaper
than a successful lstat(2) -- which seems likely since there's no data to
copy -- we still win.

Change-Id: I0210e9cd3d31b8cf1813c55c810262ef327382ed
2016-08-05 15:53:03 -07:00
Treehugger Robot
ed9e6a41c9 Merge changes I01c4d9a8,Ic34734b4
* changes:
  Run genversion-scripts.py.
  Annotate libdl.map.txt.
2016-08-04 23:56:55 +00:00
Dan Albert
c8a95a3b15 Run genversion-scripts.py.
Change-Id: I01c4d9a85d3397b02b00b4d33fafe6d9ae692ed7
2016-08-04 15:39:21 -07:00
Pirama Arumuga Nainar
ed3c78771f Guard include of uchar.h in stdatomic.h
Bionic stdatomic.h is also used for the host (via a copy in
prebuilts/clang).  Revert to guarding the include of uchar.h based on
__STDC_VERSION__, so it is included only when needed.

Change-Id: I5b45c7f5d16da223478512104702a3e4e5a975ae
Test: bionic tests on host and Angler.  Confirmed failures I am 
      seeing are KIs.
2016-08-04 18:22:12 +00:00
Treehugger Robot
f0b53115ae Merge changes Iecc1b127,Ib67f07db,I7672d34c
* changes:
  Run genversion-scripts.py.
  Only check arch tag if we have *any* arch tags.
  Add pylintrc.
2016-08-03 17:50:38 +00:00
Treehugger Robot
d7d4937bdc Merge changes Ib5962ea3,I8c1a7464,I06ce7c31
* changes:
  Add version information for legacy inlines.
  versioner: remove unnecessary kernel/common symlink.
  versioner: add symlink for kernel/android/uapi.
2016-08-03 00:22:12 +00:00
Dan Albert
37ba9052b0 Run genversion-scripts.py.
Change-Id: Iecc1b127c67a96aecc4e86582c1cc3291a4acf00
2016-08-02 15:33:53 -07:00
Dan Albert
ea701b3790 Only check arch tag if we have *any* arch tags.
With the introduction of new tags for ndk_library, we'll have a lot
of tags that aren't architecture tags. If we have something tagged
`introduced=21`, it should be in all architectures.

Change-Id: Ib67f07db14625f6903919c181050316eb183bed5
2016-08-02 15:33:53 -07:00
Dan Albert
10085bfdc0 Add pylintrc.
Disable all the style differences present in genversion-scripts.py.

Change-Id: I7672d34c4f7698ba445968dd5d9f5ef1fdc60056
2016-08-02 15:15:09 -07:00
Treehugger Robot
0fb3b0aec4 Merge changes Iedab3259,I333fe8ae
* changes:
  Put bsd_signal back.
  Unversion some symbols for the NDK.
2016-08-02 21:44:20 +00:00
Josh Gao
b6a4a4c0cc Add version information for legacy inlines.
Bug: http://b/30170081
Change-Id: Ib5962ea3037dd692a98b6691d263871549aac8af
2016-08-02 14:32:42 -07:00
Dimitry Ivanov
bbf593f0f0 Merge "Correct libstdc++ version" 2016-08-02 18:17:08 +00:00
Dan Albert
00c8e9556f Put bsd_signal back.
With this change (and all the others below it in the stack), the only
difference between the arm android-9 libc.so in r13-beta1 and the one
we are now generating is the addition of LIBC_N and LIBC_O versions.

Test: make ndk, readelf stub libc.so to check symbol exists
Bug: https://github.com/android-ndk/ndk/issues/160
Change-Id: Iedab32592b2d979f3cc922ffd4ed406427de3dda
2016-08-02 10:58:52 -07:00
Dan Albert
674d93db37 Unversion some symbols for the NDK.
These functions were erroneously released in LIBC_PRIVATE for M, but
in fact need to be public. Since we need to be able to load them on M
even if they were built for a lower platform (and M needs to load on
newer platforms), we need to unversion them.

Change-Id: I333fe8ae7380cc2a5dbd699414399ec52f602383
2016-08-02 10:43:35 -07:00
Treehugger Robot
1d8b312a07 Merge "More stdio one-liners." 2016-08-02 02:30:14 +00:00
Elliott Hughes
70715da453 More stdio one-liners.
This actually turns up a bug in fmemopen, so I guess that's what I'll
look at next...

Change-Id: I2971ecd1b5a3a3c7f43c22d985f88e389af89e97
2016-08-01 18:06:38 -07:00
Treehugger Robot
5b1357da65 Merge changes I2d334db2,Iab9fbc73
* changes:
  Clean up 32-bit x86 memset assembler.
  Fix x86 __memset_chk.
2016-08-01 23:26:00 +00:00
Dimitry Ivanov
2b1b1a9467 Correct libstdc++ version
The version script is introduced in O

Bug: http://b/28987948
Change-Id: Icd0a27d1b67e8227e44aa6e771816f0e6ed489b8
2016-08-01 15:45:42 -07:00
Elliott Hughes
e412f8944e Clean up 32-bit x86 memset assembler.
Change-Id: I2d334db29226f9c60cf20220a569f1b772bf7c66
2016-08-01 14:00:45 -07:00
Treehugger Robot
490b9515e7 Merge "More stdio cleanup." 2016-08-01 20:05:44 +00:00
Lev Rumyantsev
3a528f1cbf Fix x86 __memset_chk.
When __memset_chk_fail moved to C++, we didn't take into account
that the stack wasn't set up correctly for the jump from assembler.
Presumably no one had run the 32-bit x86 tests until now!

Bug: http://b/30513094
Change-Id: Iab9fbc731b6bfecd7ca4d3f3844d0568a5d30d86
2016-08-01 09:59:19 -07:00
Elliott Hughes
36a88e82eb Restore attribute alloc_size for GCC.
clang doesn't support attribute alloc_size, but GCC uses it to give
diagnostics where clang can't, and we had a test for one such case.

Bug: http://b/30513330
Change-Id: I4c14771258992d6bea684db7f91d60312642662f
2016-07-30 09:58:15 -07:00
Treehugger Robot
3318c56c99 Merge changes I946cde38,I4b8e0ea1,I2e8141a8
* changes:
  Mark LIBC_O as being a future version.
  Mark LIBC_N as being introduced in android-24.
  Annotate the libc version map with NDK info.
2016-07-30 02:07:16 +00:00
Dan Albert
bf0e762dbb Mark LIBC_O as being a future version.
None of these symbols are in the NDK yet. Skip them.

Change-Id: I946cde38e767190c396593d562babc90457973fb
2016-07-29 17:49:42 -07:00
Dan Albert
09bc172911 Mark LIBC_N as being introduced in android-24.
Change-Id: I4b8e0ea1fc9b42c1f98f36ae7aaaae2c6322e16b
2016-07-29 17:49:42 -07:00
Dan Albert
b8109d0dbc Annotate the libc version map with NDK info.
Generated by running
https://android-review.googlesource.com/#/c/251477/ for libc.

Test: make checkbuild with
https://android-review.googlesource.com/#/q/branch:master+topic:ndk_library-libc-libm
Change-Id: I2e8141a83c1d79fd89b5e5c4432400b8301ba347
2016-07-29 17:49:42 -07:00
Elliott Hughes
cceaf069c7 More stdio cleanup.
Time to get back to cleaning up stdio, so start with a bunch of easy
one-liners...

Change-Id: I8df5fdc72500a89b977bfaa6c64c3639198d4e3e
2016-07-29 16:31:52 -07:00
Elliott Hughes
0a610d00fe Upgrade to tzcode-2016f.
No significant changes other than a default implementation of strftime_l.

Change-Id: I6edd2c03e5e7559f012c0c87d43f7109d641d3ca
2016-07-29 14:04:17 -07:00
Dimitry Ivanov
4bc6eea83e Merge "Add symbol versions to libstdc++.so" 2016-07-28 22:38:09 +00:00
Dimitry Ivanov
6cc8d47a1f Add symbol versions to libstdc++.so
Bug: http://b/28987948
Change-Id: I3853528bd432ceab37e4867f2c4112d9ee0b40dc
2016-07-28 13:52:17 -07:00
Treehugger Robot
0cf1abe486 Merge "Add IOV_MAX to <limits.h>." 2016-07-28 00:20:36 +00:00
Elliott Hughes
f2d7d41ff8 Add IOV_MAX to <limits.h>.
strace 4.13 assumes we have IOV_MAX. POSIX says it lives here. 1024 is
a Linux kernel limitation.

Change-Id: Icb428172670e4936a459db38a6a190b7178fe9f3
2016-07-27 15:25:31 -07:00
Elliott Hughes
7292725bcd Admit that we don't actually support thread priority inheritance.
Bug: https://code.google.com/p/android/issues/detail?id=218323
Change-Id: I6c69b0fbb8414e7cc2deeb8be50b6af4830ed55e
2016-07-27 14:05:10 -07:00
Treehugger Robot
931be5a64d Merge "Clean up <uchar.h> and <wctype.h> transitive includes." 2016-07-27 18:44:07 +00:00
Christopher Ferris
af8be4ebbc Merge "More kernel header cleanup." 2016-07-27 17:56:55 +00:00
Elliott Hughes
0fe88858f0 Clean up <uchar.h> and <wctype.h> transitive includes.
Bug: http://b/30367366
Change-Id: I63212a34c54ca07223a15aa5be4da3bdc6aa38a8
2016-07-27 10:45:05 -07:00
Treehugger Robot
61bd7cb6e9 Merge changes I0262eed9,Iba9ee03a
* changes:
  Add a temporary hack to work around __NDK_FPABI__.
  Remove _GNU_SOURCE guard on tmpnam.
2016-07-27 00:30:30 +00:00
Dan Albert
3e6929dad5 Add a temporary hack to work around __NDK_FPABI__.
Test: make checkbuild
Bug: http://b/27533932
Change-Id: I0262eed91b10b0dd5fe27a61fb8f35b3c062280e
2016-07-26 16:28:30 -07:00
Dan Albert
c1020754c2 Remove _GNU_SOURCE guard on tmpnam.
This shouldn't be guarded by _GNU_SOURCE. external/opencv3 expects
P_tmpdir to be available.

http://pubs.opengroup.org/onlinepubs/009695399/functions/tmpnam.html

Test: make checkbuild
Change-Id: Iba9ee03aec6e712356b571f7165ed1809e6227fe
2016-07-26 16:28:30 -07:00
Elliott Hughes
7b737e43f8 Remove #pragma GCC visibility.
We have better control over visibility now.

Bug: http://b/24767418
Change-Id: Ifa9a1e5af4bd4217db08422050908770247b3b69
2016-07-25 15:57:02 -07:00
Elliott Hughes
f6495c78a8 Stop #define'ing __func__ and __restrict.
__STDC_VERSION__ isn't defined for __cplusplus, so we've been removing
such checks. Some got missed.

Stop defining __func__ and just use the __PRETTY_FUNCTION__ GCC extension
in <assert.h>. Also fix the #if there so that C++ gets __assert2 rather
than __assert, and rewrite the cast to work with -I rather than -isystem.

Also remove __restrict and just always use the __restrict GCC extension.

Add a trivial test for <assert.h>.

Bug: http://b/30353757
Change-Id: Ie49bb417976293d3a9692b516e28fe3c0ae0a6d9
Test: ran bionic unit tests.
2016-07-25 11:13:47 -07:00
Treehugger Robot
557b3a1194 Merge "Remove bionic's now-unused UniquePtr." 2016-07-23 03:51:20 +00:00