Commit Graph

18862 Commits

Author SHA1 Message Date
Treehugger Robot bd839d100d Merge changes from topic 'ndk-headers-licenses'
* changes:
  Add license to ndk_headers modules.
  One NOTICE file to rule them all.
2016-10-20 22:12:40 +00:00
Treehugger Robot 93a988debb Merge "Update our notice files as a pre-upload step." 2016-10-20 22:07:58 +00:00
Colin Cross 94b428c80a Merge "Add missing host ldlibs" 2016-10-20 20:26:09 +00:00
Treehugger Robot edecce3ac2 Merge "Fix stdin/stdout/stderr for pre-M." 2016-10-20 19:34:56 +00:00
Dan Albert 9259265fc2 Add license to ndk_headers modules.
Test: make ndk
Bug: None
Change-Id: I0e9a39def2be9cd81369843906f6d7c180d17045
2016-10-20 11:52:05 -07:00
Dan Albert c30862fdbc 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
2016-10-20 11:48:55 -07:00
Dan Albert 32d5592a69 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
2016-10-20 11:27:50 -07:00
Colin Cross d0ba52ebdc 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
2016-10-20 10:39:50 -07:00
Dan Albert 3037ea43fc 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
2016-10-20 10:10:45 -07:00
Elliott Hughes 6901ca2799 Merge "Add regression test for http://b/31938693." 2016-10-20 16:30:05 +00:00
Treehugger Robot 2a2b41038f Merge "Add test for libraries with textrels" 2016-10-20 01:37:20 +00:00
Elliott Hughes 12443702c2 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
2016-10-19 16:02:31 -07:00
Dimitry Ivanov 816676e70d 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
2016-10-19 14:21:42 -07:00
Elliott Hughes 0759e7f5c1 Merge "Fix our _POSIX_* macros to declare barriers and spin locks." 2016-10-19 21:16:22 +00:00
Elliott Hughes 73c44a4738 Fix our _POSIX_* macros to declare barriers and spin locks.
We have these now.

Test: ran tests
Change-Id: Ie7b479061ecec19c8b35ea81e04debfd8323d94a
2016-10-19 09:28:21 -07:00
Treehugger Robot d824421475 Merge "Fix ifaddrs error handling." 2016-10-14 23:35:52 +00:00
Elliott Hughes 22950687ee 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
2016-10-14 14:35:26 -07:00
Treehugger Robot 49ef8c822f Merge "Remove unused build targets" 2016-10-12 23:46:40 +00:00
Dimitry Ivanov 426960ac87 Remove unused build targets
Test: mm
Change-Id: I4eadc40411a31a0e5fa910b0054c19f0dea6c1e2
2016-10-12 14:22:58 -07:00
Treehugger Robot 2eaba9343f Merge "Allocate all arc4random data on the same page." 2016-10-11 22:05:41 +00:00
Elliott Hughes da01fa620c 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
2016-10-11 13:07:44 -07:00
Elliott Hughes 0e6aa81999 Merge "Remove obsolete -std request." 2016-10-11 18:13:08 +00:00
Treehugger Robot 2c8a26d8bf Merge "Migrate libstdc++ to ndk_library." 2016-10-11 06:01:17 +00:00
Elliott Hughes e89385743e Merge "Fix Mac build." 2016-10-11 03:50:28 +00:00
Elliott Hughes ffbb0f8aa4 Fix Mac build.
Test: builds on Linux (I don't have a Mac)
Change-Id: I049e1d6420b0d169e727680da9c3d97e0b8aa3d2
2016-10-10 18:38:25 -07:00
Treehugger Robot c3e09e1ff0 Merge changes I5667e991,I9d2a873e
* changes:
  bionic-unit-tests: remove dependency on ANDROID_DATA
  bionic-unit-tests: Create symlinks in runtime
2016-10-11 00:30:53 +00:00
Treehugger Robot e0505ab0fb Merge "Use STDERR_FILENO instead of opening /dev/stderr." 2016-10-10 21:19:05 +00:00
Dimitry Ivanov 927877c7d3 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
2016-10-10 13:56:20 -07:00
Dimitry Ivanov 708589f5e8 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
2016-10-10 04:41:56 -07:00
Treehugger Robot 1c45e6fa47 Merge "Document a post-N dynamic linker change." 2016-10-08 20:41:28 +00:00
Elliott Hughes 77e875713f Document a post-N dynamic linker change.
Test: N/A
Change-Id: I37f3ccccd81c29a4ffe400fc2177bbe082195ade
2016-10-07 15:59:58 -07:00
Elliott Hughes a3745834f2 Merge "Turn the recent blog post into markdown docs." 2016-10-07 22:56:32 +00:00
Josh Gao 59bde2e8f4 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
2016-10-07 13:21:03 -07:00
Elliott Hughes 0568ee2641 Remove obsolete -std request.
Bug: http://b/32019064
Test: builds
Change-Id: Id662a63f08054634721750d26e0dcd3c366ed2e6
2016-10-07 10:43:30 -07:00
Elliott Hughes c45380d20c 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
2016-10-06 22:47:19 -07:00
Dan Albert df31aff4e9 Migrate libstdc++ to ndk_library.
Test: make checkbuild
Bug: http://b/30465923
Change-Id: I3b75b4e7fa652c83846c5978f9908e8b32d43aa7
2016-10-06 15:50:41 -07:00
Dimitry Ivanov e35872605b Merge changes Ie6777e2b,Iaed834be
* changes:
  Fix for default library path "/vendor/lib"
  Fix bionic-unit-tests
2016-10-05 16:20:45 +00:00
neo.chae 2589f9de64 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>
2016-10-05 03:15:49 -07:00
Dimitry Ivanov d11d1e4a97 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
2016-10-05 02:58:25 -07:00
Elliott Hughes 1ba0e27462 Merge "Add missing O_CLOEXEC and TEMP_FAILURE_RETRY to localtime.c." 2016-10-04 02:25:03 +00:00
Elliott Hughes 4edd651ed3 Add missing O_CLOEXEC and TEMP_FAILURE_RETRY to localtime.c.
Follow-on change from http://b/31848040.

Test: *time* tests.
Change-Id: I3f1c9ce19b90f6f8c1ac6e0753e3fed0ff63c0b4
2016-10-03 16:46:33 -07:00
Elliott Hughes 0bee605aab Merge "Fix tzdata loading." 2016-10-03 23:35:34 +00:00
Elliott Hughes 81c46fc10f 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
2016-10-03 12:45:13 -07:00
Joachim Sauer d609630799 Merge "Update timezone data to 2016g." 2016-10-03 10:34:44 +00:00
Joachim Sauer e131f6cf33 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
2016-09-30 16:49:38 +01:00
Elliott Hughes b81ade6203 Merge "Fix mbsnrtowcs where `dst` is null." 2016-09-30 15:41:40 +00:00
Elliott Hughes d43c8891ae Merge "Fix tests/run-on-host.sh for glibc." 2016-09-30 15:37:48 +00:00
Treehugger Robot 83e9f36a11 Merge "Update escaping in Android.bp files" 2016-09-30 04:17:58 +00:00
Elliott Hughes 89e29ee485 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
2016-09-29 17:26:13 -07:00
Elliott Hughes f48f499329 Fix tests/run-on-host.sh for glibc.
Test: tests/run-on-host.sh glibc
Change-Id: Idd5b2a72335ff0ca47f37c578f71cec8c9fb6ea0
2016-09-29 17:17:15 -07:00