Commit Graph

1904 Commits

Author SHA1 Message Date
Elliott Hughes
dc20297f8d am 06224085: am bb91e9fb: Merge "Upgrade to tzdata2012i."
* commit '062240853d75a795db956965cacd4ab09a959ce7':
  Upgrade to tzdata2012i.
2012-11-05 11:34:20 -08:00
Elliott Hughes
062240853d am bb91e9fb: Merge "Upgrade to tzdata2012i."
* commit 'bb91e9fb96ec6ea8a6ebcf17bf70f66f957df30b':
  Upgrade to tzdata2012i.
2012-11-05 10:57:20 -08:00
Elliott Hughes
e3063f4e55 Upgrade to tzdata2012i.
Also support GPG signature verification of updates, and fix remaining
pylint complaints.

The 2012i release of the tz data reflects the following changes recently
circulated on the tz mailing list:

* Cuba switches from DST [2012-11-04] at 01:00.  (Thanks to Steffen Thorsen.)

Change-Id: Ie81d395afa40aa217a0196aad8ca1f9a870bbc31
2012-11-05 08:53:28 -08:00
Elliott Hughes
ceda36fa12 am 7f7ac8cd: am e3c7b519: Merge "Don\'t corrupt the thread list if the main thread exits."
* commit '7f7ac8cd19f1a7fc61aa640505747dee9036fa61':
  Don't corrupt the thread list if the main thread exits.
2012-11-01 17:39:12 -07:00
Elliott Hughes
7f7ac8cd19 am e3c7b519: Merge "Don\'t corrupt the thread list if the main thread exits."
* commit 'e3c7b5192e65eeb0bd90bf884d3435ed9adfad0e':
  Don't corrupt the thread list if the main thread exits.
2012-11-01 17:37:04 -07:00
Elliott Hughes
4f251bee5d Don't corrupt the thread list if the main thread exits.
...and don't pass a non-heap pointer to free(3), either.

This patch replaces the "node** prev" with the clearer "node* prev"
style and fixes the null pointer dereference in the old code. That's
not sufficient to fix the reporter's bug, though. The pthread_internal_t*
for the main thread isn't heap-allocated --- __libc_init_tls causes a
pointer to a statically-allocated pthread_internal_t to be added to
the thread list.

Bug: http://code.google.com/p/android/issues/detail?id=37410
Change-Id: I112b7f22782fc789d58f9c783f7b323bda8fb8b7
2012-11-01 17:27:07 -07:00
Elliott Hughes
4d2ea14288 am 4569ab97: am 06b59610: Merge "Fix bug in pthread_join, pthread_exit, pthread_detach"
* commit '4569ab9773efb1c984bde146002975e7a3753f11':
  Fix bug in pthread_join, pthread_exit, pthread_detach
2012-10-30 13:06:47 -07:00
Elliott Hughes
4569ab9773 am 06b59610: Merge "Fix bug in pthread_join, pthread_exit, pthread_detach"
* commit '06b596104a9ed3ac089abd00186a5698d7e8544f':
  Fix bug in pthread_join, pthread_exit, pthread_detach
2012-10-30 13:04:23 -07:00
Elliott Hughes
06b596104a Merge "Fix bug in pthread_join, pthread_exit, pthread_detach" 2012-10-30 12:57:58 -07:00
Elliott Hughes
c7358ee57c am 743a273e: am 1f21ece4: Merge "Clean up the <libgen.h> implementation a little, bring in tests."
* commit '743a273e40e49c199d79462338fc606ae12c999f':
  Clean up the <libgen.h> implementation a little, bring in tests.
2012-10-30 10:11:44 -07:00
Elliott Hughes
7d617d0db9 am 5f787190: am 4d36b0bd: Merge "Fix the pthread_join on self error case."
* commit '5f787190a9e7a749d95f566f920b78eafcd05050':
  Fix the pthread_join on self error case.
2012-10-30 10:11:43 -07:00
Elliott Hughes
5e805afa79 am 0b8fa1d4: am 9297af94: Merge "Fix a potential NULL pointer dereference in _init_thread()."
* commit '0b8fa1d456f6cf831be41a6dc6b0a67e89f01bd5':
  Fix a potential NULL pointer dereference in _init_thread().
2012-10-30 10:11:42 -07:00
Elliott Hughes
d4834a217e am 40e467ec: am 33c4a3ad: Merge "libc: Fix alphasort() signature (and implementation)."
* commit '40e467ec668b59be25491bd44bf348a884d6a68d':
  libc: Fix alphasort() signature (and implementation).
2012-10-30 10:11:41 -07:00
Elliott Hughes
5ce5edd6cf am 85765609: am 8f9a1eb1: Merge "Upgrade to tzdata2012h."
* commit '8576560979e3d126ef8204959b87336d980b390b':
  Upgrade to tzdata2012h.
2012-10-30 10:11:40 -07:00
Elliott Hughes
96b52e104a am a67cedb5: am 9e783963: Merge "Clean up the implementation of the <dirent.h> functions."
* commit 'a67cedb52cb57f116a545482bddb979d995fd634':
  Clean up the implementation of the <dirent.h> functions.
2012-10-30 10:11:39 -07:00
Elliott Hughes
743a273e40 am 1f21ece4: Merge "Clean up the <libgen.h> implementation a little, bring in tests."
* commit '1f21ece48a87abbbdd9fb939b79a1dd81fb867eb':
  Clean up the <libgen.h> implementation a little, bring in tests.
2012-10-29 17:15:12 -07:00
Elliott Hughes
5f787190a9 am 4d36b0bd: Merge "Fix the pthread_join on self error case."
* commit '4d36b0bd38559ae0376b61a0ac2f5fa8329ec56d':
  Fix the pthread_join on self error case.
2012-10-29 17:15:09 -07:00
Elliott Hughes
0b8fa1d456 am 9297af94: Merge "Fix a potential NULL pointer dereference in _init_thread()."
* commit '9297af943887d9d6974aaec8c45a4e7d93422965':
  Fix a potential NULL pointer dereference in _init_thread().
2012-10-29 17:15:03 -07:00
Elliott Hughes
40e467ec66 am 33c4a3ad: Merge "libc: Fix alphasort() signature (and implementation)."
* commit '33c4a3adde3cf1753af0661f48ce86358e105277':
  libc: Fix alphasort() signature (and implementation).
2012-10-29 17:15:02 -07:00
Elliott Hughes
8576560979 am 8f9a1eb1: Merge "Upgrade to tzdata2012h."
* commit '8f9a1eb108f22fc2ce7283ef184d909ec0ca1152':
  Upgrade to tzdata2012h.
2012-10-29 17:15:01 -07:00
Elliott Hughes
a67cedb52c am 9e783963: Merge "Clean up the implementation of the <dirent.h> functions."
* commit '9e783963d58acf48e06902236ea64c7f5b337a0f':
  Clean up the implementation of the <dirent.h> functions.
2012-10-29 17:14:59 -07:00
Elliott Hughes
58b575485c Clean up the <libgen.h> implementation a little, bring in tests.
Most of these tests were in system/extras, but I've added more to cover other
cases explicitly mentioned by POSIX.

Change-Id: I5e8d77e4179028d77306935cceadbb505515dcde
2012-10-29 14:27:10 -07:00
Sergey Melnikov
10ce96944e Fix bug in pthread_join, pthread_exit, pthread_detach
pthread_no_op_detach_after_join test from bionic-unit-tests hangs
on x86 emulator. There is a race in the pthread_join, pthread_exit,
pthread_detach functions:
- pthread_join waits for the non-detached thread
- pthread_detach sets the detached flag on that thread
- the thread executes pthread_exit which just kills the now-detached
thread, without sending the join notification.

This patch improves the test so it fails on ARM too, and modifies
pthread_detach to behave more like glibc, not setting the detach state if
called on a thread that's already being joined (but not returning an error).

Change-Id: I87dc688221ce979ef5178753dd63d01ac0b108e6
Signed-off-by: Sergey Melnikov <sergey.melnikov@intel.com>
2012-10-29 11:31:26 -07:00
Elliott Hughes
14f19592ae Fix the pthread_join on self error case.
We should return EDEADLK, not deadlock the calling thread.

Change-Id: I1243483f709c11b2a60e41142725c54c7dbfcbc9
2012-10-29 10:19:44 -07:00
Xi Wang
ae8eb74675 Fix a potential NULL pointer dereference in _init_thread().
The first NULL pointer check against `attr' suggests that `attr' can
be NULL.  Then later `attr' is directly dereferenced, suggesting the
opposite.

    if (attr == NULL) {
        ...
    } else {
        ...
    }
    ...
    if (attr->stack_base == ...) { ... }

The public API pthread_create(3) allows NULL, and interprets it as "default".
Our implementation actually swaps in a pointer to the global default
pthread_attr_t, so we don't need any NULL checks in _init_thread. (The other
internal caller passes its own pthread_attr_t.)

Change-Id: I0a4e79b83f5989249556a07eed1f2887e96c915e
Signed-off-by: Xi Wang <xi.wang@gmail.com>
2012-10-29 08:22:13 -07:00
David 'Digit' Turner
c30396f5f2 libc: Fix alphasort() signature (and implementation).
The declaration for alphasort() in <dirent.h> used the deprecated:

  int alphasort(const void*, const void*);

while both Posix and GLibc use instead:

  int alphasort(const struct dirent** a, const struct dirent** b);

See: http://pubs.opengroup.org/onlinepubs/9699919799/functions/alphasort.html

This patch does the following:

- Update the declaration to match Posix/GLibc
- Get rid of the upstream BSD code which isn't compatible with the new
  signature.
- Implement a new trivial alphasort() with the right signature, and
  ensure that it uses strcoll() instead of strcmp().
- Remove Bionic-specific #ifdef .. #else .. #endif block in
  dirent_test.cpp which uses alphasort().

Even through strcoll() currently uses strcmp(), this does the right
thing in the case where we decide to update strcoll() to properly
implement locale-specific ordered comparison.

Change-Id: I4fd45604d8a940aaf2eb0ecd7d73e2f11c9bca96
2012-10-29 07:44:27 -07:00
Elliott Hughes
f93fc10fc4 Upgrade to tzdata2012h.
The 2012h release reflects the following changes recently circulated
on the tz mailing list:

[Brazil]  Bahia no longer has DST.  (Thanks to Kelley Cook.)

[Brazil]  Tocantins has DST.  (Thanks to Rodrigo Severo.)

[Israel]  Israel has new DST rules next year.  (Thanks to Ephraim Silverberg.)

[Jordan]  Jordan stays on DST this winter.  (Thanks to Steffen Thorsen.)

Bug: 7429010
Change-Id: I0ec5fb72343e42f3f79490dfdea5f7f1946ae76f
2012-10-28 11:34:35 -07:00
Elliott Hughes
063cfb2084 Clean up the implementation of the <dirent.h> functions.
Change-Id: I3c647cc9588525afc41fee90ee468d58cd13503a
2012-10-26 16:42:06 -07:00
Elliott Hughes
a7bb83475b am 85819efe: am f2b3ac95: Merge "Fix recovery: don\'t assert if there\'s no tzdata."
* commit '85819efe8f771759d12ab86f0bd47ede621dbb7d':
  Fix recovery: don't assert if there's no tzdata.
2012-10-25 15:16:44 -07:00
Elliott Hughes
85819efe8f am f2b3ac95: Merge "Fix recovery: don\'t assert if there\'s no tzdata."
* commit 'f2b3ac9502e08ef53d4eedd7e93ea9a00d185055':
  Fix recovery: don't assert if there's no tzdata.
2012-10-25 15:09:29 -07:00
Elliott Hughes
49271d89da Fix recovery: don't assert if there's no tzdata.
Change-Id: I4d808b57c63ec1ccc024da7fd6a65691e0d455c5
2012-10-25 14:56:08 -07:00
Elliott Hughes
0f96dd8dcb am df7f24f3: am 7b68e3f7: Merge "Per-thread -fstack-protector guards for x86."
* commit 'df7f24f310ee3ceb1dc9413d59d5a8816eb584ef':
  Per-thread -fstack-protector guards for x86.
2012-10-25 12:23:56 -07:00
Elliott Hughes
df7f24f310 am 7b68e3f7: Merge "Per-thread -fstack-protector guards for x86."
* commit '7b68e3f799d87e84c56687033326924fd8fec84c':
  Per-thread -fstack-protector guards for x86.
2012-10-25 12:22:34 -07:00
Elliott Hughes
ad88a08631 Per-thread -fstack-protector guards for x86.
Based on a pair of patches from Intel:

  https://android-review.googlesource.com/#/c/43909/
  https://android-review.googlesource.com/#/c/44903/

For x86, this patch supports _both_ the global that ARM/MIPS use
and the per-thread TLS entry (%gs:20) that GCC uses by default. This
lets us support binaries built with any x86 toolchain (right now,
the NDK is emitting x86 code that uses the global).

I've also extended the original tests to cover ARM/MIPS too, and
be a little more thorough for x86.

Change-Id: I02f279a80c6b626aecad449771dec91df235ad01
2012-10-25 12:04:03 -07:00
Elliott Hughes
4cdc426207 am 60c7ac26: am d0f2b7e7: Merge "More upstream NetBSD upgrades."
* commit '60c7ac262241588f7942ca068f33d706c8fe5cc4':
  More upstream NetBSD upgrades.
2012-10-23 17:29:47 -07:00
Elliott Hughes
60c7ac2622 am d0f2b7e7: Merge "More upstream NetBSD upgrades."
* commit 'd0f2b7e7e65f19f978c59abcbb522c08e76b1508':
  More upstream NetBSD upgrades.
2012-10-23 17:15:07 -07:00
Elliott Hughes
ab44f52202 More upstream NetBSD upgrades.
Change-Id: Idb781d37de3b05585271d7d258ecffd5ba87d0b8
2012-10-23 16:05:09 -07:00
Elliott Hughes
217e616772 am 45f07555: am e3dbe1e3: Merge "Upgrade more functions to the current upstream NetBSD copy."
* commit '45f075556b26cfe91b1b7e1299b54f0328a06acb':
  Upgrade more functions to the current upstream NetBSD copy.
2012-10-23 13:58:25 -07:00
Elliott Hughes
45f075556b am e3dbe1e3: Merge "Upgrade more functions to the current upstream NetBSD copy."
* commit 'e3dbe1e3820d6ab0370566055e9cdc593c5cce48':
  Upgrade more functions to the current upstream NetBSD copy.
2012-10-23 13:55:59 -07:00
Elliott Hughes
e8bcca3a2c Upgrade more functions to the current upstream NetBSD copy.
Change-Id: Ie0b3f8b3fccef28609eb210434413ebd51d6ef45
2012-10-23 12:29:53 -07:00
Elliott Hughes
1d212fa6eb am 4280143d: am fb93e6a5: Merge "Move setlocale(3) and the wchar stubs over to .cpp."
* commit '4280143d371eae2123a5d8c4d8779db159ecd1e2':
  Move setlocale(3) and the wchar stubs over to .cpp.
2012-10-22 18:08:54 -07:00
Elliott Hughes
4280143d37 am fb93e6a5: Merge "Move setlocale(3) and the wchar stubs over to .cpp."
* commit 'fb93e6a5b322a87e61de19421a72d6dfcc82b614':
  Move setlocale(3) and the wchar stubs over to .cpp.
2012-10-22 18:06:55 -07:00
Elliott Hughes
29c7f0b4d1 Move setlocale(3) and the wchar stubs over to .cpp.
Also separate out the C++ files so we can use -Werror on them. I'd
rather wait for LOCAL_CPPFLAGS to be in AOSP, but this also lets us
see which files still need to be sorted into one bucket or the other.

Change-Id: I6acc1f7c043935c70a3b089f705d218b9aaaba0a
2012-10-22 17:05:27 -07:00
Elliott Hughes
1d8b87d2b4 am 69ec117b: am 5a9911e9: Merge "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes."
* commit '69ec117b22e3e842bff15f54f3e777cdf3206d21':
  Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.
2012-10-22 16:31:29 -07:00
Elliott Hughes
c866dc20bf am 9d5a96c0: am 574773b1: Merge "Clean up warnings in stubs.cpp."
* commit '9d5a96c0d9583fe9a02190ba54a855a2dcc87eb9':
  Clean up warnings in stubs.cpp.
2012-10-22 16:31:28 -07:00
Elliott Hughes
69ec117b22 am 5a9911e9: Merge "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes."
* commit '5a9911e94086a15a7f2d5a7c9173847f123a46ea':
  Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.
2012-10-22 16:29:13 -07:00
Elliott Hughes
9d5a96c0d9 am 574773b1: Merge "Clean up warnings in stubs.cpp."
* commit '574773b1eae797e2f7a1d11d0176755d2e74eb41':
  Clean up warnings in stubs.cpp.
2012-10-22 16:29:12 -07:00
Elliott Hughes
5a9911e940 Merge "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes." 2012-10-22 16:13:04 -07:00
Elliott Hughes
ce45fea03d Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.
Change-Id: I35ceb09fedf873c5e98e1e26efce5e4f00a17e74
2012-10-22 16:10:27 -07:00
Elliott Hughes
6fa26e21bc Clean up warnings in stubs.cpp.
Change-Id: Ie0792846de7cf5f5c72737494bf78ab8dcb8cc3e
2012-10-22 16:04:56 -07:00