OSDN Git Service

android-x86/bionic.git
7 years agoMerge "Revert "Bionic loader is no longer hijacking libdl.so""
Treehugger Robot [Tue, 6 Dec 2016 03:48:18 +0000 (03:48 +0000)]
Merge "Revert "Bionic loader is no longer hijacking libdl.so""

7 years agoRevert "Bionic loader is no longer hijacking libdl.so"
Andreas Gampe [Tue, 6 Dec 2016 02:10:13 +0000 (02:10 +0000)]
Revert "Bionic loader is no longer hijacking libdl.so"

This reverts commit c12acef96bd80c419654e159e1dc24a69513a86d.

Breaks the Mips build.

Bug: 27106625
Change-Id: I27edb7114065c36e1b618e387530d58189cdb184

7 years agoMerge "Document how to run CTS in the public documentation too."
Treehugger Robot [Mon, 5 Dec 2016 23:19:45 +0000 (23:19 +0000)]
Merge "Document how to run CTS in the public documentation too."

7 years agoDocument how to run CTS in the public documentation too.
Elliott Hughes [Fri, 2 Dec 2016 21:22:21 +0000 (13:22 -0800)]
Document how to run CTS in the public documentation too.

Bug: N/A
Test: N/A
Change-Id: Ib9f46d09b56795d5202ec7167328042381cdc667

7 years agoMerge "Bionic loader is no longer hijacking libdl.so"
Treehugger Robot [Mon, 5 Dec 2016 21:31:49 +0000 (21:31 +0000)]
Merge "Bionic loader is no longer hijacking libdl.so"

7 years agoMerge "Remove all system properties references"
Treehugger Robot [Mon, 5 Dec 2016 21:12:41 +0000 (21:12 +0000)]
Merge "Remove all system properties references"

7 years agoBionic loader is no longer hijacking libdl.so
Dimitry Ivanov [Wed, 23 Nov 2016 00:55:25 +0000 (16:55 -0800)]
Bionic loader is no longer hijacking libdl.so

Do not hijack libdl.so methods but make libdl proxy calls to
loader instead. This will be replaces by calls to libc.so
once loader functionality is migrated.

Also add a lock to dl_unwind_find_exidx function call.

Test: bionic-unit-tests --gtest_filter=dl*:Dl*
Bug: http://b/27106625
Change-Id: I9e666e771e4bbca52151cfa7fc4c8677e1480818

7 years agoRemove all system properties references
Erik Kline [Mon, 5 Dec 2016 01:42:12 +0000 (10:42 +0900)]
Remove all system properties references

Test: as follows
    - build
    - flash
    - runtest -x system/netd/tests/netd_integration_test.cpp
Bug: 33308258
Change-Id: I59526cb91e91b35a63ba6b413d444712568463e4

7 years agoMerge "Remove obsolete #include and comment."
Treehugger Robot [Mon, 5 Dec 2016 00:01:34 +0000 (00:01 +0000)]
Merge "Remove obsolete #include and comment."

7 years agoRemove obsolete #include and comment.
Elliott Hughes [Sat, 3 Dec 2016 01:43:34 +0000 (17:43 -0800)]
Remove obsolete #include and comment.

Bug: http://b/33308258
Test: builds
Change-Id: Id6bbdae536a12134899fa57ea799f488d018db00

7 years agoMerge "Don't flush the per-netid cache when adding nameservers."
Treehugger Robot [Fri, 2 Dec 2016 23:55:54 +0000 (23:55 +0000)]
Merge "Don't flush the per-netid cache when adding nameservers."

7 years agoMerge "Fix wcsto* where strings begin with whitespace."
Treehugger Robot [Fri, 2 Dec 2016 23:04:04 +0000 (23:04 +0000)]
Merge "Fix wcsto* where strings begin with whitespace."

7 years agoFix wcsto* where strings begin with whitespace.
Dan Albert [Fri, 2 Dec 2016 20:02:03 +0000 (12:02 -0800)]
Fix wcsto* where strings begin with whitespace.

The libc++ tests caught this.

Test: adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests
Bug: None
Change-Id: I14864e006f6cf9de3f96acac6aa3eb235894f2b1

7 years agoMerge "Fix unistd.execvpe_ENOEXEC and unistd.execvpe_failure."
Treehugger Robot [Fri, 2 Dec 2016 02:59:33 +0000 (02:59 +0000)]
Merge "Fix unistd.execvpe_ENOEXEC and unistd.execvpe_failure."

7 years agoFix unistd.execvpe_ENOEXEC and unistd.execvpe_failure.
Elliott Hughes [Fri, 2 Dec 2016 01:12:49 +0000 (17:12 -0800)]
Fix unistd.execvpe_ENOEXEC and unistd.execvpe_failure.

These passed when run directly (as root) but failed in CTS' more restricted
environment.

Bug: http://b/33270012
Test: ran CTS tests
Change-Id: Iccb407769fe356c30d52a0a99fff11862134a250

7 years agoDon't flush the per-netid cache when adding nameservers.
Erik Kline [Tue, 8 Nov 2016 09:06:57 +0000 (18:06 +0900)]
Don't flush the per-netid cache when adding nameservers.

This wasn't really necessary in the >= Lollipop architecture.

Test: netd_integration_test fails (fixing separately)
Bug: 32517984
Change-Id: I8115bfe913ae6609f64b55161a1c8e28ce2619cf

7 years agoMerge "Disable coverage sanitizer when address sanitizer is disabled on libm."
Treehugger Robot [Thu, 1 Dec 2016 16:18:28 +0000 (16:18 +0000)]
Merge "Disable coverage sanitizer when address sanitizer is disabled on libm."

7 years agoDisable coverage sanitizer when address sanitizer is disabled on libm.
Stephen Hines [Thu, 1 Dec 2016 10:23:13 +0000 (02:23 -0800)]
Disable coverage sanitizer when address sanitizer is disabled on libm.

Test: Built bullhead with SANITIZE_TARGET="address coverage".
Change-Id: I9a8f9f42b3b8fdff6c5ff41ddd42a60c04f85a27

7 years agoMerge "Clean up <sys/limits.h> a bit."
Elliott Hughes [Thu, 1 Dec 2016 03:08:44 +0000 (03:08 +0000)]
Merge "Clean up <sys/limits.h> a bit."

7 years agoMerge "Abort harder."
Elliott Hughes [Wed, 30 Nov 2016 23:06:26 +0000 (23:06 +0000)]
Merge "Abort harder."

7 years agoMerge changes Iade6a185,Iab3050bd
Evgenii Stepanov [Wed, 30 Nov 2016 21:34:04 +0000 (21:34 +0000)]
Merge changes Iade6a185,Iab3050bd

* changes:
  Cleanup: replace sanitize:never with address:false.
  Add __libc_arc4random_unlimited_entropy.

7 years agoMerge "Ship all the UAPI bits."
Treehugger Robot [Wed, 30 Nov 2016 19:43:29 +0000 (19:43 +0000)]
Merge "Ship all the UAPI bits."

7 years agoMerge "Correct the return types of readv and writev."
Treehugger Robot [Wed, 30 Nov 2016 19:26:05 +0000 (19:26 +0000)]
Merge "Correct the return types of readv and writev."

7 years agoClean up <sys/limits.h> a bit.
Elliott Hughes [Wed, 30 Nov 2016 02:06:34 +0000 (18:06 -0800)]
Clean up <sys/limits.h> a bit.

<sys/limits.h> shouldn't even exist, but leave it in for backwards
compatibility.

Everything that seems legit moves to <limits.h>, though it still seems
like a lot of that ought to come from the compiler instead (there's even
an angry rant in the clang header to that effect).

Unfortunately, we've long exposed [a copy and paste of] the contents
of <float.h> from <limits.h> and <sys/limits.h>. This patch preserves
that for backwards compatibility, but at least switches us over to
using the real <float.h> instead.

Bug: http://b/32776472
Test: builds
Change-Id: I2d5b3b5237b3a0442195e99bb967c076ce484f35

7 years agoMerge "Update timezone data to 2016j"
Neil Fuller [Wed, 30 Nov 2016 11:16:38 +0000 (11:16 +0000)]
Merge "Update timezone data to 2016j"

7 years agoAbort harder.
Elliott Hughes [Wed, 30 Nov 2016 00:59:26 +0000 (16:59 -0800)]
Abort harder.

Some PoS internal system can't cope with more than 4 stack frames,
so the fact that our abort(3) implementation takes 4 frames by itself
makes it useless.

Re-reading POSIX, it only says "behaves as if", so the previous
implementation chain wasn't mandatory and we can just go straight to
calling tgkill...

Before:

     #00 pc 0000000000069be4  /system/lib64/libc.so (tgkill+8)
     #01 pc 0000000000066d50  /system/lib64/libc.so (pthread_kill+64)
     #02 pc 0000000000028110  /system/lib64/libc.so (raise+24)
     #03 pc 000000000001d4ec  /system/lib64/libc.so (abort+52)

After:

     #00 pc 0000000000069bc8  /system/lib64/libc.so (tgkill+8)
     #01 pc 000000000001d4c8  /system/lib64/libc.so (abort+80)
     #02 pc 0000000000001494  /system/xbin/crasher64 (_ZL9do_actionPKc+872)
     #03 pc 00000000000010e0  /system/xbin/crasher64 (main+88)

This is less useful on 32-bit ARM because there there's an extra trampoline
from an assembler abort(3) implementation, so you'll still only get one
meaningful stack frame. But every other architecture will now get two!

But wait!

It turns out that the assembler hack isn't needed any more. Here we are
unwinding just fine all the way through the 32-bit ARM crasher:

Before (with direct call to tgkill but still using the assembler):

     #00 pc 00049e7c  /system/lib/libc.so (tgkill+12)
     #01 pc 00019c6f  /system/lib/libc.so (__libc_android_abort+50)
     #02 pc 000181f8  /system/lib/libc.so (abort+4)
     #03 pc 00001025  /system/xbin/crasher (_ZL9do_actionPKc+656)
     #04 pc 00017721  /system/lib/libc.so (__libc_init+48)
     #05 pc 00000b38  /system/xbin/crasher (_start+96)

After:

     #00 pc 00049e6c  /system/lib/libc.so (tgkill+12)
     #01 pc 00019c5f  /system/lib/libc.so (abort+50)
     #02 pc 00001025  /system/xbin/crasher (_ZL9do_actionPKc+656)
     #03 pc 00017721  /system/lib/libc.so (__libc_init+48)
     #04 pc 00000b38  /system/xbin/crasher (_start+96)

(As you can see, the fact that we see __libc_init rather than main was true
with the assembler stub too, so that's not a regression even if it does seem
odd...)

Bug: N/A
Test: ran crasher64
Change-Id: I9dd5b214c495604c8b502c7ec0de3631080d8c29

7 years agoMerge "Fix getpriority/setpriority types."
Treehugger Robot [Wed, 30 Nov 2016 05:49:03 +0000 (05:49 +0000)]
Merge "Fix getpriority/setpriority types."

7 years agoMerge "Fix return type of sync(2)."
Treehugger Robot [Wed, 30 Nov 2016 05:42:53 +0000 (05:42 +0000)]
Merge "Fix return type of sync(2)."

7 years agoMerge "Enable libc/libdl/libm/linker for host bionic"
Dan Willemsen [Wed, 30 Nov 2016 05:32:06 +0000 (05:32 +0000)]
Merge "Enable libc/libdl/libm/linker for host bionic"

7 years agoCleanup: replace sanitize:never with address:false.
Evgenii Stepanov [Wed, 23 Nov 2016 01:36:25 +0000 (17:36 -0800)]
Cleanup: replace sanitize:never with address:false.

Bug: 33091541
Test: NFC
Change-Id: Iade6a1852e7b1f34e06c26ccadcc17bac5d81c14

7 years agoAdd __libc_arc4random_unlimited_entropy.
Josh Gao [Fri, 11 Nov 2016 00:26:44 +0000 (16:26 -0800)]
Add __libc_arc4random_unlimited_entropy.

Let the caller know when libc has an entropy source and arc4random is safe.
This is useful for the callers that want entropy, but don't absolutely need it.

Bug: http://b/27729263
Test: booted angler-userdebug w/ safestack
Change-Id: Iab3050bd19f23518e1676629573eebc656ba1090

7 years agoFix return type of sync(2).
Elliott Hughes [Tue, 29 Nov 2016 23:16:08 +0000 (15:16 -0800)]
Fix return type of sync(2).

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

7 years agoFix getpriority/setpriority types.
Elliott Hughes [Tue, 29 Nov 2016 23:10:29 +0000 (15:10 -0800)]
Fix getpriority/setpriority types.

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

7 years agoMerge "Use icu4c to implement <wctype.h>."
Elliott Hughes [Tue, 29 Nov 2016 23:05:31 +0000 (23:05 +0000)]
Merge "Use icu4c to implement <wctype.h>."

7 years agoCorrect the return types of readv and writev.
Josh Gao [Tue, 29 Nov 2016 22:26:15 +0000 (14:26 -0800)]
Correct the return types of readv and writev.

readv and writev should return ssize_t, not int.

Bug: none
Test: `m checkbuild` on bullhead
Change-Id: I934c2e8cb7bf76384b63cedfeab88e2f6b65971a

7 years agoEnable libc/libdl/libm/linker for host bionic
Dan Willemsen [Tue, 29 Nov 2016 01:02:25 +0000 (17:02 -0800)]
Enable libc/libdl/libm/linker for host bionic

Disables debuggerd integration unless building for android.

Bug: 31559095
Test: Diff out/soong/build.ninja before/after, only change is moving
      linker's libdebuggerd_client static lib to the beginning of the
      list.
Test: lunch aosp_arm64-eng; mmma -j bionic
Change-Id: I62e725f7a9b98b7fe31637d0a835fd5846b0aff0

7 years agoUse icu4c to implement <wctype.h>.
Elliott Hughes [Fri, 18 Nov 2016 02:18:08 +0000 (18:18 -0800)]
Use icu4c to implement <wctype.h>.

Pretty useless, because the POSIX APIs are useless for actually
internationalization, but it lets us put this to bed for good.

Bug: http://b/18492914
Test: bionic tests
Change-Id: I4dd0aff66c44b5547039be3ffea806c865b9014a

7 years agoShip all the UAPI bits.
Dan Albert [Tue, 29 Nov 2016 19:09:12 +0000 (11:09 -0800)]
Ship all the UAPI bits.

Test: make ndk
Bug: None
Change-Id: I24507846fb62b5844e06d7a424497a5ffc0357d1

7 years agoMerge "Implement <langinfo.h>."
Elliott Hughes [Tue, 29 Nov 2016 19:16:08 +0000 (19:16 +0000)]
Merge "Implement <langinfo.h>."

7 years agoUpdate timezone data to 2016j
Neil Fuller [Tue, 29 Nov 2016 14:46:05 +0000 (14:46 +0000)]
Update timezone data to 2016j

IANA changes:

Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04.

  Changes to future time stamps

    Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
    This hives off a new zone Europe/Saratov from Europe/Volgograd.
    (Thanks to Yuri Konotopov and Stepan Golosunov.)

  Changes to past time stamps

    The new zone Asia/Atyrau for AtyraĆ« Region, Kazakhstan, is like
    Asia/Aqtau except it switched from +04/+05 to +05/+06 in spring
    1999, not fall 1994.  (Thanks to Stepan Golosunov.)

  Changes to past time zone abbreviations

    Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote
    summer time before 1948.  The old use of "EET" was a typo.

Bug: 33136357
Change-Id: I6875bfa35b5d28839b6f4c3272fd9a1715b17aba
Test: CtsLibcoreTestCases / CtsBionicTestCases

7 years agoMerge "Fix bionic-unit-tests-glibc"
Treehugger Robot [Mon, 28 Nov 2016 23:01:54 +0000 (23:01 +0000)]
Merge "Fix bionic-unit-tests-glibc"

7 years agoMerge "Add cortex-a7 specific routines."
Christopher Ferris [Mon, 28 Nov 2016 22:34:28 +0000 (22:34 +0000)]
Merge "Add cortex-a7 specific routines."

7 years agoFix bionic-unit-tests-glibc
Dimitry Ivanov [Fri, 25 Nov 2016 20:23:11 +0000 (12:23 -0800)]
Fix bionic-unit-tests-glibc

Also add another test for dlsym(RTLD_NEXT, ..)

Bug: http://b/33106624
Test: run bionic-unit-tests-glibc and bionic-unit-tests
Change-Id: I340165d66bf2360b0e3273d3561a08cb5e7bd025

7 years agoAdd cortex-a7 specific routines.
Christopher Ferris [Mon, 28 Nov 2016 19:09:49 +0000 (11:09 -0800)]
Add cortex-a7 specific routines.

Test: Changed angler target to use cortex-a7 and I compiled.
Test: Booted this version on angler and ran bionic-unit-tests.

Change-Id: Ice7f6ea38a2569582161a8e659d7877918c1a45a

7 years agoMerge "bionic: make NONBLOCK call to getrandom"
Treehugger Robot [Thu, 24 Nov 2016 04:23:01 +0000 (04:23 +0000)]
Merge "bionic: make NONBLOCK call to getrandom"

7 years agobionic: make NONBLOCK call to getrandom
Wei Wang [Wed, 23 Nov 2016 18:41:35 +0000 (10:41 -0800)]
bionic: make NONBLOCK call to getrandom

By default getrandom() blocks if the entropy pool has not yet been initialized.
This will be an issue when init was first executed in some kernels.

This CL makes a check of getrandom readyness, by adding the GRND_NONBLOCK flag.
In such case, getrandom() does not block returns -1 with errno set to EAGAIN.

Test: on M/S devices
Bug: 33059407
Change-Id: I2a2ba8372a5e1c336852ba2ab77cdaac03c90389

7 years agoMerge "Remove CLONE_NEWNS for gettid and getpid cache tests."
Yabin Cui [Wed, 23 Nov 2016 18:15:31 +0000 (18:15 +0000)]
Merge "Remove CLONE_NEWNS for gettid and getpid cache tests."

7 years agoRemove CLONE_NEWNS for gettid and getpid cache tests.
Yabin Cui [Wed, 23 Nov 2016 01:18:10 +0000 (17:18 -0800)]
Remove CLONE_NEWNS for gettid and getpid cache tests.

Using CLONE_NEWNS flag is not related to the tests, and it make
the tests unavailable in cts tests. So remove the flag.

Bug: http://b/33089743
Test: run CtsBionicTestCases --gtest_filter=unistd*.
Change-Id: I4bda39c6a0c41c9973d275202a3a7f7a1e9bbba3

7 years agoMerge "Log call to elf-constructors"
Treehugger Robot [Tue, 22 Nov 2016 01:27:23 +0000 (01:27 +0000)]
Merge "Log call to elf-constructors"

7 years agoMerge "versioner: extract strict warnings out of -v into its own flag."
Josh Gao [Tue, 22 Nov 2016 00:51:14 +0000 (00:51 +0000)]
Merge "versioner: extract strict warnings out of -v into its own flag."

7 years agoMerge "versioner: use a single work queue."
Josh Gao [Tue, 22 Nov 2016 00:50:58 +0000 (00:50 +0000)]
Merge "versioner: use a single work queue."

7 years agoLog call to elf-constructors
Dimitry Ivanov [Mon, 21 Nov 2016 18:44:35 +0000 (10:44 -0800)]
Log call to elf-constructors

Log call to constructors when dlopen logging is enabled.

Bug: http://b/29458203
Test: bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: I0cd591bf147f8f910ae9def1ac4089ef44099aff

7 years agoImplement <langinfo.h>.
Elliott Hughes [Sat, 19 Nov 2016 00:27:29 +0000 (16:27 -0800)]
Implement <langinfo.h>.

POSIX locale only, as usual.

The GNU YESSTR and NOSTR extensions return the empty string in the C locale,
so I haven't bothered supporting them.

Bug: http://b/1401872
Test: bionic tests
Change-Id: I6846839e4f9f1812344ed5dce0b93f83c0c20eb3

7 years agoMerge "Document more dynamic linker changes."
Treehugger Robot [Sat, 19 Nov 2016 00:49:38 +0000 (00:49 +0000)]
Merge "Document more dynamic linker changes."

7 years agoDocument more dynamic linker changes.
Elliott Hughes [Fri, 18 Nov 2016 20:28:01 +0000 (12:28 -0800)]
Document more dynamic linker changes.

Based on https://plus.google.com/+ElliottHughes/posts/dtguP8BWkc7?sfc=false.

Bug: http://b/33001640
Change-Id: I9efedaf1c17a38d4426f030dd252446e4dfbc1cb

7 years agoMerge "Enable malloc debug using environment variables"
Christopher Ferris [Fri, 18 Nov 2016 21:33:17 +0000 (21:33 +0000)]
Merge "Enable malloc debug using environment variables"

7 years agoMerge "Add note about pid_max to host test documentation."
Josh Gao [Fri, 18 Nov 2016 02:55:31 +0000 (02:55 +0000)]
Merge "Add note about pid_max to host test documentation."

7 years agoAdd note about pid_max to host test documentation.
Josh Gao [Fri, 18 Nov 2016 02:52:09 +0000 (18:52 -0800)]
Add note about pid_max to host test documentation.

Bug: none
Test: none
Change-Id: I3e446744076131329201543fa29b71fc4f843728

7 years agoversioner: extract strict warnings out of -v into its own flag.
Josh Gao [Thu, 10 Nov 2016 02:22:44 +0000 (18:22 -0800)]
versioner: extract strict warnings out of -v into its own flag.

Bug: None
Test: versioner -v; versioner -s
Change-Id: I8f6ac7064c6f05de0811677f7fcfce929a2568c1

7 years agoversioner: use a single work queue.
Josh Gao [Thu, 10 Nov 2016 02:01:41 +0000 (18:01 -0800)]
versioner: use a single work queue.

Previously, each thread was assigned a fixed list of work, and the main
thread would block until every thread was finished, leading to most
cores sitting idle for the last few hundred milliseconds while a few
particularly long running threads would keep working. Use a single work
queue to evenly distribute load across the threads.

Bug: http://b/32748936
Test: python run_tests.py
Change-Id: I80e231ece3b95e2721a32f658905841b89a8dc3b

7 years agoMerge "versioner: ignore non-header files."
Treehugger Robot [Fri, 18 Nov 2016 02:04:24 +0000 (02:04 +0000)]
Merge "versioner: ignore non-header files."

7 years agoMerge "Improve dlerror_concurrent test"
Treehugger Robot [Fri, 18 Nov 2016 00:07:41 +0000 (00:07 +0000)]
Merge "Improve dlerror_concurrent test"

7 years agoImprove dlerror_concurrent test
Dimitry Ivanov [Thu, 17 Nov 2016 20:38:09 +0000 (12:38 -0800)]
Improve dlerror_concurrent test

Add a test to check if result is thread-local, not only buffer.

Test: run bionic-unit-tests
Change-Id: Ia95f88c0d76aa86f7f439836393abd67a57dd396

7 years agoEnable malloc debug using environment variables
Tamas Berghammer [Fri, 26 Aug 2016 14:54:59 +0000 (15:54 +0100)]
Enable malloc debug using environment variables

Previously malloc debug can be enabled only using global settings
accessible to the root user only. This CL adds a new option to enable
it using environment variables making it possible to use it with pure
native (shell) applications on production builds (from shell user) and
prepares it for using it from logwrapper on production devices.

Remove the old environment variable and property since they are not
necessary.

Test: Enable malloc debug using environment variable and verify
Test: that it only affects the commands launched from the shell.
Test: Enable malloc debug using the property variable and verify
Test: that it affects all commands.
Test: Run all unit tests in 32 bit and 64 bit.
Change-Id: Iecb75a3471552f619f196ad550c5f41fcd9ce8e5

7 years agoMerge "Fix iswlower/iswupper."
Christopher Ferris [Thu, 17 Nov 2016 20:06:05 +0000 (20:06 +0000)]
Merge "Fix iswlower/iswupper."

7 years agoMerge "Relax ELF header checks - warn for apps targeting pre-O"
Dimitry Ivanov [Thu, 17 Nov 2016 05:21:41 +0000 (05:21 +0000)]
Merge "Relax ELF header checks - warn for apps targeting pre-O"

7 years agoMerge "Remove unused includes/externals"
Treehugger Robot [Thu, 17 Nov 2016 02:48:41 +0000 (02:48 +0000)]
Merge "Remove unused includes/externals"

7 years agoRelax ELF header checks - warn for apps targeting pre-O
Dimitry Ivanov [Wed, 16 Nov 2016 20:29:37 +0000 (12:29 -0800)]
Relax ELF header checks - warn for apps targeting pre-O

Bug: http://b/32581440
Test: bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: I2fe356c67eb9665c671758117679a29b207219e4

7 years agoMerge "Add and use constants for the Android API levels."
Treehugger Robot [Thu, 17 Nov 2016 02:37:37 +0000 (02:37 +0000)]
Merge "Add and use constants for the Android API levels."

7 years agoversioner: ignore non-header files.
Josh Gao [Thu, 17 Nov 2016 01:01:57 +0000 (17:01 -0800)]
versioner: ignore non-header files.

Don't try to compile non-headers (vim swap files, etc.) that happen to
be in the header directory.

Bug: none
Test: manually created a file in libc/include
Change-Id: I2c1647ec7174dc617898dc2f07c9a80a08b69c72

7 years agoAdd and use constants for the Android API levels.
Elliott Hughes [Wed, 16 Nov 2016 19:35:43 +0000 (11:35 -0800)]
Add and use constants for the Android API levels.

Test: bionic tests still pass
Change-Id: If1b619cfc9db1d3f5d91f14f2ace71058dca0c4a

7 years agoMerge "Add original prebuilt test libraries"
Dimitry Ivanov [Thu, 17 Nov 2016 00:52:40 +0000 (00:52 +0000)]
Merge "Add original prebuilt test libraries"

7 years agoRemove unused includes/externals
Dimitry Ivanov [Wed, 16 Nov 2016 23:23:37 +0000 (15:23 -0800)]
Remove unused includes/externals

Test: mm
Change-Id: I4b88602b7d0a18664cbeddfa9854e589c2886e1a

7 years agoFix iswlower/iswupper.
Elliott Hughes [Wed, 16 Nov 2016 23:19:08 +0000 (15:19 -0800)]
Fix iswlower/iswupper.

The previous conditions were just plain wrong.

Test: bionic tests
Change-Id: Ia6d98207b1ff98ea4c6f619912e4bcdb8a7fdd24

7 years agoAdd original prebuilt test libraries
Dimitry Ivanov [Wed, 16 Nov 2016 21:41:36 +0000 (13:41 -0800)]
Add original prebuilt test libraries

This is the library used to produce invalid prebuilt libraries
for loader tests.

Bug: http://b/30795430
Test: not necessary - these are added for reference
Change-Id: I06e681bf826e59a76da9b49d84d26dee34920d49

7 years agoMerge "Downgrade W+E load segments to a warning unless targeting O."
Elliott Hughes [Wed, 16 Nov 2016 19:04:17 +0000 (19:04 +0000)]
Merge "Downgrade W+E load segments to a warning unless targeting O."

7 years agoMerge "Fix uninitialized variable usage."
Christopher Ferris [Wed, 16 Nov 2016 18:59:02 +0000 (18:59 +0000)]
Merge "Fix uninitialized variable usage."

7 years agoFix uninitialized variable usage.
Christopher Ferris [Tue, 15 Nov 2016 22:04:16 +0000 (14:04 -0800)]
Fix uninitialized variable usage.

If the dladdr call fails, then info.dli_fname will be unitialized.
Make sure that this can't happen.

Bug: 32907235

Test: Enabled malloc debug on an angler and verified that function names
Test: still work.
Change-Id: I738e66d9f37bce07bc4c10f1f9bac11fbfdae2c7

7 years agoMerge "Fix deprecated range_x() calls."
Martijn Coenen [Wed, 16 Nov 2016 09:48:30 +0000 (09:48 +0000)]
Merge "Fix deprecated range_x() calls."

7 years agoMerge "Fix getrandom syscall checking"
Treehugger Robot [Wed, 16 Nov 2016 03:23:43 +0000 (03:23 +0000)]
Merge "Fix getrandom syscall checking"

7 years agoDowngrade W+E load segments to a warning unless targeting O.
Elliott Hughes [Wed, 16 Nov 2016 00:54:16 +0000 (16:54 -0800)]
Downgrade W+E load segments to a warning unless targeting O.

I don't think we're getting any value from more dupes of the same dodgy
middleware, and I worry that we're hiding other, more subtle, compatibility
issues behind this one.

Test: bionic tests
Change-Id: I556cf36eac96c90976bae32621d1c133bbb8fcc7

7 years agoFix getrandom syscall checking
Wei Wang [Wed, 16 Nov 2016 00:42:53 +0000 (16:42 -0800)]
Fix getrandom syscall checking

Test: angler
Bug: 32838381
(cherry-picked from commit 46289b4c0211fc48d8719b385a7e56d765510ebd)

Change-Id: I102ffa26d7f39a8d3572b31f04b66ae31a9e752c

7 years agoMerge "Don't pack relocations in libc.so"
Colin Cross [Tue, 15 Nov 2016 23:38:01 +0000 (23:38 +0000)]
Merge "Don't pack relocations in libc.so"

7 years agoDon't pack relocations in libc.so
Colin Cross [Tue, 15 Nov 2016 21:15:43 +0000 (13:15 -0800)]
Don't pack relocations in libc.so

Ic9125cc1bc4c9ba9eb20d030de72e3ce1fb86fa6 disabled relocation packing
in libc.so, but the flag was dropped when we switched to Android.bp
in Ib0ba2d28bff88483b505426ba61606da314e03ab.

Bug: 20645321
Bug: 20655855
Bug: 32750616
Test: builds
Test: inspect out/build-aosp_angler.ninja
Test: run app that crashes with packed libc.so
Change-Id: Ib0630f2e342afa543bb88303fec8f9695ac583e9

7 years agoMerge "Differentiate the wctype functions we need to improve."
Elliott Hughes [Tue, 15 Nov 2016 19:04:25 +0000 (19:04 +0000)]
Merge "Differentiate the wctype functions we need to improve."

7 years agoFix deprecated range_x() calls.
Martijn Coenen [Mon, 14 Nov 2016 13:16:08 +0000 (14:16 +0100)]
Fix deprecated range_x() calls.

Test: builds with new libbenchmark.
Change-Id: I91c0e5c1b5cf75b8e551f3c59d83ac9352817c4a

7 years agoMerge changes I72d37b7c,I7d254a10,I2e967acf
Treehugger Robot [Tue, 15 Nov 2016 00:54:08 +0000 (00:54 +0000)]
Merge changes I72d37b7c,I7d254a10,I2e967acf

* changes:
  versioner: use a virtual filesystem for input files.
  versioner: cache -cc1 flags generated by the clang Driver.
  versioner: refactor to use CompilerInstance directly.

7 years agoDifferentiate the wctype functions we need to improve.
Elliott Hughes [Mon, 14 Nov 2016 20:55:59 +0000 (12:55 -0800)]
Differentiate the wctype functions we need to improve.

Some of these are genuinely fine as-is.

Test: bionic tests still pass
Change-Id: Iab6d86d818dcc5857e7932a9effa04001195386f

7 years agoMerge changes I7f32dc9f,I9d88ddb1
Treehugger Robot [Fri, 11 Nov 2016 22:20:17 +0000 (22:20 +0000)]
Merge changes I7f32dc9f,I9d88ddb1

* changes:
  Revert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""
  Revert "Revert "Update getentropy_linux.c from upstream.""

7 years agoRevert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""
Josh Gao [Fri, 11 Nov 2016 00:08:29 +0000 (16:08 -0800)]
Revert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""

This reverts commit 60d052dda600f26fdb6180ac1a2c53e97df5a58a.

Bug: http://b/27729263
Change-Id: I7f32dc9f9a1f21fda3213f10da940821e1bdd63f

7 years agoRevert "Revert "Update getentropy_linux.c from upstream.""
Josh Gao [Fri, 11 Nov 2016 00:08:20 +0000 (16:08 -0800)]
Revert "Revert "Update getentropy_linux.c from upstream.""

This reverts commit b3fbee449c314aee4bdc2f1720a931ea56c32f62.

Bug: http://b/27729263
Change-Id: I9d88ddb11466d203514ae805f4681c92e4b63c24

7 years agoversioner: use a virtual filesystem for input files.
Josh Gao [Wed, 9 Nov 2016 09:00:41 +0000 (01:00 -0800)]
versioner: use a virtual filesystem for input files.

Use an InMemoryFileSystem to store and share input files across
compilations.

This improves the result of `time versioner` further, from:
    versioner  109.12s user 17.43s system 2433% cpu 5.201 total
to:
    versioner  112.20s user 1.38s system 2416% cpu 4.700 total

Bug: http://b/32748936
Test: python run_tests.py
Change-Id: I72d37b7c30850b8399cc40338247700fe3e7b2f9

7 years agoversioner: cache -cc1 flags generated by the clang Driver.
Josh Gao [Wed, 9 Nov 2016 06:21:31 +0000 (22:21 -0800)]
versioner: cache -cc1 flags generated by the clang Driver.

Profiling showed that majority of time spent by versioner was being
spent in the x86 and x86_64 driver statting random files in /usr/lib,
looking for a toolchain. Hardcode a list of per-target flags which
correspond to a subset of the ones generated by clang, and use those
instead of calling out to Driver.

This changes the result of `time versioner` from:
    versioner  156.57s user 1180.08s system 4109% cpu 32.525 total
to:
    versioner  109.12s user 17.43s system 2433% cpu 5.201 total

Bug: http://b/32748936
Test: python run_tests.py
Change-Id: I7d254a105bf1a283cbba0546321b04e308e703d1

7 years agoversioner: refactor to use CompilerInstance directly.
Josh Gao [Tue, 8 Nov 2016 02:27:16 +0000 (18:27 -0800)]
versioner: refactor to use CompilerInstance directly.

This will make it easier to switch over to a virtual filesystem,
which should drastically improve performance.

This also fixes an issue with warning/error reporting.

Bug: http://b/32748936
Test: python run_tests.py
Change-Id: I2e967acf75db29c95f3a03f4f94cccd22c367ad5

7 years agoMerge "versioner: don't always hide future decls."
Treehugger Robot [Wed, 9 Nov 2016 02:07:17 +0000 (02:07 +0000)]
Merge "versioner: don't always hide future decls."

7 years agoMerge "Document how to run the benchmarks."
Treehugger Robot [Wed, 9 Nov 2016 01:20:58 +0000 (01:20 +0000)]
Merge "Document how to run the benchmarks."

7 years agoMerge "Fix error case to print newlines properly."
Treehugger Robot [Wed, 9 Nov 2016 00:33:12 +0000 (00:33 +0000)]
Merge "Fix error case to print newlines properly."

7 years agoversioner: don't always hide future decls.
Josh Gao [Wed, 9 Nov 2016 00:17:45 +0000 (16:17 -0800)]
versioner: don't always hide future decls.

Bug: http://b/32748732
Test: python run_tests.py
Change-Id: I8f799015ebb1017f5e7d1324fb4c724e12a268bc

7 years agoDocument how to run the benchmarks.
Elliott Hughes [Tue, 8 Nov 2016 23:38:26 +0000 (15:38 -0800)]
Document how to run the benchmarks.

Test: N/A
Change-Id: I13bf4f1b5a218e06e68ff8eb8156843175f2648a

7 years agoFix error case to print newlines properly.
Christopher Ferris [Tue, 8 Nov 2016 22:05:18 +0000 (14:05 -0800)]
Fix error case to print newlines properly.

Bug: 32640542

Test: Built and ran on a failing device.
Change-Id: I81a578af7608c741819062bd54aa8e348a621b83