OSDN Git Service

android-x86/bionic.git
9 years agoam 4cafa3ce: Merge "Implement LinkedList::visit()"
Dmitriy Ivanov [Tue, 2 Sep 2014 17:15:38 +0000 (17:15 +0000)]
am 4cafa3ce: Merge "Implement LinkedList::visit()"

* commit '4cafa3ce808419325eefbb8013d21a919e2aabda':
  Implement LinkedList::visit()

9 years agoMerge "Implement LinkedList::visit()"
Dmitriy Ivanov [Tue, 2 Sep 2014 16:54:14 +0000 (16:54 +0000)]
Merge "Implement LinkedList::visit()"

9 years agoImplement LinkedList::visit()
Dmitriy Ivanov [Tue, 2 Sep 2014 16:45:40 +0000 (09:45 -0700)]
Implement LinkedList::visit()

Change-Id: Ibd9d133dddf1f2e6e65660e3cd2dacafcc0c84d9

9 years agoam 5120bcf9: Merge "Look into ld_preloads before current library"
Dmitriy Ivanov [Mon, 1 Sep 2014 21:36:47 +0000 (21:36 +0000)]
am 5120bcf9: Merge "Look into ld_preloads before current library"

* commit '5120bcf9f11951bffd8ac595c2b70252ed4a4958':
  Look into ld_preloads before current library

9 years agoresolved conflicts for merge of c191a8ad to lmp-dev-plus-aosp
Dmitriy Ivanov [Mon, 1 Sep 2014 21:34:15 +0000 (14:34 -0700)]
resolved conflicts for merge of c191a8ad to lmp-dev-plus-aosp

Change-Id: I24dcf9701ebe3344796f757a596754cbefbf358a

9 years agoam 11387985: Merge "Erase elements in LinkedList::remove_if"
Dmitriy Ivanov [Mon, 1 Sep 2014 21:24:50 +0000 (21:24 +0000)]
am 11387985: Merge "Erase elements in LinkedList::remove_if"

* commit '11387985d27f7d9794963779c69dcf0056bac43c':
  Erase elements in LinkedList::remove_if

9 years agoMerge "Look into ld_preloads before current library"
Dmitriy Ivanov [Mon, 1 Sep 2014 21:16:40 +0000 (21:16 +0000)]
Merge "Look into ld_preloads before current library"

9 years agoLook into ld_preloads before current library
Dmitriy Ivanov [Fri, 29 Aug 2014 17:15:25 +0000 (10:15 -0700)]
Look into ld_preloads before current library

 Change lookup order during relocation so that
 ld_preloads always precede caller (unless caller
 is main executable).

 Asan needs this change in order to intercept libc->libc
 calls.

Bug: 15432753
(cherry picked from commit 05e190c093ad5b04691ed87100a711ef91f380b0)

Change-Id: I5bfb58e18015b1ec5b77842dbb37fb122fa1fd1a

9 years agoMerge "Look into ld_preloads before current library" into lmp-dev
Dmitriy Ivanov [Mon, 1 Sep 2014 21:08:54 +0000 (21:08 +0000)]
Merge "Look into ld_preloads before current library" into lmp-dev

9 years agoMerge "Erase elements in LinkedList::remove_if"
Dmitriy Ivanov [Mon, 1 Sep 2014 21:06:32 +0000 (21:06 +0000)]
Merge "Erase elements in LinkedList::remove_if"

9 years agoresolved conflicts for merge of b2eb09a9 to lmp-dev-plus-aosp
Elliott Hughes [Sun, 31 Aug 2014 05:30:48 +0000 (22:30 -0700)]
resolved conflicts for merge of b2eb09a9 to lmp-dev-plus-aosp

Change-Id: I0208958d78d6d7bc8c41568aa9abee15605b951e

9 years agoam e505cc66: Merge "Make stdatomic.h work with gcc4.6 host compiler"
Hans Boehm [Sat, 30 Aug 2014 01:25:10 +0000 (01:25 +0000)]
am e505cc66: Merge "Make stdatomic.h work with gcc4.6 host compiler"

* commit 'e505cc66a6e03f4ba460de3500f8b272421482c1':
  Make stdatomic.h work with gcc4.6 host compiler

9 years agoMerge "Make stdatomic.h work with gcc4.6 host compiler"
Hans Boehm [Sat, 30 Aug 2014 00:49:51 +0000 (00:49 +0000)]
Merge "Make stdatomic.h work with gcc4.6 host compiler"

9 years agoErase elements in LinkedList::remove_if
Dmitriy Ivanov [Fri, 29 Aug 2014 21:01:48 +0000 (14:01 -0700)]
Erase elements in LinkedList::remove_if

Change-Id: I5119a78c73ffe780a81c53ab5ff0266d5c82d319

9 years agoMake stdatomic.h work with gcc4.6 host compiler
Hans Boehm [Thu, 28 Aug 2014 22:21:32 +0000 (15:21 -0700)]
Make stdatomic.h work with gcc4.6 host compiler

This is needed to make L work correctly, and bionic tests pass
again, after applying the equivalent of
commit 00aaea364501b3b0abe58dae461136159df1e356 there.

It makes the preexisting code that uses __sync implementations
much more useful, although we should no longer be exercising that
code in AOSP.

Specifically fixes:

We were invoking __has_extension and __has_builtin for GCC compilations.
They're clang specific. Restructured the tests.

The __sync implementation was not defining the LOCK_FREE macros.

ATOMIC_VAR_INIT was using named field initializations.  These are a
C, not C++, feature, that is not supported by g++ 4.6.

The stdatomic bionic test still failed with 4.6 and glibc with our
questionable LOCK_FREE macro implementation.  Don't run that piece
with 4.6.

In L, this is a prerequisite for fixing:

    Bug:16880454
    Bug:16513433

Change-Id: I9b61e42307f96a114dce7552b6ead4ad1c544eab

9 years agoam bbe06e0d: Merge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc."
Elliott Hughes [Fri, 29 Aug 2014 23:30:14 +0000 (23:30 +0000)]
am bbe06e0d: Merge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc."

* commit 'bbe06e0da1742e9bdc52d3246ffa9f2ab3ce999a':
  Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.

9 years agoUse __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
Elliott Hughes [Fri, 29 Aug 2014 22:54:11 +0000 (15:54 -0700)]
Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.

Bug: 16874785

(cherry picked from commit e0c56efddf55ad40cb35b2c22e1dd9b4b50df159)

Change-Id: I9c922ba019f648766fc399d1c4e35e789e25acd4

9 years agoMerge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc."
Elliott Hughes [Fri, 29 Aug 2014 23:08:00 +0000 (23:08 +0000)]
Merge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc."

9 years agoUse __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
Elliott Hughes [Fri, 29 Aug 2014 22:54:11 +0000 (15:54 -0700)]
Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.

Bug: 16874785
Change-Id: I8512f8be3fd149d8720c5c3b4657bedd5ce2b1d1

9 years agoam 83b637fa: Merge "Replace NULL with nullptr"
Dmitriy Ivanov [Fri, 29 Aug 2014 22:51:53 +0000 (22:51 +0000)]
am 83b637fa: Merge "Replace NULL with nullptr"

* commit '83b637fa28e072aa73691b5ddc588293f06cb54b':
  Replace NULL with nullptr

9 years agoMerge "Replace NULL with nullptr"
Dmitriy Ivanov [Fri, 29 Aug 2014 22:30:07 +0000 (22:30 +0000)]
Merge "Replace NULL with nullptr"

9 years agoReplace NULL with nullptr
Dmitriy Ivanov [Fri, 29 Aug 2014 19:02:36 +0000 (12:02 -0700)]
Replace NULL with nullptr

Change-Id: Iad50be617d318ca98883b843229c960ad5b9afa9

9 years agoLook into ld_preloads before current library
Dmitriy Ivanov [Fri, 29 Aug 2014 17:15:25 +0000 (10:15 -0700)]
Look into ld_preloads before current library

 Change lookup order during relocation so that
 ld_preloads always precede caller (unless caller
 is main executable).

 Asan needs this change in order to intercept libc->libc
 calls.

Bug: 15432753
Change-Id: If69aa16efe59aa35bb30e96feb83d08f1efbec86

9 years agoam 1f39afc8: Merge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9."
Elliott Hughes [Fri, 29 Aug 2014 18:30:59 +0000 (18:30 +0000)]
am 1f39afc8: Merge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9."

* commit '1f39afc8d4cf402a8aa46d6cb121c62d289922d3':
  The host prebuilt glibc is 2.11, so remove workarounds for 2.9.

9 years agoMerge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9."
Elliott Hughes [Fri, 29 Aug 2014 18:12:36 +0000 (18:12 +0000)]
Merge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9."

9 years agoam cc4259ed: Merge "Ignore all __weak_alias in OpenBSD libC."
Chih-Hung Hsieh [Fri, 29 Aug 2014 11:39:56 +0000 (11:39 +0000)]
am cc4259ed: Merge "Ignore all __weak_alias in OpenBSD libC."

* commit 'cc4259ed9254ae66f63cacc3ad50963c4058eb1c':
  Ignore all __weak_alias in OpenBSD libC.

9 years agoam 29f06943: Merge "Add GNU-compatible strerror_r."
Elliott Hughes [Fri, 29 Aug 2014 11:39:55 +0000 (11:39 +0000)]
am 29f06943: Merge "Add GNU-compatible strerror_r."

* commit '29f06943a19ef2271a08f4223f597a3383f0d9c0':
  Add GNU-compatible strerror_r.

9 years agoMerge "Ignore all __weak_alias in OpenBSD libC."
Chih-Hung Hsieh [Fri, 29 Aug 2014 03:10:43 +0000 (03:10 +0000)]
Merge "Ignore all __weak_alias in OpenBSD libC."

9 years agoThe host prebuilt glibc is 2.11, so remove workarounds for 2.9.
Elliott Hughes [Fri, 29 Aug 2014 02:28:35 +0000 (19:28 -0700)]
The host prebuilt glibc is 2.11, so remove workarounds for 2.9.

Change-Id: I1072fcebc8b3018580a9d069fe6eca9c4e74e865

9 years agoMerge "Add GNU-compatible strerror_r."
Elliott Hughes [Fri, 29 Aug 2014 02:26:33 +0000 (02:26 +0000)]
Merge "Add GNU-compatible strerror_r."

9 years agoAdd GNU-compatible strerror_r.
Elliott Hughes [Tue, 19 Aug 2014 00:28:32 +0000 (17:28 -0700)]
Add GNU-compatible strerror_r.

We already had the POSIX strerror_r, but some third-party code defines
_GNU_SOURCE and expects to get the GNU strerror_r instead.

This exposed a bug in the libc internal logging functions where unlike
their standard brethren they wouldn't return the number of bytes they'd
have liked to have written.

Bug: 16243479
Change-Id: I1745752ccbdc569646d34f5071f6df2be066d5f4

9 years agoIgnore all __weak_alias in OpenBSD libC.
Chih-Hung Hsieh [Thu, 28 Aug 2014 18:47:48 +0000 (11:47 -0700)]
Ignore all __weak_alias in OpenBSD libC.

GCC assembler allows xyz to be redeclared as weak,
by __weak_alias(xyz, _xyz), while _xyz is undefined.
Clang does not like that but silently generates no code.
It will reject its own .s file if the assembly code is saved first.
Since we have no reason to define xyz or _xyz as weak symbol now,
and _xyz is a macro to xyz, we simplify libC to have only
xyz defined as global.

BUG: 17186746
Change-Id: I24b154425838683cae69248cc750c59e26fd5467

9 years agoam 67f1f3b1: Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
Elliott Hughes [Thu, 28 Aug 2014 03:37:22 +0000 (03:37 +0000)]
am 67f1f3b1: Have pthread_attr_getstack for the main thread report RLIMIT_STACK...

* commit '67f1f3b171ecd5f68f51465bbe4b8c8440bb6b2e':
  Have pthread_attr_getstack for the main thread report RLIMIT_STACK...

9 years agoresolved conflicts for merge of a0eeb0b6 to lmp-dev-plus-aosp
Elliott Hughes [Thu, 28 Aug 2014 03:03:04 +0000 (20:03 -0700)]
resolved conflicts for merge of a0eeb0b6 to lmp-dev-plus-aosp

Change-Id: I84193689c0d6a9ee70b8da3c509694eb6d747d4a

9 years agoam f4e721dd: Merge "Have pthread_attr_getstack for the main thread report RLIMIT_STAC...
Elliott Hughes [Thu, 28 Aug 2014 00:00:07 +0000 (00:00 +0000)]
am f4e721dd: Merge "Have pthread_attr_getstack for the main thread report RLIMIT_STACK..."

* commit 'f4e721dd519db89c504c8944763811a3df956b32':
  Have pthread_attr_getstack for the main thread report RLIMIT_STACK...

9 years agoHave pthread_attr_getstack for the main thread report RLIMIT_STACK...
Elliott Hughes [Wed, 27 Aug 2014 22:32:01 +0000 (15:32 -0700)]
Have pthread_attr_getstack for the main thread report RLIMIT_STACK...

...rather than just what's already mapped in. This seems somewhat
contrary to POSIX's "All pages within the stack described by stackaddr
and stacksize shall be both readable and writable by the thread", but
it's what glibc does.

Bug: 17111575

(cherry picked from commit 9e4ffa7032eaab308876b8e3da86b05c3c613878)

Change-Id: I73f219a569917b2e4546c09436d7ef5231facc07

9 years agoMerge "Fix pthread_getattr_np for the main thread." into lmp-dev
Elliott Hughes [Wed, 27 Aug 2014 23:49:56 +0000 (23:49 +0000)]
Merge "Fix pthread_getattr_np for the main thread." into lmp-dev

9 years agoMerge "Have pthread_attr_getstack for the main thread report RLIMIT_STACK..."
Elliott Hughes [Wed, 27 Aug 2014 23:43:26 +0000 (23:43 +0000)]
Merge "Have pthread_attr_getstack for the main thread report RLIMIT_STACK..."

9 years agoam af9da4a3: Merge "Replace snprintf calls in linker."
Christopher Ferris [Wed, 27 Aug 2014 23:41:56 +0000 (23:41 +0000)]
am af9da4a3: Merge "Replace snprintf calls in linker."

* commit 'af9da4a343d8fe2456e9d861bbd75bba67f2193c':
  Replace snprintf calls in linker.

9 years agoMerge "Replace snprintf calls in linker."
Christopher Ferris [Wed, 27 Aug 2014 23:29:18 +0000 (23:29 +0000)]
Merge "Replace snprintf calls in linker."

9 years agoam fbe9d3df: Merge "Fix strlen function type for mips."
Chih-Hung Hsieh [Wed, 27 Aug 2014 23:24:27 +0000 (23:24 +0000)]
am fbe9d3df: Merge "Fix strlen function type for mips."

* commit 'fbe9d3dfeb0e09c0e4aa3221aace8249c0efe881':
  Fix strlen function type for mips.

9 years agoMerge "Fix strlen function type for mips."
Chih-Hung Hsieh [Wed, 27 Aug 2014 23:07:54 +0000 (23:07 +0000)]
Merge "Fix strlen function type for mips."

9 years agoReplace snprintf calls in linker.
Christopher Ferris [Wed, 27 Aug 2014 03:48:11 +0000 (20:48 -0700)]
Replace snprintf calls in linker.

When enabling debug malloc, the snprintf calls in the linker fails to
update the buffer.

The problem is that snprintf makes a call to pthread_getspecific that
returns a valid pointer, but the data it points to is zero. This should
never happen and causes the snprintf to stop and do nothing.

Temporarily replace snprintf with a different implementation to work
around this issue.

Bug: 16874447
Bug: 17302493

(cherry pick from commit 172955a4e30b88ce8239a7ef426b4e8903e9923c)

Change-Id: Idca9d417978403d61debfd0434aaa82fd770f33b

9 years agoFix strlen function type for mips.
Chih-Hung Hsieh [Wed, 27 Aug 2014 21:13:09 +0000 (14:13 -0700)]
Fix strlen function type for mips.

Clang complains about incompatible-library-redeclaration.

BUG: 17302369
Change-Id: I3ae36f24846408c6464b84b5bddb1747e1e4a971

9 years agoMerge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_dire...
Yigit Boyar [Wed, 27 Aug 2014 23:00:12 +0000 (23:00 +0000)]
Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp

9 years agoam 598d25bf: Merge "Replace snprintf calls in linker." into lmp-dev
Christopher Ferris [Wed, 27 Aug 2014 23:00:10 +0000 (23:00 +0000)]
am 598d25bf: Merge "Replace snprintf calls in linker." into lmp-dev

* commit '598d25bf78fa632e70cb80d4033572328f5bd1b7':
  Replace snprintf calls in linker.

9 years agoam 4f8268e3: Merge "Replace ambiguous cmp instruction with cmpl."
Chih-Hung Hsieh [Wed, 27 Aug 2014 23:00:09 +0000 (23:00 +0000)]
am 4f8268e3: Merge "Replace ambiguous cmp instruction with cmpl."

* commit '4f8268e38f151724722bcb489c32185a93fd86ba':
  Replace ambiguous cmp instruction with cmpl.

9 years agoMerge "Replace ambiguous cmp instruction with cmpl."
Chih-Hung Hsieh [Wed, 27 Aug 2014 22:46:06 +0000 (22:46 +0000)]
Merge "Replace ambiguous cmp instruction with cmpl."

9 years agoMerge "Replace snprintf calls in linker." into lmp-dev
Christopher Ferris [Wed, 27 Aug 2014 22:42:11 +0000 (22:42 +0000)]
Merge "Replace snprintf calls in linker." into lmp-dev

9 years agoHave pthread_attr_getstack for the main thread report RLIMIT_STACK...
Elliott Hughes [Wed, 27 Aug 2014 22:32:01 +0000 (15:32 -0700)]
Have pthread_attr_getstack for the main thread report RLIMIT_STACK...

...rather than just what's already mapped in. This seems somewhat
contrary to POSIX's "All pages within the stack described by stackaddr
and stacksize shall be both readable and writable by the thread", but
it's what glibc does.

Bug: 17111575
Change-Id: If9e2dfad9a603c0d0615a8123aacda4946e95b2c

9 years agoReplace snprintf calls in linker.
Christopher Ferris [Wed, 27 Aug 2014 03:48:11 +0000 (20:48 -0700)]
Replace snprintf calls in linker.

When enabling debug malloc, the snprintf calls in the linker fails to
update the buffer.

The problem is that snprintf makes a call to pthread_getspecific that
returns a valid pointer, but the data it points to is zero. This should
never happen and causes the snprintf to stop and do nothing.

Temporarily replace snprintf with a different implementation to work
around this issue.

Bug: 16874447
Bug: 17302493
Change-Id: I7a500f28adf153150cf2812fae745ff41f1c48d3

9 years agoam 34da32e7: Merge "Add missing type casts before comparison."
Chih-Hung Hsieh [Wed, 27 Aug 2014 22:05:14 +0000 (22:05 +0000)]
am 34da32e7: Merge "Add missing type casts before comparison."

* commit '34da32e7dd00270e98b845f8a810a6f12ffffb9b':
  Add missing type casts before comparison.

9 years agoReplace ambiguous cmp instruction with cmpl.
Chih-Hung Hsieh [Wed, 27 Aug 2014 22:04:23 +0000 (15:04 -0700)]
Replace ambiguous cmp instruction with cmpl.

Clang assembler rejects ambiguous cmp instruction.

BUG: 17302482
Change-Id: I74f49de87464541f9fe6fa288e4093a9fbf37120

9 years agoMerge "Add missing type casts before comparison."
Chih-Hung Hsieh [Wed, 27 Aug 2014 21:44:12 +0000 (21:44 +0000)]
Merge "Add missing type casts before comparison."

9 years agoam 6ecd1cd1: Merge "Use the default unwind code."
Christopher Ferris [Wed, 27 Aug 2014 21:35:16 +0000 (21:35 +0000)]
am 6ecd1cd1: Merge "Use the default unwind code."

* commit '6ecd1cd195546ecaf4317beda3f1a1a27f1d0d57':
  Use the default unwind code.

9 years agoMerge "Use the default unwind code."
Christopher Ferris [Wed, 27 Aug 2014 21:21:28 +0000 (21:21 +0000)]
Merge "Use the default unwind code."

9 years agoAdd missing type casts before comparison.
Chih-Hung Hsieh [Wed, 27 Aug 2014 20:45:37 +0000 (13:45 -0700)]
Add missing type casts before comparison.

BUG: 17300548
Change-Id: Ice9868f36c8fa8cd40bb13741b0e33c8f8d354fd

9 years agoUse the default unwind code.
Christopher Ferris [Tue, 26 Aug 2014 22:47:42 +0000 (15:47 -0700)]
Use the default unwind code.

This speeds up the debug malloc code by using the original unwinding code.
The only catch is that it has to link in the libc++ arm unwind code or
there will be crashes when attempting to unwind through libc++ compiled
code.

Bug: 16874447

(cherry picked from commit 3f7635f4906c53fa744731efc35235456b7d93bf)

Change-Id: If8a3821cdd95ed481bb496bf2daab449d13790f8

9 years agoMerge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_dire...
Baligh Uddin [Wed, 27 Aug 2014 17:39:51 +0000 (17:39 +0000)]
Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp

9 years agoam cb322a11: Merge "call uselocale() before freelocale() to make sure that g_local_ke...
Elliott Hughes [Wed, 27 Aug 2014 17:39:29 +0000 (17:39 +0000)]
am cb322a11: Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale."

* commit 'cb322a116804a690fdde6096d7efef4819151ad9':
  call uselocale() before freelocale() to make sure that g_local_key has a valid locale.

9 years agoam 64ae11ab: Merge "Switch to OpenBSD <err.h> implementation."
Elliott Hughes [Wed, 27 Aug 2014 17:39:28 +0000 (17:39 +0000)]
am 64ae11ab: Merge "Switch to OpenBSD <err.h> implementation."

* commit '64ae11ab766421fe2c49ebdecb14c36fe0a047fe':
  Switch to OpenBSD <err.h> implementation.

9 years agoam 6cc4e3b6: Merge "call uselocale() before freelocale() to make sure that g_local_ke...
Elliott Hughes [Wed, 27 Aug 2014 17:39:01 +0000 (17:39 +0000)]
am 6cc4e3b6: Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale." into lmp-dev

* commit '6cc4e3b6ce726fb7aab6eff1ca8f4a28f9f21ee9':
  call uselocale() before freelocale() to make sure that g_local_key has a valid locale.

9 years agoMerge "call uselocale() before freelocale() to make sure that g_local_key has a valid...
Elliott Hughes [Wed, 27 Aug 2014 17:27:46 +0000 (17:27 +0000)]
Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale."

9 years agocall uselocale() before freelocale() to make sure that g_local_key has a valid locale.
Wally Yau [Tue, 26 Aug 2014 16:47:23 +0000 (09:47 -0700)]
call uselocale() before freelocale() to make sure that g_local_key has a valid locale.

For tests that call uselocale(), the locale is stored in the
g_userlocale_key thread-specific key. If freelocale() is called later,
then g_uselocal_key points to a deleted pointer. CTS eventually calls
vfprintf to print the result, which calls MB_CUR_MAX and MB_CUR_MAX
accesses the deleted locale stored in g_uselocale_key, causing unpredictable
errors.

Fixed the tests by calling uselocale() with the old locale before
calling freelocale.

(cherry-pick of 8a46cf0fcf82b8c76e05be7e066ec854f974603a.)

Bug: 17299565
Change-Id: I87efa2a9b16999a11d587f68d3aeedcbe6ac8a2c

9 years agoMerge "Switch to OpenBSD <err.h> implementation."
Elliott Hughes [Wed, 27 Aug 2014 17:26:02 +0000 (17:26 +0000)]
Merge "Switch to OpenBSD <err.h> implementation."

9 years agoMerge "call uselocale() before freelocale() to make sure that g_local_key has a valid...
Elliott Hughes [Wed, 27 Aug 2014 17:25:23 +0000 (17:25 +0000)]
Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale." into lmp-dev

9 years agocall uselocale() before freelocale() to make sure that g_local_key has a valid locale.
Wally Yau [Tue, 26 Aug 2014 16:47:23 +0000 (09:47 -0700)]
call uselocale() before freelocale() to make sure that g_local_key has a valid locale.

For tests that call uselocale(), the locale is stored in the
g_userlocale_key thread-specific key. If freelocale() is called later,
then g_uselocal_key points to a deleted pointer. CTS eventually calls
vfprintf to print the result, which calls MB_CUR_MAX and MB_CUR_MAX
accesses the deleted locale stored in g_uselocale_key, causing unpredictable
errors.

Fixed the tests by calling uselocale() with the old locale before
calling freelocale.

Bug: 17299565
Change-Id: I87efa2a9b16999a11d587f68d3aeedcbe6ac8a2c

9 years agoam 3f7635f4: Use the default unwind code.
Christopher Ferris [Wed, 27 Aug 2014 04:46:05 +0000 (04:46 +0000)]
am 3f7635f4: Use the default unwind code.

* commit '3f7635f4906c53fa744731efc35235456b7d93bf':
  Use the default unwind code.

9 years agoam 6bfcefe0: Merge "Undefine _Atomic before redefining"
Hans Boehm [Wed, 27 Aug 2014 00:01:46 +0000 (00:01 +0000)]
am 6bfcefe0: Merge "Undefine _Atomic before redefining"

* commit '6bfcefe02f8fbeec1f6790bd5ebb1fdd5dba1e33':
  Undefine _Atomic before redefining

9 years agoam 07401c71: Merge "Switch to OpenBSD daemon(3)."
Elliott Hughes [Wed, 27 Aug 2014 00:01:45 +0000 (00:01 +0000)]
am 07401c71: Merge "Switch to OpenBSD daemon(3)."

* commit '07401c7136af113304a22f4a8245ef3fc1b6929b':
  Switch to OpenBSD daemon(3).

9 years agoam f1e64b5c: (-s ours) Merge "More cases where libc should use O_CLOEXEC."
Elliott Hughes [Wed, 27 Aug 2014 00:01:42 +0000 (00:01 +0000)]
am f1e64b5c: (-s ours) Merge "More cases where libc should use O_CLOEXEC."

* commit 'f1e64b5c171a374f36cd970df0c84558d4209e1c':
  More cases where libc should use O_CLOEXEC.

9 years agoSwitch to OpenBSD <err.h> implementation.
Elliott Hughes [Wed, 27 Aug 2014 00:00:37 +0000 (17:00 -0700)]
Switch to OpenBSD <err.h> implementation.

Change-Id: Ia950d88871a30f68e74f9ac7dbd87788e128e02f

9 years agoam 7b87d441: Merge "Switch to OpenBSD res_random."
Elliott Hughes [Tue, 26 Aug 2014 23:41:23 +0000 (23:41 +0000)]
am 7b87d441: Merge "Switch to OpenBSD res_random."

* commit '7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce':
  Switch to OpenBSD res_random.

9 years agoam 59de803a: Merge "libc should use O_CLOEXEC when opening files for its own use."
Elliott Hughes [Tue, 26 Aug 2014 23:41:23 +0000 (23:41 +0000)]
am 59de803a: Merge "libc should use O_CLOEXEC when opening files for its own use."

* commit '59de803af98a284378303489f614be3e53800b3f':
  libc should use O_CLOEXEC when opening files for its own use.

9 years agoam 9f5dee55: Merge "Remove unnecessary calls to LinkedList::clear()"
Dmitriy Ivanov [Tue, 26 Aug 2014 23:41:22 +0000 (23:41 +0000)]
am 9f5dee55: Merge "Remove unnecessary calls to LinkedList::clear()"

* commit '9f5dee55aa401b11b3eb15806d3f8ffc291c2bb1':
  Remove unnecessary calls to LinkedList::clear()

9 years agoMerge "Undefine _Atomic before redefining"
Hans Boehm [Tue, 26 Aug 2014 23:34:49 +0000 (23:34 +0000)]
Merge "Undefine _Atomic before redefining"

9 years agoMerge "Switch to OpenBSD daemon(3)."
Elliott Hughes [Tue, 26 Aug 2014 23:33:43 +0000 (23:33 +0000)]
Merge "Switch to OpenBSD daemon(3)."

9 years agoam d2bd3c47: Merge "Enable __cxa_atexit && __cxa_finalize for linker"
Dmitriy Ivanov [Tue, 26 Aug 2014 23:26:32 +0000 (23:26 +0000)]
am d2bd3c47: Merge "Enable __cxa_atexit && __cxa_finalize for linker"

* commit 'd2bd3c4717ed223bca1c68a87f243f4bcf492a4b':
  Enable __cxa_atexit && __cxa_finalize for linker

9 years agoSwitch to OpenBSD daemon(3).
Elliott Hughes [Tue, 26 Aug 2014 23:25:19 +0000 (16:25 -0700)]
Switch to OpenBSD daemon(3).

Change-Id: I1fd0be09fdb24aa6f1d945410eba5987f8a949b4

9 years agoMerge "More cases where libc should use O_CLOEXEC."
Elliott Hughes [Tue, 26 Aug 2014 23:23:58 +0000 (23:23 +0000)]
Merge "More cases where libc should use O_CLOEXEC."

9 years agoMore cases where libc should use O_CLOEXEC.
Elliott Hughes [Tue, 26 Aug 2014 23:20:59 +0000 (16:20 -0700)]
More cases where libc should use O_CLOEXEC.

Change-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0

9 years agoMerge "Switch to OpenBSD res_random."
Elliott Hughes [Tue, 26 Aug 2014 23:18:04 +0000 (23:18 +0000)]
Merge "Switch to OpenBSD res_random."

9 years agoMerge "libc should use O_CLOEXEC when opening files for its own use."
Elliott Hughes [Tue, 26 Aug 2014 23:11:45 +0000 (23:11 +0000)]
Merge "libc should use O_CLOEXEC when opening files for its own use."

9 years agoUse the default unwind code.
Christopher Ferris [Tue, 26 Aug 2014 22:47:42 +0000 (15:47 -0700)]
Use the default unwind code.

This speeds up the debug malloc code by using the original unwinding code.
The only catch is that it has to link in the libc++ arm unwind code or
there will be crashes when attempting to unwind through libc++ compiled
code.

Bug: 16874447
Change-Id: Ifdbbcbd4137d668b25cf3c2bd59535e06ebfa5a7

9 years agoMerge "Remove unnecessary calls to LinkedList::clear()"
Dmitriy Ivanov [Tue, 26 Aug 2014 23:00:43 +0000 (23:00 +0000)]
Merge "Remove unnecessary calls to LinkedList::clear()"

9 years agoUndefine _Atomic before redefining
Hans Boehm [Tue, 26 Aug 2014 22:58:15 +0000 (15:58 -0700)]
Undefine _Atomic before redefining

Stdatomic.h was potentially redefining _Atomic, in spite of a
prior definition by <atomic>.  This could cause g++ builds that
included <stdatomic.h> with an available <atomic> header to break.

Change-Id: I562c7115118c0587d594d4d5b62d25101e47bfd8

9 years agolibc should use O_CLOEXEC when opening files for its own use.
Elliott Hughes [Tue, 26 Aug 2014 22:56:54 +0000 (15:56 -0700)]
libc should use O_CLOEXEC when opening files for its own use.

Change-Id: I159f1d57e0ca090d837f57854fcef5879b8b8248

9 years agoRemove unnecessary calls to LinkedList::clear()
Dmitriy Ivanov [Tue, 26 Aug 2014 22:56:31 +0000 (15:56 -0700)]
Remove unnecessary calls to LinkedList::clear()

Change-Id: I981d2700cb17322c634b751715543fd33ee49b7c

9 years agoMerge "Enable __cxa_atexit && __cxa_finalize for linker"
Dmitriy Ivanov [Tue, 26 Aug 2014 22:53:15 +0000 (22:53 +0000)]
Merge "Enable __cxa_atexit && __cxa_finalize for linker"

9 years agoEnable __cxa_atexit && __cxa_finalize for linker
Dmitriy Ivanov [Tue, 26 Aug 2014 21:16:52 +0000 (14:16 -0700)]
Enable __cxa_atexit && __cxa_finalize for linker

 This allows adding destructors to classes used
 for global variables.

Change-Id: I5e1cd63fe3bf8f66de88cc4f7437cafb350f49b5

9 years agoam c764fb24: Merge "Fix pthread_getattr_np for the main thread."
Elliott Hughes [Tue, 26 Aug 2014 20:08:44 +0000 (20:08 +0000)]
am c764fb24: Merge "Fix pthread_getattr_np for the main thread."

* commit 'c764fb24ccb47e05d8e140cde5b4111225790ef1':
  Fix pthread_getattr_np for the main thread.

9 years agoFix pthread_getattr_np for the main thread.
Elliott Hughes [Tue, 26 Aug 2014 00:26:50 +0000 (17:26 -0700)]
Fix pthread_getattr_np for the main thread.

On most architectures the kernel subtracts a random offset to the stack
pointer in create_elf_tables by calling arch_align_stack before writing
the auxval table and so on. On all but x86 this doesn't cause a problem
because the random offset is less than a page, but on x86 it's up to two
pages. This means that our old technique of rounding the stack pointer
doesn't work. (Our old implementation of that technique was wrong too.)

It's also incorrect to assume that the main thread's stack base and size
are constant. Likewise to assume that the main thread has a guard page.
The main thread is not like other threads.

This patch switches to reading /proc/self/maps (and checking RLIMIT_STACK)
whenever we're asked.

Bug: 17111575
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
(cherry picked from commit 57b7a6110e7e8b446fc23cce4765ff625ee0a105)

Change-Id: I87e679ee1c0db8092f2d1221c8e7c1461545c5a4

9 years agoMerge "Fix pthread_getattr_np for the main thread."
Elliott Hughes [Tue, 26 Aug 2014 19:53:40 +0000 (19:53 +0000)]
Merge "Fix pthread_getattr_np for the main thread."

9 years agoFix pthread_getattr_np for the main thread.
Elliott Hughes [Tue, 26 Aug 2014 00:26:50 +0000 (17:26 -0700)]
Fix pthread_getattr_np for the main thread.

On most architectures the kernel subtracts a random offset to the stack
pointer in create_elf_tables by calling arch_align_stack before writing
the auxval table and so on. On all but x86 this doesn't cause a problem
because the random offset is less than a page, but on x86 it's up to two
pages. This means that our old technique of rounding the stack pointer
doesn't work. (Our old implementation of that technique was wrong too.)

It's also incorrect to assume that the main thread's stack base and size
are constant. Likewise to assume that the main thread has a guard page.
The main thread is not like other threads.

This patch switches to reading /proc/self/maps (and checking RLIMIT_STACK)
whenever we're asked.

Bug: 17111575
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
Change-Id: I1d4dbffe7bc7bda1d353c3a295dbf68d29f63158

9 years agoam 9e307af9: Merge "Add standard throw() spec to delete operators."
Chih-Hung Hsieh [Mon, 25 Aug 2014 22:29:24 +0000 (22:29 +0000)]
am 9e307af9: Merge "Add standard throw() spec to delete operators."

* commit '9e307af982ea9030849293b5e3307733289e3c2c':
  Add standard throw() spec to delete operators.

9 years agoMerge "Add standard throw() spec to delete operators."
Chih-Hung Hsieh [Mon, 25 Aug 2014 22:08:32 +0000 (22:08 +0000)]
Merge "Add standard throw() spec to delete operators."

9 years agoAdd standard throw() spec to delete operators.
Chih-Hung Hsieh [Mon, 25 Aug 2014 19:08:19 +0000 (12:08 -0700)]
Add standard throw() spec to delete operators.

Without these specs, clang will reports mismatch between standard definitions and these declarations/definitions. These specs are ignored when compiled with -fno-exceptions.

BUG: 17136236
Change-Id: I386c712a61dc4fc74dfde45f9ec2d3d037f2e9f1

9 years agoam a4a8c4fe: Merge "Fix, generalize stdatomic.h; improve test."
Hans Boehm [Fri, 22 Aug 2014 23:15:54 +0000 (23:15 +0000)]
am a4a8c4fe: Merge "Fix, generalize stdatomic.h; improve test."

* commit 'a4a8c4feb8cf3cebf8aceace70e699e128095b5c':
  Fix, generalize stdatomic.h; improve test.

9 years agoMerge "Fix, generalize stdatomic.h; improve test."
Hans Boehm [Fri, 22 Aug 2014 22:52:31 +0000 (22:52 +0000)]
Merge "Fix, generalize stdatomic.h; improve test."

9 years agoFix, generalize stdatomic.h; improve test.
Hans Boehm [Tue, 19 Aug 2014 23:14:01 +0000 (16:14 -0700)]
Fix, generalize stdatomic.h; improve test.

We seem to use this stdatomic.h sometimes, and slightly different prebuilts
at other times, making them all difficult to test, and making it unclear
which one we're testing.  This generalizes the bionic header so that it
can be used directly as the prebuilt header as well.  So long as they
don't diverge again, that should somewhat improve test coverage.

Use the correct builtin for atomic_is_lock_free.

Fix atomic_flag_init.

Turn on atomic tests even with __GLIBC__, since they now appear to pass.

Include uchar.h in stdatomic.h where needed.

Add a basic memory ordering test.

Fix bit-rotted comments in bionic tests makefile.

Change-Id: If6a14c1075b379395ba5d93357d56025c0ffab68