OSDN Git Service

android-x86/bionic.git
7 years agoMake dl_iterate_phdr return correct name for first entry
Dimitry Ivanov [Wed, 31 May 2017 22:07:41 +0000 (15:07 -0700)]
Make dl_iterate_phdr return correct name for first entry

Test: bionic-unit-tests --gtest_filter=link*
Change-Id: Ib3f1e0fbc76fed9a5f27ffdd9bbf847a3e8d3665

7 years agoMerge "Enable exporting the non-uapi scsi headers."
Elliott Hughes [Fri, 26 May 2017 18:04:26 +0000 (18:04 +0000)]
Merge "Enable exporting the non-uapi scsi headers."

7 years agoMerge "Add offset to backtrace_string printing."
Christopher Ferris [Fri, 26 May 2017 16:57:58 +0000 (16:57 +0000)]
Merge "Add offset to backtrace_string printing."

7 years agoEnable exporting the non-uapi scsi headers.
Elliott Hughes [Fri, 26 May 2017 00:13:32 +0000 (17:13 -0700)]
Enable exporting the non-uapi scsi headers.

Callers are supposed to #include <scsi/sg.h> but if we tell soong to add
bionic/libc/kernel/android/ to the include path, the uapi headers in there
would be (unintentionally) accessible as either <linux/name.h> or
<uapi/linux/name.h>.

Bug: N/A (hit while upgrading strace to 4.17)
Test: builds
Change-Id: I8d47dd51da688c38f747a255d401dfb2c209c805

7 years agoAdd offset to backtrace_string printing.
Christopher Ferris [Fri, 26 May 2017 01:26:37 +0000 (18:26 -0700)]
Add offset to backtrace_string printing.

The libmemunreachable code uses backtrace_string to print out the backtrace
information. However, when the offset of the map that a frame is in is
non-zero, no information is printed. This means that when a frame comes from
a shared library loaded from an apk, it's impossible to tell which
shared library the frame is really coming from.

Add the offset display when it's non-zero. This means this can now be fed
to development/scripts/stack to decode the frame.

Bug: 37276041

Test: Ran dumpsys meminfo --unreachable on an app that leaks from a
Test: shared library and verified the offset output is present.
Change-Id: I61d34ae3f617622d354cc099eff520a64782b6e2

7 years agoMerge "Relax flaky _SC_AVPHYS_PAGES check in sys_sysinfo_test"
Treehugger Robot [Fri, 26 May 2017 01:30:01 +0000 (01:30 +0000)]
Merge "Relax flaky _SC_AVPHYS_PAGES check in sys_sysinfo_test"

7 years agoMerge "Expand whitelist"
Treehugger Robot [Fri, 26 May 2017 01:01:54 +0000 (01:01 +0000)]
Merge "Expand whitelist"

7 years agoMerge "Update malloc debug documentation."
Christopher Ferris [Fri, 26 May 2017 00:29:59 +0000 (00:29 +0000)]
Merge "Update malloc debug documentation."

7 years agoUpdate malloc debug documentation.
Christopher Ferris [Thu, 25 May 2017 02:04:33 +0000 (19:04 -0700)]
Update malloc debug documentation.

Test: NA
Change-Id: I8ab73bfc28c7a673efb5b0cec6067989153f092a

7 years agoExpand whitelist
Paul Lawrence [Thu, 25 May 2017 21:15:23 +0000 (14:15 -0700)]
Expand whitelist

Bug: 37769298
Test: Boots. Cannot test app behavior without account
Change-Id: Iebb7616f100368bf2e702ec51f637df1f3727885

7 years agoMerge "Remove the repetitive warnings from the uapi headers."
Treehugger Robot [Thu, 25 May 2017 22:50:05 +0000 (22:50 +0000)]
Merge "Remove the repetitive warnings from the uapi headers."

7 years agoRelax flaky _SC_AVPHYS_PAGES check in sys_sysinfo_test
Dimitry Ivanov [Thu, 25 May 2017 21:02:03 +0000 (14:02 -0700)]
Relax flaky _SC_AVPHYS_PAGES check in sys_sysinfo_test

The number of available physical pages is not constant and can
potentially change between calls to get_avphys_pages and
sysconf(_SC_AVPHYS_PAGES) calls.

Relax the assert to check that sconf(_SC_AVPHYS_PAGES) <= phys_pages.

Bug: http://b/31502852
Test: build and run bionic-unit-tests
Change-Id: Ibf8873d2151d93239391d2638dfbf055b70cde3a

7 years agoRemove the repetitive warnings from the uapi headers.
Elliott Hughes [Thu, 25 May 2017 20:48:01 +0000 (13:48 -0700)]
Remove the repetitive warnings from the uapi headers.

Having

  WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS

every four lines made the headers harder to read, made the diffs much worse
each time we upgraded, and wasn't really providing any benefit. Before the
next uapi update, let's just stop doing this.

Bug: N/A
Test: builds, manually inspected files look right
Change-Id: Id7088cf750894c9d24950f3d53587fe3156c4f7d

7 years agoMerge "Stop including <sys/sysmacros.h> from <sys/types.h>."
Treehugger Robot [Thu, 25 May 2017 01:43:05 +0000 (01:43 +0000)]
Merge "Stop including <sys/sysmacros.h> from <sys/types.h>."

7 years agoMerge "Fix assembler warnings."
Christopher Ferris [Thu, 25 May 2017 01:26:17 +0000 (01:26 +0000)]
Merge "Fix assembler warnings."

7 years agoFix assembler warnings.
Christopher Ferris [Wed, 24 May 2017 23:00:37 +0000 (16:00 -0700)]
Fix assembler warnings.

There are a few instructions deprecated on armv8 that result in lots
of warnings. Add an arch directive so that these warnings go away.

This doesn't cause any problems because the instructions still
execute properly.

Bug: 38319728

Test: Built all of these assembler files and verified the warning are gone.
Change-Id: If063defdd16f290c01975233c8d257d1b2005e76

7 years agoMerge "Remove obsolete __stack_chk_fail_local."
Elliott Hughes [Wed, 24 May 2017 15:05:59 +0000 (15:05 +0000)]
Merge "Remove obsolete __stack_chk_fail_local."

7 years agoMerge "Fix _POSIX_THREAD_PROCESS_SHARED."
Treehugger Robot [Wed, 24 May 2017 07:13:34 +0000 (07:13 +0000)]
Merge "Fix _POSIX_THREAD_PROCESS_SHARED."

7 years agoRemove obsolete __stack_chk_fail_local.
Elliott Hughes [Tue, 23 May 2017 23:43:30 +0000 (16:43 -0700)]
Remove obsolete __stack_chk_fail_local.

Clang doesn't use this.

Bug: N/A
Test: x86 emulator builds and boots
Change-Id: I2865c0d568a644f61f34bdea539daff5224896bc

7 years agoMerge "Switch to inline assembler in crtbegin."
Elliott Hughes [Tue, 23 May 2017 23:39:59 +0000 (23:39 +0000)]
Merge "Switch to inline assembler in crtbegin."

7 years agoStop including <sys/sysmacros.h> from <sys/types.h>.
Elliott Hughes [Tue, 23 May 2017 22:53:36 +0000 (15:53 -0700)]
Stop including <sys/sysmacros.h> from <sys/types.h>.

<sys/types.h> unconditionally includes <sys/sysmacros.h>.

<sys/sysmacros.h> defines major, minor, and makedev. In the deprecated NDK
headers, these were inline functions. In the unified headers, they are
function-like macros.

The inline functions would only collide with another function called major,
minor, or makedev but the macros will replace anything with a function-like
form such as definitions of class methods called major, minor, or makedev.
This causes code which has such definitions to fail to compile when moving
from the deprecated headers to the unified headers.

Resolve this by removing the transitive dependency. Folks who want
<sys/sysmacros.h> can ask for it explicitly (it's been in both bionic and
glibc for years, though I don't think macOS has it [as usual]).

Bug: https://github.com/android-ndk/ndk/issues/398
Test: builds
Change-Id: If2921c7b5d979c3066f199f22c64d4d2f7bf6632

7 years agoSwitch to inline assembler in crtbegin.
Elliott Hughes [Tue, 23 May 2017 18:03:58 +0000 (11:03 -0700)]
Switch to inline assembler in crtbegin.

Using __builtin_frame_address was clever, but didn't work for arm64 (for
reasons which were never investigated) and the ChromeOS folks claim it
causes trouble for x86 with ARC++ (though without a reproduceable test case).

Naked functions turn out to be quite unevenly supported: some architectures
do the right thing, others don't; some architectures warn, others don't (and
the warnings don't always match the platforms that _actually_ have problems).

Inline assembler also removes the guessing games: everyone knows what the
couple of instructions _ought_ to be, and now we don't have to reason about
what the compiler will actually do (yet still keep the majority of the code
in C).

Bug: N/A
Test: builds, boots
Change-Id: I14207ef50ca46b6eca273c3cb7509c311146a3ca

7 years agoMerge "Make use of the DNS query hook in the netcontext"
Treehugger Robot [Tue, 23 May 2017 13:17:41 +0000 (13:17 +0000)]
Merge "Make use of the DNS query hook in the netcontext"

7 years agoMerge "Move libdlext_... to NATIVE_TESTS instead of ETC"
Dan Willemsen [Tue, 23 May 2017 05:50:37 +0000 (05:50 +0000)]
Merge "Move libdlext_... to NATIVE_TESTS instead of ETC"

7 years agoMerge changes Iefdc1662,I8ee9ce62
Treehugger Robot [Tue, 23 May 2017 00:48:00 +0000 (00:48 +0000)]
Merge changes Iefdc1662,I8ee9ce62

* changes:
  Don't define IN_CLOEXEC/IN_NONBLOCK for pre-L.
  Undef EPOLL_CLOEXEC for pre-L.

7 years agoMove libdlext_... to NATIVE_TESTS instead of ETC
Dan Willemsen [Tue, 23 May 2017 00:36:16 +0000 (17:36 -0700)]
Move libdlext_... to NATIVE_TESTS instead of ETC

ETC did end up causing problems, since it's not per-arch. But
SHARED_LIBRARIES isn't correct either, since the build system tries to
read shared libraries as ELF files (to create the toc files).

NATIVE_TESTS is slightly better -- they are not libraries, so we don't
attempt to generate toc files, but they are considered per-arch.

Bug: 38463793
Test: Run CtsBionicTestCases
Change-Id: I01b4b093359e0c39eb2f8639d5c5dde9e304ed20

7 years agoMake use of the DNS query hook in the netcontext
Ben Schwartz [Mon, 24 Apr 2017 21:57:11 +0000 (17:57 -0400)]
Make use of the DNS query hook in the netcontext

This will allow netd to run queries over TLS:
https://android-review.googlesource.com/#/c/391513/
https://android-review.googlesource.com/#/c/380593/

Bug: 34953048
Test: Device tests pass.  No issues during manual testing.
Change-Id: I8d613322307fc40cdba59b82599eda753697278f

7 years agoMerge "Add a netcontext variant of gethostbyname"
Treehugger Robot [Mon, 22 May 2017 22:29:08 +0000 (22:29 +0000)]
Merge "Add a netcontext variant of gethostbyname"

7 years agoDon't define IN_CLOEXEC/IN_NONBLOCK for pre-L.
Dan Albert [Mon, 22 May 2017 19:58:18 +0000 (12:58 -0700)]
Don't define IN_CLOEXEC/IN_NONBLOCK for pre-L.

Some third-party code uses the existence of IN_CLOEXEC/IN_NONBLOCK to
detect the availability of inotify_init1. This is not correct, since
`syscall(__NR_inotify_init1, IN_CLOEXEC)` is still valid even if the C
library doesn't have that function, but for the time being we don't
want to harm adoption to the unified headers. We'll avoid defining
IN_CLOEXEC and IN_NONBLOCK if we don't have inotify_init1 for the time
being, and maybe revisit this later.

Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/394
Change-Id: Iefdc1662b21045de886c7ad1cbeba6241163d943

7 years agoUndef EPOLL_CLOEXEC for pre-L.
Dan Albert [Mon, 22 May 2017 19:52:00 +0000 (12:52 -0700)]
Undef EPOLL_CLOEXEC for pre-L.

Some third-party code uses the existence of EPOLL_CLOEXEC to detect
the availability of epoll_create1. This is not correct, since having
up-to-date UAPI headers says nothing about the C library, but for the
time being we don't want to harm adoption to the unified headers.
We'll undef EPOLL_CLOEXEC if we don't have epoll_create1 for the time
being, and maybe revisit this later.

Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/302
Bug: https://github.com/android-ndk/ndk/issues/394
Change-Id: I8ee9ce62768fb174070ec51d114f477389befc4a

7 years agoAdd a netcontext variant of gethostbyname
Ben Schwartz [Mon, 22 May 2017 14:19:25 +0000 (10:19 -0400)]
Add a netcontext variant of gethostbyname

Bug: 34953048
Test: Integration tests pass
Change-Id: I670427d67fde09d8e76ea6a920c90a1969230c4f

7 years agoMerge "Add a netcontext variant of gethostbyaddr"
Treehugger Robot [Mon, 22 May 2017 10:06:29 +0000 (10:06 +0000)]
Merge "Add a netcontext variant of gethostbyaddr"

7 years agoMerge "Add the DNS query hook to net context"
Treehugger Robot [Mon, 22 May 2017 02:51:33 +0000 (02:51 +0000)]
Merge "Add the DNS query hook to net context"

7 years agoMerge "Va_end should be used with va_start"
Treehugger Robot [Sat, 20 May 2017 22:08:10 +0000 (22:08 +0000)]
Merge "Va_end should be used with va_start"

7 years agoVa_end should be used with va_start
Mikhail Lappo [Sat, 25 Mar 2017 18:02:55 +0000 (19:02 +0100)]
Va_end should be used with va_start

va_start is used and va_end should
be invoked accordingly

Change-Id: I2b0a2af762e22082a351a4d8139aaa48bc791e88

7 years agoFix _POSIX_THREAD_PROCESS_SHARED.
Elliott Hughes [Sat, 20 May 2017 19:47:14 +0000 (12:47 -0700)]
Fix _POSIX_THREAD_PROCESS_SHARED.

We've had pthread_*_setpshared for long enough that there are no
__INTRODUCED_IN guards.

Found because fio's configure script was confused by this.

Bug: N/A
Test: ran tests
Change-Id: I07b4d937741e4dcd7e615f2371b17c827341917a

7 years agoMerge "Fix missing function export."
Christopher Ferris [Fri, 19 May 2017 23:20:25 +0000 (23:20 +0000)]
Merge "Fix missing function export."

7 years agoFix missing function export.
Christopher Ferris [Fri, 19 May 2017 20:47:16 +0000 (13:47 -0700)]
Fix missing function export.

Bug: 36401135

Test: Actually enable debug malloc and verify it loads properly.
Test: Ran unit tests.
Change-Id: I9df1699b06bb14c5df2c3cab35dc2eb0819033f1

7 years agoMerge "Make `union semun` usable."
Elliott Hughes [Fri, 19 May 2017 18:24:08 +0000 (18:24 +0000)]
Merge "Make `union semun` usable."

7 years agoMake `union semun` usable.
Elliott Hughes [Thu, 18 May 2017 22:05:26 +0000 (15:05 -0700)]
Make `union semun` usable.

This is a bit bogus because it's been removed from glibc (though not
thoroughly) and is never useful on Android (because the system calls
in question are compiled out of Android kernels, and SELinux would
disallow them even if you weren't running an Android kernel). This
also means that on glibc you need to include <linux/sem.h> for this
and on bionic you need <sys/sem.h> (and for either if you #include
the other file, you won't get this union).

Bug: https://github.com/android-ndk/ndk/issues/400
Test: added new test
Change-Id: I47f721da77515531f616d6ad8479bfbc9b60ee47

7 years agoAdd a netcontext variant of gethostbyaddr
Ben Schwartz [Mon, 24 Apr 2017 21:57:11 +0000 (17:57 -0400)]
Add a netcontext variant of gethostbyaddr

Bug: 34953048
Test: Integration tests pass
Change-Id: Id04830345be56cd7a077981c6e2acfb5568e7a88

7 years agoAdd the DNS query hook to net context
Ben Schwartz [Mon, 24 Apr 2017 21:57:11 +0000 (17:57 -0400)]
Add the DNS query hook to net context

This change
 - adds a query hook to android_net_context
 - exposes relevant definitions to netd
 - corrects a bug in query hooks' interaction with the cache

This change does not introduce any code to read the query hook
from the net context or make use of it.

Bug: 34953048
Test: Netd test suite passes
Change-Id: Ie091980e22ce9da07a3c4d387b371e544379d762

7 years agoMerge "Fix Mac build."
Treehugger Robot [Thu, 18 May 2017 02:23:36 +0000 (02:23 +0000)]
Merge "Fix Mac build."

7 years agoMerge "Make mallopt available in the future."
Christopher Ferris [Thu, 18 May 2017 02:23:05 +0000 (02:23 +0000)]
Merge "Make mallopt available in the future."

7 years agoMerge "Remove reference to obj/lib"
Treehugger Robot [Thu, 18 May 2017 01:49:36 +0000 (01:49 +0000)]
Merge "Remove reference to obj/lib"

7 years agoFix Mac build.
Elliott Hughes [Thu, 18 May 2017 00:36:08 +0000 (17:36 -0700)]
Fix Mac build.

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

7 years agoRemove reference to obj/lib
Dan Willemsen [Wed, 17 May 2017 23:47:23 +0000 (16:47 -0700)]
Remove reference to obj/lib

It's going away, since we don't have a single library on device anymore,
and it's simpler to keep the host looking like the device. This doesn't
seem to need it anymore either -- the libraries are found relative to
the test binary.

Test: bionic/tests/run-on-host.sh glibc
Change-Id: Ie9bf6388ecd773623181ec9eadb35d6e0ba0a441

7 years agoMerge "tests/utils.h should #include <sys/sysmacros.h>"
Treehugger Robot [Wed, 17 May 2017 22:48:53 +0000 (22:48 +0000)]
Merge "tests/utils.h should #include <sys/sysmacros.h>"

7 years agoMake mallopt available in the future.
Christopher Ferris [Wed, 17 May 2017 21:48:59 +0000 (14:48 -0700)]
Make mallopt available in the future.

I made this in 26 but it's really only available in the future.

Test: Built angler image.
Change-Id: I9e1179b350103bf1b8774459a9e210b377300d40

7 years agoMerge "Stop using $(TARGET_OUT_INTERMEDIATE_LIBRARIES)"
Dan Willemsen [Wed, 17 May 2017 19:50:53 +0000 (19:50 +0000)]
Merge "Stop using $(TARGET_OUT_INTERMEDIATE_LIBRARIES)"

7 years agotests/utils.h should #include <sys/sysmacros.h>
Elliott Hughes [Wed, 17 May 2017 18:43:39 +0000 (11:43 -0700)]
tests/utils.h should #include <sys/sysmacros.h>

Bug: https://github.com/android-ndk/ndk/issues/398
Test: builds
Change-Id: Ie81b49787d468e409db4024763f29946d3e4250f

7 years agoStop using $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
Dan Willemsen [Tue, 16 May 2017 19:51:21 +0000 (12:51 -0700)]
Stop using $(TARGET_OUT_INTERMEDIATE_LIBRARIES)

It's going away, so use the built versions in the per-library
intermediate directories instead.

Test: `m -j bionic-unit-tests` produces the same output before/after
Change-Id: Ia5cd874d13129b2be89cdc26e4ec598be4003c87

7 years agoMerge "libc: ARM64: fix memset for non-standard ZVA sizes"
Christopher Ferris [Tue, 16 May 2017 20:07:19 +0000 (20:07 +0000)]
Merge "libc: ARM64: fix memset for non-standard ZVA sizes"

7 years agoMerge "Add support for modifying decay timer."
Christopher Ferris [Tue, 16 May 2017 14:02:51 +0000 (14:02 +0000)]
Merge "Add support for modifying decay timer."

7 years agolibc: ARM64: fix memset for non-standard ZVA sizes
Kevin Brodsky [Tue, 16 May 2017 10:29:49 +0000 (11:29 +0100)]
libc: ARM64: fix memset for non-standard ZVA sizes

372f19e9e27c ("libc: ARM64: update memset/strlen/memcpy/memmove to
newlib/cortex-strings") introduced a bug in memset, only occurring
on the [set_long + zero + non-standard ZVA size] path, more
specifically when DCZID_EL0 reports a size different to 64 or 128.

On platforms with such sizes reported by DCZID_EL0, various string*
unit tests fail due to memset zeroing memory before and/or after the
area it is supposed to set.

Test: bionic-unit-tests --gtest_filter=string*
Change-Id: Idb80c0269226e40e343645a58608e3f324378468

7 years agoAdd support for modifying decay timer.
Christopher Ferris [Mon, 15 May 2017 22:50:19 +0000 (15:50 -0700)]
Add support for modifying decay timer.

Add the mallopt function, and only a single option so far.

Bug: 36401135

Test: Built and booted bullhead.
Test: Ran jemalloc unit tests.
Test: Ran bionic unit tests.
Test: Ran a test that allocated and free'd a large piece of memory,
Test: and verified that after changing the parameter, the PSS
Test: sticks around (decay timer set to 1), the PSS is purged (decay
Test: timer set to 0).
Change-Id: I6927929b0c539c1023d34772d9e26bb6a8a45877

7 years agoMerge "Add support for cortex-a73."
Christopher Ferris [Mon, 15 May 2017 22:00:42 +0000 (22:00 +0000)]
Merge "Add support for cortex-a73."

7 years agoAdd support for cortex-a73.
Christopher Ferris [Mon, 8 May 2017 19:09:03 +0000 (12:09 -0700)]
Add support for cortex-a73.

Bug: 37647380

Test: Built target with cortex-a73 for both 32 bit/64 bit.
Test: Built target with cortex-a53.cortex-a57 for both 32 bit/64 bit.
Test: Ran bionic unit tests, ran art target tests.

(cherry picked from commit 6fca047b5379c2bf7b6b874a2b2f9cc44e1b01fa)

Change-Id: I2c48e1bc7f4a3c4548d1c66f87eab19c8618a0b8

7 years agoMerge "test: check unbounded memory leak in pthread detach"
Elliott Hughes [Mon, 15 May 2017 16:20:03 +0000 (16:20 +0000)]
Merge "test: check unbounded memory leak in pthread detach"

7 years agotest: check unbounded memory leak in pthread detach
Zhenhua WANG [Fri, 12 May 2017 05:53:51 +0000 (13:53 +0800)]
test: check unbounded memory leak in pthread detach

In pthread_leak.detach test, compare the memory usage after two same
scenarios - all children threads have exited. Thus, test emulated by
NativeBridge, which may reserve a memory pool, will pass if it's not
unbounded leak.

Bug: https://issuetracker.google.com/37920774
Test: CtsBionicTestCases
Change-Id: Ia51aa67bacb588284747652b36ea5d8e85bea832

7 years agoMerge "Clean up __isthreaded."
Treehugger Robot [Fri, 12 May 2017 01:35:49 +0000 (01:35 +0000)]
Merge "Clean up __isthreaded."

7 years agoMerge "Run bionic/libc/tools/genversion-scripts.py"
Treehugger Robot [Thu, 11 May 2017 23:52:13 +0000 (23:52 +0000)]
Merge "Run bionic/libc/tools/genversion-scripts.py"

7 years agoClean up __isthreaded.
Elliott Hughes [Thu, 11 May 2017 22:29:03 +0000 (15:29 -0700)]
Clean up __isthreaded.

__isthreaded is annoying for ARC++ and useless for everyone. Just hard-code
the value in ndk_cruft for LP32 and be done with it.

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

7 years agoRun bionic/libc/tools/genversion-scripts.py
Elliott Hughes [Thu, 11 May 2017 22:14:41 +0000 (15:14 -0700)]
Run bionic/libc/tools/genversion-scripts.py

When 2e8e5e60b6ecbcfe2110242e41b9ec5340b11cf5 was cherrypicked, we
didn't regenerate the generated files.

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

7 years agoMerge "Fix clang-tidy perfomrance warnings."
Treehugger Robot [Thu, 11 May 2017 02:46:42 +0000 (02:46 +0000)]
Merge "Fix clang-tidy perfomrance warnings."

7 years agoFix clang-tidy perfomrance warnings.
wy [Wed, 10 May 2017 22:21:13 +0000 (15:21 -0700)]
Fix clang-tidy perfomrance warnings.

Change-Id: Ibf3d32a5ba1cb70158d857be3d20aa3d1a870341
Test: build with WITH_TIDY=1

7 years agoMerge "greylist is no longer enabled by default."
Treehugger Robot [Wed, 10 May 2017 02:33:28 +0000 (02:33 +0000)]
Merge "greylist is no longer enabled by default."

7 years agoMerge "Remove known failures from arm ifunc tests"
Treehugger Robot [Wed, 10 May 2017 02:27:56 +0000 (02:27 +0000)]
Merge "Remove known failures from arm ifunc tests"

7 years agoMerge "Cope with AT_SYSINFO not being set on x86."
Treehugger Robot [Wed, 10 May 2017 01:28:53 +0000 (01:28 +0000)]
Merge "Cope with AT_SYSINFO not being set on x86."

7 years agogreylist is no longer enabled by default.
Jiyong Park [Fri, 5 May 2017 13:07:05 +0000 (22:07 +0900)]
greylist is no longer enabled by default.

greylist is needed only for application namepaces. Since we started using
linker-namesapces for vendors and other platform apps linker should not
enable greylist workaround by default.

Bug: http://b/37731053
Bug: https://issuetracker.google.com/38146125
Test: sailfish builds and boots
Test: bionic-unit-tests and linker-unit-tests pass
Change-Id: Iee83db6fb1ae754f5ade18491321d9bca3b5ead4
(cherry picked from commit e8ffe56a9c2bacc6bd880238250ad61e2bbb257b)

7 years agoMerge "Zero-initialize user_desc for __set_thread_area."
Elliott Hughes [Tue, 9 May 2017 23:59:07 +0000 (23:59 +0000)]
Merge "Zero-initialize user_desc for __set_thread_area."

7 years agoZero-initialize user_desc for __set_thread_area.
Elliott Hughes [Tue, 9 May 2017 21:39:24 +0000 (14:39 -0700)]
Zero-initialize user_desc for __set_thread_area.

The kernel does seem to read some of the "unused" fields if only to do
basic validity checks.

valgrind complained about this, and I'm not convinced it's spurious.

Bug: http://b/38034461
Test: ran tests
Change-Id: I077fcc75bf0738491242166fc4576a9693ce18a5

7 years agoCope with AT_SYSINFO not being set on x86.
Elliott Hughes [Tue, 9 May 2017 21:26:30 +0000 (14:26 -0700)]
Cope with AT_SYSINFO not being set on x86.

Bug: http://b/38034461
Test: ran dexdump under valgrind on x86
Change-Id: I6a54c7ed4fe4e68731e099d9569ab788379820f8

7 years agoMerge "Add new memchr/strrchr tests."
Christopher Ferris [Tue, 9 May 2017 16:40:29 +0000 (16:40 +0000)]
Merge "Add new memchr/strrchr tests."

7 years agoAdd new memchr/strrchr tests.
Christopher Ferris [Mon, 8 May 2017 21:24:29 +0000 (14:24 -0700)]
Add new memchr/strrchr tests.

There are new optimizations for these functions, so adding some extra
testing for these routines.

Also, clean up the strchr test slightly with some extra comments.

Test: Ran new tests on glibc version, and on angler.
Change-Id: I41bf4e5e2c84295cc1ce9d2226ed57c2d228d7b8

7 years agoMerge "Make raise/abort work with stale cached pid/tid values."
Treehugger Robot [Sat, 6 May 2017 00:56:20 +0000 (00:56 +0000)]
Merge "Make raise/abort work with stale cached pid/tid values."

7 years agoMake raise/abort work with stale cached pid/tid values.
Josh Gao [Fri, 5 May 2017 20:27:15 +0000 (13:27 -0700)]
Make raise/abort work with stale cached pid/tid values.

Switch raise to using tgkill with direct syscalls of getpid/gettid,
and switch abort to use raise(SIGABRT).

Bug: http://b/37769298
Test: debuggerd_test
Change-Id: If6f9d17fd8ae6177e742dc9f2f44bd78539431ba

7 years agoMerge changes from topic 'mips_seccomp_fixes'
Treehugger Robot [Fri, 5 May 2017 18:31:31 +0000 (18:31 +0000)]
Merge changes from topic 'mips_seccomp_fixes'

* changes:
  [MIPS64] Enable necessary mips64 syscalls in seccomp whitelist
  Fix MIPS seccomp definitions for PRIMARY and SECONDARY arch

7 years ago[MIPS64] Enable necessary mips64 syscalls in seccomp whitelist
Lazar Trsic [Fri, 5 May 2017 12:44:11 +0000 (14:44 +0200)]
[MIPS64] Enable necessary mips64 syscalls in seccomp whitelist

Allow execution of: newfstatat, fstat and cacheflush syscalls
for mips64 arch.

Test: Boot mips64 emulator to homescreen with 3.18 kernel.
emulator -kernel prebuilts/qemu-kernel/mips64/3.18/kernel-qemu2

Change-Id: Ib5d6b0060f3e17b64d86fc944aa83a5240d512f8

7 years agoFix MIPS seccomp definitions for PRIMARY and SECONDARY arch
Lazar Trsic [Fri, 5 May 2017 12:29:34 +0000 (14:29 +0200)]
Fix MIPS seccomp definitions for PRIMARY and SECONDARY arch

Set correct values for PRIMARY and SECONDARY arch definitions
to match LE MIPS architectures.
This change is resolving boot problem for mips32 arch with 3.18 kernel.
This also fixes mips64 issue related to PRIMARY_ARCH definition,
but in order to boot to home screen it needs additional syscalls whitelisted
which will be introduced in separate patch.

Tested on emulator:
emulator -kernel prebuilts/qemu-kernel/mips/3.18/kernel-qemu2

Change-Id: I68dfd136c22141933a8a8c5336db01a02f00b0df

7 years agoMerge "libc: clean up ARM64 copyright notices"
Treehugger Robot [Fri, 5 May 2017 07:15:08 +0000 (07:15 +0000)]
Merge "libc: clean up ARM64 copyright notices"

7 years agolibc: clean up ARM64 copyright notices
Jake Weinstein [Thu, 4 May 2017 16:08:39 +0000 (12:08 -0400)]
libc: clean up ARM64 copyright notices

Test: None needed

Change-Id: I3626a92329e954f67bada6ed73f3033225bbfef5

7 years agoMerge changes Ia7200bf0,I86999bb7
Treehugger Robot [Thu, 4 May 2017 04:08:22 +0000 (04:08 +0000)]
Merge changes Ia7200bf0,I86999bb7

* changes:
  versioner: fix leak.
  versioner: add symlink for dependencies.

7 years agoRemove known failures from arm ifunc tests
Dimitry Ivanov [Wed, 3 May 2017 18:01:00 +0000 (11:01 -0700)]
Remove known failures from arm ifunc tests

Since clang does not produce IRELATIVE relocations
this test started passing when we switched away from gcc
This is still a problem because it now leads to
situation where static ifuncs become globally visible
but this is a different problem.

Test: bionic-unit-tests --gtest_filer=dl*
Change-Id: Id27ba5093b88519c00acbc43ab8a991a671a9f51

7 years agoMerge "Move libc_log code into libasync_safe."
Christopher Ferris [Wed, 3 May 2017 17:43:33 +0000 (17:43 +0000)]
Merge "Move libc_log code into libasync_safe."

7 years agoMerge "Add ifunc for variable test-case"
Dimitry Ivanov [Wed, 3 May 2017 16:11:25 +0000 (16:11 +0000)]
Merge "Add ifunc for variable test-case"

7 years agoMove libc_log code into libasync_safe.
Christopher Ferris [Tue, 25 Apr 2017 00:48:32 +0000 (17:48 -0700)]
Move libc_log code into libasync_safe.

This library is used by a number of different libraries in the system.
Make it easy for platform libraries to use this library and create
an actual exported include file.

Change the names of the functions to reflect the new name of the library.

Run clang_format on the async_safe_log.cpp file since the formatting is
all over the place.

Bug: 31919199

Test: Compiled for angler/bullhead, and booted.
Test: Ran bionic unit tests.
Test: Ran the malloc debug tests.
Change-Id: I8071bf690c17b0ea3bc8dc5749cdd5b6ad58478a

7 years agoMerge "Shared namespaces inherit parent ns properties"
Treehugger Robot [Wed, 3 May 2017 01:28:34 +0000 (01:28 +0000)]
Merge "Shared namespaces inherit parent ns properties"

7 years agoShared namespaces inherit parent ns properties
Dimitry Ivanov [Tue, 2 May 2017 00:45:38 +0000 (17:45 -0700)]
Shared namespaces inherit parent ns properties

Make shared namespace inherit namespace links and
search/permitted paths from the parent namespace.

Bug: http://b/37854032
Test: bionic_unit_tests --gtest_filter=dl*:Dl*
Change-Id: I174661d4a1dd0cbe4a378179073719aa955f3592
(cherry picked from commit ec43dd6c36d75014c4e4dc592dd67ab20033a76a)

7 years agoAdd ifunc for variable test-case
Dimitry Ivanov [Tue, 2 May 2017 23:31:56 +0000 (16:31 -0700)]
Add ifunc for variable test-case

Also move ifunc tests to clang and c++.

Test: bionic-unit-tests --gtest_filter=dlfcn.ifunc*
Change-Id: I008c4fc01470c8e4d314003c03a2b63ff9bf7fd8

7 years agoMerge "Fix pthread_barrier_smoke test (part 2)."
Yabin Cui [Tue, 2 May 2017 23:20:32 +0000 (23:20 +0000)]
Merge "Fix pthread_barrier_smoke test (part 2)."

7 years agoFix pthread_barrier_smoke test (part 2).
Yabin Cui [Tue, 2 May 2017 23:18:13 +0000 (16:18 -0700)]
Fix pthread_barrier_smoke test (part 2).

Bug:http://b/37652807
Test: run bionic-unit-tests.
Change-Id: Iaea553177956c5d08f754210273637f69d888c20

7 years agoMerge "Fix test compile errors after LLVM rebase"
Treehugger Robot [Tue, 2 May 2017 22:25:58 +0000 (22:25 +0000)]
Merge "Fix test compile errors after LLVM rebase"

7 years agoMerge "Fix pthread_barrier_smoke test."
Treehugger Robot [Tue, 2 May 2017 21:51:40 +0000 (21:51 +0000)]
Merge "Fix pthread_barrier_smoke test."

7 years agoFix test compile errors after LLVM rebase
Yi Kong [Sun, 30 Apr 2017 22:08:05 +0000 (15:08 -0700)]
Fix test compile errors after LLVM rebase

After the new rebase of Clang, we now support the alloc_size attribute,
so we can remove the warning about switching to alloc_size once Clang
has support.

Also fix an issue where 'false' is returned in a main method.

Test: make cts
Bug: 37752547
Change-Id: I32ee814aaa0338567cb8174a68d7ee1bfece2f75

7 years agoFix pthread_barrier_smoke test.
Yabin Cui [Tue, 2 May 2017 19:57:39 +0000 (12:57 -0700)]
Fix pthread_barrier_smoke test.

Bug: http://b/37652807
Test: run bionic-unit-tests.
Change-Id: Id7245223bc2a284efed6e710892b58947ef5d555

7 years agoMerge "versioner: disable container overflow checks"
Treehugger Robot [Tue, 2 May 2017 03:50:28 +0000 (03:50 +0000)]
Merge "versioner: disable container overflow checks"

7 years agoMerge "linker: add android_get_exported_namespace"
Treehugger Robot [Tue, 2 May 2017 01:37:02 +0000 (01:37 +0000)]
Merge "linker: add android_get_exported_namespace"

7 years agoversioner: disable container overflow checks
Andreas Gampe [Sat, 29 Apr 2017 02:32:13 +0000 (19:32 -0700)]
versioner: disable container overflow checks

Temporary workaround.

Bug: 37775238
Test: ASAN_OPTIONS= SANITIZE_HOST=address m
Change-Id: If9e9df45d83f8412caafcece87337a5c9df3a1c8

7 years agoMerge "fix half-deleted comments in tests"
Treehugger Robot [Mon, 1 May 2017 20:17:20 +0000 (20:17 +0000)]
Merge "fix half-deleted comments in tests"