OSDN Git Service

android-x86/bionic.git
11 years agoam 7f7ac8cd: am e3c7b519: Merge "Don\'t corrupt the thread list if the main thread...
Elliott Hughes [Fri, 2 Nov 2012 00:39:12 +0000 (17:39 -0700)]
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.

11 years agoam e3c7b519: Merge "Don\'t corrupt the thread list if the main thread exits."
Elliott Hughes [Fri, 2 Nov 2012 00:37:04 +0000 (17:37 -0700)]
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.

11 years agoMerge "Don't corrupt the thread list if the main thread exits."
Elliott Hughes [Fri, 2 Nov 2012 00:28:00 +0000 (17:28 -0700)]
Merge "Don't corrupt the thread list if the main thread exits."

11 years agoDon't corrupt the thread list if the main thread exits.
Elliott Hughes [Thu, 1 Nov 2012 23:33:29 +0000 (16:33 -0700)]
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

11 years agoam 6db8f5bb: am d30116cf: Merge "Keep the dynamic linker\'s soinfo pools mostly read...
Elliott Hughes [Fri, 2 Nov 2012 00:02:23 +0000 (17:02 -0700)]
am 6db8f5bb: am d30116cf: Merge "Keep the dynamic linker\'s soinfo pools mostly read-only."

* commit '6db8f5bb75bb79e0b4873e6d293aa25e2c9f090b':
  Keep the dynamic linker's soinfo pools mostly read-only.

11 years agoam d30116cf: Merge "Keep the dynamic linker\'s soinfo pools mostly read-only."
Elliott Hughes [Fri, 2 Nov 2012 00:00:13 +0000 (17:00 -0700)]
am d30116cf: Merge "Keep the dynamic linker\'s soinfo pools mostly read-only."

* commit 'd30116cf4a590e7bea3b73fa49bb27502a920819':
  Keep the dynamic linker's soinfo pools mostly read-only.

11 years agoMerge "Keep the dynamic linker's soinfo pools mostly read-only."
Elliott Hughes [Thu, 1 Nov 2012 23:49:37 +0000 (16:49 -0700)]
Merge "Keep the dynamic linker's soinfo pools mostly read-only."

11 years agoKeep the dynamic linker's soinfo pools mostly read-only.
Elliott Hughes [Thu, 1 Nov 2012 22:16:56 +0000 (15:16 -0700)]
Keep the dynamic linker's soinfo pools mostly read-only.

We'll need a lot more refactoring of this code before we can reduce
the granularity, but this is a step forward.

Change-Id: I07061720e734b571a8399c1d5b4f2f35cd681307

11 years agoam 65ba5b62: am 064f862d: Merge "Stop defining our own PAGE_SIZE and PAGE_MASK, and...
Elliott Hughes [Thu, 1 Nov 2012 21:15:11 +0000 (14:15 -0700)]
am 65ba5b62: am 064f862d: Merge "Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too."

* commit '65ba5b62c5a59181317b86f772d9ebb756d4741f':
  Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.

11 years agoam 064f862d: Merge "Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose...
Elliott Hughes [Thu, 1 Nov 2012 21:14:00 +0000 (14:14 -0700)]
am 064f862d: Merge "Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too."

* commit '064f862d557ab741575dfae479499a07ca0ab742':
  Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.

11 years agoMerge "Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too."
Elliott Hughes [Thu, 1 Nov 2012 20:56:59 +0000 (13:56 -0700)]
Merge "Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too."

11 years agoStop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.
Elliott Hughes [Thu, 1 Nov 2012 20:49:32 +0000 (13:49 -0700)]
Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.

Also remove an unnecessary #include and a now-obsolete TODO.

Change-Id: I36d923721e349a286934b9534090a67ce0786e7b

11 years agoam 3bb62578: am 0be1819b: Merge "Dynamically allocate soinfo-structs in linker"
Elliott Hughes [Thu, 1 Nov 2012 18:47:31 +0000 (11:47 -0700)]
am 3bb62578: am 0be1819b: Merge "Dynamically allocate soinfo-structs in linker"

* commit '3bb62578beb36a35d3b1d2fbe18bd34a9d4ecca4':
  Dynamically allocate soinfo-structs in linker

11 years agoam 0be1819b: Merge "Dynamically allocate soinfo-structs in linker"
Elliott Hughes [Thu, 1 Nov 2012 18:44:29 +0000 (11:44 -0700)]
am 0be1819b: Merge "Dynamically allocate soinfo-structs in linker"

* commit '0be1819b22b33fbedcb150f96a196ed096abe2fc':
  Dynamically allocate soinfo-structs in linker

11 years agoMerge "Dynamically allocate soinfo-structs in linker"
Elliott Hughes [Thu, 1 Nov 2012 18:36:01 +0000 (11:36 -0700)]
Merge "Dynamically allocate soinfo-structs in linker"

11 years agoDynamically allocate soinfo-structs in linker
Magnus Malmborn [Wed, 12 Sep 2012 11:00:55 +0000 (13:00 +0200)]
Dynamically allocate soinfo-structs in linker

Request memory from the system when needed instead of having a fixed
array for soinfo structs. Note that malloc() et al can't be used in
linker, so use mmap() instead.

Change-Id: I4b495995931d7752b0e8c944e64d1fe41b9f7144

11 years agoam 1de3af51: am c0ac7eba: Merge "Reject .so files with no sysv hash table."
Elliott Hughes [Wed, 31 Oct 2012 22:15:45 +0000 (15:15 -0700)]
am 1de3af51: am c0ac7eba: Merge "Reject .so files with no sysv hash table."

* commit '1de3af51d459c2ced602f10e4f7e7fe704400cdc':
  Reject .so files with no sysv hash table.

11 years agoam c0ac7eba: Merge "Reject .so files with no sysv hash table."
Elliott Hughes [Wed, 31 Oct 2012 22:13:30 +0000 (15:13 -0700)]
am c0ac7eba: Merge "Reject .so files with no sysv hash table."

* commit 'c0ac7eba934fb88f321c75a71312ea482e9a85e9':
  Reject .so files with no sysv hash table.

11 years agoMerge "Reject .so files with no sysv hash table."
Elliott Hughes [Wed, 31 Oct 2012 22:09:45 +0000 (15:09 -0700)]
Merge "Reject .so files with no sysv hash table."

11 years agoReject .so files with no sysv hash table.
Elliott Hughes [Wed, 31 Oct 2012 21:20:03 +0000 (14:20 -0700)]
Reject .so files with no sysv hash table.

Also ensure that dlopen(3) errors always include the name of the library we
failed to open.

Also fix a bug where we'd fall back to searching LD_LIBRARY_PATH and the
built-in paths for names that include slashes.

Bug: http://code.google.com/p/android/issues/detail?id=38479
Change-Id: Ib2c009ed083344a7a012749d58f8679db2f26c78

11 years agoam f510fc78: am b46530bd: Merge "Start cleaning up libm."
Elliott Hughes [Wed, 31 Oct 2012 20:54:18 +0000 (13:54 -0700)]
am f510fc78: am b46530bd: Merge "Start cleaning up libm."

* commit 'f510fc789a67344080543b9ae06d0ff3322561d5':
  Start cleaning up libm.

11 years agoam b46530bd: Merge "Start cleaning up libm."
Elliott Hughes [Wed, 31 Oct 2012 20:51:50 +0000 (13:51 -0700)]
am b46530bd: Merge "Start cleaning up libm."

* commit 'b46530bd3e5984047bd780f5d3a6a5ebabd9f02d':
  Start cleaning up libm.

11 years agoMerge "Start cleaning up libm."
Elliott Hughes [Wed, 31 Oct 2012 20:43:41 +0000 (13:43 -0700)]
Merge "Start cleaning up libm."

11 years agoStart cleaning up libm.
Elliott Hughes [Wed, 31 Oct 2012 20:26:46 +0000 (13:26 -0700)]
Start cleaning up libm.

We have two copies of fenv.h for every architecture, one of which
isn't used. We also have unused makefiles and files for architectures
we don't support.

This patch removes all the obviously useless files.

Bug: http://code.google.com/p/android/issues/detail?id=38196
Change-Id: I1919b6621ba513aa24aa947a34815bc51191487c

11 years agoam 089111a8: (-s ours) Reconcile with jb-mr1-release - do not merge
The Android Open Source Project [Wed, 31 Oct 2012 16:19:14 +0000 (09:19 -0700)]
am 089111a8: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '089111a80a6a167de827bf32ae2d2a935ff5874f':

11 years agoReconcile with jb-mr1-release - do not merge
The Android Open Source Project [Wed, 31 Oct 2012 16:15:16 +0000 (09:15 -0700)]
Reconcile with jb-mr1-release - do not merge

Change-Id: Ice07f7813d823b0419153d5ac321ad784a690af4

11 years agomerge in jb-mr1-release history after reset to jb-mr1-dev
The Android Automerger [Wed, 31 Oct 2012 03:11:57 +0000 (20:11 -0700)]
merge in jb-mr1-release history after reset to jb-mr1-dev

11 years agoam 3cd7a165: am 084be591: Merge "linker: handle R_ARM_COPY relocations in a proper...
Elliott Hughes [Wed, 31 Oct 2012 00:20:01 +0000 (17:20 -0700)]
am 3cd7a165: am 084be591: Merge "linker: handle R_ARM_COPY relocations in a proper way"

* commit '3cd7a1653aa579213cb68a666bd9949e2b8fff95':
  linker: handle R_ARM_COPY relocations in a proper way

11 years agoam 084be591: Merge "linker: handle R_ARM_COPY relocations in a proper way"
Elliott Hughes [Wed, 31 Oct 2012 00:18:04 +0000 (17:18 -0700)]
am 084be591: Merge "linker: handle R_ARM_COPY relocations in a proper way"

* commit '084be591923d3d509cea0a0f4b11b073e362d730':
  linker: handle R_ARM_COPY relocations in a proper way

11 years agoMerge "linker: handle R_ARM_COPY relocations in a proper way"
Elliott Hughes [Wed, 31 Oct 2012 00:10:30 +0000 (17:10 -0700)]
Merge "linker: handle R_ARM_COPY relocations in a proper way"

11 years agolinker: handle R_ARM_COPY relocations in a proper way
Ard Biesheuvel [Thu, 30 Aug 2012 10:48:32 +0000 (12:48 +0200)]
linker: handle R_ARM_COPY relocations in a proper way

If an executable contain copy relocations, other references
to the symbol it points to should be preempted and made to
point to the copy instead.

Also, the linker should make sure the target area has
sufficient space to contain the copy. It also checks
whether the library that supplies the symbol is built
with -Bsymbolic, and errors out if this is the case.

Change-Id: If135c83590092741cfd8f82f54816f363a4a4a3b
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
11 years agoam 914112ea: am 155e8d1d: Merge "More dynamic linker cleanup."
Elliott Hughes [Tue, 30 Oct 2012 23:59:17 +0000 (16:59 -0700)]
am 914112ea: am 155e8d1d: Merge "More dynamic linker cleanup."

* commit '914112ea21a62c7658dc4b094a369358009be6a9':
  More dynamic linker cleanup.

11 years agoam 155e8d1d: Merge "More dynamic linker cleanup."
Elliott Hughes [Tue, 30 Oct 2012 23:56:29 +0000 (16:56 -0700)]
am 155e8d1d: Merge "More dynamic linker cleanup."

* commit '155e8d1df5b8fdfeabda3e7b61d95beb5b8d1467':
  More dynamic linker cleanup.

11 years agoMerge "More dynamic linker cleanup."
Elliott Hughes [Tue, 30 Oct 2012 23:41:00 +0000 (16:41 -0700)]
Merge "More dynamic linker cleanup."

11 years agoMore dynamic linker cleanup.
Elliott Hughes [Tue, 30 Oct 2012 00:37:13 +0000 (17:37 -0700)]
More dynamic linker cleanup.

I still want to break linker_format out into its own library so we can reuse
it for malloc debugging and so forth. (There are many similar pieces of code
in bionic, but the linker's one seems to be the most complete/functional.)

Change-Id: If3721853d28937c8e821ca1d23cf200e228a409a

11 years agoam b0ac82e9: Merge commit \'bd8ee3d3\' into mm
Elliott Hughes [Tue, 30 Oct 2012 22:24:37 +0000 (15:24 -0700)]
am b0ac82e9: Merge commit \'bd8ee3d3\' into mm

* commit 'b0ac82e9baf969236be1174b49784500b33e6f48':
  Upgrade to tzdata2012h.

11 years agoMerge commit 'bd8ee3d3' into mm
Elliott Hughes [Tue, 30 Oct 2012 22:20:13 +0000 (15:20 -0700)]
Merge commit 'bd8ee3d3' into mm

11 years agoam a811d7a8: Upgrade to tzdata2012h.
Elliott Hughes [Tue, 30 Oct 2012 21:30:12 +0000 (14:30 -0700)]
am a811d7a8: Upgrade to tzdata2012h.

* commit 'a811d7a8e638ca49aee704c613cb9f1e03c3698d':
  Upgrade to tzdata2012h.

11 years agoam 4569ab97: am 06b59610: Merge "Fix bug in pthread_join, pthread_exit, pthread_detach"
Elliott Hughes [Tue, 30 Oct 2012 20:06:47 +0000 (13:06 -0700)]
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

11 years agoam 06b59610: Merge "Fix bug in pthread_join, pthread_exit, pthread_detach"
Elliott Hughes [Tue, 30 Oct 2012 20:04:23 +0000 (13:04 -0700)]
am 06b59610: Merge "Fix bug in pthread_join, pthread_exit, pthread_detach"

* commit '06b596104a9ed3ac089abd00186a5698d7e8544f':
  Fix bug in pthread_join, pthread_exit, pthread_detach

11 years agoMerge "Fix bug in pthread_join, pthread_exit, pthread_detach"
Elliott Hughes [Tue, 30 Oct 2012 19:57:57 +0000 (12:57 -0700)]
Merge "Fix bug in pthread_join, pthread_exit, pthread_detach"

11 years agoam 743a273e: am 1f21ece4: Merge "Clean up the <libgen.h> implementation a little...
Elliott Hughes [Tue, 30 Oct 2012 17:11:44 +0000 (10:11 -0700)]
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.

11 years agoam 5f787190: am 4d36b0bd: Merge "Fix the pthread_join on self error case."
Elliott Hughes [Tue, 30 Oct 2012 17:11:43 +0000 (10:11 -0700)]
am 5f787190: am 4d36b0bd: Merge "Fix the pthread_join on self error case."

* commit '5f787190a9e7a749d95f566f920b78eafcd05050':
  Fix the pthread_join on self error case.

11 years agoam 0b8fa1d4: am 9297af94: Merge "Fix a potential NULL pointer dereference in _init_th...
Elliott Hughes [Tue, 30 Oct 2012 17:11:42 +0000 (10:11 -0700)]
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().

11 years agoam 40e467ec: am 33c4a3ad: Merge "libc: Fix alphasort() signature (and implementation)."
Elliott Hughes [Tue, 30 Oct 2012 17:11:41 +0000 (10:11 -0700)]
am 40e467ec: am 33c4a3ad: Merge "libc: Fix alphasort() signature (and implementation)."

* commit '40e467ec668b59be25491bd44bf348a884d6a68d':
  libc: Fix alphasort() signature (and implementation).

11 years agoam 85765609: am 8f9a1eb1: Merge "Upgrade to tzdata2012h."
Elliott Hughes [Tue, 30 Oct 2012 17:11:40 +0000 (10:11 -0700)]
am 85765609: am 8f9a1eb1: Merge "Upgrade to tzdata2012h."

* commit '8576560979e3d126ef8204959b87336d980b390b':
  Upgrade to tzdata2012h.

11 years agoam a67cedb5: am 9e783963: Merge "Clean up the implementation of the <dirent.h> functi...
Elliott Hughes [Tue, 30 Oct 2012 17:11:39 +0000 (10:11 -0700)]
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.

11 years agoam 1f21ece4: Merge "Clean up the <libgen.h> implementation a little, bring in tests."
Elliott Hughes [Tue, 30 Oct 2012 00:15:12 +0000 (17:15 -0700)]
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.

11 years agoam 4d36b0bd: Merge "Fix the pthread_join on self error case."
Elliott Hughes [Tue, 30 Oct 2012 00:15:09 +0000 (17:15 -0700)]
am 4d36b0bd: Merge "Fix the pthread_join on self error case."

* commit '4d36b0bd38559ae0376b61a0ac2f5fa8329ec56d':
  Fix the pthread_join on self error case.

11 years agoam 9297af94: Merge "Fix a potential NULL pointer dereference in _init_thread()."
Elliott Hughes [Tue, 30 Oct 2012 00:15:03 +0000 (17:15 -0700)]
am 9297af94: Merge "Fix a potential NULL pointer dereference in _init_thread()."

* commit '9297af943887d9d6974aaec8c45a4e7d93422965':
  Fix a potential NULL pointer dereference in _init_thread().

11 years agoam 33c4a3ad: Merge "libc: Fix alphasort() signature (and implementation)."
Elliott Hughes [Tue, 30 Oct 2012 00:15:02 +0000 (17:15 -0700)]
am 33c4a3ad: Merge "libc: Fix alphasort() signature (and implementation)."

* commit '33c4a3adde3cf1753af0661f48ce86358e105277':
  libc: Fix alphasort() signature (and implementation).

11 years agoam 8f9a1eb1: Merge "Upgrade to tzdata2012h."
Elliott Hughes [Tue, 30 Oct 2012 00:15:01 +0000 (17:15 -0700)]
am 8f9a1eb1: Merge "Upgrade to tzdata2012h."

* commit '8f9a1eb108f22fc2ce7283ef184d909ec0ca1152':
  Upgrade to tzdata2012h.

11 years agoam 9e783963: Merge "Clean up the implementation of the <dirent.h> functions."
Elliott Hughes [Tue, 30 Oct 2012 00:14:59 +0000 (17:14 -0700)]
am 9e783963: Merge "Clean up the implementation of the <dirent.h> functions."

* commit '9e783963d58acf48e06902236ea64c7f5b337a0f':
  Clean up the implementation of the <dirent.h> functions.

11 years agoMerge "Clean up the <libgen.h> implementation a little, bring in tests."
Elliott Hughes [Mon, 29 Oct 2012 22:03:21 +0000 (15:03 -0700)]
Merge "Clean up the <libgen.h> implementation a little, bring in tests."

11 years agoClean up the <libgen.h> implementation a little, bring in tests.
Elliott Hughes [Mon, 29 Oct 2012 21:27:10 +0000 (14:27 -0700)]
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

11 years agoFix bug in pthread_join, pthread_exit, pthread_detach
Sergey Melnikov [Fri, 26 Oct 2012 10:06:43 +0000 (14:06 +0400)]
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>
11 years agoMerge "Fix the pthread_join on self error case."
Elliott Hughes [Mon, 29 Oct 2012 17:30:15 +0000 (10:30 -0700)]
Merge "Fix the pthread_join on self error case."

11 years agoFix the pthread_join on self error case.
Elliott Hughes [Mon, 29 Oct 2012 17:19:44 +0000 (10:19 -0700)]
Fix the pthread_join on self error case.

We should return EDEADLK, not deadlock the calling thread.

Change-Id: I1243483f709c11b2a60e41142725c54c7dbfcbc9

11 years agoMerge "Fix a potential NULL pointer dereference in _init_thread()."
Elliott Hughes [Mon, 29 Oct 2012 15:26:01 +0000 (08:26 -0700)]
Merge "Fix a potential NULL pointer dereference in _init_thread()."

11 years agoFix a potential NULL pointer dereference in _init_thread().
Xi Wang [Sat, 27 Oct 2012 06:02:01 +0000 (02:02 -0400)]
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>
11 years agoMerge "libc: Fix alphasort() signature (and implementation)."
Elliott Hughes [Mon, 29 Oct 2012 14:45:12 +0000 (07:45 -0700)]
Merge "libc: Fix alphasort() signature (and implementation)."

11 years agolibc: Fix alphasort() signature (and implementation).
David 'Digit' Turner [Mon, 29 Oct 2012 14:32:54 +0000 (15:32 +0100)]
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

11 years agoMerge "Upgrade to tzdata2012h."
Elliott Hughes [Mon, 29 Oct 2012 14:29:13 +0000 (07:29 -0700)]
Merge "Upgrade to tzdata2012h."

11 years agoUpgrade to tzdata2012h.
Elliott Hughes [Sat, 27 Oct 2012 21:32:44 +0000 (14:32 -0700)]
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

11 years agoUpgrade to tzdata2012h.
Elliott Hughes [Sat, 27 Oct 2012 21:29:14 +0000 (14:29 -0700)]
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: I82f19ce49f944f928b6dd8dc5a893786266e5cb9

11 years agoMerge "Clean up the implementation of the <dirent.h> functions."
Elliott Hughes [Fri, 26 Oct 2012 23:42:47 +0000 (16:42 -0700)]
Merge "Clean up the implementation of the <dirent.h> functions."

11 years agoClean up the implementation of the <dirent.h> functions.
Elliott Hughes [Fri, 26 Oct 2012 03:55:23 +0000 (20:55 -0700)]
Clean up the implementation of the <dirent.h> functions.

Change-Id: I3c647cc9588525afc41fee90ee468d58cd13503a

11 years agoam 8cacc639: am 7193731a: Merge "Workaround g++ 4.7 compfail"
Elliott Hughes [Thu, 25 Oct 2012 22:23:29 +0000 (15:23 -0700)]
am 8cacc639: am 7193731a: Merge "Workaround g++ 4.7 compfail"

* commit '8cacc639b6ae660c494aca07c537cb443c6c6cd9':
  Workaround g++ 4.7 compfail

11 years agoam 7193731a: Merge "Workaround g++ 4.7 compfail"
Elliott Hughes [Thu, 25 Oct 2012 22:20:29 +0000 (15:20 -0700)]
am 7193731a: Merge "Workaround g++ 4.7 compfail"

* commit '7193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d':
  Workaround g++ 4.7 compfail

11 years agoam 85819efe: am f2b3ac95: Merge "Fix recovery: don\'t assert if there\'s no tzdata."
Elliott Hughes [Thu, 25 Oct 2012 22:16:44 +0000 (15:16 -0700)]
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.

11 years agoam f2b3ac95: Merge "Fix recovery: don\'t assert if there\'s no tzdata."
Elliott Hughes [Thu, 25 Oct 2012 22:09:29 +0000 (15:09 -0700)]
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.

11 years agoMerge "Workaround g++ 4.7 compfail"
Elliott Hughes [Thu, 25 Oct 2012 22:00:45 +0000 (15:00 -0700)]
Merge "Workaround g++ 4.7 compfail"

11 years agoMerge "Fix recovery: don't assert if there's no tzdata."
Elliott Hughes [Thu, 25 Oct 2012 21:56:53 +0000 (14:56 -0700)]
Merge "Fix recovery: don't assert if there's no tzdata."

11 years agoFix recovery: don't assert if there's no tzdata.
Elliott Hughes [Thu, 25 Oct 2012 21:38:51 +0000 (14:38 -0700)]
Fix recovery: don't assert if there's no tzdata.

Change-Id: I4d808b57c63ec1ccc024da7fd6a65691e0d455c5

11 years agoam df7f24f3: am 7b68e3f7: Merge "Per-thread -fstack-protector guards for x86."
Elliott Hughes [Thu, 25 Oct 2012 19:23:56 +0000 (12:23 -0700)]
am df7f24f3: am 7b68e3f7: Merge "Per-thread -fstack-protector guards for x86."

* commit 'df7f24f310ee3ceb1dc9413d59d5a8816eb584ef':
  Per-thread -fstack-protector guards for x86.

11 years agoam 7b68e3f7: Merge "Per-thread -fstack-protector guards for x86."
Elliott Hughes [Thu, 25 Oct 2012 19:22:34 +0000 (12:22 -0700)]
am 7b68e3f7: Merge "Per-thread -fstack-protector guards for x86."

* commit '7b68e3f799d87e84c56687033326924fd8fec84c':
  Per-thread -fstack-protector guards for x86.

11 years agoMerge "Per-thread -fstack-protector guards for x86."
Elliott Hughes [Thu, 25 Oct 2012 19:08:50 +0000 (12:08 -0700)]
Merge "Per-thread -fstack-protector guards for x86."

11 years agoPer-thread -fstack-protector guards for x86.
Elliott Hughes [Thu, 25 Oct 2012 01:37:21 +0000 (18:37 -0700)]
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

11 years agoWorkaround g++ 4.7 compfail
Pavel Chupin [Thu, 25 Oct 2012 08:17:05 +0000 (12:17 +0400)]
Workaround g++ 4.7 compfail

error: C99 designator 'name' outside aggregate initializer

G++ 4.7+ can't handle some of C99 designated initializers.
Most likely it's just not implemented yet. Other possible workarounds is
to compile this as C not C++ or define name as char* instead of char[SIZE].

Appeared after this change https://android-review.googlesource.com/#/c/44470

Change-Id: Ib28157848ce759b8bb5dbb2ac0d9a768fa4e5107
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
11 years agoam 60c7ac26: am d0f2b7e7: Merge "More upstream NetBSD upgrades."
Elliott Hughes [Wed, 24 Oct 2012 00:29:47 +0000 (17:29 -0700)]
am 60c7ac26: am d0f2b7e7: Merge "More upstream NetBSD upgrades."

* commit '60c7ac262241588f7942ca068f33d706c8fe5cc4':
  More upstream NetBSD upgrades.

11 years agoam d0f2b7e7: Merge "More upstream NetBSD upgrades."
Elliott Hughes [Wed, 24 Oct 2012 00:15:07 +0000 (17:15 -0700)]
am d0f2b7e7: Merge "More upstream NetBSD upgrades."

* commit 'd0f2b7e7e65f19f978c59abcbb522c08e76b1508':
  More upstream NetBSD upgrades.

11 years agoMerge "More upstream NetBSD upgrades."
Elliott Hughes [Tue, 23 Oct 2012 23:55:19 +0000 (16:55 -0700)]
Merge "More upstream NetBSD upgrades."

11 years agoMore upstream NetBSD upgrades.
Elliott Hughes [Tue, 23 Oct 2012 23:05:09 +0000 (16:05 -0700)]
More upstream NetBSD upgrades.

Change-Id: Idb781d37de3b05585271d7d258ecffd5ba87d0b8

11 years agoam 45f07555: am e3dbe1e3: Merge "Upgrade more functions to the current upstream NetBS...
Elliott Hughes [Tue, 23 Oct 2012 20:58:25 +0000 (13:58 -0700)]
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.

11 years agoam e3dbe1e3: Merge "Upgrade more functions to the current upstream NetBSD copy."
Elliott Hughes [Tue, 23 Oct 2012 20:55:59 +0000 (13:55 -0700)]
am e3dbe1e3: Merge "Upgrade more functions to the current upstream NetBSD copy."

* commit 'e3dbe1e3820d6ab0370566055e9cdc593c5cce48':
  Upgrade more functions to the current upstream NetBSD copy.

11 years agoMerge "Upgrade more functions to the current upstream NetBSD copy."
Elliott Hughes [Tue, 23 Oct 2012 20:45:36 +0000 (13:45 -0700)]
Merge "Upgrade more functions to the current upstream NetBSD copy."

11 years agoUpgrade more functions to the current upstream NetBSD copy.
Elliott Hughes [Tue, 23 Oct 2012 19:26:26 +0000 (12:26 -0700)]
Upgrade more functions to the current upstream NetBSD copy.

Change-Id: Ie0b3f8b3fccef28609eb210434413ebd51d6ef45

11 years agoam 4280143d: am fb93e6a5: Merge "Move setlocale(3) and the wchar stubs over to .cpp."
Elliott Hughes [Tue, 23 Oct 2012 01:08:54 +0000 (18:08 -0700)]
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.

11 years agoam fb93e6a5: Merge "Move setlocale(3) and the wchar stubs over to .cpp."
Elliott Hughes [Tue, 23 Oct 2012 01:06:55 +0000 (18:06 -0700)]
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.

11 years agoMerge "Move setlocale(3) and the wchar stubs over to .cpp."
Elliott Hughes [Tue, 23 Oct 2012 00:50:26 +0000 (17:50 -0700)]
Merge "Move setlocale(3) and the wchar stubs over to .cpp."

11 years agoMove setlocale(3) and the wchar stubs over to .cpp.
Elliott Hughes [Tue, 23 Oct 2012 00:05:27 +0000 (17:05 -0700)]
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

11 years agoam 69ec117b: am 5a9911e9: Merge "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE...
Elliott Hughes [Mon, 22 Oct 2012 23:31:29 +0000 (16:31 -0700)]
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.

11 years agoam 9d5a96c0: am 574773b1: Merge "Clean up warnings in stubs.cpp."
Elliott Hughes [Mon, 22 Oct 2012 23:31:28 +0000 (16:31 -0700)]
am 9d5a96c0: am 574773b1: Merge "Clean up warnings in stubs.cpp."

* commit '9d5a96c0d9583fe9a02190ba54a855a2dcc87eb9':
  Clean up warnings in stubs.cpp.

11 years agoam 5a9911e9: Merge "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio protot...
Elliott Hughes [Mon, 22 Oct 2012 23:29:13 +0000 (16:29 -0700)]
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.

11 years agoam 574773b1: Merge "Clean up warnings in stubs.cpp."
Elliott Hughes [Mon, 22 Oct 2012 23:29:12 +0000 (16:29 -0700)]
am 574773b1: Merge "Clean up warnings in stubs.cpp."

* commit '574773b1eae797e2f7a1d11d0176755d2e74eb41':
  Clean up warnings in stubs.cpp.

11 years agoMerge "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes."
Elliott Hughes [Mon, 22 Oct 2012 23:13:03 +0000 (16:13 -0700)]
Merge "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes."

11 years agoMerge "Clean up warnings in stubs.cpp."
Elliott Hughes [Mon, 22 Oct 2012 23:12:46 +0000 (16:12 -0700)]
Merge "Clean up warnings in stubs.cpp."

11 years agoAdd missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.
Elliott Hughes [Mon, 22 Oct 2012 23:10:27 +0000 (16:10 -0700)]
Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.

Change-Id: I35ceb09fedf873c5e98e1e26efce5e4f00a17e74

11 years agoClean up warnings in stubs.cpp.
Elliott Hughes [Mon, 22 Oct 2012 23:04:56 +0000 (16:04 -0700)]
Clean up warnings in stubs.cpp.

Change-Id: Ie0792846de7cf5f5c72737494bf78ab8dcb8cc3e

11 years agoam 75f33adc: am 4e457759: Merge "Move the FORTIFY_SOURCE helpers over to .cpp."
Elliott Hughes [Mon, 22 Oct 2012 23:00:03 +0000 (16:00 -0700)]
am 75f33adc: am 4e457759: Merge "Move the FORTIFY_SOURCE helpers over to .cpp."

* commit '75f33adcb1f845ae121eb5508b120aaaa9f7a217':
  Move the FORTIFY_SOURCE helpers over to .cpp.