OSDN Git Service
Dan Willemsen [Mon, 4 Apr 2016 21:14:01 +0000 (21:14 +0000)]
Merge "Update Android.bp with recent Android.mk changes"
Dimitry Ivanov [Mon, 4 Apr 2016 20:25:21 +0000 (20:25 +0000)]
Merge "Enable ifunc test for arm"
Dan Willemsen [Mon, 4 Apr 2016 20:18:46 +0000 (13:18 -0700)]
Update Android.bp with recent Android.mk changes
This ports Idb3d445e053c44180773f59774df19b324f6817f to Android.bp
Change-Id: Id5cdb450330792810b8eb61b3cab115ef046e55d
Elliott Hughes [Mon, 4 Apr 2016 19:46:18 +0000 (19:46 +0000)]
Merge "Remove a workaround from stack_protector_test that's not needed in "
Elliott Hughes [Mon, 4 Apr 2016 18:41:05 +0000 (18:41 +0000)]
Merge "Move math headers in with the other headers."
Dimitry Ivanov [Wed, 30 Mar 2016 23:44:48 +0000 (16:44 -0700)]
Enable ifunc test for arm
Bug: http://b/
27930475
Change-Id: I1f9e7c5b9ffabfd77ae6ebd534938aef39ec7987
Dimitry Ivanov [Mon, 4 Apr 2016 16:49:21 +0000 (16:49 +0000)]
Merge "Revert "[MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment""
Nick Kralevich [Sun, 3 Apr 2016 16:20:25 +0000 (16:20 +0000)]
Merge "tests: allow brk to fail with ENOMEM"
Daniel Micay [Thu, 31 Dec 2015 13:04:53 +0000 (08:04 -0500)]
tests: allow brk to fail with ENOMEM
Any caller of brk needs to handle failure by falling back to mmap as
there's no guarantee that other mappings are not placed above the brk
heap. Since jemalloc starts with mmap in the first place and dlmalloc
knows how to fall back to mmap, it's already a legacy API in Android.
Forcing it to succeed rules out stronger ASLR implementations where the
brk heap might not have any room to grow. It's also valid for the brk
implementation to simply return -1 with errno set to ENOMEM in every
case and that's a good way of finding anything relying on it. It would
make sense for it to be an optional kernel feature.
The brk heap is also not guaranteed to be initially page aligned. PaX
ASLR randomizes the internal bits. It was only mentioned in a comment to
explain the design of the test though.
Bug:
24233096
Change-Id: I16e9bc8677e796c73915b830b99b0ce39c02b31d
Elliott Hughes [Sat, 2 Apr 2016 15:36:33 +0000 (08:36 -0700)]
Move math headers in with the other headers.
Keeping them separate is a pain for the NDK, and doesn't help the platform.
Change-Id: I96b8beef307d4a956e9c0a899ad9315adc502582
Elliott Hughes [Sat, 2 Apr 2016 04:02:25 +0000 (21:02 -0700)]
Remove a workaround from stack_protector_test that's not needed in
The compiler in master doesn't leave a gap between the buffer and the stack
guard canary.
Bug: http://b/
27815668
Change-Id: Iae6681683881055c2719d661a2179f5305c23135
Elliott Hughes [Sat, 2 Apr 2016 04:01:54 +0000 (04:01 +0000)]
Merge "Fix the stack-protector test for x86/x86-64."
Elliott Hughes [Fri, 1 Apr 2016 21:51:10 +0000 (14:51 -0700)]
Fix the stack-protector test for x86/x86-64.
Built for fugu this was working fine, but built for generic x86/x86-64
the compiler was (a) optimizing out all the stack writes and (b) inserting
enough padding on x86-64 for the canary to be safely out of the way.
While here, let's tighten up this test so we test that it's sufficient to
only overwrite the buffer by one byte...
(cherry-pick of
6f90c1ac59eb4e7811b7b0e408615049c935c0a9.)
Bug: http://b/
27815668
Change-Id: I80a646de4b30fd5c78df20fdaa7e3eb163585caf
Elliott Hughes [Fri, 1 Apr 2016 20:30:11 +0000 (20:30 +0000)]
Merge "Ensure only mips is using GCC to build bionic."
Yabin Cui [Fri, 1 Apr 2016 17:56:33 +0000 (17:56 +0000)]
Merge "Check current pid at libc initialization for 32-bit build."
Elliott Hughes [Fri, 1 Apr 2016 17:54:27 +0000 (10:54 -0700)]
Ensure only mips is using GCC to build bionic.
MIPS still have ld128 and 16-bit atomics issues with clang, so we can't
just remove this yet.
Bug: http://b/
25291096
Change-Id: I2645ebf3af04e1a4008d70da780c04240e3d7a85
Elliott Hughes [Fri, 1 Apr 2016 17:26:53 +0000 (17:26 +0000)]
Merge "Tell GCC that sometimes we have to build deprecated functions."
Elliott Hughes [Fri, 1 Apr 2016 17:25:19 +0000 (10:25 -0700)]
Tell GCC that sometimes we have to build deprecated functions.
We're the C library. Nothing could be more deprecated.
bionic/libc/bionic/pthread_cond.cpp:243:10: error: 'int pthread_cond_timedwait_relative_np(pthread_cond_t*, pthread_mutex_t*, const timespec*)' is deprecated (declared at bionic/libc/bionic/pthread_cond.cpp:227): use pthread_cond_timedwait instead [-Werror=deprecated-declarations]
return pthread_cond_timedwait_relative_np(cond_interface, mutex, &ts);
^
bionic/libc/bionic/pthread_cond.cpp:243:71: error: 'int pthread_cond_timedwait_relative_np(pthread_cond_t*, pthread_mutex_t*, const timespec*)' is deprecated (declared at bionic/libc/bionic/pthread_cond.cpp:227): use pthread_cond_timedwait instead [-Werror=deprecated-declarations]
return pthread_cond_timedwait_relative_np(cond_interface, mutex, &ts);
^
Change-Id: Idb3d445e053c44180773f59774df19b324f6817f
Elliott Hughes [Fri, 1 Apr 2016 16:43:42 +0000 (16:43 +0000)]
Merge "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE."
Elliott Hughes [Fri, 1 Apr 2016 02:11:49 +0000 (02:11 +0000)]
Merge "Differentiate the MNTTYPE_* and MNTOPT_* constants."
Elliott Hughes [Fri, 1 Apr 2016 01:20:01 +0000 (18:20 -0700)]
Differentiate the MNTTYPE_* and MNTOPT_* constants.
Bug: http://b/
27952303
Change-Id: I926593c16143f76b21a65af7f6e1979d0fb44cac
Elliott Hughes [Fri, 1 Apr 2016 01:14:23 +0000 (01:14 +0000)]
Merge "Add a few missing types and constants to headers."
Elliott Hughes [Fri, 1 Apr 2016 00:05:30 +0000 (17:05 -0700)]
Add a few missing types and constants to headers.
This (and other stuff still to come) prevented xfstests from building out
of the box.
Bug: http://b/
27952303
Change-Id: Id38fd37386d43fc351c56dca18785a465e3e6145
Yabin Cui [Tue, 29 Mar 2016 19:25:12 +0000 (12:25 -0700)]
Check current pid at libc initialization for 32-bit build.
Although there is a test pthread.pthread_mutex_owner_tid_limit
to check pid_max, but bionic-unit-tests hangs before reaching
that test. So abort at libc initialization if not able to reach
the test when running bionic-unit-tests32. It is more friendly
for debugging.
Bug:
24016357
Change-Id: Ia70c2e36fd8a3a040d41ea5722c7b48a6134e102
Elliott Hughes [Wed, 30 Mar 2016 17:33:54 +0000 (10:33 -0700)]
Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE.
Bug: http://b/
27918161
Change-Id: I21d4dfa4636aa06a93b3c8a215113f66f37f0bc7
Josh Gao [Wed, 30 Mar 2016 02:27:00 +0000 (02:27 +0000)]
Merge "Add a checksum to jmp_buf on mips and mips64."
Josh Gao [Wed, 30 Mar 2016 00:58:30 +0000 (00:58 +0000)]
Merge changes from topic 'setjmp_checksum_x86'
* changes:
Add a checksum to jmp_buf on x86_64.
Delete lies from x86_64 setjmp implementation.
Add a checksum to jmp_buf on x86.
Josh Gao [Tue, 29 Mar 2016 21:53:26 +0000 (14:53 -0700)]
Add a checksum to jmp_buf on x86_64.
Bug: http://b/
27856501
Bug: http://b/
27417786
Change-Id: I541f5a7ce4972ef56b3f69e73927ca7df362609a
Josh Gao [Tue, 29 Mar 2016 21:34:03 +0000 (14:34 -0700)]
Delete lies from x86_64 setjmp implementation.
Previously, the implementation of setjmp on x86_64 claimed that
sigprocmask would write to two longs' worth of bytes.
Bug: http://b/
27856501
Change-Id: I9f32b40ac773a0cd91a976aace5bfba6e67fb0f8
Josh Gao [Tue, 29 Mar 2016 21:03:09 +0000 (14:03 -0700)]
Add a checksum to jmp_buf on x86.
Bug: http://b/
27856501
Bug: http://b/
27417786
Change-Id: Id5a0a81fc38e311bff678cbc7dc2219bc0074503
Yabin Cui [Tue, 29 Mar 2016 23:44:59 +0000 (23:44 +0000)]
Merge "Fix test getauxval.arm_has_AT_HWCAP2."
Dan Willemsen [Tue, 29 Mar 2016 23:36:41 +0000 (23:36 +0000)]
Merge "Update Android.bp with getdomainname"
Yabin Cui [Tue, 29 Mar 2016 22:41:49 +0000 (15:41 -0700)]
Fix test getauxval.arm_has_AT_HWCAP2.
Bug:
27874785
Change-Id: Ibb39087c5353a0cca7783d39498b370e478fe91c
Dan Willemsen [Tue, 29 Mar 2016 22:21:38 +0000 (15:21 -0700)]
Update Android.bp with getdomainname
Change-Id: I32383162acd16430089708fdce8927be43d1bc5a
Dimitry Ivanov [Mon, 28 Mar 2016 22:32:31 +0000 (22:32 +0000)]
Merge "linker: hide the pointer to soinfo"
Dimitry Ivanov [Thu, 24 Mar 2016 22:30:30 +0000 (15:30 -0700)]
linker: hide the pointer to soinfo
Handle no longer is a pointer to soinfo of
a corresponding library. This is done to
prevent access to linker internal fields.
Bug: http://b/
25593965
Change-Id: I62bff0d0e5b2dc842e6bf0babb30fcc4c000be24
Elliott Hughes [Mon, 28 Mar 2016 19:33:48 +0000 (19:33 +0000)]
Merge "Don't bother insisting on AT_HWCAP2 for 32-bit devices."
Greg Hackmann [Mon, 28 Mar 2016 19:19:15 +0000 (19:19 +0000)]
Merge "clock_nanosleep: add CLOCK_THREAD_CPUTIME_ID special case"
Elliott Hughes [Mon, 28 Mar 2016 18:53:12 +0000 (11:53 -0700)]
Don't bother insisting on AT_HWCAP2 for 32-bit devices.
Bug: http://b/
27874785
Change-Id: I9dcf345ae1221f665f267cba3ed9279435671b75
Greg Hackmann [Sat, 26 Mar 2016 18:37:55 +0000 (11:37 -0700)]
clock_nanosleep: add CLOCK_THREAD_CPUTIME_ID special case
POSIX makes "the CPU-time clock of the calling thread" (i.e.,
CLOCK_THREAD_CPUTIME_ID) a special case which returns EINVAL instead of
ENOTSUP.
However, the clock_nanosleep syscall treats this clock just like any
other, and returns -EOPNOTSUPP to indicate an unimplemented nanosleep
handler. So we need to handle this ourselves in userspace.
This change fixes the LTP clock_nanosleep01 testcase.
Change-Id: If3bed940d276834bcd114d8c17f96197e9384711
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Predrag Blagojevic [Wed, 16 Mar 2016 14:49:12 +0000 (15:49 +0100)]
Add a checksum to jmp_buf on mips and mips64.
Make it easier to diagnose applications mucking with the contents of
jmp_buf by checksumming its contents.
Bug: http://b/
27417786
Change-Id: I473bc2871dece23a9b9d02481945246160d671c6
Nick Kralevich [Mon, 28 Mar 2016 00:27:05 +0000 (00:27 +0000)]
Merge "fixup x86 setdomainname.S"
Nick Kralevich [Sun, 27 Mar 2016 21:52:58 +0000 (14:52 -0700)]
fixup x86 setdomainname.S
Both
be910529322b461148debefd50b9e0d67ae84f8e and
e2faf07d659b1c824002e50b9cdfa9caae62a31b were submitted about
two days ago. The former changed how the syscalls stubs were
generated, but the latter was submitted using the old stub
format.
Use the new stub format for setdomainname.S
Change-Id: I578acd7053f57a275f6831dd2404ef04826c578e
Greg Hackmann [Fri, 25 Mar 2016 22:43:00 +0000 (22:43 +0000)]
Merge "Add hasmntopt(3)"
Elliott Hughes [Fri, 25 Mar 2016 22:20:42 +0000 (22:20 +0000)]
Merge "libc: implement kernel vdso syscalls for i386"
Greg Hackmann [Fri, 25 Mar 2016 22:02:06 +0000 (22:02 +0000)]
Merge "Add {get,set}domainname(2)"
Greg Hackmann [Fri, 4 Mar 2016 18:07:35 +0000 (10:07 -0800)]
Add hasmntopt(3)
bionic has the Linux-specific mntent.h but is missing hasmntopt().
Change-Id: I0ab7b83626c969704add4e64b37a6fc715d4a723
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Greg Hackmann [Thu, 3 Mar 2016 16:37:53 +0000 (08:37 -0800)]
Add {get,set}domainname(2)
{get,set}domainname aren't in POSIX but are widely-implemented
extensions.
The Linux kernel provides a setdomainname syscall but not a symmetric
getdomainname syscall, since it expects userspace to get the domain name
from uname(2).
Change-Id: I96726c242f4bb646c130b361688328b0b97269a0
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Mingwei Shi [Thu, 12 Nov 2015 07:02:14 +0000 (07:02 +0000)]
libc: implement kernel vdso syscalls for i386
This patch uses __kernel_vsyscall instead of "int 0x80"
as the syscall entry point. AT_SYSINFO points to
an adapter to mask the arch specific difference and gives a
performance boost on i386 architecture.
Change-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
Greg Hackmann [Fri, 25 Mar 2016 19:35:01 +0000 (19:35 +0000)]
Merge "epoll_create: reject size <= 0"
Greg Hackmann [Fri, 25 Mar 2016 19:34:44 +0000 (19:34 +0000)]
Merge "clone: check for NULL child stack"
Elliott Hughes [Fri, 25 Mar 2016 18:02:42 +0000 (18:02 +0000)]
Merge "Fix x86 __memset_chk."
Elliott Hughes [Fri, 25 Mar 2016 17:31:54 +0000 (17:31 +0000)]
Merge "Fix the AT_HWCAP2 test."
Elliott Hughes [Fri, 25 Mar 2016 15:29:05 +0000 (08:29 -0700)]
Fix the AT_HWCAP2 test.
"I have none of these capabilities" is a legitimate response, and
distinct from "I don't know what my capabilities are". It's the latter
I meant to test for.
Bug: http://b/
27810985
Change-Id: Id165423e62390051cbf23fdda54f28d94566cbe7
Elliott Hughes [Fri, 25 Mar 2016 05:34:47 +0000 (22:34 -0700)]
Fix x86 __memset_chk.
The stack offsets assumed we'd pushed %ebx. Unlike x86-64 we can't fall
through, but we can avoid repeating work we've already done.
Change-Id: I7e5f9be50983ed6178dd0c0534042da7ea30ad0c
Greg Hackmann [Thu, 24 Mar 2016 20:41:17 +0000 (13:41 -0700)]
epoll_create: reject size <= 0
Even though the size parameter to epoll_create(2) is (otherwise) unused,
passing in size <= 0 is explicitly documented as an error.
This change fixes the LTP epoll01 testcase.
Change-Id: I044a38be823c2fa956b57e77cc66571dfae8a4bb
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Greg Hackmann [Thu, 24 Mar 2016 00:15:02 +0000 (17:15 -0700)]
clone: check for NULL child stack
The clone syscall accepts NULL child stacks, interpreting this to mean
the child gets a copy of the parent's stack with copy-on-write
semantics. However clone(2) is explicitly documented to treat this an
an error.
"Fortunately" every architecture's __bionic_clone implementation pushes
something onto the child stack before making the clone syscall. So we
know fixing this won't break legacy apps, because any app that tried
using a NULL child stack would have died with SIGSEGV.
This change fixes the LTP clone04 testcase.
Change-Id: I663b34f34bc8dad2aa405c46e4eed4418cccca0d
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Elliott Hughes [Thu, 24 Mar 2016 03:28:30 +0000 (03:28 +0000)]
Merge "Remove the __USE_GNU guard from pthread_setname_np again."
Elliott Hughes [Thu, 24 Mar 2016 03:26:35 +0000 (20:26 -0700)]
Remove the __USE_GNU guard from pthread_setname_np again.
Caused build breakage, but not spotted by TreeHugger:
external/libnfc-nxp/Linux_x86/phDal4Nfc.c:737:5: error: implicit declaration of function 'pthread_setname_np' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
pthread_setname_np(pthread_self(), "reader");
^
Nice file name.
Change-Id: I102e55718babf4e4f2f2c64066c6a83ed3ac86d3
Elliott Hughes [Thu, 24 Mar 2016 02:47:10 +0000 (02:47 +0000)]
Merge "Add pthread_getname_np."
Elliott Hughes [Wed, 23 Mar 2016 18:20:47 +0000 (11:20 -0700)]
Add pthread_getname_np.
Also guard both these GNU extensions with _GNU_SOURCE.
Also improve the tests to test each case on both the current thread and
another thread, since the code paths are totally different.
Bug: http://b/
27810459
Change-Id: I72b05bca5c5b6ca8ba4585b8edfb716a1c252f92
Greg Hackmann [Thu, 24 Mar 2016 00:32:35 +0000 (00:32 +0000)]
Merge "genversion-scripts: fix script name in autogenerated comment"
Greg Hackmann [Thu, 3 Mar 2016 21:10:23 +0000 (13:10 -0800)]
genversion-scripts: fix script name in autogenerated comment
Change-Id: I2a304818cfc54d08a08d2e621e4cf74e7ce465dd
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Elliott Hughes [Wed, 23 Mar 2016 18:22:16 +0000 (18:22 +0000)]
Merge "Move relocation_packer off libnativehelper."
Elliott Hughes [Wed, 23 Mar 2016 03:27:39 +0000 (20:27 -0700)]
Move relocation_packer off libnativehelper.
Also remove other bits of makefile cruft.
Change-Id: I8b69822200959368003a8af9d1595bea9182d6d8
Yabin Cui [Wed, 23 Mar 2016 02:32:41 +0000 (02:32 +0000)]
Merge "Fix pthread.pthread_barrier_smoke test."
Yabin Cui [Wed, 23 Mar 2016 02:32:30 +0000 (02:32 +0000)]
Merge "CloseArchive() to free memory when OpenArchive fails."
Yabin Cui [Tue, 22 Mar 2016 00:10:12 +0000 (17:10 -0700)]
CloseArchive() to free memory when OpenArchive fails.
Bug:
26962895
Change-Id: I42418eee320ddae857b42572690316c53f638e85
Yabin Cui [Tue, 22 Mar 2016 20:45:55 +0000 (13:45 -0700)]
Fix pthread.pthread_barrier_smoke test.
pthread_barrier_smoke test uses WaitUntilThreadSleep() to wait until
BarrierTestHelper threads sleep in pthread_barrier_wait(). But this
is flaky as there a two futex_wait places in pthread_barrier_wait.
This patch modifies this test to avoid using WaitUntilThreadSleep().
Bug:
27780937
Change-Id: I4c36b82cce9345d5088f8854b289dc5bf7a08e8c
Elliott Hughes [Mon, 21 Mar 2016 18:20:02 +0000 (18:20 +0000)]
Merge "Add a CTS test to ensure AT_HWCAP2 is reported."
Elliott Hughes [Sat, 19 Mar 2016 01:36:04 +0000 (18:36 -0700)]
Add a CTS test to ensure AT_HWCAP2 is reported.
This is important for performance of 32-bit ARM crypto code in apps.
Bug: http://b/
27750752
Change-Id: If1cebc4d562aeb2ae0cc2834135af16e9bd0f79a
Christopher Ferris [Thu, 17 Mar 2016 17:52:54 +0000 (17:52 +0000)]
Merge "Fix race in malloc debug option free_track."
Christopher Ferris [Thu, 17 Mar 2016 01:01:26 +0000 (01:01 +0000)]
Merge "Fix bug where t9 is not correct when __memset_chk_fail is called. t9 is used to calculate gp at the start of __memset_chk_fail."
Christopher Ferris [Wed, 16 Mar 2016 05:39:39 +0000 (22:39 -0700)]
Fix race in malloc debug option free_track.
The free track mechanism could fail if, at the same time a free occurs,
another thread is trying to free and verify the same allocation. This
doesn't work if the freed allocation is added to the list and we still
do work on it. The fix is to only add to the free list when we are done
with the allocation.
Also fix a problem where the usable size is computed incorrectly because
two of the arguments where reversed.
In addition, add a check that the allocation being verified has the correct
tag before trying to check the body of the allocation.
Add a test to catch the original failure.
Add a test for the tag being different.
Bug:
27601650
Change-Id: Ie9200677d066255b8e668a48422f23f909f4ddee
Douglas Leung [Wed, 16 Mar 2016 23:59:23 +0000 (16:59 -0700)]
Fix bug where t9 is not correct when __memset_chk_fail is called.
t9 is used to calculate gp at the start of __memset_chk_fail.
Change-Id: Ief5018699e060afa691bfc1d861abd5e463ab80c
Dan Willemsen [Wed, 16 Mar 2016 22:52:57 +0000 (22:52 +0000)]
Merge "Android.bp: Add missing <complex.h> functions."
Dan Willemsen [Wed, 16 Mar 2016 22:46:35 +0000 (15:46 -0700)]
Android.bp: Add missing <complex.h> functions.
Android.bp port of https://android-review.googlesource.com/207658
Change-Id: I4bedd193a20f7dfb97d0a8bbb67c8472e727be87
Elliott Hughes [Wed, 16 Mar 2016 18:12:33 +0000 (18:12 +0000)]
Merge "Add missing <complex.h> functions."
Elliott Hughes [Wed, 16 Mar 2016 17:07:49 +0000 (17:07 +0000)]
Merge "Fix PTHREAD_THREADS_MAX."
Elliott Hughes [Wed, 16 Mar 2016 00:11:56 +0000 (17:11 -0700)]
Fix PTHREAD_THREADS_MAX.
We don't have a compile-time limit on the number of threads,
and we don't have a definite run-time limit either.
Bug: http://b/
27617302
Change-Id: I6a6fe083e7b655d24eb9e7ef7f3e0280d483080b
Christopher Ferris [Tue, 15 Mar 2016 17:47:02 +0000 (17:47 +0000)]
Merge "Fix problem where unknown option is not an error."
Josh Gao [Tue, 15 Mar 2016 02:43:10 +0000 (02:43 +0000)]
Merge "Silence false positive warnings on GCC."
Josh Gao [Tue, 15 Mar 2016 01:15:15 +0000 (18:15 -0700)]
Silence false positive warnings on GCC.
We still use GCC to build the bionic unit tests into CTS, and it emits a
false positive -Wmissing-field-initializers warning for the C++11 aggregate
initialization syntax `Foo foo = {}`.
Bug: http://b/
27656293
Change-Id: I016d8dae6d6cd28afe4bc19250c2a8fba908f8e6
Christopher Ferris [Mon, 14 Mar 2016 22:29:46 +0000 (15:29 -0700)]
Fix problem where unknown option is not an error.
If the first option is found, then any unknown options are simply
ignored, but do not produce an error. Fixed this so that each
option found is actually verified to exist.
Bug:
27620263
Change-Id: If58732df3285eeae72188162c505e0e202fada8c
Christopher Ferris [Sat, 12 Mar 2016 21:15:34 +0000 (21:15 +0000)]
Merge "Init functions after debug malloc succeeds."
Elliott Hughes [Fri, 11 Mar 2016 22:49:13 +0000 (14:49 -0800)]
Add missing <complex.h> functions.
FreeBSD doesn't seem interested in having low-quality implementations of
these functions:
cacoshl, cacosl, casinhl, casinl, catanhl, catanl, ccoshl, ccosl, cexpl,
clog, clogf, clogl, cpow, cpowf, cpowl, csinhl, csinl, ctanhl, ctanl.
And they still haven't got round to writing good implementations, so for
now let's just take the NetBSD ones so we have the full set.
Bug: http://b/
27555792
Change-Id: I6b72003cf749b1043f006377a01fffe5e1d659bc
Dan Willemsen [Fri, 11 Mar 2016 21:07:49 +0000 (21:07 +0000)]
Merge "Update Android.bp with x86 rint optimizations"
Dan Willemsen [Fri, 11 Mar 2016 21:01:20 +0000 (13:01 -0800)]
Update Android.bp with x86 rint optimizations
Change-Id: Ie14a40301d6dd601b34b3f2341947daf6294e2cb
Christopher Ferris [Fri, 11 Mar 2016 20:27:02 +0000 (12:27 -0800)]
Init functions after debug malloc succeeds.
Do not initialize all of the global function pointers associated with
debug malloc until the initialization has completed correctly.
Bug:
27600760
Change-Id: I0621b54bc2d9fab63805d7992d384e550d6fed2a
Goran Jakovljevic [Fri, 11 Mar 2016 16:22:08 +0000 (16:22 +0000)]
Revert "[MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment"
This reverts commit
0acb15ead6a554a6879b29fd90726b9ea8fd98c4.
This workaround is not needed any more. Now ART generates
.MIPS.abiflags segments in its files. This is done in
Ie06a3c4e384a23a77db7d04a2508edbf3a6d3933.
Change-Id: I746289eed443a0fdbe8fd0b1199bcc5cd4d024e1
Colin Cross [Fri, 11 Mar 2016 01:13:52 +0000 (01:13 +0000)]
Merge changes I3f1c1310,Ia8dc3481,I6b19fd63
* changes:
malloc_debug: fix multiplication overflow in debug_calloc
malloc_debug: round 0 byte allocations up to 1 byte
malloc_debug: iterate: use usable_size
Yabin Cui [Thu, 10 Mar 2016 23:58:32 +0000 (23:58 +0000)]
Merge "Adjust test to let it pass on libhoudini."
Colin Cross [Thu, 10 Mar 2016 21:01:27 +0000 (13:01 -0800)]
malloc_debug: fix multiplication overflow in debug_calloc
The over flow check for nmemb * bytes in debug_calloc is incorrect,
use the builtin overflow functions to check for multiplication and
addition overflow.
Change-Id: I3f1c13102621bc5380be1f69caa88dba2118f3cb
(cherry picked from commit
239838608dbe9917acddfe5a51d92350a4c8e135)
Colin Cross [Thu, 10 Mar 2016 01:56:14 +0000 (17:56 -0800)]
malloc_debug: round 0 byte allocations up to 1 byte
0 byte allocations can cause problems if they are immediately followed
by another allocation with no header, as both allocations will have the
same address. Treat 0 byte allocations as 1 byte allocations so that
debug_iterate will return separate addresses for them.
Bug:
27578580
Change-Id: Ia8dc3481fa7062391e9b3ae58a36e8d47e7ee557
(cherry picked from commit
15af478080cfbfa800fb8172fdf70a84075925e3)
Colin Cross [Thu, 10 Mar 2016 00:33:44 +0000 (16:33 -0800)]
malloc_debug: iterate: use usable_size
malloc_iterate with malloc debug enabled was returning allocation sizes
using the requested size instead of usable size. If anything wrote
pointers above the requested size but below the usable size, those
pointers would be invisible to libmemunreachable and referenced
allocations could be reported as a leak.
Bug:
27107100
Change-Id: I6b19fd631f68ce93b3aee408cc3d296ec457bd01
(cherry picked from commit
b23c6606d2326f8835fc7fc35b23ff7ee5a48f48)
Yabin Cui [Tue, 8 Mar 2016 01:44:58 +0000 (17:44 -0800)]
Adjust test to let it pass on libhoudini.
When using libhoudini to run arm code on x86 platforms, we can't
assume the main thread allocates local variables at the stack
declared by kernel.
Change-Id: Id9457f47fc338a3103fdee25a7a6e622915e7090
Elliott Hughes [Thu, 10 Mar 2016 16:12:26 +0000 (16:12 +0000)]
Merge "Improve and fix the stack-protector tests."
Josh Gao [Thu, 10 Mar 2016 00:00:54 +0000 (00:00 +0000)]
Merge "debuggerd: rethrow the full signal we receive, always."
Josh Gao [Tue, 8 Mar 2016 23:27:15 +0000 (15:27 -0800)]
debuggerd: rethrow the full signal we receive, always.
The previous code assumed that returning would be sufficient to rethrow
signals like SIGSEGV. This is not true, for example, in the case where a
SIGSEGV is sent via kill(2). We were previously only sending the signal
to ourselves in some cases, because using kill(2) would lose information
in the siginfo_t argument. Use rt_tgsigqueueinfo(2) instead to preserve
its contents.
Bug: http://b/
27367422
Change-Id: I1be822818d5905461979c7e12dc4e9c25049273b
Elliott Hughes [Fri, 4 Mar 2016 19:53:09 +0000 (11:53 -0800)]
Improve and fix the stack-protector tests.
Bug: http://b/
26888853
Change-Id: I505dbf7d5934f7247fb639f55dd6a9341df3947b