OSDN Git Service

android-x86/bionic.git
7 years agoMerge "loader: enable loading libraries from tmpfs" into oc-dev
TreeHugger Robot [Fri, 21 Apr 2017 23:39:18 +0000 (23:39 +0000)]
Merge "loader: enable loading libraries from tmpfs" into oc-dev

7 years agoloader: 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

7 years agoThe future is now.
Josh Gao [Thu, 20 Apr 2017 19:58:31 +0000 (12:58 -0700)]
The future is now.

__INTRODUCED_IN_FUTURE -> __INTRODUCED_IN(26)

Bug: http://b/37437368
Test: treehugger
Change-Id: I601a23da83b65a0cd582cc840ed3856a9031b673

7 years agoAdd syscalls that aren't currently used to the seccomp whitelist.
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
(cherry picked from commit de9262e5c5f12b45516e19b66a4e3fc5d6edc5a1)

7 years agolibc: fix typo in __RENAME macro
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

7 years agoUn-deprecated __system_property_find_nth.
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

7 years agoAdd seccomp blacklist, and exclude swap functions
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

7 years agoMerge "Restore __system_property_find_nth version" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 03:20:02 +0000 (03:20 +0000)]
Merge "Restore __system_property_find_nth version" into oc-dev

7 years agoRestore __system_property_find_nth version
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

7 years agoMerge "Don't let missing Treble property context files affect errno." into oc-dev
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

7 years agoMerge "The workaround for apps using older version of soinfos" 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

7 years agoDon't let missing Treble property context files affect errno.
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

7 years agoThe workaround for apps using older version of soinfos
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

7 years agoMark 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
Merged-In: I7db0cccfe94d144f072e7cef23832884f3c066f0
Change-Id: I7db0cccfe94d144f072e7cef23832884f3c066f0

7 years agoRemove .(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
Change-Id: Ibfe4cf5db732d9007b1cc12dbc523c427de1b23d

7 years agoMerge "Build the versioner even on unbundled branches." into oc-dev
Steven Moreland [Mon, 10 Apr 2017 15:30:01 +0000 (15:30 +0000)]
Merge "Build the versioner even on unbundled branches." into oc-dev

7 years agoBuild the versioner even on unbundled branches.
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)

7 years agoAdd LLNDK stub libraries for the VNDK
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)

7 years agoRevert "Revert "Run the versioner as part of the build.""
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

7 years agoMerge "versioner: fix LLVM assertion failure." into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 02:39:06 +0000 (02:39 +0000)]
Merge "versioner: fix LLVM assertion failure." into oc-dev

7 years agoversioner: fix LLVM assertion failure.
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)

7 years agolinker: add android_get_exported_namespace
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

7 years agoMerge "Add support for disabling the greylist." into oc-dev
Elliott Hughes [Thu, 6 Apr 2017 17:58:42 +0000 (17:58 +0000)]
Merge "Add support for disabling the greylist." into oc-dev

7 years agoFix compare_exchange_weak tests to allow spurious failure
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

7 years agoAdd support for disabling the greylist.
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

7 years agoAddition of a new system file for time zone data
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

7 years agoBreak android_set_abort_message out of libc_logging.
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)

7 years agoFix lookup logic for linked namespaces
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)

7 years agoMerge "Refactor sanitized library on-disk layout - bionic." into oc-dev
TreeHugger Robot [Sat, 1 Apr 2017 04:18:32 +0000 (04:18 +0000)]
Merge "Refactor sanitized library on-disk layout - bionic." into oc-dev

7 years agoMerge "Only use environment variables on the host." 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

7 years agoRefactor sanitized library on-disk layout - bionic.
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

7 years agoOnly 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.

Bug: http://b/36807787
Test: ran tests
Change-Id: I0bb7879cc46f194152c67ddaf072cbebb424f789

7 years agoExpand whitelist
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

7 years agoFix x86 system calls made from ELF preinit.
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

7 years agolinker: 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
(cherry picked from commit 11968b80af5be601b820f261e2e102e5b8ed48c4)

7 years agoMerge "Expose seccomp table" am: 4b43140142 am: 448e702fd3
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

7 years agoMerge "Expose seccomp table" am: 4b43140142
Paul Lawrence [Tue, 28 Mar 2017 02:02:28 +0000 (02:02 +0000)]
Merge "Expose seccomp table" am: 4b43140142
am: 448e702fd3

Change-Id: I5e315592d49d6417868b8d65189cb9a6b6f56b34

7 years agoMerge "Expose seccomp table"
Paul Lawrence [Tue, 28 Mar 2017 01:58:29 +0000 (01:58 +0000)]
Merge "Expose seccomp table"
am: 4b43140142

Change-Id: If4a0e4194e2b15bd2ce3bdc81c078074e462b1f9

7 years agoMerge "Expose seccomp table"
Treehugger Robot [Tue, 28 Mar 2017 01:54:12 +0000 (01:54 +0000)]
Merge "Expose seccomp table"

7 years agoMerge "bionic: arm64: generic: strcmp: align to 64B cache line" am: f785a6cbff am...
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

7 years agoMerge "bionic: arm64: generic: strcmp: align to 64B cache line" am: f785a6cbff
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

7 years agoMerge "bionic: arm64: generic: strcmp: align to 64B cache line"
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

7 years agoMerge "bionic: arm64: generic: strcmp: align to 64B cache line"
Christopher Ferris [Tue, 28 Mar 2017 01:27:17 +0000 (01:27 +0000)]
Merge "bionic: arm64: generic: strcmp: align to 64B cache line"

7 years agoMerge "Make anonymous namespace isoalted." am: 6b0f17e588 am: e16a6463d9
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

7 years agoMerge "Make anonymous namespace isoalted." am: 6b0f17e588
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

7 years agoMerge "Make anonymous namespace isoalted."
Dimitry Ivanov [Tue, 28 Mar 2017 01:09:57 +0000 (01:09 +0000)]
Merge "Make anonymous namespace isoalted."
am: 6b0f17e588

Change-Id: Ibecb1efa6b81242ffc1ffc6d5f60a13785fc8578

7 years agoMerge "Make anonymous namespace isoalted."
Dimitry Ivanov [Tue, 28 Mar 2017 00:59:08 +0000 (00:59 +0000)]
Merge "Make anonymous namespace isoalted."

7 years agoExpose seccomp table
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

7 years agoMake anonymous namespace isoalted.
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

7 years agoMerge "Revert "linker: add more directories to default lib paths"" am: 840ae69408...
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

7 years agoMerge "Revert "linker: add more directories to default lib paths"" am: 840ae69408
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

7 years agoMerge "Revert "linker: add more directories to default lib paths""
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

7 years agoMerge "Revert "linker: add more directories to default lib paths""
Dimitry Ivanov [Sat, 25 Mar 2017 07:46:18 +0000 (07:46 +0000)]
Merge "Revert "linker: add more directories to default lib paths""

7 years agoMerge "Load namespace configuration from ld.config.txt" am: deca8effd0 am: b6aeca5280
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

7 years agoMerge "Load namespace configuration from ld.config.txt" am: deca8effd0
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

7 years agoMerge "Load namespace configuration from ld.config.txt"
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

7 years agoMerge "Load namespace configuration from ld.config.txt"
Treehugger Robot [Sat, 25 Mar 2017 05:17:31 +0000 (05:17 +0000)]
Merge "Load namespace configuration from ld.config.txt"

7 years agoMerge "Disable compat_elf_hash_and_relocation_tables test for x86" am: fe96db819b...
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

7 years agoMerge "Disable compat_elf_hash_and_relocation_tables test for x86" am: fe96db819b
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

7 years agoMerge "Disable compat_elf_hash_and_relocation_tables test for x86"
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

7 years agoMerge "Disable compat_elf_hash_and_relocation_tables test for x86"
Dimitry Ivanov [Fri, 24 Mar 2017 23:02:54 +0000 (23:02 +0000)]
Merge "Disable compat_elf_hash_and_relocation_tables test for x86"

7 years agoLoad namespace configuration from ld.config.txt
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

7 years agoDisable compat_elf_hash_and_relocation_tables test for x86
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

7 years agoMerge "loader: stop relying on AT_BASE" am: ad8dcd6023 am: bf8290dc7b
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

7 years agoMerge "loader: stop relying on AT_BASE" am: ad8dcd6023
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

7 years agoMerge "loader: stop relying on AT_BASE"
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

7 years agoMerge "loader: stop relying on AT_BASE"
Treehugger Robot [Fri, 24 Mar 2017 02:03:57 +0000 (02:03 +0000)]
Merge "loader: stop relying on AT_BASE"

7 years agoloader: 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

7 years agoMerge "Expand whitelist" am: 58df5b2b86 am: 9fd409f56a
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

7 years agoMerge "Expand whitelist" am: 58df5b2b86
Paul Lawrence [Thu, 23 Mar 2017 20:49:57 +0000 (20:49 +0000)]
Merge "Expand whitelist" am: 58df5b2b86
am: 9fd409f56a

Change-Id: Ie9afb6f951140b09ed85a1130bffeba6780d9198

7 years agoMerge "Expand whitelist"
Paul Lawrence [Thu, 23 Mar 2017 20:46:25 +0000 (20:46 +0000)]
Merge "Expand whitelist"
am: 58df5b2b86

Change-Id: I58f915835c2b0617c2bc846f2d021ce0747013c1

7 years agoMerge "Expand whitelist"
Treehugger Robot [Thu, 23 Mar 2017 20:41:34 +0000 (20:41 +0000)]
Merge "Expand whitelist"

7 years agoExpand whitelist
Paul Lawrence [Thu, 23 Mar 2017 19:20:00 +0000 (12:20 -0700)]
Expand whitelist

Bug: 36449658
Test: Builds
Change-Id: I610da03e7a3cede218d1657f53797ab72cbdf317

7 years agoMerge "Verify at least 2 frames out of signal handler." am: 8f804d71d0 am: ab39630cef
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

7 years agoMerge "Verify at least 2 frames out of signal handler." am: 8f804d71d0
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

7 years agoMerge "Verify at least 2 frames out of signal handler."
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

7 years agoMerge "Verify at least 2 frames out of signal handler."
Christopher Ferris [Thu, 23 Mar 2017 19:12:20 +0000 (19:12 +0000)]
Merge "Verify at least 2 frames out of signal handler."

7 years agoVerify 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

7 years agoMerge "Fix problem that we don't block syscalls below min value" am: 4d099d1576 am...
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

7 years agoMerge "Fix problem that we don't block syscalls below min value" am: 4d099d1576
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

7 years agoMerge "Fix problem that we don't block syscalls below min value"
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

7 years agoMerge "Fix problem that we don't block syscalls below min value"
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"

7 years agoFix 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

7 years agoMerge "Update timezone data to 2017b" am: 341bb25a19 am: a4a0b78e8d
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

7 years agoMerge "Update timezone data to 2017b" am: 341bb25a19
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

7 years agoMerge "Update timezone data to 2017b"
Joachim Sauer [Wed, 22 Mar 2017 13:16:05 +0000 (13:16 +0000)]
Merge "Update timezone data to 2017b"
am: 341bb25a19

Change-Id: Ie617b4613a4faa33ae95d8e610b3f854caa989b8

7 years agoMerge "Update timezone data to 2017b"
Joachim Sauer [Wed, 22 Mar 2017 13:11:45 +0000 (13:11 +0000)]
Merge "Update timezone data to 2017b"

7 years agoMerge "Add systrace output for dlclose/dlsym calls" am: 5153938e9a am: 314c5b4388
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

7 years agoMerge "Add systrace output for dlclose/dlsym calls" am: 5153938e9a
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

7 years agoMerge "Add systrace output for dlclose/dlsym calls"
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

7 years agoMerge "Add systrace output for dlclose/dlsym calls"
Treehugger Robot [Tue, 21 Mar 2017 22:06:08 +0000 (22:06 +0000)]
Merge "Add systrace output for dlclose/dlsym calls"

7 years agoMerge "POSIX support varies by API level." am: 8ebfc0d3a3 am: 650593498d
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

7 years agoMerge "POSIX support varies by API level." am: 8ebfc0d3a3
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

7 years agoMerge "POSIX support varies by API level."
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

7 years agoMerge "POSIX support varies by API level."
Treehugger Robot [Tue, 21 Mar 2017 20:11:35 +0000 (20:11 +0000)]
Merge "POSIX support varies by API level."

7 years agoMerge "pthread barrier and spinlock types should only appear at API level 24." am...
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

7 years agoMerge "pthread barrier and spinlock types should only appear at API level 24." am...
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

7 years agoMerge "pthread barrier and spinlock types should only appear at API level 24."
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

7 years agoMerge "pthread barrier and spinlock types should only appear at API level 24."
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."

7 years agoPOSIX support varies by API level.
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