Commit Graph

7712 Commits

Author SHA1 Message Date
Christopher Ferris
d853267899 am 5800aab3: Merge "Fix wmemmove test."
* commit '5800aab347a3764f5edb3db0da83b7400ed8426e':
  Fix wmemmove test.
2014-05-29 23:43:06 +00:00
Christopher Ferris
5800aab347 Merge "Fix wmemmove test." 2014-05-29 23:40:39 +00:00
Ben Cheng
a5b0a62dbb am fd9f07a2: Merge "Workaround the GCC "(long)fn -> lfn" optimization bug."
* commit 'fd9f07a2a2aa6c17b99c4bf9815e380eeac6aa0f':
  Workaround the GCC "(long)fn -> lfn" optimization bug.
2014-05-29 23:38:27 +00:00
Ben Cheng
fd9f07a2a2 Merge "Workaround the GCC "(long)fn -> lfn" optimization bug." 2014-05-29 23:33:04 +00:00
Ben Cheng
ff00dc8565 Workaround the GCC "(long)fn -> lfn" optimization bug.
Pass "-fno-builtin-rint -fno-builtin-rintl -fno-builtin-rintf" to avoid
generating self recursions in lrint, lrintl, and lrintf.

BUG: 14225968
Change-Id: Iffc4d8f0692580d636a529f4c8aa9a7a10d7acd8
2014-05-29 16:32:00 -07:00
Christopher Ferris
8bf50d5b72 Fix wmemmove test.
I accidentally copied over the nul terminator with the test.

Change-Id: I24a9aa05d4fba4f383fa38a3041bb6a6b179130c
2014-05-29 15:44:34 -07:00
Christopher Ferris
9d73fa3fad am d4fbb1a8: Merge "Fix dprintf test."
* commit 'd4fbb1a8617285ab1d29324308aa016377fc36f3':
  Fix dprintf test.
2014-05-29 22:44:25 +00:00
Christopher Ferris
d4fbb1a861 Merge "Fix dprintf test." 2014-05-29 22:41:50 +00:00
Christopher Ferris
84d90bf511 am aa5f32ea: Merge "Add Aarch64 optimized bzero based on memset"
* commit 'aa5f32ea1c8af9776a1c26a027495954c835be55':
  Add Aarch64 optimized bzero based on memset
2014-05-29 21:23:16 +00:00
Christopher Ferris
aa5f32ea1c Merge "Add Aarch64 optimized bzero based on memset" 2014-05-29 21:19:44 +00:00
Bernhard Rosenkraenzer
62d92e1610 Add Aarch64 optimized bzero based on memset
Change-Id: I62cf25bfe23b9d811e00af7307bbd19d89937792
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-05-29 13:28:55 -07:00
Christopher Ferris
9e01ea63a7 Fix dprintf test.
Change-Id: Ied783d545b6a35a70a158249f3957a9d00971627
2014-05-29 13:17:40 -07:00
Elliott Hughes
dafa59b8ff am 4dd0b72d: Merge "Return the actual success result from __futex."
* commit '4dd0b72dd36f3d9afd6bf0c184866f0d9242084f':
  Return the actual success result from __futex.
2014-05-29 20:14:35 +00:00
Elliott Hughes
4dd0b72dd3 Merge "Return the actual success result from __futex." 2014-05-29 20:12:06 +00:00
Christopher Ferris
47150dca59 am 1a57de71: Merge "Fix overflow testing in sbrk."
* commit '1a57de713adfb81842cb2ebdfc051ecb9afa55f1':
  Fix overflow testing in sbrk.
2014-05-29 18:06:46 +00:00
Christopher Ferris
1a57de713a Merge "Fix overflow testing in sbrk." 2014-05-29 18:03:28 +00:00
Christopher Ferris
738b0cc5e9 Fix overflow testing in sbrk.
Modify the overflow testing for sbrk.

Bug: 15188366

Change-Id: Ia83f85f7c1789454d872279bd41f38f1ce6b8a34
2014-05-29 10:51:22 -07:00
Elliott Hughes
1ee46520ca Return the actual success result from __futex.
futex(2) can return non-zero successes.

Bug: 15195455
Change-Id: I7818bc922a5a2df31228ff72c169320b5e69a544
2014-05-29 10:27:55 -07:00
Elliott Hughes
ad73e2f58c am ef023873: Merge "Minor style cleanup of some code I had to look at."
* commit 'ef023873e2bbd83f4fde69fd427e04ef1eb6e769':
  Minor style cleanup of some code I had to look at.
2014-05-29 16:15:52 +00:00
Elliott Hughes
c3930812df am 0bdd668f: Merge "Upgrade to tzdata2014d."
* commit '0bdd668f05b22b44547a2b9f05e506166b22f02a':
  Upgrade to tzdata2014d.
2014-05-29 16:15:51 +00:00
Elliott Hughes
ef023873e2 Merge "Minor style cleanup of some code I had to look at." 2014-05-29 16:12:02 +00:00
Elliott Hughes
0bdd668f05 Merge "Upgrade to tzdata2014d." 2014-05-29 16:09:40 +00:00
Elliott Hughes
b7f136a01f Upgrade to tzdata2014d.
There are no substantive changes to the data in this release. I'm applying
this just for completeness.

Change-Id: Ibe953969cb16db4d8d1ddb7dd3c943316e6e46b4
2014-05-28 20:33:33 -07:00
Elliott Hughes
624996026b Minor style cleanup of some code I had to look at.
(It turns out that this is the only place we're saying __inline in C++.)

Change-Id: I8095e67a385087817c47caab9a621f82f8e0cfc8
2014-05-28 20:30:40 -07:00
Elliott Hughes
3388c7be52 am fae42a83: Merge "Revert "Revert "Lose the hand-written futex assembler."""
* commit 'fae42a837ae7f880de9561c7b3c2b18e4a531e90':
  Revert "Revert "Lose the hand-written futex assembler.""
2014-05-29 03:16:18 +00:00
Elliott Hughes
fae42a837a Merge "Revert "Revert "Lose the hand-written futex assembler.""" 2014-05-29 03:13:23 +00:00
Elliott Hughes
b30aff405a Revert "Revert "Lose the hand-written futex assembler.""
The problem with the original patch was that using syscall(3) means that
errno can be set, but pthread_create(3) was abusing the TLS errno slot as
a pthread_mutex_t for the thread startup handshake.

There was also a mistake in the check for syscall failures --- it should
have checked against -1 instead of 0 (not just because that's the default
idiom, but also here because futex(2) can legitimately return values > 0).

This patch stops abusing the TLS errno slot and adds a pthread_mutex_t to
pthread_internal_t instead. (Note that for LP64 sizeof(pthread_mutex_t) >
sizeof(uintptr_t), so we could potentially clobber other TLS slots too.)

I've also rewritten the LP32 compatibility stubs to directly reuse the
code from the .h file.

This reverts commit 75c55ff84e.

Bug: 15195455
Change-Id: I6ffb13e5cf6a35d8f59f692d94192aae9ab4593d
2014-05-28 18:31:15 -07:00
Dan Albert
c8d59fae72 am 32c8ae9d: Merge "Fixes stdatomic.h test to match C11 spec"
* commit '32c8ae9de0e51ac64efcfd2e5da34382deee959e':
  Fixes stdatomic.h test to match C11 spec
2014-05-29 00:52:18 +00:00
Dan Albert
32c8ae9de0 Merge "Fixes stdatomic.h test to match C11 spec" 2014-05-29 00:50:26 +00:00
Dan Albert
6b3beb23d6 Fixes stdatomic.h test to match C11 spec
C11 defines the expected value to atomic_compare_exchange_* as being non-atomic
types. Using an atomic type is a syntax error in clang.

http://en.cppreference.com/w/c/atomic/atomic_compare_exchange

Change-Id: I74de1061fa1fc50d835451792d902000f368200e
2014-05-28 16:53:08 -07:00
Dan Albert
c51e92086a am dc3fb119: Merge "Updated ambiguous comment in pthread_mutex_lock."
* commit 'dc3fb119497382fc8d9c3b87c5ef8321141330dc':
  Updated ambiguous comment in pthread_mutex_lock.
2014-05-28 22:10:22 +00:00
Dan Albert
dc3fb11949 Merge "Updated ambiguous comment in pthread_mutex_lock." 2014-05-28 22:00:50 +00:00
Christopher Ferris
fa204cf030 am 8a405b02: Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
* commit '8a405b027a9c8b3a614016f4824a03fa252e9e1e':
  Add optimized AArch64 versions of bcopy and wmemmove based on memmove
2014-05-28 21:38:01 +00:00
Christopher Ferris
8a405b027a Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove" 2014-05-28 21:35:04 +00:00
Brigid Smith
ff03a7aaad Updated ambiguous comment in pthread_mutex_lock.
The comment used the phrase "normal case" when it more specifically refers to the "recursive case," so I changed it to that.

Change-Id: I8335cce4dee933c6a463aee653b28bd986b5b5e4
2014-05-28 11:48:49 -07:00
Narayan Kamath
784254f28e am 52f74322: Merge "Revert "Lose the hand-written futex assembler.""
* commit '52f74322b1d72d57146107f32ee2c76c421bf4b1':
  Revert "Lose the hand-written futex assembler."
2014-05-28 18:06:05 +00:00
Narayan Kamath
52f74322b1 Merge "Revert "Lose the hand-written futex assembler."" 2014-05-28 18:04:26 +00:00
Narayan Kamath
75c55ff84e Revert "Lose the hand-written futex assembler."
This reverts commit ced906c849.

Causes issues on art / dalvik due to a broken return value
check and other undiagnosed issues.

bug: 15195455

Change-Id: I5d6bbb389ecefb0e33a5237421a9d56d32a9317c
2014-05-28 18:03:01 +00:00
Calin Juravle
7ca4d73644 am 53e70fe3: Merge "Remove unnecessary padding in ucontext_t"
* commit '53e70fe30646453a5deba0730337cb9674cd6fc8':
  Remove unnecessary padding in ucontext_t
2014-05-28 17:50:43 +00:00
Calin Juravle
53e70fe306 Merge "Remove unnecessary padding in ucontext_t" 2014-05-28 17:48:06 +00:00
Calin Juravle
bdca3802c9 Remove unnecessary padding in ucontext_t
- removed extra padding from ucontex_t on x86, x86_64 and mips
- force ucontext_t struct to use 64 bits for the sigmask on all arches
(previsouly wrong since sigset_t on arm and x86 is only 32 bits)
- arm and arm64 continue to use padding to match glibc sigset_t

This brings Bionic on par with the kernel w.r.t ucontext padding.

Bug: 12828904
Change-Id: Ia8915ace694ecb4695603a334e697985f4c3e7aa
2014-05-28 17:24:28 +01:00
Elliott Hughes
ab4c46863d am 7fdde4a5: Merge "Expose __srefill for LP64 until we can fix the NDK."
* commit '7fdde4a58b304a7c4f87987f3fde16bdded63a76':
  Expose __srefill for LP64 until we can fix the NDK.
2014-05-28 05:22:38 +00:00
Elliott Hughes
7fdde4a58b Merge "Expose __srefill for LP64 until we can fix the NDK." 2014-05-28 05:19:45 +00:00
Elliott Hughes
f6d2ca2696 Expose __srefill for LP64 until we can fix the NDK.
The LP64 has a duplicate copy of part of stdio, and relies
on bionic supplying this part. We should remove the hack from
the NDK, at least for LP64, and then revert this.

Bug: 15291317
Change-Id: I75e06e130188ca0aeb9d50dfe3a3e48a1d3968b7
2014-05-27 21:23:36 -07:00
Elliott Hughes
9e3a0356f4 am 1454ff25: Merge "Clear the return address register in __bionic_clone."
* commit '1454ff2574f0bee9fb3646c9c6dd30443e0dbd38':
  Clear the return address register in __bionic_clone.
2014-05-27 22:55:34 +00:00
Elliott Hughes
1454ff2574 Merge "Clear the return address register in __bionic_clone." 2014-05-27 22:53:52 +00:00
Elliott Hughes
e7dccdf683 Clear the return address register in __bionic_clone.
The unwinder will end up on the parent thread's stack if the return
address register is not cleared.

Bug: 14270816
Bug: 15195760
Change-Id: Iebcdf5cc881cad245643bb193760de35eb7f8b19
2014-05-27 15:49:51 -07:00
Dan Albert
4a542fc519 am 134911d7: Merge "Use __typeof__() instead of typeof()"
* commit '134911d75deab2b5babc175c894c002e875dfed6':
  Use __typeof__() instead of typeof()
2014-05-27 21:59:33 +00:00
Dan Albert
134911d75d Merge "Use __typeof__() instead of typeof()" 2014-05-27 21:57:24 +00:00
Dan Albert
a7821b7121 Use __typeof__() instead of typeof()
typeof() is a gcc builtin and is not always available (such as clang when
-std=c*). Both gcc and clang always expose __typeof__(), so just use that.

Change-Id: I75e2a990acc35f6f39b2c353f6548100ec03c67f
2014-05-27 12:47:54 -07:00