Commit Graph

8263 Commits

Author SHA1 Message Date
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
275906e4b0 am 3388c7be: am fae42a83: Merge "Revert "Revert "Lose the hand-written futex assembler."""
* commit '3388c7be52e087256862171a5abdc9ceacf54e9d':
  Revert "Revert "Lose the hand-written futex assembler.""
2014-05-29 03:19:41 +00: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
1875a51c51 am c8d59fae: am 32c8ae9d: Merge "Fixes stdatomic.h test to match C11 spec"
* commit 'c8d59fae72fb95fd7034ccf42664711849ed497f':
  Fixes stdatomic.h test to match C11 spec
2014-05-29 00:55:47 +00: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
e4f5ae5d54 am c51e9208: am dc3fb119: Merge "Updated ambiguous comment in pthread_mutex_lock."
* commit 'c51e92086a574c7209b8310925212f06eaa6ba20':
  Updated ambiguous comment in pthread_mutex_lock.
2014-05-28 22:13:22 +00: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
02d1cfb366 am fa204cf0: am 8a405b02: Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
* commit 'fa204cf030d79e65851cdd13ff5c073e5b5fd2ac':
  Add optimized AArch64 versions of bcopy and wmemmove based on memmove
2014-05-28 21:41:40 +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
adb1ec509e am 784254f2: am 52f74322: Merge "Revert "Lose the hand-written futex assembler.""
* commit '784254f28ed3e3b40889d060ccbc176361d70dc9':
  Revert "Lose the hand-written futex assembler."
2014-05-28 18:08:39 +00: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
c3f228103f am 7ca4d736: am 53e70fe3: Merge "Remove unnecessary padding in ucontext_t"
* commit '7ca4d73644284a7ffce83ba62923e46c0a29ab64':
  Remove unnecessary padding in ucontext_t
2014-05-28 17:54:08 +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
44445f2d51 am ab4c4686: am 7fdde4a5: Merge "Expose __srefill for LP64 until we can fix the NDK."
* commit 'ab4c46863d32daf6ed5c98a101317c0108071c1d':
  Expose __srefill for LP64 until we can fix the NDK.
2014-05-28 09:15:56 +00: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
faf071dfcb am 9e3a0356: am 1454ff25: Merge "Clear the return address register in __bionic_clone."
* commit '9e3a0356f4f04f4adac31206876ed41db091c808':
  Clear the return address register in __bionic_clone.
2014-05-27 22:57:19 +00: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
923619f6e2 am 4a542fc5: am 134911d7: Merge "Use __typeof__() instead of typeof()"
* commit '4a542fc5193152d64de23add0c4ee27b8486cdf9':
  Use __typeof__() instead of typeof()
2014-05-27 22:01:25 +00: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
Elliott Hughes
5264518f61 am 946bc952: am 8e85b4f0: Merge "Restore __srefill for LP32."
* commit '946bc9528df170d32033ec5794073896d2406301':
  Restore __srefill for LP32.
2014-05-27 18:44:59 +00:00
Elliott Hughes
946bc9528d am 8e85b4f0: Merge "Restore __srefill for LP32."
* commit '8e85b4f00e8816f22bf5b5f20b1f978432f2ae08':
  Restore __srefill for LP32.
2014-05-27 18:41:52 +00:00
Elliott Hughes
8e85b4f00e Merge "Restore __srefill for LP32." 2014-05-27 18:38:56 +00:00
Elliott Hughes
aa50585d96 Restore __srefill for LP32.
The NDK apparently includes an android_support.a library that
refers to __srefill in its copy of the vsnprintf implementation.

Bug: 15249361
Change-Id: Ic2cf6f21290b3146c42fbe0624f5e4d54f6194b4
2014-05-27 11:22:39 -07:00
Elliott Hughes
ab4064bc93 am 50c52f74: am b3c75a1e: Merge "Restore __srget and __swbuf for LP32."
* commit '50c52f7424c2ef6fdc8fae1635a1c646c28a96a9':
  Restore __srget and __swbuf for LP32.
2014-05-26 08:07:13 +00:00
Elliott Hughes
50c52f7424 am b3c75a1e: Merge "Restore __srget and __swbuf for LP32."
* commit 'b3c75a1e8ffbf575c2a425b34fd67ff8077da299':
  Restore __srget and __swbuf for LP32.
2014-05-26 05:10:46 +00:00
Elliott Hughes
b3c75a1e8f Merge "Restore __srget and __swbuf for LP32." 2014-05-26 05:07:20 +00:00
Elliott Hughes
6571b81b1f am 21296dfe: am bc904896: Merge "Add C11 <stdatomic.h>."
* commit '21296dfe530c73906411b44347c66db8c0e6d3aa':
  Add C11 <stdatomic.h>.
2014-05-25 17:54:20 +00:00
Elliott Hughes
21296dfe53 am bc904896: Merge "Add C11 <stdatomic.h>."
* commit 'bc904896a6f846e2648922d46324ea626ae9e1d1':
  Add C11 <stdatomic.h>.
2014-05-25 17:51:05 +00:00
Elliott Hughes
bc904896a6 Merge "Add C11 <stdatomic.h>." 2014-05-25 17:48:19 +00:00
Elliott Hughes
35d90bb6ec Restore __srget and __swbuf for LP32.
Anthony King <anthonydking@slimroms.net> reports that for Grouper the
Nvidia GL blobs need access to __swbuf. This is because the old <stdio.h>
had inline getc and putc implementations that directly referred to these
symbols.

Change-Id: I11a7b5550018ecc93d8f195c99857759669b2906
2014-05-25 10:38:25 -07:00
Elliott Hughes
abc68292b4 am 06c9662a: am 255789e4: Merge "Restore tkill for LP32."
* commit '06c9662a2feddc86a37d3adb3e468d57067c3714':
  Restore tkill for LP32.
2014-05-25 03:21:27 +00:00
Elliott Hughes
06c9662a2f am 255789e4: Merge "Restore tkill for LP32."
* commit '255789e4d12d95dbb8e34cfae7fdc58514843ba5':
  Restore tkill for LP32.
2014-05-25 03:18:14 +00:00