11203 Commits

Author SHA1 Message Date
Dmitriy Ivanov
4466bd72fb Implement LinkedList::visit()
(cherry picked from commit a4926058496c1c24c00ac07e42d45048dac7c487)

Change-Id: I59554be45c910bfe33494016595a5ade9daad230
2014-10-01 15:56:23 -07:00
Dmitriy Ivanov
ff01f6fcce Introduce size-based r/w allocators
(cherry picked from commit 0cd83ebb0e9784827d9ec0a8028a710e73a28b2b)

Change-Id: Ib037bd5313c9a78b6051482f14e789aa820b4dd1
2014-10-01 15:55:58 -07:00
Dmitriy Ivanov
4d01d08c29 Erase elements in LinkedList::remove_if
(cherry picked from commit 4bea498544bb1377f610520d7f58856382a6e5fc)

Change-Id: I1ffe248bc2b7572f38fbd987e9c6db5ecbd4559d
2014-10-01 15:55:35 -07:00
Dmitriy Ivanov
cfad7ae934 Replace NULL with nullptr
(cherry picked from commit 851135bf9941b3813adb9b4f43d76e040c4ba157)

Change-Id: Ic4997907680db7472ef38ffb0f0ca66fff37b797
2014-10-01 15:54:26 -07:00
Dmitriy Ivanov
5dfe802d0d Remove unnecessary calls to LinkedList::clear()
(cherry picked from commit 608217e1674d8fd8b334fe18c753b6c4638ed783)

Change-Id: I031359d79b2e77977ace197ef410e41539dc0ce6
2014-10-01 15:53:07 -07:00
Dmitriy Ivanov
93c3f4203c Enable __cxa_atexit && __cxa_finalize for linker
This allows adding destructors to classes used
 for global variables.

(cherry picked from commit 14241402de0faa4b244b1bd6b1f0799ce169b880)

Change-Id: I1d8776130d1e01a8c53d23a2949f5010f4c96b16
2014-10-01 15:52:38 -07:00
Dmitriy Ivanov
3bbd218ef1 Bump soinfo version
This includes:
 1. Placing has_ifunc after fields with version = 0
 2. Switch to has_min_version(v) function.
 3. Minor soinfo initialization refactoring (placement new + ctor)

(cherry picked from commit 0d15094287fe0f288d9c258953143fc1998b6b5a)

Change-Id: Idf135fdd3d4826b5653f32add2adc6db5d4a4f95
2014-10-01 15:52:15 -07:00
Dmitriy Ivanov
bd321c1106 Run constructors before resolving ifunc functions
Bug: 17177284

(cherry picked from commit 9598b8c415e2fa9f240508185fe8c964b83f538d)

Change-Id: I2c9631ee1cd77f8cf95ec0216a35b605c8786454
2014-10-01 15:51:47 -07:00
Brigid Smith
31b88da843 Added test for ifunc support in dynamic linker.
ifuncs now work in i386 and x86_64 when called in the same library as
well as in a different library.

Bug:6657325
(cherry picked from commit c5a13efa9bc4264be0a9a9e37c00633af01584ed)

Change-Id: I321d780bc2f9bd1baa749e1acacd2683aefe827b
2014-10-01 15:50:38 -07:00
Hans Boehm
4aa389193e am 2d111d9e: Merge "Make memory_order_acquire visible in global namespace"
* commit '2d111d9eb10b6c48e2e47251be66b418a6109dd9':
  Make memory_order_acquire visible in global namespace
2014-10-01 19:23:03 +00:00
Hans Boehm
2d111d9eb1 Merge "Make memory_order_acquire visible in global namespace" 2014-10-01 19:16:50 +00:00
Christopher Ferris
7239135eb4 am b19bd93f: Merge "Add stpcpy assembler version."
* commit 'b19bd93f8b83307f2f7530545f7c78824914f4eb':
  Add stpcpy assembler version.
2014-10-01 18:24:26 +00:00
Christopher Ferris
b19bd93f8b Merge "Add stpcpy assembler version." 2014-10-01 18:16:14 +00:00
Dmitriy Ivanov
1b20dafdbe Add RTLD_NODELETE flag support
Bug: https://code.google.com/p/android/issues/detail?id=64069
Change-Id: Ie5f90482feae86391172be4b32d6cb7d76f446fb
2014-10-01 11:09:37 -07:00
Elliott Hughes
e4f8962ab5 Merge "Update bionic to tzdata 2014h." into lmp-mr1-dev 2014-10-01 18:02:51 +00:00
Elliott Hughes
600ab1ca01 am cadccfd7: Merge "Update bionic to tzdata 2014h."
* commit 'cadccfd70821aeb107b8fc0084da04faecbfde2f':
  Update bionic to tzdata 2014h.
2014-10-01 17:38:45 +00:00
Elliott Hughes
0d1fa6f29b am 89fd3236: Merge "Fix update-tzdata.py to rebuild icu4c .dat file."
* commit '89fd32362bb62775aad001802bc79e3f07d7d62f':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-01 17:38:44 +00:00
Elliott Hughes
d18205049d Update bionic to tzdata 2014h.
From the release notes:

  Changes affecting past time stamps

    America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.

    Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
    not 1920-01-06.  The old entry was based on a misinterpretation of Shanks.

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Africa/Blantyre, Africa/Bujumbura,
    Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
    Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.

Bug: 17731498

(cherry picked from commit 0c8fb51e6b8cfcd00d453cb5ebfa516f02009854)

Change-Id: Icf8a9cbd309951b4ffc20c74eb1e78c1e39c222f
2014-10-01 10:21:07 -07:00
Elliott Hughes
cadccfd708 Merge "Update bionic to tzdata 2014h." 2014-10-01 17:20:34 +00:00
Elliott Hughes
b5f5b0e418 Fix update-tzdata.py to rebuild icu4c .dat file.
Bug: 17731498

(cherry picked from commit f8896c6c93fd698b129742780878123a3a19ae07)

Change-Id: If97e1ccf593a2ed6c2356077e660d6fd88a05875
2014-10-01 10:07:24 -07:00
Elliott Hughes
89fd32362b Merge "Fix update-tzdata.py to rebuild icu4c .dat file." 2014-10-01 17:00:23 +00:00
Christopher Ferris
7d849ac378 Add stpcpy assembler version.
For generic, continue to use the C version of the code.

Bug: 13746695
Change-Id: I77426a70b06131f2373bb51265bea1240bb3f101
2014-09-30 19:23:26 -07:00
Dan Albert
3c1138510e am 81156d93: Merge "Add coverage flag for libm."
* commit '81156d93c557e88379dd3e9d869dcc97a15293f5':
  Add coverage flag for libm.
2014-10-01 01:38:13 +00:00
Hans Boehm
76ac4d0853 Make memory_order_acquire visible in global namespace
We were missing that using directive when including <atomic>.

Bug:17736764
Change-Id: Ie8ca92a952749415567bcd5fa21d56629a364660
2014-09-30 18:35:04 -07:00
Dan Albert
81156d93c5 Merge "Add coverage flag for libm." 2014-10-01 01:28:25 +00:00
Elliott Hughes
0c8fb51e6b Update bionic to tzdata 2014h.
From the release notes:

  Changes affecting past time stamps

    America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.

    Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
    not 1920-01-06.  The old entry was based on a misinterpretation of Shanks.

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Africa/Blantyre, Africa/Bujumbura,
    Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
    Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.

Bug: 17731498
Change-Id: If65b740d4e3a67075cca770655a1df17952c3da0
2014-09-30 17:35:38 -07:00
Elliott Hughes
f8896c6c93 Fix update-tzdata.py to rebuild icu4c .dat file.
Bug: 17731498
Change-Id: I4c810507c0ca9883dde1bece14530db80485b8f6
2014-09-30 17:30:01 -07:00
Elliott Hughes
31052a12eb am 252c1ac9: Merge "Update our FreeBSD realpath(3) to upstream head."
* commit '252c1ac9738ff6187354f243ef118eac962b65dc':
  Update our FreeBSD realpath(3) to upstream head.
2014-10-01 00:05:10 +00:00
Dan Albert
12e3f22c7c Add coverage flag for libm.
Change-Id: I195d38c5e1f50d1cc6d4353dc8857f11b803b7a3
2014-09-30 16:56:43 -07:00
Elliott Hughes
252c1ac973 Merge "Update our FreeBSD realpath(3) to upstream head." 2014-09-30 23:55:57 +00:00
Dmitriy Ivanov
18ab39b79a am 701cf941: Merge "Fix mips build"
* commit '701cf9419b4df92bd959bbc6f18150f6ae76df7c':
  Fix mips build
2014-09-30 23:51:07 +00:00
Dan Albert
63de199882 am e04aa450: Merge "Clean up the pthread key tests."
* commit 'e04aa450c2b51ea066d1a1c37978cce808d13872':
  Clean up the pthread key tests.
2014-09-30 23:51:07 +00:00
Dmitriy Ivanov
701cf9419b Merge "Fix mips build" 2014-09-30 23:42:24 +00:00
Dan Albert
e04aa450c2 Merge "Clean up the pthread key tests." 2014-09-30 23:41:06 +00:00
Elliott Hughes
31e072fc9b Update our FreeBSD realpath(3) to upstream head.
Change-Id: I8c89728184ecd2c1a28a05cefa84a5037d28b552
2014-09-30 16:40:41 -07:00
Dmitriy Ivanov
ecf532fa1c Fix mips build
Change-Id: I4454e69a982f239b168678c5a681d1078b4bd4f1
2014-09-30 16:30:22 -07:00
Dan Albert
c4bcc75f09 Clean up the pthread key tests.
The previous pthread_key_create_many test was really
pthread_key_create_all, which has proven very difficult to test
correctly (because it is affected by any other parts of the system using
pthread keys, and that can vary with test ordering). It also tested
expected values of PTHREAD_KEYS_MAX and the associated sysconf() value,
rather than those being in their own test.

Instead, split this test into a few distinct tests:

 * pthread.pthread_keys_max
 * pthread._SC_THREAD_KEYS_MAX_big_enough_for_POSIX
 * pthread.pthread_key_many_distinct
     * We actually didn't have a test to ensure that the keys we were
       creating were distinct.
 * pthread.pthread_key_EAGAIN
     * Make sure pthread_key_create() will _eventually_ fail with
       EAGAIN, not at a (sometimes incorrectly) predetermined maximum.

Change-Id: Iff1e4fdcc02404094bde0418122c64c227cf1702
2014-09-30 15:40:14 -07:00
Dmitriy Ivanov
3e05ac0ffe am 1f7d5ac5: Merge "Fix unused DT entry warnings."
* commit '1f7d5ac53854a09bbcace08b3a1d1b9cf3f2eed3':
  Fix unused DT entry warnings.
2014-09-30 22:26:16 +00:00
Dmitriy Ivanov
1f7d5ac538 Merge "Fix unused DT entry warnings." 2014-09-30 22:14:33 +00:00
Dmitriy Ivanov
6cdeb5234d Fix unused DT entry warnings.
DT_STRSZ Implement strtab boundary checks
 DT_FLAGS_1 Warn if flags other than DF_1_NOW|DF_1_GLOBAL are set

Bug: 17552334
Change-Id: Iaad29cd52f5b2d7d2f785fb351697906dc1617d9
2014-09-30 14:41:29 -07:00
Dan Albert
9d9b7d7e7c am 0481471b: Merge "Switch benchmarks and tests to libc++."
* commit '0481471b1bb95a90f632a9fb59c7a1767b9836c8':
  Switch benchmarks and tests to libc++.
2014-09-30 17:39:04 +00:00
Dan Albert
0b5f8c7a7d am e49491ad: Merge "Ignore multiple symbol definition errors."
* commit 'e49491ada4c8e7827329b56a93e5377433aa9084':
  Ignore multiple symbol definition errors.
2014-09-30 17:39:04 +00:00
Dan Albert
0481471b1b Merge "Switch benchmarks and tests to libc++." 2014-09-30 17:30:57 +00:00
Dan Albert
e49491ada4 Merge "Ignore multiple symbol definition errors." 2014-09-30 17:30:52 +00:00
Dan Albert
3a5aeba4bd Switch benchmarks and tests to libc++.
Change-Id: I3b9c8f8c14a1e227e67ae1977cc29b0e8fccef5d
2014-09-30 10:28:30 -07:00
Dan Albert
d9898c5b82 Ignore multiple symbol definition errors.
libc and libc++ both define std::nothrow. libc's is a private symbol,
but this still causes issues when linking libc.a and libc++.a, since
private isn't effective until it has been linked. To fix this, just
allow multiple symbol definitions for the static tests.

Change-Id: Idbf19fefda47298c39360e3f5b6242b0b1a52fcc
2014-09-30 10:28:30 -07:00
Dmitriy Ivanov
d1d4e153e8 am 9997daa0: Merge "Return has_DT_SYMBOLIC flag."
* commit '9997daa0ff8f630bee5d3b8eb0ab15a0ba1e5cf6':
  Return has_DT_SYMBOLIC flag.
2014-09-30 16:50:04 +00:00
Dmitriy Ivanov
9997daa0ff Merge "Return has_DT_SYMBOLIC flag." 2014-09-30 16:40:27 +00:00
Andrew Hsieh
ccf9a9d449 am b104be32: Merge "Remove arch-mips64/bionic/__get_sp.S"
* commit 'b104be321f2538a6e0bbd566bc958537d1f65cef':
  Remove arch-mips64/bionic/__get_sp.S
2014-09-30 06:03:31 +00:00
Christopher Ferris
2ef71b1d09 am 85a932c0: Merge "Cleanup arm assembly."
* commit '85a932c0c9225e0f71d94a0d8cbac85089a398cf':
  Cleanup arm assembly.
2014-09-30 06:03:31 +00:00