OSDN Git Service

android-x86/bionic.git
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."
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."
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."
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
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."
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."
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."
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."
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."
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()."
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
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."
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
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."

7 years agoMerge "Copy the NOTICE file when updating headers."
Treehugger Robot [Wed, 2 Nov 2016 19:48:42 +0000 (19:48 +0000)]
Merge "Copy the NOTICE file when updating headers."

7 years agoSmall cleanup of cortex-a15 code.
Christopher Ferris [Tue, 1 Nov 2016 21:25:57 +0000 (14:25 -0700)]
Small cleanup of cortex-a15 code.

Remove new version of the cortex-a15 that caused a regression. We are never
going to revisit that code, and it is only confusing things.

Also remove the setting of MEMCPY_BASE and use the correct include
directly.

Test: Compiled angler with 32 bit arch as cortex-a15. Ran 32 bit bionic
Test: unit tests on angler.

Change-Id: I9372c01758fd7a596849c87b1a3f805bb477c94f

7 years agoAdd legacy inline for wait4.
Dan Albert [Tue, 1 Nov 2016 03:12:03 +0000 (20:12 -0700)]
Add legacy inline for wait4.

This wasn't added to Android until android-18. Note that the reason
I'm adding an inline here even though I just reverted a bunch of
inlines in the previous commit is because this was an inline in the
legacy NDK headers. If it was in the old headers, it needs to be in
the unified headers. If it wasn't, it needs to be in
libandroid_support.

Test: ./tools/update_headers.py && make ndk && make native
      # Copied into working directory for unified headers NDK work.
      ndk/checkbuild.py
      ndk/run_tests.py --force-unified-headers
Bug: None

Change-Id: I751520a1df34b3edb5c59b4bd47170c4634a1883

7 years agoRevert "Add legacy inlines for locale aware APIs."
Dan Albert [Mon, 31 Oct 2016 23:20:47 +0000 (16:20 -0700)]
Revert "Add legacy inlines for locale aware APIs."

We can't really add these to the unified headers yet since we're
still using the old headers as well, and libandroid_support needs to
work with both. These functions are already defined in
libandroid_support, so when using unified headers we'll get duplicate
definitions.

This was only going to be a temporary solution anyway. Instead we'll
just rely on libandroid_support (and eventually its rewrite) to handle
these.

This reverts commit 6576a3749bd3805508294bfcac3d9658fc0f8d6e.

Test: ./tools/update_headers.py && make ndk && make native
      # Copied into working directory for unified headers NDK work.
      ndk/checkbuild.py
      ndk/run_tests.py --force-unified-headers
Bug: None

Change-Id: I5762e815e2030c89d7f2540df08dd67b6c2d10a5

7 years agoCopy the NOTICE file when updating headers.
Dan Albert [Thu, 20 Oct 2016 19:45:03 +0000 (12:45 -0700)]
Copy the NOTICE file when updating headers.

Test: ./update_headers.sh
Bug: None
Change-Id: Ibde1e6d7ef1750d8369b65b3125b55023efb5b2a

7 years agoMerge "Fix gettid() after clone()."
Treehugger Robot [Sat, 29 Oct 2016 02:09:55 +0000 (02:09 +0000)]
Merge "Fix gettid() after clone()."

7 years agoMerge "Replace .align with .balign for clarity"
Treehugger Robot [Fri, 28 Oct 2016 17:23:48 +0000 (17:23 +0000)]
Merge "Replace .align with .balign for clarity"

7 years agoShow amount of parallelism in gtest output.
Elliott Hughes [Fri, 28 Oct 2016 17:04:44 +0000 (10:04 -0700)]
Show amount of parallelism in gtest output.

Bug: http://b/19075519
Test: ran tests
Change-Id: Ia190f728cc28e2283636e9cfea927e525d6c10c8

7 years agoFix gettid() after clone().
Robert Sesek [Tue, 25 Oct 2016 14:29:02 +0000 (10:29 -0400)]
Fix gettid() after clone().

The tid is cached in the pthread_internal_t and is properly re-set after fork()
and pthread_create(). But after a plain clone() the value is stale from the
parent.

Test: mmma bionic/tests
Test: bionic-unit-tests-static --gtest_filter=*fork*:*clone*
Test: m checkbuild tests
Test: angler boots

Bug: 32305649
Change-Id: I026d416d1537484cd3e05c8493a35e5ed2acc8ed

7 years agoMerge "Use ENTRY_PRIVATE in __bionic_clone assembler."
Treehugger Robot [Thu, 27 Oct 2016 23:07:28 +0000 (23:07 +0000)]
Merge "Use ENTRY_PRIVATE in __bionic_clone assembler."

7 years agoReplace .align with .balign for clarity
Dimitry Ivanov [Thu, 27 Oct 2016 09:32:47 +0000 (02:32 -0700)]
Replace .align with .balign for clarity

Test: run bionic-unit-tests
Change-Id: Icb43cc47e41d58fe3cb71986e05b3134022f895c

7 years agoFix format macros for fast16 and fast32 int types.
Xiaolei Yu [Tue, 25 Oct 2016 14:10:51 +0000 (22:10 +0800)]
Fix format macros for fast16 and fast32 int types.

Also change original format test to cover all cases.

Test: bionic unit tests
Change-Id: I2995145562c02918e0b596c008e63459912447ab

7 years agoUse ENTRY_PRIVATE in __bionic_clone assembler.
Elliott Hughes [Thu, 27 Oct 2016 00:01:32 +0000 (17:01 -0700)]
Use ENTRY_PRIVATE in __bionic_clone assembler.

Bug: N/A
Test: bionic tests
Change-Id: Ic651d628be009487a36d0b2e5bcf900b981b1ef9

7 years agoMerge "Make versioner build with LLVM r275480"
Pirama Arumuga Nainar [Wed, 26 Oct 2016 17:35:50 +0000 (17:35 +0000)]
Merge "Make versioner build with LLVM r275480"

7 years agoMerge "_FILE_OFFSET_BITS=64's posix_fallocate should be posix_fallocate64."
Elliott Hughes [Wed, 26 Oct 2016 15:33:11 +0000 (15:33 +0000)]
Merge "_FILE_OFFSET_BITS=64's posix_fallocate should be posix_fallocate64."

7 years ago_FILE_OFFSET_BITS=64's posix_fallocate should be posix_fallocate64.
Elliott Hughes [Tue, 25 Oct 2016 21:13:32 +0000 (14:13 -0700)]
_FILE_OFFSET_BITS=64's posix_fallocate should be posix_fallocate64.

Bug: found when reproducing http://b/32331571
Test: "toybox fallocate -l 3m /data/local/tmp/new" on LP32
Change-Id: I4ec5835813b9556d824a12ad650bdf55698ea539

7 years agoMake versioner build with LLVM r275480
Pirama Arumuga Nainar [Fri, 16 Sep 2016 23:56:15 +0000 (16:56 -0700)]
Make versioner build with LLVM r275480

Bug: http://b/31320715

Test: tools/versioner/preupload.sh
Change-Id: Icdff19b214b2b26c60288e49d26a88f04df68ef0

7 years agoMerge "Update timezone data to 2016h."
Neil Fuller [Tue, 25 Oct 2016 08:28:11 +0000 (08:28 +0000)]
Merge "Update timezone data to 2016h."

7 years agoMerge "Don't scan .swp files for copyright headers."
Treehugger Robot [Tue, 25 Oct 2016 04:43:19 +0000 (04:43 +0000)]
Merge "Don't scan .swp files for copyright headers."

7 years agoDon't scan .swp files for copyright headers.
Elliott Hughes [Tue, 25 Oct 2016 00:34:42 +0000 (17:34 -0700)]
Don't scan .swp files for copyright headers.

These are binary files, so that's not a good idea.

Bug: N/A
Test: N/A
Change-Id: If5e98df4bbbbac8a15a953be043df7d05c2b409a

7 years agoMerge "The default locale "" should be a UTF-8 locale."
Treehugger Robot [Tue, 25 Oct 2016 00:33:43 +0000 (00:33 +0000)]
Merge "The default locale "" should be a UTF-8 locale."

7 years agoMerge "Minor copyright header unification."
Treehugger Robot [Mon, 24 Oct 2016 22:16:58 +0000 (22:16 +0000)]
Merge "Minor copyright header unification."

7 years agoThe default locale "" should be a UTF-8 locale.
Elliott Hughes [Mon, 24 Oct 2016 21:50:31 +0000 (14:50 -0700)]
The default locale "" should be a UTF-8 locale.

"ls -q" (or "adb shell -tt ls") was mangling non-ASCII because mbrtowc
was returning multibyte characters as their individual bytes. This was
because toybox asks for "" rather than "C.UTF-8", and for some reason
we were interpreting that as "C" rather than "C.UTF-8".

Test: bionic tests, ls
Change-Id: Ic60e3b90cd5fe689e5489fad0d5d91062b9594ed

7 years agoMinor copyright header unification.
Elliott Hughes [Mon, 24 Oct 2016 19:53:17 +0000 (12:53 -0700)]
Minor copyright header unification.

Regenerating the NOTICE file the other day left me scratching my head at
various "how do they differ?" cases, resolved by this patch.

Test: N/A
Change-Id: I4230bfa1d7ec842a4b9fb8c73dd3b39443d74054

7 years agoUpdate timezone data to 2016h.
Neil Fuller [Fri, 21 Oct 2016 13:35:42 +0000 (14:35 +0100)]
Update timezone data to 2016h.

IANA update relating to the data as follows:

The 2016h release of the tz code and data is available. Its primary
motivation is to update to the new rules for Palestine, where 2016g
becomes incorrect starting about four hours from now (sorry, we
didn't get much notice). More generally, the 2016h release reflects
the following changes, which were either circulated on the tz mailing
list or are relatively minor technical or administrative changes:

  Changes to future time stamps

    Asia/Gaza and Asia/Hebron end DST on 2016-10-29 at 01:00, not
    2016-10-21 at 00:00.  (Thanks to Sharef Mustafa.)  Predict that
    future fall transitions will be on the last Saturday of October
    at 01:00, which is consistent with predicted spring transitions
    on the last Saturday of March.  (Thanks to Tim Parenti.)

  Changes to past time stamps

    In Turkey, transitions in 1986-1990 were at 01:00 standard time
    not at 02:00, and the spring 1994 transition was on March 20, not
    March 27.  (Thanks to Kıvanç Yazan.)

  Changes to past and future time zone abbreviations

    Asia/Colombo now uses numeric time zone abbreviations like "+0530"
    instead of alphabetic ones like "IST" and "LKT".  Various
    English-language sources use "IST", "LKT" and "SLST", with no
    working consensus.  (Usage of "SLST" mentioned by Sadika
    Sumanapala.)

Bug: 32320380
Test: Ran CtsLibcoreTestCases, CtsBionicTestCases and ICU tests
Change-Id: I0286e7feac65f43518741d9ae18960e1adb888fb

7 years agoMerge changes from topic 'ndk-headers-licenses'
Treehugger Robot [Thu, 20 Oct 2016 22:12:39 +0000 (22:12 +0000)]
Merge changes from topic 'ndk-headers-licenses'

* changes:
  Add license to ndk_headers modules.
  One NOTICE file to rule them all.

7 years agoMerge "Update our notice files as a pre-upload step."
Treehugger Robot [Thu, 20 Oct 2016 22:07:55 +0000 (22:07 +0000)]
Merge "Update our notice files as a pre-upload step."

7 years agoMerge "Add missing host ldlibs"
Colin Cross [Thu, 20 Oct 2016 20:26:09 +0000 (20:26 +0000)]
Merge "Add missing host ldlibs"

7 years agoMerge "Fix stdin/stdout/stderr for pre-M."
Treehugger Robot [Thu, 20 Oct 2016 19:34:56 +0000 (19:34 +0000)]
Merge "Fix stdin/stdout/stderr for pre-M."

7 years agoAdd license to ndk_headers modules.
Dan Albert [Thu, 20 Oct 2016 08:42:54 +0000 (01:42 -0700)]
Add license to ndk_headers modules.

Test: make ndk
Bug: None
Change-Id: I0e9a39def2be9cd81369843906f6d7c180d17045

7 years agoOne NOTICE file to rule them all.
Dan Albert [Thu, 20 Oct 2016 18:45:16 +0000 (11:45 -0700)]
One NOTICE file to rule them all.

Generate a single NOTICE file rather than one per library. All the
headers come from libc these days anyway.

Test: tools/update_notice.sh
Bug: None
Change-Id: I127da185fdabc2815042e19aea74c507ec108f46

7 years agoUpdate our notice files as a pre-upload step.
Dan Albert [Thu, 20 Oct 2016 17:34:47 +0000 (10:34 -0700)]
Update our notice files as a pre-upload step.

Also updates the license files, since apparently they're out of date.

Test: repo upload --cbr .
Bug: None
Change-Id: Ic8d855a7ee5185c4933da699292868e02ef79531

7 years agoAdd missing host ldlibs
Colin Cross [Thu, 20 Oct 2016 17:39:50 +0000 (10:39 -0700)]
Add missing host ldlibs

Host builds were compiling without -Wl,--no-undefined.  Add missing
host ldlibs so that -Wl,--no-undefined can be added again.

Test: m -j host
Bug: 32305815
Change-Id: I456098775ead2bddae3e61c7055b2bde3f6b38ff

7 years agoFix stdin/stdout/stderr for pre-M.
Dan Albert [Thu, 6 Oct 2016 22:46:45 +0000 (15:46 -0700)]
Fix stdin/stdout/stderr for pre-M.

This wasn't an array of pointers, it was an array of structs.
Unfortunately we need a complete type to index into the struct for
stdin/stdout/stderr, so add a phony struct that matches the size and
alignment of `struct __sFILE`. This property is guaranteed by the
static_asserts in libc/bionic/struct_file_test.cpp.

Test: mma
Bug: http://b/30465923
Change-Id: I8ce851dd64a261703bb44f9b5cd23b7caff4dd68

7 years agoMerge "Add regression test for http://b/31938693."
Elliott Hughes [Thu, 20 Oct 2016 16:30:05 +0000 (16:30 +0000)]
Merge "Add regression test for http://b/31938693."

7 years agoMerge "Add test for libraries with textrels"
Treehugger Robot [Thu, 20 Oct 2016 01:37:19 +0000 (01:37 +0000)]
Merge "Add test for libraries with textrels"

7 years agoAdd regression test for http://b/31938693.
Elliott Hughes [Wed, 19 Oct 2016 23:02:31 +0000 (16:02 -0700)]
Add regression test for http://b/31938693.

Bug: http://b/31938693
Bug: https://code.google.com/p/android/issues/detail?id=225132
Test: this is a test
Change-Id: I858962a1dcd56d555a4836a7bfbdf92d5c3042f6

7 years agoAdd test for libraries with textrels
Dimitry Ivanov [Wed, 19 Oct 2016 18:00:28 +0000 (11:00 -0700)]
Add test for libraries with textrels

Make sure android fails to load them.

Bug: http://b/30795430
Test: bionic-unit-tests --gtest_filter=dlfcn.dlopen_invalid*
Test: cts-tradefed run singleCommand cts --skip-preconditions -m CtsBionicTestCases
Change-Id: Id0ebdf336b2f297007479ceb1bbccf778a7ca3f2

7 years agoMerge "Fix our _POSIX_* macros to declare barriers and spin locks."
Elliott Hughes [Wed, 19 Oct 2016 21:16:21 +0000 (21:16 +0000)]
Merge "Fix our _POSIX_* macros to declare barriers and spin locks."

7 years agoFix our _POSIX_* macros to declare barriers and spin locks.
Elliott Hughes [Wed, 19 Oct 2016 16:27:02 +0000 (09:27 -0700)]
Fix our _POSIX_* macros to declare barriers and spin locks.

We have these now.

Test: ran tests
Change-Id: Ie7b479061ecec19c8b35ea81e04debfd8323d94a

7 years agoMerge "Fix ifaddrs error handling."
Treehugger Robot [Fri, 14 Oct 2016 23:35:52 +0000 (23:35 +0000)]
Merge "Fix ifaddrs error handling."

7 years agoFix ifaddrs error handling.
Elliott Hughes [Fri, 14 Oct 2016 19:15:32 +0000 (12:15 -0700)]
Fix ifaddrs error handling.

An NLMSG_ERROR packet includes an errno value that we should use. Also report
failures to create a socket immediately, rather than falling through to the
send and reporting EBADF.

Bug: http://b/32145516
Bug: http://b/31038971
Test: bionic ifaddr tests on ryu (with broken kernel) and flounder
Change-Id: I84c480c5b75077eb90d40426a9d66d7bffbd3d51

7 years agoMerge "Remove unused build targets"
Treehugger Robot [Wed, 12 Oct 2016 23:46:40 +0000 (23:46 +0000)]
Merge "Remove unused build targets"

7 years agoRemove unused build targets
Dimitry Ivanov [Wed, 12 Oct 2016 21:06:18 +0000 (14:06 -0700)]
Remove unused build targets

Test: mm
Change-Id: I4eadc40411a31a0e5fa910b0054c19f0dea6c1e2

7 years agoMerge "Allocate all arc4random data on the same page."
Treehugger Robot [Tue, 11 Oct 2016 22:05:41 +0000 (22:05 +0000)]
Merge "Allocate all arc4random data on the same page."

7 years agoAllocate all arc4random data on the same page.
Elliott Hughes [Tue, 11 Oct 2016 19:58:40 +0000 (12:58 -0700)]
Allocate all arc4random data on the same page.

Saves one dirty page per process.

Test: bionic unit tests, reboot, manual check of /proc/*/maps
Change-Id: Ibbcafa955d60e43f4cb735fa484c6868aa357cd5

7 years agoMerge "Remove obsolete -std request."
Elliott Hughes [Tue, 11 Oct 2016 18:13:07 +0000 (18:13 +0000)]
Merge "Remove obsolete -std request."

7 years agoMerge "Migrate libstdc++ to ndk_library."
Treehugger Robot [Tue, 11 Oct 2016 06:01:17 +0000 (06:01 +0000)]
Merge "Migrate libstdc++ to ndk_library."

7 years agoMerge "Fix Mac build."
Elliott Hughes [Tue, 11 Oct 2016 03:50:26 +0000 (03:50 +0000)]
Merge "Fix Mac build."

7 years agoFix Mac build.
Elliott Hughes [Tue, 11 Oct 2016 01:34:27 +0000 (18:34 -0700)]
Fix Mac build.

Test: builds on Linux (I don't have a Mac)
Change-Id: I049e1d6420b0d169e727680da9c3d97e0b8aa3d2

7 years agoMerge changes I5667e991,I9d2a873e
Treehugger Robot [Tue, 11 Oct 2016 00:30:53 +0000 (00:30 +0000)]
Merge changes I5667e991,I9d2a873e

* changes:
  bionic-unit-tests: remove dependency on ANDROID_DATA
  bionic-unit-tests: Create symlinks in runtime

7 years agoMerge "Use STDERR_FILENO instead of opening /dev/stderr."
Treehugger Robot [Mon, 10 Oct 2016 21:19:05 +0000 (21:19 +0000)]
Merge "Use STDERR_FILENO instead of opening /dev/stderr."

7 years agobionic-unit-tests: remove dependency on ANDROID_DATA
Dimitry Ivanov [Wed, 21 Sep 2016 18:17:13 +0000 (11:17 -0700)]
bionic-unit-tests: remove dependency on ANDROID_DATA

Replace references to ANDROID_DATA enviroment variable with references
to g_testlib_root.

Bug: http://b/22182538
Test: build and run bionic-unit-tests --gtest_filter=dl*:Dl*
Test: make cts && cts-tradefed run singleCommand cts --skip-preconditions -m CtsBionicTestCases
Change-Id: I5667e991551cec55b9b664f2f0063039671ff34b

7 years agobionic-unit-tests: Create symlinks in runtime
Dimitry Ivanov [Mon, 19 Sep 2016 17:50:28 +0000 (10:50 -0700)]
bionic-unit-tests: Create symlinks in runtime

Instead of creating symlinks in build time and then relying
on usage of adb sync (adb push follows symlinks) - create
them in test run time.

Test: mm && run bionic-unit-tests --gtest_filter=dl*:Dl*
Bug: http://b/22182538
Change-Id: I9d2a873e3ba303533c14ba5e3b779e4a67925462

7 years agoMerge "Document a post-N dynamic linker change."
Treehugger Robot [Sat, 8 Oct 2016 20:41:27 +0000 (20:41 +0000)]
Merge "Document a post-N dynamic linker change."

7 years agoDocument a post-N dynamic linker change.
Elliott Hughes [Fri, 7 Oct 2016 22:59:58 +0000 (15:59 -0700)]
Document a post-N dynamic linker change.

Test: N/A
Change-Id: I37f3ccccd81c29a4ffe400fc2177bbe082195ade

7 years agoMerge "Turn the recent blog post into markdown docs."
Elliott Hughes [Fri, 7 Oct 2016 22:56:32 +0000 (22:56 +0000)]
Merge "Turn the recent blog post into markdown docs."

7 years agoUse STDERR_FILENO instead of opening /dev/stderr.
Josh Gao [Fri, 7 Oct 2016 20:21:03 +0000 (13:21 -0700)]
Use STDERR_FILENO instead of opening /dev/stderr.

/dev/stderr is a symlink to /proc/self/fd/2, so this only has different
behavior when we're out of file descriptors, or when STDERR_FILENO is in
a different state (it's not at the end, it's not writable, etc.).

Test: mma
Change-Id: Ie99688d810218eca8482ff060373e88c4e001824

7 years agoRemove obsolete -std request.
Elliott Hughes [Fri, 7 Oct 2016 17:43:30 +0000 (10:43 -0700)]
Remove obsolete -std request.

Bug: http://b/32019064
Test: builds
Change-Id: Id662a63f08054634721750d26e0dcd3c366ed2e6

7 years agoTurn the recent blog post into markdown docs.
Elliott Hughes [Wed, 5 Oct 2016 21:35:00 +0000 (14:35 -0700)]
Turn the recent blog post into markdown docs.

Originally http://android-developers.blogspot.com/2016/06/android-changes-for-ndk-developers.html

Test: N/A
Change-Id: I7ab75bcf9d518310fdf4e752929ba71c286fa242

7 years agoMigrate libstdc++ to ndk_library.
Dan Albert [Thu, 6 Oct 2016 22:50:41 +0000 (15:50 -0700)]
Migrate libstdc++ to ndk_library.

Test: make checkbuild
Bug: http://b/30465923
Change-Id: I3b75b4e7fa652c83846c5978f9908e8b32d43aa7

7 years agoMerge changes Ie6777e2b,Iaed834be
Dimitry Ivanov [Wed, 5 Oct 2016 16:20:44 +0000 (16:20 +0000)]
Merge changes Ie6777e2b,Iaed834be

* changes:
  Fix for default library path "/vendor/lib"
  Fix bionic-unit-tests

7 years agoFix for default library path "/vendor/lib"
neo.chae [Tue, 4 Oct 2016 02:00:27 +0000 (11:00 +0900)]
Fix for default library path "/vendor/lib"

Android N restrict which libraries C/C++ code
can link against at runtime.

If device has a vendor partition
then /system/vendor symlink to /vendor.
Otherwise /vendor symlink to /system/vendor.

But is_system_library() is only checking /vendor/lib.
It will return false for /system/vendor/lib path.
It is need to add a real path to default library path.

Similarily, default ld library path is already checking.
parse_LD_LIBRARY_PATH()->parse_path()->resolve_paths()

Test: build bionic and run bionic-unit-tests
Bug: http://b/31919547
Change-Id: Ie6777e2b02729948ce77a94de32343d40358bf2c
Signed-off-by: Hyangseok Chae <neo.chae@lge.com>
7 years agoFix bionic-unit-tests
Dimitry Ivanov [Wed, 5 Oct 2016 09:51:17 +0000 (02:51 -0700)]
Fix bionic-unit-tests

Fix rpath value for libraries after build system update

Bug: http://b/31221587
Test: run bionic-unit-tests --gtest_filter=dl*:Dl*:*atexit*
Change-Id: Iaed834bef830fd0b252b5de82e27634bafc92d8b

7 years agoMerge "Add missing O_CLOEXEC and TEMP_FAILURE_RETRY to localtime.c."
Elliott Hughes [Tue, 4 Oct 2016 02:25:03 +0000 (02:25 +0000)]
Merge "Add missing O_CLOEXEC and TEMP_FAILURE_RETRY to localtime.c."

7 years agoAdd missing O_CLOEXEC and TEMP_FAILURE_RETRY to localtime.c.
Elliott Hughes [Mon, 3 Oct 2016 23:46:33 +0000 (16:46 -0700)]
Add missing O_CLOEXEC and TEMP_FAILURE_RETRY to localtime.c.

Follow-on change from http://b/31848040.

Test: *time* tests.
Change-Id: I3f1c9ce19b90f6f8c1ac6e0753e3fed0ff63c0b4

7 years agoMerge "Fix tzdata loading."
Elliott Hughes [Mon, 3 Oct 2016 23:35:34 +0000 (23:35 +0000)]
Merge "Fix tzdata loading."

7 years agoFix tzdata loading.
Elliott Hughes [Mon, 3 Oct 2016 19:29:30 +0000 (12:29 -0700)]
Fix tzdata loading.

Android uses one large file of tzdata, so the "read up to the maximum
possible length of a valid tzfile" code in upstream localtime.c is
broken: there is always data after the current tzfile (even the
last tzfile is followed by the zone.tab data). This patch passes the
exact length through to the read(2) call so we don't over-read, rather
than have to rewrite upstream code that measures back from the "end" of
the tzfile.

The old code failed the existing time.strftime_null_tm_zone test after
updating to tzdata2016g.

Bug: http://b/31848040
Test: time.strftime_null_tm_zone
Change-Id: Iee059b5a8c051bd4952cfd80f02b00d83e489d5e

7 years agoMerge "Update timezone data to 2016g."
Joachim Sauer [Mon, 3 Oct 2016 10:34:43 +0000 (10:34 +0000)]
Merge "Update timezone data to 2016g."

7 years agoUpdate timezone data to 2016g.
Joachim Sauer [Fri, 30 Sep 2016 15:36:51 +0000 (16:36 +0100)]
Update timezone data to 2016g.

The 2016g release of the tz code and data is available. It reflects the
following changes, which were either circulated on the tz mailing list
or are relatively minor technical or administrative changes:

  Changes to future time stamps

    Turkey switched from EET/EEST (+02/+03) to permanent +03,
    effective 2016-09-07.  (Thanks to Burak AYDIN.)  Use "+03" rather
    than an invented abbreviation for the new time.

    New leap second 2016-12-31 23:59:60 UTC as per IERS Bulletin C 52.
    (Thanks to Tim Parenti.)

  Changes to past time stamps

    For America/Los_Angeles, spring-forward transition times have been
    corrected from 02:00 to 02:01 in 1948, and from 02:00 to 01:00 in
    1950-1966.

    For zones using Soviet time on 1919-07-01, transitions to UT-based
    time were at 00:00 UT, not at 02:00 local time.  The affected
    zones are Europe/Kirov, Europe/Moscow, Europe/Samara, and
    Europe/Ulyanovsk.  (Thanks to Alexander Belopolsky.)

  Changes to past and future time zone abbreviations

    The Factory zone now uses the time zone abbreviation -00 instead
    of a long English-language string, as -00 is now the normal way to
    represent an undefined time zone.

    Several zones in Antarctica and the former Soviet Union, along
    with zones intended for ships at sea that cannot use POSIX TZ
    strings, now use numeric time zone abbreviations instead of
    invented or obsolete alphanumeric abbreviations.  The affected
    zones are Antarctica/Casey, Antarctica/Davis,
    Antarctica/DumontDUrville, Antarctica/Mawson, Antarctica/Rothera,
    Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok,
    Asia/Anadyr, Asia/Ashgabat, Asia/Baku, Asia/Bishkek, Asia/Chita,
    Asia/Dushanbe, Asia/Irkutsk, Asia/Kamchatka, Asia/Khandyga,
    Asia/Krasnoyarsk, Asia/Magadan, Asia/Omsk, Asia/Sakhalin,
    Asia/Samarkand, Asia/Srednekolymsk, Asia/Tashkent, Asia/Tbilisi,
    Asia/Ust-Nera, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg,
    Asia/Yerevan, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11,
    Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5,
    Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2,
    Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8,
    Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/Kaliningrad,
    Europe/Minsk, Europe/Samara, Europe/Volgograd, and
    Indian/Kerguelen.  For Europe/Moscow the invented abbreviation MSM
    was replaced by +05, whereas MSK and MSD were kept as they are not
    our invention and are widely used.

  Changes to zone names

    Rename Asia/Rangoon to Asia/Yangon, with a backward compatibility link.
    (Thanks to David Massoud.)

Test: Ran CTS modules CtsLibcoreTestCases and CtsBionicTestCases.
Bug: 31848040
Change-Id: I1e652ce2e428d44ba143e4ca9630fd2dc46087e4

7 years agoMerge "Fix mbsnrtowcs where `dst` is null."
Elliott Hughes [Fri, 30 Sep 2016 15:41:40 +0000 (15:41 +0000)]
Merge "Fix mbsnrtowcs where `dst` is null."

7 years agoMerge "Fix tests/run-on-host.sh for glibc."
Elliott Hughes [Fri, 30 Sep 2016 15:37:48 +0000 (15:37 +0000)]
Merge "Fix tests/run-on-host.sh for glibc."

7 years agoMerge "Update escaping in Android.bp files"
Treehugger Robot [Fri, 30 Sep 2016 04:17:57 +0000 (04:17 +0000)]
Merge "Update escaping in Android.bp files"