OSDN Git Service

android-x86/bionic.git
7 years agoversioner: use a virtual filesystem for input files. am: 78b8a1430d
Josh Gao [Tue, 15 Nov 2016 01:10:30 +0000 (01:10 +0000)]
versioner: use a virtual filesystem for input files. am: 78b8a1430d
am: 64541e2cc3

Change-Id: Icdf75426a9e4139973200bffabcb86a38c428740

7 years agoversioner: cache -cc1 flags generated by the clang Driver. am: b5c496346f
Josh Gao [Tue, 15 Nov 2016 01:10:25 +0000 (01:10 +0000)]
versioner: cache -cc1 flags generated by the clang Driver. am: b5c496346f
am: 0aa3ed5170

Change-Id: Iea9fd7d67537ec29a3d4b0c063ca6cf1cc4a4653

7 years agoversioner: refactor to use CompilerInstance directly. am: 16016df79f
Josh Gao [Tue, 15 Nov 2016 01:10:21 +0000 (01:10 +0000)]
versioner: refactor to use CompilerInstance directly. am: 16016df79f
am: cdfd128911

Change-Id: I79c4805fb3651c9eaabd2e3379c223f3df9c71fc

7 years agoversioner: use a virtual filesystem for input files.
Josh Gao [Tue, 15 Nov 2016 01:02:59 +0000 (01:02 +0000)]
versioner: use a virtual filesystem for input files.
am: 78b8a1430d

Change-Id: I457fcb0d2a8bc421b776ab8f2d385844ccfa5218

7 years agoversioner: cache -cc1 flags generated by the clang Driver.
Josh Gao [Tue, 15 Nov 2016 01:02:54 +0000 (01:02 +0000)]
versioner: cache -cc1 flags generated by the clang Driver.
am: b5c496346f

Change-Id: Ied6670cbee3bbcf91c13f39be2e0eae68a692aee

7 years agoversioner: refactor to use CompilerInstance directly.
Josh Gao [Tue, 15 Nov 2016 01:02:51 +0000 (01:02 +0000)]
versioner: refactor to use CompilerInstance directly.
am: 16016df79f

Change-Id: I142f75a381307b71c0893b04e943d65e0dbea844

7 years agoMerge changes I7f32dc9f,I9d88ddb1 am: cd9ce19e9c
Josh Gao [Fri, 11 Nov 2016 22:37:33 +0000 (22:37 +0000)]
Merge changes I7f32dc9f,I9d88ddb1 am: cd9ce19e9c
am: e250aff83f

Change-Id: I791318d45b8bf1885209fdff5ff9df6a7bc4b214

7 years agoRevert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used."" am...
Josh Gao [Fri, 11 Nov 2016 22:37:29 +0000 (22:37 +0000)]
Revert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used."" am: a170d9bfc5
am: 98edd972d0

Change-Id: I60089293a7eed18002db84931024374bff53719c

7 years agoRevert "Revert "Update getentropy_linux.c from upstream."" am: 98d655ce96
Josh Gao [Fri, 11 Nov 2016 22:37:25 +0000 (22:37 +0000)]
Revert "Revert "Update getentropy_linux.c from upstream."" am: 98d655ce96
am: 61f15f07c0

Change-Id: I3648f9e32a1caefd762d8ae8a8948c548e2577a1

7 years agoMerge changes I7f32dc9f,I9d88ddb1
Josh Gao [Fri, 11 Nov 2016 22:30:57 +0000 (22:30 +0000)]
Merge changes I7f32dc9f,I9d88ddb1
am: cd9ce19e9c

Change-Id: I3294cceacf564de140e374068c5ed3974df1875c

7 years agoRevert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""
Josh Gao [Fri, 11 Nov 2016 22:30:56 +0000 (22:30 +0000)]
Revert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""
am: a170d9bfc5

Change-Id: I2f72f07b59c8e5e0e7e19b41ce40a2c874a24330

7 years agoRevert "Revert "Update getentropy_linux.c from upstream.""
Josh Gao [Fri, 11 Nov 2016 22:30:53 +0000 (22:30 +0000)]
Revert "Revert "Update getentropy_linux.c from upstream.""
am: 98d655ce96

Change-Id: I4c41ee2b003790549f934c73644dcaee9efa9ba9

7 years agoMerge changes I7f32dc9f,I9d88ddb1
Treehugger Robot [Fri, 11 Nov 2016 22:20:17 +0000 (22:20 +0000)]
Merge changes I7f32dc9f,I9d88ddb1

* changes:
  Revert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""
  Revert "Revert "Update getentropy_linux.c from upstream.""

7 years agoRevert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""
Josh Gao [Fri, 11 Nov 2016 00:08:29 +0000 (16:08 -0800)]
Revert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""

This reverts commit 60d052dda600f26fdb6180ac1a2c53e97df5a58a.

Bug: http://b/27729263
Change-Id: I7f32dc9f9a1f21fda3213f10da940821e1bdd63f

7 years agoRevert "Revert "Update getentropy_linux.c from upstream.""
Josh Gao [Fri, 11 Nov 2016 00:08:20 +0000 (16:08 -0800)]
Revert "Revert "Update getentropy_linux.c from upstream.""

This reverts commit b3fbee449c314aee4bdc2f1720a931ea56c32f62.

Bug: http://b/27729263
Change-Id: I9d88ddb11466d203514ae805f4681c92e4b63c24

7 years agoversioner: use a virtual filesystem for input files.
Josh Gao [Wed, 9 Nov 2016 09:00:41 +0000 (01:00 -0800)]
versioner: use a virtual filesystem for input files.

Use an InMemoryFileSystem to store and share input files across
compilations.

This improves the result of `time versioner` further, from:
    versioner  109.12s user 17.43s system 2433% cpu 5.201 total
to:
    versioner  112.20s user 1.38s system 2416% cpu 4.700 total

Bug: http://b/32748936
Test: python run_tests.py
Change-Id: I72d37b7c30850b8399cc40338247700fe3e7b2f9

7 years agoversioner: cache -cc1 flags generated by the clang Driver.
Josh Gao [Wed, 9 Nov 2016 06:21:31 +0000 (22:21 -0800)]
versioner: cache -cc1 flags generated by the clang Driver.

Profiling showed that majority of time spent by versioner was being
spent in the x86 and x86_64 driver statting random files in /usr/lib,
looking for a toolchain. Hardcode a list of per-target flags which
correspond to a subset of the ones generated by clang, and use those
instead of calling out to Driver.

This changes the result of `time versioner` from:
    versioner  156.57s user 1180.08s system 4109% cpu 32.525 total
to:
    versioner  109.12s user 17.43s system 2433% cpu 5.201 total

Bug: http://b/32748936
Test: python run_tests.py
Change-Id: I7d254a105bf1a283cbba0546321b04e308e703d1

7 years agoversioner: refactor to use CompilerInstance directly.
Josh Gao [Tue, 8 Nov 2016 02:27:16 +0000 (18:27 -0800)]
versioner: refactor to use CompilerInstance directly.

This will make it easier to switch over to a virtual filesystem,
which should drastically improve performance.

This also fixes an issue with warning/error reporting.

Bug: http://b/32748936
Test: python run_tests.py
Change-Id: I2e967acf75db29c95f3a03f4f94cccd22c367ad5

7 years agoMerge "versioner: don't always hide future decls." am: 84e269d5af
Josh Gao [Wed, 9 Nov 2016 02:20:37 +0000 (02:20 +0000)]
Merge "versioner: don't always hide future decls." am: 84e269d5af
am: 73a4998c7d

Change-Id: I55005e7f8f64d8b3b11ea7f341ff8dcf534b3694

7 years agoMerge "versioner: don't always hide future decls."
Josh Gao [Wed, 9 Nov 2016 02:15:37 +0000 (02:15 +0000)]
Merge "versioner: don't always hide future decls."
am: 84e269d5af

Change-Id: Id889cddcb180ad3d485ff80ac475658df9ac402f

7 years agoMerge "versioner: don't always hide future decls."
Treehugger Robot [Wed, 9 Nov 2016 02:07:17 +0000 (02:07 +0000)]
Merge "versioner: don't always hide future decls."

7 years agoMerge "Document how to run the benchmarks." am: 64fc6b5e20
Elliott Hughes [Wed, 9 Nov 2016 01:37:19 +0000 (01:37 +0000)]
Merge "Document how to run the benchmarks." am: 64fc6b5e20
am: 1245ee0d03

Change-Id: I431f87117a92cf55f6d34519d37ef7e93de5e27d

7 years agoMerge "Fix error case to print newlines properly." am: b08fde95cb
Christopher Ferris [Wed, 9 Nov 2016 01:37:04 +0000 (01:37 +0000)]
Merge "Fix error case to print newlines properly." am: b08fde95cb
am: 452d4d3db5

Change-Id: Ic13bb12bc2bad19333c86ba2943ecbf7e2f270d6

7 years agoMerge "Document how to run the benchmarks."
Elliott Hughes [Wed, 9 Nov 2016 01:31:44 +0000 (01:31 +0000)]
Merge "Document how to run the benchmarks."
am: 64fc6b5e20

Change-Id: Ie5ff7630f3e647240c7b170ad255ed0268814837

7 years agoMerge "Fix error case to print newlines properly."
Christopher Ferris [Wed, 9 Nov 2016 01:31:33 +0000 (01:31 +0000)]
Merge "Fix error case to print newlines properly."
am: b08fde95cb

Change-Id: I2987196ad6bb4e3ccf0c19b8e6b450903cf691f6

7 years agoMerge "Document how to run the benchmarks."
Treehugger Robot [Wed, 9 Nov 2016 01:20:58 +0000 (01:20 +0000)]
Merge "Document how to run the benchmarks."

7 years agoMerge "Fix error case to print newlines properly."
Treehugger Robot [Wed, 9 Nov 2016 00:33:12 +0000 (00:33 +0000)]
Merge "Fix error case to print newlines properly."

7 years agoversioner: don't always hide future decls.
Josh Gao [Wed, 9 Nov 2016 00:17:45 +0000 (16:17 -0800)]
versioner: don't always hide future decls.

Bug: http://b/32748732
Test: python run_tests.py
Change-Id: I8f799015ebb1017f5e7d1324fb4c724e12a268bc

7 years agoDocument how to run the benchmarks.
Elliott Hughes [Tue, 8 Nov 2016 23:38:26 +0000 (15:38 -0800)]
Document how to run the benchmarks.

Test: N/A
Change-Id: I13bf4f1b5a218e06e68ff8eb8156843175f2648a

7 years agoFix error case to print newlines properly.
Christopher Ferris [Tue, 8 Nov 2016 22:05:18 +0000 (14:05 -0800)]
Fix error case to print newlines properly.

Bug: 32640542

Test: Built and ran on a failing device.
Change-Id: I81a578af7608c741819062bd54aa8e348a621b83

7 years agoMerge "Eliminate deadlock in forked child due to delayed resetting mutex lock" am...
Dimitry Ivanov [Tue, 8 Nov 2016 21:18:43 +0000 (21:18 +0000)]
Merge "Eliminate deadlock in forked child due to delayed resetting mutex lock" am: 8bfaac0f8a
am: 7676c3494a

Change-Id: Iddb15d6135177028c39e9a244e9c36f9fcb4ed39

7 years agoMerge "Eliminate deadlock in forked child due to delayed resetting mutex lock"
Dimitry Ivanov [Tue, 8 Nov 2016 21:13:44 +0000 (21:13 +0000)]
Merge "Eliminate deadlock in forked child due to delayed resetting mutex lock"
am: 8bfaac0f8a

Change-Id: I7db0e466f3ea8af90fe9ec7c103ec3ddff3a7da9

7 years agoMerge "Eliminate deadlock in forked child due to delayed resetting mutex lock"
Dimitry Ivanov [Tue, 8 Nov 2016 20:59:42 +0000 (20:59 +0000)]
Merge "Eliminate deadlock in forked child due to delayed resetting mutex lock"

7 years agoMerge "Remove bogus OPEN_MAX and CHILD_MAX constants." am: bfc6ce6424
Elliott Hughes [Tue, 8 Nov 2016 01:21:02 +0000 (01:21 +0000)]
Merge "Remove bogus OPEN_MAX and CHILD_MAX constants." am: bfc6ce6424
am: df8bccafdc

Change-Id: Ib27b5b4156a85262354d5fc98e7edce7b2ae3ddb

7 years agoMerge "Remove bogus OPEN_MAX and CHILD_MAX constants."
Elliott Hughes [Tue, 8 Nov 2016 01:16:01 +0000 (01:16 +0000)]
Merge "Remove bogus OPEN_MAX and CHILD_MAX constants."
am: bfc6ce6424

Change-Id: I5b05ef9af8a6ab128ddaf9daed4262fc64cfe623

7 years agoMerge "Remove bogus OPEN_MAX and CHILD_MAX constants."
Elliott Hughes [Tue, 8 Nov 2016 01:05:47 +0000 (01:05 +0000)]
Merge "Remove bogus OPEN_MAX and CHILD_MAX constants."

7 years agoMerge "Add legacy inlines for fenv APIs." am: 59a3439fe8
Dan Albert [Tue, 8 Nov 2016 00:08:56 +0000 (00:08 +0000)]
Merge "Add legacy inlines for fenv APIs." am: 59a3439fe8
am: 3638492dba

Change-Id: I056397bd972442526326b4545be35cdf169458a7

7 years agoMerge "Add legacy inlines for fenv APIs."
Dan Albert [Tue, 8 Nov 2016 00:04:00 +0000 (00:04 +0000)]
Merge "Add legacy inlines for fenv APIs."
am: 59a3439fe8

Change-Id: I527cc2d3dc974260e5f81b9fd45e246454841ce3

7 years agoMerge "Add legacy inlines for fenv APIs."
Treehugger Robot [Mon, 7 Nov 2016 23:51:40 +0000 (23:51 +0000)]
Merge "Add legacy inlines for fenv APIs."

7 years agoMerge "Show amount of parallelism in gtest output." am: 15ae549658
Elliott Hughes [Mon, 7 Nov 2016 23:02:22 +0000 (23:02 +0000)]
Merge "Show amount of parallelism in gtest output." am: 15ae549658
am: 34637a7865

Change-Id: If0fb9136142357eaf6bfad0eba79e1ab06dc038c

7 years agoMerge "Show amount of parallelism in gtest output."
Elliott Hughes [Mon, 7 Nov 2016 22:56:52 +0000 (22:56 +0000)]
Merge "Show amount of parallelism in gtest output."
am: 15ae549658

Change-Id: I397a9f303b650445608480551ba863cb5cdc78fd

7 years agoMerge "Show amount of parallelism in gtest output."
Treehugger Robot [Mon, 7 Nov 2016 22:48:49 +0000 (22:48 +0000)]
Merge "Show amount of parallelism in gtest output."

7 years agoRemove bogus OPEN_MAX and CHILD_MAX constants.
Elliott Hughes [Mon, 7 Nov 2016 22:03:00 +0000 (14:03 -0800)]
Remove bogus OPEN_MAX and CHILD_MAX constants.

These are BSD-isms that don't make sense on Linux but do lead people astray.

Bug: http://b/32678775
Test: builds & boots
Change-Id: If6d3636f5f8d1b392b08c997dba2afde61b31fb6

7 years agoAdd legacy inlines for fenv APIs.
Dan Albert [Fri, 4 Nov 2016 18:39:16 +0000 (11:39 -0700)]
Add legacy inlines for fenv APIs.

Test: make native
      Copied into the NDK and ran ndk/checkbuild.py
Bug: None

Change-Id: I3d1e9317952ad23145a1f5221e347a16ebad4b0d

7 years agoMerge changes I660ddce6,Ic58d0481,I5d45aa72 am: 2560a2703d
Dan Albert [Mon, 7 Nov 2016 19:25:22 +0000 (19:25 +0000)]
Merge changes I660ddce6,Ic58d0481,I5d45aa72 am: 2560a2703d
am: 491bbb61bf

Change-Id: I4cce2b3f7c216d9975ea047ddd1a548df4d7e3a0

7 years agoMark LIBC_DEPRECATED as platform-only. am: 60dc6b2840
Dan Albert [Mon, 7 Nov 2016 19:25:17 +0000 (19:25 +0000)]
Mark LIBC_DEPRECATED as platform-only. am: 60dc6b2840
am: 604ce6eb33

Change-Id: I6b3e5d929440e98bfeaafd6733e608652175c494

7 years agoRemove _ZTV9type_info from the version script. am: 57e094f30a
Dan Albert [Mon, 7 Nov 2016 19:25:13 +0000 (19:25 +0000)]
Remove _ZTV9type_info from the version script. am: 57e094f30a
am: 421f5e954d

Change-Id: Ief8a3e29d79176327ca4cdf8b891bf6b3c055026

7 years agoRun genversion-scripts.py. am: 832ccc2667
Dan Albert [Mon, 7 Nov 2016 19:25:10 +0000 (19:25 +0000)]
Run genversion-scripts.py. am: 832ccc2667
am: c908489566

Change-Id: I40220a545b579fa0a5d7df6868091326d6d753c1

7 years agoMerge changes I660ddce6,Ic58d0481,I5d45aa72
Dan Albert [Mon, 7 Nov 2016 19:19:45 +0000 (19:19 +0000)]
Merge changes I660ddce6,Ic58d0481,I5d45aa72
am: 2560a2703d

Change-Id: Icc4bc065ea2257c1745a6740f3f9271a1fa791bc

7 years agoMark LIBC_DEPRECATED as platform-only.
Dan Albert [Mon, 7 Nov 2016 19:19:44 +0000 (19:19 +0000)]
Mark LIBC_DEPRECATED as platform-only.
am: 60dc6b2840

Change-Id: I3d18e28111be3fdccdff5303848a40b8633bf0d7

7 years agoRemove _ZTV9type_info from the version script.
Dan Albert [Mon, 7 Nov 2016 19:19:41 +0000 (19:19 +0000)]
Remove _ZTV9type_info from the version script.
am: 57e094f30a

Change-Id: I0a6b2836b37791d9fdccbc820dfeb4ec7170b51a

7 years agoRun genversion-scripts.py.
Dan Albert [Mon, 7 Nov 2016 19:19:38 +0000 (19:19 +0000)]
Run genversion-scripts.py.
am: 832ccc2667

Change-Id: I181d4b2970362da7dc96ae2574e83d62cb540a6c

7 years agoMerge changes I660ddce6,Ic58d0481,I5d45aa72
Treehugger Robot [Mon, 7 Nov 2016 19:12:38 +0000 (19:12 +0000)]
Merge changes I660ddce6,Ic58d0481,I5d45aa72

* changes:
  Mark LIBC_DEPRECATED as platform-only.
  Remove _ZTV9type_info from the version script.
  Run genversion-scripts.py.

7 years agoMerge "Fix cortex-a53 inclusion of files." am: 9957485378
Christopher Ferris [Mon, 7 Nov 2016 16:51:58 +0000 (16:51 +0000)]
Merge "Fix cortex-a53 inclusion of files." am: 9957485378
am: a0affeb595

Change-Id: I5d370ccc17f1358fda01e1c4cd0c7c47b43153cd

7 years agoMerge "Fix cortex-a53 inclusion of files."
Christopher Ferris [Mon, 7 Nov 2016 16:46:58 +0000 (16:46 +0000)]
Merge "Fix cortex-a53 inclusion of files."
am: 9957485378

Change-Id: Iac36f062bd96e1d29d2156802858ffea64d9972f

7 years agoMerge "Fix cortex-a53 inclusion of files."
Christopher Ferris [Mon, 7 Nov 2016 16:42:55 +0000 (16:42 +0000)]
Merge "Fix cortex-a53 inclusion of files."

7 years agoMerge "Fix format macros for fast16 and fast32 int types." am: a3ab8ebedd
Elliott Hughes [Mon, 7 Nov 2016 16:41:58 +0000 (16:41 +0000)]
Merge "Fix format macros for fast16 and fast32 int types." am: a3ab8ebedd
am: 54901af44f

Change-Id: Ia7ea95284e39104bbe6799b0a4249b6993212f2a

7 years agoMerge "Fix format macros for fast16 and fast32 int types."
Elliott Hughes [Mon, 7 Nov 2016 16:36:57 +0000 (16:36 +0000)]
Merge "Fix format macros for fast16 and fast32 int types."
am: a3ab8ebedd

Change-Id: Id8156b85fa1d29acd6b4375798ed5df0aaa19b71

7 years agoMerge "Fix format macros for fast16 and fast32 int types."
Elliott Hughes [Mon, 7 Nov 2016 16:33:35 +0000 (16:33 +0000)]
Merge "Fix format macros for fast16 and fast32 int types."

7 years agoMerge "Make prctl test check maps." am: 95780f2b42
Christopher Ferris [Mon, 7 Nov 2016 16:17:26 +0000 (16:17 +0000)]
Merge "Make prctl test check maps." am: 95780f2b42
am: d568220a4b

Change-Id: I96bcf6c7e909f22180d6cd15f9a9320a9c034f9a

7 years agoMerge "Make prctl test check maps."
Christopher Ferris [Mon, 7 Nov 2016 16:12:25 +0000 (16:12 +0000)]
Merge "Make prctl test check maps."
am: 95780f2b42

Change-Id: Id4fb876295328ea874052abc88d5a94c8ba2959e

7 years agoMerge "Make prctl test check maps."
Christopher Ferris [Mon, 7 Nov 2016 16:06:03 +0000 (16:06 +0000)]
Merge "Make prctl test check maps."

7 years agoMerge "Update timezone data to 2016i." am: 275659a0fd
Neil Fuller [Mon, 7 Nov 2016 11:20:42 +0000 (11:20 +0000)]
Merge "Update timezone data to 2016i." am: 275659a0fd
am: b24d990804

Change-Id: Ic06a281e461d28ab8b7e7d5d692b30ff7603511f

7 years agoMerge "Update timezone data to 2016i."
Neil Fuller [Mon, 7 Nov 2016 11:15:42 +0000 (11:15 +0000)]
Merge "Update timezone data to 2016i."
am: 275659a0fd

Change-Id: I31a6cebb625addf8b68f5b2b1a67d7d59fdb53cc

7 years agoMerge "Update timezone data to 2016i."
Neil Fuller [Mon, 7 Nov 2016 11:11:13 +0000 (11:11 +0000)]
Merge "Update timezone data to 2016i."

7 years agoFix cortex-a53 inclusion of files.
Christopher Ferris [Mon, 7 Nov 2016 07:35:15 +0000 (23:35 -0800)]
Fix cortex-a53 inclusion of files.

I accidentally broken the cortex-a53 because it directly includes files
from cortex-a15. Rather than revert that part, just copy over the files
that are needed directly so we don't run into this in the future.

Test: Built the aosp_angler-userdebug target using cortex-a53 as the
Test: arm target. Then built the bionic unit tests and ran them on
Test: an angler.

Change-Id: Id89e240b31f94e99f5076e1de973a9344486ec35

7 years agoMake prctl test check maps.
Christopher Ferris [Thu, 3 Nov 2016 23:06:40 +0000 (16:06 -0700)]
Make prctl test check maps.

It turns out that sometimes this kernel bug can be present but not
trigger a crash. Modify the test to check for overlapping maps instead.

Bug: 32640542

Test: Verified that this fails on a device without the kernel patch
Test: (both bionic-unit-tests32 and CtsBionicTestCases32). Verified
Test: this passes on an angler.

Change-Id: Ia3fae3ee3d01f33d8414c1796fc3e942d5b56ec8

7 years agoEliminate deadlock in forked child due to delayed resetting mutex lock
Mingwei Shi [Thu, 3 Nov 2016 14:53:45 +0000 (14:53 +0000)]
Eliminate deadlock in forked child due to delayed resetting mutex lock

For some program implementation, the pattern like below, calling
pthread_atfork to register atfork interfaces.

    pthread_atfork(&atfork_prepare, &atfork_parent, &atfork_child);

When the program is expected to reopen the shared library's handle
inherited from parent in child process. Maybe, dlclose is called in
atfork_child to release the shared library handle before reopen it.
Then, dlclose will indrectly call _cxa_finalize and finaly call
__unregister_atfork when dso is not NULL.

    atfork_child() -> dlclose() -> __on_dlclose()
     -> __cxa_finalize() -> __unregister_atfork(dso)

In __unregister_atfork, firstly, it try to hold the g_atfork_list_mutex
lock to operate the g_atfork_list. Due to the registered atfork_child is
executed before resetting g_atfork_list_mutex lock in child, the child
process will be blocked here because of deadlock.

Test: bionic-unit-tests32 --gtest_filter=pthread.pthread_atfork_child_with_dlclose
without the fixing, the test will be timeout.

Change-Id: I35d3001682c836e0955d6d681bc5f9297fad0c7b
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
Signed-off-by: Chao Xie <chao.xie@intel.com>
7 years agoMerge "Clean up update_headers.sh." am: 147fdb4724
Dan Albert [Sat, 5 Nov 2016 20:19:00 +0000 (20:19 +0000)]
Merge "Clean up update_headers.sh." am: 147fdb4724
am: 0c54b63de0

Change-Id: Ia8f11cdf230de833c6ca778c0af0085ca0717ce2

7 years agoMerge "Clean up update_headers.sh."
Dan Albert [Sat, 5 Nov 2016 20:15:01 +0000 (20:15 +0000)]
Merge "Clean up update_headers.sh."
am: 147fdb4724

Change-Id: Ie70f3d7e3609fa39ad9931e421690c56748e4251

7 years agoMerge "Clean up update_headers.sh."
Treehugger Robot [Sat, 5 Nov 2016 20:09:12 +0000 (20:09 +0000)]
Merge "Clean up update_headers.sh."

7 years agoMerge "Set __get_thread()->tid as part of clone()." am: f41032a3e2
Robert Sesek [Sat, 5 Nov 2016 01:35:59 +0000 (01:35 +0000)]
Merge "Set __get_thread()->tid as part of clone()." am: f41032a3e2
am: fec6131f36

Change-Id: Ia4d4c76fe4c747d2ad3fb494416d5aac33c7c002

7 years agoMerge "Set __get_thread()->tid as part of clone()."
Robert Sesek [Sat, 5 Nov 2016 01:32:29 +0000 (01:32 +0000)]
Merge "Set __get_thread()->tid as part of clone()."
am: f41032a3e2

Change-Id: Ic04e3283a680bec43d8d85a9ab9f035c746681ce

7 years agoMerge "Set __get_thread()->tid as part of clone()."
Treehugger Robot [Sat, 5 Nov 2016 01:24:13 +0000 (01:24 +0000)]
Merge "Set __get_thread()->tid as part of clone()."

7 years agoMark LIBC_DEPRECATED as platform-only.
Dan Albert [Fri, 4 Nov 2016 22:04:28 +0000 (15:04 -0700)]
Mark LIBC_DEPRECATED as platform-only.

These symbols should not be exposed in the NDK.

Test: make native
Bug: None
Change-Id: I660ddce6d67bfdac029e31ef8dde2985fd4b1de5

7 years agoRemove _ZTV9type_info from the version script.
Dan Albert [Fri, 4 Nov 2016 23:48:53 +0000 (16:48 -0700)]
Remove _ZTV9type_info from the version script.

We broke this ABI in L:
https://android-review.googlesource.com/c/95071/.

This ABI break is now in over half of all devices, so it's more
correct to not have it than it is to have it. It's also worth noting
that this was only ever in ARM and MIPS; it was never in x86.

Test: make native
Bug: None
Change-Id: Ic58d048191f72d58fe72a2691bebbbfeda14bdf1

7 years agoRun genversion-scripts.py.
Dan Albert [Fri, 4 Nov 2016 22:05:30 +0000 (15:05 -0700)]
Run genversion-scripts.py.

I forgot to run this after adding NDK info to libstdc++.

Test: make native
Bug: None
Change-Id: I5d45aa7207b9eb548a233442aa0e3ab77d98baeb

7 years agoMerge changes I9d050e54,Ic487036a am: bf67936b4b
Josh Gao [Fri, 4 Nov 2016 23:18:00 +0000 (23:18 +0000)]
Merge changes I9d050e54,Ic487036a am: bf67936b4b
am: 6a2fa2a467

Change-Id: If1f1fe950e00c3f170587178ad69ba74fe1c3e26

7 years agoversioner: allow static inlines that don't conflict. am: 1a176de2f1
Josh Gao [Fri, 4 Nov 2016 23:17:55 +0000 (23:17 +0000)]
versioner: allow static inlines that don't conflict. am: 1a176de2f1
am: 6c73ed9602

Change-Id: Ie3cb5bbc1290ead117b999364cfafc53a47ea6c6

7 years agoversioner: fix output. am: a00e672361
Josh Gao [Fri, 4 Nov 2016 23:17:51 +0000 (23:17 +0000)]
versioner: fix output. am: a00e672361
am: 299e1e0bc1

Change-Id: I02a2e96fa50c6179137b60ef8cbaafbbf1a42d52

7 years agoMerge changes I9d050e54,Ic487036a
Josh Gao [Fri, 4 Nov 2016 23:14:24 +0000 (23:14 +0000)]
Merge changes I9d050e54,Ic487036a
am: bf67936b4b

Change-Id: I588d34c4acfb70478af8a2b831adb23ddb897475

7 years agoversioner: allow static inlines that don't conflict.
Josh Gao [Fri, 4 Nov 2016 23:14:23 +0000 (23:14 +0000)]
versioner: allow static inlines that don't conflict.
am: 1a176de2f1

Change-Id: Iad7a8bec5bc2b836a06c5d846f523b6e1d20f5b9

7 years agoversioner: fix output.
Josh Gao [Fri, 4 Nov 2016 23:14:20 +0000 (23:14 +0000)]
versioner: fix output.
am: a00e672361

Change-Id: I11bb53b4be47ea41337bf5ead9d3bcb1f2a177cb

7 years agoMerge changes I9d050e54,Ic487036a
Treehugger Robot [Fri, 4 Nov 2016 23:06:55 +0000 (23:06 +0000)]
Merge changes I9d050e54,Ic487036a

* changes:
  versioner: allow static inlines that don't conflict.
  versioner: fix output.

7 years agoSet __get_thread()->tid as part of clone().
Robert Sesek [Thu, 3 Nov 2016 19:00:53 +0000 (15:00 -0400)]
Set __get_thread()->tid as part of clone().

This was previously done only in fork() and pthread_create(), but this left raw
clone() with an invalid cached tid. Since the tid is used for pthread routines,
this led to unstable behavior after clone().

Test: ltp clone01 (see bug for more)
Test: mmma bionic/tests
Test: bionic-unit-tests-static --gtest_filter=*fork*:*clone*

Bug: 32612735
Bug: 32305649
Change-Id: I30eae5a8024b4c5da65476fcadfe14c6db35bb79

7 years agoversioner: allow static inlines that don't conflict.
Josh Gao [Fri, 4 Nov 2016 20:15:11 +0000 (13:15 -0700)]
versioner: allow static inlines that don't conflict.

Bug: http://b/32664285
Test: python run_test.py
Change-Id: I9d050e545390eccd82661325c0ec58055f5f28a3

7 years agoversioner: fix output.
Josh Gao [Fri, 4 Nov 2016 19:04:38 +0000 (12:04 -0700)]
versioner: fix output.

Bug: http://b/32664285
Test: python run_test.py
Change-Id: Ic487036a17cc6778493e316146e54ead8ce3e65b

7 years agoClean up update_headers.sh.
Dan Albert [Fri, 4 Nov 2016 18:40:27 +0000 (11:40 -0700)]
Clean up update_headers.sh.

Clean up some output, check for errors from the versioner.

Test: tools/update_headers.sh
Bug: None
Change-Id: Ib398b534a9a8ee6dc6a2b4d90747f628aa911bab

7 years agoUpdate timezone data to 2016i.
Neil Fuller [Fri, 4 Nov 2016 16:23:47 +0000 (16:23 +0000)]
Update timezone data to 2016i.

IANA changes:

  Briefly: Cyprus split into two time zones on 2016-10-30, and Tonga
  reintroduces DST on 2016-11-06.

  Changes to future time stamps

    Pacific/Tongatapu begins DST on 2016-11-06 at 02:00, ending on
    2017-01-15 at 03:00.  Assume future observances in Tonga will be
    from the first Sunday in November through the third Sunday in
    January, like Fiji.  (Thanks to Pulu ʻAnau.)  Switch to numeric
    time zone abbreviations for this zone.

  Changes to past and future time stamps

    Northern Cyprus is now +03 year round, causing a split in Cyprus
    time zones starting 2016-10-30 at 04:00.  This creates a zone
    Asia/Famagusta.  (Thanks to Even Scharning and Matt Johnson.)

    Antarctica/Casey switched from +08 to +11 on 2016-10-22.
    (Thanks to Steffen Thorsen.)

  Changes to past time stamps

    Several corrections were made for pre-1975 time stamps in Italy.
    These affect Europe/Malta, Europe/Rome, Europe/San_Marino, and
    Europe/Vatican.

    First, the 1893-11-01 00:00 transition in Italy used the new UT
    offset (+01), not the old (+00:49:56).  (Thanks to Michael
    Deckers.)

    Second, rules for daylight saving in Italy were changed to agree
    with Italy's National Institute of Metrological Research (INRiM)
    except for 1944, as follows (thanks to Pierpaolo Bernardi, Brian
    Inglis, and Michael Deckers):

      The 1916-06-03 transition was at 24:00, not 00:00.

      The 1916-10-01, 1919-10-05, and 1920-09-19 transitions were at
      00:00, not 01:00.

      The 1917-09-30 and 1918-10-06 transitions were at 24:00, not
      01:00.

      The 1944-09-17 transition was at 03:00, not 01:00.  This
      particular change is taken from Italian law as INRiM's table,
      (which says 02:00) appears to have a typo here.  Also, keep the
      1944-04-03 transition for Europe/Rome, as Rome was controlled by
      Germany then.

      The 1967-1970 and 1972-1974 fallback transitions were at 01:00,
      not 00:00.

Bug: 32629043
Test: CtsIcuTestCases / CtsLibcoreTestCases / CtsBionicTestCases
Change-Id: Ica473348c063d2d0372b30ce6d184742db042c05

7 years agoMerge "Small cleanup of cortex-a15 code." am: aea8407ad5
Christopher Ferris [Thu, 3 Nov 2016 22:49:21 +0000 (22:49 +0000)]
Merge "Small cleanup of cortex-a15 code." am: aea8407ad5
am: c11ea46290

Change-Id: I95e592a873947e7bfd4f7a0c84251ee97fd29950

7 years agoMerge "Small cleanup of cortex-a15 code."
Christopher Ferris [Thu, 3 Nov 2016 22:45:51 +0000 (22:45 +0000)]
Merge "Small cleanup of cortex-a15 code."
am: aea8407ad5

Change-Id: I9da8efe43a17d85bb4a4913174983f14d25088ec

7 years agoMerge "Small cleanup of cortex-a15 code."
Christopher Ferris [Thu, 3 Nov 2016 22:40:16 +0000 (22:40 +0000)]
Merge "Small cleanup of cortex-a15 code."

7 years agoMerge changes I751520a1,I5762e815 am: 42eb0b2555
Dan Albert [Wed, 2 Nov 2016 20:00:52 +0000 (20:00 +0000)]
Merge changes I751520a1,I5762e815 am: 42eb0b2555
am: e3d863cb8d

Change-Id: I3051d7abaf6545324ffedc1da4fdab6c5a8a7849

7 years agoAdd legacy inline for wait4. am: e749abe9ab
Dan Albert [Wed, 2 Nov 2016 20:00:47 +0000 (20:00 +0000)]
Add legacy inline for wait4. am: e749abe9ab
am: ac1cebac48

Change-Id: I7cfb299876d5a5fe47c9f9f573889b5ebd99d5a7

7 years agoRevert "Add legacy inlines for locale aware APIs." am: a3ce418ca6
Dan Albert [Wed, 2 Nov 2016 20:00:43 +0000 (20:00 +0000)]
Revert "Add legacy inlines for locale aware APIs." am: a3ce418ca6
am: b9c48fe13c

Change-Id: I90caaaa69ac4a72f8f676ca1195b45a08cf4bced

7 years agoMerge changes I751520a1,I5762e815
Dan Albert [Wed, 2 Nov 2016 19:57:46 +0000 (19:57 +0000)]
Merge changes I751520a1,I5762e815
am: 42eb0b2555

Change-Id: I237e3fb8121385432e011e25a4030b63d3a31903

7 years agoAdd legacy inline for wait4.
Dan Albert [Wed, 2 Nov 2016 19:57:45 +0000 (19:57 +0000)]
Add legacy inline for wait4.
am: e749abe9ab

Change-Id: Ie50811b2a7281e143e7e2eeaaa70c7a6484b6102

7 years agoMerge "Copy the NOTICE file when updating headers." am: 654287fd73
Dan Albert [Wed, 2 Nov 2016 19:57:42 +0000 (19:57 +0000)]
Merge "Copy the NOTICE file when updating headers." am: 654287fd73
am: 7327a50d8e

Change-Id: I3997d2a9022ab03fc76ce43363ab47518ad5333b

7 years agoRevert "Add legacy inlines for locale aware APIs."
Dan Albert [Wed, 2 Nov 2016 19:57:42 +0000 (19:57 +0000)]
Revert "Add legacy inlines for locale aware APIs."
am: a3ce418ca6

Change-Id: Id9ddd8eb027c3e0db1a7c477a10c33a4a01fb4bb

7 years agoMerge changes I751520a1,I5762e815
Treehugger Robot [Wed, 2 Nov 2016 19:56:09 +0000 (19:56 +0000)]
Merge changes I751520a1,I5762e815

* changes:
  Add legacy inline for wait4.
  Revert "Add legacy inlines for locale aware APIs."