OSDN Git Service
Treehugger Robot [Sat, 28 Jan 2017 16:44:09 +0000 (16:44 +0000)]
Merge "Remove backwards compatibility for old system properties."
Elliott Hughes [Fri, 27 Jan 2017 00:48:57 +0000 (16:48 -0800)]
Remove backwards compatibility for old system properties.
No-one is directly upgrading from pre-K to O...
Also move more implementation details out of the header file.
Bug: http://b/
33926793
Test: boots
Change-Id: I7a0936acbb1cea8a3b2cd6797ec53ba7e4a050f3
Treehugger Robot [Fri, 27 Jan 2017 21:11:50 +0000 (21:11 +0000)]
Merge "Update to kernel headers v4.9.6."
Christopher Ferris [Fri, 27 Jan 2017 18:49:48 +0000 (10:49 -0800)]
Update to kernel headers v4.9.6.
Test: Built arm/arm64/x86/x86_64 targets.
Change-Id: Id4d2711aaa96fe537f3726a0a89f2959e9cca34a
Christopher Ferris [Fri, 27 Jan 2017 17:50:45 +0000 (17:50 +0000)]
Merge "Update to kernel headers v4.9.3."
Pavel Labath [Fri, 27 Jan 2017 13:59:15 +0000 (13:59 +0000)]
Merge "Silence unused variable warning in sys_ptrace_test"
Pavel Labath [Fri, 27 Jan 2017 13:04:26 +0000 (13:04 +0000)]
Silence unused variable warning in sys_ptrace_test
This fixes the mips build broken by
I7d8a7d79585477d78da1f033c85f8d2cc3b34340.
Change-Id: Ib960bdb51ac81be068f1fdf702aa7c10b183f2a0
Test: lunch mips && cd bionic && mma
Pavel Labath [Fri, 27 Jan 2017 12:39:51 +0000 (12:39 +0000)]
Merge "Add hardware breakpoint ptrace test"
Pavel Labath [Mon, 23 Jan 2017 15:41:35 +0000 (15:41 +0000)]
Add hardware breakpoint ptrace test
This adds a ptrace test which tests the hardware breakpoint
functionality of the ptrace api.
I've also renamed the test case to sys_ptrace to better match the naming
scheme in the other files. I've ran the tests on angler (32 and 64 bit)
and fugu.
Test: run the test
Change-Id: I7d8a7d79585477d78da1f033c85f8d2cc3b34340
Treehugger Robot [Fri, 27 Jan 2017 03:03:50 +0000 (03:03 +0000)]
Merge "Remove dependency on libc.a from the linker"
Dimitry Ivanov [Fri, 27 Jan 2017 01:28:03 +0000 (01:28 +0000)]
Merge "Remove bionic-unit-tests-gcc"
Dimitry Ivanov [Fri, 27 Jan 2017 00:52:59 +0000 (16:52 -0800)]
Remove dependency on libc.a from the linker
Provide stub for unused but needed symbol __find_icu_symbol
which is not included to libc_nomalloc.a.
Test: mm and boot
Change-Id: I57ca09c990556d1d401e2f4a75bc49b61b4cd85d
Dimitry Ivanov [Thu, 17 Nov 2016 21:01:47 +0000 (13:01 -0800)]
Remove bionic-unit-tests-gcc
Test: mm
Bug:
34747525
Change-Id: Ib17ac3535b6f3358af7098df0602d19c6e318cb7
Max Spector [Thu, 26 Jan 2017 18:43:39 +0000 (18:43 +0000)]
Merge "Adding kuser_helper on note to all arm32 binaries."
Victor Khimenko [Thu, 26 Jan 2017 10:11:13 +0000 (10:11 +0000)]
Merge "Fix bionic-unit-tests in arch with binary translator"
Treehugger Robot [Thu, 26 Jan 2017 07:13:16 +0000 (07:13 +0000)]
Merge "Don't mark __res_params or android_net_context as packed."
mspector [Wed, 25 Jan 2017 05:51:51 +0000 (21:51 -0800)]
Adding kuser_helper on note to all arm32 binaries.
A kernel change is going in for 64bit arm to disable kuser_helper vector
pages for 32bit processes. This change adds a special elf note to
all arm32 binaries built with bionic. This note tells the kernel to
load the kuser_helper vector page for the process.
Bug:
33689037
Test: Manual - Phone boots, 32bit binaries have the notes, 64bit
binaries do not.
Change-Id: Ib8366e2a0810092b71381d57dee4bdaa56369a24
Christopher Ferris [Fri, 13 Jan 2017 22:09:31 +0000 (14:09 -0800)]
Update to kernel headers v4.9.3.
Test: Built arm, arm64, x86, x86_64 targets.
Test: Booted on angler, and ran bionic unit tests (32 bit and 64 bit).
Change-Id: I14a8dcbea11b41f83431eabed6590cd25af07b1d
Paul Lawrence [Wed, 25 Jan 2017 22:46:05 +0000 (22:46 +0000)]
Merge "Use trap not kill in seccomp filter"
Victor Khimenko [Wed, 25 Jan 2017 18:59:16 +0000 (19:59 +0100)]
Fix bionic-unit-tests in arch with binary translator
If binary translator is involved then libc is not place in /system/lib
or /system/lib64. It's placed into /syste/lib/arm, /system/lib/arm64,
etc. FUGU is an example of such an architecture.
Support both cases by picking right path at runtime.
Test: run bionic-unit-tests --gtest_filter=dlfcn.dladdr_libc
Change-Id: I8345c0f6c19376ebe5106f9670fd2addeb9b9080
Victor Khimenko [Wed, 25 Jan 2017 10:05:40 +0000 (10:05 +0000)]
Merge "Fix bionic-unit-tests in some non-standard builds"
Stephen Hines [Wed, 25 Jan 2017 08:39:47 +0000 (00:39 -0800)]
Don't mark __res_params or android_net_context as packed.
Bug: http://b/
31532493
These internal API structures are never actually used anywhere that
would change behavior because it is "packed", so it is safe to remove.
Test: Builds correctly with the latest toolchain.
Change-Id: I5431992d840777605be75ab91dc21158d6d22c26
Dimitry Ivanov [Wed, 25 Jan 2017 03:53:56 +0000 (03:53 +0000)]
Merge changes from topic 'property_service_protocol_v2'
* changes:
Do not send 0 byte string content.
Revert "Revert "Remove limit of system property name length""
Dimitry Ivanov [Tue, 24 Jan 2017 20:39:33 +0000 (12:39 -0800)]
Do not send 0 byte string content.
Trying to send even 0 bytes to closed socket leads to
broken pipe error. Sometimes property service is just
quick enough and closes the socket between send(valuelen)
and send(value) in the case where valuelen is 0.
Bug: http://b/
34670529
Test: adb reboot 20 times and make sure phone service did not fail
Test: run bionic-unit-tests --gtest_filter=prop*
Change-Id: I96f90ca6fe1790614e7efd3015bffed1ef1e9040
Victor Khimenko [Tue, 24 Jan 2017 21:12:07 +0000 (22:12 +0100)]
Fix bionic-unit-tests in some non-standard builds
The binary bionic-unit-tests is linked with some shared libraries
and these libraries are found in ${ORIGIN}/../bionic-loader-test-libs
directory specified by runpath. This makes it higly unlikely that
anyone would be run these files when ${ORIGIN}/../bionic-loader-test-libs
does not include proper files.
Bug: http://b/
34681268
Test: run bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: I52fc31339fdfa232c0fdafa218eadaeaf5551a8d
Dimitry Ivanov [Tue, 24 Jan 2017 20:43:29 +0000 (20:43 +0000)]
Revert "Revert "Remove limit of system property name length""
This reverts commit
489f58b5eaedd5a80635bb3a7b39e97037c585f6.
Bug: http://b/
33926793
Bug: http://b/
34670529
Test: Run bionic-unit-tests --gtest_filter=prop*
Change-Id: Id4e94652dc2310a21f5b7bd3af098bf79df3f380
Evgenii Stepanov [Tue, 24 Jan 2017 20:56:28 +0000 (20:56 +0000)]
Merge "[cfi] Handle large libraries correctly."
Dimitry Ivanov [Tue, 24 Jan 2017 20:00:43 +0000 (20:00 +0000)]
Merge "Revert "Remove limit of system property name length""
Paul Lawrence [Tue, 24 Jan 2017 18:44:55 +0000 (10:44 -0800)]
Use trap not kill in seccomp filter
Bug:
34647665
Test: Make sure boots, check that causing a seccomp failure creates a
crash dump
Change-Id: I5ab2fe3e8322a3c38318c97d343834baa874af8d
Dimitry Ivanov [Tue, 24 Jan 2017 18:39:04 +0000 (18:39 +0000)]
Revert "Remove limit of system property name length"
This reverts commit
5c1ce278f31bc6fc338b9b951f1adc7c2b343d7c.
Bug: http://b/
33926793
Bug: http://b/
34670529
Change-Id: I0dc4a8ae55576c69b34b2958d8e664f7066b9c54
Vijay Venkatraman [Tue, 24 Jan 2017 17:36:08 +0000 (17:36 +0000)]
Merge "Removed include log\logger.h from log_fake.cpp"
Vijay Venkatraman [Tue, 24 Jan 2017 02:56:53 +0000 (18:56 -0800)]
Removed include log\logger.h from log_fake.cpp
Test: Compile malloc_debug_unit_tests
Change-Id: I635687016570ba52c571435b87d8e89f7f04d609
Dimitry Ivanov [Tue, 24 Jan 2017 02:54:33 +0000 (02:54 +0000)]
Merge "Remove limit of system property name length"
Treehugger Robot [Tue, 24 Jan 2017 00:35:59 +0000 (00:35 +0000)]
Merge "Remove libc++ dependency from prebuilt test-libs"
Treehugger Robot [Tue, 24 Jan 2017 00:24:40 +0000 (00:24 +0000)]
Merge "Mark ifunc tests failing on arm as known failures"
Dimitry Ivanov [Mon, 23 Jan 2017 22:48:21 +0000 (14:48 -0800)]
Mark ifunc tests failing on arm as known failures
Bug: http://b/
27930475
Test: run bionic-unit-tests on arm and arm64
Change-Id: I5084b6a5ef4b56ca9985da63a5e6896f771810f0
Dimitry Ivanov [Fri, 20 Jan 2017 23:47:03 +0000 (15:47 -0800)]
Remove libc++ dependency from prebuilt test-libs
Bug: http://b/
27549327
Test: run bionic-unit-tests --gtest_filter=dl*:Dl* on angler
Change-Id: Ia09ed2c00213bc07bf2a4c772e675419f7a30cb3
Dimitry Ivanov [Thu, 3 Dec 2015 19:26:38 +0000 (11:26 -0800)]
Remove limit of system property name length
This change introduces new __system_property_read_callback
method to use in place of deprecated __system_property_read
__system_property_set() and get() should just work but now
do not have limit on system property names.
Bug: http://b/
33926793
Test: boot device, run adb shell propget
Test: boot device with old version of init (protocol v1)
Test: run bionic-unit-tests --gtest_filter=prop*
Change-Id: I619fb5a7e27a272aac30011579665f6160888bc7
Evgenii Stepanov [Fri, 20 Jan 2017 21:47:04 +0000 (13:47 -0800)]
[cfi] Handle large libraries correctly.
Fallback to unchecked if the shadow offset overflows int16_t.
This may happen when a library's data segment is larger than 256MB.
Also updated some comments.
Bug:
22033465
Test: bionic device tests
Change-Id: I8eef42f75099f24aed566499ff1731a0bbf01ff3
Treehugger Robot [Fri, 20 Jan 2017 03:58:51 +0000 (03:58 +0000)]
Merge "Add props files for each partition"
Jaekyun Seok [Tue, 17 Jan 2017 05:44:31 +0000 (14:44 +0900)]
Add props files for each partition
The following files will be added.
- /vendor/default.prop for default prop overrides from vendor
partition.
- /odm/default.prop for default prop overrides from odm partition.
- /odm/build.prop for build prop overrides from odm partition.
Test: tested default/build prop files with enabling early mount, but
didn't test files of odm partition because odm partition doesn't
exist now.
Bug:
34116668
Change-Id: Ia99895a0afcdc522463d95b2f3e2841dcf2e3516
Treehugger Robot [Thu, 19 Jan 2017 23:26:09 +0000 (23:26 +0000)]
Merge "Add seccomp support library"
Paul Lawrence [Fri, 11 Nov 2016 19:33:42 +0000 (11:33 -0800)]
Add seccomp support library
Policy library which exports an autogenerated policy from SYSCALLS.TXT
blocking any other calls.
Test: Generate policy, install onto Sailfish, check boots, Chrome runs,
calls are blocked.
Bug:
32313202
Change-Id: Ib590704e50122f077eeae26561eb9b0a70386551
Evgenii Stepanov [Wed, 18 Jan 2017 23:39:07 +0000 (23:39 +0000)]
Merge "Runtime support for CFI"
Josh Gao [Wed, 18 Jan 2017 23:04:08 +0000 (23:04 +0000)]
Merge changes from topic 'kill_debuggerd'
* changes:
Rename libdebuggerd_client to libdebuggerd_handler.
Reserve a realtime signal for debuggerd.
Evgenii Stepanov [Wed, 6 Jul 2016 20:20:59 +0000 (13:20 -0700)]
Runtime support for CFI
Control Flow Integrity support in bionic.
General design:
http://clang.llvm.org/docs/ControlFlowIntegrityDesign.html#shared-library-support
This CL implements subsections "CFI Shadow" and "CFI_SlowPath" in the above document.
Bug:
22033465
Test: bionic device tests
Change-Id: I14dfea630de468eb5620e7f55f92b1397ba06217
Colin Cross [Wed, 18 Jan 2017 16:53:25 +0000 (16:53 +0000)]
Merge "Declare dependency on android_filesystem_config.h"
Jorim Jaggi [Wed, 18 Jan 2017 16:33:31 +0000 (16:33 +0000)]
Merge "Revert "property_contexts: split into platform and non-platform components""
Jorim Jaggi [Wed, 18 Jan 2017 15:37:18 +0000 (15:37 +0000)]
Revert "property_contexts: split into platform and non-platform components"
This reverts commit
8213615461f7d39620e44f73980acc6107c76ac7.
Change-Id: Id2982eafadc5d1c307b60c1f8abe78df8dc8b82e
Treehugger Robot [Wed, 18 Jan 2017 06:09:02 +0000 (06:09 +0000)]
Merge "property_contexts: split into platform and non-platform components"
Colin Cross [Wed, 18 Jan 2017 02:16:07 +0000 (18:16 -0800)]
Declare dependency on android_filesystem_config.h
android_filesystem_config.h comes from a directory outside bionic/libc
so it can't be referenced directly, add it as a source file through
a filegroup module.
Bug:
34283327
Test: builds
Test: libc rebuilds after touch system/core/include/private/android_filesystem_config.h
Change-Id: I90f6b7b25b70842b8619d558074449f13e6e6b03
Josh Gao [Thu, 27 Oct 2016 00:55:49 +0000 (17:55 -0700)]
Rename libdebuggerd_client to libdebuggerd_handler.
Bug: http://b/
30705528
Test: debuggerd_test
Change-Id: I625a9a2e7304d172873ba9344b74efa57ad7bdad
Josh Gao [Wed, 26 Oct 2016 20:27:19 +0000 (13:27 -0700)]
Reserve a realtime signal for debuggerd.
Allocate __SIGRTMIN + 3 for triggering native stack dumps (like SIGQUIT
for Java processes).
Bug: http://b/
30705528
Test: debuggerd_test
Change-Id: I81d622fba32a651555268a8a2ba6721c61c93a58
Elliott Hughes [Sat, 14 Jan 2017 18:30:09 +0000 (18:30 +0000)]
Merge "linker: convert 'mov pc' instruction to 'bx'"
Park Ju Hyung [Thu, 12 Jan 2017 20:52:06 +0000 (05:52 +0900)]
linker: convert 'mov pc' instruction to 'bx'
From Linux 3.17
6ebbf2ce437b33022d30badd49dc94d33ecfa498:
ARMv6 and greater introduced a new instruction ("bx") which can be used
to return from function calls. Recent CPUs perform better when the
"bx lr" instruction is used rather than the "mov pc, lr" instruction,
and this sequence is strongly recommended to be used by the ARM
architecture manual (section A.4.1.1).
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Test: No regressions detected
Test: Passes full CTS run
Change-Id: Ie268f9893e3df0f68fbfe82a13f3c7cc5c5909d8
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Yabin Cui [Sat, 14 Jan 2017 02:20:19 +0000 (02:20 +0000)]
Merge "Switch bionic-unit-tests to libc++_static."
Elliott Hughes [Fri, 13 Jan 2017 21:12:14 +0000 (21:12 +0000)]
Merge "Describe our dynamic linker compatibility policy."
Yabin Cui [Fri, 13 Jan 2017 20:31:59 +0000 (12:31 -0800)]
Switch bionic-unit-tests to libc++_static.
Bug: http://b/
27549327
Test: run bionic-unit-tests, bionic-unit-tests-glibc.
Change-Id: I719899624dec83728a3d5b8169079e5c91c63c04
Elliott Hughes [Fri, 13 Jan 2017 19:07:00 +0000 (11:07 -0800)]
Describe our dynamic linker compatibility policy.
Bug: N/A
Test: N/A
Change-Id: I6f472d1ab22636de74fd103e9a480fb1ab51e314
Pavel Labath [Fri, 13 Jan 2017 10:21:31 +0000 (10:21 +0000)]
Merge "Beef up process_vm_readv/writev tests"
Pavel Labath [Thu, 12 Jan 2017 11:56:39 +0000 (11:56 +0000)]
Beef up process_vm_readv/writev tests
LLDB uses process_vm_readv quite extensively (it's an order of
magnitude faster than PTRACE_PEEKDATA). Add a bit more tests of
the function to make sure it stays working.
Change-Id: I64e17e6d56842f118a9485e3a18f42ca5e1b7577
Test: run the new test
Elliott Hughes [Thu, 12 Jan 2017 23:19:50 +0000 (23:19 +0000)]
Merge "localtime_r(3) should act as if it calls tzset(3)."
Josh Gao [Wed, 11 Jan 2017 23:59:01 +0000 (23:59 +0000)]
Merge "Improve fmemopen tests."
Elliott Hughes [Wed, 11 Jan 2017 22:34:16 +0000 (14:34 -0800)]
localtime_r(3) should act as if it calls tzset(3).
See code comment.
Bug: http://b/
31339449
Test: ran tests & benchmarks
Change-Id: I6b6a63750ef41664dc4698207e6a53e77cc28cdf
Treehugger Robot [Wed, 11 Jan 2017 22:32:17 +0000 (22:32 +0000)]
Merge "Add support for expected failures to gtest runner."
Josh Gao [Tue, 10 Jan 2017 21:00:37 +0000 (13:00 -0800)]
Improve fmemopen tests.
Tag fmemopen_NULL as a known failure, and make it reliably fail by
memsetting the buffer we read to.
Bug: http://b/
33251022
Test: bionic-unit-tests/bionic-unit-tests64 on bullhead
Test: bionic-unit-tests-glibc --gtest_filter="*memopen*"
Change-Id: I381783282359851c9de47146dafbb5a291960c2a
Treehugger Robot [Wed, 11 Jan 2017 01:57:56 +0000 (01:57 +0000)]
Merge "Hide __system_property_add/update, deprecate find_nth"
Dimitry Ivanov [Mon, 9 Jan 2017 19:05:52 +0000 (11:05 -0800)]
Hide __system_property_add/update, deprecate find_nth
These functions are supposed to be used only by the
property service.
__system_property_find_nth is deprecated and no longer part
of NDK. Call to this function will result in abort for apps
targeting Android O.
Bug: http://b/
34114501
Test: bionic-unit-tests --gtest_filter=prop*
Change-Id: I9846965bf248e2ddf45cd7b293618245bbd87145
Josh Gao [Tue, 10 Jan 2017 00:43:33 +0000 (16:43 -0800)]
Add support for expected failures to gtest runner.
Bug: http://b/
33251022
Test: manually added tests that unexpectedly failed
Test: bionic-unit-tests/bionic-unit-tests64 on bullhead
Change-Id: Ie9aef80014b9fd6512b68f0e42abc298732a9b6e
Christopher Ferris [Tue, 10 Jan 2017 18:41:14 +0000 (18:41 +0000)]
Merge "Fix streaming(memcpy) performance on Cortex-A7"
Elliott Hughes [Tue, 10 Jan 2017 01:15:29 +0000 (01:15 +0000)]
Merge "Revert "Revert "move android_ids into bionic"""
Elliott Hughes [Tue, 10 Jan 2017 00:43:38 +0000 (00:43 +0000)]
Merge "Dynamic linker errors should go to stderr."
Sandeep Patil [Wed, 28 Dec 2016 01:37:44 +0000 (17:37 -0800)]
property_contexts: split into platform and non-platform components
Bug:
33746484
Test: Successfully boot with original service and property contexts.
Test: Successfully boot with split serivce and property contexts.
Change-Id: Id1acb8c4273c6f93396e8cf7a063571a2bf08786
Signed-off-by: Sandeep Patil <sspatil@google.com>
Elliott Hughes [Mon, 9 Jan 2017 22:39:44 +0000 (14:39 -0800)]
Dynamic linker errors should go to stderr.
Also add the missing \n to the end of the error.
Addresses review comment.
Bug: N/A
Test: manual
Change-Id: I7c997a71e6e02381d21ac762595ba90370db9d05
Elliott Hughes [Mon, 9 Jan 2017 22:26:34 +0000 (22:26 +0000)]
Merge "Exit rather than abort if asked to run a non-PIE executable."
Elliott Hughes [Mon, 9 Jan 2017 21:23:00 +0000 (21:23 +0000)]
Merge "Move to .md files for even trivial documentation."
Elliott Hughes [Sat, 7 Jan 2017 20:47:28 +0000 (12:47 -0800)]
Move to .md files for even trivial documentation.
So it's automatically displayed for folks browsing the source.
Bug: N/A
Test: N/A
Change-Id: I80e823415f1fb12ad8ce5348e926519b6e29580f
Elliott Hughes [Sat, 7 Jan 2017 18:38:20 +0000 (10:38 -0800)]
Exit rather than abort if asked to run a non-PIE executable.
Each release we're asked to investigate tombstones from code that hasn't
been allowed to run on Android since L. This is just wasting our time,
and clearly the "obviousness" of aborting rather than exiting hasn't ensured
that all app developers rebuild their old binaries. In some cases it seems
like they run them "just in case" and don't care if they fail.
Bug: http://b/
34112178
Test: ran libsupervisor.so from com.ss.android.article.news
Change-Id: I8a3f196c4755601a3888281566fbb7b817f01dca
Treehugger Robot [Sat, 7 Jan 2017 03:59:14 +0000 (03:59 +0000)]
Merge "Fix bionic-unit-tests-static crash"
Dimitry Ivanov [Fri, 6 Jan 2017 22:49:57 +0000 (14:49 -0800)]
Fix bionic-unit-tests-static crash
The crash happens because for static executables call to dlopen
results in crash. This change moves dlopen() == nullptr check
from static variable to a functions so that the dlopen crash only
affects tests calling dlopen but not the whole executable.
Also make static tests report crashes to debugerd
Test: run bionic-unit-tests-static (for arm 32 and 64)
Bug: http://b/
34129417
Change-Id: I7c4d8caf2a43250234fe24496b1c95eab572769f
Treehugger Robot [Fri, 6 Jan 2017 21:53:05 +0000 (21:53 +0000)]
Merge "Make /dev/__properties__ 0711"
Nick Kralevich [Fri, 6 Jan 2017 20:04:29 +0000 (12:04 -0800)]
Make /dev/__properties__ 0711
Don't allow processes to read the contents of the directory
/dev/__properties__. This is an implementation detail of the properties
system that processes shouldn't be concerned with.
Test: Device boots and no problems reading individual properties.
Test: ls -la /dev/__properties__ fails
Change-Id: I00130fe4529525935654bff91e3cc59253b86e26
Treehugger Robot [Fri, 6 Jan 2017 00:44:17 +0000 (00:44 +0000)]
Merge "Add declaration of tgkill to signal.h."
Josh Gao [Thu, 5 Jan 2017 21:22:26 +0000 (13:22 -0800)]
Add declaration of tgkill to signal.h.
Expose a useful function that we've had since Jelly Bean.
Bug: http://b/
34111810
Test: TreeHugger
Change-Id: Iaf3097f224c09b533f36050cf21394ba148007ad
Dimitry Ivanov [Tue, 3 Jan 2017 18:03:04 +0000 (18:03 +0000)]
Merge "Downgrade dynamic section checks to warning"
Dimitry Ivanov [Thu, 29 Dec 2016 00:21:49 +0000 (16:21 -0800)]
Downgrade dynamic section checks to warning
For apps targeting pre-O releases print warn about
invalid dynamic section.
Bug: http://b/
33842263
Test: Start an app in question and check logs for warning.
Test: Run bionic-unit-test --gtest_filter=dl*:Dl*
Change-Id: I80bd51f2133b956fc04e20a6538cccd50118c1b8
Chitti Babu Theegala [Thu, 15 Dec 2016 20:43:28 +0000 (02:13 +0530)]
Fix streaming(memcpy) performance on Cortex-A7
Stream-mode detection for L1 in A7-core is failing for
non cache-line-size (non 64 byte) aligned addresses.
This leads to destination data getting cached unnecessarily.
This A7 issue is confirmed by ARM
This issue is solved by aligning destination address to 64 byte before
entering the loop in memcpy routine.
Though we get lower score for micro_bench memcpy when L1 cache is bypassed,
it is desirable since it avoids unnecessary eviction of other process data
from L1 which is good for overall system performance.
Higher micro_bench memcpy numbers for < 64byte alignment shows good numbers
but this is at the cost of L1 cache pollution. During memcpy/memset,
unnecessary data is filled in L1 cache, this causes eviction of other
process data from L1.
For example during msmset(0), L1 cache gets filled with 0s which should be
avoided.
Additionally, there is another issue with cortex A7 that impacts performance
for all alignments / all Android Wear versions:
Store Buffer on A7 is 32 byte which limits the 32-byte back to back stores.
In the current implementation back to back 32bytes writes is causing CPU stalls.
This issue can be solved by interleaved Loads and Stores.
This helps in avoiding CPU stalls during memcpy by utilizing efficiently the
A7 internal load and store buffers.
Change-Id: Ie5f12f2bb5d86f627686730416279057e4f5f6d0
Josh Gao [Fri, 16 Dec 2016 22:12:36 +0000 (22:12 +0000)]
Merge "versioner: start using C++17."
Josh Gao [Thu, 15 Dec 2016 21:56:00 +0000 (13:56 -0800)]
versioner: start using C++17.
Bug: None
Test: python run_tests.py
Change-Id: I10101d26b7816a83445f25b33b97ed47d42fd135
Jeff Sharkey [Thu, 15 Dec 2016 21:46:30 +0000 (21:46 +0000)]
Merge "Define range of GIDs for cached app data."
Treehugger Robot [Thu, 15 Dec 2016 21:16:04 +0000 (21:16 +0000)]
Merge "Convert versioner to Android.bp"
Colin Cross [Wed, 7 Dec 2016 19:24:06 +0000 (11:24 -0800)]
Convert versioner to Android.bp
See build/soong/README.md for more information.
Test: mma -j
Change-Id: I0e648143ac480c1257d9829f9b9087ee22005855
Dimitry Ivanov [Thu, 15 Dec 2016 18:27:22 +0000 (18:27 +0000)]
Merge "Add test for elf-hash and packed relocations"
Dimitry Ivanov [Thu, 15 Dec 2016 18:26:51 +0000 (18:26 +0000)]
Merge "Add test for empty symbol lookup"
Treehugger Robot [Thu, 15 Dec 2016 06:15:41 +0000 (06:15 +0000)]
Merge "Make the __stack_chk_fail message more searchable on the internets."
Elliott Hughes [Thu, 15 Dec 2016 01:30:07 +0000 (17:30 -0800)]
Make the __stack_chk_fail message more searchable on the internets.
Noticed while writing documentation:
https://source.android.com/devices/tech/debug/
Bug: http://b/
28746168
Test: crasher
Change-Id: Ied1c1b1c75a85a899f07e6927134b9bf91316fe4
Treehugger Robot [Thu, 15 Dec 2016 00:05:26 +0000 (00:05 +0000)]
Merge "Document bionic loader logging properties"
Treehugger Robot [Wed, 14 Dec 2016 23:30:06 +0000 (23:30 +0000)]
Merge "Add a way to track all dlsym calls (contd.)"
Dimitry Ivanov [Wed, 14 Dec 2016 23:16:56 +0000 (15:16 -0800)]
Add test for empty symbol lookup
Check that dlsym(handle, "") fails.
Bug: http://b/
33530622
Test: bionic-unit-tests --gtest_filter=dlfcn*
Test: bionic-unit-tests-glibc --gtest_filter=dlfcn*
Change-Id: Iae572bd1d9b798be619c5018de2a5450bf37977e
Dimitry Ivanov [Wed, 14 Dec 2016 22:42:44 +0000 (14:42 -0800)]
Document bionic loader logging properties
Bug: http://b/
29458203
Test: spellchecker in vim
Change-Id: I81e60a09fa256110d7ab9b530e7821ae66e8f020