Commit Graph

1783 Commits

Author SHA1 Message Date
Elliott Hughes
5d2ef8724d Upgrade to tzdata2012j.
This reflects the following changes recently circulated on the tz mailing list:

  Libya moved to CET [2012-11-11], but with DST planned [2013].
  (Thanks to Even Scharning, Steffen Thorsen, and Tim Parenti.)

I also had to change the script to cope with:

  Signatures now have the extension .asc, not .sign, as that's more
  standard.  (Thanks to Phil Pennock.)

Change-Id: Ie9711c5c796b3c122daea9690929edcc3ddd32da
2012-11-26 14:51:39 -08:00
Nick Kralevich
ac3de8d080 Support GNU_RELRO for static executables.
In 9ec0f03a0d, we added dynamic
linker support for GNU_RELRO protections. These protections
make certain regions of memory read-only, helping protect certain
data structures from accidental or deliberate modifications.

This change adds GNU_RELRO support to STATIC executables.  We can
determine if we're compiled with relro protections by examining
our own program headers, which is passed to us by the kernel
in the AT_PHDR and AT_PHNUM auxiliary vectors.

Parts of this code were stolen from the dynamic linker.

Change-Id: Ic17eb5f932218538ec25347ece314d4dc7549de1
2012-11-15 12:52:06 -08:00
Elliott Hughes
d86d713b63 am b62e2770: Merge "Add optimized version of memset for Cortex A9"
* commit 'b62e2770e7c41f9cbe41acca4f25966eea2bc533':
  Add optimized version of memset for Cortex A9
2012-11-09 15:15:09 -08:00
Henrik Smiding
884e4f839b Add optimized version of memset for Cortex A9
Adds new code to function memset, optimized for Cortex A9.

Copyright (C) ST-Ericsson SA 2010

Added neon implementation

Author: Henrik Smiding henrik.smiding@stericsson.com for ST-Ericsson.

Change-Id: Id3c87767953439269040e15bd30a27aba709aef6
Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
2012-11-09 15:05:32 -08:00
Elliott Hughes
0b25791a28 am 49677dec: Merge "Add optimized version of memcpy for Cortex A9"
* commit '49677deca2c2984ae6c0a3df8fbada7132e82940':
  Add optimized version of memcpy for Cortex A9
2012-11-08 18:13:30 -08:00
Henrik Smiding
6d0bcdc832 Add optimized version of memcpy for Cortex A9
Adds new code to memcpy function, optimized for Cortex A9.
Adds new ARM-only loop, for operations where source and
destination are aligned.

Copyright (C) ST-Ericsson SA 2010

Modified neon implementation to fit Cortex A9 cache line size,
for those running 32 bytes L2 cache line size.
Also split the implementation in aligned and unaligned access,
for those that allows unaligned memory access with Neon.
For totally aligned operations, arm-only code is used.

Change-Id: I95ebf6164cd6486b12a7e3e98e369db21e7e18d2
Author: Henrik Smiding henrik.smiding@stericsson.com for ST-Ericsson.
Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
2012-11-08 18:02:14 -08:00
Elliott Hughes
6181aead7b am c2132915: Merge "Add optimized version of memcmp for Cortex A9"
* commit 'c2132915158014f578c3f003c9399961fe8d6da2':
  Add optimized version of memcmp for Cortex A9
2012-11-08 17:53:41 -08:00
Elliott Hughes
c213291515 Merge "Add optimized version of memcmp for Cortex A9" 2012-11-08 17:48:19 -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
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
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
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
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
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
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
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
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
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
Elliott Hughes
75f33adcb1 am 4e457759: Merge "Move the FORTIFY_SOURCE helpers over to .cpp."
* commit '4e457759893a6a6ab4f84a5aea231d0a11c7bb13':
  Move the FORTIFY_SOURCE helpers over to .cpp.
2012-10-22 15:57:42 -07:00
Elliott Hughes
4035b7a321 Move the FORTIFY_SOURCE helpers over to .cpp.
Change-Id: Ib5067d51b983cac7760c975becce7fe2408ead04
2012-10-22 15:32:01 -07:00
Elliott Hughes
008744ceda am df92635a: Merge "Support zone.tab in bionic, and remove the file format version."
* commit 'df92635a57e8093d9cbffc38bbf513f3361ee91e':
  Support zone.tab in bionic, and remove the file format version.
2012-10-22 15:08:38 -07:00
Elliott Hughes
2393535f0d Support zone.tab in bionic, and remove the file format version.
Bug: 7012465
Change-Id: I6335c91ebadc609fae85bad94db972be7574b6e4
2012-10-22 14:47:58 -07:00
Elliott Hughes
417834b17e am eb370aa3: Merge "Make bionic look in /data/misc for tzdata updates."
* commit 'eb370aa31dd549ad7a7a2044dedab1140a7aeda9':
  Make bionic look in /data/misc for tzdata updates.
2012-10-22 11:53:22 -07:00
Elliott Hughes
1c29572034 Make bionic look in /data/misc for tzdata updates.
Bug: 7012465
Change-Id: I4d1018f686f2409600fdb6630732cae33efe8f02
2012-10-22 11:34:05 -07:00
Elliott Hughes
629a28cdf3 am dc595d83: Merge "Change ZoneCompator to generate the single "tzdata" file."
* commit 'dc595d830898e5859bf98d7436af2a777a11f810':
  Change ZoneCompator to generate the single "tzdata" file.
2012-10-19 17:21:41 -07:00
Elliott Hughes
58d08711af am 7a85c42b: Merge "Update generate-NOTICE.py to know about tzdata."
* commit '7a85c42b8f7af801a31208ed83589b5397baee73':
  Update generate-NOTICE.py to know about tzdata.
2012-10-19 17:21:40 -07:00