OSDN Git Service

android-x86/bionic.git
9 years agoFix bug in app_id_from_name in stubs.cpp.
Yabin Cui [Sat, 18 Apr 2015 21:07:41 +0000 (14:07 -0700)]
Fix bug in app_id_from_name in stubs.cpp.

It seems that a break statement is missing.

Bug: 19872411
Change-Id: I9362783ab726d01f6eb27418563e716dd95688dc

9 years agoMerge "add fortified readlink/readlinkat implementations"
Nick Kralevich [Sat, 18 Apr 2015 15:30:18 +0000 (15:30 +0000)]
Merge "add fortified readlink/readlinkat implementations"

9 years agoMerge "Also send bionicbb logs to a file."
Dan Albert [Sat, 18 Apr 2015 00:58:23 +0000 (00:58 +0000)]
Merge "Also send bionicbb logs to a file."

9 years agoAlso send bionicbb logs to a file.
Dan Albert [Sat, 18 Apr 2015 00:51:39 +0000 (17:51 -0700)]
Also send bionicbb logs to a file.

Change-Id: If9a6fdbe004e3b4bb7d868b7255f83c232759f80

9 years agoMerge "Merge the two bionicbb services into one."
Dan Albert [Sat, 18 Apr 2015 00:55:31 +0000 (00:55 +0000)]
Merge "Merge the two bionicbb services into one."

9 years agoMerge the two bionicbb services into one.
Dan Albert [Fri, 17 Apr 2015 20:01:29 +0000 (13:01 -0700)]
Merge the two bionicbb services into one.

Change-Id: I6490da1ec96b2e24b330296950be84424e11bd35

9 years agoadd fortified readlink/readlinkat implementations
Daniel Micay [Fri, 17 Apr 2015 15:26:36 +0000 (11:26 -0400)]
add fortified readlink/readlinkat implementations

Change-Id: Ia4b1824d20cad3a072b9162047492dade8576779

9 years agoMerge "Support symbol versioning"
Dmitriy Ivanov [Fri, 17 Apr 2015 03:57:45 +0000 (03:57 +0000)]
Merge "Support symbol versioning"

9 years agoMerge "Fix clang build."
Elliott Hughes [Fri, 17 Apr 2015 00:57:52 +0000 (00:57 +0000)]
Merge "Fix clang build."

9 years agoSupport symbol versioning
Dmitriy Ivanov [Thu, 9 Apr 2015 20:42:33 +0000 (13:42 -0700)]
Support symbol versioning

Bug: http://b/20139821
Change-Id: I64122a0fb0960c20b2ce614161b7ab048456b681

9 years agoFix clang build.
Elliott Hughes [Fri, 17 Apr 2015 00:56:12 +0000 (17:56 -0700)]
Fix clang build.

Change-Id: I70a9ebe806cb4f7e23a7d8e486157ddd70ae3008

9 years agoMerge "add fortified implementations of pread/pread64"
Elliott Hughes [Fri, 17 Apr 2015 00:34:26 +0000 (00:34 +0000)]
Merge "add fortified implementations of pread/pread64"

9 years agoMerge "Clean up "logging"."
Dan Albert [Thu, 16 Apr 2015 22:08:38 +0000 (22:08 +0000)]
Merge "Clean up "logging"."

9 years agoClean up "logging".
Dan Albert [Thu, 16 Apr 2015 21:20:13 +0000 (14:20 -0700)]
Clean up "logging".

Print is bad and I should feel bad. Use the logging module instead.
Will follow up by adding a persistent log destination instead of just
the console.

Change-Id: I396ff10712f88a03f8d8183b6de29ea273815962

9 years agoMerge "Remove PROP_PATH_SYSTEM_DEFAULT."
Elliott Hughes [Thu, 16 Apr 2015 19:57:59 +0000 (19:57 +0000)]
Merge "Remove PROP_PATH_SYSTEM_DEFAULT."

9 years agoadd fortified implementations of pread/pread64
Daniel Micay [Thu, 16 Apr 2015 13:07:45 +0000 (09:07 -0400)]
add fortified implementations of pread/pread64

Change-Id: Iec39c3917e0bc94371bd81541619392f5abe29b9

9 years agoMerge "Call __cxa_thread_finalize for the main thread."
Dmitriy Ivanov [Thu, 16 Apr 2015 08:06:02 +0000 (08:06 +0000)]
Merge "Call __cxa_thread_finalize for the main thread."

9 years agoMerge "Update the number of jemalloc reserved keys."
Christopher Ferris [Thu, 16 Apr 2015 04:42:36 +0000 (04:42 +0000)]
Merge "Update the number of jemalloc reserved keys."

9 years agoMerge "Change on handling of SIGEV_THREAD timers."
Yabin Cui [Thu, 16 Apr 2015 01:08:24 +0000 (01:08 +0000)]
Merge "Change on handling of SIGEV_THREAD timers."

9 years agoChange on handling of SIGEV_THREAD timers.
Yabin Cui [Wed, 14 Jan 2015 03:53:15 +0000 (19:53 -0800)]
Change on handling of SIGEV_THREAD timers.

1. Don't prevent calling callback when SIGEV_THREAD timers are disarmed by timer_settime.
As in POSIX standard: The effect of disarming or resetting a timer with pending
expiration notifications is unspecified. And glibc didn't prevent in this situation, so I
think it is fine to remove the support.
2. Still prevent calling callback when SIGEV_THREAD timers are deleted by timer_delete.
As in POSIX standard: The disposition of pending signals for the deleted timer is unspecified.
However, glibc handles this (although that is not perfect). And some of our tests in
time_test.cpp depend on this feature as described in b/18039727. so I retain the support.
3. Fix some flaky test in time_test.cpp, and make "time*" test pass on bionic-unit-tests-glibcxx.

Bug: 18263854

Change-Id: I8ced184eacdbfcf433fd81b0c69c38824beb8ebc

9 years agoUpdate the number of jemalloc reserved keys.
Christopher Ferris [Wed, 15 Apr 2015 23:34:57 +0000 (16:34 -0700)]
Update the number of jemalloc reserved keys.

jemalloc now uses a single key pointing to a structure rather
than multiple keys.

Change-Id: Ib76185a594ab2cd4dc400d9a7a5bc0a57a7ac92d

9 years agoRemove PROP_PATH_SYSTEM_DEFAULT.
Elliott Hughes [Thu, 16 Apr 2015 00:03:43 +0000 (17:03 -0700)]
Remove PROP_PATH_SYSTEM_DEFAULT.

Change-Id: Ib01d9c2f9d890eb5e7ba1e15bd11767195e84967

9 years agoMerge "Hide emutls* symbols in libc.so"
Dmitriy Ivanov [Wed, 15 Apr 2015 23:27:38 +0000 (23:27 +0000)]
Merge "Hide emutls* symbols in libc.so"

9 years agoCall __cxa_thread_finalize for the main thread.
Dmitriy Ivanov [Wed, 15 Apr 2015 22:31:51 +0000 (15:31 -0700)]
Call __cxa_thread_finalize for the main thread.

Bug: http://b/20231984
Bug: http://b/16696563
Change-Id: I71cfddd0d404d1d4a593ec8d3bca9741de8cb90f

9 years agoHide emutls* symbols in libc.so
Dmitriy Ivanov [Wed, 15 Apr 2015 21:07:28 +0000 (14:07 -0700)]
Hide emutls* symbols in libc.so

 Also make thread_local in test static to avoid ld.bfd
 warning for arm64.

Change-Id: I09a3f2aa9b73a4fafa3f3bbc64ddc2a128ad50ee

9 years agoMerge "Fix addition of extra arg to cfi_restore."
Christopher Ferris [Wed, 15 Apr 2015 00:07:33 +0000 (00:07 +0000)]
Merge "Fix addition of extra arg to cfi_restore."

9 years agoFix addition of extra arg to cfi_restore.
Christopher Ferris [Wed, 15 Apr 2015 00:02:31 +0000 (17:02 -0700)]
Fix addition of extra arg to cfi_restore.

Change-Id: I8fdcc1ae3e91b69ccbcec756a89e1ccb4fa1be53

9 years agoMerge "Add missing cfi directives for x86 assembler."
Christopher Ferris [Tue, 14 Apr 2015 23:43:09 +0000 (23:43 +0000)]
Merge "Add missing cfi directives for x86 assembler."

9 years agoAdd missing cfi directives for x86 assembler.
Christopher Ferris [Mon, 13 Apr 2015 21:20:11 +0000 (14:20 -0700)]
Add missing cfi directives for x86 assembler.

Change-Id: I80d3e33a71bbaeab5f39b667ebe61e865fd54b80

9 years agoMerge "Prevent using static-allocated pthread keys before creation."
Yabin Cui [Tue, 14 Apr 2015 20:35:08 +0000 (20:35 +0000)]
Merge "Prevent using static-allocated pthread keys before creation."

9 years agoPrevent using static-allocated pthread keys before creation.
Yabin Cui [Fri, 6 Mar 2015 04:35:32 +0000 (20:35 -0800)]
Prevent using static-allocated pthread keys before creation.

Bug: 19993460

Change-Id: I244dea7f5df3c8384f88aa48d635348fafc9cbaf

9 years agoMerge "Skip merge-failed messages from Gerrit."
Dan Albert [Tue, 14 Apr 2015 01:33:34 +0000 (01:33 +0000)]
Merge "Skip merge-failed messages from Gerrit."

9 years agoSkip merge-failed messages from Gerrit.
Dan Albert [Tue, 14 Apr 2015 00:32:19 +0000 (17:32 -0700)]
Skip merge-failed messages from Gerrit.

Change-Id: I2d8055a44cd78f95e64d6cf88e9efdd610a4fa88

9 years agoMerge "Fix dl* tests to run-on-host"
Dmitriy Ivanov [Sat, 11 Apr 2015 00:28:05 +0000 (00:28 +0000)]
Merge "Fix dl* tests to run-on-host"

9 years agoMerge "Don't build any changes that touch bionicbb."
Dan Albert [Fri, 10 Apr 2015 00:25:18 +0000 (00:25 +0000)]
Merge "Don't build any changes that touch bionicbb."

9 years agoDon't build any changes that touch bionicbb.
Dan Albert [Fri, 10 Apr 2015 00:18:53 +0000 (17:18 -0700)]
Don't build any changes that touch bionicbb.

Right now any changes in here would be innocuous because I manually
update bionicbb, but I'd like to check in the various job
configurations. Once I have we don't want anyone to be able to make
the buildbot run any untrusted code.

Change-Id: Ic050859cd5017615f71c75f995ba21bb45407b05

9 years agoMerge "Add Elfxx_Ver* types"
Dmitriy Ivanov [Thu, 9 Apr 2015 22:14:09 +0000 (22:14 +0000)]
Merge "Add Elfxx_Ver* types"

9 years agoFix dl* tests to run-on-host
Dmitriy Ivanov [Wed, 8 Apr 2015 18:53:08 +0000 (11:53 -0700)]
Fix dl* tests to run-on-host

Bug: http://b/20121152
Change-Id: I1e1f41d885c75dbb26f91565a53a15d62ef72ce6

9 years agoAdd Elfxx_Ver* types
Dmitriy Ivanov [Thu, 9 Apr 2015 20:58:53 +0000 (13:58 -0700)]
Add Elfxx_Ver* types

Bug: http://b/20139821
Change-Id: I7a367b08faa3bf5c005996c066cd35709f533265

9 years agoMerge "Use assembly memmove for all arm32 processors."
Christopher Ferris [Thu, 9 Apr 2015 17:41:58 +0000 (17:41 +0000)]
Merge "Use assembly memmove for all arm32 processors."

9 years agoMerge "Provide writer preference option in rwlock."
Yabin Cui [Thu, 9 Apr 2015 17:19:02 +0000 (17:19 +0000)]
Merge "Provide writer preference option in rwlock."

9 years agoMerge "Upgrade timezone data to 2015b"
Neil Fuller [Thu, 9 Apr 2015 13:45:03 +0000 (13:45 +0000)]
Merge "Upgrade timezone data to 2015b"

9 years agoUpgrade timezone data to 2015b
Neil Fuller [Wed, 8 Apr 2015 17:26:22 +0000 (18:26 +0100)]
Upgrade timezone data to 2015b

  Changes affecting future time stamps

    Mongolia will start observing DST again this year, from the last
    Saturday in March at 02:00 to the last Saturday in September at 00:00.
    (Thanks to Ganbold Tsagaankhuu.)

    Palestine will start DST on March 28, not March 27.  Also,
    correct the fall 2014 transition from September 26 to October 24.
    Adjust future predictions accordingly.  (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps

    The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a
    regression.  (Thanks to Stuart Bishop for reporting the problem.)

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: America/Antigua, America/Cayman,
    Pacific/Midway, and Pacific/Saipan.

  Changes affecting time zone abbreviations

    Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD".
    (Thanks to Hank W.)

Bug: 19887183
Change-Id: I1b4bdc5ae5cf778908a77893d7f8db8a4117e1e1

9 years agoMerge "Update update-tzdata.py tool to generate ICU4J data jars"
Neil Fuller [Thu, 9 Apr 2015 09:39:56 +0000 (09:39 +0000)]
Merge "Update update-tzdata.py tool to generate ICU4J data jars"

9 years agoUpdate update-tzdata.py tool to generate ICU4J data jars
Neil Fuller [Thu, 9 Apr 2015 08:22:25 +0000 (09:22 +0100)]
Update update-tzdata.py tool to generate ICU4J data jars

The ICU4J changes are not necessary for use on Android (since
we use the ICU4C .dat file), but updating them ensures that
the .jars in sync with everything else and the jars are currently
required for host tests.

Change-Id: Ie56b31af87e8fbd27a6489af8287e4b6a7be6b8f

9 years agoUse assembly memmove for all arm32 processors.
Christopher Ferris [Thu, 2 Apr 2015 22:47:35 +0000 (15:47 -0700)]
Use assembly memmove for all arm32 processors.

Bug: 15110993
Change-Id: Ia3dcd6b8c4032f8c72b6f2e628b635ce99667c09

9 years agoMerge "Reject changes with cleanspecs."
Dan Albert [Wed, 8 Apr 2015 22:52:44 +0000 (22:52 +0000)]
Merge "Reject changes with cleanspecs."

9 years agoProvide writer preference option in rwlock.
Yabin Cui [Tue, 17 Mar 2015 21:22:09 +0000 (14:22 -0700)]
Provide writer preference option in rwlock.

Previous implementation of rwlock contains four atomic variables, which
is hard to maintain and change. So I make following changes in this CL:

1. Add pending flags in rwlock.state, so we don't need to synchronize
between different atomic variables. Using compare_and_swap operations
on rwlock.state is enough for all state change.

2. Add pending_lock to protect readers/writers waiting and wake up
operations. As waiting/wakeup is not performance critical, using a
lock is easier to maintain.

3. Add writer preference option.

4. Add unit tests for rwlock.

Bug: 19109156

Change-Id: Idcaa58d695ea401d64445610b465ac5cff23ec7c

9 years agoMerge "Stop libc from cross-referencing unwind symbols"
Dmitriy Ivanov [Tue, 7 Apr 2015 19:21:31 +0000 (19:21 +0000)]
Merge "Stop libc from cross-referencing unwind symbols"

9 years agoMerge "Changes to re-enable overrides for tz data"
Neil Fuller [Tue, 7 Apr 2015 12:55:04 +0000 (12:55 +0000)]
Merge "Changes to re-enable overrides for tz data"

9 years agoMerge "Fix x86_64 build"
Dmitriy Ivanov [Tue, 7 Apr 2015 02:08:43 +0000 (02:08 +0000)]
Merge "Fix x86_64 build"

9 years agoFix x86_64 build
Dmitriy Ivanov [Tue, 7 Apr 2015 02:05:58 +0000 (19:05 -0700)]
Fix x86_64 build

Change-Id: Id81c059bf3ecdb9cc84d04d16ffda34baaadc5a1

9 years agoStop libc from cross-referencing unwind symbols
Dmitriy Ivanov [Sat, 4 Apr 2015 01:41:42 +0000 (18:41 -0700)]
Stop libc from cross-referencing unwind symbols

  This makes unwind symbols 'protected',
  which should prevent them from relocating
  against libc++.so/libcutls.so.

  This is temporary file and it is going
  to be removed once libc.so stops exporting
  them.

Bug: http://b/19958712
Change-Id: I96a765afe47e68d2e2ceb288870e63a25ca52081

9 years agoMerge "Add realpath for soinfo"
Dmitriy Ivanov [Tue, 7 Apr 2015 00:14:56 +0000 (00:14 +0000)]
Merge "Add realpath for soinfo"

9 years agoReject changes with cleanspecs.
Dan Albert [Mon, 6 Apr 2015 19:43:55 +0000 (12:43 -0700)]
Reject changes with cleanspecs.

Cleanspecs must not be removed once they have been built. This means
they can't be reverted, or reliably cherry-picked. Just skip any
changes that include them since they make such a mess.

Change-Id: I3df8d81f93651d573485de7a75ecf5c6278c0001

9 years agoAdd realpath for soinfo
Dmitriy Ivanov [Tue, 31 Mar 2015 18:14:03 +0000 (11:14 -0700)]
Add realpath for soinfo

  This change adds realpath to soinfo and
  extends limit on filenames from 128 to PATH_MAX.

  It also removes soinfo::name field, linker uses
  dt_soname instead.

Bug: http://b/19818481
Bug: https://code.google.com/p/android/issues/detail?id=80336
Change-Id: I9cff4cb5bda3ee2bc74e1bbded9594ea7fbe2a08

9 years agoMerge "Add a test for getdelim(3) on a directory."
Elliott Hughes [Mon, 6 Apr 2015 19:36:13 +0000 (19:36 +0000)]
Merge "Add a test for getdelim(3) on a directory."

9 years agoAdd a test for getdelim(3) on a directory.
Elliott Hughes [Sun, 5 Apr 2015 17:51:56 +0000 (10:51 -0700)]
Add a test for getdelim(3) on a directory.

Apparently uClibc has a bug here. We don't, but let's keep it that way.

Bug: http://landley.net/notes.html#21-03-2015
Change-Id: If406df963db9bee47921d7a1c116ebcab08d96bf

9 years agoMerge "Fix bug for recursive/errorcheck mutex on 32-bit devices."
Yabin Cui [Sat, 4 Apr 2015 19:31:54 +0000 (19:31 +0000)]
Merge "Fix bug for recursive/errorcheck mutex on 32-bit devices."

9 years agoFix bug for recursive/errorcheck mutex on 32-bit devices.
Yabin Cui [Fri, 3 Apr 2015 00:47:48 +0000 (17:47 -0700)]
Fix bug for recursive/errorcheck mutex on 32-bit devices.

Bug: 19216648
Change-Id: I3b43b2d18d25b9bde352da1e35f9568133dec7cf

9 years agoMerge "Add libdl dependency for target libraries"
Dmitriy Ivanov [Fri, 3 Apr 2015 22:54:06 +0000 (22:54 +0000)]
Merge "Add libdl dependency for target libraries"

9 years agoAdd libdl dependency for target libraries
Dmitriy Ivanov [Fri, 3 Apr 2015 22:17:52 +0000 (15:17 -0700)]
Add libdl dependency for target libraries

 Fixed x86_64 target build with gcc 4.9

Change-Id: Id3b1e9286c2bcbb8e3ac117bcef957304db7cfd3

9 years agoMerge "Try again to fix clang build."
Elliott Hughes [Fri, 3 Apr 2015 20:38:15 +0000 (20:38 +0000)]
Merge "Try again to fix clang build."

9 years agoTry again to fix clang build.
Elliott Hughes [Fri, 3 Apr 2015 20:37:18 +0000 (13:37 -0700)]
Try again to fix clang build.

I got the condition the wrong way round in the previous change.

Bug: http://b/20065774
Change-Id: I218b224b37f5fb2f7c7ec2f9af27472b340c4b15

9 years agoMerge "Fix clang build."
Elliott Hughes [Fri, 3 Apr 2015 20:12:02 +0000 (20:12 +0000)]
Merge "Fix clang build."

9 years agoFix clang build.
Elliott Hughes [Fri, 3 Apr 2015 20:09:10 +0000 (13:09 -0700)]
Fix clang build.

Apparently clang really doesn't want you to take the address of a builtin.
Since this is only a temporary hack, let's just shrug and accept that
clang-built volantis images won't work until we have new NVIDIA blobs.

Bug: http://b/20065774
Change-Id: I4c8e893b15a1af8f9c54d3f89bfef112b63d09b4

9 years agoMerge "Add ANDROID_DLEXT_FORCE_LOAD flag"
Dmitriy Ivanov [Fri, 3 Apr 2015 19:45:24 +0000 (19:45 +0000)]
Merge "Add ANDROID_DLEXT_FORCE_LOAD flag"

9 years agoMerge "Fix volantis boot."
Elliott Hughes [Fri, 3 Apr 2015 19:38:30 +0000 (19:38 +0000)]
Merge "Fix volantis boot."

9 years agoFix volantis boot.
Elliott Hughes [Fri, 3 Apr 2015 18:27:53 +0000 (11:27 -0700)]
Fix volantis boot.

NVIDIA binary blobs are assuming that __cache_clear, _Unwind_Backtrace,
and _Unwind_GetIP are all in some library that they link, but now we've
cleaned up this leakage, they're no longer getting it. Deliberately leak
the symbols from libc.so until we get new blobs.

Bug: http://b/20065774
Change-Id: I92ef07b2bce8d1ad719bf40dab41d745cd6904d4

9 years agoAdd ANDROID_DLEXT_FORCE_LOAD flag
Dmitriy Ivanov [Thu, 2 Apr 2015 23:03:56 +0000 (16:03 -0700)]
Add ANDROID_DLEXT_FORCE_LOAD flag

  This flag allows to force loading of the library
  in the case when for some reason multiple ELF files
  share the same filename (because the already-loaded
  library has been removed and overwritten, for example).

Change-Id: I798d44409ee13d63eaa75d685e99c4d028d2b0c1

9 years agoMerge "Look into local group on dlsym with RTLD_DEFAULT"
Dmitriy Ivanov [Thu, 2 Apr 2015 21:55:01 +0000 (21:55 +0000)]
Merge "Look into local group on dlsym with RTLD_DEFAULT"

9 years agoLook into local group on dlsym with RTLD_DEFAULT
Dmitriy Ivanov [Wed, 1 Apr 2015 21:45:10 +0000 (14:45 -0700)]
Look into local group on dlsym with RTLD_DEFAULT

  Fix dlsym to look into local group when called with
  RTLD_DEFAULT and RTLD_NEXT.

Bug: 17512583
Change-Id: I541354e89539c712af2ea4ec751e546913027084

9 years agoMerge "Remove _memset16 and _memset32 from mips/mips64 bionic."
Elliott Hughes [Thu, 2 Apr 2015 20:35:20 +0000 (20:35 +0000)]
Merge "Remove _memset16 and _memset32 from mips/mips64 bionic."

9 years agoMerge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices."
Yabin Cui [Thu, 2 Apr 2015 20:27:40 +0000 (20:27 +0000)]
Merge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices."

9 years agoMerge "gtest_repeat should allow negative values."
Christopher Ferris [Thu, 2 Apr 2015 19:19:38 +0000 (19:19 +0000)]
Merge "gtest_repeat should allow negative values."

9 years agogtest_repeat should allow negative values.
Christopher Ferris [Thu, 2 Apr 2015 19:02:55 +0000 (12:02 -0700)]
gtest_repeat should allow negative values.

If you pass in a negative value to gtest_repeat, it should run forever.
The new runner didn't allow this, now it does.

Change-Id: Ie0002c12e2fdad22b264adca37c165cfcfe05c7a

9 years agoRemove _memset16 and _memset32 from mips/mips64 bionic.
Elliott Hughes [Thu, 2 Apr 2015 17:34:58 +0000 (10:34 -0700)]
Remove _memset16 and _memset32 from mips/mips64 bionic.

These should be in libcutils instead.

Change-Id: Ibbc94755e6da61bf9ce2c8f9a047a082bb9bce24

9 years agoMerge "linker: never mark pages simultaneously writable / executable"
Nick Kralevich [Thu, 2 Apr 2015 13:29:48 +0000 (13:29 +0000)]
Merge "linker: never mark pages simultaneously writable / executable"

9 years agoRefactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.
Yabin Cui [Sat, 14 Feb 2015 00:21:25 +0000 (16:21 -0800)]
Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.

Bug: 19216648
Change-Id: I765ecacc9036659c766f5d1f6600e1a65364199b

9 years agolinker: never mark pages simultaneously writable / executable
Nick Kralevich [Wed, 1 Apr 2015 23:57:50 +0000 (16:57 -0700)]
linker: never mark pages simultaneously writable / executable

When the Android dynamic linker handles a text relocation,
it first relaxes the permissions on the segment being modified,
performs the modifications, and then restores the page permissions.
The relaxation worked by adding PROT_WRITE to whatever protection
bits were set in the section. In effect, the pages were getting set
to PROT_READ|PROT_WRITE|PROT_EXEC, modified, then restored to
PROT_READ|PROT_EXEC

The SELinux kernel code differentiates between 4 different kinds
of executable memory:
* Executable stack (execstack)
* Executable heap (execheap)
* File-based executable code which has been modified (execmod)
* All other executable memory (execmem)

The execmod capability is only triggered by the kernel when a
dirty but non-executable mmap()ed page becomes executable. When that
occurs, an SELinux policy check is done to see if the execmod capability
is provided by policy.

However, if the page is already executable, and PROT_WRITE is added
to the page, it's considered an execmem permission check, not an execmod
permission check.

There are certain circumstances where we may want to distinguish between
execmod and execmem. This change adjusts the dynamic linker to avoid
using RWX pages, so that an RX -> RW -> RX transition will properly
be detected as an execmod permission check instead of an execmem permission
check.

Bug: 20013628
Change-Id: I14d7be29170b156942f9809023f3b2fc1f37846c

9 years agoMerge "Don't export new/delete from libc shared libraries."
Dan Albert [Wed, 1 Apr 2015 23:33:53 +0000 (23:33 +0000)]
Merge "Don't export new/delete from libc shared libraries."

9 years agoDon't export new/delete from libc shared libraries.
Dan Albert [Wed, 1 Apr 2015 23:26:54 +0000 (16:26 -0700)]
Don't export new/delete from libc shared libraries.

This used to be handled by -fvisibility=hidden on libc_cxa, but that
was broken by the resolution of https://llvm.org/PR22419 (introduced
to Android in today's clang update).

Now we just use a version script that prevents these from being
re-exported from our shared libraries.

Change-Id: Ib290e1d0d7426e09ad17a91178162fff6dbdcfa9

9 years agoMerge "Revert "Remove text-relocation support for lp32""
Dimitry Ivanov [Wed, 1 Apr 2015 21:28:28 +0000 (21:28 +0000)]
Merge "Revert "Remove text-relocation support for lp32""

9 years agoRevert "Remove text-relocation support for lp32"
Dimitry Ivanov [Wed, 1 Apr 2015 21:18:48 +0000 (21:18 +0000)]
Revert "Remove text-relocation support for lp32"

This reverts commit cb00add1b382d1e3045876d7e1ccbee2fdce976b.

Bug: 20020312
Bug: 20013628
Change-Id: I8baa3d4b6c7fef50c9e2531257d5b96762099eb3

9 years agoMerge "Fix ftw tests when run as non-root."
Elliott Hughes [Wed, 1 Apr 2015 19:32:15 +0000 (19:32 +0000)]
Merge "Fix ftw tests when run as non-root."

9 years agoFix ftw tests when run as non-root.
Elliott Hughes [Wed, 1 Apr 2015 19:22:40 +0000 (12:22 -0700)]
Fix ftw tests when run as non-root.

Root can create subdirectories inside non-writable directories, but
other users can't.

Change-Id: I102fe610d1bd2733aebf184b544e58612465287d

9 years agoMerge "Update README.md for running tests on the host."
Elliott Hughes [Wed, 1 Apr 2015 19:20:08 +0000 (19:20 +0000)]
Merge "Update README.md for running tests on the host."

9 years agoUpdate README.md for running tests on the host.
Elliott Hughes [Wed, 1 Apr 2015 19:16:56 +0000 (12:16 -0700)]
Update README.md for running tests on the host.

Change-Id: Ib360d91bffd269e7acdb20ad33a7bd85345a1475

9 years agoMerge "Remove text-relocation support for lp32"
Dmitriy Ivanov [Wed, 1 Apr 2015 01:37:46 +0000 (01:37 +0000)]
Merge "Remove text-relocation support for lp32"

9 years agoMerge "stubs missing include for string.h"
Mark Salyzyn [Wed, 1 Apr 2015 00:55:18 +0000 (00:55 +0000)]
Merge "stubs missing include for string.h"

9 years agoMerge "Make ThreadLocalBuffer a class rather than a macro."
Elliott Hughes [Wed, 1 Apr 2015 00:51:56 +0000 (00:51 +0000)]
Merge "Make ThreadLocalBuffer a class rather than a macro."

9 years agoRemove text-relocation support for lp32
Dmitriy Ivanov [Wed, 1 Apr 2015 00:28:24 +0000 (17:28 -0700)]
Remove text-relocation support for lp32

Bug: 20013628
Change-Id: Idaf8012f00ee1304d429c3b42f9ebc6b648c55b8

9 years agostubs missing include for string.h
Mark Salyzyn [Tue, 31 Mar 2015 23:55:42 +0000 (16:55 -0700)]
stubs missing include for string.h

stubs.cpp gets string.h inherited from private/android_filesystem_config.h
it should not rely on this in the future. The intent is to move fs_config
function into libcutils and thus deprecate any need for string.h in this
include file.

Change-Id: I946ec1979ef5bbb34fbcb4a99bf2cd79280bb2a3

9 years agoMerge "Upgrade kernel headers to 3.18.10."
Christopher Ferris [Tue, 31 Mar 2015 22:37:04 +0000 (22:37 +0000)]
Merge "Upgrade kernel headers to 3.18.10."

9 years agoUpgrade kernel headers to 3.18.10.
Christopher Ferris [Tue, 31 Mar 2015 21:57:48 +0000 (14:57 -0700)]
Upgrade kernel headers to 3.18.10.

Change-Id: Iff1f1c830780585990856a5114b559c61282dcd6

9 years agoMerge "Fix long lines and replace macros with functions."
Dmitriy Ivanov [Tue, 31 Mar 2015 20:19:52 +0000 (20:19 +0000)]
Merge "Fix long lines and replace macros with functions."

9 years agoFix long lines and replace macros with functions.
Dmitriy Ivanov [Tue, 31 Mar 2015 01:43:38 +0000 (18:43 -0700)]
Fix long lines and replace macros with functions.

Change-Id: I4e1cab488d5b2c8e4289da617350a86e72a4ba12

9 years agoMake ThreadLocalBuffer a class rather than a macro.
Elliott Hughes [Tue, 31 Mar 2015 17:56:58 +0000 (10:56 -0700)]
Make ThreadLocalBuffer a class rather than a macro.

Bug: 19995392
Change-Id: I497c512648fbe66257da3fb3bcd5c9911f983705

9 years agoMerge "Revert "Revert "add guard pages to the internal signal stacks"""
Yabin Cui [Tue, 31 Mar 2015 04:24:07 +0000 (04:24 +0000)]
Merge "Revert "Revert "add guard pages to the internal signal stacks"""

9 years agoRevert "Revert "add guard pages to the internal signal stacks""
Yabin Cui [Tue, 31 Mar 2015 03:03:57 +0000 (20:03 -0700)]
Revert "Revert "add guard pages to the internal signal stacks""

This reverts commit a3125fd1396a09a7fc4872dc4653f342150a3deb.
And Fix the prctl() problem that cause system crash.

Change-Id: Icc8d12d848cfba881a7984ca2827fd81be41f9fd