OSDN Git Service

android-x86/bionic.git
8 years agomalloc_debug: round 0 byte allocations up to 1 byte
Colin Cross [Thu, 10 Mar 2016 01:56:14 +0000 (17:56 -0800)]
malloc_debug: round 0 byte allocations up to 1 byte

0 byte allocations can cause problems if they are immediately followed
by another allocation with no header, as both allocations will have the
same address.  Treat 0 byte allocations as 1 byte allocations so that
debug_iterate will return separate addresses for them.

Bug: 27578580
Change-Id: Ia8dc3481fa7062391e9b3ae58a36e8d47e7ee557

8 years agomalloc_debug: iterate: use usable_size
Colin Cross [Thu, 10 Mar 2016 00:33:44 +0000 (16:33 -0800)]
malloc_debug: iterate: use usable_size

malloc_iterate with malloc debug enabled was returning allocation sizes
using the requested size instead of usable size.  If anything wrote
pointers above the requested size but below the usable size, those
pointers would be invisible to libmemunreachable and referenced
allocations could be reported as a leak.

Bug: 27107100
Change-Id: I6b19fd631f68ce93b3aee408cc3d296ec457bd01

8 years agoMerge "Revert "libm: rename LIBC_PRIVATE to LIBC_DEPRECATED"" into nyc-dev
Dimitry Ivanov [Mon, 7 Mar 2016 17:22:59 +0000 (17:22 +0000)]
Merge "Revert "libm: rename LIBC_PRIVATE to LIBC_DEPRECATED"" into nyc-dev

8 years agoRevert "libm: rename LIBC_PRIVATE to LIBC_DEPRECATED"
Dimitry Ivanov [Mon, 7 Mar 2016 17:13:34 +0000 (17:13 +0000)]
Revert "libm: rename LIBC_PRIVATE to LIBC_DEPRECATED"

Vendor blobs strike back.

This reverts commit 9721bb3f0b7c8c45f42d2874c908a177615f42b5.

Bug:
http://b/27518190

Change-Id: I3fbe71123840edc51a1a804f6c8e83c84958192d

8 years agoforkpty: set the output fd to -1 on the slave side.
Josh Gao [Sat, 5 Mar 2016 02:04:41 +0000 (18:04 -0800)]
forkpty: set the output fd to -1 on the slave side.

glibc, FreeBSD, OpenBSD, and Darwin all just leave the fd unchanged and
possibly uninitialized. Setting it to -1 seems friendlier, though.

Bug: http://b/27506278
Change-Id: I7acdc8eecbea4404d5fb4ba0b4d572245a323886

8 years agoDon't call clock_getres in sysconf.
Elliott Hughes [Sat, 5 Mar 2016 02:25:57 +0000 (18:25 -0800)]
Don't call clock_getres in sysconf.

There are a hundred other reasons why we can't run on kernels old enough
to not have all the clocks covered by sysconf.

This was causing trouble for jemalloc 4.1.0 in a seccomp-constrained process
because jemalloc 4.1.0 introduced a call to sysconf that caused us to make
clock_getres syscalls for the first time, leading to SIGSYS.

Bug: http://b/27408522

(cherry picked from commit d2b8de2cd16ecd86c830d98c58bcf392475bd0b3)

Change-Id: Id46a0f2c2804c597a8c9091690a8a1fc4a65f4cd

8 years agolibm: rename LIBC_PRIVATE to LIBC_DEPRECATED
Dimitry Ivanov [Fri, 4 Mar 2016 19:05:52 +0000 (11:05 -0800)]
libm: rename LIBC_PRIVATE to LIBC_DEPRECATED

Bug: http://b/26386014
Change-Id: Ia32411ce779f9dcf2cf7910d8658ffa753c73af9
(cherry picked from commit 9296460bf4dc64d91a83032c8323816430048419)

8 years agoMerge "Add libsqlite.so to the grey-list" into nyc-dev
Dimitry Ivanov [Fri, 4 Mar 2016 02:33:35 +0000 (02:33 +0000)]
Merge "Add libsqlite.so to the grey-list" into nyc-dev

8 years agoAdd libsqlite.so to the grey-list
Dimitry Ivanov [Fri, 4 Mar 2016 02:13:18 +0000 (18:13 -0800)]
Add libsqlite.so to the grey-list

Bug: http://b/27152660
Bug: http://b/26394120
Change-Id: I9f8f6eb8cf0d81ddf1b7769e306c08b927f3dad1

8 years agoAdd a checksum to jmp_buf on AArch64.
Josh Gao [Thu, 3 Mar 2016 03:45:29 +0000 (19:45 -0800)]
Add a checksum to jmp_buf on AArch64.

Bug: http://b/27417786
Change-Id: I17c22dc28a46dd6b678b449b506b0da978f3793e
(cherry picked from commit 0c3655a864f33080ebbec1248c27a7ead87d6a28)

8 years agoAdd a checksum to jmp_buf on ARM.
Josh Gao [Thu, 3 Mar 2016 03:03:17 +0000 (19:03 -0800)]
Add a checksum to jmp_buf on ARM.

Make it easier to diagnose applications mucking with the contents of
jmp_buf by checksumming its contents.

Bug: http://b/27417786
Change-Id: I9989e2ea3979a36ae0bc4c9e1bacafddbacc731b
(cherry picked from commit a4c69137c693c45fce4010ba61d69d7147f5dd9a)

8 years agolibdl: Rename LIBC_PRIVATE to LIBC_PLATFORM
Dimitry Ivanov [Wed, 2 Mar 2016 19:41:22 +0000 (11:41 -0800)]
libdl: Rename LIBC_PRIVATE to LIBC_PLATFORM

Bug: http://b/26386014
Change-Id: I3255faac66a96867aed302e205e3644b40ce7750
(cherry picked from commit 98cdef39dccad972a527b274be08a1905047a39a)

8 years agoModify android_dlwarning function to use a callback
Dimitry Ivanov [Wed, 2 Mar 2016 21:05:51 +0000 (13:05 -0800)]
Modify android_dlwarning function to use a callback

The previous implementation of android_dlwarning was not thread-safe
and could return a pointer soon to become invalid in some situations.
This change fixed the problem. I have also removed android_dlwarning
from the dlext.h header file in case we decide to keep
android_dlwarning in the final release.

Bug: http://b/27453994
Change-Id: If6c896a80a17c4be0e18795e617712ad36a106fe

8 years agoFix getifaddrs' handling of point-to-point interfaces.
Elliott Hughes [Wed, 2 Mar 2016 01:27:12 +0000 (17:27 -0800)]
Fix getifaddrs' handling of point-to-point interfaces.

Also remove an if that implied that IFA_BROADCAST is a possibility for
AF_INET6.

The existing tests fail if you have a point-to-point interface configured,
so no new test necessary.

Bug: http://b/27442503

(cherry picked from commit ef925e50d38fe6f5499c1d0d24cca98bf88e5256)

Change-Id: I19c19d83a86d0a8004a6b45dea7febe9d6fb6a2e

8 years agolinker: print "not accessible" error message to the log
Dimitry Ivanov [Tue, 1 Mar 2016 21:11:28 +0000 (13:11 -0800)]
linker: print "not accessible" error message to the log

Print properties of the namespace on "library is not accessible"
error to better diagnose problems with native library accessiblity

Bug: http://b/27406143
Change-Id: Icf3d6c604f09dfa015de863fdb1267d343930d2a

8 years agoMerge "Add android_dlwarning() method" into nyc-dev
Dimitry Ivanov [Tue, 1 Mar 2016 17:50:00 +0000 (17:50 +0000)]
Merge "Add android_dlwarning() method" into nyc-dev

8 years agoRewrite ifaddrs#getifaddrs_INET.
Elliott Hughes [Mon, 29 Feb 2016 21:31:59 +0000 (13:31 -0800)]
Rewrite ifaddrs#getifaddrs_INET.

The old implementation was unnecessarily complex, and using the wrong ioctl
for point-to-point destination addresses.

Bug: http://b/27313259

(cherry picked from commit bf97770a8602ad50ac97a16b978f92c366595684)

Change-Id: Ifad01967d6b7f4bb1e0346a5bb352dbb524bf846

8 years agoMove hard-coded values to constants.
Christopher Ferris [Tue, 23 Feb 2016 03:23:26 +0000 (19:23 -0800)]
Move hard-coded values to constants.

Change all of the hard-coded config values to be defined constants.
Also make sure to use these constants in the usage output.

Bug: 26739265

(cherry picked from commit 549e52200b6af3c33cba7ef759ea98b49fa40082)

Change-Id: I07b7095cad9c47207a31d9b95e4013f4cb07ae0e

8 years agoAdd android_dlwarning() method
Dimitry Ivanov [Thu, 25 Feb 2016 23:22:04 +0000 (15:22 -0800)]
Add android_dlwarning() method

This is temporary method intended to use
for a toast message on preview and beta
releases. Will be removed before the
production release.

Bug: http://b/27365747
Change-Id: I39cc716bb82863ae761b6821bcec77cce6db3781

8 years agoMerge "Update timezone data to 2016a" into nyc-dev
Neil Fuller [Fri, 26 Feb 2016 14:37:43 +0000 (14:37 +0000)]
Merge "Update timezone data to 2016a" into nyc-dev

8 years agoUpdate timezone data to 2016a
Neil Fuller [Wed, 24 Feb 2016 15:09:28 +0000 (15:09 +0000)]
Update timezone data to 2016a

  Changes affecting future time stamps

    America/Cayman will not observe daylight saving this year after all.
    Revert our guess that it would.  (Thanks to Matt Johnson.)

    Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
    (Thanks to Alexander Krivenyshev.)

    Asia/Tehran now has DST predictions for the year 2038 and later,
    to be March 21 00:00 to September 21 00:00.  This is likely better
    than predicting no DST, albeit off by a day every now and then.

  Changes affecting past and future time stamps

    America/Metlakatla switched from PST all year to AKST/AKDT on
    2015-11-01 at 02:00.  (Thanks to Steffen Thorsen.)

    America/Santa_Isabel has been removed, and replaced with a
    backward compatibility link to America/Tijuana.  Its contents were
    apparently based on a misreading of Mexican legislation.

  Changes affecting past time stamps

    Asia/Karachi's two transition times in 2002 were off by a minute.
    (Thanks to Matt Johnson.)

Bug: 26833368
(cherry picked from commit 92057af535a8976b078b61eb58f894cd6f511fea)

Change-Id: I31985eb6101cf5d428ecaec70be4248c896a5b86

8 years agoUpdate timezone data to 2016a
Neil Fuller [Thu, 25 Feb 2016 17:42:48 +0000 (17:42 +0000)]
Update timezone data to 2016a
am: 5408d8f39a

* commit '5408d8f39aeaac1f477757f90b09cff32c641d56':
  Update timezone data to 2016a

8 years agoUpdate timezone data to 2016a
Neil Fuller [Wed, 24 Feb 2016 15:09:28 +0000 (15:09 +0000)]
Update timezone data to 2016a

  Changes affecting future time stamps

    America/Cayman will not observe daylight saving this year after all.
    Revert our guess that it would.  (Thanks to Matt Johnson.)

    Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
    (Thanks to Alexander Krivenyshev.)

    Asia/Tehran now has DST predictions for the year 2038 and later,
    to be March 21 00:00 to September 21 00:00.  This is likely better
    than predicting no DST, albeit off by a day every now and then.

  Changes affecting past and future time stamps

    America/Metlakatla switched from PST all year to AKST/AKDT on
    2015-11-01 at 02:00.  (Thanks to Steffen Thorsen.)

    America/Santa_Isabel has been removed, and replaced with a
    backward compatibility link to America/Tijuana.  Its contents were
    apparently based on a misreading of Mexican legislation.

  Changes affecting past time stamps

    Asia/Karachi's two transition times in 2002 were off by a minute.
    (Thanks to Matt Johnson.)

Bug: 26833368
Change-Id: I5af1d69f8ca767369f1cbc4aa863280b960777e0

8 years agoFix incorrect size of array.
Christopher Ferris [Sat, 20 Feb 2016 02:13:29 +0000 (18:13 -0800)]
Fix incorrect size of array.

When using sscanf and "%4s", the array passed in must include space for
a nul terminator.

Bug: 26739265

(cherry picked from commit f499dc91e774db4cb9d21f9a7c34704fa9b7ed39)

Change-Id: I8aac6fca3e5bc7a6399e2ed9c6ba4140a55ffdee

8 years agomalloc_debug: reread /proc/pid/maps when entry is missing
Colin Cross [Mon, 8 Feb 2016 22:29:03 +0000 (14:29 -0800)]
malloc_debug: reread /proc/pid/maps when entry is missing

Reread /proc/pid/maps on demand in case a new library has been loaded.

Bug: 27208635
(cherry picked from commit d75d4bea54a788dada3f2538a33cc491e4c56ed4)

Change-Id: I80140cf57fa3b3e93d51dbe7b7a27595b72ee694

8 years agoAdd backtrace_string and export to libmemunreachable
Colin Cross [Sat, 6 Feb 2016 00:17:39 +0000 (16:17 -0800)]
Add backtrace_string and export to libmemunreachable

Add backtrace_string to convert a malloc_debug backtrace to a string.
Also move the backtrace functions to libc_malloc_debug_backtrace so that
libmemunreachable can reuse them.

Bug: 27208635
(cherry picked from commit 2c75991359df165ca7cc7a6213fb227c0b5ed87c)

Change-Id: Ia93aaf010fbce1ace058439427066ea2dfd8bd13

8 years agoExport malloc_backtrace
Colin Cross [Tue, 2 Feb 2016 19:57:54 +0000 (11:57 -0800)]
Export malloc_backtrace

Bug: 27208635
(cherry picked from commit 2d4721c0c57fe2f7c1e1b40df4763a561b3cf856)

Change-Id: Ida926cabb706dfd962b692ba1775da332f68488f

8 years agoExport malloc_iterate and friends
Colin Cross [Fri, 29 Jan 2016 20:48:18 +0000 (12:48 -0800)]
Export malloc_iterate and friends

Export malloc_iterate, malloc_enable, and malloc_disable to be used by
libmemunreachable.

Bug: 27208635
(cherry picked from commit 869691c6f7691dd5bf343617aa185c32e0d3d160)

Change-Id: Ifa44421a84ac3be6a57fac28c4da501febe88c28

8 years agomalloc_debug: reset TrackData mutex after fork
Colin Cross [Mon, 8 Feb 2016 06:51:15 +0000 (22:51 -0800)]
malloc_debug: reset TrackData mutex after fork

Add a pthread_atfork handler to malloc_debug to lock the TrackData mutex
during fork and reset it in the child.  Ensures that the TrackData is
consistent when forking from a multi-threaded process, and that the
mutex is in a defined state in the child.

Bug: 27208635
(cherry picked from commit 7a28a3cf1f8df36e30724e8b4021cddde0596118)

Change-Id: I84bc67be09b8b767e1cf2f14141e2ae8dc4fb462

8 years agoFix wrong guard values for 64 bit.
Christopher Ferris [Tue, 23 Feb 2016 03:14:26 +0000 (19:14 -0800)]
Fix wrong guard values for 64 bit.

I added the code to force alignments of 8 for 32 bit and 16 for 64 bit,
but I missed a couple of tests that failed due to this change. Fix the
failing tests.

Bug: 26739265

(cherry picked from commit 0e2a0265798ed47cbbf6977f0f84cf81d93173a6)

Change-Id: I21c3e26a340df6e427f06625e525b88b19b0cae1

8 years agoFix scope ids for link-local IPv6 addresses from getifaddrs(3).
Elliott Hughes [Wed, 17 Feb 2016 22:19:48 +0000 (14:19 -0800)]
Fix scope ids for link-local IPv6 addresses from getifaddrs(3).

Bug: http://b/27219454

(cherry picked from commit 7dac8b8aabadbf2dcff20d3646e701728ba3777d)

Change-Id: I006ae68b928b5836d064c020a6db43dcc05add9e

8 years agoFix cfi directives for memmove/strlcpy.
Christopher Ferris [Thu, 18 Feb 2016 03:17:02 +0000 (19:17 -0800)]
Fix cfi directives for memmove/strlcpy.

Bug: 27227225

(cherry picked from commit 97b6e131fd85bb0ae321d9e5a8a613f5ee373cf4)

Change-Id: I9462340a478d9b699240703d8da5967000a33d08

8 years agoFix cfi directives in small strncmp case.
Christopher Ferris [Thu, 18 Feb 2016 00:34:02 +0000 (16:34 -0800)]
Fix cfi directives in small strncmp case.

Bug: 27227225

(cherry picked from commit de84e51f8c7b45869a8f83a1d5eacbf19b6d5eb5)

Change-Id: I7ebbd1cf9bff849ecdfc84e0e98842fec3215bb4

8 years agoAdd a memcpy(a, a, n) test.
Christopher Ferris [Sat, 13 Feb 2016 01:24:27 +0000 (17:24 -0800)]
Add a memcpy(a, a, n) test.

clang depends on memcpy where src and dst are the same to actually
work. Even though this is, technically, undefined behavior,
clang is not going to change. Add a test to verify this assumption
holds true for android devices.

(cherry picked from commit 71766c25778fe13717259cdccb62463684794408)

Change-Id: I7d8ba4098729194dda69eab7070fd5c4ba1abbe9

8 years agoFix the default alignment of the allocations.
Christopher Ferris [Thu, 11 Feb 2016 23:51:31 +0000 (15:51 -0800)]
Fix the default alignment of the allocations.

In order to enforce this constraint:

The pointer returned if the allocation succeeds shall be suitably
aligned so that it may be assigned to a pointer to any type of object
and then used to access such an object in the space allocated.

Force all allocations on 32 bit systems to have 8 byte alignment,
and all allocations on 64 bit systems to have 16 byte alignment.

Add a test to verify that the allocator returns the correct alignments.

Bug: 26739265

(cherry picked from commit 72df6708c829a4c6494936fdfbda6dc7e68e647b)

Change-Id: I44ca8bedb1dac375087da1af3a1d7d12034e037f

8 years agoFix regerror(..., nullptr, 0).
Elliott Hughes [Sat, 13 Feb 2016 00:00:53 +0000 (16:00 -0800)]
Fix regerror(..., nullptr, 0).

Found by passing a bad regular expression to the Google benchmark
code (https://github.com/google/benchmark).

(cherry picked from commit cac2908b08f517802e719ddafe39f45c85c96a33)

Change-Id: I317a7c2ea6535998c0853029023fcefc88cb3750

8 years agoFix is_greylisted check in case of an absolute path
Dimitry Ivanov [Fri, 12 Feb 2016 21:33:19 +0000 (13:33 -0800)]
Fix is_greylisted check in case of an absolute path

Some apps are explicitly calling System.loadLibrary(.)
for internal platform libraries like cutils.

Bug: http://b/27100558
Change-Id: I765cf3fc542778d3b487069c9955d367840b3c05

8 years agoAdd tests for zero-sized allocations.
Elliott Hughes [Thu, 11 Feb 2016 04:43:22 +0000 (20:43 -0800)]
Add tests for zero-sized allocations.

POSIX lets us return null and set errno, but that would be annoying and
surprising.

Bug: http://b/27101951

(cherry picked from commit 884f76e3aa081740f7cfe582b11af7446bf77bd9)

Change-Id: Ice4fd3cd427523edc2ca4ba25caf9701c353db47

8 years agoUpdate NOTICE files.
Elliott Hughes [Tue, 9 Feb 2016 01:00:12 +0000 (17:00 -0800)]
Update NOTICE files.

(cherry picked from commit b4931cee769ca3c60a2cb77f68078df893286cf0)

Change-Id: I0aaa89f9b6d997936ef6d08c602795add9132057

8 years agoMerge "Add a test for a possible overflow in *printf." am: 3dbdb9dbe6
Elliott Hughes [Sun, 7 Feb 2016 05:40:00 +0000 (05:40 +0000)]
Merge "Add a test for a possible overflow in *printf." am: 3dbdb9dbe6
am: c32819f4ed

* commit 'c32819f4edced1cc9400ff932451865210ca15b6':
  Add a test for a possible overflow in *printf.

8 years agoMerge "Add a test for a possible overflow in *printf."
Elliott Hughes [Sun, 7 Feb 2016 05:38:14 +0000 (05:38 +0000)]
Merge "Add a test for a possible overflow in *printf."
am: 3dbdb9dbe6

* commit '3dbdb9dbe6907ebf322e7dae6df9fb3aadd4854b':
  Add a test for a possible overflow in *printf.

8 years agoMerge "Add a test for a possible overflow in *printf."
Elliott Hughes [Sun, 7 Feb 2016 05:35:34 +0000 (05:35 +0000)]
Merge "Add a test for a possible overflow in *printf."

8 years agoMerge "define pw_gecos to pw_passwd for LP32 systems" am: 9c212fc436
Mike Frysinger [Sat, 6 Feb 2016 19:34:50 +0000 (19:34 +0000)]
Merge "define pw_gecos to pw_passwd for LP32 systems" am: 9c212fc436
am: 52ce6c3bf4

* commit '52ce6c3bf4b4e2ec2c6cf69f5706bad98e9e6b75':
  define pw_gecos to pw_passwd for LP32 systems

8 years agoMerge "define pw_gecos to pw_passwd for LP32 systems"
Mike Frysinger [Sat, 6 Feb 2016 19:33:05 +0000 (19:33 +0000)]
Merge "define pw_gecos to pw_passwd for LP32 systems"
am: 9c212fc436

* commit '9c212fc43617aeef5b1828407dd5d8daee506923':
  define pw_gecos to pw_passwd for LP32 systems

8 years agoMerge "define pw_gecos to pw_passwd for LP32 systems"
Mike Frysinger [Sat, 6 Feb 2016 19:29:29 +0000 (19:29 +0000)]
Merge "define pw_gecos to pw_passwd for LP32 systems"

8 years agodefine pw_gecos to pw_passwd for LP32 systems
Mike Frysinger [Wed, 3 Feb 2016 19:40:37 +0000 (14:40 -0500)]
define pw_gecos to pw_passwd for LP32 systems

Since we set both fields to NULL all the time, we can alias the two
fields together on LP32 to provide build-time compatibility.

BUG=24918750
TEST=python now builds for Brillo boards

Change-Id: I3394aea80c9a5288669389f71d0e4132f2157e3c

8 years agoAdd a test for a possible overflow in *printf.
Elliott Hughes [Sat, 6 Feb 2016 05:57:37 +0000 (21:57 -0800)]
Add a test for a possible overflow in *printf.

It turns out we don't have any bugs here, but glibc does. Found while
chasing down a toybox failure I saw on the host, but we may as well
add the test in case we ever screw up here in future.

Change-Id: Ib8dd227ed3b742dc4dab8c09dc08e6ea9a35c807

8 years agoMerge "Updated to v4.4.1 kernel headers." am: 831c8a5249
Christopher Ferris [Sat, 6 Feb 2016 05:30:12 +0000 (05:30 +0000)]
Merge "Updated to v4.4.1 kernel headers." am: 831c8a5249
am: e5df2f5f59

* commit 'e5df2f5f5911eecb64e1f32467e9d9c30aa73779':
  Updated to v4.4.1 kernel headers.

8 years agoMerge "Updated to v4.4.1 kernel headers."
Christopher Ferris [Sat, 6 Feb 2016 05:28:23 +0000 (05:28 +0000)]
Merge "Updated to v4.4.1 kernel headers."
am: 831c8a5249

* commit '831c8a52498d3c7be204a00847275f6e9163626f':
  Updated to v4.4.1 kernel headers.

8 years agoMerge "Updated to v4.4.1 kernel headers."
Christopher Ferris [Sat, 6 Feb 2016 05:24:53 +0000 (05:24 +0000)]
Merge "Updated to v4.4.1 kernel headers."

8 years agoMerge "Update Android.bp" am: 138a11c8a1
Dan Willemsen [Sat, 6 Feb 2016 00:49:14 +0000 (00:49 +0000)]
Merge "Update Android.bp" am: 138a11c8a1
am: 5519f42dc1

* commit '5519f42dc1f888ad5c269ec748e8d4844215e5fe':
  Update Android.bp

8 years agoMerge "Update Android.bp"
Dan Willemsen [Sat, 6 Feb 2016 00:47:28 +0000 (00:47 +0000)]
Merge "Update Android.bp"
am: 138a11c8a1

* commit '138a11c8a1687c72098ac9ceedfdf857426748cf':
  Update Android.bp

8 years agoMerge "Update Android.bp"
Dan Willemsen [Sat, 6 Feb 2016 00:43:13 +0000 (00:43 +0000)]
Merge "Update Android.bp"

8 years agoUpdated to v4.4.1 kernel headers.
Christopher Ferris [Thu, 4 Feb 2016 21:16:38 +0000 (13:16 -0800)]
Updated to v4.4.1 kernel headers.

Small modifications needed to allow compilation with the new headers:

- Manually modify bionic/libc/kernel/uapi/asm-mips/asm/siginfo.h to
  remove the uapi from the include.
- PR_XXX defines are now available for mips, so remove the definition
  from linker_mips.cpp.

Bug: 23789423
Change-Id: I6dc8a03b012426d3a937db15cb24d3a50fab5a8c

8 years agoMerge "Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack." am: 865f6bce75
Elliott Hughes [Fri, 5 Feb 2016 21:51:42 +0000 (21:51 +0000)]
Merge "Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack." am: 865f6bce75
am: ab872d2beb

* commit 'ab872d2bebbc330236927835ad5fa1fa51bf536c':
  Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack.

8 years agoMerge "Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack."
Elliott Hughes [Fri, 5 Feb 2016 20:52:34 +0000 (20:52 +0000)]
Merge "Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack."
am: 865f6bce75

* commit '865f6bce758ae82b19c0eed2b6fd708945ec841f':
  Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack.

8 years agoMerge "Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack."
Elliott Hughes [Fri, 5 Feb 2016 20:48:01 +0000 (20:48 +0000)]
Merge "Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack."

8 years agoAdd a test for snprintf on a PTHREAD_STACK_MIN-sized stack.
Elliott Hughes [Fri, 5 Feb 2016 19:18:41 +0000 (11:18 -0800)]
Add a test for snprintf on a PTHREAD_STACK_MIN-sized stack.

This is a common thing for people to want to do, snprintf requires
a lot of stack for itself, and PTHREAD_STACK_MIN should be usable
for realistic code.

Change-Id: Ib09cfb4e0beec1c69ee0944c3ea4c5d03a94c491

8 years agoMerge "Add check for pthread_self() when looking up a thread" am: b90837c3d3
Dimitry Ivanov [Fri, 5 Feb 2016 17:26:02 +0000 (17:26 +0000)]
Merge "Add check for pthread_self() when looking up a thread" am: b90837c3d3
am: 7e694a20fd

* commit '7e694a20fd4136f8aca9afa294dae663a49efacc':
  Add check for pthread_self() when looking up a thread

8 years agoMerge "Add check for pthread_self() when looking up a thread"
Dimitry Ivanov [Fri, 5 Feb 2016 04:33:48 +0000 (04:33 +0000)]
Merge "Add check for pthread_self() when looking up a thread"
am: b90837c3d3

* commit 'b90837c3d316c6ea8d6f0b0b6a3643d0d3245a0e':
  Add check for pthread_self() when looking up a thread

8 years agoMerge "Add check for pthread_self() when looking up a thread"
Dimitry Ivanov [Fri, 5 Feb 2016 04:29:54 +0000 (04:29 +0000)]
Merge "Add check for pthread_self() when looking up a thread"

8 years agoAdd check for pthread_self() when looking up a thread
Dimitry Ivanov [Fri, 5 Feb 2016 00:21:01 +0000 (16:21 -0800)]
Add check for pthread_self() when looking up a thread

Check if thread_id is in fact pthread_self before
locking on g_thread_list_lock in __pthread_internal_find.

The main reason for doing this is not performance but to allow
the linker use raise() which was not working because pthread_kill()
couldn't find pthread_self() thread because the global thread
list is initialized in libc.so and the linker's version of this
list is empty.

Bug: http://b/25867917
Change-Id: I18fe620e8cd465b30f0e1ff45fff32958f3c5c00

8 years agoUpdate Android.bp
Dan Willemsen [Thu, 4 Feb 2016 05:48:08 +0000 (21:48 -0800)]
Update Android.bp

Also reorders some arch-specific sources to match the order in the
Android.mk system.

Change-Id: Ibde46a7cef9840b759be796ce9ac6618d3b06532

8 years agoMerge "Add in6addr_any and in6addr_loopback symbols." am: d2be380258
Elliott Hughes [Wed, 3 Feb 2016 23:20:30 +0000 (23:20 +0000)]
Merge "Add in6addr_any and in6addr_loopback symbols." am: d2be380258
am: 316eb69ad4

* commit '316eb69ad4c5e89c3a0f057e79d7e9342609a010':
  Add in6addr_any and in6addr_loopback symbols.

8 years agoMerge "Add in6addr_any and in6addr_loopback symbols."
Elliott Hughes [Wed, 3 Feb 2016 23:18:16 +0000 (23:18 +0000)]
Merge "Add in6addr_any and in6addr_loopback symbols."
am: d2be380258

* commit 'd2be3802582e69bfaf1a8ab02849bc44c4fa2ce6':
  Add in6addr_any and in6addr_loopback symbols.

8 years agoMerge "Add in6addr_any and in6addr_loopback symbols."
Elliott Hughes [Wed, 3 Feb 2016 23:12:10 +0000 (23:12 +0000)]
Merge "Add in6addr_any and in6addr_loopback symbols."

8 years agoAdd in6addr_any and in6addr_loopback symbols.
Elliott Hughes [Wed, 3 Feb 2016 22:13:52 +0000 (14:13 -0800)]
Add in6addr_any and in6addr_loopback symbols.

Change-Id: I3a90fa448b6bd43321672ba74b84a4e9e8a67738

8 years agoMerge "Really add adjtimex(2), and add clock_adjtime(2) too." am: 5da33dd673
Elliott Hughes [Wed, 3 Feb 2016 22:09:20 +0000 (22:09 +0000)]
Merge "Really add adjtimex(2), and add clock_adjtime(2) too." am: 5da33dd673
am: d1cfd67c6b

* commit 'd1cfd67c6b92767c959a4ed9a00126e1c7ecbc19':
  Really add adjtimex(2), and add clock_adjtime(2) too.

8 years agoMerge "Really add adjtimex(2), and add clock_adjtime(2) too."
Elliott Hughes [Wed, 3 Feb 2016 22:07:21 +0000 (22:07 +0000)]
Merge "Really add adjtimex(2), and add clock_adjtime(2) too."
am: 5da33dd673

* commit '5da33dd67350fcb7c12a57027b1af5f4e72a9c21':
  Really add adjtimex(2), and add clock_adjtime(2) too.

8 years agoMerge "linker: Change the library search order" am: c92ffa95fc
Dimitry Ivanov [Wed, 3 Feb 2016 22:04:35 +0000 (22:04 +0000)]
Merge "linker: Change the library search order" am: c92ffa95fc
am: 10e4fd56b5

* commit '10e4fd56b5e86ca1a9a6bbcb4b62f6f4592bf508':
  linker: Change the library search order

8 years agoMerge "Really add adjtimex(2), and add clock_adjtime(2) too."
Elliott Hughes [Wed, 3 Feb 2016 22:03:09 +0000 (22:03 +0000)]
Merge "Really add adjtimex(2), and add clock_adjtime(2) too."

8 years agoMerge "linker: Change the library search order"
Dimitry Ivanov [Wed, 3 Feb 2016 22:02:17 +0000 (22:02 +0000)]
Merge "linker: Change the library search order"
am: c92ffa95fc

* commit 'c92ffa95fc2f9ef4d381033d313797cffe14709e':
  linker: Change the library search order

8 years agoMerge "linker: Change the library search order"
Dimitry Ivanov [Wed, 3 Feb 2016 21:58:40 +0000 (21:58 +0000)]
Merge "linker: Change the library search order"

8 years agoReally add adjtimex(2), and add clock_adjtime(2) too.
Elliott Hughes [Wed, 3 Feb 2016 21:19:10 +0000 (13:19 -0800)]
Really add adjtimex(2), and add clock_adjtime(2) too.

Change-Id: I81fde2ec9fdf787bb19a784ad13df92d33a4f852

8 years agoMerge "Add fopen64/freopen64/tmpfile64 aliases." am: 36ff699570
Elliott Hughes [Wed, 3 Feb 2016 20:58:25 +0000 (20:58 +0000)]
Merge "Add fopen64/freopen64/tmpfile64 aliases." am: 36ff699570
am: e8e8873d9f

* commit 'e8e8873d9f1d277ede6c9156f5bd78ef9eee3f1e':
  Add fopen64/freopen64/tmpfile64 aliases.

8 years agoMerge "Add fopen64/freopen64/tmpfile64 aliases."
Elliott Hughes [Wed, 3 Feb 2016 20:56:34 +0000 (20:56 +0000)]
Merge "Add fopen64/freopen64/tmpfile64 aliases."
am: 36ff699570

* commit '36ff6995707112e66dd0dec78be7f8ee9b95d321':
  Add fopen64/freopen64/tmpfile64 aliases.

8 years agoMerge "Add fopen64/freopen64/tmpfile64 aliases."
Elliott Hughes [Wed, 3 Feb 2016 20:52:42 +0000 (20:52 +0000)]
Merge "Add fopen64/freopen64/tmpfile64 aliases."

8 years agoAdd fopen64/freopen64/tmpfile64 aliases.
Elliott Hughes [Wed, 3 Feb 2016 19:24:28 +0000 (11:24 -0800)]
Add fopen64/freopen64/tmpfile64 aliases.

Our fopen/freopen/tmpfile are already always O_LARGEFILE, but let's add
the aliases for _LARGEFILE_SOURCE compatibility.

Bug: http://b/24807045
Change-Id: I5d99b3ef3c9f27ce70f13313f6a92e96c7f21f80

8 years agoMerge "Fix ifaddrs#getifaddrs_INET flakiness." am: a279324094
Elliott Hughes [Wed, 3 Feb 2016 19:02:48 +0000 (19:02 +0000)]
Merge "Fix ifaddrs#getifaddrs_INET flakiness." am: a279324094
am: 02075d2100

* commit '02075d2100686edd059efe0ac6dc8f3eb7f439bd':
  Fix ifaddrs#getifaddrs_INET flakiness.

8 years agoMerge "Fix ifaddrs#getifaddrs_INET flakiness."
Elliott Hughes [Wed, 3 Feb 2016 19:00:11 +0000 (19:00 +0000)]
Merge "Fix ifaddrs#getifaddrs_INET flakiness."
am: a279324094

* commit 'a279324094d748b97201412b2457d2f6e26287dd':
  Fix ifaddrs#getifaddrs_INET flakiness.

8 years agoMerge "Fix ifaddrs#getifaddrs_INET flakiness."
Elliott Hughes [Wed, 3 Feb 2016 18:55:20 +0000 (18:55 +0000)]
Merge "Fix ifaddrs#getifaddrs_INET flakiness."

8 years agoMerge "Expose ftello64." am: b3cfafd2bd
Elliott Hughes [Wed, 3 Feb 2016 18:50:53 +0000 (18:50 +0000)]
Merge "Expose ftello64." am: b3cfafd2bd
am: e74d1d6507

* commit 'e74d1d6507a28c56941d95889219e1ea24b0ac5c':
  Expose ftello64.

8 years agoMerge "Expose ftello64."
Elliott Hughes [Wed, 3 Feb 2016 18:48:07 +0000 (18:48 +0000)]
Merge "Expose ftello64."
am: b3cfafd2bd

* commit 'b3cfafd2bd3aa307457fe89573d6ac232a5de1c6':
  Expose ftello64.

8 years agoMerge "Expose ftello64."
Elliott Hughes [Wed, 3 Feb 2016 18:43:17 +0000 (18:43 +0000)]
Merge "Expose ftello64."

8 years agoFix ifaddrs#getifaddrs_INET flakiness.
Elliott Hughes [Wed, 3 Feb 2016 15:42:33 +0000 (07:42 -0800)]
Fix ifaddrs#getifaddrs_INET flakiness.

The interface name wasn't being nul-terminated for the ioctl. Also clean up
the code a bit to give more useful diagnostics on failure.

Bug: http://b/26887941
Change-Id: I30c6bdc1a32733971a27ed1fb7db9d8239b6262b

8 years agoExpose ftello64.
Elliott Hughes [Wed, 3 Feb 2016 06:39:15 +0000 (22:39 -0800)]
Expose ftello64.

Also add the missing test that would have caught this.

Bug: http://b/24807045
Change-Id: I756a4d825595b52396b15898e3f717156fd1ba2f

8 years agoMerge "Fix our fortify tests for global -Werror." am: 3e75110bcb
Dan Albert [Wed, 3 Feb 2016 02:35:09 +0000 (02:35 +0000)]
Merge "Fix our fortify tests for global -Werror." am: 3e75110bcb
am: 9fbe4a0482

* commit '9fbe4a048221b7823104265ba410e130263867a9':
  Fix our fortify tests for global -Werror.

8 years agoMerge "Fix our fortify tests for global -Werror."
Dan Albert [Wed, 3 Feb 2016 02:33:15 +0000 (02:33 +0000)]
Merge "Fix our fortify tests for global -Werror."
am: 3e75110bcb

* commit '3e75110bcb1d7b941ab0633e7e5c36c604512ded':
  Fix our fortify tests for global -Werror.

8 years agoMerge "Fix our fortify tests for global -Werror."
Dan Albert [Wed, 3 Feb 2016 02:28:42 +0000 (02:28 +0000)]
Merge "Fix our fortify tests for global -Werror."

8 years agoMerge "use GNU C89 extern inline semantics for __size_mul_overflow()" am: 153e9928b8
Josh Gao [Wed, 3 Feb 2016 01:36:44 +0000 (01:36 +0000)]
Merge "use GNU C89 extern inline semantics for __size_mul_overflow()" am: 153e9928b8
am: 8e8f990fc4

* commit '8e8f990fc4fde79c2d10a5c40341d2ce90eb4e95':
  use GNU C89 extern inline semantics for __size_mul_overflow()

8 years agoMerge "use GNU C89 extern inline semantics for __size_mul_overflow()"
Josh Gao [Wed, 3 Feb 2016 01:34:34 +0000 (01:34 +0000)]
Merge "use GNU C89 extern inline semantics for __size_mul_overflow()"
am: 153e9928b8

* commit '153e9928b8bab5e11d4bf4679bf307b81a88108e':
  use GNU C89 extern inline semantics for __size_mul_overflow()

8 years agoMerge "use GNU C89 extern inline semantics for __size_mul_overflow()"
Josh Gao [Wed, 3 Feb 2016 01:28:48 +0000 (01:28 +0000)]
Merge "use GNU C89 extern inline semantics for __size_mul_overflow()"

8 years agouse GNU C89 extern inline semantics for __size_mul_overflow()
Xia Yang [Thu, 21 Jan 2016 02:34:59 +0000 (18:34 -0800)]
use GNU C89 extern inline semantics for __size_mul_overflow()

__size_mul_overflow generates warning under following compilation envrionment:

-OX -D_FORTIFY_SOURCE=2 (X=1, 2, 3)

For example:

echo '#include <stdio.h>' | \
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-gcc \
    -I bionic/libc/arch-arm/include \
    -I bionic/libc/include \
    -I bionic/libc/kernel/uapi \
    -I bionic/libc/kernel/common \
    -I bionic/libc/kernel/uapi/asm-arm \
    -I bionic/libm/include \
    -I bionic/libm/include/arm \
    -I bionic/libc/include \
    -Werror \
    -O1 \
    -D_FORTIFY_SOURCE=2 \
    -c \
    -x c \
    -

bionic/libc/include/stdio.h:360:13: error: '__size_mul_overflow' is
static but used in inline function 'fread' which is not static [-Werror]
         if (__size_mul_overflow(size, count, &total)) {
                          ^

C99 - 6.7.4
"An inline definition of a function with external linkage shall not contain
a definition of a modifiable object with static storage duration, and shall
not contain a reference to an identifier with internal linkage."

As standard does not require compiler to determine when it is safe to
reference an internal function in an external inline function, but instead
delegalizes such reference as a whole, gcc throws a warning for such code
under C99 compilation.  Warning produced by libc header is inhereted widely
and strips the option of using -Werror to track code sanity.

Replace static inline specifier with gnu89 extern inline. Latter "is used
only for inlining. In no case is the function compiled on its own", which
is slightly different from former semantically, but should produce the same
result here.

Change-Id: I6a3374498e5499d110e54468cf9d0d67d2debbe2

8 years agoFix our fortify tests for global -Werror.
Dan Albert [Wed, 3 Feb 2016 01:13:03 +0000 (17:13 -0800)]
Fix our fortify tests for global -Werror.

If anyone has a better way of doing this it would be welcome...

Bug: http://b/26936282
Change-Id: I796896866327b4b5b5ee4ec36994fb320993f85d

8 years agoMerge "Remove the unused TrackHeader structure." am: fe60bae4b7
Christopher Ferris [Tue, 2 Feb 2016 22:15:49 +0000 (22:15 +0000)]
Merge "Remove the unused TrackHeader structure." am: fe60bae4b7
am: 15c35a02da

* commit '15c35a02daf0a1f8b2c47ac66fde0fd267c33fc1':
  Remove the unused TrackHeader structure.

8 years agoMerge "Remove the unused TrackHeader structure."
Christopher Ferris [Tue, 2 Feb 2016 22:13:46 +0000 (22:13 +0000)]
Merge "Remove the unused TrackHeader structure."
am: fe60bae4b7

* commit 'fe60bae4b71f9b4d50912f06acac601762e55b73':
  Remove the unused TrackHeader structure.

8 years agoMerge "Remove the unused TrackHeader structure."
Christopher Ferris [Tue, 2 Feb 2016 22:09:30 +0000 (22:09 +0000)]
Merge "Remove the unused TrackHeader structure."

8 years agoRemove the unused TrackHeader structure.
Christopher Ferris [Tue, 2 Feb 2016 21:09:59 +0000 (13:09 -0800)]
Remove the unused TrackHeader structure.

Change-Id: I07ae5de717e1fcfbe5dfe552a531db9f630da622

8 years agoMerge "Add better free tracking." am: 4821db1b3e
Christopher Ferris [Tue, 2 Feb 2016 20:50:02 +0000 (20:50 +0000)]
Merge "Add better free tracking." am: 4821db1b3e
am: e98d704731

* commit 'e98d704731dd685d495025ff7cfd751c6e672668':
  Add better free tracking.

8 years agoMerge "Add better free tracking."
Christopher Ferris [Tue, 2 Feb 2016 20:47:41 +0000 (20:47 +0000)]
Merge "Add better free tracking."
am: 4821db1b3e

* commit '4821db1b3ecc14828d4acf4abed26bb7d8b8cf6a':
  Add better free tracking.