OSDN Git Service
Dan Albert [Thu, 22 Jan 2015 01:50:29 +0000 (17:50 -0800)]
Add a basic NDK compatibility library.
We know we can safely statically link `libm`, since it doesn't have
any dependencies on the OS or the layout of a data type that has
changed between releases (like `pthread_t`).
We can safely statically link `libc_syscalls` because the user can
check for and handle `ENOSYS`.
Update `ndk_missing_symbols.py` to account for symbols that are in the
compatibility library.
Improve `symbols.py` to be able to pull symbols from a static library.
Change-Id: Ifb0ede1e8b4a8f0f33865d9fed72fb8b4d443fbc
Elliott Hughes [Thu, 22 Jan 2015 01:52:05 +0000 (01:52 +0000)]
Merge "Turn on -Wold-style-cast and fix the errors."
Dan Albert [Thu, 22 Jan 2015 01:25:56 +0000 (01:25 +0000)]
Merge "Add ndk_missing_symbols.py."
Elliott Hughes [Thu, 22 Jan 2015 00:19:07 +0000 (16:19 -0800)]
Turn on -Wold-style-cast and fix the errors.
A couple of dodgy cases where we cast away const, but otherwise pretty boring.
Change-Id: Ibc39ebd525377792b5911464be842121c20f03b9
Dan Albert [Thu, 22 Jan 2015 00:42:02 +0000 (16:42 -0800)]
Add ndk_missing_symbols.py.
ndk_missing_symbols.py pulls libc.so and libm.so off a running device
or emulator and shows the list of symbols that are in the current
bionic that aren't available on the target.
Change-Id: Ia92c315a6a0ce2e5c33db0b62c8fab41c08a4c31
Elliott Hughes [Wed, 21 Jan 2015 19:42:40 +0000 (19:42 +0000)]
Merge "Implement __fsetlocking."
Christopher Ferris [Wed, 21 Jan 2015 18:39:59 +0000 (18:39 +0000)]
Merge "Contact proper debuggerd when crashing."
Elliott Hughes [Wed, 21 Jan 2015 02:09:05 +0000 (18:09 -0800)]
Implement __fsetlocking.
The old __isthreaded hack was never very useful on Android because all user
code runs in a VM where there are lots of threads running. But __fsetlocking
lets a caller say "I'll worry about the locking for this FILE*", which is
useful for the normal case where you don't share a FILE* between threads
so you don't need any locking.
Bug:
17154740
Bug:
18593728
Change-Id: I2a8dddc29d3edff39a3d7d793387f2253608a68d
Dan Albert [Wed, 21 Jan 2015 18:25:39 +0000 (18:25 +0000)]
Merge "Report 404 errors from Gerrit and continue."
Dan Albert [Wed, 21 Jan 2015 17:56:28 +0000 (09:56 -0800)]
Report 404 errors from Gerrit and continue.
Currently, we get a 404 from Gerrit in the event that two projects
have the same Change-Id. We should be able to handle this and actually
cherry-pick each change so we can check multi-project changes, but for
now just skip these changes.
Change-Id: I7bc63208998d58beec83b71b302450d9be3ea026
Christopher Ferris [Mon, 19 Jan 2015 19:16:52 +0000 (11:16 -0800)]
Contact proper debuggerd when crashing.
Make the request structure match the new structure found in debuggerd
code.
On 64 bit systems, make sure that the 32 bit compiled linker is contacted.
Bug: https://code.google.com/p/android/issues/detail?id=97024
Change-Id: I675b8ff222fcf836b05de4e9b5976ff91ca929bf
Elliott Hughes [Wed, 21 Jan 2015 00:57:06 +0000 (00:57 +0000)]
Merge "Fix signed/unsigned comparison that was upsetting clang."
Elliott Hughes [Wed, 21 Jan 2015 00:52:04 +0000 (16:52 -0800)]
Fix signed/unsigned comparison that was upsetting clang.
bionic/libc/stdio/fread.c:86:27: error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
Change-Id: Ia7e1e053e0cb13113e8f2eede820be013acbab82
Elliott Hughes [Wed, 21 Jan 2015 00:50:01 +0000 (00:50 +0000)]
Merge "Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions."
Elliott Hughes [Wed, 21 Jan 2015 00:18:32 +0000 (16:18 -0800)]
Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
This is correctness rather than performance, but found while investigating
performance.
Bug:
18593728
Change-Id: Idbdfed89d1931fcfae65db29d662108d4bbd9b65
Elliott Hughes [Wed, 21 Jan 2015 00:13:27 +0000 (00:13 +0000)]
Merge "Fix build error when XLOG is enabled"
Patrick Tjin [Wed, 21 Jan 2015 00:02:04 +0000 (16:02 -0800)]
Fix build error when XLOG is enabled
(cherrypick of
79a49c9857f3949fc13373eeb179f27b6ecdca81.)
Change-Id: I7bb44fd1fe3ef2ddfc115247f328eccfceeb5352
Signed-off-by: Patrick Tjin <pattjin@google.com>
Elliott Hughes [Wed, 21 Jan 2015 00:11:30 +0000 (00:11 +0000)]
Merge "Optimized fread."
Elliott Hughes [Tue, 20 Jan 2015 19:23:50 +0000 (11:23 -0800)]
Optimized fread.
This makes us competitive with glibc for fully-buffered and unbuffered reads,
except in single-threaded situations where glibc avoids locking, but since
we're never really single-threaded anyway, that isn't a priority.
Bug:
18593728
Change-Id: Ib776bfba422ccf46209581fc0dc54f3567645b8f
Yabin Cui [Tue, 20 Jan 2015 23:38:34 +0000 (23:38 +0000)]
Merge "Remove testcase time printing in bionic-unit-tests."
Yabin Cui [Tue, 20 Jan 2015 22:46:03 +0000 (14:46 -0800)]
Remove testcase time printing in bionic-unit-tests.
Bug:
19075565
Change-Id: Icccb60657a2985e96abb1703673f0ebe2199586a
Yabin Cui [Tue, 20 Jan 2015 22:44:01 +0000 (22:44 +0000)]
Merge "Add target libbionic_gtest_main for cts test."
Yabin Cui [Tue, 20 Jan 2015 20:02:21 +0000 (12:02 -0800)]
Add target libbionic_gtest_main for cts test.
Bug:
17589740
Change-Id: I37f2d3fe72870b9dc867407fa1619c9a6fcd5cbb
Elliott Hughes [Tue, 20 Jan 2015 18:07:36 +0000 (18:07 +0000)]
Merge "Improve <stdio_ext.h> testing."
Elliott Hughes [Sat, 17 Jan 2015 01:24:43 +0000 (01:24 +0000)]
Merge "Add a benchmark for using stdio to read a file in /proc."
Elliott Hughes [Sat, 17 Jan 2015 01:08:31 +0000 (17:08 -0800)]
Add a benchmark for using stdio to read a file in /proc.
Change-Id: I12517aae19e36b7c022a11e8807aece61bb0cb9c
Elliott Hughes [Sat, 17 Jan 2015 00:40:55 +0000 (16:40 -0800)]
Improve <stdio_ext.h> testing.
I almost fixed a non-bug. Add a test to prevent me from doing that.
Change-Id: I4a1dc13e603a7a377bdaee2e78132015087f7107
Elliott Hughes [Sat, 17 Jan 2015 00:23:34 +0000 (00:23 +0000)]
Merge "Use SI prefixes throughout the benchmark output."
Yabin Cui [Fri, 16 Jan 2015 21:52:11 +0000 (21:52 +0000)]
Merge "Make sys_resource test more robust."
Yabin Cui [Mon, 5 Jan 2015 19:06:30 +0000 (11:06 -0800)]
Make sys_resource test more robust.
"ulimit -c xxx" command may run before bionic-unit-tests.
Make sure sys_resource test fails gently in that case.
Change-Id: Ic3b5ed8b20acba56df8c5ef082c88e5050e761aa
Elliott Hughes [Fri, 16 Jan 2015 21:11:25 +0000 (13:11 -0800)]
Use SI prefixes throughout the benchmark output.
Also switch throughput to GiB/s. I did play with using the new code,
but having consistent units for all results seemed easier to use
anyway (and doesn't require extra code).
Change-Id: I466fd573373bd05619e6f6e6d3dedd7dae0d9362
Elliott Hughes [Fri, 16 Jan 2015 03:22:40 +0000 (03:22 +0000)]
Merge "Use a vector of benchmarks and new for loop syntax."
Elliott Hughes [Fri, 16 Jan 2015 01:10:42 +0000 (17:10 -0800)]
Use a vector of benchmarks and new for loop syntax.
Change-Id: Ib1f1250e7786770083ed6a478677a893b2075a93
Elliott Hughes [Fri, 16 Jan 2015 00:44:16 +0000 (00:44 +0000)]
Merge "bionic benchmarks: limit benchmark run time to 1s real time"
Colin Cross [Thu, 28 Nov 2013 01:37:54 +0000 (17:37 -0800)]
bionic benchmarks: limit benchmark run time to 1s real time
The benchmark run loop tries to run until 1s of time has been
accumulated between StartBenchmarkTiming() and StopBenchmarkTiming().
If a majority of the time is spent stopped this can lead to
benchmarks running for very long periods of time. This can easily
happen when benchmarking something that requires initialization or
cleanup on each iteration.
Modify the loop to run for 1s of real time instead of 1s of
benchmark time. For existing benchmarks this shouldn't make much
of a difference.
Change-Id: Iaba8a13b4dfc4a5e2cd9992041c9173ea556f9cc
Elliott Hughes [Fri, 16 Jan 2015 00:36:19 +0000 (00:36 +0000)]
Merge "bionic benchmarks: export benchmark library"
Colin Cross [Fri, 15 Nov 2013 22:34:22 +0000 (14:34 -0800)]
bionic benchmarks: export benchmark library
Export libbenchmark for external projects to write benchmarks against.
Change-Id: I3b04a56a62ce517afc0d5e06dc8d28879ada3d30
Yabin Cui [Thu, 15 Jan 2015 19:35:38 +0000 (19:35 +0000)]
Merge "Fix possible leak in pthread_detach."
Yabin Cui [Thu, 18 Dec 2014 22:22:09 +0000 (14:22 -0800)]
Fix possible leak in pthread_detach.
If pthread_detach() is called while the thread is in pthread_exit(),
it takes the risk that no one can free the pthread_internal_t.
So I add PTHREAD_ATTR_FLAG_ZOMBIE to detect this, maybe very rare, but
both glibc and netbsd libpthread have similar function.
Change-Id: Iaa15f651903b8ca07aaa7bd4de46ff14a2f93835
Yabin Cui [Thu, 15 Jan 2015 18:10:30 +0000 (18:10 +0000)]
Merge "Make bionic-unit-tests default run isolate mode."
Dmitriy Ivanov [Thu, 15 Jan 2015 17:56:36 +0000 (17:56 +0000)]
Merge "Refactoring: move mips reloc to separate method"
Dmitriy Ivanov [Wed, 14 Jan 2015 19:36:38 +0000 (11:36 -0800)]
Refactoring: move mips reloc to separate method
Change-Id: I712614853e3f0e515f5c2bdd8f0aaa5feeae8e55
Dmitriy Ivanov [Wed, 14 Jan 2015 18:14:30 +0000 (18:14 +0000)]
Merge "Refactoring: unify relocate function"
Andres Morales [Wed, 14 Jan 2015 15:54:03 +0000 (15:54 +0000)]
Merge "bionic: libc: Added path to root ramdisk build properties file."
Dmitriy Ivanov [Tue, 13 Jan 2015 20:12:38 +0000 (12:12 -0800)]
Refactoring: unify relocate function
Use one relocate for all platforms.
Change-Id: I43e75162c5b29105e651defc11a511e168368736
Andres Morales [Wed, 14 Jan 2015 02:00:56 +0000 (18:00 -0800)]
bionic: libc: Added path to root ramdisk build properties file.
Change-Id: Id850e4e5ef4e91cea7ad53f6858886daf660eeec
Yabin Cui [Wed, 14 Jan 2015 01:50:20 +0000 (01:50 +0000)]
Merge "Test that ip6-localhost exists in etc/hosts."
Dmitriy Ivanov [Wed, 14 Jan 2015 01:34:30 +0000 (01:34 +0000)]
Merge "Refactoring: use generic reloc constants"
Yabin Cui [Tue, 13 Jan 2015 22:35:15 +0000 (14:35 -0800)]
Test that ip6-localhost exists in etc/hosts.
Addition change: make netdb_test pass on host.
Bug:
18791191
Change-Id: I7a9e29aa559ff6557288b47323d8a436379201a2
Elliott Hughes [Wed, 14 Jan 2015 01:27:37 +0000 (01:27 +0000)]
Merge "Sync with upstream OpenBSD stdio."
Elliott Hughes [Wed, 14 Jan 2015 01:19:21 +0000 (17:19 -0800)]
Sync with upstream OpenBSD stdio.
Mainly to get the __atexit_register_cleanup removals we suggested.
Change-Id: I58d40b8c5b8401bfb6bfffe8f3430ac0718af917
Dmitriy Ivanov [Tue, 13 Jan 2015 20:17:31 +0000 (12:17 -0800)]
Refactoring: use generic reloc constants
Change-Id: I94dd6256b1b4509b6ea696a3aff17a3991529468
Dimitry Ivanov [Tue, 13 Jan 2015 22:32:48 +0000 (22:32 +0000)]
Merge "Revert "Refactoring: use generic reloc constants""
Dimitry Ivanov [Tue, 13 Jan 2015 22:31:54 +0000 (22:31 +0000)]
Revert "Refactoring: use generic reloc constants"
This reverts commit
265a60a0d285a733d9d98f53672bce668803b434.
Change-Id: I6d46db0ac03cda44ed1e20f6084a552e0089eb14
Dmitriy Ivanov [Tue, 13 Jan 2015 22:21:04 +0000 (22:21 +0000)]
Merge "Refactoring: use generic reloc constants"
Dmitriy Ivanov [Tue, 13 Jan 2015 20:17:31 +0000 (12:17 -0800)]
Refactoring: use generic reloc constants
Change-Id: I67918a1a926164a38a5a47f2264390632eb42905
Dan Albert [Tue, 13 Jan 2015 00:58:30 +0000 (00:58 +0000)]
Merge "Check the committer rather than the Gerrit owner."
Dan Albert [Tue, 13 Jan 2015 00:23:53 +0000 (16:23 -0800)]
Check the committer rather than the Gerrit owner.
Guarding based on the Gerrit owner can be circumvented by an arbitrary
user uploading a different patch with a Change-Id that is non-unique,
with the other copy being owned by a Googler.
Change-Id: I5414b679e361d4c38d70bf9c4516c122f668fc49
Dan Albert [Mon, 12 Jan 2015 21:49:05 +0000 (21:49 +0000)]
Merge "Guard against @google.com.example.com."
Dan Albert [Mon, 12 Jan 2015 20:25:31 +0000 (12:25 -0800)]
Guard against @google.com.example.com.
Begin adding some unit tests. Testing the Jenkins interface will
probably be difficult, but testing that we can properly handle
messages from Gerrit is easy enough.
Change-Id: Id7e8e175e0f064fd10715febe40040a65564c701
Dan Albert [Mon, 12 Jan 2015 19:59:28 +0000 (19:59 +0000)]
Merge "Oops. Fix dict key."
Dan Albert [Mon, 12 Jan 2015 19:56:41 +0000 (11:56 -0800)]
Oops. Fix dict key.
Change-Id: Ia8295417d4097f38eef633089cb4539b849f3c74
Dan Albert [Mon, 12 Jan 2015 19:51:39 +0000 (19:51 +0000)]
Merge "Only build changes that come from @google.com."
Dan Albert [Sat, 10 Jan 2015 18:38:53 +0000 (10:38 -0800)]
Only build changes that come from @google.com.
Googlers should be able to tell the buildbot to launch builds for an
external contributor's change, but Gerrit is determined to make this
hard for us. The email sent by Gerrit for comments doesn't actually
contain the email address of the commenter in any clear way, only the
name. It does however contain a list of `Gerrit-Reviewer: Name
<email>` entries that could be used for this though.
Change-Id: Iee61f06dcd8f0024f16b535ea9a34765bf01b2e7
Dan Albert [Sat, 10 Jan 2015 06:45:20 +0000 (06:45 +0000)]
Merge "Make indentation match the style guide."
Yabin Cui [Sat, 10 Jan 2015 05:17:29 +0000 (05:17 +0000)]
Merge "Clean up paths.h."
Yabin Cui [Thu, 8 Jan 2015 04:36:20 +0000 (20:36 -0800)]
Clean up paths.h.
Bug:
18905946
Change-Id: I02cd1ddd5c0b0af165685413bc1fb12ca6bf5f33
Dan Albert [Sat, 10 Jan 2015 01:22:00 +0000 (17:22 -0800)]
Make indentation match the style guide.
Apparently Google abandoned the 2 space indent for Python long ago.
Helps to actually read the style guide before trying to adhere to it.
Change-Id: I4feb019f0916f9d8e4f78c0dbeafbe45d8a46bfd
Dan Albert [Sat, 10 Jan 2015 00:58:12 +0000 (00:58 +0000)]
Merge "Use relative imports."
Dan Albert [Sat, 10 Jan 2015 00:52:07 +0000 (16:52 -0800)]
Use relative imports.
Making `bionicbb` its own package required `PYTHONPATH=..`, which we
don't want. Just use a relative import instead.
Change-Id: I59b9852522118ece89829288a4921902e756e4aa
Dan Albert [Sat, 10 Jan 2015 00:43:07 +0000 (00:43 +0000)]
Merge "Add JSON files and oauth storage to .gitignore."
Dan Albert [Sat, 10 Jan 2015 00:43:03 +0000 (00:43 +0000)]
Merge "Make service URLs configurable."
Dan Albert [Sat, 10 Jan 2015 00:24:17 +0000 (16:24 -0800)]
Add JSON files and oauth storage to .gitignore.
The only JSON file is the client secret file, which we really don't
want leaking. Same goes for the oauth storage file.
Change-Id: Ie860704574ec37ccfc50ff7c9d59717a7b9b443b
Dan Albert [Sat, 10 Jan 2015 00:18:48 +0000 (16:18 -0800)]
Make service URLs configurable.
Change-Id: I91df77b7e0294be5e6180460b0ef26d7ead2ea7d
Dmitriy Ivanov [Fri, 9 Jan 2015 23:44:50 +0000 (23:44 +0000)]
Merge changes I713800ce,I1dea46c3
* changes:
Refactor soinfo::relocate
Add ARM_IRELATIVE relocation
Dan Albert [Fri, 9 Jan 2015 23:32:26 +0000 (23:32 +0000)]
Merge "Markdown-ify
5137db3."
Dan Albert [Fri, 9 Jan 2015 23:24:28 +0000 (15:24 -0800)]
Markdown-ify
5137db3.
Most of these are just aesthetic, but the `_FILE_OFFSET_BITS` probably
would have rendered partly as italics and skipped some underscores.
GitHub's Markdown also doesn't identify our bug URLs as links, so mark
them explicitly.
Change-Id: I62be7542aa43929d847de2bad7d8d1ed3aaa640c
Dan Albert [Fri, 9 Jan 2015 23:17:49 +0000 (23:17 +0000)]
Merge "Check in bionicbb code."
Dan Albert [Fri, 9 Jan 2015 22:12:52 +0000 (14:12 -0800)]
Check in bionicbb code.
These have been sitting around in a git repo on my machine for a
while. They're now big an important enough that I'd like to both keep
them securely backed up, and also have my changes reviewed.
Change-Id: Ic4545149b4b07f0d57b21cac32aab8553dceb567
Dmitriy Ivanov [Fri, 9 Jan 2015 07:30:15 +0000 (23:30 -0800)]
Refactor soinfo::relocate
Move common relocation types outside of ifdefs
Change-Id: I713800ce123a18178b5ac80c0b3c7bd6b21a02c2
Elliott Hughes [Fri, 9 Jan 2015 21:54:08 +0000 (21:54 +0000)]
Merge "Add our LP32 ABI defects to the readme."
Elliott Hughes [Fri, 9 Jan 2015 20:21:24 +0000 (12:21 -0800)]
Add our LP32 ABI defects to the readme.
Change-Id: Id77a3dbf6b91243c57528ed86ca24100d8795907
Chih-hung Hsieh [Fri, 9 Jan 2015 20:05:16 +0000 (20:05 +0000)]
Merge "Revert "Must use Clang assembler for mips target.""
Dmitriy Ivanov [Fri, 9 Jan 2015 18:32:38 +0000 (18:32 +0000)]
Merge "Remove outdated list of abi bugs"
Duane Sand [Thu, 8 Jan 2015 18:36:56 +0000 (10:36 -0800)]
Revert "Must use Clang assembler for mips target."
This reverts commit
6f96d58c0de191ac479d0fa83c3b9a514f4d3c48.
Dmitriy Ivanov [Fri, 9 Jan 2015 06:22:27 +0000 (22:22 -0800)]
Add ARM_IRELATIVE relocation
Bug:
17399706
Change-Id: I1dea46c3a3c4572558e718283489c323794176c7
Yabin Cui [Sat, 3 Jan 2015 02:45:37 +0000 (18:45 -0800)]
Make bionic-unit-tests default run isolate mode.
Fix bug of handling signal terminated tests.
Bug:
17589740
Bug:
18951146
Change-Id: I4803382b26cd5454693090202b3ba38e3dbe66e5
Elliott Hughes [Fri, 9 Jan 2015 02:48:28 +0000 (02:48 +0000)]
Merge "Fix freeaddrinfo(NULL)."
Elliott Hughes [Fri, 9 Jan 2015 01:28:46 +0000 (17:28 -0800)]
Fix freeaddrinfo(NULL).
Bug: https://code.google.com/p/android/issues/detail?id=13228
Change-Id: I5e3b126d90d750a93ac0b8872198e50ba047e603
Yabin Cui [Thu, 8 Jan 2015 22:57:27 +0000 (22:57 +0000)]
Merge "Make pthread stack size match real range."
Yabin Cui [Thu, 8 Jan 2015 20:32:42 +0000 (12:32 -0800)]
Make pthread stack size match real range.
Bug:
18908062
Change-Id: I7037ac8273ebe54dd19b1561c7a376819049124c
Dmitriy Ivanov [Thu, 8 Jan 2015 00:46:48 +0000 (00:46 +0000)]
Merge "Set linux 32bit personality for 32 bit processes"
Dmitriy Ivanov [Wed, 7 Jan 2015 23:05:49 +0000 (15:05 -0800)]
Set linux 32bit personality for 32 bit processes
Bug:
18069809
Change-Id: Ie143d56b0f8f03510dc451649291067e1add1d2f
Dmitriy Ivanov [Thu, 8 Jan 2015 00:08:34 +0000 (00:08 +0000)]
Merge "Print error when prelink fails for main executable"
Dmitriy Ivanov [Wed, 7 Jan 2015 23:48:25 +0000 (15:48 -0800)]
Print error when prelink fails for main executable
Bug:
18931021
Change-Id: Ib6c39a409161b20a10c3485272c73bc2abd4ee4f
(cherry picked from commit
d9e211ca1fcf8bb78a1e1de9e54fe7c8d0a01518)
Dmitriy Ivanov [Wed, 7 Jan 2015 22:14:34 +0000 (14:14 -0800)]
Remove outdated list of abi bugs
Change-Id: I275093a7a66b53ec25317e02c4bff46c2facc030
Elliott Hughes [Wed, 7 Jan 2015 02:59:26 +0000 (02:59 +0000)]
Merge "_Unwind_Context is a struct."
Elliott Hughes [Wed, 7 Jan 2015 02:48:24 +0000 (18:48 -0800)]
_Unwind_Context is a struct.
Change-Id: Iff2c52dc630eb83b931a78fdebc4494d69462db7
Yabin Cui [Wed, 7 Jan 2015 01:28:40 +0000 (01:28 +0000)]
Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK."
Yabin Cui [Tue, 6 Jan 2015 17:31:00 +0000 (09:31 -0800)]
Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
Patch for https://android-review.googlesource.com/#/c/120844/.
Change-Id: Idca5ccd7b28e8f07f1d2d1b6e3bba6781b62f0e0