OSDN Git Service
Josh Gao [Mon, 3 Apr 2017 18:24:48 +0000 (11:24 -0700)]
versioner: fix indentation in usage.
Test: versioner -h
Change-Id: I96cba65e53c564c8f47714c74d300e8f3dee7e82
Josh Gao [Mon, 3 Apr 2017 18:24:17 +0000 (11:24 -0700)]
versioner: guard preprocessing messages with -v.
Bug: http://b/
36751878
Test: tools/versioner/run_tests.py
Change-Id: I5142a33519b101548ccaec8a3bc498e446a648a7
Treehugger Robot [Mon, 3 Apr 2017 17:21:53 +0000 (17:21 +0000)]
Merge "Cleanup ANDROID_DNS_MODE and BIONIC_DNSCACHE"
Nick Kralevich [Sat, 1 Apr 2017 16:54:19 +0000 (09:54 -0700)]
Cleanup ANDROID_DNS_MODE and BIONIC_DNSCACHE
For security reasons, when a binary is executed which causes a security
transition (eg, a setuid binary, setgid binary, filesystem capabilities,
or SELinux domain transition), the AT_SECURE flag is set. This causes
certain blacklisted environment variables to be stripped before the
process is executed. The list of blacklisted environment variables is
stored in UNSAFE_VARIABLE_NAMES. Generally speaking, most environment
variables used internally by libc show up in this list.
Add ANDROID_DNS_MODE to the list of unsafe variables.
Similar to RESOLV_HOST_CONF and RES_OPTIONS (which are already
blacklisted), this variable controls how name resolution requests are
handled. Allowing ANDROID_DNS_MODE to be set across a security
boundary could induce resolution failures or otherwise impact
name resolution.
Remove BIONIC_DNSCACHE. This does not appear to be used, and setting
this variable across a security boundary could cause name resolution
problems.
Test: Android compiles and runs with no obvious problems.
Change-Id: I835a7b42d6afbc9c67866594c7951cfd9b355d81
Treehugger Robot [Sun, 2 Apr 2017 02:14:45 +0000 (02:14 +0000)]
Merge "Fix lookup logic for linked namespaces"
Treehugger Robot [Sat, 1 Apr 2017 07:35:14 +0000 (07:35 +0000)]
Merge "Only use environment variables on the host."
Elliott Hughes [Fri, 31 Mar 2017 22:35:21 +0000 (15:35 -0700)]
Only use environment variables on the host.
It's faster and safer to skip them on the device, where we know where
everything is anyway.
(cherrypick of
cf6365690cc68bdd7e16648fb7881ba0b5cae93d.)
Bug: http://b/
36807787
Test: ran tests
Change-Id: I0bb7879cc46f194152c67ddaf072cbebb424f789
Treehugger Robot [Sat, 1 Apr 2017 00:07:11 +0000 (00:07 +0000)]
Merge "Expand whitelist"
Treehugger Robot [Fri, 31 Mar 2017 16:35:51 +0000 (16:35 +0000)]
Merge "Refactor sanitized library on-disk layout - bionic."
Paul Lawrence [Thu, 30 Mar 2017 22:24:13 +0000 (15:24 -0700)]
Expand whitelist
Bug:
36726183
Test: Builds, call 90 added to policy
(cherry picked from commit
3ba8223b9ac3db1642931876d19127ca6a9a0914)
Change-Id: Ib8db1b764ce22aadf8050031d40040dd6c0e669e
Vishwath Mohan [Wed, 29 Mar 2017 22:31:34 +0000 (15:31 -0700)]
Refactor sanitized library on-disk layout - bionic.
This CL changes the linker to point to the newly refactored location
of ASAN-ified libraries on disk.
This supports changes made by the following CLs -
https://android-review.googlesource.com/#/c/359087/
https://android-review.googlesource.com/#/c/359389/
Which refactor the on-disk location as follows:
/data/lib* --> /data/asan/system/lib*
/data/vendor/* --> /data/asan/vendor/*
There are a couple of advantages to this, including better isolation
from other components, and more transparent linker renaming and
SELinux policies.
Bug:
36574794
Bug:
36674745
Test: m -j40 && SANITIZE_TARGET="address" m -j40 and the device
boots. All sanitized libraries are correctly located in /data/asan/*.
Change-Id: Iad8b298a66c38eb0f6327f6b51027f0728aa7a40
Treehugger Robot [Fri, 31 Mar 2017 02:27:13 +0000 (02:27 +0000)]
Merge "Revert "isnan and isinf aren't functions.""
Dan Albert [Thu, 30 Mar 2017 23:34:27 +0000 (16:34 -0700)]
Revert "isnan and isinf aren't functions."
While this change is correct, GNU libstdc++ 4.9 isn't able to handle a
standard compliant C library. Its <cmath> will `#undef isnan` from
math.h and only adds the function overloads to the std namespace,
making it impossible to use both <cmath> (which gets included by a
lot of other standard headers) and ::isnan.
We're going to have to revert this until we can start turning down
support for gnustl.
This reverts commit
e76ee993ff30a639d24c7db6a080c14d1b1a10f2.
Bug: https://code.google.com/p/android/issues/detail?id=271629
Test: make checkbuild
Change-Id: I394f50271430e78ab801d85c3ee4e87019eda6af
Josh Gao [Thu, 30 Mar 2017 01:33:57 +0000 (01:33 +0000)]
Merge "Add more ptrace process resumption tests."
Elliott Hughes [Wed, 29 Mar 2017 23:08:17 +0000 (23:08 +0000)]
Merge "Fix x86 system calls made from ELF preinit."
Dimitry Ivanov [Mon, 27 Mar 2017 21:11:02 +0000 (14:11 -0700)]
Fix lookup logic for linked namespaces
When looking for already loaded libraries include
linked namespaces to the search, but check if
the library is accessible from the main namespace.
Bug: http://b/
36008422
Bug: http://b/
35417197
Bug: http://b/
34052337
Bug: http://b/
36660652
Bug: https://issuetracker.google.com/
36636090
Test: run bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: Ic7c1d48114da3ca5dc6512ef03f595dd17b6ed17
Josh Gao [Wed, 29 Mar 2017 22:01:15 +0000 (15:01 -0700)]
Add more ptrace process resumption tests.
Add tests to verify that ptrace unlink happens immediately for unreaped
processes.
Test: /data/nativetest/bionic-unit-tests/bionic-unit-tests --gtest_filter="Ptrace*"
Test: /data/nativetest64/bionic-unit-tests/bionic-unit-tests --gtest_filter="Ptrace*"
Change-Id: I9803ee5be2a0686c21556598ecf17348df09f601
Elliott Hughes [Wed, 29 Mar 2017 20:48:02 +0000 (13:48 -0700)]
Fix x86 system calls made from ELF preinit.
Used by CFI, so broke cfi_test#early_init@x86, but I've added a specific
test for this (and a similar test for getauxval from preinit, which this
patch does not fix).
Bug: http://b/
35885875
Test: ran tests
Change-Id: I43885bedfb88c0a26b4474bd3c27a87dec7bbc97
Treehugger Robot [Wed, 29 Mar 2017 17:59:25 +0000 (17:59 +0000)]
Merge changes from topic 'no-bionic-prebuilts'
* changes:
Build the versioner even on unbundled branches.
Revert "Revert "Run the versioner as part of the build.""
Dimitry Ivanov [Tue, 28 Mar 2017 20:40:45 +0000 (20:40 +0000)]
Merge "linker: log only real dlerrors"
Dimitry Ivanov [Tue, 28 Mar 2017 18:08:58 +0000 (11:08 -0700)]
linker: log only real dlerrors
Currently linker reports all potential dlerrors
for example if library was not found in 'this'
namespace - it initializes linker error buffer
with not found message but when consequent
search in linked namespace succeeds this message
is droped because dlopen was successful.
This commit avoids logging false positive error
messages when debug.ld.* set to dlerror.
Test: manual
Change-Id: I480694a1b1bbacd6bd1d8505cd2ee491710964cc
Treehugger Robot [Tue, 28 Mar 2017 01:54:12 +0000 (01:54 +0000)]
Merge "Expose seccomp table"
Christopher Ferris [Tue, 28 Mar 2017 01:27:17 +0000 (01:27 +0000)]
Merge "bionic: arm64: generic: strcmp: align to 64B cache line"
Dimitry Ivanov [Tue, 28 Mar 2017 00:59:08 +0000 (00:59 +0000)]
Merge "Make anonymous namespace isoalted."
Paul Lawrence [Mon, 27 Mar 2017 22:38:37 +0000 (15:38 -0700)]
Expose seccomp table
Test: Run with internal cl
https://googleplex-android-review.git.corp.google.com/#/c/
2028102/
and make sure passes
Bug:
20890063
Change-Id: Id78e5ea843554a5d3750b8f9b350f28ad4dca99b
Dimitry Ivanov [Mon, 27 Mar 2017 22:42:17 +0000 (15:42 -0700)]
Make anonymous namespace isoalted.
This addresses outstanding todo for anonymous namespace
and fixes an app compatibility bug.
Bug: http://b/
36008422
Test: start app from http://b/
36008422 and make sure it runs
Change-Id: Ie148418b944379ee1000e7274f2f6c1eca511d6c
Dan Albert [Mon, 27 Mar 2017 20:28:27 +0000 (13:28 -0700)]
Build the versioner even on unbundled branches.
This is needed to generate the NDK, so unbundled projects using the
NDK need to build this. If they don't need the NDK, they should just
remove bionic from their manifest.
Test: make checkbuild
Bug: None
Change-Id: I7db816c4a341cf34d4d11739dc64182af630ad63
Dan Albert [Wed, 22 Mar 2017 22:28:05 +0000 (15:28 -0700)]
Revert "Revert "Run the versioner as part of the build.""
This reverts commit
69c7562f5983ed5bc1d330b1f44b5cf506efb60e.
Test: make checkbuild
Change-Id: Ie443029398c01b45e0a0317a8074808b064f35d4
Dimitry Ivanov [Sat, 25 Mar 2017 07:46:18 +0000 (07:46 +0000)]
Merge "Revert "linker: add more directories to default lib paths""
Treehugger Robot [Sat, 25 Mar 2017 05:17:31 +0000 (05:17 +0000)]
Merge "Load namespace configuration from ld.config.txt"
Dimitry Ivanov [Fri, 24 Mar 2017 23:02:54 +0000 (23:02 +0000)]
Merge "Disable compat_elf_hash_and_relocation_tables test for x86"
Dimitry Ivanov [Tue, 7 Mar 2017 19:19:05 +0000 (11:19 -0800)]
Load namespace configuration from ld.config.txt
This change allows customization of default namespace
configuration for different executables. It also enables
target_sdk_version setup for binaries (note that this
option should explicitly be enabled in ld.config.txt).
Bug: http://b/
30706810
Bug: http://b/
30435785
Test: run linker-unit-tests/bionic-unit-tests, boot angler
Change-Id: Ibbe87209acf1538fc9cec04944f3d22a190c38f1
Dimitry Ivanov [Fri, 24 Mar 2017 17:58:23 +0000 (10:58 -0700)]
Disable compat_elf_hash_and_relocation_tables test for x86
Bug: http://b/
36571076
Test: run bionic-unit-tests on fugu
Change-Id: I2f901bc99e55f15b06fe6a5b0d7a125d1b8241a8
Treehugger Robot [Fri, 24 Mar 2017 02:03:57 +0000 (02:03 +0000)]
Merge "loader: stop relying on AT_BASE"
Dimitry Ivanov [Thu, 23 Mar 2017 23:17:15 +0000 (16:17 -0700)]
loader: stop relying on AT_BASE
android loader should not rely on the fact
that AT_BASE is set because kernel currently
does not set it when linker is run standalone
(The linker does not have PT_INTERP set)
This commit replaces AT_BASE with calculated value.
Bug: http://b/
30739481
Bug: http://b/
35890756
Test: run bionic-unit-tests --gtest_filter=dl*
Change-Id: Ic2eb73e4452624b1f2e05f46e99e4c17df0bbc3f
Treehugger Robot [Thu, 23 Mar 2017 20:41:34 +0000 (20:41 +0000)]
Merge "Expand whitelist"
Paul Lawrence [Thu, 23 Mar 2017 19:20:00 +0000 (12:20 -0700)]
Expand whitelist
Bug:
36449658
Test: Builds
Change-Id: I610da03e7a3cede218d1657f53797ab72cbdf317
Christopher Ferris [Thu, 23 Mar 2017 19:12:20 +0000 (19:12 +0000)]
Merge "Verify at least 2 frames out of signal handler."
Christopher Ferris [Thu, 23 Mar 2017 02:05:50 +0000 (19:05 -0700)]
Verify at least 2 frames out of signal handler.
Modify the test slightly to make sure that the unwinder properly unwinds
through at least 2 frames outside of the signal handler. This guarantees
that if the first frame outside of the handler happens to be garbage,
this test will fail.
Bug:
34468756
Test: Ran the unit tests on fugu, angler (both 32 bit and 64 bit).
Change-Id: I6b76ac9fc1df9ed6fd5bbcc6f5fa4bf458354dff
Treehugger Robot [Wed, 22 Mar 2017 19:33:07 +0000 (19:33 +0000)]
Merge "Fix problem that we don't block syscalls below min value"
Paul Lawrence [Wed, 22 Mar 2017 15:03:51 +0000 (08:03 -0700)]
Fix problem that we don't block syscalls below min value
The check that we are not below the lowest permitted syscall was
off by one, so we always allowed them, rather than always denying
them
Test: Check arm64 boots, chrome and maps work
mips and mips64 emulators boot
Note that arm, x86 and x86_64 already allow syscall 0 so there
will be no functional change there
Change-Id: I85873f1d04124e634e648bd47c027f280f1d6dbd
Joachim Sauer [Wed, 22 Mar 2017 13:11:45 +0000 (13:11 +0000)]
Merge "Update timezone data to 2017b"
Treehugger Robot [Tue, 21 Mar 2017 22:06:08 +0000 (22:06 +0000)]
Merge "Add systrace output for dlclose/dlsym calls"
Treehugger Robot [Tue, 21 Mar 2017 20:11:35 +0000 (20:11 +0000)]
Merge "POSIX support varies by API level."
Elliott Hughes [Tue, 21 Mar 2017 19:14:05 +0000 (19:14 +0000)]
Merge "pthread barrier and spinlock types should only appear at API level 24."
Elliott Hughes [Tue, 21 Mar 2017 18:24:13 +0000 (11:24 -0700)]
POSIX support varies by API level.
Bug: https://github.com/android-ndk/ndk/issues/332
Test: builds
Change-Id: I249c214d34244a1149ba6b1160e8eafc2cdbcdea
Dimitry Ivanov [Tue, 21 Mar 2017 17:29:06 +0000 (10:29 -0700)]
Add systrace output for dlclose/dlsym calls
Bug: http://b/
27195126
Test: manual: adb shell atrace -t 5 bionic
and run bionic-unit-tests --gtest_filter=dl*
Change-Id: I9e93a069dd440bb643890d9952913938442ac375
Elliott Hughes [Tue, 21 Mar 2017 16:39:56 +0000 (09:39 -0700)]
pthread barrier and spinlock types should only appear at API level 24.
Bug: https://github.com/android-ndk/ndk/issues/336
Test: builds
Change-Id: I938d9d7ea879d1dbc355f14e100f1ea31a51a1f0
Joachim Sauer [Tue, 21 Mar 2017 15:25:34 +0000 (15:25 +0000)]
Update timezone data to 2017b
IANA changes:
Briefly: Haiti has resumed DST.
Changes to past and future time stamps
Haiti resumed observance of DST in 2017. (Thanks to Steffen Thorsen.)
Changes to past time stamps
Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01.
Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430"
is one byte over the POSIX limit. (Problem reported by Derick Rethans.)
Bug:
36470257
Test: CtsLibcoreTestCases / CtsBionicTestCases
Change-Id: I5a8ffb60232410d88ffa67c7702dd234ff05f61d
Dimitry Ivanov [Mon, 20 Mar 2017 22:34:36 +0000 (22:34 +0000)]
Merge changes Ib2bad794,I82436292
* changes:
Add systrace output for dlopen calls
Add end() method to bionic's ScopedTrace class
Treehugger Robot [Mon, 20 Mar 2017 21:53:39 +0000 (21:53 +0000)]
Merge "Only rename mmap to mmap64 if we're L or newer."
Dimitry Ivanov [Fri, 17 Mar 2017 23:41:34 +0000 (16:41 -0700)]
Add systrace output for dlopen calls
Bug: http://b/
27195126
Test: manual: adb shell atrace -t 5 bionic
and run bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: Ib2bad794e571b89bd1f52c9e0de642c2092e5c21
Elliott Hughes [Mon, 20 Mar 2017 20:01:16 +0000 (20:01 +0000)]
Merge "Only rename fgetpos/fsetpos/fseeko/ftello/funopen if we're N or newer."
Elliott Hughes [Mon, 20 Mar 2017 20:01:06 +0000 (20:01 +0000)]
Merge "Only rename sendfile to sendfile64 if we're L or newer."
Dan Albert [Fri, 17 Mar 2017 18:47:09 +0000 (11:47 -0700)]
Only rename mmap to mmap64 if we're L or newer.
Without this, setting `__USE_FILE_OFFSET64` and targeting pre-L made
mmap entirely unavailable.
Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/332
Change-Id: I9f61c44f8d9ab5c7cae845c9f89a7d889c6df365
Treehugger Robot [Mon, 20 Mar 2017 19:52:12 +0000 (19:52 +0000)]
Merge "Expand whitelist"
Dimitry Ivanov [Mon, 20 Mar 2017 17:54:52 +0000 (10:54 -0700)]
Add end() method to bionic's ScopedTrace class
Bug: http://b/
27195126
Test: make
Change-Id: I8243629200606ca87b11cbd479ca093add42eb56
Paul Lawrence [Mon, 20 Mar 2017 18:02:11 +0000 (11:02 -0700)]
Expand whitelist
Bug:
36435222
Test: App starts, plays game
Change-Id: If21f59e4d218be64fdac46115d35dc1ffb6fe771
Yuanyuan Zhong [Wed, 7 Sep 2016 21:58:40 +0000 (16:58 -0500)]
bionic: arm64: generic: strcmp: align to 64B cache line
Align strcmp to 64B. This will ensure the preformance critical
loop is within one 64B cache line.
Change-Id: I88eef2f12b2a6442cacec9cdbdffbf17293e7d32
Signed-off-by: Yuanyuan Zhong <zyy@motorola.com>
Reviewed-on: https://gerrit.mot.com/902536
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver <sltawvr@motorola.com>
Tested-by: Jira Key <jirakey@motorola.com>
Reviewed-by: Yi-Wei Zhao <gbjc64@motorola.com>
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key <jirakey@motorola.com>
Elliott Hughes [Sat, 18 Mar 2017 01:56:08 +0000 (18:56 -0700)]
Only rename fgetpos/fsetpos/fseeko/ftello/funopen if we're N or newer.
Without this, setting __FILE_OFFSET_BITS to 64 and targeting pre-L
made these functions entirely unavailable.
Bug: https://github.com/android-ndk/ndk/issues/333
Test: builds
Change-Id: Id17ae3c070f8b2650a9bc9aa2aa2e92c5fcdf4ad
Elliott Hughes [Sat, 18 Mar 2017 01:50:12 +0000 (18:50 -0700)]
Only rename sendfile to sendfile64 if we're L or newer.
Without this, setting __FILE_OFFSET_BITS to 64 and targeting pre-L
made sendfile entirely unavailable.
Bug: https://github.com/android-ndk/ndk/issues/333
Test: builds
Change-Id: I82d326ff244473dd5443632ff6c19d726d5e29ee
Treehugger Robot [Fri, 17 Mar 2017 15:29:13 +0000 (15:29 +0000)]
Merge "Add libc optimizations to bionic for MIPS"
Dimitry Ivanov [Fri, 17 Mar 2017 00:08:23 +0000 (00:08 +0000)]
Revert "linker: add more directories to default lib paths"
This reverts commit
1daa18e73714150e26c4380840c793e406c11095.
To be replaced with customized linker-namespaces for different kind of binaries.
Bug: http://b/
34407260
Change-Id: Ib4e480669bbdf44ee4f59bf05f07d3e082c348c9
Test: m
Treehugger Robot [Thu, 16 Mar 2017 20:36:56 +0000 (20:36 +0000)]
Merge "Use libbase for realpath and dirname"
Dimitry Ivanov [Thu, 16 Mar 2017 18:34:13 +0000 (11:34 -0700)]
Use libbase for realpath and dirname
Test: run bionic-unit-tests
Bug: http://b/
31396973
Change-Id: Ie8dc60348b9c57892a77be6a24dadb42241f6b62
Prashant Patil [Thu, 16 Mar 2017 12:37:00 +0000 (18:07 +0530)]
Add libc optimizations to bionic for MIPS
Test: Used bionic tests available under bionic/tests folder.
Tested for mips32r1/mips32r2/mips64r6 on emulators.
Change-Id: I589415ddc496df3f6067ae34cb33ca58b3a1f276
Signed-off-by: Prashant Patil <prashant.patil@imgtec.com>
Josh Gao [Thu, 16 Mar 2017 06:44:58 +0000 (06:44 +0000)]
Merge "Split up the stack space tests into their own noinline functions."
Josh Gao [Thu, 16 Mar 2017 02:42:05 +0000 (19:42 -0700)]
Split up the stack space tests into their own noinline functions.
Prevent the compiler from being too smart and allocating a stack buffer
at the beginning of a function.
Bug: http://b/
36206043
Test: 32/64-bit dynamic tests pass, static ones still don't
Change-Id: I90c575be43a9dd6c4fefc0d8b514f1ae0405b994
Treehugger Robot [Wed, 15 Mar 2017 23:18:17 +0000 (23:18 +0000)]
Merge "Enable ld-android on linux_bionic builds"
Treehugger Robot [Wed, 15 Mar 2017 22:09:27 +0000 (22:09 +0000)]
Merge "Add tests for pthread TLS leak."
Dan Willemsen [Wed, 15 Mar 2017 21:23:50 +0000 (14:23 -0700)]
Enable ld-android on linux_bionic builds
Bug:
31559095
Test: Enable host bionic, run soong
Change-Id: If94927c66c0c2dc74c213ca403d45e73508b0025
Josh Gao [Tue, 14 Mar 2017 00:10:46 +0000 (17:10 -0700)]
Add tests for pthread TLS leak.
Add tests that ensure that threads don't leak memory mappings after
they exit.
Bug: http://b/
36045112
Test: /data/nativetest/bionic-unit-tests/bionic-unit-tests --gtest_filter=*leak*
Test: /data/nativetest64/bionic-unit-tests/bionic-unit-tests --gtest_filter=*leak*
Change-Id: Id0c1194b5d2bb7d89947b1ade16eb0d768d8c5b7
Treehugger Robot [Tue, 14 Mar 2017 00:58:14 +0000 (00:58 +0000)]
Merge "Extract format_string function."
Treehugger Robot [Tue, 14 Mar 2017 00:15:49 +0000 (00:15 +0000)]
Merge "linker: add more directories to default lib paths"
Dimitry Ivanov [Sat, 11 Mar 2017 22:35:38 +0000 (14:35 -0800)]
Extract format_string function.
Extract format_string function and add a test.
Test: run linker-unit-tests
Change-Id: I794a29aaf62e184438ce1a9224b88aa0586c17b5
Treehugger Robot [Mon, 13 Mar 2017 20:10:48 +0000 (20:10 +0000)]
Merge "Support all architectures in seccomp"
Treehugger Robot [Mon, 13 Mar 2017 18:37:29 +0000 (18:37 +0000)]
Merge "Apply ASan linker path translation to subdirectories."
Paul Lawrence [Fri, 17 Feb 2017 18:22:03 +0000 (10:22 -0800)]
Support all architectures in seccomp
Test: Make sure arm, x86, x86_64, mips, mips64 emulators boot
Make sure sailfish still boots
Ran CTS test from
https://android-review.googlesource.com/#/c/348671/3 and it passed
The instructions for how to run mips emulators above worked, but
the CTS tests did not seem to actually run.
Change-Id: Iddee5acdb19ed32c7bd4657573313ca439cf6a49
Christopher Ferris [Mon, 13 Mar 2017 17:47:31 +0000 (17:47 +0000)]
Merge "Fix the way malloc debug returns info."
Evgenii Stepanov [Mon, 3 Oct 2016 22:09:28 +0000 (15:09 -0700)]
Apply ASan linker path translation to subdirectories.
Specifically, this change would translate /system/lib/hw/foo.so to /data/lib/hw/foo.so.
Bug:
30320104
Test: in SANITIZE_TARGET=address build, /proc/$PID/maps for
system_server show libraries from /data/lib64/hw and not from
/system/lib64/hw.
Change-Id: Ia1fa22fa1ca088fe76e41308762efe037541fc74
Jiyong Park [Tue, 31 Jan 2017 08:32:46 +0000 (17:32 +0900)]
linker: add more directories to default lib paths
Due to b/
33681361, libraries are now installed to different paths than
before. In order for linker to load libraries from the new paths, the
default lib paths are updated.
However, this patch is temporary; different paths must be used depending
on whether the process is executing vendor executable or framework
executable. For example, vendor executable should not be able to access
/system/lib/, which is for framework-internal libs. Similarly,
framework executables should not be able to access /vendor/lib.
We have several solutions (linker namespace and DT_RUNPATH) to support
the scenario, but haven't concluded which is better. Furthermore, if we
restrict the search path right now, it will break many parts of Android
that are not yet prepared for the restriction. So, until then, we
temporarily use the single search path for both framework/vendor
executables.
Test: build & run
Change-Id: I806e9b4379bce96653b1dd3354b9f4801abb0411
Josh Gao [Thu, 9 Mar 2017 22:03:30 +0000 (22:03 +0000)]
Merge changes from topic 'debuggerd_fallback'
* changes:
linker_memory: allow fallback allocator to be turned on and off.
Increase signal stack size on 32-bit to 16kB.
Christopher Ferris [Thu, 9 Mar 2017 21:47:37 +0000 (13:47 -0800)]
Fix the way malloc debug returns info.
When I rewrote malloc debug, I accidentally thought that each
value returned in the info buffer contained the number of backtrace
frames in the backtrace. This was incorrect, it should have been
the total number of allocations with the same backtrace.
This is a temporary fix that sets that value to 1. The better fix is
to de-dupe backtraces and then return all allocations of the same size
with the same backtrace.
I updated the documents to describe this.
Bug:
31854476
Test: Unit tests pass.
Change-Id: Idf9efaa3d363923b5d7543d90dc7c65a0ed553d9
Treehugger Robot [Thu, 9 Mar 2017 19:20:54 +0000 (19:20 +0000)]
Merge "Prefer property_contexts from /system & /vendor"
Josh Gao [Tue, 7 Mar 2017 01:46:47 +0000 (17:46 -0800)]
linker_memory: allow fallback allocator to be turned on and off.
Let the fallback allocator be used on multiple threads (as long as only
one thread is using it at once).
Bug: http://b/
35858739
Change-Id: Id3e2fc6b7c093c6e56870524ffda28946de09e29
Josh Gao [Tue, 7 Mar 2017 01:45:33 +0000 (17:45 -0800)]
Increase signal stack size on 32-bit to 16kB.
snprintf to a buffer of length PATH_MAX consumes about 7kB of stack.
Bug: http://b/
35858739
Test: bionic-unit-tests --gtest_filter="*big_enough*"
Change-Id: I34a7f42c1fd2582ca0d0a9b7e7a5290bc1cc19b1
Alex Klyubin [Wed, 8 Mar 2017 21:16:03 +0000 (13:16 -0800)]
Prefer property_contexts from /system & /vendor
This changes system_properties' initialize_properties to prefer
loading property_contexts from /system/etc/selinux &
/vendor/etc/selinux, while falling back to the pre-existing behavior
of loading from /.
Test: Device with *_property_contexts in / boots up fine, no denials
to do with properties, getprop -Z lists correct labels.
Test: Device with *_property_contexts in /system & /vendor, but not
in /, boots up fine, no denials to do with properties,
getprop -Z lists correct labels.
Test: Device with *_property_contexts in /system & vendor and with
empty *_property_contexts in / boots up fine, no denials to do
with properties, getprop -Z lists correct labels.
Bug:
36002573
Change-Id: I15174acdf89ee8f5a96acf1e38a54d4214df51ef
Treehugger Robot [Wed, 8 Mar 2017 23:13:13 +0000 (23:13 +0000)]
Merge "Fix leak of bionic TLS when threads are detached."
Joachim Sauer [Wed, 8 Mar 2017 11:53:22 +0000 (11:53 +0000)]
Merge "Update timezone data to 2017a"
Josh Gao [Wed, 8 Mar 2017 07:05:08 +0000 (23:05 -0800)]
Fix leak of bionic TLS when threads are detached.
__pthread_internal_free doesn't happen on threads that are detached,
causing the bionic TLS allocation (and guard pages) to be leaked.
Fix the leak, and name the allocations to make things apparent if this
ever happens again.
Bug: http://b/
36045112
Test: manually ran a program that detached empty threads
Change-Id: Id1c7852b7384474244f7bf5a0f7da54ff962e0a1
Treehugger Robot [Wed, 8 Mar 2017 00:48:55 +0000 (00:48 +0000)]
Merge "Expand whitelist"
Paul Lawrence [Tue, 7 Mar 2017 23:14:03 +0000 (15:14 -0800)]
Expand whitelist
Bug:
35879294
Test: Builds, boots. No easy test for reported issues.
Change-Id: Ib68a36f849a8dab14426600cdc6401fa8bb5b914
Treehugger Robot [Tue, 7 Mar 2017 20:52:38 +0000 (20:52 +0000)]
Merge "loader: anonymous ns initialization is not required"
Dimitry Ivanov [Tue, 7 Mar 2017 19:02:10 +0000 (11:02 -0800)]
loader: anonymous ns initialization is not required
Anonymous namesapce is zygote-specific workaround and
is not really required for other binaries.
This change allows creating namespaces without initializing
anonymous namespace.
Test: bionic-unit-tests
Change-Id: I62adc39ad69ce56b3760d36f45e3c0487c438598
Joachim Sauer [Thu, 2 Mar 2017 12:31:57 +0000 (12:31 +0000)]
Update timezone data to 2017a
IANA changes:
Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia
discontinues DST.
Changes to future time stamps
Mongolia no longer observes DST. (Thanks to Ganbold Tsagaankhuu.)
Chile's Region of Magallanes moves from -04/-03 to -03 year-round.
Its clocks diverge from America/Santiago starting 2017-05-13 at
23:00, hiving off a new zone America/Punta_Arenas. Although the
Chilean government says this change expires in May 2019, for now
assume it's permanent. (Thanks to Juan Correa and Deborah
Goldsmith.) This also affects Antarctica/Palmer.
Changes to past time stamps
Fix many entries for historical time stamps for Europe/Madrid
before 1979, to agree with tables compiled by Pere Planesas of the
National Astronomical Observatory of Spain. As a side effect,
this changes some time stamps for Africa/Ceuta before 1929, which
are probably guesswork anyway. (Thanks to Steve Allen and
Pierpaolo Bernardi for the heads-ups, and to Michael Deckers for
correcting the 1901 transition.)
Ecuador observed DST from 1992-11-28 to 1993-02-05.
(Thanks to Alois Treindl.)
Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21.
(Thanks to Stepan Golosunov.)
Changes to past and future time zone abbreviations
Switch to numeric time zone abbreviations for South America, as
part of the ongoing project of removing invented abbreviations.
This avoids the need to invent an abbreviation for the new Chilean
new zone. Similarly, switch from invented to numeric time zone
abbreviations for Afghanistan, American Samoa, the Azores,
Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei,
Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is,
Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland,
Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia,
the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia,
Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau,
Papua New Guinea, the Philippines, Pitcairn, Qatar, RĂ©union, St
Pierre & Miquelon, Samoa, Saudi Arabia, Seychelles, Singapore,
Solomon Is, Tokelau, Tuvalu, Wake, Vanuatu, Wallis & Futuna, and
Xinjiang; for 20-minute daylight saving time in Ghana before 1943;
for half-hour daylight saving time in Belize before 1944 and in
the Dominican Republic before 1975; and for Canary Islands before
1946, for Guinea-Bissau before 1975, for Iceland before 1969, for
Indian Summer Time before 1942, for Indonesia before around 1964,
for Kenya before 1960, for Liberia before 1973, for Madeira before
1967, for Namibia before 1943, for the Netherlands in 1937-9, for
Pakistan before 1971, for Western Sahara before 1977, and for
Zaporozhye in 1880-1924.
For Alaska time from 1900 through 1967, instead of "CAT" use the
abbreviation "AST", the abbreviation commonly used at the time
(Atlantic Standard Time had not been standardized yet). Use "AWT"
and "APT" instead of the invented abbreviations "CAWT" and "CAPT".
Use "CST" and "CDT" instead of invented abbreviations for Macau
before 1999 and Taiwan before 1938, and use "JST" instead of the
invented abbreviation "JCST" for Japan and Korea before 1938.
Bug:
35861784
Test: CtsLibcoreTestCases / CtsBionicTestCases
Change-Id: I5e6bbdb93cb57f1b465913ba1b99572140400ef8
Treehugger Robot [Tue, 7 Mar 2017 03:36:01 +0000 (03:36 +0000)]
Merge "Remove g_default_ld_paths global variable"
Dimitry Ivanov [Mon, 6 Mar 2017 21:02:29 +0000 (13:02 -0800)]
Remove g_default_ld_paths global variable
Test: boot, run bionic-unit-tests
Change-Id: Id05d53475cbea6d62bd5fa1ab5e457ac82bab523
Elliott Hughes [Sat, 4 Mar 2017 00:20:12 +0000 (00:20 +0000)]
Merge "Generate both static and shared libseccomp_policy."
Christopher Ferris [Fri, 3 Mar 2017 23:40:11 +0000 (23:40 +0000)]
Merge "Refactor the kernel update scripts."
Treehugger Robot [Fri, 3 Mar 2017 21:02:42 +0000 (21:02 +0000)]
Merge "Expand whitelist"