OSDN Git Service

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

8 years agoMerge "Add better free tracking."
Christopher Ferris [Tue, 2 Feb 2016 20:40:36 +0000 (20:40 +0000)]
Merge "Add better free tracking."

8 years agoMerge changes I8ca219fa,Ia92d35b1
Greg Hackmann [Tue, 2 Feb 2016 18:09:25 +0000 (18:09 +0000)]
Merge changes I8ca219fa,Ia92d35b1
am: 5992e5fb6d

* commit '5992e5fb6da2722fb4c3850048f71ef077735381':
  socket.h: update AF_* constants
  Add adjtimex

8 years agoMerge changes I8ca219fa,Ia92d35b1
Greg Hackmann [Tue, 2 Feb 2016 18:03:35 +0000 (18:03 +0000)]
Merge changes I8ca219fa,Ia92d35b1

* changes:
  socket.h: update AF_* constants
  Add adjtimex

8 years agosocket.h: update AF_* constants
Greg Hackmann [Thu, 28 Jan 2016 19:07:26 +0000 (11:07 -0800)]
socket.h: update AF_* constants

Change-Id: I8ca219fa429ca8d8f872ed1db98275cd1a06f00b
Signed-off-by: Greg Hackmann <ghackmann@google.com>
8 years agoAdd better free tracking.
Christopher Ferris [Fri, 29 Jan 2016 02:35:05 +0000 (18:35 -0800)]
Add better free tracking.

Included in this change:

- Change the tag when a pointer is freed so it's easy to detect if
  an already freed pointer is being used.
- Move the free backtrace out of the header. This backtrace is only
  used under only some circumstances, so no need to allocate space
  in all headers for it.
- Add new option free_track_backtrace_num_frames to specify how many
  frames to record when the free occurs. This removes the dependency
  on the backtrace option to get backtraces.

Bug: 26739265
Change-Id: I76f5209507dcf46af67ada162a7cb2bf282116f2

8 years agoMerge "Tell kati about generated dependencies around crt"
Shinichiro Hamaji [Fri, 29 Jan 2016 06:42:46 +0000 (06:42 +0000)]
Merge "Tell kati about generated dependencies around crt"
am: 37591462fa

* commit '37591462fa76791c2372d789c3532c7cd0ca7a84':
  Tell kati about generated dependencies around crt

8 years agoMerge "Tell kati about generated dependencies around crt"
Shinichiro Hamaji [Fri, 29 Jan 2016 06:37:46 +0000 (06:37 +0000)]
Merge "Tell kati about generated dependencies around crt"

8 years agoMerge "Add min/max values for config values."
Christopher Ferris [Fri, 29 Jan 2016 02:35:26 +0000 (02:35 +0000)]
Merge "Add min/max values for config values."
am: 50647711eb

* commit '50647711ebaf2360aca05cc94a2fdf431c1a153e':
  Add min/max values for config values.

8 years agoMerge "Add min/max values for config values."
Christopher Ferris [Fri, 29 Jan 2016 02:31:07 +0000 (02:31 +0000)]
Merge "Add min/max values for config values."

8 years agoAdd adjtimex
Greg Hackmann [Thu, 28 Jan 2016 01:13:51 +0000 (17:13 -0800)]
Add adjtimex

Change-Id: Ia92d35b1851e73c9f157a749dba1e98f68309a8d
Signed-off-by: Greg Hackmann <ghackmann@google.com>
8 years agoTell kati about generated dependencies around crt
Shinichiro Hamaji [Thu, 28 Jan 2016 10:39:50 +0000 (19:39 +0900)]
Tell kati about generated dependencies around crt

This was a regression since kati has been introduced. Without
this, touching libc/arch-common/bionic/__dso_handle.h doesn't
let ninja rebuild object files.

Bug: 26839129
Change-Id: Ie9ef4559c0d1ff0910a4d250ea36938b291d15db

8 years agoMerge "linker: mark library .bss pages with anon:.bss"
Dimitry Ivanov [Thu, 28 Jan 2016 03:54:26 +0000 (03:54 +0000)]
Merge "linker: mark library .bss pages with anon:.bss"
am: 0e915b294b

* commit '0e915b294b2b1f0d20cd1b9a4e1721d59ccbfa7a':
  linker: mark library .bss pages with anon:.bss

8 years agoMerge "linker: mark library .bss pages with anon:.bss"
Dimitry Ivanov [Thu, 28 Jan 2016 03:50:24 +0000 (03:50 +0000)]
Merge "linker: mark library .bss pages with anon:.bss"

8 years agoAdd min/max values for config values.
Christopher Ferris [Thu, 28 Jan 2016 01:23:36 +0000 (17:23 -0800)]
Add min/max values for config values.

This is to only allow realistic values for some of the options.

Bug: 26739265

Change-Id: I172d5401c27e5d638d80f1c93c678c26c4dae0fc

8 years agolinker: mark library .bss pages with anon:.bss
Dimitry Ivanov [Thu, 28 Jan 2016 02:12:03 +0000 (18:12 -0800)]
linker: mark library .bss pages with anon:.bss

Bug: http://b/26778774
Change-Id: Ie2cdd841b7238de50ef389a897d79f915229616b

8 years agoMerge changes I7dc213e9,I2928d682
Dimitry Ivanov [Wed, 27 Jan 2016 23:39:36 +0000 (23:39 +0000)]
Merge changes I7dc213e9,I2928d682
am: fd799baf81

* commit 'fd799baf81e7642f2d91968ba01c39f097c0f357':
  Hide '__moddi3' symbol for x86 and mips
  Hide '__isthreaded' for lp64 libc.so

8 years agoMerge changes I7dc213e9,I2928d682
Dimitry Ivanov [Wed, 27 Jan 2016 23:36:18 +0000 (23:36 +0000)]
Merge changes I7dc213e9,I2928d682

* changes:
  Hide '__moddi3' symbol for x86 and mips
  Hide '__isthreaded' for lp64 libc.so

8 years agoHide '__moddi3' symbol for x86 and mips
Dimitry Ivanov [Wed, 27 Jan 2016 23:12:19 +0000 (15:12 -0800)]
Hide '__moddi3' symbol for x86 and mips

Bug: http://b/26805673
Change-Id: I7dc213e9f25510a2a74a30e8c43fd7a64cb3dbdb

8 years agoHide '__isthreaded' for lp64 libc.so
Dimitry Ivanov [Wed, 27 Jan 2016 22:54:36 +0000 (14:54 -0800)]
Hide '__isthreaded' for lp64 libc.so

Bug: http://b/26805673
Change-Id: I2928d68287894be9f9ae7ed1858af512d8c80a3b

8 years agoMerge "Remove unused file."
Christopher Ferris [Wed, 27 Jan 2016 20:29:18 +0000 (20:29 +0000)]
Merge "Remove unused file."
am: e4daf100b3

* commit 'e4daf100b33fb17936b4d61e0ddfe679fcd04123':
  Remove unused file.

8 years agoMerge "Remove unused file."
Christopher Ferris [Wed, 27 Jan 2016 20:25:55 +0000 (20:25 +0000)]
Merge "Remove unused file."

8 years agoRemove unused file.
Christopher Ferris [Wed, 27 Jan 2016 18:58:36 +0000 (10:58 -0800)]
Remove unused file.

This file should have been deleted with the malloc debug rewrite, but
popped back into existence due to a merge conflict.

Change-Id: I74e53daaf3febf650b20e3da5329558ac84c5bcd

8 years agoMerge "Fix a sign extension bug in stdio."
Elliott Hughes [Wed, 27 Jan 2016 02:42:09 +0000 (02:42 +0000)]
Merge "Fix a sign extension bug in stdio."
am: 172420e6a2

* commit '172420e6a2c5af527984a3a3a51f60a48b06ae9a':
  Fix a sign extension bug in stdio.

8 years agoMerge "Fix a sign extension bug in stdio."
Elliott Hughes [Wed, 27 Jan 2016 02:38:46 +0000 (02:38 +0000)]
Merge "Fix a sign extension bug in stdio."

8 years agoMerge "Unify names for pages allocated for small objects"
Dimitry Ivanov [Wed, 27 Jan 2016 02:31:58 +0000 (02:31 +0000)]
Merge "Unify names for pages allocated for small objects"
am: eecae0a359

* commit 'eecae0a3598b9f9946b452107c54678da77c7226':
  Unify names for pages allocated for small objects

8 years agoMerge "Unify names for pages allocated for small objects"
Dimitry Ivanov [Wed, 27 Jan 2016 02:28:41 +0000 (02:28 +0000)]
Merge "Unify names for pages allocated for small objects"

8 years agoFix a sign extension bug in stdio.
Elliott Hughes [Wed, 27 Jan 2016 02:25:52 +0000 (18:25 -0800)]
Fix a sign extension bug in stdio.

This also lets us test the EOVERFLOW behavior, which pointed out that the
fgetpos/fsetpos return on failure has always been wrong...

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

8 years agoUnify names for pages allocated for small objects
Dimitry Ivanov [Wed, 27 Jan 2016 01:53:17 +0000 (17:53 -0800)]
Unify names for pages allocated for small objects

Bug: http://b/26776399
Change-Id: Id5b6f143a526cecca56de18ddad8857dfa1dd165

8 years agoMerge "Replace snprintf() with __libc_format_buffer()"
Tom Cherry [Wed, 27 Jan 2016 00:14:59 +0000 (00:14 +0000)]
Merge "Replace snprintf() with __libc_format_buffer()"
am: 194860a9e6

* commit '194860a9e638b1d093857f08b8fad37c9ec0e113':
  Replace snprintf() with __libc_format_buffer()

8 years agoMerge "Replace snprintf() with __libc_format_buffer()"
Tom Cherry [Wed, 27 Jan 2016 00:09:52 +0000 (00:09 +0000)]
Merge "Replace snprintf() with __libc_format_buffer()"

8 years agoReplace snprintf() with __libc_format_buffer()
Tom Cherry [Tue, 26 Jan 2016 23:27:07 +0000 (15:27 -0800)]
Replace snprintf() with __libc_format_buffer()

If snprintf() is called from the linker, it may erroneously return a
null string.  The libc internal __libc_format_buffer() does not have
this problem, so it is now used instead.

Bug: 26756577

Change-Id: I37a97e27f59b3c0a087f54a6603cc3aff7f07522

8 years agoMerge "Implement funopen64."
Elliott Hughes [Tue, 26 Jan 2016 23:34:52 +0000 (23:34 +0000)]
Merge "Implement funopen64."
am: 896224aa7f

* commit '896224aa7f307b6c53d8c4dfa0b0e3556b3b9fda':
  Implement funopen64.

8 years agoMerge "Implement funopen64."
Elliott Hughes [Tue, 26 Jan 2016 23:26:43 +0000 (23:26 +0000)]
Merge "Implement funopen64."

8 years agoMerge "Fix lockf for LP32."
Elliott Hughes [Tue, 26 Jan 2016 23:13:07 +0000 (23:13 +0000)]
Merge "Fix lockf for LP32."
am: a449fafc89

* commit 'a449fafc894c47305b49087d995e821e878e59c1':
  Fix lockf for LP32.

8 years agoMerge "Move android_ network functions to LIBC_PRIVATE"
Dimitry Ivanov [Tue, 26 Jan 2016 23:13:02 +0000 (23:13 +0000)]
Merge "Move android_ network functions to LIBC_PRIVATE"
am: 3a33b52981

* commit '3a33b5298101e959c83ea60003618d3052d0adfe':
  Move android_ network functions to LIBC_PRIVATE

8 years agoMerge "Fix lockf for LP32."
Elliott Hughes [Tue, 26 Jan 2016 22:56:36 +0000 (22:56 +0000)]
Merge "Fix lockf for LP32."

8 years agoMerge "Move android_ network functions to LIBC_PRIVATE"
Dimitry Ivanov [Tue, 26 Jan 2016 22:47:56 +0000 (22:47 +0000)]
Merge "Move android_ network functions to LIBC_PRIVATE"

8 years agoImplement funopen64.
Elliott Hughes [Tue, 26 Jan 2016 22:13:04 +0000 (14:13 -0800)]
Implement funopen64.

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

8 years agoMove android_ network functions to LIBC_PRIVATE
Dimitry Ivanov [Tue, 26 Jan 2016 22:07:32 +0000 (14:07 -0800)]
Move android_ network functions to LIBC_PRIVATE

Make following functions platform-private:
 android_getaddrinfofornet
 android_getaddrinfofornetcontext
 android_gethostbyaddrfornet
 android_gethostbynamefornet

Bug: http://b/26794226
Change-Id: I0855b0b82721e4d24e918508931b4d5587fcae7d

8 years agoFix lockf for LP32.
Elliott Hughes [Tue, 26 Jan 2016 22:32:55 +0000 (14:32 -0800)]
Fix lockf for LP32.

Bug: http://b/13077650
Change-Id: Ibbe2d907d23791c908475e0875a5c745ac948813

8 years agoMerge "Factor out the waiting for children in bionic tests."
Elliott Hughes [Tue, 26 Jan 2016 21:35:13 +0000 (21:35 +0000)]
Merge "Factor out the waiting for children in bionic tests."
am: ced73ee45e

* commit 'ced73ee45e04a991ce1295a38364568a17884eed':
  Factor out the waiting for children in bionic tests.

8 years agoMerge "Factor out the waiting for children in bionic tests."
Elliott Hughes [Tue, 26 Jan 2016 21:32:13 +0000 (21:32 +0000)]
Merge "Factor out the waiting for children in bionic tests."

8 years agoFactor out the waiting for children in bionic tests.
Elliott Hughes [Tue, 26 Jan 2016 21:04:57 +0000 (13:04 -0800)]
Factor out the waiting for children in bionic tests.

Change-Id: I4a1e51b6920b33dc892d447f5bd6d10f1cb2704a

8 years agoMerge "Support _FILE_OFFSET_BITS=64 for most of <stdio.h>."
Elliott Hughes [Tue, 26 Jan 2016 20:56:44 +0000 (20:56 +0000)]
Merge "Support _FILE_OFFSET_BITS=64 for most of <stdio.h>."
am: 94bb0fab93

* commit '94bb0fab931102f1fcf393aa507a6b77b741844f':
  Support _FILE_OFFSET_BITS=64 for most of <stdio.h>.

8 years agoMerge "Support _FILE_OFFSET_BITS=64 for most of <stdio.h>."
Elliott Hughes [Tue, 26 Jan 2016 20:51:59 +0000 (20:51 +0000)]
Merge "Support _FILE_OFFSET_BITS=64 for most of <stdio.h>."

8 years agoMerge "Implement POSIX lockf."
Elliott Hughes [Tue, 26 Jan 2016 20:50:39 +0000 (20:50 +0000)]
Merge "Implement POSIX lockf."
am: d9bb708575

* commit 'd9bb70857577808c197030e7f5422ee1f976f3ac':
  Implement POSIX lockf.

8 years agoMerge "Implement POSIX lockf."
Elliott Hughes [Tue, 26 Jan 2016 20:45:32 +0000 (20:45 +0000)]
Merge "Implement POSIX lockf."

8 years agoImplement POSIX lockf.
Elliott Hughes [Tue, 26 Jan 2016 02:06:24 +0000 (18:06 -0800)]
Implement POSIX lockf.

This has been requested a few times over the years. This is basically
a very late rebase of https://android-review.googlesource.com/45470
which was abandoned years ago. One addition is that this version has
_FILE_OFFSET_BITS=64 support.

POSIX puts this in <unistd.h>. glibc also has it in <fcntl.h>.

Bug: http://b/13077650
Change-Id: I5862b1dc326e326c01ad92438ecc1578d19ba739

8 years agoSupport _FILE_OFFSET_BITS=64 for most of <stdio.h>.
Elliott Hughes [Mon, 25 Jan 2016 23:50:59 +0000 (15:50 -0800)]
Support _FILE_OFFSET_BITS=64 for most of <stdio.h>.

This doesn't address funopen, but does add fgetpos/fsetpos/fseeko/ftello.

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

8 years agoMerge "Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23."""
Yabin Cui [Tue, 26 Jan 2016 02:24:21 +0000 (02:24 +0000)]
Merge "Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23."""
am: e1497902c1

* commit 'e1497902c13ceafa88ae4af634de33c9b4e0ed0b':
  Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""

8 years agoMerge "Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23."""
Yabin Cui [Tue, 26 Jan 2016 02:20:24 +0000 (02:20 +0000)]
Merge "Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23."""

8 years agoRevert "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""
Yabin Cui [Tue, 26 Jan 2016 01:38:44 +0000 (17:38 -0800)]
Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""

This reverts commit 6d5108520225fd2c4b10ca63565545ec120aab4a.
And add missing bionic_sdk_version.h.

Change-Id: I24cc738b1fd1d26234c52afbc787f5b3c4a9c9cb

8 years agoMerge "Fix gcc test issues."
Christopher Ferris [Tue, 26 Jan 2016 01:38:25 +0000 (01:38 +0000)]
Merge "Fix gcc test issues."
am: 126cf324a3

* commit '126cf324a39689e0c16cf815d0fb01f2bc18df05':
  Fix gcc test issues.

8 years agoMerge "Fix gcc test issues."
Christopher Ferris [Tue, 26 Jan 2016 01:35:03 +0000 (01:35 +0000)]
Merge "Fix gcc test issues."

8 years agoFix gcc test issues.
Christopher Ferris [Tue, 26 Jan 2016 01:23:38 +0000 (17:23 -0800)]
Fix gcc test issues.

Change-Id: I2b26b779f5198c7c9362a452b971260a8852aa7b

8 years agoMerge "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""
Elliott Hughes [Tue, 26 Jan 2016 00:37:02 +0000 (00:37 +0000)]
Merge "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""
am: ac67b4eb7c

* commit 'ac67b4eb7c70ea668abb32298b0cb16920a32a66':
  Revert "Make sem_wait able to return errno EINTR for sdk > 23."

8 years agoMerge "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""
Elliott Hughes [Tue, 26 Jan 2016 00:32:38 +0000 (00:32 +0000)]
Merge "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""

8 years agoRevert "Make sem_wait able to return errno EINTR for sdk > 23."
Dan Albert [Tue, 26 Jan 2016 00:20:06 +0000 (00:20 +0000)]
Revert "Make sem_wait able to return errno EINTR for sdk > 23."

Broke the build. There's no such file as bionic_sdk_version.h anywhere in the tree.

This reverts commit 892b61d3409e8cdf0e121c688737eb058d57f7ab.

Change-Id: Iec3f4588edfb1d1524bb5f16451fd05dc6ebe44a

8 years agoMerge "Make sem_wait able to return errno EINTR for sdk > 23."
Yabin Cui [Mon, 25 Jan 2016 23:43:14 +0000 (23:43 +0000)]
Merge "Make sem_wait able to return errno EINTR for sdk > 23."
am: c96b6e1747

* commit 'c96b6e1747c5b5ca154bada84ec0a3868540e96f':
  Make sem_wait able to return errno EINTR for sdk > 23.

8 years agoMerge "Make sem_wait able to return errno EINTR for sdk > 23."
Yabin Cui [Mon, 25 Jan 2016 23:39:29 +0000 (23:39 +0000)]
Merge "Make sem_wait able to return errno EINTR for sdk > 23."

8 years agoMerge "Fix build for gcc."
Christopher Ferris [Mon, 25 Jan 2016 22:48:44 +0000 (22:48 +0000)]
Merge "Fix build for gcc."
am: e40e429753

* commit 'e40e429753cfe84fee0aaf553b57ce8679a28c9d':
  Fix build for gcc.

8 years agoMerge "Fix build for gcc."
Christopher Ferris [Mon, 25 Jan 2016 22:44:56 +0000 (22:44 +0000)]
Merge "Fix build for gcc."

8 years agoFix build for gcc.
Christopher Ferris [Mon, 25 Jan 2016 22:36:34 +0000 (14:36 -0800)]
Fix build for gcc.

Gcc doesn't like the brace object initialization, so make all of
the Feature objects explicit.

Also, no arguments to the error_log macros make gcc unhappy, so add
an option to turn these into warnings. These will be fixed when we
add the explicit _error and _warn log functions.

Change-Id: I35af834dabb5548923e893dd980a751fdebfa13a

8 years agoMake sem_wait able to return errno EINTR for sdk > 23.
Yabin Cui [Mon, 25 Jan 2016 19:37:16 +0000 (11:37 -0800)]
Make sem_wait able to return errno EINTR for sdk > 23.

Posix standards says sem_wait is interruptible by the delivery
of a signal. To keep compatiblity with old apps, only fix that
in newer sdk versions.

Bug: 26743454

Change-Id: I924cbb436658e3e0f397c922d866ece99b8241a3

8 years agoMerge "Malloc debug rewrite."
Christopher Ferris [Mon, 25 Jan 2016 20:52:58 +0000 (20:52 +0000)]
Merge "Malloc debug rewrite."
am: 0f7631fd92

* commit '0f7631fd92fb431ed74c5a63588d87f652b3ef77':
  Malloc debug rewrite.

8 years agoMerge "Malloc debug rewrite."
Christopher Ferris [Mon, 25 Jan 2016 20:48:29 +0000 (20:48 +0000)]
Merge "Malloc debug rewrite."

8 years agoMerge "Move internal FILE flags macros to "local.h" from <stdio.h>."
Elliott Hughes [Mon, 25 Jan 2016 19:37:55 +0000 (19:37 +0000)]
Merge "Move internal FILE flags macros to "local.h" from <stdio.h>."
am: 7150e5a8ef

* commit '7150e5a8ef7c5f5c77720db7961e170580db08ea':
  Move internal FILE flags macros to "local.h" from <stdio.h>.

8 years agoMerge "Include libz for new libelf."
Chih-hung Hsieh [Mon, 25 Jan 2016 19:37:51 +0000 (19:37 +0000)]
Merge "Include libz for new libelf."
am: 5491d489fe

* commit '5491d489fef85bd31287aa05f3dfe5d5c2ff4a28':
  Include libz for new libelf.

8 years agoMerge "Move internal FILE flags macros to "local.h" from <stdio.h>."
Elliott Hughes [Mon, 25 Jan 2016 19:35:36 +0000 (19:35 +0000)]
Merge "Move internal FILE flags macros to "local.h" from <stdio.h>."

8 years agoMerge "Include libz for new libelf."
Chih-hung Hsieh [Mon, 25 Jan 2016 19:31:23 +0000 (19:31 +0000)]
Merge "Include libz for new libelf."

8 years agoInclude libz for new libelf.
Chih-Hung Hsieh [Mon, 25 Jan 2016 18:28:26 +0000 (10:28 -0800)]
Include libz for new libelf.

New external/elfutils needs libz.

Change-Id: Ib2f2d56d4831809509a0fb3a849656f68adece7f

8 years agoMove internal FILE flags macros to "local.h" from <stdio.h>.
Elliott Hughes [Mon, 25 Jan 2016 19:10:47 +0000 (11:10 -0800)]
Move internal FILE flags macros to "local.h" from <stdio.h>.

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

8 years agoMerge "Add _seek64 to FILE."
Elliott Hughes [Mon, 25 Jan 2016 18:55:18 +0000 (18:55 +0000)]
Merge "Add _seek64 to FILE."
am: ad9c3f34f7

* commit 'ad9c3f34f762ed45cce5dbb93218124ed31f6873':
  Add _seek64 to FILE.

8 years agoMalloc debug rewrite.
Christopher Ferris [Tue, 17 Nov 2015 01:30:32 +0000 (17:30 -0800)]
Malloc debug rewrite.

The major components of the rewrite:

- Completely remove the qemu shared library code. Nobody was using it
  and it appears to have broken at some point.
- Adds the ability to enable/disable different options independently.
- Adds a new option that can enable the backtrace on alloc/free when
  a process gets a specific signal.
- Adds a new way to enable malloc debug. If a special property is
  set, and the process has an environment variable set, then debug
  malloc will be enabled. This allows something that might be
  a derivative of app_process to be started with an environment variable
  being enabled.
- get_malloc_leak_info() used to return one element for each pointer that
  had the exact same backtrace. The new version returns information for
  every one of the pointers with same backtrace. It turns out ddms already
  automatically coalesces these, so the old method simply hid the fact
  that there where multiple pointers with the same amount of backtrace.
- Moved all of the malloc debug specific code into the library.
  Nothing related to the malloc debug data structures remains in libc.
- Removed the calls to the debug malloc cleanup routine. Instead, I
  added an atexit call with the debug malloc cleanup routine. This gets
  around most problems related to the timing of doing the cleanup.

The new properties and environment variables:

libc.debug.malloc.options
  Set by option name (such as "backtrace"). Setting this to a bad value
  will cause a usage statement to be printed to the log.

libc.debug.malloc.program
  Same as before. If this is set, then only the program named will
  be launched with malloc debug enabled. This is not a complete match,
  but if any part of the property is in the program name, malloc debug is
  enabled.

libc.debug.malloc.env_enabled
  If set, then malloc debug is only enabled if the running process has the
  environment variable LIBC_DEBUG_MALLOC_ENABLE set.

Bug: 19145921

Change-Id: I7b0e58cc85cc6d4118173fe1f8627a391b64c0d7

8 years agoMerge "Add _seek64 to FILE."
Elliott Hughes [Mon, 25 Jan 2016 18:50:41 +0000 (18:50 +0000)]
Merge "Add _seek64 to FILE."

8 years agoMerge "Remove dlmalloc."
Josh Gao [Mon, 25 Jan 2016 18:50:26 +0000 (18:50 +0000)]
Merge "Remove dlmalloc."
am: c650447239

* commit 'c650447239352d43acc2fd99a8579a85ae0469ab':
  Remove dlmalloc.

8 years agoMerge "Remove dlmalloc."
Josh Gao [Mon, 25 Jan 2016 18:42:55 +0000 (18:42 +0000)]
Merge "Remove dlmalloc."

8 years agoMerge "Add another stdio test."
Elliott Hughes [Mon, 25 Jan 2016 18:34:53 +0000 (18:34 +0000)]
Merge "Add another stdio test."
am: 05db62657b

* commit '05db62657b7f44e303fb47fb502555059eb6ec61':
  Add another stdio test.

8 years agoMerge "Add another stdio test."
Elliott Hughes [Mon, 25 Jan 2016 18:31:35 +0000 (18:31 +0000)]
Merge "Add another stdio test."

8 years agoRemove dlmalloc.
Josh Gao [Thu, 7 Jan 2016 01:57:44 +0000 (17:57 -0800)]
Remove dlmalloc.

Bug: http://b/17207577
Change-Id: Ie009badca6deb1f91b27a4340b70cdd6bedff893

8 years agoAdd _seek64 to FILE.
Elliott Hughes [Fri, 22 Jan 2016 23:04:51 +0000 (15:04 -0800)]
Add _seek64 to FILE.

Move fdopen/fopen/freopen and change them to initialize _seek64 instead
of the legacy _seek. The in-memory streams can stick with _seek for now,
since you're not going to fit a > 4GiB in-memory stream on a 32-bit device
anyway.

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

8 years agoMerge "Put struct FILE back how NDK-built apps expect it."
Elliott Hughes [Sat, 23 Jan 2016 05:00:12 +0000 (05:00 +0000)]
Merge "Put struct FILE back how NDK-built apps expect it."
am: 8fb40bad49

* commit '8fb40bad496c680b5ca644dbf6a2ada79a239eee':
  Put struct FILE back how NDK-built apps expect it.

8 years agoMerge "Put struct FILE back how NDK-built apps expect it."
Elliott Hughes [Sat, 23 Jan 2016 04:50:40 +0000 (04:50 +0000)]
Merge "Put struct FILE back how NDK-built apps expect it."

8 years agoPut struct FILE back how NDK-built apps expect it.
Elliott Hughes [Sat, 23 Jan 2016 03:18:48 +0000 (19:18 -0800)]
Put struct FILE back how NDK-built apps expect it.

The first rule of stdio is you never change struct FILE. This broke all
NDK-built apps that used stdin/stdout/stderr. (Which is more than you
might think, given that those streams don't go anywhere useful. Svelte!)

I've added a big code comment because I knew when I removed the field that
doing so was a mistake, but I couldn't think why.

Bug: http://b/24807045
Bug: http://b/26747402
Change-Id: Ie1233586b223bb1cdf8e354c66d5ff23487a833a

8 years agoAdd another stdio test.
Elliott Hughes [Sat, 23 Jan 2016 03:22:44 +0000 (19:22 -0800)]
Add another stdio test.

This test didn't catch anything, but it does ensure that we exercise
the "lots of files" case.

Bug: http://b/26747402
Change-Id: I6c51c6436029572a49190d509f131eb93b808652

8 years agoMerge "Revert "Temporary apply LIBC version to __pthread_gettid""
Dimitry Ivanov [Fri, 22 Jan 2016 18:46:46 +0000 (18:46 +0000)]
Merge "Revert "Temporary apply LIBC version to __pthread_gettid""
am: a42483baad

* commit 'a42483baad9a37297e6bbbe02d433ecbde890386':
  Revert "Temporary apply LIBC version to __pthread_gettid"

8 years agoMerge "Revert "Temporary apply LIBC version to __pthread_gettid""
Dimitry Ivanov [Fri, 22 Jan 2016 18:38:08 +0000 (18:38 +0000)]
Merge "Revert "Temporary apply LIBC version to __pthread_gettid""