OSDN Git Service

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

7 years agoFix mbsnrtowcs where `dst` is null.
Elliott Hughes [Fri, 30 Sep 2016 00:21:43 +0000 (17:21 -0700)]
Fix mbsnrtowcs where `dst` is null.

POSIX is its usual unintelligible self
(http://pubs.opengroup.org/onlinepubs/9699919799/functions/mbsrtowcs.html),
but the ISO C11 standard (7.29.6.4.1 paragraph 2) is pretty clear: *src
should change if and only if dst is non-null.

Bug: https://code.google.com/p/android/issues/detail?id=166381
Test: bionic tests
Change-Id: Ibc631cfa5b1bf4a6f56963feba9f0eea27b07984

7 years agoFix tests/run-on-host.sh for glibc.
Elliott Hughes [Fri, 30 Sep 2016 00:17:15 +0000 (17:17 -0700)]
Fix tests/run-on-host.sh for glibc.

Test: tests/run-on-host.sh glibc
Change-Id: Idd5b2a72335ff0ca47f37c578f71cec8c9fb6ea0

7 years agoUpdate escaping in Android.bp files
Colin Cross [Thu, 29 Sep 2016 21:08:13 +0000 (14:08 -0700)]
Update escaping in Android.bp files

Strings like cflags in Android.bp files are parsed by blueprint,
written to build.ninja files, parsed by ninja, and then passed to
/bin/sh -c.  This had resulted in a combination of blueprint
(\"), ninja ($$), and shell (\$) escaping being necessary.

Soong has been updated to automatically handle ninja and shell
escaping, remove extra escaping from Android.bp files.

Bug: 31221587
Test: m -j
Change-Id: Ib58a51dee8d22296b69ec21768ba6a49dd60e980

7 years agoMerge "Update documentation."
Christopher Ferris [Thu, 29 Sep 2016 17:28:39 +0000 (17:28 +0000)]
Merge "Update documentation."

7 years agoMerge "Rename __pure, __pure2, and __purefunc."
Elliott Hughes [Thu, 29 Sep 2016 15:49:08 +0000 (15:49 +0000)]
Merge "Rename __pure, __pure2, and __purefunc."

7 years agoUpdate documentation.
Christopher Ferris [Wed, 28 Sep 2016 21:51:12 +0000 (14:51 -0700)]
Update documentation.

Fix the incorrect mention of when the zygote flag is set on a size.

Add information about how to use am dumpheap -n to dump the native
heap to a file.

Test: Documentation only change.

Change-Id: I82e810ee7ffffcf7506fb6fd9bcfdfb0465a48be

7 years agoRename __pure, __pure2, and __purefunc.
Elliott Hughes [Wed, 28 Sep 2016 19:29:52 +0000 (12:29 -0700)]
Rename __pure, __pure2, and __purefunc.

These names were pretty misleading (aka "backwards"), so switch to the
same obvious names glibc uses.

Test: build.
Change-Id: Ia98c9dbbccd0820386116562347654e84669034a

7 years agoMerge changes Idcbc544e,Ic7cfad1c
Josh Gao [Mon, 26 Sep 2016 21:53:01 +0000 (21:53 +0000)]
Merge changes Idcbc544e,Ic7cfad1c

* changes:
  Fix warnings (and errors) in static inline headers.
  Add versioner to preupload hook.

7 years agoMerge "Fix complex.csqrtf test and add a trivial sincosl test."
Treehugger Robot [Mon, 26 Sep 2016 18:34:55 +0000 (18:34 +0000)]
Merge "Fix complex.csqrtf test and add a trivial sincosl test."

7 years agoFix complex.csqrtf test and add a trivial sincosl test.
Elliott Hughes [Mon, 26 Sep 2016 16:35:04 +0000 (09:35 -0700)]
Fix complex.csqrtf test and add a trivial sincosl test.

sincos and sincosf are being tested more thoroughly with a table of data,
but there's nothing equivalent for sincosl.

Test: ran the tests, obviously.
Change-Id: I5b4b22b73cad9b0030549de2e2ed2a0e38648806

7 years agoFix warnings (and errors) in static inline headers.
Josh Gao [Fri, 23 Sep 2016 21:06:05 +0000 (14:06 -0700)]
Fix warnings (and errors) in static inline headers.

Bug: http://b/31676510
Change-Id: Idcbc544e498f7e6bbe99c2bf7dc557a5681e96c4
Test: preupload hook

7 years agoAdd versioner to preupload hook.
Josh Gao [Fri, 23 Sep 2016 00:28:12 +0000 (17:28 -0700)]
Add versioner to preupload hook.

Bug: http://b/31676510
Change-Id: Ic7cfad1cb214c9f711a985bace484a20db1a89b6
Test: submitted this patch, and it failed

7 years agoMerge changes Ic43d690d,Ifec6c320
Treehugger Robot [Thu, 22 Sep 2016 16:28:14 +0000 (16:28 +0000)]
Merge changes Ic43d690d,Ifec6c320

* changes:
  Add legacy inlines for locale aware APIs.
  Add strtof_l and strtod_l.

7 years agoAdd legacy inlines for locale aware APIs.
Dan Albert [Wed, 21 Sep 2016 08:16:13 +0000 (01:16 -0700)]
Add legacy inlines for locale aware APIs.

Test: make checkbuild tests
Bug: http://b/31639993
Change-Id: Ic43d690dff3c6960d7826bd0b064640a3ea0e883

7 years agoAdd strtof_l and strtod_l.
Dan Albert [Wed, 21 Sep 2016 08:42:19 +0000 (01:42 -0700)]
Add strtof_l and strtod_l.

libc++ needs these now. Add shims to match the others.

Test: make checkbuild tests
Bug: http://b/31639993
Change-Id: Ifec6c32099145d8d3d1a5639a4809e5e9f553c33

7 years agoMerge "bionic: tests: add test for fallocate FALLOC_FL_PUNCH_HOLE"
Nick Desaulniers [Wed, 21 Sep 2016 22:30:31 +0000 (22:30 +0000)]
Merge "bionic: tests: add test for fallocate FALLOC_FL_PUNCH_HOLE"

7 years agoMerge "Remove remaining big-endian cruft."
Elliott Hughes [Wed, 21 Sep 2016 21:48:24 +0000 (21:48 +0000)]
Merge "Remove remaining big-endian cruft."

7 years agoMerge "Remove _KERNEL references from <machine/elf_machdep.h>."
Elliott Hughes [Wed, 21 Sep 2016 21:48:15 +0000 (21:48 +0000)]
Merge "Remove _KERNEL references from <machine/elf_machdep.h>."

7 years agobionic: tests: add test for fallocate FALLOC_FL_PUNCH_HOLE
Nick Desaulniers [Tue, 19 Jul 2016 22:20:24 +0000 (15:20 -0700)]
bionic: tests: add test for fallocate FALLOC_FL_PUNCH_HOLE

Bug: 28760453
Change-Id: I1a58d19bf45eac5f930b0f649cf9b8c9046302f3

7 years agoMerge "Match _Nonnull between char and wchar_t funcs."
Treehugger Robot [Wed, 21 Sep 2016 15:39:33 +0000 (15:39 +0000)]
Merge "Match _Nonnull between char and wchar_t funcs."

7 years agoMerge "Add __ANDROID_API_FUTURE__."
Treehugger Robot [Wed, 21 Sep 2016 15:29:52 +0000 (15:29 +0000)]
Merge "Add __ANDROID_API_FUTURE__."

7 years agoMatch _Nonnull between char and wchar_t funcs.
Dan Albert [Wed, 21 Sep 2016 08:57:51 +0000 (01:57 -0700)]
Match _Nonnull between char and wchar_t funcs.

The char versions of these functions have `_Nonnull` on these
parameters. Match it in the wide char versions. strxfrm_l also has
`__restrict` on its pointer arguments, I believe we've decided that's
something that shouldn't be proliferated...

Test: make checkbuild tests
Bug: None
Change-Id: Ie533e1af92b2a7c9df657073dbc4c345abf72473

7 years agoAdd __ANDROID_API_FUTURE__.
Dan Albert [Wed, 21 Sep 2016 08:08:44 +0000 (01:08 -0700)]
Add __ANDROID_API_FUTURE__.

Needed for checking conditions like `__ANDROID_API__ <
__ANDROID_API_FUTURE__` for providing inlines for things that have
not yet been included in any release.

Test: make checkbuild tests
Bug: None
Change-Id: Ibcddac5a538ede020a8cb65fca03194475121966

7 years agoMerge "Fix some easy cases of __ANDROID__ versus __BIONIC__."
Elliott Hughes [Sat, 17 Sep 2016 16:40:59 +0000 (16:40 +0000)]
Merge "Fix some easy cases of __ANDROID__ versus __BIONIC__."

7 years agoRemove remaining big-endian cruft.
Elliott Hughes [Sat, 17 Sep 2016 01:53:01 +0000 (18:53 -0700)]
Remove remaining big-endian cruft.

We'd removed most of it already, but a few bits and pieces were still lying
around.

Change-Id: I572a23eb15b9670d8d0f95586eca99ab0bdb4a1b
Test: mm.

7 years agoRemove _KERNEL references from <machine/elf_machdep.h>.
Elliott Hughes [Sat, 17 Sep 2016 01:38:48 +0000 (18:38 -0700)]
Remove _KERNEL references from <machine/elf_machdep.h>.

Test: mm.
Change-Id: I9dff708dd05d4f9e52ccdfde96e096553c873054

7 years agoFix some easy cases of __ANDROID__ versus __BIONIC__.
Elliott Hughes [Sat, 17 Sep 2016 01:16:47 +0000 (18:16 -0700)]
Fix some easy cases of __ANDROID__ versus __BIONIC__.

We need to make a clearer distinction for bionic on the host. This patch
doesn't fully address things like "should host bionic try to talk to netd?"
for now, but is a step in the right direction.

Bug: http://b/31559095
Test: bionic tests.
Change-Id: I49812f8b75d9d78c4fd8a8ddf5df1201d63771d6

7 years agoMerge "Make static library for loader tests"
Treehugger Robot [Fri, 16 Sep 2016 16:14:48 +0000 (16:14 +0000)]
Merge "Make static library for loader tests"

7 years agoMerge changes Iada279ee,Ic6089895,Ie2241b19,Ib0610707
Treehugger Robot [Thu, 15 Sep 2016 23:40:11 +0000 (23:40 +0000)]
Merge changes Iada279ee,Ic6089895,Ie2241b19,Ib0610707

* changes:
  versioner: turn on -Wundef.
  Fix BYTE_ORDER check in <netinet/ip6.h>.
  Fix instances of '#if __i386__'.
  Fix instances of '#if __LP64__'.

7 years agoMake static library for loader tests
Dimitry Ivanov [Thu, 15 Sep 2016 23:25:31 +0000 (16:25 -0700)]
Make static library for loader tests

1. Extract bionic loader tests to static library in
order to link it to bionic cts tests.
2. Make libpagemap dependency static to reduce dependencies
on internal native libraries.

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

7 years agoversioner: turn on -Wundef.
Josh Gao [Thu, 15 Sep 2016 21:16:15 +0000 (14:16 -0700)]
versioner: turn on -Wundef.

Poking around with -Wundef exposed a pretty horrifying bug, so we
should probably keep it turned on.

Bug: http://b/31496165
Change-Id: Iada279eec91ded0d59ff3841d5a3ce1a36e34c3a

7 years agoFix BYTE_ORDER check in <netinet/ip6.h>.
Josh Gao [Thu, 15 Sep 2016 20:57:19 +0000 (13:57 -0700)]
Fix BYTE_ORDER check in <netinet/ip6.h>.

Neither BYTE_ORDER nor BIG_ENDIAN were being defined anywhere, so they
were defaulting to zero, leading to BIG_ENDIAN values being used.

Bug: http://b/31496165
Change-Id: Ic6089895f39b86e7762bdb5b7d5b01feb0d2fd17

7 years agoFix instances of '#if __i386__'.
Josh Gao [Thu, 15 Sep 2016 20:56:37 +0000 (13:56 -0700)]
Fix instances of '#if __i386__'.

Triggers -Wundef, which is on in -Weverything.

Bug: http://b/31496165
Change-Id: Ie2241b19abd6257bebf68baa3ecc4de8066c722e

7 years agoFix instances of '#if __LP64__'.
Josh Gao [Thu, 15 Sep 2016 20:55:41 +0000 (13:55 -0700)]
Fix instances of '#if __LP64__'.

Triggers -Wundef, which is on in -Weverything.

Bug: http://b/31496165
Change-Id: Ib06107073f7dd1d584c19c222d0430da9d35630b

7 years agoMerge "Initialize main thread TLS before the global stack guard."
Josh Gao [Thu, 15 Sep 2016 19:28:56 +0000 (19:28 +0000)]
Merge "Initialize main thread TLS before the global stack guard."

7 years agoMerge "Fix memory leak in test util"
Kenny Root [Thu, 15 Sep 2016 19:12:46 +0000 (19:12 +0000)]
Merge "Fix memory leak in test util"

7 years agoMerge "Add missing uapi header module."
Treehugger Robot [Thu, 15 Sep 2016 05:36:51 +0000 (05:36 +0000)]
Merge "Add missing uapi header module."

7 years agoMerge "Make getpagesize inline static."
Treehugger Robot [Thu, 15 Sep 2016 03:34:30 +0000 (03:34 +0000)]
Merge "Make getpagesize inline static."

7 years agoFix memory leak in test util
Kenny Root [Thu, 15 Sep 2016 00:14:42 +0000 (17:14 -0700)]
Fix memory leak in test util

This shows up when you're doing make HOST_SANITIZE=address

Test: mmma bionic && out/host/linux-x86/bin/bionic_tests_zipalign (compare before and after)
Change-Id: Ia94790496327f3818d5fdb7b5ad07e14e60bcae1

7 years agoAdd missing uapi header module.
Dan Albert [Thu, 15 Sep 2016 00:15:48 +0000 (17:15 -0700)]
Add missing uapi header module.

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

7 years agoMake getpagesize inline static.
Dan Albert [Thu, 15 Sep 2016 00:10:26 +0000 (17:10 -0700)]
Make getpagesize inline static.

Needed to avoid multiple definition errors.

Test: make checkbuild tests
Bug: None
Change-Id: Ife83e89f5232e98d363e2b2edd7a353ed61c4836

7 years agoMerge "versioner: turn on -Wall -Wextra -Werror."
Josh Gao [Thu, 15 Sep 2016 00:03:40 +0000 (00:03 +0000)]
Merge "versioner: turn on -Wall -Wextra -Werror."

7 years agoMerge "Add modules for NDK headers and libraries."
Treehugger Robot [Wed, 14 Sep 2016 22:32:23 +0000 (22:32 +0000)]
Merge "Add modules for NDK headers and libraries."

7 years agoversioner: turn on -Wall -Wextra -Werror.
Josh Gao [Wed, 14 Sep 2016 21:21:56 +0000 (14:21 -0700)]
versioner: turn on -Wall -Wextra -Werror.

Change-Id: Ica47d0fa671934a1ea193869265de8986b012a58
Test: mma && versioner

7 years agoMerge "Expose some more function decls."
Treehugger Robot [Tue, 13 Sep 2016 23:24:41 +0000 (23:24 +0000)]
Merge "Expose some more function decls."

7 years agoMerge "linker: Refactoring step 3 of many"
Treehugger Robot [Tue, 13 Sep 2016 22:34:59 +0000 (22:34 +0000)]
Merge "linker: Refactoring step 3 of many"

7 years agoAdd modules for NDK headers and libraries.
Dan Albert [Tue, 28 Jun 2016 18:18:05 +0000 (11:18 -0700)]
Add modules for NDK headers and libraries.

Test: make checkbuild
Bug: http://b/27533932
Change-Id: I285e483ba9fb80cc3baf0d025c85344e5b79a08b

7 years agoExpose some more function decls.
Dan Albert [Tue, 13 Sep 2016 21:15:21 +0000 (14:15 -0700)]
Expose some more function decls.

Test: make checkbuild tests # for x86-eng this time
Bug: http://b/30465923
Change-Id: I98c5a8d09463e85ac22b05035c87edab04eaa200

7 years agolinker: Refactoring step 3 of many
Dimitry Ivanov [Fri, 9 Sep 2016 17:00:39 +0000 (10:00 -0700)]
linker: Refactoring step 3 of many

Extract linker executable specific code to linker_main.cpp;
this part of code does not have a place in libdl.a/so.

Bug: http://b/14998480
Bug: http://b/30706810
Test: mm && run bionic-unit-tests
Change-Id: I90f7475e93a919b0f9525da22928089ad35b8f6c

7 years agoMerge "Move test libraries under /data/nativetests"
Treehugger Robot [Fri, 9 Sep 2016 18:58:33 +0000 (18:58 +0000)]
Merge "Move test libraries under /data/nativetests"

7 years agoMerge "[mips64] Fix ipc syscalls"
Treehugger Robot [Fri, 9 Sep 2016 17:19:54 +0000 (17:19 +0000)]
Merge "[mips64] Fix ipc syscalls"

7 years ago[mips64] Fix ipc syscalls
Nikola Veljkovic [Fri, 9 Sep 2016 00:01:01 +0000 (02:01 +0200)]
[mips64] Fix ipc syscalls

Mips defines CONFIG_ARCH_WANT_IPC_PARSE_VERSION for both 32 and 64-bit.
See arch/mips/Kconfig. Other supported arches do it for 32-bit only.
This translates in having to pass IPC_64 flag for mips32 and mips64.
We use __mips__ to pass the flag, which is also defined for both 32 and
64-bit.

Change fixes bionic smoke tests (sys_msg, sys_sem, sys_shm) for mips64.

Test: bionic-unit-tests --gtest_filter="sys_*.smoke"
Change-Id: I918e4ffafd2002bb3e62ee252406746778100031

7 years agoMerge changes Id513b72a,I92cd0116,I62393b58,I90ac2224,I527f88ac
Treehugger Robot [Fri, 9 Sep 2016 01:13:27 +0000 (01:13 +0000)]
Merge changes Id513b72a,I92cd0116,I62393b58,I90ac2224,I527f88ac

* changes:
  Provide fake definitions for libstdc++.
  Provide static inlines for in6addr things.
  Provide an inline __cmsg_nxthdr.
  Correct more fortify availability guards.
  Move strncpy fortify into android-21.

7 years agoMerge changes Ib81bd82d,I9a57fca0
Treehugger Robot [Thu, 8 Sep 2016 23:55:45 +0000 (23:55 +0000)]
Merge changes Ib81bd82d,I9a57fca0

* changes:
  Run genversion-scripts.py.
  Annotate libm.map.txt.

7 years agoProvide fake definitions for libstdc++.
Dan Albert [Tue, 6 Sep 2016 23:51:00 +0000 (16:51 -0700)]
Provide fake definitions for libstdc++.

libstdc++ needs to be able to `using ::foo` these in the various C++
wrapper headers for the C library. The NDK long ago added fake
definitions. We need to keep the same.

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

7 years agoProvide static inlines for in6addr things.
Dan Albert [Thu, 8 Sep 2016 23:09:22 +0000 (16:09 -0700)]
Provide static inlines for in6addr things.

mdnsresponder needs these and is built against a very old API level
since it is used in gmscore. The legacy NDK headers defined these
inline.

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

7 years agoProvide an inline __cmsg_nxthdr.
Dan Albert [Thu, 8 Sep 2016 23:12:09 +0000 (16:12 -0700)]
Provide an inline __cmsg_nxthdr.

This was defined as an inline in the legacy NDK headers. Keep that
here until we can get it into libandroid_support.

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

7 years agoCorrect more fortify availability guards.
Dan Albert [Thu, 8 Sep 2016 23:11:23 +0000 (16:11 -0700)]
Correct more fortify availability guards.

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

7 years agoMerge "Don't use an anonymous label in arm's __bionic_clone."
Treehugger Robot [Thu, 8 Sep 2016 22:05:18 +0000 (22:05 +0000)]
Merge "Don't use an anonymous label in arm's __bionic_clone."

7 years agoDon't use an anonymous label in arm's __bionic_clone.
Elliott Hughes [Thu, 8 Sep 2016 21:11:28 +0000 (14:11 -0700)]
Don't use an anonymous label in arm's __bionic_clone.

All the other architectures name this label. Copy them.

(Following discussion of d30bc9e74b8ff3afceac973d334023564e64dbd2.)

Bug: https://llvm.org/bugs/show_bug.cgi?id=30308
Change-Id: I4f20163f569041180d87c79ce6ed856b70704271

7 years agoRun genversion-scripts.py.
Dan Albert [Tue, 6 Sep 2016 23:55:26 +0000 (16:55 -0700)]
Run genversion-scripts.py.

Test: make checkbuild
Bug: None
Change-Id: Ib81bd82db1397a8fc628bc32d9c244188865d58a

7 years agoMove strncpy fortify into android-21.
Dan Albert [Wed, 7 Sep 2016 23:43:59 +0000 (16:43 -0700)]
Move strncpy fortify into android-21.

__strncpy_chk2 wasn't added until android-21.

Test: make checkbuild
Bug: None
Change-Id: I527f88aca55ef5010e12ece18abbdce3d54ce252

7 years agoAnnotate libm.map.txt.
Dan Albert [Tue, 6 Sep 2016 23:54:45 +0000 (16:54 -0700)]
Annotate libm.map.txt.

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

7 years agoMerge "versioner: add support for __VERSIONER_NO_GUARD."
Josh Gao [Thu, 8 Sep 2016 18:48:52 +0000 (18:48 +0000)]
Merge "versioner: add support for __VERSIONER_NO_GUARD."

7 years agoversioner: add support for __VERSIONER_NO_GUARD.
Josh Gao [Thu, 8 Sep 2016 01:29:08 +0000 (18:29 -0700)]
versioner: add support for __VERSIONER_NO_GUARD.

Add an attribute that tells the preprocessor not to guard a
declaration, primarily for use with symbols that get reexported by
libc++ of the form `namespace std { using ::wctrans; }`.

Bug: http://b/28178111
Change-Id: I08c8751214797e37e8f26e7f7416a19e81c2bb4c

7 years agoMerge "Silently ignore empty path elements"
Dimitry Ivanov [Wed, 7 Sep 2016 23:20:24 +0000 (23:20 +0000)]
Merge "Silently ignore empty path elements"

7 years agoMerge "Fix sscanf/wcstod parsing of NaNs."
Treehugger Robot [Wed, 7 Sep 2016 22:58:08 +0000 (22:58 +0000)]
Merge "Fix sscanf/wcstod parsing of NaNs."

7 years agoFix sscanf/wcstod parsing of NaNs.
Elliott Hughes [Fri, 26 Aug 2016 23:17:17 +0000 (16:17 -0700)]
Fix sscanf/wcstod parsing of NaNs.

The parsefloat routines -- which let us pass NaNs and infinities on to
strto(f|d|ld) -- come from NetBSD.

Also fix LP64's strtold to return a NaN, and fix all the architectures
to return quiet NaNs.

Also fix wcstof/wcstod/wcstold to use parsefloat so they support hex
floats.

Lots of new tests.

Bug: http://b/31101647
Change-Id: Id7d46ac2d8acb8770b5e8c445e87cfabfde6f111

7 years agoSilently ignore empty path elements
Dimitry Ivanov [Wed, 7 Sep 2016 21:48:27 +0000 (14:48 -0700)]
Silently ignore empty path elements

resolve_paths function used to print a warning if an input path
was empty. This commit fixes this by explicitly skipping
empty paths during path resolution.

Test: Run adb shell LD_LIBRARY_PATH=: /system/bin/ping
Test: make sure there are no warnings
Bug: http://b/31346121
Change-Id: Ifd79040943dc62fc6e07d9828ff91d1050572809

7 years agoMerge "Fix unittests broken by 545808a"
Tamas Berghammer [Wed, 7 Sep 2016 15:14:09 +0000 (15:14 +0000)]
Merge "Fix unittests broken by 545808a"

7 years agoFix unittests broken by 545808a
Tamas Berghammer [Fri, 2 Sep 2016 15:35:50 +0000 (16:35 +0100)]
Fix unittests broken by 545808a

Change-Id: I590af5958e4dcb772b710be965ed6c99cd1d9234

7 years agoMerge "Fix time.mktime_EOVERFLOW for LP32."
Treehugger Robot [Tue, 6 Sep 2016 22:38:25 +0000 (22:38 +0000)]
Merge "Fix time.mktime_EOVERFLOW for LP32."

7 years agoFix time.mktime_EOVERFLOW for LP32.
Elliott Hughes [Tue, 6 Sep 2016 20:25:53 +0000 (13:25 -0700)]
Fix time.mktime_EOVERFLOW for LP32.

Times before 1901-12-13 *underflow* on LP32, making the year 1900 a bad
choice for success case.

Bug: http://b/31305222
Change-Id: I20d4885c80b57707225580db044abc8948a55fdc

7 years agoInitialize main thread TLS before the global stack guard.
Josh Gao [Fri, 2 Sep 2016 05:58:44 +0000 (22:58 -0700)]
Initialize main thread TLS before the global stack guard.

The GCE breakage caused by 78a52f19bb207d1c736f1d5362e01f338d78645 was
due to TLS_SLOT_SELF being uninitialized before the use of errno by
syscall. Separate stack guard initialization from TLS initialization so
that stack guard initialization can make syscalls.

Bug: http://b/29622562
Bug: http://b/31251721
Change-Id: Id0e4379e0efb7194a2df7bd16211ff11c6598033

7 years agoMerge "Fix "Unknown token error" when upstream clang is used."
Treehugger Robot [Tue, 6 Sep 2016 17:05:44 +0000 (17:05 +0000)]
Merge "Fix "Unknown token error" when upstream clang is used."

7 years agoFix "Unknown token error" when upstream clang is used.
MinSeong Kim [Tue, 6 Sep 2016 04:59:55 +0000 (05:59 +0100)]
Fix "Unknown token error" when upstream clang is used.

Simple fix for the above error caused by the location
of a label "1:"

Change-Id: I9b1c816871e95f9bcf8135a5e0cc88de65771315
Signed-off-by: MinSeong Kim <minseong.kim@linaro.org>
7 years agoMove test libraries under /data/nativetests
Dimitry Ivanov [Thu, 1 Sep 2016 18:37:39 +0000 (11:37 -0700)]
Move test libraries under /data/nativetests

Move libraries used in bionic-unit-tests out of system partition to
/data/nativetests../bionic-loader-test-libs

Bug: http://b/22182538
Test: build bionic and run bionic-unit-tests
Change-Id: I170177bef782839d0b4970ae4418bf54d0a77836

7 years agoMerge "Revert "Update getentropy_linux.c from upstream.""
Josh Gao [Fri, 2 Sep 2016 08:41:15 +0000 (08:41 +0000)]
Merge "Revert "Update getentropy_linux.c from upstream.""

7 years agoRevert "Update getentropy_linux.c from upstream."
Josh Gao [Fri, 2 Sep 2016 08:39:29 +0000 (08:39 +0000)]
Revert "Update getentropy_linux.c from upstream."

This reverts commit 5faef47e438d20600655e2f5ef473c2d63cbf2c0.

Bug: http://b/31251721
Change-Id: I20a091f385fb77ccc68b8d9fb1d2aee3dec0d0ff

7 years agoMerge "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""
Josh Gao [Fri, 2 Sep 2016 05:49:21 +0000 (05:49 +0000)]
Merge "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""

7 years agoRevert "Attempt to use arc4random where getauxval(AT_RANDOM) is used."
Josh Gao [Fri, 2 Sep 2016 05:48:11 +0000 (05:48 +0000)]
Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used."

This reverts commit 78a52f19bb207d1c736f1d5362e01f338d78645f.

Change-Id: Ia72501ad0b81e894d67e5ce59b597397c11acfa5

7 years agoMerge changes I6932803a,Ia65c038e
Josh Gao [Thu, 1 Sep 2016 22:40:12 +0000 (22:40 +0000)]
Merge changes I6932803a,Ia65c038e

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

7 years agoMerge "cc_test_library now creates shared libraries too"
Treehugger Robot [Thu, 1 Sep 2016 01:27:00 +0000 (01:27 +0000)]
Merge "cc_test_library now creates shared libraries too"