OSDN Git Service

android-x86/bionic.git
7 years agoMerge "Support memory alignment tests for string_benchmark.cpp"
Christopher Ferris [Wed, 12 Jul 2017 23:05:36 +0000 (23:05 +0000)]
Merge "Support memory alignment tests for string_benchmark.cpp"
am: 61b7e114dd

Change-Id: I9d30d388d564078169bb89412e27407eeb475962

7 years agoMerge "Support memory alignment tests for string_benchmark.cpp"
Christopher Ferris [Wed, 12 Jul 2017 22:56:13 +0000 (22:56 +0000)]
Merge "Support memory alignment tests for string_benchmark.cpp"

7 years agoSupport memory alignment tests for string_benchmark.cpp
Anders Lewis [Fri, 23 Jun 2017 22:53:59 +0000 (15:53 -0700)]
Support memory alignment tests for string_benchmark.cpp

Test: Manually verify that benchmark times are similar and add a unit test.
Change-Id: Idaaeb4c8c3629f797ffd8d0c86c8d7b7b9653181

7 years agoMerge "Sync with upstream OpenBSD: trivial stuff."
Elliott Hughes [Tue, 11 Jul 2017 21:44:08 +0000 (21:44 +0000)]
Merge "Sync with upstream OpenBSD: trivial stuff."
am: 3537331942

Change-Id: Ibfeadde43d1a0aa446c73f94df9896165c5bcd04

7 years agoMerge "Sync with upstream OpenBSD: trivial stuff."
Treehugger Robot [Tue, 11 Jul 2017 21:34:08 +0000 (21:34 +0000)]
Merge "Sync with upstream OpenBSD: trivial stuff."

7 years agoSync with upstream OpenBSD: trivial stuff.
Elliott Hughes [Tue, 11 Jul 2017 19:34:19 +0000 (12:34 -0700)]
Sync with upstream OpenBSD: trivial stuff.

No active ingredient to any of these changes.

Bug: N/A
Test: builds
Change-Id: Ib1191a5c2826da024245d03dfc57557c8903a6cc

7 years agoMerge "The future passed part of <stdlib.h> by..."
Elliott Hughes [Tue, 11 Jul 2017 19:01:57 +0000 (19:01 +0000)]
Merge "The future passed part of <stdlib.h> by..."
am: 61fcd39e17

Change-Id: I74d796c9fb0d69a1a1242ba78aef9bb5308c4be9

7 years agoMerge "The future passed part of <stdlib.h> by..."
Treehugger Robot [Tue, 11 Jul 2017 18:54:24 +0000 (18:54 +0000)]
Merge "The future passed part of <stdlib.h> by..."

7 years agoMerge "Properly handle elf-files without relocation sections"
dimitry [Tue, 11 Jul 2017 17:48:22 +0000 (17:48 +0000)]
Merge "Properly handle elf-files without relocation sections"
am: fc544af6cb

Change-Id: I653c388e25904800aaba516fd4a7c6118292d7c9

7 years agoMerge "Properly handle elf-files without relocation sections"
Treehugger Robot [Tue, 11 Jul 2017 17:41:13 +0000 (17:41 +0000)]
Merge "Properly handle elf-files without relocation sections"

7 years agoProperly handle elf-files without relocation sections
dimitry [Tue, 11 Jul 2017 14:51:45 +0000 (16:51 +0200)]
Properly handle elf-files without relocation sections

Relocation packer no longer complains about missing
relocation sections.

Test: relocation-packer-unit-tests
Test: mm
Change-Id: I56814be326c15e046db1a96d14568d951f689ae2

7 years agoMerge "sys_ptrace_test: Better detect missing HW support"
Pavel Labath [Tue, 11 Jul 2017 08:17:17 +0000 (08:17 +0000)]
Merge "sys_ptrace_test: Better detect missing HW support"
am: fbefc86310

Change-Id: Idd43ea10d7e91353e33ff9efe0531eed64bd1a31

7 years agoMerge "sys_ptrace_test: Better detect missing HW support"
Treehugger Robot [Tue, 11 Jul 2017 08:10:41 +0000 (08:10 +0000)]
Merge "sys_ptrace_test: Better detect missing HW support"

7 years agoMerge "Move environ valiable into it's own file"
Victor Khimenko [Mon, 10 Jul 2017 22:46:44 +0000 (22:46 +0000)]
Merge "Move environ valiable into it's own file"
am: 73d17e7720

Change-Id: I9b9533f7e3a70aa5b1e917953b51cc73d7881f32

7 years agoMerge "Move environ valiable into it's own file"
Victor Khimenko [Mon, 10 Jul 2017 22:33:54 +0000 (22:33 +0000)]
Merge "Move environ valiable into it's own file"

7 years agoMerge "Make inline tcsetattr definition match constants."
Elliott Hughes [Mon, 10 Jul 2017 20:50:34 +0000 (20:50 +0000)]
Merge "Make inline tcsetattr definition match constants."
am: e76ff925df

Change-Id: Ia6a48c54ac793c510ff2ab5559b920dd84ff02b9

7 years agoMerge "Make inline tcsetattr definition match constants."
Elliott Hughes [Mon, 10 Jul 2017 20:40:53 +0000 (20:40 +0000)]
Merge "Make inline tcsetattr definition match constants."

7 years agoMerge "Undo recent _FILE_OFFSET_BITS=64 changes."
Elliott Hughes [Mon, 10 Jul 2017 20:26:33 +0000 (20:26 +0000)]
Merge "Undo recent _FILE_OFFSET_BITS=64 changes."
am: 6aaa227f74

Change-Id: I5f0cb54e6fa4067b33f8f76a3102263ef7ad5181

7 years agoMerge "Undo recent _FILE_OFFSET_BITS=64 changes."
Treehugger Robot [Mon, 10 Jul 2017 20:20:53 +0000 (20:20 +0000)]
Merge "Undo recent _FILE_OFFSET_BITS=64 changes."

7 years agoMerge "Fix ffs on x86 for old API levels."
Elliott Hughes [Mon, 10 Jul 2017 20:13:32 +0000 (20:13 +0000)]
Merge "Fix ffs on x86 for old API levels."
am: c2828b87ec

Change-Id: I9cb1cfc44be390d4675795359986bba0ed4a02c9

7 years agoMerge "Fix ffs on x86 for old API levels."
Treehugger Robot [Mon, 10 Jul 2017 20:07:01 +0000 (20:07 +0000)]
Merge "Fix ffs on x86 for old API levels."

7 years agoUndo recent _FILE_OFFSET_BITS=64 changes.
Elliott Hughes [Wed, 5 Jul 2017 22:23:50 +0000 (15:23 -0700)]
Undo recent _FILE_OFFSET_BITS=64 changes.

We had several bugs filed saying "if I set _FILE_OFFSET_BITS=64 when
targeting an API < L, various functions are missing". Instead of
saying "yes, they are", we quietly just modified the header files to
expose the non-64-bit variants. This makes no sense. We can't just say
"oh, yeah, we don't have a version of this function that agrees with
your calling code about how large off_t is, but here's a version that
doesn't: I'm sure it'll be fine".

_FILE_OFFSET_BITS=64 on Android LP32 has always been a game of chance,
but that game should be "are all the functions my code needs available
at compile time?", not "will my code actually work at run time?".

Bug: https://github.com/android-ndk/ndk/issues/449
Bug: https://github.com/android-ndk/ndk/issues/442
Bug: https://github.com/android-ndk/ndk/issues/333
Bug: https://github.com/android-ndk/ndk/issues/332
Bug: https://github.com/android-ndk/ndk/issues/324
Test: builds
Change-Id: Ib095251d3e21e77ed50cc3575388107fecec4ecd

7 years agoMove environ valiable into it's own file
Victor Khimenko [Mon, 10 Jul 2017 19:15:37 +0000 (21:15 +0200)]
Move environ valiable into it's own file

Test: build statically the example program below

  char** environ;
  int main() {
  }

Change-Id: I3f01652da1d5063d92ba7cbff7fb09bd0a89325c

7 years agoThe future passed part of <stdlib.h> by...
Elliott Hughes [Mon, 10 Jul 2017 18:51:00 +0000 (11:51 -0700)]
The future passed part of <stdlib.h> by...

Bug: N/A
Test: builds
Change-Id: Ibac3c1abd82838dccd360cb70decb7083401c28e

7 years agosys_ptrace_test: Better detect missing HW support
Pavel Labath [Fri, 7 Jul 2017 10:42:34 +0000 (11:42 +0100)]
sys_ptrace_test: Better detect missing HW support

If the hardware debug support is missing from the CPU, the kernel can
end up in the state where it reports that it supports N(>0) watchpoints,
but the "maximum supported watchpoint size" is zero.

This is not a really sensible API, but it is what we have. I'm going to
speak to folks upstream about whether we can have it report something
more sensible, but that will take a while (if ever).

So, for the time being, detect this situation and treat it as if no
hardware watchtpoints/breakpoints are supported.

Test: bionic-unit-tests --gtest_filter="sys_ptrace.*"
Change-Id: Id6a013c9bec8d8b450b4a36c28431f6b7fd15879
Bug: 63116544

7 years agoMerge "Disable integer_overflow sanitizer in libm."
Ivan Lozano [Fri, 7 Jul 2017 20:12:49 +0000 (20:12 +0000)]
Merge "Disable integer_overflow sanitizer in libm."
am: ddefae7ba9

Change-Id: Ib2a6529ba4390d62d6b0c103da8bd43bb3a8ce92

7 years agoMerge "Disable integer_overflow sanitizer in libm."
Ivan Lozano [Fri, 7 Jul 2017 20:07:20 +0000 (20:07 +0000)]
Merge "Disable integer_overflow sanitizer in libm."

7 years agoMerge "Support building binutils out of the box for x86/x86-64."
Elliott Hughes [Thu, 6 Jul 2017 22:39:41 +0000 (22:39 +0000)]
Merge "Support building binutils out of the box for x86/x86-64."
am: 6c716a155d

Change-Id: Idda74de63a3d03660ac5c336825dfa5b5c4b81d0

7 years agoMerge "Merge "Make <sys/ttydefaults.h> more usable." am: 1de6d0bb8a" into stage-aosp...
Android Build Merger (Role) [Thu, 6 Jul 2017 22:34:03 +0000 (22:34 +0000)]
Merge "Merge "Make <sys/ttydefaults.h> more usable." am: 1de6d0bb8a" into stage-aosp-master

7 years agoMerge "Make <sys/ttydefaults.h> more usable."
Elliott Hughes [Thu, 6 Jul 2017 22:33:54 +0000 (22:33 +0000)]
Merge "Make <sys/ttydefaults.h> more usable."
am: 1de6d0bb8a

Change-Id: Ib24f784a4b5c7f69af4a0bfd17410178a54291bb

7 years agoMerge "Make <sys/ttydefaults.h> more usable."
Elliott Hughes [Thu, 6 Jul 2017 22:33:46 +0000 (22:33 +0000)]
Merge "Make <sys/ttydefaults.h> more usable."
am: 1de6d0bb8a

Change-Id: Id12e3e0847f8c114509f9acd4ef3751c889cae18

7 years agoMerge "Support building binutils out of the box for x86/x86-64."
Elliott Hughes [Thu, 6 Jul 2017 22:33:42 +0000 (22:33 +0000)]
Merge "Support building binutils out of the box for x86/x86-64."

7 years agoMerge "Update <arpa/*> from FreeBSD."
Elliott Hughes [Thu, 6 Jul 2017 22:33:33 +0000 (22:33 +0000)]
Merge "Update <arpa/*> from FreeBSD."
am: 0ff813fb48

Change-Id: I37f5c75e5357d3292b1ab0e6f037771ebe036ba9

7 years agoMerge "Make <sys/ttydefaults.h> more usable."
Elliott Hughes [Thu, 6 Jul 2017 22:20:34 +0000 (22:20 +0000)]
Merge "Make <sys/ttydefaults.h> more usable."

7 years agoDisable integer_overflow sanitizer in libm.
Ivan Lozano [Thu, 6 Jul 2017 20:54:56 +0000 (13:54 -0700)]
Disable integer_overflow sanitizer in libm.

Explicitly disables the integer_overflow sanitizer in the libm library.
This change should not impact any other build targets.

Bug: 30969751
Test: Built with and without SANITIZE_TARGET=integer_overflow
Change-Id: I98d0312344086b01394f456d4b953463b5e6cb1a

7 years agoMerge "Update <arpa/*> from FreeBSD."
Elliott Hughes [Thu, 6 Jul 2017 22:15:04 +0000 (22:15 +0000)]
Merge "Update <arpa/*> from FreeBSD."

7 years agoMerge "Claim to have a POSIX shell and utilities."
Elliott Hughes [Thu, 6 Jul 2017 21:28:40 +0000 (21:28 +0000)]
Merge "Claim to have a POSIX shell and utilities."
am: 4ceefe27e7

Change-Id: If83c6aae722d91e8b3f5a8e50913e9d9e6dd824e

7 years agoMerge "Conditionally expose splice(2) and sync_file_range(2) constants."
Elliott Hughes [Thu, 6 Jul 2017 21:28:24 +0000 (21:28 +0000)]
Merge "Conditionally expose splice(2) and sync_file_range(2) constants."
am: 10c836fe08

Change-Id: Ib8e57dc7d8332d36b606eac506e69d5926e517b8

7 years agoMerge "Fix <dirent.h> d_ino/d_off types."
Elliott Hughes [Thu, 6 Jul 2017 21:28:10 +0000 (21:28 +0000)]
Merge "Fix <dirent.h> d_ino/d_off types."
am: 913ae73395

Change-Id: Iea1f3121dbd310e9b0c51a96005c43723938c90b

7 years agoMerge "Claim to have a POSIX shell and utilities."
Elliott Hughes [Thu, 6 Jul 2017 21:22:20 +0000 (21:22 +0000)]
Merge "Claim to have a POSIX shell and utilities."

7 years agoMerge "Conditionally expose splice(2) and sync_file_range(2) constants."
Elliott Hughes [Thu, 6 Jul 2017 21:21:20 +0000 (21:21 +0000)]
Merge "Conditionally expose splice(2) and sync_file_range(2) constants."

7 years agoMerge "Fix <dirent.h> d_ino/d_off types."
Elliott Hughes [Thu, 6 Jul 2017 21:15:35 +0000 (21:15 +0000)]
Merge "Fix <dirent.h> d_ino/d_off types."

7 years agoSupport building binutils out of the box for x86/x86-64.
Elliott Hughes [Thu, 6 Jul 2017 18:04:15 +0000 (11:04 -0700)]
Support building binutils out of the box for x86/x86-64.

x86 needs the <sys/user.h> additions, x86-64 the <sys/procfs.h> ones.

Bug: N/A
Test: ndkports x86 and x86_64 binutils-2.28
Change-Id: I2e4738d3f8343d12db0536ca77045e2a0ccc6596

7 years agoMake <sys/ttydefaults.h> more usable.
Elliott Hughes [Thu, 6 Jul 2017 17:33:15 +0000 (10:33 -0700)]
Make <sys/ttydefaults.h> more usable.

* TTYDEF_OFLAG referred to the BSD OXTABS constant instead of the Linux XTABS,
  so references to it wouldn't compile.

* CEOL was incorrect (compared to `stty -a`).

* ttydefchars wouldn't compile (removed rather than attempt to fix something
  of unclear utility).

Bug: http://b/63145226
Test: new test
Change-Id: I823e5eaab789cafd2eeea03f77ea553346822f74

7 years agoMerge "The ifdef check for AT_SYSINFO_EHDR is no longer needed"
Dimitry Ivanov [Thu, 6 Jul 2017 15:20:05 +0000 (15:20 +0000)]
Merge "The ifdef check for AT_SYSINFO_EHDR is no longer needed"
am: 9d2d21d636

Change-Id: I00cfa9f85bafb069f3ce029baea71b496e4c9b6e

7 years agoMerge "The ifdef check for AT_SYSINFO_EHDR is no longer needed"
Dimitry Ivanov [Thu, 6 Jul 2017 15:16:03 +0000 (15:16 +0000)]
Merge "The ifdef check for AT_SYSINFO_EHDR is no longer needed"

7 years agoMerge "Bionic: Add ziparchive test dependency"
Andreas Gampe [Thu, 6 Jul 2017 15:00:04 +0000 (15:00 +0000)]
Merge "Bionic: Add ziparchive test dependency"
am: 7b7475ce85

Change-Id: I391591c530b2c33ddb8ace15c98f895e52140c5f

7 years agoMerge "Bionic: Add ziparchive test dependency"
Treehugger Robot [Thu, 6 Jul 2017 14:48:01 +0000 (14:48 +0000)]
Merge "Bionic: Add ziparchive test dependency"

7 years agoThe ifdef check for AT_SYSINFO_EHDR is no longer needed
dimitry [Thu, 6 Jul 2017 10:17:14 +0000 (12:17 +0200)]
The ifdef check for AT_SYSINFO_EHDR is no longer needed

AT_SYSINFO_EHDR is present in all architectures

Test: make
Change-Id: I0f4c115bb48e47ea156e7fca936960f5f10c618e

7 years agoBionic: Add ziparchive test dependency
Andreas Gampe [Thu, 6 Jul 2017 05:36:20 +0000 (22:36 -0700)]
Bionic: Add ziparchive test dependency

Add missing dependency.

Bug: 37342627
Test: m
test: mmma bionic
Change-Id: I43ae69a007f0e8745db5721296f457b3e58206dd

7 years agoClaim to have a POSIX shell and utilities.
Elliott Hughes [Wed, 5 Jul 2017 23:45:55 +0000 (16:45 -0700)]
Claim to have a POSIX shell and utilities.

We pretty much do these days. And apparently some GNU tools turn on obsolete
backwards-compatible behaviors otherwise.

Bug: http://b/63145226
Test: builds
Change-Id: I9a8af860768cc2c10548f172d1e8b4fba3e5115b

7 years agoUpdate <arpa/*> from FreeBSD.
Elliott Hughes [Wed, 5 Jul 2017 22:51:44 +0000 (15:51 -0700)]
Update <arpa/*> from FreeBSD.

We've had <arpa/telnet.h> for years, despite being slightly more useless
than <arpa/ftp.h> and <arpa/tftp.h>. The inetutils package expects these
to be available.

Bug: http://b/63145226
Test: builds
Change-Id: I1e3c7421779e965b3342d681fefb8dc2561b604d

7 years agoConditionally expose splice(2) and sync_file_range(2) constants.
Elliott Hughes [Wed, 5 Jul 2017 22:59:58 +0000 (15:59 -0700)]
Conditionally expose splice(2) and sync_file_range(2) constants.

As in other places, only expose the constants at API levels where
we're also exposing the functions (to cope with "poor man's configure"
where an author assumes the presence of the #define to imply the
availability of the function).

Bug: http://b/63145226
Test: builds
Change-Id: I524f7288513aa6c35479c550e748a619397929b0

7 years agoFix <dirent.h> d_ino/d_off types.
Elliott Hughes [Wed, 5 Jul 2017 19:34:29 +0000 (12:34 -0700)]
Fix <dirent.h> d_ino/d_off types.

Bug: http://b/63336806
Test: builds
Change-Id: I781e7c66c41bcb772d49ce7c23aab185ddd5da1e

7 years agoMake inline tcsetattr definition match constants.
Elliott Hughes [Wed, 5 Jul 2017 19:00:29 +0000 (12:00 -0700)]
Make inline tcsetattr definition match constants.

Before this change we have the old NDK inline termios functions with the
modern constants. Unfortunately the old NDK inline functions relied on
hacking the constants. Fix things by sharing the implementation between
the platform and the NDK headers.

Bug: https://github.com/android-ndk/ndk/issues/441
Test: ran tests
Change-Id: I2773634059530bc954167f29c4783413a2294d5a

7 years agoMerge "Work around missing _Exit in old API levels."
Elliott Hughes [Sat, 1 Jul 2017 15:59:32 +0000 (15:59 +0000)]
Merge "Work around missing _Exit in old API levels."
am: f45bc14d54

Change-Id: I29dcf7229132c304bc55486444decb16813fbe86

7 years agoMerge "Work around missing _Exit in old API levels."
Elliott Hughes [Sat, 1 Jul 2017 15:48:58 +0000 (15:48 +0000)]
Merge "Work around missing _Exit in old API levels."

7 years agoFix ffs on x86 for old API levels.
Elliott Hughes [Fri, 30 Jun 2017 22:57:59 +0000 (15:57 -0700)]
Fix ffs on x86 for old API levels.

<strings.h>'s ffs used to work by accident. In the past, <strings.h> used
to incorrectly declare ffs for all platforms at all API levels. In the
unified headers, there's no such declaration for x86 before API 18 (which
makes sense, because that function was missing on x86 until then).

But as long as there was a declaration for ffs, the compiler just inlined
__builtin_ffs. There was no problem at link time because the compiler didn't
actually add a reference to the missing ffs symbol.

Restore the old behavior by manually instructing the compiler to inline its
builtin in these cases.

Bug: https://github.com/android-ndk/ndk/issues/439
Test: built new NDK 'ffs' test
Change-Id: I840e99f237c86f7cb028a0f67aaa8c6ff3eda245

7 years agoWork around missing _Exit in old API levels.
Elliott Hughes [Fri, 30 Jun 2017 23:39:25 +0000 (16:39 -0700)]
Work around missing _Exit in old API levels.

Rather than do this in libandroid_support, we may as well just stick it with
the other historical stdlib workarounds in bionic itself...

Bug: N/A
Test: built new NDK test
Change-Id: Ia5cf4010581eb79d4adf924e87d0bc050b9e2839

7 years agoMerge "Add version info for C++ versions of basename, strchrnul."
Josh Gao [Fri, 30 Jun 2017 22:40:04 +0000 (22:40 +0000)]
Merge "Add version info for C++ versions of basename, strchrnul."
am: d09f3b67a3

Change-Id: I5742b5917acb4386940b15ce77ee8d4e910671e3

7 years agoMerge "Add version info for C++ versions of basename, strchrnul."
Treehugger Robot [Fri, 30 Jun 2017 22:33:27 +0000 (22:33 +0000)]
Merge "Add version info for C++ versions of basename, strchrnul."

7 years agoAdd version info for C++ versions of basename, strchrnul.
Josh Gao [Fri, 30 Jun 2017 20:20:28 +0000 (13:20 -0700)]
Add version info for C++ versions of basename, strchrnul.

These still won't get guards added by the preprocessor, because it
compiles with C-only.

Bug: https://github.com/android-ndk/ndk/issues/440
Test: treehugger
Change-Id: I893b345e528ed1b761e0db00700037411bbb8b78

7 years agoMerge "Revert "arm64: expand CFI shadow to cover 48-bit virtual addresses""
Roozbeh Pournader [Fri, 30 Jun 2017 01:22:18 +0000 (01:22 +0000)]
Merge "Revert "arm64: expand CFI shadow to cover 48-bit virtual addresses""
am: 1378c8710d

Change-Id: Ida59ed2311fe86f176af3d5d46b556c0d4987647

7 years agoMerge "Revert "arm64: expand CFI shadow to cover 48-bit virtual addresses""
Roozbeh Pournader [Fri, 30 Jun 2017 01:10:10 +0000 (01:10 +0000)]
Merge "Revert "arm64: expand CFI shadow to cover 48-bit virtual addresses""

7 years agoRevert "arm64: expand CFI shadow to cover 48-bit virtual addresses"
Elliott Hughes [Thu, 29 Jun 2017 23:48:43 +0000 (23:48 +0000)]
Revert "arm64: expand CFI shadow to cover 48-bit virtual addresses"

This reverts commit ae735163e51fbc7cac4217ce392c4894efdfc5a7.

QA claims this causes:

  AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.setSurface(android.view.Surface)' on a null object reference
  AndroidRuntime:        at com.android.setupwizardlib....

Bug: http://b/63141434
Change-Id: I05a6849471623d4cde8b254b1020b0ccbd84b699

7 years agoMerge "bionic: fix assorted static analyzer warnings"
George Burgess IV [Thu, 29 Jun 2017 16:34:13 +0000 (16:34 +0000)]
Merge "bionic: fix assorted static analyzer warnings"
am: e202036e03

Change-Id: I88dce02b7f483fb7bc2819406d800d5056c2fc48

7 years agoMerge "bionic: fix assorted static analyzer warnings"
Treehugger Robot [Thu, 29 Jun 2017 16:27:52 +0000 (16:27 +0000)]
Merge "bionic: fix assorted static analyzer warnings"

7 years agoMerge "arm64: expand CFI shadow to cover 48-bit virtual addresses"
Elliott Hughes [Thu, 29 Jun 2017 15:31:39 +0000 (15:31 +0000)]
Merge "arm64: expand CFI shadow to cover 48-bit virtual addresses"
am: 03c379971e

Change-Id: Iaf4266876e8052243668ba9cf1a4dea94ff9dfab

7 years agoMerge "arm64: expand CFI shadow to cover 48-bit virtual addresses"
Elliott Hughes [Thu, 29 Jun 2017 15:23:32 +0000 (15:23 +0000)]
Merge "arm64: expand CFI shadow to cover 48-bit virtual addresses"

7 years agoMerge "Put back more legacy pthread APIs."
Dan Albert [Thu, 29 Jun 2017 00:45:26 +0000 (00:45 +0000)]
Merge "Put back more legacy pthread APIs."
am: fa21a80407

Change-Id: If4d58f388f987f58d9f4b91b7722a28d0f5bf73b

7 years agoMerge "Put back more legacy pthread APIs."
Treehugger Robot [Thu, 29 Jun 2017 00:39:30 +0000 (00:39 +0000)]
Merge "Put back more legacy pthread APIs."

7 years agobionic: fix assorted static analyzer warnings
George Burgess IV [Tue, 27 Jun 2017 23:23:45 +0000 (16:23 -0700)]
bionic: fix assorted static analyzer warnings

Warnings:

bionic/libc/bionic/fts.c:722:5: warning: Null passed to a callee that
requires a non-null 1st parameter

bionic/libc/bionic/sched_cpualloc.c:34:25: warning: Result of 'malloc'
is converted to a pointer of type 'cpu_set_t', which is incompatible
with sizeof operand type 'unsigned long'

bionic/linker/linker_main.cpp:315:7: warning: Access to field 'e_type'
results in a dereference of a null pointer (loaded from variable
'elf_hdr')

bionic/linker/linker_main.cpp:493:66: warning: Access to field 'e_phoff'
results in a dereference of a null pointer (loaded from variable
'elf_hdr')

bionic/linker/linker_main.cpp:90:14: warning: Access to field 'next'
results in a dereference of a null pointer (loaded from variable 'prev')

Bug: None
Test: mma; analyzer warnings are gone. CtsBionicTestCases pass.
Change-Id: I699a60c2c6f64c50b9ea06848a680c98a8abb44a

7 years agoarm64: expand CFI shadow to cover 48-bit virtual addresses
Kevin Brodsky [Mon, 26 Jun 2017 10:46:02 +0000 (11:46 +0100)]
arm64: expand CFI shadow to cover 48-bit virtual addresses

Starting from Linux 4.7, arm64's defconfig enables 48-bit VAs, see:
https://git.kernel.org/torvalds/c/211102d8

On arm64, the CFI shadow configuration currently assumes that VAs
are 39-bit long, and as expected this results in a segfault on a
(defconfig) 4.7+ kernel, when linking a CFI-enabled library.

Consequently, this change increases the max target address to
account for the new max VA size.

Change-Id: I3fb808563fa77a457c65e9663da0613117332072

7 years agoMerge "Enable dlfcn.dt_runpath_absolute_path in glibc tests"
Dimitry Ivanov [Tue, 27 Jun 2017 19:56:24 +0000 (19:56 +0000)]
Merge "Enable dlfcn.dt_runpath_absolute_path in glibc tests"
am: 291e895b37

Change-Id: Id8ced96e8189dce17a1636aa30effbbb65121df2

7 years agoMerge "Enable dlfcn.dt_runpath_absolute_path in glibc tests"
Treehugger Robot [Tue, 27 Jun 2017 19:46:28 +0000 (19:46 +0000)]
Merge "Enable dlfcn.dt_runpath_absolute_path in glibc tests"

7 years agoEnable dlfcn.dt_runpath_absolute_path in glibc tests
Dimitry Ivanov [Tue, 27 Jun 2017 18:02:51 +0000 (11:02 -0700)]
Enable dlfcn.dt_runpath_absolute_path in glibc tests

dlfcn.dt_runpath_absolute_path no longer fails when
running bionic-unit-tests on glibc

Bug: http://b/25320359
Test: bionic-unit-tests-glibc --gtest_filter=dlfcn.dt*
Change-Id: Ia0ecf43293cb0fed28516fd8cb87e7f5f2d6e648

7 years agoExpand Seccomp whitelist
Paul Lawrence [Fri, 23 Jun 2017 19:34:18 +0000 (19:34 +0000)]
Expand Seccomp whitelist
am: c0c56ec7ce

Change-Id: I1a805666d3e1ac2d6a5f8d824ffdfa44fa12b6fd

7 years agoExpand Seccomp whitelist
Paul Lawrence [Fri, 23 Jun 2017 15:10:18 +0000 (08:10 -0700)]
Expand Seccomp whitelist

This seccomp failure is in the fault handler:

05-25 12:03:25.042 10201 27425 27425 F DEBUG   : backtrace:
05-25 12:03:25.042 10201 27425 27425 F DEBUG   :     #00 pc 00015380
/data/data/redacted/files/storage/lib/libcrashsdk.so

So whenever an app using this crash sdk crashes it looks like a seccomp
problem.  Fixing this won't stop the apps crashing, but will make the
crash reports accurate and useful.

So yes, the bug below is already fixed, but this issue has come back 2
or 3 times with different apps (b/62090571, b/62874867). This change
doesn't fix that crash either, but again it improves the reporting.

Bug: 62947697
Test: Device boots, app still fails but no longer with SECCOMP error
Change-Id: Ie0f8dc965001c8bc43f6a545b35bdcd38f006213

7 years agoMerge "Expand Seccomp whitelist" am: 82d746fb39
Paul Lawrence [Fri, 23 Jun 2017 17:49:29 +0000 (17:49 +0000)]
Merge "Expand Seccomp whitelist" am: 82d746fb39
am: 7b10c361cd

Change-Id: Id74bec1070f30129dac6db0817617fbd005708d4

7 years agoMerge "Expand Seccomp whitelist"
Paul Lawrence [Fri, 23 Jun 2017 17:44:29 +0000 (17:44 +0000)]
Merge "Expand Seccomp whitelist"
am: 82d746fb39

Change-Id: Icf85aa19e6e13dac32f16fb10f0f9140c435db25

7 years agoMerge "Expand Seccomp whitelist"
Treehugger Robot [Fri, 23 Jun 2017 17:39:05 +0000 (17:39 +0000)]
Merge "Expand Seccomp whitelist"

7 years agoExpand Seccomp whitelist
Paul Lawrence [Fri, 23 Jun 2017 15:10:18 +0000 (08:10 -0700)]
Expand Seccomp whitelist

This seccomp failure is in the fault handler:

05-25 12:03:25.042 10201 27425 27425 F DEBUG   : backtrace:
05-25 12:03:25.042 10201 27425 27425 F DEBUG   :     #00 pc 00015380
/data/data/redacted/files/storage/lib/libcrashsdk.so

So whenever an app using this crash sdk crashes it looks like a seccomp
problem.  Fixing this won't stop the apps crashing, but will make the
crash reports accurate and useful.

So yes, the bug below is already fixed, but this issue has come back 2
or 3 times with different apps (latest is b/62874867). This change
doesn't fix that crash either, but again it improves the reporting.

Bug: 62090571
Test: Device boots, app still fails but no longer with SECCOMP error
Change-Id: Ie0f8dc965001c8bc43f6a545b35bdcd38f006213

7 years agoWhitelist __NR__newselect.
Josh Gao [Fri, 23 Jun 2017 06:16:37 +0000 (06:16 +0000)]
Whitelist __NR__newselect.
am: d87e5aa769  -s ours

Change-Id: I3748023b2c7548c04897796d5f742cc34561066a

7 years agoWhitelist __NR__newselect.
Josh Gao [Thu, 22 Jun 2017 23:46:19 +0000 (16:46 -0700)]
Whitelist __NR__newselect.

Bug: http://b/62779795
Test: treehugger
Merged-In: I3e0279385641d4f06fcdeb955819a01c12c5229e
Change-Id: I3e0279385641d4f06fcdeb955819a01c12c5229e
(cherry picked from commit c45b5881121f9c3af50af3f76113b09d0144f60d)

7 years agoMerge "Whitelist __NR__newselect." am: 8916a91eb3
Josh Gao [Fri, 23 Jun 2017 01:52:44 +0000 (01:52 +0000)]
Merge "Whitelist __NR__newselect." am: 8916a91eb3
am: d1adcafac5

Change-Id: Ibc7b3bab35a87d140e23989000705192d5d163c1

7 years agoMerge "Whitelist __NR__newselect."
Josh Gao [Fri, 23 Jun 2017 01:48:13 +0000 (01:48 +0000)]
Merge "Whitelist __NR__newselect."
am: 8916a91eb3

Change-Id: Ie07938543342cfadf6d275179cd920e792d22c69

7 years agoMerge "Whitelist __NR__newselect."
Treehugger Robot [Fri, 23 Jun 2017 01:39:07 +0000 (01:39 +0000)]
Merge "Whitelist __NR__newselect."

7 years agoWhitelist __NR__newselect.
Josh Gao [Thu, 22 Jun 2017 23:46:19 +0000 (16:46 -0700)]
Whitelist __NR__newselect.

Bug: http://b/62779795
Test: treehugger
Change-Id: I3e0279385641d4f06fcdeb955819a01c12c5229e

7 years agoPut back more legacy pthread APIs.
Dan Albert [Thu, 22 Jun 2017 19:40:55 +0000 (12:40 -0700)]
Put back more legacy pthread APIs.

Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/423
Bug: https://stackoverflow.com/q/44580542/632035
Change-Id: Ibf52a969afffbfcdf6793a0bf8b0e10bbdd1f32c

7 years agoMerge "Disable stack protector for __libc_preinit" am: 814e3a2b31
Stephen Crane [Thu, 22 Jun 2017 01:47:27 +0000 (01:47 +0000)]
Merge "Disable stack protector for __libc_preinit" am: 814e3a2b31
am: aca18a3d3a

Change-Id: Id1d3447b37dd37aec7d82c757eb87b2cc1fe2d08

7 years agoMerge "Disable stack protector for __libc_preinit"
Stephen Crane [Thu, 22 Jun 2017 01:44:24 +0000 (01:44 +0000)]
Merge "Disable stack protector for __libc_preinit"
am: 814e3a2b31

Change-Id: Ib42e698b0a46eb5b7e34c11989ed5de6e486b6f0

7 years agoMerge "Disable stack protector for __libc_preinit"
Treehugger Robot [Thu, 22 Jun 2017 01:40:04 +0000 (01:40 +0000)]
Merge "Disable stack protector for __libc_preinit"

7 years agoDisable stack protector for __libc_preinit
Stephen Crane [Tue, 9 May 2017 21:27:43 +0000 (14:27 -0700)]
Disable stack protector for __libc_preinit

__libc_preinit sets up the stack protector global cookie value, and thus
cannot intialize a stack protector cookie for itself in the function
prologue. LTO compilation can inline functions requiring a stack
protector into __libc_preinit. This patch disables stack protection for
__libc_preinit and forces all potentially inlined functions into a
helper that can have a stack protector.

Test: run bionic-unit-tests

Change-Id: I45911611190f216c91eb6feff722967214c5f99f

7 years agoMerge "Shave a stack frame off asserts." am: d411524609
Elliott Hughes [Wed, 21 Jun 2017 15:18:13 +0000 (15:18 +0000)]
Merge "Shave a stack frame off asserts." am: d411524609
am: cac1073a7e

Change-Id: Id2ece1360c4c221de549fc5a1da4826278aa2205

7 years agoMerge "Shave a stack frame off asserts."
Elliott Hughes [Wed, 21 Jun 2017 15:15:38 +0000 (15:15 +0000)]
Merge "Shave a stack frame off asserts."
am: d411524609

Change-Id: I9d9186af141857ac140ba77b55c47de361960059

7 years agoMerge "Shave a stack frame off asserts."
Elliott Hughes [Wed, 21 Jun 2017 15:09:53 +0000 (15:09 +0000)]
Merge "Shave a stack frame off asserts."

7 years agoMerge "Shave another uninteresting stack frame off aborts." am: e300bf837f
Elliott Hughes [Wed, 21 Jun 2017 00:32:19 +0000 (00:32 +0000)]
Merge "Shave another uninteresting stack frame off aborts." am: e300bf837f
am: 14dddaef5a

Change-Id: I364afd38ee1112cac0bc30232bdb43e4f31c0e17

7 years agoShave a stack frame off asserts.
Elliott Hughes [Wed, 21 Jun 2017 00:28:42 +0000 (17:28 -0700)]
Shave a stack frame off asserts.

No-one cares about seeing "async_safe_fatal" (which you have to admit is a
pretty confusing name for an app developer anyway).

On arm:

     #00 pc 0001a43c  /system/lib/libc.so (abort+63)
     #01 pc 0001a627  /system/lib/libc.so (__assert+14)

And aarch64:

     #00 pc 000000000001d75c  /system/lib64/libc.so (abort+120)
     #01 pc 000000000001dad0  /system/lib64/libc.so (__assert+44)

Bug: N/A
Test: ran `crasher assert` and `crasher64 assert`
Change-Id: I00be71c566c74cdb00f8e95d634777155bc3da03

7 years agoMerge "Shave another uninteresting stack frame off aborts."
Elliott Hughes [Wed, 21 Jun 2017 00:27:49 +0000 (00:27 +0000)]
Merge "Shave another uninteresting stack frame off aborts."
am: e300bf837f

Change-Id: If74afdc8ec90ca6470db461ba7e7811f915bb1e1

7 years agoMerge "Shave another uninteresting stack frame off aborts."
Treehugger Robot [Wed, 21 Jun 2017 00:20:33 +0000 (00:20 +0000)]
Merge "Shave another uninteresting stack frame off aborts."