OSDN Git Service
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
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.
(cherry picked from commit
31e5a35f3d403ffa4ffe0215f9664d08fb749ada)
Change-Id: I790a42f2cf2f7b8e003faa4df9135db22a2e20db
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
(cherry picked from commit
438e01940b90a2b6061a9b9809e08466e1e9faac)
Change-Id: I639f2142ad4ba049b990b13ccccd255be4b4f479
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
(cherry picked from commit
3dd3d55af2e73e0cda786368e94c65485bcc267b)
Change-Id: I7d4fe78d4fd43e2a5d701d6250c3dd27e4cb128b
TreeHugger Robot [Thu, 13 Apr 2017 03:20:02 +0000 (03:20 +0000)]
Merge "Restore __system_property_find_nth version" into oc-dev
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
TreeHugger Robot [Wed, 12 Apr 2017 17:07:35 +0000 (17:07 +0000)]
Merge "Don't let missing Treble property context files affect errno." into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 07:30:43 +0000 (07:30 +0000)]
Merge "The workaround for apps using older version of soinfos" into oc-dev
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
(cherry picked from commit
7ade61cae297c112e7288f173fb529673010926a)
Change-Id: I4c680da14f3df16dc5a9884071e48f3221ad3b3b
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
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
Merged-In: I7db0cccfe94d144f072e7cef23832884f3c066f0
Change-Id: I7db0cccfe94d144f072e7cef23832884f3c066f0
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
Change-Id: Ibfe4cf5db732d9007b1cc12dbc523c427de1b23d
Steven Moreland [Mon, 10 Apr 2017 15:30:01 +0000 (15:30 +0000)]
Merge "Build the versioner even on unbundled branches." into oc-dev
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
Merged-In: I7db816c4a341cf34d4d11739dc64182af630ad63
Change-Id: I7db816c4a341cf34d4d11739dc64182af630ad63
(cherry picked from commit
69cb22f4d73bf432d2b0bb78b74801c94b0824b5)
Dan Willemsen [Mon, 20 Mar 2017 21:07:47 +0000 (14:07 -0700)]
Add LLNDK stub libraries for the VNDK
The stub libraries are the same as the (equivalent version) NDK, but
they also contain symbols tagged with 'vndk'. Except there are none of
those in Bionic currently.
For headers, the LLNDK/VNDK isn't using a sysroot like the NDK. Nor is
it hardcoding an explicit source path list like the platform. Instead it
runs the bionic/libc/include directory through versioner like the NDK,
then exports those generated headers and the kernel headers from the
stub library like any other exported header. Except it uses -isystem
instead of -I due to export_headers_as_system.
Test: aosp_arm; m -j
Test: Enable BOARD_VNDK_VERSION on aosp_arm; m -j
Test: Inspect out/soong/build.ninja before/after (w/o vndk)
Change-Id: Ief58a73907a83053b408b1d4b62999cba470d61c
(cherry picked from commit
b8f7fde4bdfba5a65ef5a88265fdb79403e8a699)
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
TreeHugger Robot [Fri, 7 Apr 2017 02:39:06 +0000 (02:39 +0000)]
Merge "versioner: fix LLVM assertion failure." into oc-dev
Josh Gao [Thu, 6 Apr 2017 19:57:22 +0000 (12:57 -0700)]
versioner: fix LLVM assertion failure.
MemoryBuffer::getOpenFileSlice asserts that the map size passed in
isn't -1 (presumably because the offset can be nonzero). Switch to
getOpenFile, which results in an identical call to the implementation
function without the assert.
Bug: http://b/
37002637
Test: export FORCE_BUILD_LLVM_COMPONENTS=true
export FORCE_BUILD_LLVM_DEBUG=true
export FORCE_BUILD_LLVM_DISABLE_NDEBUG=true
mma -j && versioner
Change-Id: Ib610db9e07429aa3f64128eaef6ef555c4d1868e
(cherry picked from commit
8ef9874d564e1de25057817b43a5ef6f5065b458)
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
Change-Id: I0d05fa7e0e116009edf8ea362ab46774bc617cbf
Elliott Hughes [Thu, 6 Apr 2017 17:58:42 +0000 (17:58 +0000)]
Merge "Add support for disabling the greylist." into oc-dev
Hans Boehm [Wed, 5 Apr 2017 00:34:59 +0000 (17:34 -0700)]
Fix compare_exchange_weak tests to allow spurious failure
Test: Ran bionic unit tests on angler.
Bug:
36869788
(cherry picked from commit
590a410d29978016b2a01e8fbedaf17154743b76)
Change-Id: I22c280baa6bc50334765dae043307d21e1e9c930
Elliott Hughes [Fri, 24 Mar 2017 00:42:49 +0000 (17:42 -0700)]
Add support for disabling the greylist.
Useful for testing whether apps have actually stopped using greylisted
libraries even if they still have references to them in their apk to support
old Android releases but also haven't bumped their targetSdkVersion yet.
Since we already have two expensive __system_property_get calls and this
would add a third, optimize two (but leave the third since it's not
obviously amenable to optimization). None of this matters for user builds,
but I don't want userdebug/eng to have distractingly different performance.
Bug: http://b/
36106661
Test: ran "can you escape 5" with and without this property
Change-Id: Id9a804695c1dca9b4be2ebd0e72f01817bb13cba
Neil Fuller [Thu, 30 Mar 2017 17:12:49 +0000 (18:12 +0100)]
Addition of a new system file for time zone data
This file is to replace the time_zones_by_country.xml
file from frameworks/base/core/res/res/xml/
This new file is intended to be updated outside of
an OTA, unlike time_zones_by_country.xml.
The tzlookup.xml file is read by code in libcore, not
frameworks/base.
The format of the file is slightly different from
time_zones_by_country.xml but the information is the
same as the current version. It was generated using
a sed transform and manual coallescing of the
<country> elements / comments:
sed 's/<timezones>$/<timezones>\n <countryzones>/' frameworks/base/core/res/res/xml/time_zones_by_country.xml \
| sed 's/<\/timezones>/ <\/countryzones>\n<\/timezones>/' \
| sed 's/<timezone\( code=\"..\">\)/<country\1\n <id>/g' \
| sed 's/<\/timezone>/<\/id>\n <\/country>/g'
The time_zones_by_country.xml file will be deleted
in a follow up change when the new code is wired into
the code that uses this data.
Test: See associated libcore change that will ensure the file
is kept in sync with tzdata when applying IANA rules
changes.
Bug:
25338903
(cherry picked from commit
108279e9e5be02b15c8000d99ce2e600c0bc97ec)
(cherry picked from commit
7336db761c07539b947de7be5320aa982683b6e5)
Change-Id: I624afca175f49f0836d0c820f0f131ecc4ccb998
Josh Gao [Mon, 3 Apr 2017 22:13:29 +0000 (15:13 -0700)]
Break android_set_abort_message out of libc_logging.
libc_logging is getting statically linked into the crash handler
library, resulting in two copies of the abort message code existing in
processes, one in the linker, and one in the crash handler.
Move android_set_abort_message to its own file to solve this.
Bug: http://b/
36862204
Test: /data/nativetest/debuggerd_test/debuggerd_test32
Change-Id: Ie198c5a3bb07645aa43296915c9a6752693f14a9
(cherry picked from commit
10ec9286ae843b0a84438699458ba17bff2f5602)
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
(cherry picked from commit
d3e7d088453e089b3d625b0864ccdf3c74893f18)
TreeHugger Robot [Sat, 1 Apr 2017 04:18:32 +0000 (04:18 +0000)]
Merge "Refactor sanitized library on-disk layout - bionic." into oc-dev
TreeHugger Robot [Sat, 1 Apr 2017 02:33:27 +0000 (02:33 +0000)]
Merge "Only use environment variables on the host." into oc-dev
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.
(cherry picked from commit
4113def4fa1526f1823549f6cc9cfe4c05964aa3)
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
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.
Bug: http://b/
36807787
Test: ran tests
Change-Id: I0bb7879cc46f194152c67ddaf072cbebb424f789
Paul Lawrence [Thu, 30 Mar 2017 22:24:13 +0000 (15:24 -0700)]
Expand whitelist
Bug:
36726183
Test: Builds, call 90 added to policy
Change-Id: Ib8db1b764ce22aadf8050031d40040dd6c0e669e
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
(cherry picked from commit
eb04ed506fbb0561b677d9518c9bae33f0262b03)
Change-Id: Ie9da1bf4c2dcc23be7d75c739ae8549309813f88
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
(cherry picked from commit
11968b80af5be601b820f261e2e102e5b8ed48c4)
Paul Lawrence [Tue, 28 Mar 2017 02:07:01 +0000 (02:07 +0000)]
Merge "Expose seccomp table" am:
4b43140142 am:
448e702fd3
am:
6ed3b2bd7a
Change-Id: I7e5d34ce6c0feb6c65aa39189684a5f59d3b6679
Paul Lawrence [Tue, 28 Mar 2017 02:02:28 +0000 (02:02 +0000)]
Merge "Expose seccomp table" am:
4b43140142
am:
448e702fd3
Change-Id: I5e315592d49d6417868b8d65189cb9a6b6f56b34
Paul Lawrence [Tue, 28 Mar 2017 01:58:29 +0000 (01:58 +0000)]
Merge "Expose seccomp table"
am:
4b43140142
Change-Id: If4a0e4194e2b15bd2ce3bdc81c078074e462b1f9
Treehugger Robot [Tue, 28 Mar 2017 01:54:12 +0000 (01:54 +0000)]
Merge "Expose seccomp table"
Christopher Ferris [Tue, 28 Mar 2017 01:42:29 +0000 (01:42 +0000)]
Merge "bionic: arm64: generic: strcmp: align to 64B cache line" am:
f785a6cbff am:
08bfbd18f8
am:
4eb034cc35
Change-Id: I83c6ece416f9d8d974fbcd803087e5994217e595
Christopher Ferris [Tue, 28 Mar 2017 01:38:29 +0000 (01:38 +0000)]
Merge "bionic: arm64: generic: strcmp: align to 64B cache line" am:
f785a6cbff
am:
08bfbd18f8
Change-Id: I88de7d71ee04b1ddac2b60489750bd75670003f3
Christopher Ferris [Tue, 28 Mar 2017 01:34:28 +0000 (01:34 +0000)]
Merge "bionic: arm64: generic: strcmp: align to 64B cache line"
am:
f785a6cbff
Change-Id: I3b5b76a6c9a0881c9f82012161254dbd480d062b
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 01:17:57 +0000 (01:17 +0000)]
Merge "Make anonymous namespace isoalted." am:
6b0f17e588 am:
e16a6463d9
am:
a6508f2b15
Change-Id: Ieda4f662c68f5910ee90391dd29cc23c93dbf3eb
Dimitry Ivanov [Tue, 28 Mar 2017 01:13:56 +0000 (01:13 +0000)]
Merge "Make anonymous namespace isoalted." am:
6b0f17e588
am:
e16a6463d9
Change-Id: I07e8c932b5d11dd6f3c14e73a892d245b6c541a8
Dimitry Ivanov [Tue, 28 Mar 2017 01:09:57 +0000 (01:09 +0000)]
Merge "Make anonymous namespace isoalted."
am:
6b0f17e588
Change-Id: Ibecb1efa6b81242ffc1ffc6d5f60a13785fc8578
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
Dimitry Ivanov [Sat, 25 Mar 2017 07:54:42 +0000 (07:54 +0000)]
Merge "Revert "linker: add more directories to default lib paths"" am:
840ae69408 am:
f3ee6cc97c
am:
990c69bd8f
Change-Id: Ic893b80bfc9c4e952145af76a165b86a9bc0800a
Dimitry Ivanov [Sat, 25 Mar 2017 07:52:12 +0000 (07:52 +0000)]
Merge "Revert "linker: add more directories to default lib paths"" am:
840ae69408
am:
f3ee6cc97c
Change-Id: I07a8802053765f3fb914be85927e89eb029b3ff9
Dimitry Ivanov [Sat, 25 Mar 2017 07:49:41 +0000 (07:49 +0000)]
Merge "Revert "linker: add more directories to default lib paths""
am:
840ae69408
Change-Id: I49d120109ead5daa672bf7dff916029828c6b94e
Dimitry Ivanov [Sat, 25 Mar 2017 07:46:18 +0000 (07:46 +0000)]
Merge "Revert "linker: add more directories to default lib paths""
Dimitry Ivanov [Sat, 25 Mar 2017 05:26:12 +0000 (05:26 +0000)]
Merge "Load namespace configuration from ld.config.txt" am:
deca8effd0 am:
b6aeca5280
am:
bbf42e6600
Change-Id: I97d7c42a399b3141ec0249a492a686a3098bda6f
Dimitry Ivanov [Sat, 25 Mar 2017 05:23:40 +0000 (05:23 +0000)]
Merge "Load namespace configuration from ld.config.txt" am:
deca8effd0
am:
b6aeca5280
Change-Id: I7af2e9f35b09ffa93d8be0b5c8543c7ebf3e8d24
Dimitry Ivanov [Sat, 25 Mar 2017 05:21:08 +0000 (05:21 +0000)]
Merge "Load namespace configuration from ld.config.txt"
am:
deca8effd0
Change-Id: Iaf23427acf6a1e5a6336dc43838d1678b364a277
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:10:39 +0000 (23:10 +0000)]
Merge "Disable compat_elf_hash_and_relocation_tables test for x86" am:
fe96db819b am:
72aed61800
am:
75fc414b61
Change-Id: I8215d3ce5dafc49d6b5df9f3d7f1c48dfdef45c5
Dimitry Ivanov [Fri, 24 Mar 2017 23:08:39 +0000 (23:08 +0000)]
Merge "Disable compat_elf_hash_and_relocation_tables test for x86" am:
fe96db819b
am:
72aed61800
Change-Id: I922a143d5cb0c553cc55cf408026fdcb66d9197c
Dimitry Ivanov [Fri, 24 Mar 2017 23:06:39 +0000 (23:06 +0000)]
Merge "Disable compat_elf_hash_and_relocation_tables test for x86"
am:
fe96db819b
Change-Id: I6ff32babeeb514cd00704e797a713ac4149dc868
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
Dimitry Ivanov [Fri, 24 Mar 2017 02:10:53 +0000 (02:10 +0000)]
Merge "loader: stop relying on AT_BASE" am:
ad8dcd6023 am:
bf8290dc7b
am:
21b66ac81c
Change-Id: I205b884e2eab9f5db2331383979d65d222a02810
Dimitry Ivanov [Fri, 24 Mar 2017 02:08:23 +0000 (02:08 +0000)]
Merge "loader: stop relying on AT_BASE" am:
ad8dcd6023
am:
bf8290dc7b
Change-Id: I75b13a6feadb8f69dc37fd94dd17c4111c171c84
Dimitry Ivanov [Fri, 24 Mar 2017 02:06:22 +0000 (02:06 +0000)]
Merge "loader: stop relying on AT_BASE"
am:
ad8dcd6023
Change-Id: Ie7a4ffd40a91d2b87468dc3374414cb4e6bed993
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
Paul Lawrence [Thu, 23 Mar 2017 20:52:25 +0000 (20:52 +0000)]
Merge "Expand whitelist" am:
58df5b2b86 am:
9fd409f56a
am:
30eadf34a5
Change-Id: I52a0943a42216bcde418300a6144bf373f58219b
Paul Lawrence [Thu, 23 Mar 2017 20:49:57 +0000 (20:49 +0000)]
Merge "Expand whitelist" am:
58df5b2b86
am:
9fd409f56a
Change-Id: Ie9afb6f951140b09ed85a1130bffeba6780d9198
Paul Lawrence [Thu, 23 Mar 2017 20:46:25 +0000 (20:46 +0000)]
Merge "Expand whitelist"
am:
58df5b2b86
Change-Id: I58f915835c2b0617c2bc846f2d021ce0747013c1
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:21:20 +0000 (19:21 +0000)]
Merge "Verify at least 2 frames out of signal handler." am:
8f804d71d0 am:
ab39630cef
am:
5412798368
Change-Id: I32762b2ee46209372cc0f15559139d5e1261daab
Christopher Ferris [Thu, 23 Mar 2017 19:18:21 +0000 (19:18 +0000)]
Merge "Verify at least 2 frames out of signal handler." am:
8f804d71d0
am:
ab39630cef
Change-Id: Iec48a7620b79a6a06689068895eee0487ee02c53
Christopher Ferris [Thu, 23 Mar 2017 19:15:50 +0000 (19:15 +0000)]
Merge "Verify at least 2 frames out of signal handler."
am:
8f804d71d0
Change-Id: I101d82f95345ebda7d385142301e5fa3e35daeed
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
Paul Lawrence [Wed, 22 Mar 2017 19:43:55 +0000 (19:43 +0000)]
Merge "Fix problem that we don't block syscalls below min value" am:
4d099d1576 am:
58b8d8c43e
am:
1f90e43573
Change-Id: Ic9096250cb21a28dccaa8d4653159cc52d0fd863
Paul Lawrence [Wed, 22 Mar 2017 19:41:25 +0000 (19:41 +0000)]
Merge "Fix problem that we don't block syscalls below min value" am:
4d099d1576
am:
58b8d8c43e
Change-Id: Iabff94870501f59d94f96fbd9c4f9d35d6867cff
Paul Lawrence [Wed, 22 Mar 2017 19:38:55 +0000 (19:38 +0000)]
Merge "Fix problem that we don't block syscalls below min value"
am:
4d099d1576
Change-Id: Iaa83772727fd8cb4b9468cd7033523afabe6baed
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:21:05 +0000 (13:21 +0000)]
Merge "Update timezone data to 2017b" am:
341bb25a19 am:
a4a0b78e8d
am:
4e363fa091
Change-Id: I86dc46fb4053d2ebba2f4a7e81a16ab99146c6c6
Joachim Sauer [Wed, 22 Mar 2017 13:18:35 +0000 (13:18 +0000)]
Merge "Update timezone data to 2017b" am:
341bb25a19
am:
a4a0b78e8d
Change-Id: I21179fde3482f5512832b4313b08cad4ea04be13
Joachim Sauer [Wed, 22 Mar 2017 13:16:05 +0000 (13:16 +0000)]
Merge "Update timezone data to 2017b"
am:
341bb25a19
Change-Id: Ie617b4613a4faa33ae95d8e610b3f854caa989b8
Joachim Sauer [Wed, 22 Mar 2017 13:11:45 +0000 (13:11 +0000)]
Merge "Update timezone data to 2017b"
Dimitry Ivanov [Tue, 21 Mar 2017 22:26:52 +0000 (22:26 +0000)]
Merge "Add systrace output for dlclose/dlsym calls" am:
5153938e9a am:
314c5b4388
am:
4696a79e83
Change-Id: Ib24f774f79a719b97545ba58b247f70f807f7453
Dimitry Ivanov [Tue, 21 Mar 2017 22:20:22 +0000 (22:20 +0000)]
Merge "Add systrace output for dlclose/dlsym calls" am:
5153938e9a
am:
314c5b4388
Change-Id: I755be26817bdf2dea76ff4c82c1d9d9e659c0bf6
Dimitry Ivanov [Tue, 21 Mar 2017 22:15:51 +0000 (22:15 +0000)]
Merge "Add systrace output for dlclose/dlsym calls"
am:
5153938e9a
Change-Id: I7c9914ae9b309e9c8d0369503546772b2b5b491e
Treehugger Robot [Tue, 21 Mar 2017 22:06:08 +0000 (22:06 +0000)]
Merge "Add systrace output for dlclose/dlsym calls"
Elliott Hughes [Tue, 21 Mar 2017 20:30:14 +0000 (20:30 +0000)]
Merge "POSIX support varies by API level." am:
8ebfc0d3a3 am:
650593498d
am:
f31212fbfe
Change-Id: Id18a10ff4359ba7531ffbf27d725bb381e5fd685
Elliott Hughes [Tue, 21 Mar 2017 20:26:43 +0000 (20:26 +0000)]
Merge "POSIX support varies by API level." am:
8ebfc0d3a3
am:
650593498d
Change-Id: I44846a3cf1fa3b03d33f804079b4037b25506cc2
Elliott Hughes [Tue, 21 Mar 2017 20:22:13 +0000 (20:22 +0000)]
Merge "POSIX support varies by API level."
am:
8ebfc0d3a3
Change-Id: Ifa732c7835620aaf1d12ad9b3a97253fad3f14b3
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:29:11 +0000 (19:29 +0000)]
Merge "pthread barrier and spinlock types should only appear at API level 24." am:
72b6f4fae2 am:
6d60179839
am:
79d88ed706
Change-Id: Ieeaf1db4f62230da8f690dda02ea375b43b6682b
Elliott Hughes [Tue, 21 Mar 2017 19:24:41 +0000 (19:24 +0000)]
Merge "pthread barrier and spinlock types should only appear at API level 24." am:
72b6f4fae2
am:
6d60179839
Change-Id: I28bb0f6829d8d83a6bddda6e66aedc33d788ffe1
Elliott Hughes [Tue, 21 Mar 2017 19:20:41 +0000 (19:20 +0000)]
Merge "pthread barrier and spinlock types should only appear at API level 24."
am:
72b6f4fae2
Change-Id: I497096763a796e0e69643d2240d3608eb169104d
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