OSDN Git Service
Dimitry Ivanov [Wed, 3 May 2017 16:11:25 +0000 (16:11 +0000)]
Merge "Add ifunc for variable test-case"
Treehugger Robot [Wed, 3 May 2017 01:28:34 +0000 (01:28 +0000)]
Merge "Shared namespaces inherit parent ns properties"
Dimitry Ivanov [Tue, 2 May 2017 00:45:38 +0000 (17:45 -0700)]
Shared namespaces inherit parent ns properties
Make shared namespace inherit namespace links and
search/permitted paths from the parent namespace.
Bug: http://b/
37854032
Test: bionic_unit_tests --gtest_filter=dl*:Dl*
Change-Id: I174661d4a1dd0cbe4a378179073719aa955f3592
(cherry picked from commit
ec43dd6c36d75014c4e4dc592dd67ab20033a76a)
Dimitry Ivanov [Tue, 2 May 2017 23:31:56 +0000 (16:31 -0700)]
Add ifunc for variable test-case
Also move ifunc tests to clang and c++.
Test: bionic-unit-tests --gtest_filter=dlfcn.ifunc*
Change-Id: I008c4fc01470c8e4d314003c03a2b63ff9bf7fd8
Yabin Cui [Tue, 2 May 2017 23:20:32 +0000 (23:20 +0000)]
Merge "Fix pthread_barrier_smoke test (part 2)."
Yabin Cui [Tue, 2 May 2017 23:18:13 +0000 (16:18 -0700)]
Fix pthread_barrier_smoke test (part 2).
Bug:http://b/
37652807
Test: run bionic-unit-tests.
Change-Id: Iaea553177956c5d08f754210273637f69d888c20
Treehugger Robot [Tue, 2 May 2017 22:25:58 +0000 (22:25 +0000)]
Merge "Fix test compile errors after LLVM rebase"
Treehugger Robot [Tue, 2 May 2017 21:51:40 +0000 (21:51 +0000)]
Merge "Fix pthread_barrier_smoke test."
Yi Kong [Sun, 30 Apr 2017 22:08:05 +0000 (15:08 -0700)]
Fix test compile errors after LLVM rebase
After the new rebase of Clang, we now support the alloc_size attribute,
so we can remove the warning about switching to alloc_size once Clang
has support.
Also fix an issue where 'false' is returned in a main method.
Test: make cts
Bug:
37752547
Change-Id: I32ee814aaa0338567cb8174a68d7ee1bfece2f75
Yabin Cui [Tue, 2 May 2017 19:57:39 +0000 (12:57 -0700)]
Fix pthread_barrier_smoke test.
Bug: http://b/
37652807
Test: run bionic-unit-tests.
Change-Id: Id7245223bc2a284efed6e710892b58947ef5d555
Treehugger Robot [Tue, 2 May 2017 03:50:28 +0000 (03:50 +0000)]
Merge "versioner: disable container overflow checks"
Treehugger Robot [Tue, 2 May 2017 01:37:02 +0000 (01:37 +0000)]
Merge "linker: add android_get_exported_namespace"
Andreas Gampe [Sat, 29 Apr 2017 02:32:13 +0000 (19:32 -0700)]
versioner: disable container overflow checks
Temporary workaround.
Bug:
37775238
Test: ASAN_OPTIONS= SANITIZE_HOST=address m
Change-Id: If9e9df45d83f8412caafcece87337a5c9df3a1c8
Treehugger Robot [Mon, 1 May 2017 20:17:20 +0000 (20:17 +0000)]
Merge "fix half-deleted comments in tests"
George Burgess IV [Mon, 1 May 2017 18:15:30 +0000 (11:15 -0700)]
fix half-deleted comments in tests
they were half-deleted in If341a27756d608a0fa77ba6518e9bcc725f7632c.
Bug: None
Test: mma
Change-Id: I4e0c8208a7f2a55d273f4c87adca1d755dc98b77
Elliott Hughes [Mon, 1 May 2017 14:42:50 +0000 (14:42 +0000)]
Merge "Restore ELF32_ST_INFO/ELF64_ST_INFO."
Elliott Hughes [Mon, 1 May 2017 05:56:10 +0000 (22:56 -0700)]
Restore ELF32_ST_INFO/ELF64_ST_INFO.
Mistakenly removed years ago, along with its genuinely duplicated companions.
This patch also redefines one of those rather than use the Linux uapi header
definition, which leads to signed/unsigned warnings in calling code.
Bug: https://github.com/android-ndk/ndk/issues/377
Test: ran tests
Change-Id: Ib25b17949f04969f12b945ca88ab87d080677cf9
Treehugger Robot [Fri, 28 Apr 2017 02:48:02 +0000 (02:48 +0000)]
Merge "Include the libc/kernel/android/scsi headers in the NDK."
Jiyong Park [Mon, 3 Apr 2017 14:10:37 +0000 (23:10 +0900)]
linker: add android_get_exported_namespace
Depending on how ld.config.txt is configured, there can be multiple
built-in namespaces created by the linker from the beginning of a
process. android_get_exported_namespace is a platform only API for
getting a handle (android_namespace_t*) to one of the built-in namespaces
with given name. The returned namespace can then be given to
android_dlopen_ext in order to explicitly specify the target namespace
where the library is searched and loaded from.
Note that this function only returns 'exported' namespaces created via
ld.config.txt file. In order to export a namespace, the visible property
should be set to true:
namespace.<name>.visible = true
Namespaces are hidden by default. Hidden namespaces and namespaces
that are created programmatically, notably 'classloader-namespace',
aren't returned by this function.
Bug:
36851137
Test: confirmed that namespaces created with ld.config.txt is retrieved.
Test: linker-unit-tests passes
Merged-in: I714b510fa24f77e42c3dfc4c827b3befa8bb2951
Change-Id: I0d05fa7e0e116009edf8ea362ab46774bc617cbf
(cherry picked from commit
d7c4832e6a640be972017e85ab21e72950dfeddd)
Elliott Hughes [Thu, 27 Apr 2017 23:26:55 +0000 (16:26 -0700)]
Include the libc/kernel/android/scsi headers in the NDK.
We have some non-upstream (but Android common kernel) scsi headers to include
in the NDK.
Bug: N/A
Test: checked out/soong/ndk/sysroot
Change-Id: If7611e1e554ada63f266ec99d95dfedb99562ae9
Elliott Hughes [Thu, 27 Apr 2017 15:40:36 +0000 (15:40 +0000)]
Merge "Compare Pss of tested library in VerifyMemorySaving"
Treehugger Robot [Thu, 27 Apr 2017 07:44:13 +0000 (07:44 +0000)]
Merge "Make dl_iterate_phdr weak in libdl."
Treehugger Robot [Thu, 27 Apr 2017 00:42:14 +0000 (00:42 +0000)]
Merge "watchpoint_imprecise test: set 4-byte watchpoints on 32-bit arches"
Zhenhua WANG [Tue, 25 Apr 2017 03:07:19 +0000 (11:07 +0800)]
Compare Pss of tested library in VerifyMemorySaving
DlExtRelroSharingTest.VerifyMemorySaving verifies whether
android_dlopen_ext(ANDROID_DLEXT_USE_RELRO) really saves memory.
This patch compares Pss of the tested library rather than total
Pss of the process, in case different behavior of dlopen() and
android_dlopen_ext() introduces random Pss usage.
Test: DlExtRelroSharingTest.VerifyMemorySaving
Change-Id: I696eca736018fca5d9ec9385ac1c79ced280281d
Yi Kong [Wed, 26 Apr 2017 23:00:40 +0000 (23:00 +0000)]
Merge "Update bionic after Clang rebase"
Elliott Hughes [Wed, 26 Apr 2017 22:16:19 +0000 (22:16 +0000)]
Merge "Make unified headers' SIGRTMIN/SIGRTMAX usable before API 21."
Elliott Hughes [Tue, 25 Apr 2017 22:45:29 +0000 (15:45 -0700)]
Make unified headers' SIGRTMIN/SIGRTMAX usable before API 21.
Bug: https://github.com/android-ndk/ndk/issues/352
Test: built new NDK test
Change-Id: Iacebe574bbf693701949e038005a40ba6520d592
Yi Kong [Thu, 20 Apr 2017 21:27:28 +0000 (14:27 -0700)]
Update bionic after Clang rebase
After the new rebase of Clang, we now supports alloc_size attribute, so
we can remove the warning about switching to alloc_size once Clang has
support.
Compiler.setInvocation has changed argument type from raw pointer to
shared pointer. Add version check here so that we can build under either
old rebase or the new rebase.
Test: build
Bug:
37423073
Change-Id: I4563eaf93bae6c59a4a19318f8caa92bd361b3ab
Pavel Labath [Wed, 26 Apr 2017 10:30:06 +0000 (11:30 +0100)]
watchpoint_imprecise test: set 4-byte watchpoints on 32-bit arches
8-byte watchpoints are not supported on 32-bit kernels (at least on x86,
probably arm as well). 8-byte watchpoints are not required for this
test, so just decrease the size of watchpoints on these architectures.
Change-Id: Ie96b4bc8ce0ad8c924ac737083cf9fe0182aee4d
Test: bionic-unit-tests-static --gtest_filter=sys_ptrace.*
Bug:
37662849
Dan Albert [Tue, 25 Apr 2017 22:42:42 +0000 (15:42 -0700)]
Make dl_iterate_phdr weak in libdl.
This needs to be defined as weak because it is also defined in libc.a.
Without this, static executables will have a multiple definition
error.
Test: make checkbuild
Bug: None
Change-Id: If2024ef4191c8ab7cf087d21d76fefdc92b58da1
Elliott Hughes [Mon, 24 Apr 2017 17:52:11 +0000 (17:52 +0000)]
Merge "Add basic tests for <link.h>."
Christopher Ferris [Sat, 22 Apr 2017 19:16:37 +0000 (19:16 +0000)]
Merge "Update static functions/macro definitions."
Christopher Ferris [Thu, 20 Apr 2017 20:38:49 +0000 (13:38 -0700)]
Update static functions/macro definitions.
Fix the list of static functions coming from swab.h to match the
ones exported by glibc.
Force the definition of __HAVE_BUILTIN_BSWAP{16,32,64}__ so the headers
use the builtin.
Add a unit test to guarantee that kernel header updates do not break this.
Test: Built and booted angler.
Test: Built the bionic unit tests for arm, arm64, mips, x86, x86_64.
Test: Ran the new test on angler and glibc.
Change-Id: I4ce229e3f198c204186d72bf22dd97b5cdf239e4
Elliott Hughes [Sat, 22 Apr 2017 00:15:41 +0000 (17:15 -0700)]
Add basic tests for <link.h>.
The dl_iterate_phdr test is new, but the exidx test is largely copy & paste
from ndk_translation.
Bug: http://b/
31556066
Test: ran tests
Change-Id: If754f1459ef1d789ee98a89cd2215188edca51da
Treehugger Robot [Sat, 22 Apr 2017 00:09:48 +0000 (00:09 +0000)]
Merge "loader: enable loading libraries from tmpfs"
Dimitry Ivanov [Fri, 21 Apr 2017 20:12:05 +0000 (13:12 -0700)]
loader: enable loading libraries from tmpfs
This change adds two tests for dlopen from temporary files.
1. One Uses memfd_create() can be used to load libraries directly
from memory. This requires relaxing namespace accessibility check
in order to make this work in isolated namespaces.
2. Another checks that open with O_TMPFILE works.
Bug: http://b/
37245203
Test: bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: I3be1d7198ca17e7f1ba022a0d86c64d59a493506
(cherry picked from commit
bb8b22a087db32773f1a9cd3473061f3ad714afc)
Elliott Hughes [Fri, 21 Apr 2017 19:52:32 +0000 (19:52 +0000)]
Merge "Make the _Unwind_Ptr declaration match clang's."
Elliott Hughes [Fri, 21 Apr 2017 17:25:56 +0000 (10:25 -0700)]
Make the _Unwind_Ptr declaration match clang's.
Bug: https://issuetracker.google.com/
37126620
Test: builds, boots angler
Change-Id: I7d4a9b998f2e5c4c7b0beed87807d7b76a564c5c
Yi Kong [Fri, 21 Apr 2017 19:48:56 +0000 (19:48 +0000)]
Merge "Remove unused lambda captures"
Treehugger Robot [Fri, 21 Apr 2017 01:10:22 +0000 (01:10 +0000)]
Merge "DO NOT MERGE: The future is now."
Josh Gao [Thu, 20 Apr 2017 19:58:31 +0000 (12:58 -0700)]
DO NOT MERGE: The future is now.
__INTRODUCED_IN_FUTURE -> __INTRODUCED_IN(26)
Bug: http://b/
37437368
Test: treehugger
Change-Id: I601a23da83b65a0cd582cc840ed3856a9031b673
(cherry picked from commit
cb302f932a3532f1484e1e70894e9b1199384283)
Yi Kong [Thu, 20 Apr 2017 16:08:11 +0000 (09:08 -0700)]
Remove unused lambda captures
Clean up. This fixes build under -Wunused-lambda-capture.
Test: build
Change-Id: Ic12aa39e14ed55dbb28cf55303f9c4258179037d
Josh Gao [Thu, 20 Apr 2017 19:52:51 +0000 (19:52 +0000)]
Merge "Add syscalls that aren't currently used to the seccomp whitelist."
Treehugger Robot [Thu, 20 Apr 2017 02:45:02 +0000 (02:45 +0000)]
Merge "Decode the common EM_ values."
Elliott Hughes [Thu, 20 Apr 2017 00:44:57 +0000 (17:44 -0700)]
Decode the common EM_ values.
We know what "3" and "40" are, but most folks not on our team don't.
I don't think we need to support all the weird values, because only the
supported architectures actually occur in practice.
Bug: N/A
Test: manually overwrote aarch64 libcrypto.so with an x86-64 .so and ran "date"
Test: CANNOT LINK EXECUTABLE "date": "/system/lib64/libcrypto.so" has unexpected e_machine: 62 (EM_X86_64)
Change-Id: Ic4c6325fe7968f0c96fc0bfe15a50ed922a5ba55
Treehugger Robot [Wed, 19 Apr 2017 22:29:41 +0000 (22:29 +0000)]
Merge "Make all the ELF relocation constants available."
Josh Gao [Tue, 18 Apr 2017 23:05:39 +0000 (16:05 -0700)]
Add syscalls that aren't currently used to the seccomp whitelist.
Add some useful new syscalls that we currently aren't using in bionic,
but might in the future to the seccomp whitelist.
Bug: http://b/
37317198
Test: mma
Change-Id: I6550867da152cea84fb13d0c15a399cdb2acf1aa
Treehugger Robot [Wed, 19 Apr 2017 20:38:57 +0000 (20:38 +0000)]
Merge "Add missing required libraries"
Treehugger Robot [Wed, 19 Apr 2017 20:31:41 +0000 (20:31 +0000)]
Merge "libc: fix typo in __RENAME macro"
Elliott Hughes [Wed, 19 Apr 2017 20:25:27 +0000 (13:25 -0700)]
Make all the ELF relocation constants available.
BSD thinks you should only get the relocation constants for your target
architecture, but it's often useful to have them all available at once.
Rearrange the headers to enable that.
Also update the (modified) NetBSD files to CVS HEAD.
Also remove the unused BSDism R_TYPE.
Bug: N/A
Test: builds
Change-Id: Iad5ef29192a732696e2b36af35144a9ca116aa46
Treehugger Robot [Wed, 19 Apr 2017 19:26:41 +0000 (19:26 +0000)]
Merge "Add missing arch-specific AT_ cruft."
Dimitry Ivanov [Wed, 19 Apr 2017 18:58:52 +0000 (11:58 -0700)]
Add missing required libraries
Test: m
Change-Id: Id8c8c69547fbfb0c8efe73b324c8b6dcd52aa8ca
George Burgess IV [Wed, 19 Apr 2017 01:28:19 +0000 (18:28 -0700)]
libc: fix typo in __RENAME macro
Apparently __strncpy_real redirects to strcpy instead of strncpy for GCC
builds. This is bad, and it confused a project compiled by GCC that uses
strcpy.
I audited all of the FORTIFY-related __RENAMEs both manually and with a
script I hacked together; they all look correct aside from this one.
FWIW, with the cleaned up clang FORTIFY, lots of the `void foo()
__RENAME(foo)` will just become `void foo()` if this last thing I'm
working on gets through review.
Bug:
35329524
Test: Previously broken project now seems to work. Bullhead and Ryu
both build + boot.
Change-Id: Ib18ee3535ae31eb7e8ae846dc012f9b64cac80bf
Elliott Hughes [Wed, 19 Apr 2017 17:20:25 +0000 (10:20 -0700)]
Add missing arch-specific AT_ cruft.
AP_FPUCW is referenced by valgrind.
Bug: https://bugs.kde.org/show_bug.cgi?id=339945
Test: valgrind builds with one less hack
Change-Id: I7146f3709286662108cc82ba3c55ce935375a1f1
Treehugger Robot [Tue, 18 Apr 2017 22:46:59 +0000 (22:46 +0000)]
Merge "Add PT_ARM_EXIDX."
Treehugger Robot [Tue, 18 Apr 2017 17:56:04 +0000 (17:56 +0000)]
Merge "Move bionic_systrace.cpp over to CachedProperty."
Elliott Hughes [Tue, 18 Apr 2017 04:16:04 +0000 (04:16 +0000)]
Merge "Remove unused elf_machdep.h cruft."
Treehugger Robot [Tue, 18 Apr 2017 01:00:20 +0000 (01:00 +0000)]
Merge "Document DT_RUNPATH support."
Treehugger Robot [Mon, 17 Apr 2017 23:45:55 +0000 (23:45 +0000)]
Merge "Un-deprecated __system_property_find_nth."
Elliott Hughes [Mon, 17 Apr 2017 23:25:09 +0000 (16:25 -0700)]
Remove unused elf_machdep.h cruft.
Also add a few missing include guards.
Bug: N/A
Test: builds
Change-Id: I9557303c81a4b11d430112528def038ecb5562a9
Dan Albert [Mon, 17 Apr 2017 23:06:59 +0000 (16:06 -0700)]
Add PT_ARM_EXIDX.
The updated LLVM libunwind needs this to be defined.
Test: make checkbuild
Bug: None
Change-Id: Ia20016a9e3becb37ea6902f1959d1884c1263e51
Elliott Hughes [Mon, 17 Apr 2017 23:01:23 +0000 (16:01 -0700)]
Document DT_RUNPATH support.
Bug: http://b/
37328826
Test: N/A
Change-Id: Ia220f7f519e3cdd6193faff3b58d598505d4d0cf
Elliott Hughes [Mon, 17 Apr 2017 21:53:07 +0000 (14:53 -0700)]
Un-deprecated __system_property_find_nth.
Netflix was using this, and looking the header file, although
__system_property_find_nth has been available since the beginning of time,
__system_property_foreach only appeared in 16. So anyone who wants to run
on pre-JellyBean devices would want to use __system_property_find_nth.
It's pretty much a one-liner in terms of __system_property_foreach anyway,
so it doesn't cost us anything to keep it.
Also restore slightly better tests than we originally removed.
Bug: http://b/
36566667
Test: ran tests
Change-Id: Id268c2c2e848da17bb0a5a5420af234d9dcb829a
Elliott Hughes [Mon, 17 Apr 2017 21:12:25 +0000 (14:12 -0700)]
Move bionic_systrace.cpp over to CachedProperty.
This is the last bionic caller that was manually trying to cache
property values.
Bug: N/A
Test: builds and boots
Change-Id: Id66c0a05d8448f08c39dbf7189241e75615d44b4
Treehugger Robot [Mon, 17 Apr 2017 17:09:40 +0000 (17:09 +0000)]
Merge "Link to the public post about clang FORTIFY."
Elliott Hughes [Sun, 16 Apr 2017 15:50:58 +0000 (08:50 -0700)]
Link to the public post about clang FORTIFY.
Bug: N/A
Test: builds
Change-Id: I1c2040fdd3c3bbe61a8adfc1f414fce50087a1b8
Treehugger Robot [Sat, 15 Apr 2017 22:30:57 +0000 (22:30 +0000)]
Merge "Avoid "D linker : (null)" with debug.ld.all for dlerror."
Elliott Hughes [Sat, 15 Apr 2017 16:11:15 +0000 (09:11 -0700)]
Avoid "D linker : (null)" with debug.ld.all for dlerror.
We only want to know when dlerror is actually set. The previous change
to this logic moved it so that we only show actual updates to dlerror,
not every string that might end up in dlerror's output. This change
ignores cases where we're _clearing_ dlerror (which happens on every
call to dlerror).
Bug: http://b/
37287938
Test: ran tests
Change-Id: I0c30ee199dc76d9aea165c1d90f694ead488518b
Treehugger Robot [Sat, 15 Apr 2017 00:18:29 +0000 (00:18 +0000)]
Merge "Report the right error code from PropertyServiceConnection()"
Elliott Hughes [Fri, 14 Apr 2017 22:14:43 +0000 (22:14 +0000)]
Merge "Fix incorrect check."
Tom Cherry [Fri, 14 Apr 2017 20:45:20 +0000 (13:45 -0700)]
Report the right error code from PropertyServiceConnection()
We're currently reporting errno from the clean up call to close(),
which is much less interesting than the failing connect() call that
precedes it. This change reports errno from the connect() call
instead.
Bug:
36249702
Test: Boot bullhead, bionic unit tests
Test: Fake bad end point and see relevant error returned
Change-Id: Icadec463f50cd0a2a2faa08f049a7996cd32786f
Christopher Ferris [Fri, 14 Apr 2017 19:58:24 +0000 (12:58 -0700)]
Fix incorrect check.
Bug:
37347846
Test: No error on data +%s
Change-Id: I7e88ea842af29ce4a366c25a3f79c09b63a25004
Christopher Ferris [Fri, 14 Apr 2017 16:00:00 +0000 (16:00 +0000)]
Merge "libc: ARM: Add 32-bit Kryo memcpy"
Treehugger Robot [Fri, 14 Apr 2017 05:43:46 +0000 (05:43 +0000)]
Merge "Address review comments on the bionic tzdata loader."
Treehugger Robot [Thu, 13 Apr 2017 19:26:03 +0000 (19:26 +0000)]
Merge "Restore __system_property_find_nth version"
Jake Weinstein [Fri, 26 Aug 2016 00:03:25 +0000 (20:03 -0400)]
libc: ARM: Add 32-bit Kryo memcpy
* Memcpy is based on Scorpion due to Qualcomm's
128-bit cache line size optimizations.
* PLDOFFSET and PLDSIZE are from the ARM64 Kryo memcpy routine.
Below are the results of the benchmark, tested on a OnePlus 3 with MSM8996.
Before:
BM_string_memcpy/8 1000k 8 0.934 GiB/s
BM_string_memcpy/64 1000k 11 5.785 GiB/s
BM_string_memcpy/512 1000k 25 19.918 GiB/s
BM_string_memcpy/1024 50M 42 23.938 GiB/s
BM_string_memcpy/8Ki 10M 473 17.291 GiB/s
BM_string_memcpy/16Ki 5M 565 28.976 GiB/s
BM_string_memcpy/32Ki 1000k 1105 29.631 GiB/s
BM_string_memcpy/64Ki 1000k 2194 29.864 GiB/s
After:
BM_string_memcpy/8 1000k 6 1.145 GiB/s
BM_string_memcpy/64 1000k 7 8.560 GiB/s
BM_string_memcpy/512 1000k 18 27.370 GiB/s
BM_string_memcpy/1024 50M 33 30.340 GiB/s
BM_string_memcpy/8Ki 10M 266 30.770 GiB/s
BM_string_memcpy/16Ki 5M 553 29.599 GiB/s
BM_string_memcpy/32Ki 1000k 1121 29.219 GiB/s
BM_string_memcpy/64Ki 1000k 2208 29.678 GiB/s
Test: make otapackage
Test: Ran bionic unit tests on Pixel device. Verified memcpy wins on
Test: Pixel device.
Change-Id: Id7a9c37ef75a306dd5cf8d374d79d0fe83f8a3ba
Dimitry Ivanov [Thu, 13 Apr 2017 01:05:56 +0000 (18:05 -0700)]
Restore __system_property_find_nth version
Moving this to LIBC_DEPRECATED caused compatibility
problems for some apps.
Bug: http://b/
36566667
Test: launch app and check that it does not crash
Change-Id: I470f916ef818ff62ff5391b3a0c86dd44c1e8cd0
(cherry picked from commit
2167e74f168a192ca9c63abee1c03197326b83d7)
Christopher Ferris [Thu, 13 Apr 2017 17:45:53 +0000 (17:45 +0000)]
Merge "libc: use Cortex-A7/A53 memset on Kryo"
Treehugger Robot [Thu, 13 Apr 2017 15:09:46 +0000 (15:09 +0000)]
Merge "Add seccomp blacklist, and exclude swap functions"
Jake Weinstein [Fri, 7 Apr 2017 18:55:53 +0000 (14:55 -0400)]
libc: use Cortex-A7/A53 memset on Kryo
Tested on OnePlus 3 with MSM8996
Before (Krait):
BM_string_memset/8 1000k 7 1.071 GiB/s
BM_string_memset/64 1000k 9 6.720 GiB/s
BM_string_memset/512 1000k 19 26.699 GiB/s
BM_string_memset/1024 1000k 29 34.214 GiB/s
BM_string_memset/8Ki 10M 184 44.302 GiB/s
BM_string_memset/16Ki 5M 351 46.656 GiB/s
BM_string_memset/32Ki 5M 686 47.744 GiB/s
BM_string_memset/64Ki 1000k 1355 48.342 GiB/s
After (A7/A53):
BM_string_memset/8 1000k 7 1.017 GiB/s
BM_string_memset/64 1000k 7 8.039 GiB/s
BM_string_memset/512 1000k 13 37.976 GiB/s
BM_string_memset/1024 1000k 21 47.595 GiB/s
BM_string_memset/8Ki 10M 150 54.354 GiB/s
BM_string_memset/16Ki 10M 285 57.336 GiB/s
BM_string_memset/32Ki 5M 555 59.016 GiB/s
BM_string_memset/64Ki 1000k 1097 59.720 GiB/s
Test: make otapackage
Test: Verified this wins in all dimensions on a Pixel device.
Change-Id: I4cb72cc0363877de7c41d6f991149fda42fd0b4b
Elliott Hughes [Wed, 12 Apr 2017 19:03:44 +0000 (12:03 -0700)]
Address review comments on the bionic tzdata loader.
Bug: N/A
Test: ran tests
Change-Id: Ia7e27a2f93fe814e46b0912ce358b72651192173
Paul Lawrence [Wed, 12 Apr 2017 17:02:54 +0000 (10:02 -0700)]
Add seccomp blacklist, and exclude swap functions
Bug:
37253880
Test: Make sure device boots
Run pylint on genseccomp.py, test_genseccomp.py
Run test_genseccomp.py
Run new CTS test
cts-tradefed run cts -m CtsSecurityTestCases -t android.security.cts.SeccompTest
Change-Id: I833a5364a1481d65173e77654da1798dc45a3f9d
Treehugger Robot [Wed, 12 Apr 2017 19:02:14 +0000 (19:02 +0000)]
Merge "Move libc_logging.cpp over to CachedProperty."
Treehugger Robot [Wed, 12 Apr 2017 18:41:26 +0000 (18:41 +0000)]
Merge "The workaround for apps using older version of soinfos"
Treehugger Robot [Wed, 12 Apr 2017 18:15:51 +0000 (18:15 +0000)]
Merge "Move localtime.c over to CachedProperty."
Dimitry Ivanov [Tue, 11 Apr 2017 22:22:49 +0000 (15:22 -0700)]
The workaround for apps using older version of soinfos
Skip the check for accessibility in the case soinfo
does not have primary/secondary namespaces associated
with them.
Bug: http://b/
37191433
Test: start an app from http://b/
37191433 make sure it does not crash on lunch
Change-Id: Id4c0bdab4dfc6bc8a33fc275d71e325518e0759f
(cherry picked from commit
97b4c5f2649db06661e45147f21a2ab26340ad89)
Treehugger Robot [Wed, 12 Apr 2017 07:54:02 +0000 (07:54 +0000)]
Merge "'make bionic-unit-tests' now builds all the required binaries"
Treehugger Robot [Wed, 12 Apr 2017 05:59:56 +0000 (05:59 +0000)]
Merge "Remove the useless lock from CachedProperty."
Elliott Hughes [Wed, 12 Apr 2017 00:23:37 +0000 (17:23 -0700)]
Remove the useless lock from CachedProperty.
Also document that the caller should provide locking at an
appropriate scope.
Bug: N/A
Test: ran tests
Change-Id: Ib84802fd8b9dbe69f98feab80edef05549a3f73e
Dan Willemsen [Wed, 12 Apr 2017 00:06:51 +0000 (00:06 +0000)]
Merge "Mark CRT objects as vendor available"
Dan Willemsen [Fri, 7 Apr 2017 21:09:05 +0000 (14:09 -0700)]
Mark CRT objects as vendor available
This will build separate copies of the CRT for vendor vs system when
BOARD_VNDK_VERSION is set. We'll be able to change crtbrand / etc as
needed with #ifdef __ANDROID_VNDK__ and similar.
Bug:
36426473
Bug:
36079834
Test: Put #ifdef __ANDROID_VNDK__ into crtbrand.S, see changes
Change-Id: I7db0cccfe94d144f072e7cef23832884f3c066f0
Treehugger Robot [Tue, 11 Apr 2017 23:48:56 +0000 (23:48 +0000)]
Merge "Don't let missing Treble property context files affect errno."
Dimitry Ivanov [Mon, 10 Apr 2017 23:52:25 +0000 (16:52 -0700)]
'make bionic-unit-tests' now builds all the required binaries
Test: make
Change-Id: Ie2f5dffaa4a09eba6714ced8ab0043fd7446bee5
Christopher Ferris [Tue, 11 Apr 2017 23:14:55 +0000 (23:14 +0000)]
Merge "Fix missing parse_open_file method."
Elliott Hughes [Tue, 11 Apr 2017 22:18:38 +0000 (15:18 -0700)]
Move libc_logging.cpp over to CachedProperty.
Bug: N/A
Test: ran tests
Change-Id: I50f9065799e783df961e1275a4cda671fcf0fd32
Elliott Hughes [Tue, 11 Apr 2017 21:44:51 +0000 (14:44 -0700)]
Move localtime.c over to CachedProperty.
Since localtime.c is C, this entails pulling our code out into its own
C++ file, which we should probably have done years ago anyway.
Bug: N/A
Test: ran tests, and manually tested via Settings
Change-Id: Ifc787a553e8f739a87641a2d35321aca40a47286
Elliott Hughes [Tue, 11 Apr 2017 20:38:36 +0000 (13:38 -0700)]
Don't let missing Treble property context files affect errno.
User code on a non-treble device was starting with errno == ENOENT rather
than 0 because of this treble support:
openat(AT_FDCWD, "/property_contexts", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/system/etc/selinux/plat_property_contexts", R_OK) = -1 ENOENT (No such file or directory)
This caused us to fail some toybox tests by reporting bogus errno values
where errno should have been left unset:
PASS: date -d @0
FAIL: date -d @0x123
echo -ne '' | TZ=UTC date -d @0x123 2>&1
--- expected
+++ actual
@@ -1 +1 @@
-date: bad date '@0x123'
+date: bad date '@0x123': No such file or directory
PASS: date -d
06021234
PASS: date -d
060212341982
FAIL: date -d 123
echo -ne '' | TZ=UTC date -d 123 2>&1
--- expected
+++ actual
@@ -1 +1 @@
-date: bad date '123'
+date: bad date '123': No such file or directory
PASS: date -d
1110143115.30
PASS: date -d
111014312015.30
PASS: date Unix time missing @
Bug: http://b/
37248982
Test: ran tests
Change-Id: Iacf08c89dbe207ec53a7837e6ac7f78f5541ef35
Alessio Balsini [Tue, 11 Apr 2017 16:27:29 +0000 (18:27 +0200)]
Fix missing parse_open_file method.
gensyscalls.py was failing to execute because of a missing "self"
keyword when calling parse_open_file.
Test: manual test running gensyscalls.py.
Change-Id: I78db2cba704c5ca56a730019e36601a7ccd069f8
Treehugger Robot [Tue, 11 Apr 2017 16:19:14 +0000 (16:19 +0000)]
Merge "Remove .(ll)ndk suffix from (ll)ndk_library"
Dan Willemsen [Fri, 7 Apr 2017 21:09:18 +0000 (14:09 -0700)]
Remove .(ll)ndk suffix from (ll)ndk_library
Soong handles these automatically now.
Bug:
33241851
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Merged-In: Ibfe4cf5db732d9007b1cc12dbc523c427de1b23d
Change-Id: Ibfe4cf5db732d9007b1cc12dbc523c427de1b23d