OSDN Git Service

android-x86/bionic.git
8 years agoRemove __brk
Dimitry Ivanov [Fri, 3 Jun 2016 15:33:51 +0000 (08:33 -0700)]
Remove __brk

The symbol is unused and deprecated

Bug: http://b/29005114
Change-Id: I5e99c8b029514e8b2405a1eec23ac8941374a8a4

8 years agoMerge "Do not return with stack address in global variable."
Treehugger Robot [Thu, 2 Jun 2016 22:57:51 +0000 (22:57 +0000)]
Merge "Do not return with stack address in global variable."

8 years agoDo not return with stack address in global variable.
Chih-Hung Hsieh [Thu, 2 Jun 2016 21:40:09 +0000 (14:40 -0700)]
Do not return with stack address in global variable.

Clang static analyzer gives warning when address of
local variable 'attr' is saved in a global variable.
This change passes required values down to signal handler
instead of saving local variable address in a signal handler.

Change-Id: I7955939487a5afdf7b1f47eb74a92eb5aa76cfc9

8 years agoMerge changes I1bb1925a,Icd638673
Treehugger Robot [Thu, 2 Jun 2016 21:29:48 +0000 (21:29 +0000)]
Merge changes I1bb1925a,Icd638673

* changes:
  versioner: introduce.
  Update header versions for NDK platform fixes.

8 years agoversioner: introduce.
Josh Gao [Fri, 27 May 2016 18:59:09 +0000 (11:59 -0700)]
versioner: introduce.

Add a clang-based tool to inspect header availability attributes and
verify them against the NDK platform definitions.

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

8 years agoUpdate header versions for NDK platform fixes.
Josh Gao [Fri, 27 May 2016 18:14:16 +0000 (11:14 -0700)]
Update header versions for NDK platform fixes.

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

8 years agoMerge "Remove deprecated Android.mk files"
Colin Cross [Thu, 2 Jun 2016 16:31:39 +0000 (16:31 +0000)]
Merge "Remove deprecated Android.mk files"

8 years agoMerge "Remove declaration for __brk."
Treehugger Robot [Thu, 2 Jun 2016 02:25:58 +0000 (02:25 +0000)]
Merge "Remove declaration for __brk."

8 years agoMerge "Fix .clang-format ContinuationIndentWidth."
Josh Gao [Thu, 2 Jun 2016 01:21:42 +0000 (01:21 +0000)]
Merge "Fix .clang-format ContinuationIndentWidth."

8 years agoRemove declaration for __brk.
Josh Gao [Fri, 27 May 2016 18:46:19 +0000 (11:46 -0700)]
Remove declaration for __brk.

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

8 years agoFix .clang-format ContinuationIndentWidth.
Josh Gao [Wed, 1 Jun 2016 01:17:14 +0000 (18:17 -0700)]
Fix .clang-format ContinuationIndentWidth.

Change-Id: If41900122accb2c1ebf012bfa07de9b0fa9690fc

8 years agoMerge "Remove libstdc++ include files."
Treehugger Robot [Fri, 27 May 2016 23:36:18 +0000 (23:36 +0000)]
Merge "Remove libstdc++ include files."

8 years agoRemove libstdc++ include files.
Elliott Hughes [Fri, 27 May 2016 00:35:00 +0000 (17:35 -0700)]
Remove libstdc++ include files.

We still need <new> for bionic, and to build libstdc++.

Change-Id: Ic7b26340576a5355007a06db9c1bec395be49ae1

8 years agoMerge "Improve diagnostics from the assembler __strcpy_chk routines."
Elliott Hughes [Fri, 27 May 2016 15:19:09 +0000 (15:19 +0000)]
Merge "Improve diagnostics from the assembler __strcpy_chk routines."

8 years agoRemove deprecated Android.mk files
Colin Cross [Thu, 26 May 2016 23:11:51 +0000 (16:11 -0700)]
Remove deprecated Android.mk files

These directories all have Android.bp files that are always used now,
delete the Android.mk files.

Change-Id: Ib0ba2d28bff88483b505426ba61606da314e03ab

8 years agoImprove diagnostics from the assembler __strcpy_chk routines.
Elliott Hughes [Thu, 26 May 2016 23:38:34 +0000 (16:38 -0700)]
Improve diagnostics from the assembler __strcpy_chk routines.

Change-Id: Ib95b598f7f8338cc1a618c00232a4259dc4a6319

8 years agoMerge "Improve diagnostics from the assembler __strcat_chk routines."
Treehugger Robot [Thu, 26 May 2016 23:01:25 +0000 (23:01 +0000)]
Merge "Improve diagnostics from the assembler __strcat_chk routines."

8 years agoImprove diagnostics from the assembler __strcat_chk routines.
Elliott Hughes [Thu, 26 May 2016 00:01:31 +0000 (17:01 -0700)]
Improve diagnostics from the assembler __strcat_chk routines.

Change-Id: I44cbe5389c66de6618e581a6e302eea22c39d6fb

8 years agoMerge "Update the "adding a syscall" docs."
Treehugger Robot [Thu, 26 May 2016 21:41:20 +0000 (21:41 +0000)]
Merge "Update the "adding a syscall" docs."

8 years agoUpdate the "adding a syscall" docs.
Elliott Hughes [Thu, 26 May 2016 20:55:37 +0000 (13:55 -0700)]
Update the "adding a syscall" docs.

Change-Id: I78adafb1c1c491f641a82a02ad7f03cd3f8c7d1e

8 years agoMerge "Don't use __u64/__u32 in <sys/user.h>."
Treehugger Robot [Thu, 26 May 2016 00:19:14 +0000 (00:19 +0000)]
Merge "Don't use __u64/__u32 in <sys/user.h>."

8 years agoDon't use __u64/__u32 in <sys/user.h>.
Josh Gao [Wed, 25 May 2016 22:18:14 +0000 (15:18 -0700)]
Don't use __u64/__u32 in <sys/user.h>.

The typedefs for __u64 and __u32 aren't in scope in this file, so
switch fields declared with these to use the matching underlying type.

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

8 years agoMerge "Update documentation for malloc debug."
Christopher Ferris [Wed, 25 May 2016 20:37:45 +0000 (20:37 +0000)]
Merge "Update documentation for malloc debug."

8 years agoUpdate documentation for malloc debug.
Christopher Ferris [Wed, 25 May 2016 20:04:29 +0000 (13:04 -0700)]
Update documentation for malloc debug.

Add a new document that describes the previous version of malloc debug.

Add a small update to the current documentation to indicate it only
applies to N and later.

Change-Id: Ief74c253ba79018777aa688bde7f5b35319fa4d4

8 years agoMerge "Correctly handle the case of empty LD_PRELOAD entries"
Dimitry Ivanov [Tue, 24 May 2016 23:13:06 +0000 (23:13 +0000)]
Merge "Correctly handle the case of empty LD_PRELOAD entries"

8 years agoCorrectly handle the case of empty LD_PRELOAD entries
Dimitry Ivanov [Tue, 24 May 2016 21:29:56 +0000 (14:29 -0700)]
Correctly handle the case of empty LD_PRELOAD entries

Previous android versions ignored empty entries for LD_PRELOAD

Bug: http://b/28936779
Change-Id: I757478fe0c604ee378186511cb13b757fd9a9864

8 years agoMerge "Change use of /data to /data/local/tmp."
Treehugger Robot [Mon, 23 May 2016 21:39:22 +0000 (21:39 +0000)]
Merge "Change use of /data to /data/local/tmp."

8 years agoMerge "Run fsync tests on mutable filesystem."
Treehugger Robot [Mon, 23 May 2016 20:36:33 +0000 (20:36 +0000)]
Merge "Run fsync tests on mutable filesystem."

8 years agoChange use of /data to /data/local/tmp.
Christopher Ferris [Fri, 20 May 2016 22:32:47 +0000 (15:32 -0700)]
Change use of /data to /data/local/tmp.

The unistd fsync/fdatasync were changed to use /data from /.
Unfortunately, this directory is unreadable unless you are root, so
change this path to /data/local/tmp.

Bug: 28885777
(cherry picked from commit 7e53843f7b4c061920d1742c8e70a50509d83a53)

Change-Id: I14514e985af8039ab63ac2bcf890f8d04dd82ccb

8 years agoRun fsync tests on mutable filesystem.
Shuhei Takahashi [Wed, 11 May 2016 05:04:09 +0000 (14:04 +0900)]
Run fsync tests on mutable filesystem.

The purpose of those tests is to ensure fsync succeeds for
directories. However, they try to call fsync for / (the root
filesystem) that is usually mounted read-only, which does not
make sense because the whole point of fsync is to flush
uncommitted changes to the filesystem.

In fact, some well-known read-only filesystems (e.g. squashfs)
does not support fsync, so these tests fail if we use such
filesystems as the root filesystem.

This patch changes the tests to call fsync against /data
instead. /data is a user data partition and should be always
mounted read-write.

Bug: 28681455

(cherry picked from commit cfa3262ce46fdec81cb011ec78273df68c325c9c)

Change-Id: I3e50f7b6ef07e96138711eef1f678f90cc9eb632

8 years agoMerge "Do not resolve caller_ns when it is not needed"
Dimitry Ivanov [Mon, 23 May 2016 19:35:45 +0000 (19:35 +0000)]
Merge "Do not resolve caller_ns when it is not needed"

8 years agoMerge "Make all rt_sigtimedwait signatures match."
Treehugger Robot [Mon, 23 May 2016 19:16:26 +0000 (19:16 +0000)]
Merge "Make all rt_sigtimedwait signatures match."

8 years agoMake all rt_sigtimedwait signatures match.
Elliott Hughes [Mon, 23 May 2016 18:11:12 +0000 (11:11 -0700)]
Make all rt_sigtimedwait signatures match.

There's no change to the generated stubs, because the script only cares
that this is a pointer type, not what it's a pointer to.

Change-Id: I766720965f0f3d201fc90677a076b26870485377

8 years agoDo not resolve caller_ns when it is not needed
Dimitry Ivanov [Mon, 23 May 2016 17:31:11 +0000 (10:31 -0700)]
Do not resolve caller_ns when it is not needed

create_namespace resolves caller namespace only
when caller did not explicitly specify parent namespace.

This saves about 25 microseconds for the case when
parent_namepsace is not null (for example when creating
second classloader for the app).

Bug: http://b/28801010
Change-Id: I50ded272c931db701e5a1d8c88ed5ffb13416539

8 years agoMerge "Updated to v4.4.11 kernel headers."
Christopher Ferris [Fri, 20 May 2016 01:27:47 +0000 (01:27 +0000)]
Merge "Updated to v4.4.11 kernel headers."

8 years agoUpdated to v4.4.11 kernel headers.
Christopher Ferris [Thu, 19 May 2016 23:36:40 +0000 (16:36 -0700)]
Updated to v4.4.11 kernel headers.

Change-Id: I6b55a921670d32d7bfff3c304d8001058409d3f7

8 years agoMerge "Do not check zip-entry validity on create_namespace"
Treehugger Robot [Thu, 19 May 2016 18:42:34 +0000 (18:42 +0000)]
Merge "Do not check zip-entry validity on create_namespace"

8 years agoDo not check zip-entry validity on create_namespace
Dimitry Ivanov [Thu, 19 May 2016 01:14:19 +0000 (18:14 -0700)]
Do not check zip-entry validity on create_namespace

This operation is the most expensive one and since it is
unlikely that the zip-entry name is invalid (given that it
is constructed by the platform) - it can removed.

The worst case scenario is dlopen() of non-existing libraries
taking more time. And this use-case is not on the critical path.

Bug: http://b/28801010
Change-Id: I10a6b0bf342404ab72f0f5102ebf19f6c06ee6bf
(cherry picked from commit a5c1c8e820ec3057f798f675bf8af19a4a29b396)

8 years agoMerge "Force clang for bionic"
Treehugger Robot [Wed, 18 May 2016 21:58:58 +0000 (21:58 +0000)]
Merge "Force clang for bionic"

8 years agoForce clang for bionic
Colin Cross [Wed, 18 May 2016 21:06:22 +0000 (14:06 -0700)]
Force clang for bionic

Bionic will only compile with clang, and Android.mk files force clang,
turn it on in Android.bp.

Change-Id: I9db06298adfeab4eeef031d88aa310776cad3af0

8 years agoMerge "linker: Allow caller to specify parent namespace"
Treehugger Robot [Tue, 17 May 2016 22:43:00 +0000 (22:43 +0000)]
Merge "linker: Allow caller to specify parent namespace"

8 years agoMerge "Fix dlopen of main executable by absolute path"
Dimitry Ivanov [Tue, 17 May 2016 22:25:48 +0000 (22:25 +0000)]
Merge "Fix dlopen of main executable by absolute path"

8 years agoFix dlopen of main executable by absolute path
Dimitry Ivanov [Tue, 17 May 2016 20:29:37 +0000 (13:29 -0700)]
Fix dlopen of main executable by absolute path

This CL adds initialization of inode for the main executable
which enables linker to resolve the correct soinfo when
application calls dlopen with absolute path to the
main executable.

Bug: http://b/28420266
Change-Id: I102e07bde454bd44c6e46075e3faeeb5092830d8

8 years agolinker: Allow caller to specify parent namespace
Dimitry Ivanov [Thu, 12 May 2016 22:20:21 +0000 (15:20 -0700)]
linker: Allow caller to specify parent namespace

This change enables apps to share libraries opened
with RTLD_GLOBAL between different classloader namespaces.

The new parameter to create_namespace allows native_loader
to instruct the linker to share libraries belonging to
global group from a specified namespace instead of
using the caller_ns.

Bug: http://b/28560538
Bug: https://code.google.com/p/android/issues/detail?id=208458
Change-Id: I5d0c62730bbed19cdeb16c7559c74aa262a2475f

8 years agoMerge "Regenerate NOTICE files."
Elliott Hughes [Tue, 17 May 2016 03:10:29 +0000 (03:10 +0000)]
Merge "Regenerate NOTICE files."

8 years agoMerge "Stop including <machine/cpu-features.h>."
Elliott Hughes [Tue, 17 May 2016 03:06:48 +0000 (03:06 +0000)]
Merge "Stop including <machine/cpu-features.h>."

8 years agoStop including <machine/cpu-features.h>.
Elliott Hughes [Tue, 17 May 2016 00:52:40 +0000 (17:52 -0700)]
Stop including <machine/cpu-features.h>.

We're not looking at __ARM_ARCH__, because we don't support ARMv6.

Bug: http://b/18556103
Change-Id: I91fe096af697dc842a57e97515312e3530743678

8 years agoRegenerate NOTICE files.
Elliott Hughes [Tue, 17 May 2016 00:35:36 +0000 (17:35 -0700)]
Regenerate NOTICE files.

Also clean up some near-miss copyright headers in libm, and remove
some cruft in <grp.h>/<pwd.h> that the script can't automatically
ignore since we stripped all the tabs in those files.

Change-Id: I10796c54dda1ceba87822ae0de26b5d71b54972b

8 years agoMerge "Use Android.soong.mk to handle mixed Android.mk and Android.bp dirs"
Colin Cross [Tue, 17 May 2016 00:42:17 +0000 (00:42 +0000)]
Merge "Use Android.soong.mk to handle mixed Android.mk and Android.bp dirs"

8 years agoMerge "Fix the <netinet/ether.h> tests."
Elliott Hughes [Tue, 17 May 2016 00:21:06 +0000 (00:21 +0000)]
Merge "Fix the <netinet/ether.h> tests."

8 years agoUse Android.soong.mk to handle mixed Android.mk and Android.bp dirs
Colin Cross [Mon, 16 May 2016 23:55:08 +0000 (16:55 -0700)]
Use Android.soong.mk to handle mixed Android.mk and Android.bp dirs

When building with soong Android.mk files are ignored in directories
that have Android.bp files.  Only parts of bionic have been converted to
Android.bp files, including some directories that have subdirectories
with Android.mk files.

Add Android.soong.mk files to include subdirectories to any directory
that has an Android.bp file but also has subdirectories with only
Android.mk files.

Change-Id: Ibd3c27d51c44f7a4b42dad0bc747e357b4ae34ca

8 years agoFix the <netinet/ether.h> tests.
Elliott Hughes [Mon, 16 May 2016 23:21:37 +0000 (16:21 -0700)]
Fix the <netinet/ether.h> tests.

Looks like I never ran these even once :-(

Change-Id: Ie488dec229cddf59a4f526b3c4e674ad4334c088

8 years agoMerge "Fix <resolv.h> and <netinet/tcp.h> so dnscap builds."
Elliott Hughes [Mon, 16 May 2016 21:59:50 +0000 (21:59 +0000)]
Merge "Fix <resolv.h> and <netinet/tcp.h> so dnscap builds."

8 years agoMerge "We have the _r ether_ntoa/ether_aton functions too."
Elliott Hughes [Mon, 16 May 2016 21:12:38 +0000 (21:12 +0000)]
Merge "We have the _r ether_ntoa/ether_aton functions too."

8 years agoFix <resolv.h> and <netinet/tcp.h> so dnscap builds.
Elliott Hughes [Mon, 16 May 2016 20:26:25 +0000 (13:26 -0700)]
Fix <resolv.h> and <netinet/tcp.h> so dnscap builds.

Some guy on the internet complained that dnscap doesn't build out of the box.
Now it does.

Bug: http://b/27839637
Change-Id: I8c4f22d3c3f8885a6fe06029d89ef68a15931027

8 years agoWe have the _r ether_ntoa/ether_aton functions too.
Elliott Hughes [Mon, 16 May 2016 20:24:31 +0000 (13:24 -0700)]
We have the _r ether_ntoa/ether_aton functions too.

We've also had them since H, not L.

Change-Id: Iee7633ea97a0ee9a00bf7b62ead315acf02a3c8e

8 years agoMerge "Fix our *ether* headers mess."
Elliott Hughes [Mon, 16 May 2016 20:00:09 +0000 (20:00 +0000)]
Merge "Fix our *ether* headers mess."

8 years agoFix our *ether* headers mess.
Elliott Hughes [Thu, 12 May 2016 20:11:28 +0000 (13:11 -0700)]
Fix our *ether* headers mess.

Move everything to where it should be.

Along the way, we lose <net/ethertypes.h>. glibc only has a handful of these
types, and they're all in <net/ethernet.h>, not <net/ethertypes.h>. I've taken
the liberty of not including the AppleTalk ones, since it is 2016.

Also, <net/if_ether.h> should be <netinet/if_ether.h> (though with different
contents).

Bug: http://b/28519060
Change-Id: Ia41c3fc136fd3e6b008c8d08018e0629134ea6fc

8 years agoMerge "Update Android.bp to match Android.mk"
Treehugger Robot [Thu, 12 May 2016 22:15:00 +0000 (22:15 +0000)]
Merge "Update Android.bp to match Android.mk"

8 years agoUpdate Android.bp to match Android.mk
Dan Willemsen [Thu, 12 May 2016 08:43:07 +0000 (01:43 -0700)]
Update Android.bp to match Android.mk

* Remove --exclude-libs ldflags (e29e99c51)
* Mips strlen check was inverted
* ARM specific libc changes only apply to the shared library
* Reorder libjemalloc and malloc_common to match Make's ordering (for
  better binary diffing)

Change-Id: Ib41bd47565b1e8fadd285daa7b337cff1edd0808

8 years agoMerge "Always update search domain paths."
Pierre Imai [Thu, 12 May 2016 02:51:23 +0000 (02:51 +0000)]
Merge "Always update search domain paths."

8 years agoMerge "Remove <net/if_types.h>."
Elliott Hughes [Thu, 12 May 2016 02:23:42 +0000 (02:23 +0000)]
Merge "Remove <net/if_types.h>."

8 years agoRemove <net/if_types.h>.
Elliott Hughes [Wed, 11 May 2016 22:00:19 +0000 (15:00 -0700)]
Remove <net/if_types.h>.

Bug: http://b/28519060
Change-Id: I7481df528b281344879b4aac32551d8c40824195

8 years agoMerge "Remove various bits of header cruft."
Elliott Hughes [Wed, 11 May 2016 21:25:01 +0000 (21:25 +0000)]
Merge "Remove various bits of header cruft."

8 years agoMerge "Remove linker-namespace functions from the header"
Dimitry Ivanov [Wed, 11 May 2016 21:14:41 +0000 (21:14 +0000)]
Merge "Remove linker-namespace functions from the header"

8 years agoAlways update search domain paths.
Pierre Imai [Fri, 6 May 2016 08:56:57 +0000 (17:56 +0900)]
Always update search domain paths.

_resolv_set_nameservers_for_net() so far did not update the search
paths, unless the servers changed as well.

BUG: 28437641
Change-Id: Id31f2d97c173e00357fb2ba95908afb4572c0fc1

8 years agoRemove various bits of header cruft.
Elliott Hughes [Wed, 11 May 2016 00:32:48 +0000 (17:32 -0700)]
Remove various bits of header cruft.

Mostly BSD _KERNEL stuff.

Change-Id: Ic0a6914437d0c831a83588a435079d0c719fcbdf

8 years agoMerge "Remove declaration of pthread_cond_timedwait_relative_np."
Elliott Hughes [Tue, 10 May 2016 19:54:16 +0000 (19:54 +0000)]
Merge "Remove declaration of pthread_cond_timedwait_relative_np."

8 years agoRemove linker-namespace functions from the header
Dimitry Ivanov [Tue, 10 May 2016 00:37:39 +0000 (17:37 -0700)]
Remove linker-namespace functions from the header

They are intended for platform use only and we shouldn't have them
in the public header file.

Bug: http://b/28174921
Change-Id: Ib9b3d0fa9442cfa2e784a693ad567d1444d774e5

8 years agoRemove declaration of pthread_cond_timedwait_relative_np.
Elliott Hughes [Mon, 9 May 2016 20:29:26 +0000 (13:29 -0700)]
Remove declaration of pthread_cond_timedwait_relative_np.

It's been deprecated long enough, and nothing left in the tree (except
code that isn't even built) is still using it.

Bug: http://b/27918161
Change-Id: Ibf824c1063d49484037de5c03b98bec5bdd4dcf6

8 years agoMerge "Remove pthread_mutex_lock_timeout_np from <pthread.h>."
Elliott Hughes [Mon, 9 May 2016 20:15:49 +0000 (20:15 +0000)]
Merge "Remove pthread_mutex_lock_timeout_np from <pthread.h>."

8 years agoMerge "Generalize the clone function slightly."
Elliott Hughes [Mon, 9 May 2016 20:14:50 +0000 (20:14 +0000)]
Merge "Generalize the clone function slightly."

8 years agoRemove pthread_mutex_lock_timeout_np from <pthread.h>.
Elliott Hughes [Sat, 7 May 2016 00:45:26 +0000 (17:45 -0700)]
Remove pthread_mutex_lock_timeout_np from <pthread.h>.

It's been deprecated long enough, and nothing left in the tree (except
code that isn't even built) is still using it.

Bug: http://b/27918161
Change-Id: I1786f5e2528a23c17b3f7298f4ba5fc7761a26c5

8 years agoGeneralize the clone function slightly.
Elliott Hughes [Fri, 6 May 2016 22:55:36 +0000 (15:55 -0700)]
Generalize the clone function slightly.

* Allow clone where both the child function and stack are null. It's
obviously wrong to ask to call a function without a stack, but it's not
necessarily wrong to supply no stack if you're also not supplying a
function.

* Reimplement fork in terms of the clone function, rather than using the
clone system call directly.

This is intended as a step towards enabling use of pid namespaces.

Change-Id: I03c89bd1dc540d8b4ed1c8fdf6644290744b9e91

8 years agoMerge "End all lists in check-symbols-glibc.py with a ,."
Treehugger Robot [Fri, 6 May 2016 23:35:21 +0000 (23:35 +0000)]
Merge "End all lists in check-symbols-glibc.py with a ,."

8 years agoMerge "Fix linker crash on trying to unload main executable"
Dimitry Ivanov [Fri, 6 May 2016 22:52:42 +0000 (22:52 +0000)]
Merge "Fix linker crash on trying to unload main executable"

8 years agoEnd all lists in check-symbols-glibc.py with a ,.
Elliott Hughes [Fri, 6 May 2016 22:44:26 +0000 (15:44 -0700)]
End all lists in check-symbols-glibc.py with a ,.

Change-Id: I85f591c51e32fa001e611a035e2e51305c837d22

8 years agoMerge "Remove a duplicate declaration, improve check-symbols-glibc.py."
Treehugger Robot [Fri, 6 May 2016 22:42:11 +0000 (22:42 +0000)]
Merge "Remove a duplicate declaration, improve check-symbols-glibc.py."

8 years agoMerge "Re-land "Fix invalid using decl in bionic relocation_packer""
Treehugger Robot [Fri, 6 May 2016 22:08:31 +0000 (22:08 +0000)]
Merge "Re-land "Fix invalid using decl in bionic relocation_packer""

8 years agoFix linker crash on trying to unload main executable
Dimitry Ivanov [Thu, 5 May 2016 00:19:14 +0000 (17:19 -0700)]
Fix linker crash on trying to unload main executable

Linker crashed if linking of the main executable fails
instead of aborting with readable error message.

This patch modifies unload to soinfo_unload it all at once
in this particular case. This helps avoid situations when
one of the libraries on the DT_NEEDED list of main executable
has gotten unloaded by previous library unload because it
DT_NEEDED it too.

Example (consider following dependency tree):
main_executable
|-> liba.so
  |-> libb.so
|-> libb.so

The list of the libraries need to be unloaded in this case
is [liba.so, libb.so], but if linker does unload one by one
by the time it gets to libb.so - the soinfo for the library
is already unloaded (and the segments were unmapped).

Passing everything as an array helps soinfo_unload to check
if a library was already unloaded by looking into local_unload_list.

Bug: http://b/28565608
Change-Id: I7199290e10a186057dcf3b7b68dbce954af7dba1

8 years agoRemove a duplicate declaration, improve check-symbols-glibc.py.
Elliott Hughes [Fri, 6 May 2016 21:43:50 +0000 (14:43 -0700)]
Remove a duplicate declaration, improve check-symbols-glibc.py.

Change-Id: I97a98dfc8acaa93172386b4475487a05a35a9337

8 years agoMerge "Remove --exclude-libs ldflags."
Treehugger Robot [Fri, 6 May 2016 21:41:26 +0000 (21:41 +0000)]
Merge "Remove --exclude-libs ldflags."

8 years agoRe-land "Fix invalid using decl in bionic relocation_packer"
rnk [Thu, 5 May 2016 23:44:34 +0000 (16:44 -0700)]
Re-land "Fix invalid using decl in bionic relocation_packer"

This time with more namespace qualification.

Tested manually by building clang_x64/android_relocation_packer locally,
as the Android trybot analyze step does not think it needs to run for
this change.

Original description:

> The code was essentially doing 'using Logger::INFO' in the global
> namespace to make its 'LOG(INFO)' macros work. Unfortunately, C++ does
> not allow you to use using decls on classes like this unless you are in
> a derived class. GCC does not accept this code, and Clang was recently
> updated (LLVM r268594) to reject it as well.
>
> This should fix the Chromium Android ASan build with TOT Clang:
> https://build.chromium.org/p/chromium.fyi/builders/ClangToTAndroidASan/

TBR=thakis@chromium.org,sgurun@chromium.org
BUG=609543

Review-Url: https://codereview.chromium.org/1952353005
Cr-Commit-Position: refs/heads/master@{#391952}
(cherry picked from commit 5762af8ad13e62957493c3e4314a234ee57a4200)

Change-Id: Ibc6f6023aef028c5029be128ac799dc67fc6683c

8 years agoRemove --exclude-libs ldflags.
Dan Albert [Fri, 18 Sep 2015 17:41:54 +0000 (10:41 -0700)]
Remove --exclude-libs ldflags.

This is now done by default in the build system.

The comments say don't do this, but we have linker scripts that
protect the few symbols we have to actually keep now.

Bug: http://b/24166967
Change-Id: Iff1beeb0f54f80b23fb1561f37a39f208e0bf676

8 years agoMerge "Use clang's nullability instead of nonnull."
Treehugger Robot [Fri, 6 May 2016 02:27:17 +0000 (02:27 +0000)]
Merge "Use clang's nullability instead of nonnull."

8 years agoUse clang's nullability instead of nonnull.
Dan Albert [Thu, 13 Aug 2015 23:58:50 +0000 (16:58 -0700)]
Use clang's nullability instead of nonnull.

http://clang.llvm.org/docs/AttributeReference.html#nonnull

_Nonnull is similar to the nonnull attribute in that it will instruct
compilers to warn the user if it can prove that a null argument is
being passed. Unlike the nonnull attribute, this annotation indicated
that a value *should not* be null, not that it *cannot* be null, or
even that the behavior is undefined. The important distinction is that
the optimizer will perform surprising optimizations like the
following:

    void foo(void*) __attribute__(nonnull, 1);

    int bar(int* p) {
      foo(p);

      // The following null check will be elided because nonnull
      // attribute means that, since we call foo with p, p can be
      // assumed to not be null. Thus this will crash if we are called
      // with a null pointer.
      if (src != NULL) {
        return *p;
      }
      return 0;
    }

    int main() {
      return bar(NULL);
    }

Note that by doing this we are no longer attaching any sort of
attribute for GCC (GCC doesn't support attaching nonnull directly to a
parameter, only to the function and naming the arguments
positionally). This means we won't be getting a warning for this case
from GCC any more. People that listen to warnings tend to use clang
anyway, and we're quickly moving toward that as the default, so this
seems to be an acceptable tradeoff.

Change-Id: Ie05fe7cec2f19a082c1defb303f82bcf9241b88d

8 years agoMerge "Remove <sys/atomics.h>."
Elliott Hughes [Thu, 5 May 2016 23:55:03 +0000 (23:55 +0000)]
Merge "Remove <sys/atomics.h>."

8 years agoMerge "Update Android.bp to match Android.mk"
Colin Cross [Wed, 4 May 2016 20:41:17 +0000 (20:41 +0000)]
Merge "Update Android.bp to match Android.mk"

8 years agoUpdate Android.bp to match Android.mk
Colin Cross [Wed, 4 May 2016 00:09:38 +0000 (17:09 -0700)]
Update Android.bp to match Android.mk

Change-Id: Idaaf5019599739c50f387382ca6749af968d7095

8 years agoMerge "Fix google-explicit-constructor warnings."
Chih-hung Hsieh [Wed, 4 May 2016 00:37:58 +0000 (00:37 +0000)]
Merge "Fix google-explicit-constructor warnings."

8 years agoMerge "Update strip property format"
Colin Cross [Tue, 3 May 2016 21:20:42 +0000 (21:20 +0000)]
Merge "Update strip property format"

8 years agoMerge "Update documentation to work with gitiles."
Christopher Ferris [Tue, 3 May 2016 19:47:47 +0000 (19:47 +0000)]
Merge "Update documentation to work with gitiles."

8 years agoFix google-explicit-constructor warnings.
Chih-Hung Hsieh [Tue, 3 May 2016 19:08:05 +0000 (12:08 -0700)]
Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: I84effbdfa1b9b39328a909b7f70fe17e7ee316c8

8 years agoMerge "Move <machine/endian.h> somewhere more private."
Elliott Hughes [Tue, 3 May 2016 00:45:38 +0000 (00:45 +0000)]
Merge "Move <machine/endian.h> somewhere more private."

8 years agoMerge "Update Android.bp to match Android.mk"
Treehugger Robot [Mon, 2 May 2016 23:19:20 +0000 (23:19 +0000)]
Merge "Update Android.bp to match Android.mk"

8 years agoRemove <sys/atomics.h>.
Elliott Hughes [Mon, 2 May 2016 23:03:10 +0000 (16:03 -0700)]
Remove <sys/atomics.h>.

It's no longer used in the platform (including vendor code), and everyone
should be using <stdatomic.h> anyway.

Change-Id: Ic1ad743625ffb15b4837ff6ccb91dcd840d19ec2

8 years agoMove <machine/endian.h> somewhere more private.
Elliott Hughes [Mon, 2 May 2016 21:55:28 +0000 (14:55 -0700)]
Move <machine/endian.h> somewhere more private.

Bug: http://b/28519060
Change-Id: I1c7811f95f46c65d4152bcf509b6e048c45bc28b

8 years agoMerge "Move glibc-syscalls.h into bits/."
Elliott Hughes [Mon, 2 May 2016 22:41:34 +0000 (22:41 +0000)]
Merge "Move glibc-syscalls.h into bits/."

8 years agoMerge "Remove <sys/utime.h>."
Elliott Hughes [Mon, 2 May 2016 21:35:14 +0000 (21:35 +0000)]
Merge "Remove <sys/utime.h>."

8 years agoMerge "Move the IEEE fp header out of the public headers."
Elliott Hughes [Mon, 2 May 2016 21:22:31 +0000 (21:22 +0000)]
Merge "Move the IEEE fp header out of the public headers."