Commit Graph

16705 Commits

Author SHA1 Message Date
Dimitry Ivanov aca299ac47 Remove dangling links in secondary namespaces
linker didn't remove link to the soinfo from shared
namespaces on soinfo_unload, because it didn't keep
record of all namespaces the library is added to.

This change adds test for this and also fixes the
problem by introducing list of secondary namespaces
to soinfo, which is used to remove soinfo in
soinfo::remove_all_links().

Bug: http://b/28115950
Change-Id: Ifbf6e54f92fa6e88f86b6a8dd6dc22d4553afd22
2016-04-14 11:52:16 -07:00
Treehugger Robot 30bc91a083 Merge "linker: remove unnecessary reset of constructors_called flag" 2016-04-14 04:30:54 +00:00
Treehugger Robot 0e3b719bfa Merge "Move linker-namespace functions to LIBC_PLATFORM" 2016-04-14 00:36:44 +00:00
Dimitry Ivanov 7a622dacf1 Move linker-namespace functions to LIBC_PLATFORM
Bug: http://b/28174921
Change-Id: I089dbeeea813fc2128b9c2f6268a578d23a1954a
(cherry picked from commit 7095da8d3c)
2016-04-13 16:41:31 -07:00
Dimitry Ivanov 3647314d89 linker: remove unnecessary reset of constructors_called flag
linker doesn't call d-tors for RTLD_NODELETE libraries. There is
no need in reseting this flag in call_destructors (which is called
from soinfo_unload).

Change-Id: I3ed03fa7207b7acf598067276fbb8874e29b5e53
2016-04-13 15:08:01 -07:00
Treehugger Robot 3ae69aab0e Merge "linker: unload RTLD_NODELETE libraries when loading fails" 2016-04-13 20:55:20 +00:00
Dimitry Ivanov dd906d7da0 linker: unload RTLD_NODELETE libraries when loading fails
Linker was not unloading libraries marked with RTLD_NODELETE
even when there was a error on load. For example when one of
dt_needed libraries was not found.

Bug: http://b/27911891
Change-Id: Ibc0bf110aa41fbfdc9f327ad8c364f2e3600af71
(cherry picked from commit 79abce4214)
2016-04-13 12:41:41 -07:00
Christopher Ferris 868b6fa426 Merge "Small refactor." 2016-04-12 22:39:48 +00:00
Christopher Ferris 55a89a48f4 Small refactor.
- Move all ScopedDisableDebugCalls into the debug_XXX calls. This avoids
any issues that might arise where every part of the code needs to properly
guard anything that might allocate. Instead everything is already guarded.
- Add a pointer to debug_data in all of the XXData classes. This avoids
calling individual functions passing in the debug_data pointer.
- Flip the NO_HEADER_OPTIONS to an explicit HEADER_OPTIONS list since fewer
options actually require a header.
- Move the extern of g_debug to the DebugData.h header.

Change-Id: Ia213a391b4a44d9ce122a709d09fe4f1b5426f36
2016-04-12 15:36:53 -07:00
Elliott Hughes 03a16d3db7 Merge "Add a test for pthread_setname_np on another thread in a PR_SET_DUMPABLE 0 process." 2016-04-12 21:59:12 +00:00
Colin Cross 966e1ac761 Merge "Rename deps property to objs in cc_objects" 2016-04-12 21:16:05 +00:00
Treehugger Robot 0856a97499 Merge "Update Android.bp to match Android.mk" 2016-04-12 19:10:34 +00:00
Colin Cross 77d57bf7e1 Rename deps property to objs in cc_objects
The deps property is handled by blueprint, which doesn't give the
flexibilty of handling it within soong.  Switch to using objs instead.

Change-Id: Iddc25b0ba03fe79ba0533ef6fde33a5e71bcc8f0
2016-04-11 14:52:14 -07:00
Colin Cross fc8ed2fe8e Update Android.bp to match Android.mk
Change-Id: I002242ab36b6d0d8ad833543c07945f64175a613
2016-04-11 14:52:13 -07:00
Colin Cross eccca04769 Merge "Update Android.bp to match Android.mk" 2016-04-11 21:23:56 +00:00
Elliott Hughes 4d098ca912 Add a test for pthread_setname_np on another thread in a PR_SET_DUMPABLE 0 process.
Bug: http://b/28051133
Change-Id: I9a578333815afa6bdfc1e3c3eea430a15957304f
2016-04-11 12:43:05 -07:00
Josh Gao c247cd1fdc Merge "Remove fabs, fabsf, fabsl inlines from <math.h>." 2016-04-11 18:20:26 +00:00
Dimitry Ivanov 7c649411b6 Merge "Add test for IRELATIVE resolution with RTLD_LAZY" 2016-04-09 01:40:32 +00:00
Josh Gao a588f905ab Remove fabs, fabsf, fabsl inlines from <math.h>.
These inline definitions appear to be a workaround for a compiler bug
that either never existed, or has been resolved since then.

Bug: http://b/28067717
Change-Id: Ic1cd0f26403f234a6ab1fa273a9dd23e7f9fee8f
2016-04-08 21:09:52 +00:00
Dimitry Ivanov ba35b2d1b9 Add test for IRELATIVE resolution with RTLD_LAZY
Even though bionic linker does not support RTLD_LAZY - it
is good to know that its behavior matches glibc.

Bug: http://b/27930475
Change-Id: I1a47263aaa3dc44f9ac61fe77deb55a21e7f881a
2016-04-08 11:50:42 -07:00
Josh Gao 08794d43ad Merge changes Ife4692e4,I7304cc1d,If19653d0,I769ca792,I93625d19, ...
* changes:
  Move <sys/sysconf.h> to <bits/sysconf.h>.
  Remove mbstowcs from <wchar.h>.
  Extract getopt and friends to <bits/getopt.h>
  Remove declaration of unlinkat from <fcntl.h>.
  Extract ioctl to <bits/ioctl.h>.
  Extract fcntl to <bits/fcntl.h>.
  Extract strcasecmp and friends to <bits/strcasecmp.h>.
  Make <bits/lockf.h> compile standalone.
  Make <android/dlext.h> compile standalone.
  Make the network headers compile standalone.
  Remove duplicate declaration of mlock, munlock.
2016-04-08 17:59:24 +00:00
Josh Gao 8c8ef5965d Move <sys/sysconf.h> to <bits/sysconf.h>.
Also remove unneeded declaration of sysconf in <unistd.h>.

Bug: http://b/28067717
Change-Id: Ife4692e48ca97480e422db0686c61133e1d619aa
2016-04-07 18:02:00 -07:00
Josh Gao 752a82c9ed Remove mbstowcs from <wchar.h>.
Glibc doesn't export the function here, and adding a <bits/...> header
for this function seems unnecessary.

Bug: http://b/28067717
Change-Id: I7304cc1daca14585c85d5c783365c4a43779ff2c
2016-04-07 18:01:59 -07:00
Josh Gao 7449e599d8 Extract getopt and friends to <bits/getopt.h>
Bug: http://b/28067717
Change-Id: If19653d0da8b964c43768aa1051f9c926b3c6acb
2016-04-07 18:01:59 -07:00
Josh Gao a6c85467dd Remove declaration of unlinkat from <fcntl.h>.
Glibc doesn't expose unlinkat in fcntl.h, this probably came about
because the man page for unlinkat mentions `#include <fcntl.h>` for the
AT_* constants that actually are defined there.

Bug: http://b/28067717
Change-Id: I769ca792a189bfea212b1d75096274acb0b7cfdb
2016-04-07 18:01:59 -07:00
Josh Gao 98e574c8de Extract ioctl to <bits/ioctl.h>.
Bug: http://b/28067717
Change-Id: I93625d19fa5a033ab22c650d536e98674f0a8d9d
2016-04-07 18:01:59 -07:00
Josh Gao ee8d169997 Extract fcntl to <bits/fcntl.h>.
Bug: http://b/28067717
Change-Id: Id8c19056244660a6e0276a5614282af8d41fbe1e
2016-04-07 18:01:59 -07:00
Josh Gao c3cec27ad7 Extract strcasecmp and friends to <bits/strcasecmp.h>.
Bug: http://b/28067717
Change-Id: I76bab098d4c35d07a7a108055c43c820087f9253
2016-04-07 18:01:59 -07:00
Josh Gao 0d8e141906 Make <bits/lockf.h> compile standalone.
Bug: http://b/28067717
Change-Id: Ida9f251ff23f9e32dcd0c38eb23b6a3bffea322c
2016-04-07 18:01:59 -07:00
Josh Gao 2675a9e343 Make <android/dlext.h> compile standalone.
Bug: http://b/28067717
Change-Id: If087e0c931c69bda34263ea8e0b2dc46d932b2af
2016-04-07 18:01:53 -07:00
Colin Cross b839610500 Update Android.bp to match Android.mk
Change-Id: I0d9bb2b98838184856da81499a64334e0b554617
2016-04-07 13:24:50 -07:00
Josh Gao ef7c95b8ab Make the network headers compile standalone.
Bug: http://b/28067717
Change-Id: I0f69c6cba0eb0df2fe68f458ba5aa81fe8e6434c
2016-04-07 11:16:35 -07:00
Josh Gao 70856fb6ec Remove duplicate declaration of mlock, munlock.
Bug: http://b/28067717
Change-Id: I4fe5a4368e5112a5d6aed5de9549155d3352962a
2016-04-07 10:59:45 -07:00
Elliott Hughes 322d6cfb33 Merge "Add trivial no-op <nl_types.h>." 2016-04-07 15:49:02 +00:00
Elliott Hughes 6cfb84b97e Add trivial no-op <nl_types.h>.
Needed to build OpenMP.

Bug: http://b/27617302
Change-Id: Iac15c84ead6f5d5274cfdb2d6d4a4ec0072244bb
2016-04-06 17:22:44 -07:00
Elliott Hughes 5e843fb7c4 Merge "Teach our script to ignore more dead POSIX stuff." 2016-04-06 21:22:45 +00:00
Mark Salyzyn 8c1eb2dff2 Merge "fix oem_XXXX ids to incorporate both ranges" 2016-04-06 21:19:12 +00:00
Mark Salyzyn 8d387ee1ec fix oem_XXXX ids to incorporate both ranges
The XXXX now lines up to the underlying uid and has no offset.
Work with AID_OEM_RESERVED uids.

Test uses hard coded values to catch changes in the API expectations
that may occur in private/android_filesystem_config.h.

SideEffects: names change, some product dependencies.

Bug: 27999086
Change-Id: Ic2b4c36de74ae009a44e14711c75834293828207
2016-04-06 21:18:49 +00:00
Elliott Hughes 9deb01c5a6 Merge "Fix b64_pton." 2016-04-06 21:02:34 +00:00
Elliott Hughes 187d37d35a Teach our script to ignore more dead POSIX stuff.
Change-Id: Ic29451b7110ac35291125d427e1ae6fd334bdbd5
2016-04-06 13:29:22 -07:00
Elliott Hughes 26fda778f7 Fix b64_pton.
This was fixed upstream years ago. While we're here, let's switch to the
OpenBSD copy (because that's our majority upstream BSD, not because they
found and fixed this bug first).

Bug: http://b/28035006
Change-Id: I53dd915a8122bfd7a6d58f01f9902d1586a47e23
2016-04-06 12:08:45 -07:00
Elliott Hughes 37b23cbff5 Merge "Add <sys/quota.h>." 2016-04-06 18:08:34 +00:00
Elliott Hughes eafad49bd6 Add <sys/quota.h>.
It turns out that at least the Nexus 9 kernel is built without CONFIG_QUOTA.
If we decide we're going to mandate quota functionality, I'm happy for us to
be a part of CTS that ensures that happens, but I don't want to be first, so
there's not much to test here other than "will it compile?". The strace
output looks right though.

Bug: http://b/27948821
Bug: http://b/27952303
Change-Id: If667195eee849ed17c8fa9110f6b02907fc8fc04
2016-04-06 11:06:09 -07:00
Elliott Hughes 733c92fa36 Merge "Rename the <grp.h>/<pwd.h> tests to reflect that they're no longer in stubs.cpp." 2016-04-06 17:00:46 +00:00
Elliott Hughes 492c8723e3 Merge "Break up the rest of stubs.cpp." 2016-04-06 16:47:33 +00:00
Elliott Hughes 3735539fc3 Rename the <grp.h>/<pwd.h> tests to reflect that they're no longer in stubs.cpp.
Bug: http://b/27999086
Change-Id: I3255ad5861a705beeb9b462e22f79ae1e5a85a79
2016-04-06 09:04:17 -07:00
Elliott Hughes e4510a2779 Break up the rest of stubs.cpp.
Bug: http://b/27999086
Change-Id: Ibcc2c5171d43ebd26b486642052738473f3b7714
2016-04-06 08:34:58 -07:00
Mark Salyzyn af11ec2e92 Merge "bionic: split out getpwnam and friends" 2016-04-06 15:05:41 +00:00
Mark Salyzyn b38347ad8b bionic: split out getpwnam and friends
- added grp_pwd.cpp containing POSIX passwd and group functions,
  colocated because they share with the Android ID (AID) roots.
- stubs.cpp contains all the truly empty functions (network and
  protocol accessors)

Bug: 27999086
Change-Id: I036f9e2dd246f48302cb7c97d23176fa24d19c33
2016-04-06 07:26:01 -07:00
Pierre Imai a749dc91c5 Merge "Reduce the amount of logging in Bionic's resolver." 2016-04-06 03:01:51 +00:00