Christopher Ferris
c94c7ff2bb
Add some GNU specific elf constants.
...
Change-Id: I6c668463a27a641c9a280ce1937857d622344ff8
2015-03-13 10:32:45 -07:00
Yabin Cui
5b8e7cd957
Remove duplication in pthread_mutex.cpp.
...
Also add unit tests about thread woken up by pthread_mutex_unlock.
Bug: 19216648
Change-Id: I8bde8105b00186c52a2f41d92458ae4a5eb90426
2015-03-12 21:54:41 -07:00
Yabin Cui
58cf31b506
Make pthread join_state not protected by g_thread_list_lock.
...
1. Move the representation of thread join_state from pthread.attr.flag
to pthread.join_state. This clarifies thread state change.
2. Use atomic operations for pthread.join_state. So we don't need to
protect it by g_thread_list_lock. g_thread_list_lock will be reduced
to only protect g_thread_list or even removed in further changes.
Bug: 19636317
Change-Id: I31fb143a7c69508c7287307dd3b0776993ec0f43
2015-03-12 21:39:49 -07:00
Mark Salyzyn
c4a586da49
syslog.h: missing LOG_MAKEPRI definition
...
Bug: 19681572
Change-Id: Ice5f5cb1f71522ffc47b2243a8dc4c277c2a288f
2015-03-12 13:21:35 -07:00
Elliott Hughes
be86f87711
Merge "Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>."
2015-03-11 16:42:49 +00:00
Elliott Hughes
ba87fe5145
Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>.
...
Change-Id: I2b81cfc3147d9a0a6ac2a8f064e6d9864fa7e04d
2015-03-11 09:32:25 -07:00
Dimitry Ivanov
e842dc0de5
am c16c8368: Merge "Generate gnu hash for arm only"
...
* commit 'c16c8368773452e2d18d761a7b3ea6f249dc2ac5':
Generate gnu hash for arm only
2015-03-10 17:41:18 +00:00
Goran Jakovljevic
1156508265
Generate gnu hash for arm only
...
Fixes build failure caused by:
https://android-review.googlesource.com/#/c/139660
As previously discussed [1], MIPS does not support GNU-style ELF hashes.
[1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk
Change-Id: I9a7966eebfd1ef0a587a20b71faefde38e84ab62
2015-03-10 10:01:50 -07:00
Dmitriy Ivanov
dca2fadd82
am a94cf791: Merge "Generate sysv hash for libc, libstdc++ and libm"
...
* commit 'a94cf791c1c9b93d49f5573716de93348757ae15':
Generate sysv hash for libc, libstdc++ and libm
2015-03-10 15:03:35 +00:00
Dmitriy Ivanov
4a55c46d30
Generate sysv hash for libc, libstdc++ and libm
...
Bug: 19059885
Change-Id: I35e2a9cd0bb3914d9d0c82d163bfaf0fff844667
2015-03-09 19:38:56 -07:00
Dmitriy Ivanov
2bf9f30a3a
am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
...
* commit '536ec7359eb951655e389443aa918a4bb16b2d8b':
Add support for packed relocations.
Refactoring: introduce reloc_iterators
Generalize compression tool
Import relocation packer from chromium repo
2015-03-07 17:13:21 +00:00
Yabin Cui
2bb873aee9
am e86a86f9: Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD."
...
* commit 'e86a86f9f24df7028d2596c69ff008cf88e039e4':
Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
2015-03-07 17:13:21 +00:00
Dmitriy Ivanov
536ec7359e
Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
...
* changes:
Add support for packed relocations.
Refactoring: introduce reloc_iterators
Generalize compression tool
Import relocation packer from chromium repo
2015-03-07 07:08:51 +00:00
Dmitriy Ivanov
18a6956b76
Add support for packed relocations.
...
Change-Id: I796a4ce86d3fccb8361c19889419c96147ee3c9f
2015-03-06 17:12:47 -08:00
Yabin Cui
9d0c79304d
Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
...
Make this change because I think it is more reasonable to check stack info
in pthread_getattr_np. I believe pthread_attr_t is not tied with any thread,
and can't have a flag saying who using it is the main thread.
This change also helps refactor of g_thread_list_lock.
Bug: 19636317
Change-Id: Iedbb85a391ac3e1849dd036d01445dac4bc63db9
2015-03-06 15:16:44 -08:00
Yabin Cui
af1ad42208
am fe4f2a67: Merge "Use pthread_once for g_uselocale_key creation."
...
* commit 'fe4f2a6734ed3ace50606900143e84993f450caf':
Use pthread_once for g_uselocale_key creation.
2015-03-06 05:34:31 +00:00
Yabin Cui
f7e3b3e48a
Use pthread_once for g_uselocale_key creation.
...
Bug: 19625804
Change-Id: I57ec4c965067dc0c157c795c1f7217a3ca403286
2015-03-05 20:39:10 -08:00
Yabin Cui
9ecb7f40d0
am c3307dc4: Merge "Better control of pthread keys used in bionic."
...
* commit 'c3307dc43b2526c4031837738b139d22831c5d09':
Better control of pthread keys used in bionic.
2015-03-05 18:33:31 +00:00
Yabin Cui
c3307dc43b
Merge "Better control of pthread keys used in bionic."
2015-03-05 18:26:44 +00:00
Yabin Cui
80aa71aa71
am e1c0213b: Merge "Switch pthread_rwlock_t to stdatomic."
...
* commit 'e1c0213be3f0c2c4e310cbc262da88835a2e5d86':
Switch pthread_rwlock_t to stdatomic.
2015-03-05 04:48:48 +00:00
Yabin Cui
e1c0213be3
Merge "Switch pthread_rwlock_t to stdatomic."
2015-03-05 04:42:35 +00:00
Yabin Cui
08ee8d2030
Switch pthread_rwlock_t to stdatomic.
...
Bug: 19099838
Change-Id: Ie82967a60b5cec61a8bdd1e0e4a03738d01944f8
2015-03-04 18:16:20 -08:00
Yabin Cui
4a2891d8c8
Better control of pthread keys used in bionic.
...
Change-Id: I1e1bc77c0e7879baead6c3417282ce549a1153b5
2015-03-04 16:53:23 -08:00
Yabin Cui
c210e84f28
am e1edd301: Merge "Refactor pthread_key.cpp to be lock-free."
...
* commit 'e1edd301d2a722e0a0687a7a3a87081c8cb956d3':
Refactor pthread_key.cpp to be lock-free.
2015-03-04 01:53:46 +00:00
Yabin Cui
e1edd301d2
Merge "Refactor pthread_key.cpp to be lock-free."
2015-03-04 01:49:20 +00:00
Yabin Cui
5e2bd719d7
Refactor pthread_key.cpp to be lock-free.
...
Change-Id: I20dfb9d3cdc40eed10ea12ac34f03caaa94f7a49
2015-03-03 15:46:53 -08:00
Yabin Cui
62b6d11b2d
am d5c2745c: Merge "Lose bionic_atomic stuff."
...
* commit 'd5c2745ca8664b987d737e4a32922b6c9fe7c628':
Lose bionic_atomic stuff.
2015-03-03 03:00:42 +00:00
Yabin Cui
d5c2745ca8
Merge "Lose bionic_atomic stuff."
2015-03-03 02:56:19 +00:00
Mark Salyzyn
1f3ac62b44
am ceb9c182: Merge "bionic: deprecate _PATH_MEM"
...
* commit 'ceb9c182dbb9752004a3d61d872fb3f0cc1c3f9c':
bionic: deprecate _PATH_MEM
2015-03-02 19:41:53 +00:00
Mark Salyzyn
c09268a3fe
bionic: deprecate _PATH_MEM
...
/dev/mem (and /dev/kmem) are not enabled in the kernels, and selinux
prevents access and makes it a rule compilation error to enable
access. No code uses the _PATH_MEM macro. Remove definition to
suppress future usage.
Bug: 19549480
Change-Id: Ie0fb0f53d43349f4fe227068e4bf8a768f620d60
2015-03-02 18:44:11 +00:00
Christopher Ferris
df14d8ef98
am 2ae7c1e3: Merge "Fix fread returning bad data."
...
* commit '2ae7c1e336af3dd2901e90608be3adeb577659a7':
Fix fread returning bad data.
2015-02-28 18:36:18 +00:00
Christopher Ferris
cc9ca1051d
Fix fread returning bad data.
...
Bug: 19172514
Change-Id: I05016577858a02aca7d14e75e6ec28abc925037c
2015-02-27 18:22:45 -08:00
Yabin Cui
ce751b3536
Lose bionic_atomic stuff.
...
Bug: 17177189
Change-Id: Ie1f5d7af359d31b14f58e53ec89c72111362d7ec
2015-02-26 13:45:06 -08:00
Yabin Cui
00ba42b9f5
am 7355d29b: Merge "Make getgrent deprecated."
...
* commit '7355d29bbd106bd4ab3f5be1b743fb73e8c3b4da':
Make getgrent deprecated.
2015-02-26 03:52:34 +00:00
Yabin Cui
b8b5a72f41
Make getgrent deprecated.
...
Bug: 19340053
Change-Id: Ie8b97f840d9e87555e6a3d591fc87bc08c2d6820
2015-02-25 19:05:37 -08:00
Yabin Cui
253fcfe70e
am 398ef152: Merge "Move endpwent to ndk_cruft.cpp."
...
* commit '398ef152d50854fccb21086e30b5cc24641b3e2a':
Move endpwent to ndk_cruft.cpp.
2015-02-26 02:52:36 +00:00
Yabin Cui
fbff0fd516
am f1b4a5d5: Merge "Make tempnam/mktemp deprecated."
...
* commit 'f1b4a5d510c693d7cffc76cade9ab049f7dfed07':
Make tempnam/mktemp deprecated.
2015-02-26 02:52:35 +00:00
Yabin Cui
398ef152d5
Merge "Move endpwent to ndk_cruft.cpp."
2015-02-26 02:23:08 +00:00
Yabin Cui
f1b4a5d510
Merge "Make tempnam/mktemp deprecated."
2015-02-26 02:17:17 +00:00
Yabin Cui
9b4f77f5cf
Make tempnam/mktemp deprecated.
...
Bug: 19340053
Change-Id: Ib02c65814ef97cd1758fd8142b73736cc8bc1700
2015-02-25 15:42:01 -08:00
Yabin Cui
52d7f1a94f
Move endpwent to ndk_cruft.cpp.
...
Bug: 19109159
Change-Id: I3683a247643006ea6d6bcf3845f57d1908d457d7
2015-02-25 14:58:08 -08:00
Yabin Cui
f5d4f322bb
am 448a8596: Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
...
* commit '448a85968da1e4622e829bb48fd888a38f9f6c49':
Switch system_properties.cpp from bionic atomic operations to stdatomic.
2015-02-25 21:10:42 +00:00
Yabin Cui
448a85968d
Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
2015-02-25 21:04:56 +00:00
Yabin Cui
a1e4a4a3c6
am 8c41eae6: Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
...
* commit '8c41eae6fcdb6cad1f6c46ae01708ead6b734060':
Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
2015-02-25 00:05:52 +00:00
Yabin Cui
8c41eae6fc
Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
2015-02-25 00:00:51 +00:00
Yabin Cui
7fb680bfda
Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
...
Bug: 19108648
Change-Id: I65134040345398dde612c4325d902db58f3bd2be
2015-02-24 14:46:59 -08:00
Nick Kralevich
e93bc6bbe8
am d91ded81: Merge "Fix "faccessat ignores flags""
...
* commit 'd91ded81376a10a1c89f7a5ae3c462ae3b24188e':
Fix "faccessat ignores flags"
2015-02-24 21:52:36 +00:00
Nick Kralevich
35778253a5
Fix "faccessat ignores flags"
...
The kernel system call faccessat() does not have any flags arguments,
so passing flags to the kernel is currently ignored.
Fix the kernel system call so that no flags argument is passed in.
Ensure that we don't support AT_SYMLINK_NOFOLLOW. This non-POSIX
(http://pubs.opengroup.org/onlinepubs/9699919799/functions/access.html )
flag is a glibc extension, and has non-intuitive, error prone behavior.
For example, consider the following code:
symlink("foo.is.dangling", "foo");
if (faccessat(AT_FDCWD, "foo", R_OK, AT_SYMLINK_NOFOLLOW) == 0) {
int fd = openat(AT_FDCWD, "foo", O_RDONLY | O_NOFOLLOW);
}
The faccessat() call in glibc will return true, but an attempt to
open the dangling symlink will end up failing. GLIBC documents this
as returning the access mode of the symlink itself, which will
always return true for any symlink on Linux.
Some further discussions of this are at:
* http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003617.html
* http://permalink.gmane.org/gmane.linux.lib.musl.general/6952
AT_SYMLINK_NOFOLLOW seems broken by design. I suspect this is why this
function was never added to POSIX. (note that "access" is pretty much
broken by design too, since it introduces a race condition between
check and action). We shouldn't support this until it's clearly
documented by POSIX or we can have it produce intuitive results.
Don't support AT_EACCESS for now. Implementing it is complicated, and
pretty much useless on Android, since we don't have setuid binaries.
See http://git.musl-libc.org/cgit/musl/commit/?id=0a05eace163cee9b08571d2ff9d90f5e82d9c228
for how an implementation might look.
Bug: 18867827
Change-Id: I25b86c5020f3152ffa3ac3047f6c4152908d0e04
2015-02-24 13:40:43 -08:00
Yabin Cui
b8ce474217
Switch system_properties.cpp from bionic atomic operations to stdatomic.
...
Bug: 17177189
Change-Id: I42e05ad1c490cc7a8040138151afc0ee72a9b63f
2015-02-24 10:41:53 -08:00
Elliott Hughes
4ec60a0178
am 2aef607b: Merge "Fix dup2 in the case where the two fds are equal."
...
* commit '2aef607b25c463baed5ae70d14212e24ea7bcf2b':
Fix dup2 in the case where the two fds are equal.
2015-02-24 05:59:52 +00:00