Commit graph

7550 commits

Author SHA1 Message Date
Elliott Hughes
fb94c6396e Merge "Use sysinfo(2) to implement more of <sys/sysinfo.h>."
am: b17d845d9b

Change-Id: I68e9be7428268bf0f3bd54d8e14647aa89debc4e
2016-08-12 17:18:51 +00:00
Treehugger Robot
b17d845d9b Merge "Use sysinfo(2) to implement more of <sys/sysinfo.h>." 2016-08-12 17:07:41 +00:00
Elliott Hughes
2ce52afba4 Merge "dlerror returns char*, not const char*."
am: 166f875eab

Change-Id: Ice8f136b647d9e343dfacfde71ce095a5fd25024
2016-08-11 23:33:58 +00:00
Treehugger Robot
166f875eab Merge "dlerror returns char*, not const char*." 2016-08-11 23:16:59 +00:00
Elliott Hughes
5e071a18ce dlerror returns char*, not const char*.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlerror.html:

    char *dlerror(void);
    ...
    The application shall not modify the string returned.

Change-Id: I5e684bfd3930c39a2a30ea6fd005a5d5d3e5b181
2016-08-11 15:02:45 -07:00
Elliott Hughes
c508de0e41 Use sysinfo(2) to implement more of <sys/sysinfo.h>.
We already had implementations of some of the functions, and I didn't
bother rewriting them when we added sysinfo(2). Ross Anderson said in
https://www.lightbluetouchpaper.org/2016/07/29/yet-another-android-side-channel/
that we should "simply disable access to all procfs files", which made
me curious how many places we use /proc in bionic. This is the one that's
obviously unnecessary. The others I'm not aware of alternative APIs for.

Change-Id: Ia64f36b76f29a7a1dd67845270a5472e121aae10
2016-08-11 14:51:31 -07:00
Josh Gao
4aa98a3d3f Merge "Add __attribute__((sentinel)) tags to execl and friends."
am: 32a2e137a5

Change-Id: I9edad7b6fa639012f6a94501a33bdbc70540cd77
2016-08-11 01:35:11 +00:00
Treehugger Robot
32a2e137a5 Merge "Add __attribute__((sentinel)) tags to execl and friends." 2016-08-11 01:19:23 +00:00
Elliott Hughes
fdcf8ed651 Merge "Move brillo closer to Android."
am: 299e501419

Change-Id: I0a0136336bfe75532d4c37fb6242a80b293702ca
2016-08-11 00:11:33 +00:00
Elliott Hughes
4fe10a4c89 Merge "Remove __static_cast macro from <sys/cdefs.h>."
am: 18af5bfa5d

Change-Id: If2188445e057543a7bdc3530c60697197a90f623
2016-08-11 00:11:31 +00:00
Treehugger Robot
299e501419 Merge "Move brillo closer to Android." 2016-08-10 23:59:19 +00:00
Treehugger Robot
18af5bfa5d Merge "Remove __static_cast macro from <sys/cdefs.h>." 2016-08-10 23:58:12 +00:00
Josh Gao
d80a52eb65 Add __attribute__((sentinel)) tags to execl and friends.
Give a compile time diagnostic when the nullptr sentinel is missing
from an execl family call, instead of just pulling arbitrary values.

Bug: http://b/30793878
Change-Id: I1c49005c58b7ad4a5b04f0435b722d4c744e8f0e
Test: Built bullhead
2016-08-10 15:26:41 -07:00
Elliott Hughes
732a173505 Merge "Fortify vsnprintf in more cases."
am: af211ab23f

Change-Id: Iccd96387222637d1a4c8eed4507ad8b5d21a16fb
2016-08-10 21:26:50 +00:00
Elliott Hughes
d1dd7c58b4 Remove __static_cast macro from <sys/cdefs.h>.
We don't use it, and we added the more general __BIONIC_CAST anyway.

Change-Id: I2cb8a108b58bb2cb24ed2b1890d9efed671196dc
2016-08-10 14:18:01 -07:00
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
Elliott Hughes
fb3873d4db Fortify vsnprintf in more cases.
Bug: http://b/30445072
Change-Id: I1893890f0e3b56533eef053eda1bd96a0b9a5119
2016-08-10 11:50:12 -07:00
Elliott Hughes
b9243aa868 Merge "Remove more stdio copy/paste."
am: f5042cab10

Change-Id: Iba5e72719d3cb0c7eac85dc83d1ba49a05fcdc78
2016-08-10 00:49:38 +00: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
Josh Gao
f84421c284 Merge "Don't use the same declaration to declare multiple symbol names."
am: dcc8feb696

Change-Id: Id21d01cd69f714cdf396f5fd82df175f39eace73
2016-08-09 01:08:40 +00: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
64ac8e6ea2 Merge "Update NOTICE files."
am: 6ba5f07e3f

Change-Id: I065305f4376e7a10d014cd3bb38fb2a16ee71fd0
2016-08-08 23:29:33 +00:00
Elliott Hughes
77a3e28e2e Update NOTICE files.
Change-Id: I591dc91b54804aebc05ba6f9974ef9add660ecfe
2016-08-08 12:39:56 -07:00
Dan Albert
c507eed798 Merge "Guard fortify inlines with __ANDROID_API__."
am: 4b10751310

Change-Id: Ic1bf224c91a3071f3210460b06c4bcdc40b2033a
2016-08-06 01:35:28 +00:00
Treehugger Robot
4b10751310 Merge "Guard fortify inlines with __ANDROID_API__." 2016-08-06 01:31:18 +00:00
Elliott Hughes
6d0c5d096b Merge "Reimplement remove(3) without the lstat(2)."
am: 7e93d9c675

Change-Id: I1fcebf903e32eb7f279ce0c5a0c3b2e2129df2c1
2016-08-06 01:15:56 +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
Dan Albert
685ad2dd6f Merge changes I01c4d9a8,Ic34734b4
am: ed9e6a41c9

Change-Id: I5dc023dc1d96391b2d56c676ca081c8cfa3ab0a9
2016-08-05 00:14:28 +00: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
810b6ca931 Merge "Guard include of uchar.h in stdatomic.h"
am: e8921ec92c

Change-Id: I7e8638db63931173e7dc098cf80fbaaa94670a50
2016-08-04 18:43:07 +00: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
Dan Albert
8280789d30 Merge changes Iecc1b127,Ib67f07db,I7672d34c
am: f0b53115ae

Change-Id: If0a88b7f14808a5339858e276df822f9683929a9
2016-08-03 17:56:39 +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
Josh Gao
bba09a689b Merge changes Ib5962ea3,I8c1a7464,I06ce7c31
am: d7d4937bdc

Change-Id: I96334b89823b75a6d7c56e94f665aab16daed1a9
2016-08-03 00:29:56 +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
Dan Albert
ce990485fb Merge changes Iedab3259,I333fe8ae
am: 0fb3b0aec4

Change-Id: I4eeb1ce1eb8b8b8bbefa38ab339a649fa2e793e4
2016-08-02 21:56:17 +00: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
b340e0a660 Merge "Correct libstdc++ version"
am: bbf593f0f0

Change-Id: I9f549b8548ac8a2b9d0014bcf4b7e2887437ecd5
2016-08-02 18:24:04 +00: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
Elliott Hughes
038edf9186 Merge "More stdio one-liners."
am: 1d8b312a07

Change-Id: I7eed8712ed987a162bd745b181ad700a0ccb490e
2016-08-02 02:39:41 +00:00