Compare commits

...

4285 Commits

Author SHA1 Message Date
Andreas Gampe
807032d0e1 resolve merge conflicts of 216bff9ff3 to mnc-dr-dev.
Change-Id: I63c4f3a4e56f30d6f476ad2c623c23ee7e1a3778
2015-10-22 22:15:26 -07:00
Christopher Ferris
216bff9ff3 resolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.
am: afff4442ae

* commit 'afff4442ae092469f298a71862d61c65ceb67b03':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-22 22:27:54 +00:00
Christopher Ferris
afff4442ae resolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.
Change-Id: I56c1bb2adb4b6a48733c928415e788e689b4944e
2015-10-21 14:56:52 -07:00
Elliott Hughes
d676080a37 Sync with upstream NetBSD lib/libc/regex.
am: 055a66c9b1

* commit '055a66c9b1017c01b82c12b65a571bf9efad8b19':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-21 21:45:01 +00:00
Elliott Hughes
055a66c9b1 Sync with upstream NetBSD lib/libc/regex.
Bug: http://b/22850181
Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904

(cherry-picked from commit 71927a8237)
2015-10-19 10:42:31 -07:00
Elliott Hughes
43b1f823b5 am 1a61896b: am 98384649: am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '1a61896b1bc470f9377eeeafec461aba0d0dda6c':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 17:32:59 +00:00
Elliott Hughes
1a61896b1b am 98384649: am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '98384649b2d3f3eb5b03077bc0004e14a99a4d55':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 17:29:49 +00:00
Elliott Hughes
98384649b2 am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '753162836a0d3a82739611c9e30aa872363558b1':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 17:25:29 +00:00
Elliott Hughes
753162836a am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '2d23418e68acdab7e142cc75db2850a54aa829aa':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 10:14:41 -07:00
Elliott Hughes
2d23418e68 am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '18442e023536c5cf205b820ed5d74b972b710acb':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 10:07:34 -07:00
Elliott Hughes
18442e0235 am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit 'beb6e08abf1393663151afde2742bb23eccab4e1':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 15:34:19 +00:00
Elliott Hughes
beb6e08abf Sync with upstream NetBSD lib/libc/regex.
Bug: http://b/22850181
(cherry-picked from commit 71927a8237)

Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904
2015-10-16 17:52:55 -07:00
Neil Fuller
842866bd00 Merge "Update timezone data to 2015g" into mnc-dr-dev 2015-10-15 08:25:58 +00:00
Dimitry Ivanov
95ac6dbbb2 Merge "Ensure that readlink has access to /proc/self/fd" into mnc-dr-dev 2015-10-15 01:17:55 +00:00
Christopher Ferris
3c30a15652 Merge "Sync with upstream NetBSD lib/libc/regex." into mnc-dr-dev 2015-10-15 01:15:22 +00:00
Elliott Hughes
9a9572d577 Sync with upstream NetBSD lib/libc/regex.
Bug: http://b/22850181

(cherry picked from commit 71927a8237)

Change-Id: I4a914f0594a66f38efb3026b7ba9d28a4887cb2d
2015-10-14 16:30:08 -07:00
Dmitriy Ivanov
cf92738fa5 Ensure that readlink has access to /proc/self/fd
/proc/self/fd is not available when PR_DUMPABLE is set to 0
which is default for the user builds. It leads to permission
denials on readlink.

This change fixes the problem by setting PR_DUMPABLE flag to 1
for readlink and restoring it's previous value after the call.

Bug: http://b/24912743
Change-Id: I3fd179c5c6b56af96d6a15ee597024ccb15e1a13
2015-10-14 11:15:45 -07:00
Neil Fuller
cd9278798a Update timezone data to 2015g
Changes affecting future time stamps

    Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.
    (Thanks to Fatih.)

    Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
    (Thanks to Alexander Krivenyshev.)

    Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
    (Thanks to Ken Rylander.)

    Fort Nelson, British Columbia will not fall back on 2015-11-01. It has
    effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
    New zone America/Fort_Nelson.  (Thanks to Matt Johnson.)

  Changes affecting past time stamps

    Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.

Bug: 24595281
(cherry-picked from commit 31740bfdb9)

Change-Id: I6a57fbdaf12a4b4ebf2a760fd3bd872055621106
2015-10-14 08:54:17 +00:00
Dmitriy Ivanov
f32b689d3d Log dlopen failures caused by text relocations
Some apps will fail to load native libraries with
text relocations when switching target sdk version to M.
It could be hard to diagnose because some of them
suppress dlerror and/or UnsatisfiedLinkError.

This change unconditionally logs the error message making
the cause of the failure more visible to developers.

Bug: http://b/24876001
Change-Id: I0477a0d1307d0879000f3a3a43b974b4cf34bdb2
2015-10-13 11:13:19 -07:00
Torne (Richard Coles)
a828a2f8e6 linker: don't pass dlextinfo to dependent loads.
Don't pass the parent load's dlextinfo to dependent loads, since this
causes the linker to try to load the dependencies using the same
addresses/relro/fds/etc as the main library, which is never going to
work. This was how it worked before ae69a95 which broke this.

Bug: 23742664
Change-Id: I53d8cdf0982d8758e6d2ced4864c704cdf74118f
2015-10-08 12:28:39 -07:00
Christopher Ferris
4f3e3591ac am 93a91f0c: Force cts to only run one test at a time.
* commit '93a91f0cf4f015762ac1ed57395c4c0de8ba7db3':
  Force cts to only run one test at a time.
2015-09-29 15:11:45 +00:00
Christopher Ferris
93a91f0cf4 Force cts to only run one test at a time.
Also, slightly increase the timeout for each test run.

Bug: 24198050

(cherry picked from commit daaaed18ce)

Change-Id: I29e169e962da803a89abf0a28e071abcafa315b7
2015-09-25 15:33:20 -07:00
Yabin Cui
01030c24b0 Increase alternative signal stack size on 64-bit devices.
Bug: 23041777
Bug: 24187462
Change-Id: I7d84c0cc775a74753a3e8e101169c0fb5dbf7437
2015-09-23 16:36:20 -07:00
Neil Fuller
829119425b Update timezone data to 2015f
Changes affecting future time stamps

    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)
    The abbreviation remains "KST".  (Thanks to Robert Elz.)

    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen
    and Pablo Camargo.)

  Changes affecting past and future time stamps

    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
    (Thanks to Roman Tudos.)

Bug: 23480367
(cherry-picked from commit 6e7bc700e2)

Change-Id: I4d82604366e9e30a2100e09433e2772fe6957fff
2015-08-25 20:03:11 +01:00
Yabin Cui
0660be899f am a6a12a78: am 0fdcdd00: Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev
* commit 'a6a12a7804402273e193074a58162cc0b3890812':
  Fix flaky test time.timer_settime_0.
2015-08-11 19:05:43 +00:00
Yabin Cui
a6a12a7804 am 0fdcdd00: Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev
* commit '0fdcdd0067af88e7deef73070d0861ceb9f53c37':
  Fix flaky test time.timer_settime_0.
2015-08-11 18:56:43 +00:00
Yabin Cui
0fdcdd0067 Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev 2015-08-11 18:41:17 +00:00
Yabin Cui
bf572d91b5 Fix flaky test time.timer_settime_0.
It fixes the problem reported in https://code.google.com/p/android/issues/detail?id=182395.

Change-Id: Ie16aa04095dac08a62dd0d4c50e763b36526624c
2015-08-11 11:25:02 -07:00
Dmitriy Ivanov
de0fb393ae Restore protection flags for ifunc during relocs.
IFUNC relocations require executable flag for the load
segment containing .text. When dso has text relocs linker
removes exec which causes crash during ifunc relocations.

This patch fixes this problem by restoring segments protection
for ifunc relocs.

Bug: http://b/22611399
Change-Id: Icbf3be0fec0e42bf805bcad7533e2032a2e11b9c
2015-07-26 07:37:09 -07:00
Yabin Cui
b8320b8021 Don't abort when failed to write tracing message.
Also make the code thread-safe with lock.

Bug: 20666100
Change-Id: I0f331a617b75280f36179c187418450230d713ef
(cherry picked from commit 1661125315)
2015-07-23 12:24:42 -07:00
Dan Albert
7e52dbe4d2 Merge "Revert "Stop libc from cross-referencing unwind symbols"" into mnc-dev 2015-07-21 23:09:35 +00:00
Ying Wang
e39b279bb4 Merge "We don't have CXX_BARE any more" into mnc-dev 2015-07-21 20:51:28 +00:00
Christopher Ferris
aa55e7ad24 Add support for non-zero vaddr in maps.
If a map has a non-zero vaddr then it needs to be added to the
computed relative offset.

Bug: 22532054

(cherry picked from commit 70b6e1daff)

Change-Id: I1e98741d6ff3b5bbb7fc5f88cc85b27ace75ee2e
2015-07-21 10:32:28 -07:00
Ying Wang
9d11a7087c We don't have CXX_BARE any more
Now we have split CXX_WRAPPER from TARGET_CXX and CXX_BARE isn't needed
any more.

Bug: 22612634
Change-Id: I52c78b0d1b325910e875a786d17f780731778b4b
2015-07-20 18:51:30 -07:00
Dan Albert
d7ce90090f Revert "Stop libc from cross-referencing unwind symbols"
This reverts commit cd13b14e98.

Bug: http://b/19958712
Change-Id: I7cc7f69728c42c37e129aee30d761c4cd7e30e94
(cherry picked from commit 95fd031c4d)
2015-07-20 17:25:26 -07:00
Christopher Ferris
43d35c356e Merge "Do not hold hash table lock while backtracing." into mnc-dev 2015-07-13 20:15:30 +00:00
Christopher Ferris
9fee99b060 Do not hold hash table lock while backtracing.
There is a deadlock if holding the hash table lock while trying to do
a backtrace. Change the code so that the hash table lock is only held
while actually modifying either g_hash_table, or while modifying an
entry from g_hash_table.

Bug: 22423683
Change-Id: I604ea56f940f22e99da41ea4dcdf97bedaac268d
2015-07-13 12:17:50 -07:00
Neil Fuller
64c8254416 Merge "Update timezone data to 2015e" into mnc-dev 2015-07-10 09:47:55 +00:00
Dmitriy Ivanov
a5bb841df7 Fix memory-leak on soinfo_free()
Bug: http://b/22290728
Change-Id: I00747056db2cd3ff8b33936278464daed7236536
(cherry picked from commit 609f11b31e)
2015-07-09 17:03:37 -07:00
Elliott Hughes
65dd858239 Fix alignment after variable-length data.
In the serialized output from netd, the strings come first. Some code
assumes -- reasonably enough -- that it can do unaligned reads of pointers,
so we need to ensure alignment after all the strings.

Bug: http://b/21192318
Change-Id: I456639127db9a2583f7f738e6b8103375d9387fd
2015-07-06 14:37:46 -07:00
Dmitriy Ivanov
f643eb38c3 Improve personality initialization
1. Personality parameter should be unsigned int (not long)
2. Do not reset bits outside of PER_MASK when setting
   personality value.
3. Set personality for static executables.

Bug: http://b/21900686
Change-Id: I4c7e34079cbd59b818ce221eed325c05b9bb2303
2015-06-30 18:45:59 -07:00
Neil Fuller
ae02a0ae00 Update timezone data to 2015e
Changes affecting future time stamps

    Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
    not 06-13 and 07-18 as we had guessed.  (Thanks to Milamber.)

    Assume Cayman Islands will observe DST starting next year, using US rules.
    Although it isn't guaranteed, it is the most likely.

Bug: 21836574
Change-Id: I30ab9ba8524c79e389ed0ff8c4af4378b7048265
2015-06-30 16:21:34 +01:00
Erik Kline
754f669076 Pass around struct android_net_context for better behaviour
Group network context elements in to a single struct and
add a version of android_getaddrinfofornet() that accepts it.

The introduction of UID-based routing means that the UID is an
integral part of the network context when evaluating connectivity,
sorting addresses, etc.

Also, introduce a distinction between DNS netids/marks and those
expected to be used by the application.  This can be important
when the network an application is using is not the same as the
network on which DNS queries will be issued.

Additionally, de-duplicate the UDP connect logic (collapse both
_test_connect() and _find_src_addr() into just the latter).

Bug: 19470192
Bug: 20733156
Bug: 21832279
Change-Id: If16c2f4744695f507993afdac078ca105eb5d3e4
(cherry picked from commit 01e37c9665)
2015-06-30 12:12:08 +09:00
Dmitriy Ivanov
f7d5bf334d Lock on dl_interate_phdr
There is possibility of someone dlclosing a library
while dl_iterate_phdr in progress which can lead to
dl_iterate_phdr calling callback with invalid address
if it was unmapped by dlclose.

Bug: http://b/22047255
Change-Id: I3fc0d9fd2c51fb36fd34cb035f37271fa893a7be
2015-06-29 14:48:25 -07:00
Dmitriy Ivanov
06700b2b5e Fix crash when trying to load invalid ELF file.
Bug: http://b/22047255
Bug: http://b/22091640
Change-Id: I6c51cff43287a6ac4b25fa9ce6a6fc3d232fd047
2015-06-25 17:03:26 -07:00
Dimitry Ivanov
fb3357e2eb Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
This reverts commit 40d9e7bf84.

Bug: http://b/22045439
Change-Id: Ia9c56f65d35e404332a462f46460335cef39f0a4
2015-06-24 20:42:33 +00:00
Duane Sand
40d9e7bf84 [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
Enables running of older MIPS NDK-built apps on mips64r6.

Works with kernel supporting FRE emulation, and old kernels.

Bug: http://b/21555893
Change-Id: I13923fe62cd83ad1d337f13a50f2eda2dfdd906f
(cherry picked from commit d02ec08427)
2015-06-23 10:33:37 -07:00
Elliott Hughes
2b028f5ce4 Fix bad merge of 64e9e71cdb.
Bug: http://b/22029751
Change-Id: I6245fe5f274c9af8a632da5eebe50cf9fe29dc4a
2015-06-23 09:14:16 -07:00
Dmitriy Ivanov
d6d6c0c4f1 Merge "Remove libdl* tests from bionic-unit-tests-static" into mnc-dev 2015-06-22 19:25:37 +00:00
Dmitriy Ivanov
5fa858c565 Merge "Remove text-relocs support for apps targeting M+" into mnc-dev 2015-06-22 19:25:15 +00:00
Dmitriy Ivanov
96ebdcdca0 Remove libdl* tests from bionic-unit-tests-static
Bug: http://b/21900592
Change-Id: I907cc15684b121ec2fbdeca49fc584bb6d2eaacc
(cherry picked from commit de4e27e231)
2015-06-22 12:24:36 -07:00
Yabin Cui
cb06075903 am 8beb0c34: am b245bc75: am 0f455612: Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev
* commit '8beb0c34da46a5146a2de8256db8bb42febb283c':
  Fix flaky test of timer_create_multiple in L.
2015-06-19 19:06:22 +00:00
Yabin Cui
8beb0c34da am b245bc75: am 0f455612: Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev
* commit 'b245bc750021ce6d220e71625fca66620cdd1f05':
  Fix flaky test of timer_create_multiple in L.
2015-06-19 18:55:51 +00:00
Yabin Cui
b245bc7500 am 0f455612: Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev
* commit '0f455612d3325932a851418634a17a61307948c5':
  Fix flaky test of timer_create_multiple in L.
2015-06-19 18:40:59 +00:00
David Srbecky
c08c88b5fc Merge "Add flag that makes linker honor min(p_vaddr)" into mnc-dev 2015-06-19 18:26:21 +00:00
Yabin Cui
0f455612d3 Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev 2015-06-19 18:00:53 +00:00
Yabin Cui
410c1adf5f Fix flaky test of timer_create_multiple in L.
Bug: 20677618
Change-Id: I0cb5faf77edce042b10611543180f3e2e73d3d05
2015-06-18 16:19:02 -07:00
Dmitriy Ivanov
34e8e47d32 Add flag that makes linker honor min(p_vaddr)
(cherry picked from commit 8a11628355)

Bug: 21924613
Bug: http://b/21523078
Change-Id: I3f944a08dd2ed1df4d8a807da4fee423fdd35eb7
2015-06-18 23:58:34 +01:00
Christopher Ferris
7d6410e957 Merge "[MIPS] Add optimized string functions" into mnc-dev 2015-06-18 00:18:40 +00:00
Nikola Veljkovic
1d824c3912 [MIPS] Add optimized string functions
Use same string functions for all MIPS architectures.

Bug: 21555893
(cherry picked from commit 38f2eaa07b)

Change-Id: I94521f023d0bb136a4672782148a9f6e77cc6f1e
2015-06-17 17:02:11 -07:00
Dmitriy Ivanov
28154f5c56 Improve library lookup logic
Linker tries to open a library even if it can
be found by soname. This only happens if the
library was previously opened under different
target sdk version.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: I7dbbcc3b49933bffd89ca0af55371e1a1f2bf4c2
2015-06-17 16:36:03 -07:00
Dmitriy Ivanov
4d0d31475f Add versions to libm.so symbols
Bug: http://b/20139821
Change-Id: Ifdfcac62d59eb8f0985990aa8512046ecb87449e
(cherry picked from commit 636f5ddddc)
2015-06-17 13:50:37 -07:00
Dimitry Ivanov
6b37515c38 Merge "Revert "Improve library lookup logic"" into mnc-dev 2015-06-17 20:43:23 +00:00
Dimitry Ivanov
1eba2f4ce1 Revert "Improve library lookup logic"
This reverts commit ea4ef52fa4.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: I23ddbd69294023c56c9cbabad29d26c8f736ab43
2015-06-17 20:42:20 +00:00
Dmitriy Ivanov
462df82902 Merge "Improve library lookup logic" into mnc-dev 2015-06-17 17:15:06 +00:00
Elliott Hughes
d49850d6ab Fixes for building gdbserver (and gdb) out of the box.
Bug: http://b/21695943
Change-Id: Iadb600b2ae619515d7038a4db9bf464ba31adb36
(cherry picked from commit 895241efbb)
2015-06-16 16:59:49 -07:00
Dmitriy Ivanov
ea4ef52fa4 Improve library lookup logic
Linker tries to open a library even if it can
be found by soname. This only happens if the
library was previously opened under different
target sdk version.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: I769a04b6b1368a107d43f399297be14050338bbc
2015-06-16 16:52:21 -07:00
Tim Murray
848276051a Merge "Add support for cortex-a53 in bionic." into mnc-dev 2015-06-16 20:47:17 +00:00
Tim Murray
c34df8b280 Add support for cortex-a53 in bionic.
allows -mcpu=cortex-a53 to be passed as part of a command line.

Change-Id: Id4203a9fd197f4c3b661bad21ac58c32819fd687
2015-06-16 13:43:19 -07:00
Dmitriy Ivanov
420574690c Add version to libc.so symbols
Bug: http://b/21617095
Bug: http://b/20139821
Change-Id: If3d42d2a0b4a0c49721fd9b9ecbb4f7bee5a1eff
(cherry picked from commit 665607a6b7)
2015-06-16 11:08:01 -07:00
Elliott Hughes
929be68849 Hide accidentally-exposed __clock_nanosleep.
Bug: http://b/21858067
Change-Id: Iaa83a5e17cfff796aed4f641d0d14427614d9399
(cherry picked from commit b1304935b6)
2015-06-16 10:44:24 -07:00
Elliott Hughes
f1c85411a8 Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.
We don't want to use <asm/ptrace.h> because (a) it'll drag in a bunch of
namespace pollution and (b) the registers should be "long double" for
userspace, not the kernel's uint128s. So just use a slightly different
name for our struct (which matches the traditional names for these structs
anyway).

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: I8812ca98cfe6b649dbd31f7d6aea41928ba2acbd
(cherry picked from commit 0577733c2e)
2015-06-15 19:02:40 -07:00
Dan Albert
cce405a134 Add a sys/procfs.h.
Needed for building gdbserver out of the box.

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: Ieadda2b595f08bfddfa61fcd68006b8e7c1a438d
(cherry picked from commit bf18c61798)
2015-06-15 18:39:02 -07:00
Elliott Hughes
7051c0f2a5 Fix two accidentally leaked mips64 symbols.
Bug: http://b/21857154
Change-Id: Ie1fb63f54c6c527b8c1172e8f6ce48f23fca9b41
(cherry picked from commit 469b418784)
2015-06-15 18:36:48 -07:00
Sharvil Nanavati
fdcaeac1a9 am 00cef820: am 64e9e71c: Define nonportable pthread mutex macros with the _NP suffix.
* commit '00cef82013c0826bb43c11651d25de8b99335618':
  Define nonportable pthread mutex macros with the _NP suffix.
2015-06-15 15:48:00 +00:00
Dmitriy Ivanov
3e6f780754 Remove text-relocs support for apps targeting M+
Remove support of text-relocations for apps targeting sdk version > 22

Bug: http://b/20013628
Change-Id: I2127739544480c747315e32df15dfbd1b79de4f5
2015-06-12 15:09:54 -07:00
Sharvil Nanavati
00cef82013 am 64e9e71c: Define nonportable pthread mutex macros with the _NP suffix.
* commit '64e9e71cdb7d88397e510e1986d494b797ed3b45':
  Define nonportable pthread mutex macros with the _NP suffix.
2015-06-12 20:13:46 +00:00
Sharvil Nanavati
64e9e71cdb Define nonportable pthread mutex macros with the _NP suffix.
Change-Id: I1066352e5b2607f64daf6aeb0030d0bbe88ead8d
2015-06-12 10:56:17 -07:00
Dmitriy Ivanov
ae1e75458a Merge "Make path to apk compliant with jar url format" into mnc-dev 2015-06-11 21:55:09 +00:00
Dmitriy Ivanov
38263dd91a Fix l_addr for the linker
Bug: http://b/21765603
Change-Id: I97710ef2436eac2160e29ba3e4521f6e63a1907c
(cherry picked from commit 175dae92d7)
2015-06-10 20:05:48 -07:00
Elliott Hughes
25ac753f47 Add process_vm_readv and process_vm_writev.
Bug: http://b/21761353
Change-Id: Ic8ef3f241d62d2a4271fbc783c8af50257bac498
(cherry picked from commit be57a40d29)
2015-06-10 18:55:06 -07:00
Elliott Hughes
eeb1d33a31 Merge "Statically linked executables should honor AT_SECURE." into mnc-dev 2015-06-11 00:55:40 +00:00
Dmitriy Ivanov
79b3877a13 Fix application_sdk_versions_smoke test
Bug: http://b/21364029
Change-Id: I9716d6b0ea7fae6483629a290dbe695b68526588
2015-06-10 16:55:50 -07:00
Elliott Hughes
66c3b2db2f Statically linked executables should honor AT_SECURE.
Bug: http://b/19647373
Change-Id: I10e7682d9cec26a523f1a3597ca5326c3ca42ebe
(cherry picked from commit 1801db3d3f)
2015-06-10 16:10:18 -07:00
Dmitriy Ivanov
07f4f5f9ed Check if strtab exists before using it
Bug: http://b/21696087
Change-Id: I1e22d5fd6fe2faead332249493123c9a085081e9
(cherry picked from commit 624b8f17a1)
2015-06-10 15:25:48 -07:00
Christopher Ferris
511cfd9dc8 Allow NULL in pthread_mutex_lock/unlock.
The pthread_mutex_lock and pthread_mutex_unlock were allowed to
fail silently on L 32 bit devices when passed a NULL. We changed
this to a crash on 32 bit devices, but there are still games that make
these calls and are not likely to be updated. Therefore, once again
allow NULL to be passed in on 32 bit devices.

Bug: 19995172
Change-Id: If7e8860075ecd63c0064d80f64e226fad7bd3c26
2015-06-09 18:46:15 -07:00
Dmitriy Ivanov
524f1f1efe Make path to apk compliant with jar url format
Bug: http://b/21726698
Bug: http://b/8076853
Change-Id: I8c1942a98fe3119746b4dc9f60a7ff215ea7009c
2015-06-09 13:47:46 -07:00
Ying Wang
26e663d479 Fix Mac checkbuild.
Bug: 21669400
Change-Id: I54691661605a2e2c1871781964aed343840b8560
(cherry-pick from commit 33c2d441b8f816722bed984c6e12b82b888c3ca2)
2015-06-08 12:20:16 -07:00
Christopher Ferris
e49af9bca5 Export two dlmalloc functions everywhere.
The functions dlmalloc_inspect_all and dlmalloc_trim get
exported on devices that use dlmalloc, so be consistent and
export them everywhere.

Bug: 21640784
(cherry picked from commit f9554a1776)

Change-Id: I1000221423c16c356bb6301e55f726db01c3f209
2015-06-06 13:25:56 -07:00
Christopher Ferris
7a799f2b02 Fix a few libc makefile mishaps.
These are the problems fixed in this CL:

- The ndk_cruft.cpp file was not compiled for 64 bit.
- Some files where not compiled for libc_bionic.a due to a missing
  patch-up-arch-specific-flags call.
- The libc_bionic_ndk.a patch up call was using bionic src, not
  the bionic_ndk_src_files.
- Move mmap.cpp to the ndk src list where it was before because of
  the above errors.

Bug: 21640784
(cherry picked from commit 19fee2ca8b)

Change-Id: Ib9a9cfd72720586d3400b11cd7189f021e9a06c6
2015-06-06 13:25:32 -07:00
Yabin Cui
e997e9155e am 61b040a5: resolved conflicts for merge of ea248d9c to lmp-mr1-ub-dev
* commit '61b040a57094093cfb090ebb1c321d4a69c20b64':
  Make sys_resource test more robust.
2015-06-05 02:18:45 +00:00
Dmitriy Ivanov
c534603f8d Hide __atexit
Bug: http://b/21640806
Change-Id: I778b35c8c7538859179e97fcf5a82db2fcd9e50f
(cherry picked from commit 9cf6fc304b)
2015-06-04 14:51:26 -07:00
Christopher Ferris
f2e86cd980 Merge "Reorder DIR structure due to bad apps." into mnc-dev 2015-06-04 20:57:57 +00:00
Christopher Ferris
5edb0f40f6 Reorder DIR structure due to bad apps.
It turns out that apportable apps expect that the DIR structure is
the same as in L and below. Modify the structure to have the same
order, and move the new variable to the end of the structure.

Bug: 21037208
Change-Id: Id1258e9dc19423109a2c3a8086d3022965591166
2015-06-04 13:30:45 -07:00
Dmitriy Ivanov
34de7f8497 Strip version info when extracting symbols
Bug: http://b/20139821
Change-Id: I1c1ed1b97a75936407e996698b98b94a7175ac30
(cherry picked from commit 6cda074289)
2015-06-04 11:15:13 -07:00
Dmitriy Ivanov
0c29aabad2 Merge "Backward compatibility for dlsym(RTLD_DEFAULT, ...)" into mnc-dev 2015-06-03 01:09:34 +00:00
Dmitriy Ivanov
04f7e3e955 Backward compatibility for dlsym(RTLD_DEFAULT, ...)
Do not skip RTLD_LOCAL libraries in dlsym(RTLD_DEFAULT, ...)
 if the library is opened by application with target api level <= 22

Bug: http://b/21565766
Bug: http://b/17512583
Change-Id: Ic45ed1e4f53e84cba9d74cab6b0049c0c7aa8423
2015-06-02 18:06:24 -07:00
Yabin Cui
61b040a570 resolved conflicts for merge of ea248d9c to lmp-mr1-ub-dev
Change-Id: I362ab2e25e3368c71cb1af51cee2e8fb5ce53e61
2015-06-02 16:47:42 -07:00
Yabin Cui
ea248d9ca8 Merge "Make sys_resource test more robust." into lollipop-cts-dev
automerge: 492a0bf

* commit '492a0bf212973baa1c33d584d57e75395774447f':
  Make sys_resource test more robust.
2015-06-02 22:03:23 +00:00
Nick Kralevich
f56bad974b Merge "libc: Add O_PATH support for fgetxattr / fsetxattr" into mnc-dev 2015-06-02 22:02:43 +00:00
Yabin Cui
492a0bf212 Merge "Make sys_resource test more robust." into lollipop-cts-dev 2015-06-02 22:02:29 +00:00
Yabin Cui
e7ece90b50 Make sys_resource test more robust.
Bug: 19482626

"ulimit -c xxx" command may run before bionic-unit-tests.
Make sure sys_resource test fails gently in that case.

Change-Id: Ic3b5ed8b20acba56df8c5ef082c88e5050e761aa
(cherry picked from commit 4853f40f3f)
2015-06-02 14:40:26 -07:00
Dmitriy Ivanov
38c37d6705 Work around for libraries without dt_soname
Applies only for apps targeting sdk version <= 22

Bug: http://b/21565766
Change-Id: If0bf2229dc1341e9ca09f9a05d0890515273d5a2
2015-06-02 13:45:15 -07:00
Nick Kralevich
c92f9f8069 libc: Add O_PATH support for fgetxattr / fsetxattr
Support O_PATH file descriptors when handling fgetxattr and fsetxattr.
This avoids requiring file read access to pull extended attributes.

This is needed to support O_PATH file descriptors when calling
SELinux's fgetfilecon() call. In particular, this allows the querying
and setting of SELinux file context by using something like the following
code:

  int dirfd = open("/path/to/dir", O_DIRECTORY);
  int fd = openat(dirfd, "file", O_PATH | O_NOFOLLOW);
  char *context;
  fgetfilecon(fd, &context);

This change was motivated by a comment in
https://android-review.googlesource.com/#/c/152680/1/toys/posix/ls.c

(cherrypicked from commit 2825f10b7f)

Change-Id: Ic0cdf9f9dd0e35a63b44a4c4a08400020041eddf
2015-06-02 10:08:05 -07:00
Dmitriy Ivanov
c4ebe60e1a Fix dlsym(handle_of_main_executable, ...)
According to man dlopen(3) and posix docs in the case when si is handle
  of the main executable we need to search not only in the executable and its
  dependencies but also in all libraries loaded with RTLD_GLOBAL.

  see also: http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlopen.html

Bug: http://b/21528224
Bug: http://b/17512583
Bug: https://code.google.com/p/android/issues/detail?id=173822
Change-Id: Ib2801367ba48b6f3704da89a6d9f5e6911430013
(cherry picked from commit f439b5a318)
2015-06-01 16:57:33 -07:00
Dan Albert
c5e02eeb35 Cleanup ftruncate negative test.
Addresses post-submit comments from
I54692ab8105dd09db6af7a2c0894a17bdd118aa0.

Bug: http://b/21309901
Change-Id: Ie19ee8cdcc4055a65fe7dfc103156e54eafe8977
(cherry picked from commit 9d476a02e9)
2015-06-01 13:24:36 -07:00
Dan Albert
5f3e19dbbe Fix error handling for negative size in ftruncate.
Bug: 21309901
Change-Id: I54692ab8105dd09db6af7a2c0894a17bdd118aa0
(cherry picked from commit c05554ec5c)
2015-06-01 11:28:13 -07:00
Dmitriy Ivanov
ca10ac6dd4 Improve some of error/warning messages
Bug: http://b/20464031
Change-Id: I948141c46f9e054fc45f5934153dee56ce3cd558
(cherry picked from commit 087005f37e)
2015-05-28 15:28:41 -07:00
Dmitriy Ivanov
4a7c3af054 Work around incorrect dt_needed entries
This applies for apps targeting sdk<=22 and
  only for lp32 platforms.

Bug: http://b/21364029
Change-Id: I903e81c9ccda2a8beaba1d132d68c77d30a4cdb2
(cherry picked from commit d974e88046)
2015-05-28 15:25:55 -07:00
Dmitriy Ivanov
d8ead18145 Add functions to provide target sdk version
Bug: http://b/21364029
Change-Id: I8648d1bff6c8fd6e7cd12da7f128e048b9f2829a
(cherry picked from commit 79fd668bb4)
2015-05-27 16:20:16 -07:00
Dmitriy Ivanov
15309fde91 Fix RTLD_NEXT lookup for the local_group
Linker used to skip RTLD_NEXT within local_group when
  caller->next is nullptr (which represents load order
  but not the order within local_group dependency tree)

Bug: http://b/21380474
Change-Id: I178fc4657b19bceb871635b177c1df67855b1708
(cherry picked from commit b96ac41b32)
2015-05-22 15:24:13 -07:00
Yabin Cui
c15a935202 am fd20a8c2: resolved conflicts for merge of 473d96c0 to lmp-mr1-ub-dev
* commit 'fd20a8c2d669b3f2d63e2d33a32b90d1b7f17b82':
  Fix timer flaky test in lollipop-mr1-cts-dev.
2015-05-20 21:48:09 +00:00
Yabin Cui
fd20a8c2d6 resolved conflicts for merge of 473d96c0 to lmp-mr1-ub-dev
Change-Id: I48269218b152054d527d9257d40490b54205140f
2015-05-20 13:36:56 -07:00
Yabin Cui
7490c5c594 Hide rt_sigqueueinfo.
Bug: 19358804
Change-Id: I38a53ad64c81d0eefdd1d24599e769fd8a477a56
(cherry picked from commit 40a8f214a5)
2015-05-18 13:34:51 -07:00
Yabin Cui
2b5c2285c0 Remove pthread_detach_no_leak test.
This test has lost its purpose as we are using mmap/munmap for pthread_internal_t. And it is a flaky test.

Bug: 21205574
Bug: 20860440
Change-Id: I7cbb6bc3fd8a2ca430415beab5ee27a856ce4ea7
(cherry picked from commit 2957cc5f10)
2015-05-18 10:31:20 -07:00
Dmitriy Ivanov
8557eeb0ad Merge "Apply work around b/19059885 to x86" into mnc-dev 2015-05-16 16:57:16 +00:00
Dmitriy Ivanov
69a5fb951d Apply work around b/19059885 to x86
Bug: http://b/19059885
Bug: http://b/21203348
Change-Id: Ic375e9f877d68de8f866d17362879a7dde638465
2015-05-15 18:39:16 -07:00
Chih-Hung Hsieh
43850d19f4 Use unified syntax to compile with both llvm and gcc.
All arch-arm and arch-arm64 .S files were compiled
by gcc with and without this patch. The output object files
were identical. When compiled with llvm and this patch,
the output files were also identical to gcc's output.

BUG: 18061004
Change-Id: I458914d512ddf5496e4eb3d288bf032cd526d32b
(cherry picked from commit 33f33515b5)
2015-05-15 16:29:10 -07:00
Chih-Hung Hsieh
22c21c6b4e Fix opcode to compile with both gcc and llvm.
BUG: 17302991

Change-Id: I31febd9ad24312388068803ce247b295bd73b607
(cherry picked from commit 0a93df369c)
2015-05-15 16:28:38 -07:00
Elliott Hughes
fa7ba6227f Don't use TEMP_FAILURE_RETRY on close in bionic.
Bug: http://b/20501816
Change-Id: Id64b5109cc2b165fa0351b6edbb865a5e5058008
(cherry picked from commit 4e8ef698d0)
2015-05-15 16:24:33 -07:00
Dmitriy Ivanov
ff407803db Remove -z global workaround for target x86
Change-Id: I08e75a1c7437c97e4af59316d2c14c7fa3f65e03
(cherry picked from commit 933332462d)
2015-05-15 10:30:47 -07:00
John Reck
d7ad443cfd Fix regression in crash reporting
Bug: 19532651

Partial revert of be0e43b776

Change-Id: I99e220328aff985facb920ebcd84ac1a016759b5
2015-05-15 07:48:33 -07:00
Spencer Low
2a44cfbd7d ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()
According to the comments in Posix_close(), TEMP_FAILURE_RETRY() should
not be used with close():

462bdac45c%5E%21/#F12

Kill ScopedFd by simplifying the single caller.

Bug: http://b/20501816
Change-Id: I248c40b8c2fc95f1938a6edfc245c81847fc44af
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
(cherry picked from commit 0346ad7a4f)
2015-05-13 17:47:08 -07:00
Dmitriy Ivanov
4bac6ea463 Improved dlsym tests and fixes to linker
Answers the question: what if dependent library
 was preloaded with RTLD_LOCAL flag.

 Also add test for RTLD_NEXT within local_group.

Bug: http://b/17512583
Change-Id: I79e081e68b3a8c0ed8980d4275a06515fea94ec9
(cherry picked from commit 697bd9fd38)
2015-05-12 13:49:13 -07:00
Elliott Hughes
9cde1dc007 Update NOTICE files (the second time today).
Change-Id: Ifb031d29ee697ee0682bd651e0081493e8016e67
(cherry picked from commit f58ac87182)
2015-05-12 10:52:52 -07:00
Elliott Hughes
dd57029ed1 Simplify three copyright headers.
There's no reason to have multiple years in our own copyright headers,
and given the stupidity of our NOTICE file generation, it just creates
more junk.

Change-Id: I065a3811c2e2584e3b649a18ad9460286bc72b92
(cherry picked from commit c69ace87ec)
2015-05-12 10:34:22 -07:00
Elliott Hughes
97139e6adc Merge "Update NOTICE files." into mnc-dev 2015-05-12 17:29:25 +00:00
Elliott Hughes
f0bd92db89 Update NOTICE files.
Change-Id: I4e170118abf452dd87ffe79d343ba1e2b53955de
2015-05-12 10:09:01 -07:00
Yabin Cui
473d96c0a8 Merge "Fix timer flaky test in lollipop-mr1-cts-dev." into lollipop-mr1-cts-dev 2015-05-09 00:07:45 +00:00
Yabin Cui
5c0996a969 Fix timer flaky test in lollipop-mr1-cts-dev.
It is partically cherry-pick from https://android-review.googlesource.com/#/c/123410/.
And as lollipop-mr1-cts-dev still uses stlport, <stdatomic.h> is used instead of <atomic>.

Bug: 20677618
Change-Id: I952a6fd074facc4227c955fecf3ecbfbbaec4193
2015-05-08 13:12:01 -07:00
Dmitriy Ivanov
f7009f450e Switch libc/libcstdc++/libm to hash-style=both
Bug: http://b/19059885
Change-Id: Ie42703d91f291fd689a1cf9c35bcab5c487b9a84
(cherry picked from commit 88e777d6f4)
2015-05-08 12:17:21 -07:00
Dan Albert
5040aa4c39 Merge changes from topic 'blobs' into mnc-dev
* changes:
  Revert "Fix volantis boot."
  Revert "Fix clang build."
  Revert "Try again to fix clang build."
2015-05-08 17:01:29 +00:00
Dan Albert
6b27e6e8e0 Revert "Fix volantis boot."
Bug: http://b/20065774
This reverts commit 76e1cbca75.

(cherry picked from commit 7c2c01d681)
2015-05-08 09:36:03 -07:00
Dan Albert
20db140181 Revert "Fix clang build."
Bug: http://b/20065774
This reverts commit 0975a5d9d2.

(cherry picked from commit 6f0d7005f9)
2015-05-08 09:35:54 -07:00
Dan Albert
6accf55bf3 Revert "Try again to fix clang build."
Bug: http://b/20065774
This reverts commit dffd3c5838.

Change-Id: I5dd095ff4ab133baa2afcbd4c79fbee55d05c459
(cherry picked from commit f920f821e2)
2015-05-08 09:35:48 -07:00
Andres Morales
271f051482 Merge "remove rootdir build.prop" into mnc-dev 2015-05-08 15:00:42 +00:00
Dmitriy Ivanov
f41ed6e549 Add definitions of Elf32_Sxword and ELFXX_R_INFO
Bug: http://b/17056684
Change-Id: If35302245ac3ab40d1c80fb2b04620778c114f87
(cherry picked from commit ce16a53d39)
2015-05-07 23:49:40 -07:00
Andres Morales
d3cea8725f remove rootdir build.prop
merge with default.prop

Change-Id: I6cff4527dec2b31bdde42ec26c42ef2782f8deb4
2015-05-07 15:15:46 -07:00
Dmitriy Ivanov
af7e806cec Properly align init/fini_arrays for crtend.o
Also remove them from crtend_so.o

Bug: http://b/20532404
Change-Id: I56a0f80c4b3a83cf11d28bbf17791ff4ce10c5d2
(cherry picked from commit e543c7612e)
2015-05-07 12:56:15 -07:00
Dmitriy Ivanov
b3c01d0538 Use realpath for log and error messages
Bug: http://b/20885931
Change-Id: Ida8ab7982ca75fa73da13c4cb10a6b2e53bc2c8e
(cherry picked from commit 3edb9182ff)
2015-05-07 11:04:28 -07:00
Dmitriy Ivanov
a60fd09e26 Move pthread_atfork_dlclose test out of static lib
Bug: http://b/20858755
Change-Id: I0d84e8b43dc33902d75af18db6b7c8e0b619d718
(cherry picked from commit 5624a6a1e5)
2015-05-06 16:47:54 -07:00
Dmitriy Ivanov
8264afb377 VersionTracker: Ignore libraries without soname
Bug: http://b/20872443
Change-Id: I7bd076885c1feae39af6ea64c9442bcc5ae5a1dc
2015-05-06 11:06:32 -07:00
Dmitriy Ivanov
456afe24b6 Fix protected symbol lookups for mips
Bug: http://b/20694161
Change-Id: I5cc58034f9776e1db9cddc34abe48ef85f6048f4
(cherry picked from commit dbe26fdcc7)
2015-05-05 15:39:42 -07:00
Dmitriy Ivanov
064a9800f3 Do not adjust PT_GNU_STACK segment
Bug: http://b/20687795
Bug: http://b/18051137
Change-Id: Ie8af3892cfbebcc0249e7981284c4ad97ff40317
2015-05-04 18:35:43 +00:00
Dmitriy Ivanov
dc145b5106 Lookup version info when relocating mips got
Bug: http://b/20693971
Bug: http://b/20139821
Change-Id: I28bd3bc44dafe048761b2c598facfe20320128c4
(cherry picked from commit f39cb63603)
2015-05-01 15:45:51 -07:00
Dmitriy Ivanov
f92a417d07 Refactoring: move VersionTracker to link_image
Use one instance of VersionTracker per link (instead of 2).

Change-Id: I6860013df65f5969975c82ebdae8bd90a82e0a82
(cherry picked from commit 7e4bbbae4a)
2015-05-01 15:44:50 -07:00
Neil Fuller
f6fdb79b4f Merge "Update to tzdata 2015d" into mnc-dev 2015-05-01 08:18:15 +00:00
Dmitriy Ivanov
114bd835a7 Refactoring: extract lookup_version_info(..)
Change-Id: I47f9c21a1738dc520fd83281c8227dc3a7e79650
(cherry picked from commit 31b408d2c2)
2015-04-30 17:42:01 -07:00
Mark Salyzyn
62075bcc91 bionic: fortify comments in _system_properties.h
(Cherry pick from commit c3f4c964a3)

Change-Id: I2ef8fb7ae5ae03d5d2a50b5a417d585710099760
2015-04-30 14:00:09 -07:00
Neil Fuller
3a7ed8f55c Update to tzdata 2015d
Changes affecting future time stamps

    Egypt will not observe DST in 2015 and will consider canceling it
    permanently.  For now, assume no DST indefinitely.
    (Thanks to Ahmed Nazmy and Tim Parenti.)

  Changes affecting past time stamps

    America/Whitehorse switched from UTC-9 to UTC-8 on 1967-05-28, not
    1966-07-01.  Also, Yukon's time zone history is documented better.
    (Thanks to Brian Inglis and Dennis Ferguson.)

  Change affecting past and future time zone abbreviations

    The abbreviations for Hawaii-Aleutian standard and daylight times
    have been changed from HAST/HADT to HST/HDT, as per US Government
    Printing Office style.  This affects only America/Adak since 1983,
    as America/Honolulu was already using the new style.

Bug: 20551453
(cherry-picked from commit 520cbf51b1)

Change-Id: I60d3b683aeccbc44bd038ff6aebd75045809b1c5
2015-04-30 16:48:11 +01:00
Dmitriy Ivanov
126b5efa9d Adjust DT_MIPS_RLD_MAP2 value
DT_MIPS_RLD_MAP2 stores the difference between dynamic
  entry address and the address of the _r_debug (used by GDB)
  since the dynamic section and target address are on the
  different sides of the hole it needs to be adjusted accordingly

Bug: http://b/20658994
Bug: http://b/18051137
Change-Id: I4c5e379e8a4c68f029467df6dc660f81a7013a09
(cherry picked from commit 18c935ceab)
2015-04-29 22:10:53 -07:00
Dmitriy Ivanov
0b9e1c6051 linker: initialize system properties
Bug: http://b/20567629
Bug: https://code.google.com/p/chromium/issues/detail?id=478886
Change-Id: I8d2d89b749015e7fcd6e7ea646911f2e617dd1ba
(cherry picked from commit b4e5067cab)
2015-04-29 16:46:41 -07:00
Dmitriy Ivanov
e97d519a6b Fix mips relocation to use load_bias as intended
Bug: http://b/20658994
Change-Id: I5a15605fe34db359e26d563e13841ae993083c4a
(cherry picked from commit 0373d4f473)
2015-04-29 15:02:50 -07:00
Dmitriy Ivanov
53ba663617 Fix LD_PRELOAD for dlopen()
We did not set DF_1_GLOBAL flag for LD_PRELOADed
 libraries which led to the situation when ld_preloads
 where ignored during on dlopen()

Change-Id: I696b3b2506a8ed4c0984ad2c803210a7a4f8e686
(cherry picked from commit f8093a9485)
2015-04-28 19:01:01 -07:00
Jeff Brown
cb73d0e0da Merge "Add float support to binary event log." into mnc-dev 2015-04-29 01:18:13 +00:00
Jeff Brown
66fd2a278b Add float support to binary event log.
Bug: 20664753
Change-Id: I6e43c07daa727c19d87f5192bb719af63dd93654
2015-04-28 17:51:45 -07:00
Mark Salyzyn
123927dffc bionic: add __system_property_area_serial()
Adds a new _internal_ function. Provide a global serial number to
support more efficient private caching algorithms. This allows
to skip re-running the __system_property_find() call on misses until
there is a global change in the properties. This call is a read
barrier, the property data to be read following this call will be
read sequentially and up to date.

(Cherry pick from bfd65279a5)

Bug: 19544788
Change-Id: I58e6a92baa0f3e8e7b9ec79b10af6d56407dab48
2015-04-28 22:20:41 +00:00
Dmitriy Ivanov
452742d2bf Do not pack relocations for libc.so
Bug: http://b/20645321
Bug: http://b/20655855
Change-Id: Ia4470e0a6d388a7f8445c7f7f9a5639689c0fe32
2015-04-28 14:54:11 -07:00
Dmitriy Ivanov
62a0a63e07 linker: use libc's environ variable to store envp
This is to make getenv() work correctly.

Bug: http://b/20567629
(cherry picked from commit a85bcc2e99)

Change-Id: I7c2289279b331793335029dc17a792d416efff4b
2015-04-28 14:43:58 -07:00
Neil Fuller
17b602c903 Update to tzdata 2015c
Changes affecting future time stamps

    Egypt's spring-forward transition is at 24:00 on April's last Thursday,
    not 00:00 on April's last Friday.  2015's transition will therefore be on
    Thursday, April 30 at 24:00, not Friday, April 24 at 00:00.  Similar fixes
    apply to 2026, 2037, 2043, etc.  (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps

    The following changes affect some pre-1991 Chile-related time stamps
    in America/Santiago, Antarctica/Palmer, and Pacific/Easter.

      The 1910 transition was January 10, not January 1.

      The 1918 transition was September 10, not September 1.

      The UTC-4 time observed from 1932 to 1942 is now considered to be
      standard time, not year-round DST.

      Santiago observed DST (UTC-3) from 1946-07-15 through 1946-08-31,
      then reverted to standard time, then switched its time zone to
      UTC-5 on 1947-04-01.

      Assume transitions before 1968 were at 00:00, since we have no data
      saying otherwise.

      The spring 1988 transition was 1988-10-09, not 1988-10-02.
      The fall 1990 transition was 1990-03-11, not 1990-03-18.

      Assume no UTC offset change for Pacific/Easter on 1890-01-01,
      and omit all transitions on Pacific/Easter from 1942 through 1946
      since we have no data suggesting that they existed.

    One more zone has been turned into a link, as it differed
    from an existing zone only for older time stamps.  As usual,
    this change affects UTC offsets in pre-1970 time stamps only.
    The zone's old contents have been moved to the 'backzone' file.
    The affected zone is America/Montreal.

Bug: 20287125
(cherry-picked from commit d2177404e2)

Change-Id: I55224cc63b314a8e4c2f1c83f8bc4921316c8e4d
2015-04-28 10:51:48 +01:00
Dmitriy Ivanov
7936fa6536 Reduce p_align for program header to page size.
Having p_align > page_size leads to the situation when striping
 packed executables results in unnecessary p_vaddr adjustments.
 And it also may result (with probability 1 - 1/sizeof(uintptr_t)) in
 misaligned segments following .dynstr

Bug: http://b/20629834
Bug: http://b/18051137

(cherry picked from commit b293969c6d)

Change-Id: I2fb15cf5cb52fada6511d5af93df099fc2cbf7ba
2015-04-27 20:45:04 -07:00
Nick Kralevich
9e22d0ff3c am bb4961cd: am 1d76f1cc: Merge "add a fortified implementation of realpath"
* commit 'bb4961cd4f0348b5e88bdf81dded7b63d1aadb0b':
  add a fortified implementation of realpath
2015-04-26 18:39:37 +00:00
Nick Kralevich
bb4961cd4f am 1d76f1cc: Merge "add a fortified implementation of realpath"
* commit '1d76f1cc8be1f40141adac6147cd51061f1ee0b4':
  add a fortified implementation of realpath
2015-04-26 02:44:29 +00:00
Nick Kralevich
1d76f1cc8b Merge "add a fortified implementation of realpath" 2015-04-26 02:23:04 +00:00
Nick Kralevich
51069872d1 am 73621d02: am 42502d70: Merge "add fortified memchr/memrchr implementations"
* commit '73621d02ec3ff45315ee6ddff534a46309723baf':
  add fortified memchr/memrchr implementations
2015-04-25 22:00:20 +00:00
Nick Kralevich
73621d02ec am 42502d70: Merge "add fortified memchr/memrchr implementations"
* commit '42502d702e1625c9f3337f7a18ea5fc4cfc6090c':
  add fortified memchr/memrchr implementations
2015-04-25 21:41:45 +00:00
Nick Kralevich
42502d702e Merge "add fortified memchr/memrchr implementations" 2015-04-25 21:29:57 +00:00
Dmitriy Ivanov
d14f85df52 am a6441765: am 2eaff078: Merge "Include pthread_atfork.h to mips64 crtbegin"
* commit 'a644176578e73b0ab1bf6adfed6bba944d6e7b00':
  Include pthread_atfork.h to mips64 crtbegin
2015-04-25 20:04:32 +00:00
Dmitriy Ivanov
a644176578 am 2eaff078: Merge "Include pthread_atfork.h to mips64 crtbegin"
* commit '2eaff07839393485fec522fd0bd17bbf1af72ca6':
  Include pthread_atfork.h to mips64 crtbegin
2015-04-25 19:42:22 +00:00
Dmitriy Ivanov
2eaff07839 Merge "Include pthread_atfork.h to mips64 crtbegin" 2015-04-25 19:20:00 +00:00
Dmitriy Ivanov
f327fae69c Include pthread_atfork.h to mips64 crtbegin
Bug: http://b/20339788
Change-Id: I2a8c7881f90a05ca768cb9b4c2f8b07c74c64469
2015-04-25 11:59:32 -07:00
Elliott Hughes
704b3164b3 am ea46b36f: am 9a2744df: Merge "Fix POSIX timer thread naming."
* commit 'ea46b36f894477755487d8caec15a8f35f81ac2c':
  Fix POSIX timer thread naming.
2015-04-25 18:44:05 +00:00
Elliott Hughes
ea46b36f89 am 9a2744df: Merge "Fix POSIX timer thread naming."
* commit '9a2744df301c509ea48361016ab441c792ec6d5a':
  Fix POSIX timer thread naming.
2015-04-25 18:23:51 +00:00
Elliott Hughes
9a2744df30 Merge "Fix POSIX timer thread naming." 2015-04-25 18:01:18 +00:00
Elliott Hughes
d1aea30b2a Fix POSIX timer thread naming.
Spencer Low points out that we never actually set a name because the constant
part of the string was longer than the kernel's maximum, and the kernel
rejects long names rather than truncate.

Shorten the fixed part of the string while still keeping it meaningful. 9999
POSIX timers should be enough for any process...

Bug: https://code.google.com/p/android/issues/detail?id=170089
Change-Id: Ic05f07584c1eac160743519091a540ebbf8d7eb1
2015-04-25 10:05:24 -07:00
Dmitriy Ivanov
988cb3bd69 am f41ab7fa: am 2c256a0f: Merge "Unregister pthread_atfork handlers on dlclose()"
* commit 'f41ab7fa68cfab33881a97d25f1c046e26e35d99':
  Unregister pthread_atfork handlers on dlclose()
2015-04-25 06:14:51 +00:00
Dmitriy Ivanov
f41ab7fa68 am 2c256a0f: Merge "Unregister pthread_atfork handlers on dlclose()"
* commit '2c256a0f0927abd94f2210b37c18ead210d30477':
  Unregister pthread_atfork handlers on dlclose()
2015-04-25 05:52:51 +00:00
Dmitriy Ivanov
2c256a0f09 Merge "Unregister pthread_atfork handlers on dlclose()" 2015-04-25 05:36:07 +00:00
Dmitriy Ivanov
2a1badcfcd am 504e7605: am 440242f0: Merge "Use bfd linker for x86/x86_64 targets"
* commit '504e76055c29a3cb7cdbe1e6f731cd3ca9d1a91e':
  Use bfd linker for x86/x86_64 targets
2015-04-25 04:49:52 +00:00
Dmitriy Ivanov
504e76055c am 440242f0: Merge "Use bfd linker for x86/x86_64 targets"
* commit '440242f03805872a0c62528d763e5e98dad9b580':
  Use bfd linker for x86/x86_64 targets
2015-04-25 04:27:52 +00:00
Dmitriy Ivanov
440242f038 Merge "Use bfd linker for x86/x86_64 targets" 2015-04-25 04:09:43 +00:00
Dmitriy Ivanov
e91e66f223 Use bfd linker for x86/x86_64 targets
ld.gold in current toolchain for x86_64
 does not support -z global.

Change-Id: Iea2b192f0f0aa998a02adb356fd4eec4e10a1739
2015-04-24 21:05:49 -07:00
Dmitriy Ivanov
6a76d3a2fe am 1f4c9067: am ebfb55e4: Merge "Enable dlsym_df_1_global test for arm/arm64"
* commit '1f4c9067af716dc9419cb2e33adc3abf9b2dcb2c':
  Enable dlsym_df_1_global test for arm/arm64
2015-04-25 02:07:39 +00:00
Dmitriy Ivanov
1f4c9067af am ebfb55e4: Merge "Enable dlsym_df_1_global test for arm/arm64"
* commit 'ebfb55e4cdf03473d66eaf5928fb3c3a8b0c2f85':
  Enable dlsym_df_1_global test for arm/arm64
2015-04-25 01:10:54 +00:00
Dmitriy Ivanov
ea295f68f1 Unregister pthread_atfork handlers on dlclose()
Bug: http://b/20339788
Change-Id: I874c87faa377645fa9e0752f4fc166d81fd9ef7e
2015-04-24 17:57:37 -07:00
Dmitriy Ivanov
ebfb55e4cd Merge "Enable dlsym_df_1_global test for arm/arm64" 2015-04-25 00:50:05 +00:00
Dmitriy Ivanov
6612d7a347 Enable dlsym_df_1_global test for arm/arm64
Change-Id: I1fdebced93175cb14053e2239e79f97239fc2dc2
2015-04-24 16:26:03 -07:00
Dmitriy Ivanov
7336ab23ee am 71abd9cc: am 2bb93482: Merge "Exit normally when relocations are already packed."
* commit '71abd9cc2ffb0c75288f5064e5e5d5a223e15a41':
  Exit normally when relocations are already packed.
2015-04-24 21:09:41 +00:00
Dmitriy Ivanov
71abd9cc2f am 2bb93482: Merge "Exit normally when relocations are already packed."
* commit '2bb93482a7793640205ade2f7316db5b3f5cac19':
  Exit normally when relocations are already packed.
2015-04-24 20:05:05 +00:00
Dmitriy Ivanov
2bb93482a7 Merge "Exit normally when relocations are already packed." 2015-04-24 19:42:39 +00:00
Dmitriy Ivanov
b0b9338ff8 Exit normally when relocations are already packed.
Bug: http://b/18051137
Change-Id: Idfffac5fe965e3cdeabe6d3b2dcd8c275c6ae5df
2015-04-24 12:39:14 -07:00
Dimitry Ivanov
690a87096b am e5d3ad4a: am 6c63ee41: Merge "Revert "Unregister pthread_atfork handlers on dlclose()""
* commit 'e5d3ad4abe6331955c172a2151d19e64f3c39549':
  Revert "Unregister pthread_atfork handlers on dlclose()"
2015-04-24 04:32:20 +00:00
Dimitry Ivanov
e5d3ad4abe am 6c63ee41: Merge "Revert "Unregister pthread_atfork handlers on dlclose()""
* commit '6c63ee41ac5a246fb46c51753cd4d50ccae0dd8f':
  Revert "Unregister pthread_atfork handlers on dlclose()"
2015-04-24 04:07:13 +00:00
Dimitry Ivanov
6c63ee41ac Merge "Revert "Unregister pthread_atfork handlers on dlclose()"" 2015-04-24 03:49:30 +00:00
Dimitry Ivanov
094f58fb2a Revert "Unregister pthread_atfork handlers on dlclose()"
The visibility control in pthread_atfork.h is incorrect.
 It breaks 64bit libc.so by hiding pthread_atfork.

 This reverts commit 6df122f852.

Change-Id: I21e4b344d500c6f6de0ccb7420b916c4e233dd34
2015-04-24 03:46:57 +00:00
Dmitriy Ivanov
08d62b2310 am 83ebe0c3: am 41ebceaf: Merge "Exit normally when packing relocs saves no space."
* commit '83ebe0c37b5338d0940d45497144fe8aa4a4bfea':
  Exit normally when packing relocs saves no space.
2015-04-23 23:44:36 +00:00
Dmitriy Ivanov
e8743e2759 am 24ffcb3e: am e3ecedd3: Merge "Remove jemalloc.a from libc_nomalloc.a"
* commit '24ffcb3ec6e488b469ebe148361915a3d75b9e3d':
  Remove jemalloc.a from libc_nomalloc.a
2015-04-23 23:16:05 +00:00
Elliott Hughes
788b063961 am 347b83ff: am 3da9373f: Merge "Simplify close(2) EINTR handling."
* commit '347b83ff9c6d53322b8bfbaac05f4a71b2855bbb':
  Simplify close(2) EINTR handling.
2015-04-23 23:16:04 +00:00
Dmitriy Ivanov
e80f32521a am 4d9c009f: am dc405b52: Merge "Unregister pthread_atfork handlers on dlclose()"
* commit '4d9c009faeb091766139621be118acd04dd8b1e2':
  Unregister pthread_atfork handlers on dlclose()
2015-04-23 23:16:02 +00:00
Dmitriy Ivanov
83ebe0c37b am 41ebceaf: Merge "Exit normally when packing relocs saves no space."
* commit '41ebceaf3ad392b4a3f40d96d5750d95ef206546':
  Exit normally when packing relocs saves no space.
2015-04-23 23:13:57 +00:00
Dmitriy Ivanov
41ebceaf3a Merge "Exit normally when packing relocs saves no space." 2015-04-23 22:55:34 +00:00
Dmitriy Ivanov
adfcb97317 Exit normally when packing relocs saves no space.
Bug: http://b/18051137
Change-Id: I43ea5678a677e5d39fb54fafcf3a2f3a252c79b0
2015-04-23 22:54:25 +00:00
Dmitriy Ivanov
24ffcb3ec6 am e3ecedd3: Merge "Remove jemalloc.a from libc_nomalloc.a"
* commit 'e3ecedd306ec16ecb31c6b7d6f9fdcb65c03b70f':
  Remove jemalloc.a from libc_nomalloc.a
2015-04-23 22:12:41 +00:00
Dmitriy Ivanov
e3ecedd306 Merge "Remove jemalloc.a from libc_nomalloc.a" 2015-04-23 21:50:15 +00:00
Elliott Hughes
347b83ff9c am 3da9373f: Merge "Simplify close(2) EINTR handling."
* commit '3da9373fe0ada19d13c6c3f9831dee93ec0ba7a6':
  Simplify close(2) EINTR handling.
2015-04-23 21:33:07 +00:00
Elliott Hughes
3da9373fe0 Merge "Simplify close(2) EINTR handling." 2015-04-23 21:14:25 +00:00
Dmitriy Ivanov
7280e507b6 Remove jemalloc.a from libc_nomalloc.a
Change-Id: I86edc1a6cf3a26c46e6daef2c859459c1b0f29af
2015-04-23 12:24:43 -07:00
Elliott Hughes
3391a9ff13 Simplify close(2) EINTR handling.
This doesn't affect code like Chrome that correctly ignores EINTR on
close, makes code that tries TEMP_FAILURE_RETRY work (where before it might
have closed a different fd and appeared to succeed, or had a bogus EBADF),
and makes "goto fail" code work (instead of mistakenly assuming that EINTR
means that the close failed).

Who loses? Anyone actively trying to detect that they caught a signal while
in close(2). I don't think those people exist, and I think they have better
alternatives available.

Bug: https://code.google.com/p/chromium/issues/detail?id=269623
Bug: http://b/20501816
Change-Id: I11e2f66532fe5d1b0082b2433212e24bdda8219b
2015-04-23 08:41:45 -07:00
Dmitriy Ivanov
4d9c009fae am dc405b52: Merge "Unregister pthread_atfork handlers on dlclose()"
* commit 'dc405b5230c3d72107b57798a2c23b1a46069f4d':
  Unregister pthread_atfork handlers on dlclose()
2015-04-23 09:56:57 +00:00
Dmitriy Ivanov
dc405b5230 Merge "Unregister pthread_atfork handlers on dlclose()" 2015-04-23 08:05:25 +00:00
Dmitriy Ivanov
6df122f852 Unregister pthread_atfork handlers on dlclose()
Change-Id: I326fdf6bb06bed12743f08980b5c69d849c015b8
2015-04-22 19:19:37 -07:00
Dmitriy Ivanov
f75e6efbe4 am 8f01955d: am ff181089: Merge "Always use signed leb128 decoder"
* commit '8f01955d1ef985d79f581f2913eea30cb0258bb4':
  Always use signed leb128 decoder
2015-04-23 00:56:57 +00:00
Dmitriy Ivanov
eb98813e1a am 511e09c5: am 9ceec1a7: Merge "Always use signed leb128 encoding"
* commit '511e09c5282bdf68c2d3aaa85bc93cbc9ad4449b':
  Always use signed leb128 encoding
2015-04-23 00:06:12 +00:00
Dmitriy Ivanov
8f01955d1e am ff181089: Merge "Always use signed leb128 decoder"
* commit 'ff18108981aa1fa73696d6db1919cdc38788bd4e':
  Always use signed leb128 decoder
2015-04-22 22:38:01 +00:00
Dmitriy Ivanov
ff18108981 Merge "Always use signed leb128 decoder" 2015-04-22 22:16:31 +00:00
Dmitriy Ivanov
18870d350c Always use signed leb128 decoder
Relocation packer no longer encodes relocation tables
  using unsigned leb128: https://android-review.googlesource.com/147745

Bug: http://b/18051137
Change-Id: I620b7188e5f3dd9d5123431aa1fc7feca76be607
2015-04-22 13:29:42 -07:00
Dmitriy Ivanov
511e09c528 am 9ceec1a7: Merge "Always use signed leb128 encoding"
* commit '9ceec1a75dfcc8b032aa3a974b0cfc3bff5a306e':
  Always use signed leb128 encoding
2015-04-22 20:23:01 +00:00
Tao Bao
0223d2c018 am 423a0e91: am 457c34ad: Merge "Update the search path for libclang.so"
* commit '423a0e9123a14f7b716268d7883b61b11ab90152':
  Update the search path for libclang.so
2015-04-22 20:18:52 +00:00
Dmitriy Ivanov
22e7ddd56e am 9f49c34e: am 913fe559: Merge "Statically link libc++ for prebuilts"
* commit '9f49c34eecc7407fce674a82ae3a6126911efa34':
  Statically link libc++ for prebuilts
2015-04-22 20:18:48 +00:00
Dmitriy Ivanov
9ceec1a75d Merge "Always use signed leb128 encoding" 2015-04-22 20:02:04 +00:00
Dmitriy Ivanov
f15ceeb784 Always use signed leb128 encoding
According to runs on /system/lib there using
 unsigned leb128 does not save us any additional
 space. In order to keep packing as simple as
 possible switch to using signed leb128 for
 everything.

Bug: http://b/18051137
Change-Id: I1a47cb9eb2175895b3c3f7c13b4c6b1060de86c0
2015-04-22 12:58:38 -07:00
Tao Bao
423a0e9123 am 457c34ad: Merge "Update the search path for libclang.so"
* commit '457c34ad84093ec45ebe2e2f1ef635e3dcaddbe0':
  Update the search path for libclang.so
2015-04-22 18:55:11 +00:00
Dmitriy Ivanov
9f49c34eec am 913fe559: Merge "Statically link libc++ for prebuilts"
* commit '913fe559f69395aaf160653c1d3994df3272810b':
  Statically link libc++ for prebuilts
2015-04-22 18:46:43 +00:00
Tao Bao
457c34ad84 Merge "Update the search path for libclang.so" 2015-04-22 18:25:45 +00:00
Dmitriy Ivanov
913fe559f6 Merge "Statically link libc++ for prebuilts" 2015-04-22 18:15:27 +00:00
Tao Bao
7592008030 Update the search path for libclang.so
Prebuilt shared libraries (libclang.so, libLLVM.so and etc) have been
moved to prebuilts/sdk/tools/linux/lib64. Update the search path in
cpp.py to match the change.

Bug: 20485471
Change-Id: Ib7784db4d5529d16a1e2bfc07cb0237929bc5a64
2015-04-22 10:47:01 -07:00
Dmitriy Ivanov
2a6342187a Statically link libc++ for prebuilts
Statically link libc++ to relocation_packer in
 order to make it work from prebuilts

Bug: http://b/18051137
Change-Id: I933ed6a0e48780a26b261069eb6a293432824fe7
2015-04-22 10:43:12 -07:00
Chih-Hung Hsieh
76a24d0584 am 7f5d7b2b: am a00a9f0b: Merge "Allow building libc long double code with clang/llvm."
* commit '7f5d7b2b7642cb9f89505fe22e94006628c5efd9':
  Allow building libc long double code with clang/llvm.
2015-04-22 00:23:44 +00:00
Chih-Hung Hsieh
7f5d7b2b76 am a00a9f0b: Merge "Allow building libc long double code with clang/llvm."
* commit 'a00a9f0b7ed39589a768798de6a584a4baae030b':
  Allow building libc long double code with clang/llvm.
2015-04-22 00:05:31 +00:00
Chih-Hung Hsieh
a00a9f0b7e Merge "Allow building libc long double code with clang/llvm." 2015-04-21 23:44:59 +00:00
Dmitriy Ivanov
0eb4326023 am 2cfdac5c: am da3c4f2f: Merge "Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections"
* commit '2cfdac5cb286525f4f2117faddc9ba7b60dde5fb':
  Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections
2015-04-21 23:33:43 +00:00
Dmitriy Ivanov
2cfdac5cb2 am da3c4f2f: Merge "Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections"
* commit 'da3c4f2f0d86b7e249c9b9b6cdf3bc0225b7178e':
  Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections
2015-04-21 23:08:41 +00:00
Chih-Hung Hsieh
6fb8e96e5f Allow building libc long double code with clang/llvm.
This requires fix of clang's Android x86 long double size and format.
That bug has been fixed in https://android-review.git.corp.google.com/#/c/146254/

Change-Id: I182c6c493085212f88c694356659f72227c8b8c7
2015-04-21 21:20:37 +00:00
Dmitriy Ivanov
da3c4f2f0d Merge "Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections" 2015-04-21 19:29:19 +00:00
Dmitriy Ivanov
bb25bbe19e Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections
This is recent addition to bionic linker. The symbol
  versioning was not supported before therefore this bug
  went unnoticed.

  Also normal exit when there is not enought relocations
  to pack. This is to enable integration of relocation_packer
  to android build system.

Bug: http://b/20139821
Bug: http://b/18051137
Change-Id: Iaf36ae11c8e4b15cf785b6dd1712a3bdcf47cc45
2015-04-21 12:28:21 -07:00
Dmitriy Ivanov
94146a09ae am ec44b45a: am 0776f0f6: Merge "Add library name to error message"
* commit 'ec44b45aa7cc55037c0fba12f36e3e723da02885':
  Add library name to error message
2015-04-21 02:13:59 +00:00
Dmitriy Ivanov
ec44b45aa7 am 0776f0f6: Merge "Add library name to error message"
* commit '0776f0f6e2fc926ae90f460ceac2b0e025292363':
  Add library name to error message
2015-04-21 01:17:34 +00:00
Dmitriy Ivanov
0776f0f6e2 Merge "Add library name to error message" 2015-04-21 00:51:36 +00:00
Dmitriy Ivanov
3d7bea1fa0 Add library name to error message
Change-Id: I079e6f1dd95fe9cae2135fcd7358c51f8b584ac9
2015-04-20 17:40:39 -07:00
Daniel Micay
3244d9f07f add a fortified implementation of realpath
Change-Id: Icc59eacd1684f7cddd83d7a2b57dad0c7ada5eb7
2015-04-20 17:31:24 -04:00
Yabin Cui
80e1d86701 am 8b44eab5: am c5bd96ef: Merge "Fix bug in app_id_from_name in stubs.cpp."
* commit '8b44eab5b84c82de204f05291b9551043fd3310c':
  Fix bug in app_id_from_name in stubs.cpp.
2015-04-18 23:38:16 +00:00
Yabin Cui
8b44eab5b8 am c5bd96ef: Merge "Fix bug in app_id_from_name in stubs.cpp."
* commit 'c5bd96efd27f756d07f1a306e4120cede17b39f5':
  Fix bug in app_id_from_name in stubs.cpp.
2015-04-18 23:15:50 +00:00
Yabin Cui
c5bd96efd2 Merge "Fix bug in app_id_from_name in stubs.cpp." 2015-04-18 22:54:35 +00:00
Yabin Cui
72a6fdcdc7 Fix bug in app_id_from_name in stubs.cpp.
It seems that a break statement is missing.

Bug: 19872411
Change-Id: I9362783ab726d01f6eb27418563e716dd95688dc
2015-04-18 14:10:12 -07:00
Nick Kralevich
8db4332814 am 546cf0a0: am af7538b4: Merge "add fortified readlink/readlinkat implementations"
* commit '546cf0a06ff120a8db51ed31eec5a1ff4b3f1446':
  add fortified readlink/readlinkat implementations
2015-04-18 16:12:44 +00:00
Nick Kralevich
546cf0a06f am af7538b4: Merge "add fortified readlink/readlinkat implementations"
* commit 'af7538b49625f1c1c82e984610f26729a18d56bf':
  add fortified readlink/readlinkat implementations
2015-04-18 15:51:28 +00:00
Nick Kralevich
af7538b496 Merge "add fortified readlink/readlinkat implementations" 2015-04-18 15:30:18 +00:00
Dan Albert
906c4bb029 am c269aca7: am 7a8c7c48: Merge "Also send bionicbb logs to a file."
* commit 'c269aca791fe6f01a906135c1104b7eee5214901':
  Also send bionicbb logs to a file.
2015-04-18 01:43:02 +00:00
Dan Albert
09980c4ca3 am 02a25c49: am cb6ae56b: Merge "Merge the two bionicbb services into one."
* commit '02a25c49edc3d6b6b33561fd5740a73dcd1b3440':
  Merge the two bionicbb services into one.
2015-04-18 01:43:00 +00:00
Daniel Micay
4ae773633a add fortified memchr/memrchr implementations
Change-Id: I38c473cc0c608b08f971409a95eb8b853cb2ba1c
2015-04-17 21:17:12 -04:00
Dan Albert
c269aca791 am 7a8c7c48: Merge "Also send bionicbb logs to a file."
* commit '7a8c7c48db11b81bc53c63ddfbaeca12e7f5e8cb':
  Also send bionicbb logs to a file.
2015-04-18 01:10:22 +00:00
Dan Albert
02a25c49ed am cb6ae56b: Merge "Merge the two bionicbb services into one."
* commit 'cb6ae56b3e4ee50e99e9f3335d2676a21000d400':
  Merge the two bionicbb services into one.
2015-04-18 01:10:21 +00:00
Dan Albert
7a8c7c48db Merge "Also send bionicbb logs to a file." 2015-04-18 00:58:23 +00:00
Dan Albert
21988a3b16 Also send bionicbb logs to a file.
Change-Id: If9a6fdbe004e3b4bb7d868b7255f83c232759f80
2015-04-17 17:57:15 -07:00
Dan Albert
cb6ae56b3e Merge "Merge the two bionicbb services into one." 2015-04-18 00:55:31 +00:00
Dan Albert
d3fe4f1229 Merge the two bionicbb services into one.
Change-Id: I6490da1ec96b2e24b330296950be84424e11bd35
2015-04-17 17:39:36 -07:00
Daniel Micay
42281880a8 add fortified readlink/readlinkat implementations
Change-Id: Ia4b1824d20cad3a072b9162047492dade8576779
2015-04-17 18:49:12 -04:00
Dmitriy Ivanov
17dd78472f am d4709744: am 3875744f: Merge "Support symbol versioning"
* commit 'd4709744a26f232500f34c3fd13db21830f29d65':
  Support symbol versioning
2015-04-17 06:13:19 +00:00
Dmitriy Ivanov
d4709744a2 am 3875744f: Merge "Support symbol versioning"
* commit '3875744f89600027c69ea68650fff1eeb4b29723':
  Support symbol versioning
2015-04-17 04:19:39 +00:00
Dmitriy Ivanov
3875744f89 Merge "Support symbol versioning" 2015-04-17 03:57:46 +00:00
Elliott Hughes
84111de007 am 3c35b0a4: am fc4850e3: Merge "Fix clang build."
* commit '3c35b0a427cbc3aa049acfbf9c04084b4c519ed6':
  Fix clang build.
2015-04-17 02:11:32 +00:00
Elliott Hughes
dd44ccdf9d am ea154268: am 31128da2: Merge "add fortified implementations of pread/pread64"
* commit 'ea154268ff7ce0789c5c9093c0a06be44cbf33cf':
  add fortified implementations of pread/pread64
2015-04-17 02:04:28 +00:00
Elliott Hughes
3c35b0a427 am fc4850e3: Merge "Fix clang build."
* commit 'fc4850e37b713eae12d0bde7f6e0b4e9b444bfef':
  Fix clang build.
2015-04-17 01:16:45 +00:00
Elliott Hughes
fc4850e37b Merge "Fix clang build." 2015-04-17 00:57:52 +00:00
Dmitriy Ivanov
2a81536144 Support symbol versioning
Bug: http://b/20139821
Change-Id: I64122a0fb0960c20b2ce614161b7ab048456b681
2015-04-16 17:57:30 -07:00
Elliott Hughes
a9325133aa Fix clang build.
Change-Id: I70a9ebe806cb4f7e23a7d8e486157ddd70ae3008
2015-04-16 17:56:12 -07:00
Elliott Hughes
ea154268ff am 31128da2: Merge "add fortified implementations of pread/pread64"
* commit '31128da28f561152f5b663e6b4849691b3951525':
  add fortified implementations of pread/pread64
2015-04-17 00:54:24 +00:00
Elliott Hughes
31128da28f Merge "add fortified implementations of pread/pread64" 2015-04-17 00:34:26 +00:00
Dan Albert
0a0165e53f am 7e045ce9: am f84a5c6c: Merge "Clean up "logging"."
* commit '7e045ce97cc2c3b27543254e0cdf6f16290502cc':
  Clean up "logging".
2015-04-16 22:53:23 +00:00
Dan Albert
7e045ce97c am f84a5c6c: Merge "Clean up "logging"."
* commit 'f84a5c6c5c5fa2507458086a2f9a077bd9e2c9ec':
  Clean up "logging".
2015-04-16 22:31:49 +00:00
Dan Albert
f84a5c6c5c Merge "Clean up "logging"." 2015-04-16 22:08:39 +00:00
Dan Albert
a4061cddbe 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
2015-04-16 14:20:13 -07:00
Elliott Hughes
e04b476e17 am ecd73583: am 14af27a1: Merge "Remove PROP_PATH_SYSTEM_DEFAULT."
* commit 'ecd73583e16a1337223924e2a9df2185499f5a2b':
  Remove PROP_PATH_SYSTEM_DEFAULT.
2015-04-16 20:43:23 +00:00
Elliott Hughes
ecd73583e1 am 14af27a1: Merge "Remove PROP_PATH_SYSTEM_DEFAULT."
* commit '14af27a147b5e91eeb8632a3f99d4b6cc2ed26dc':
  Remove PROP_PATH_SYSTEM_DEFAULT.
2015-04-16 20:20:31 +00:00
Elliott Hughes
14af27a147 Merge "Remove PROP_PATH_SYSTEM_DEFAULT." 2015-04-16 19:58:00 +00:00
Daniel Micay
e7e1c875b0 add fortified implementations of pread/pread64
Change-Id: Iec39c3917e0bc94371bd81541619392f5abe29b9
2015-04-16 10:33:35 -04:00
Dmitriy Ivanov
9e66105685 am 261ebb63: am a40cb0ca: Merge "Call __cxa_thread_finalize for the main thread."
* commit '261ebb63478e5d30cc3da6c3f37a1ae3e08551da':
  Call __cxa_thread_finalize for the main thread.
2015-04-16 10:02:56 +00:00
Dmitriy Ivanov
261ebb6347 am a40cb0ca: Merge "Call __cxa_thread_finalize for the main thread."
* commit 'a40cb0ca7fe8ddc146831e92ec543be9feb26a65':
  Call __cxa_thread_finalize for the main thread.
2015-04-16 09:40:53 +00:00
Dmitriy Ivanov
a40cb0ca7f Merge "Call __cxa_thread_finalize for the main thread." 2015-04-16 08:06:03 +00:00
Christopher Ferris
80a18851f5 am 22081158: am 12d89027: Merge "Update the number of jemalloc reserved keys."
* commit '22081158da5605e87d5db5c98a1c6d4a24802063':
  Update the number of jemalloc reserved keys.
2015-04-16 05:23:48 +00:00
Christopher Ferris
22081158da am 12d89027: Merge "Update the number of jemalloc reserved keys."
* commit '12d89027457b4d5dce6c3a7fd01a2951f273d9a9':
  Update the number of jemalloc reserved keys.
2015-04-16 05:01:51 +00:00
Christopher Ferris
12d8902745 Merge "Update the number of jemalloc reserved keys." 2015-04-16 04:42:38 +00:00
Yabin Cui
459676c3b3 am 86ad2037: am 2587c6a2: Merge "Change on handling of SIGEV_THREAD timers."
* commit '86ad2037793d1f125d59d115ee90f2f105f94f41':
  Change on handling of SIGEV_THREAD timers.
2015-04-16 01:59:15 +00:00
Yabin Cui
86ad203779 am 2587c6a2: Merge "Change on handling of SIGEV_THREAD timers."
* commit '2587c6a2f0f946bd7c1e526c20b2623c01accd60':
  Change on handling of SIGEV_THREAD timers.
2015-04-16 01:28:28 +00:00
Yabin Cui
2587c6a2f0 Merge "Change on handling of SIGEV_THREAD timers." 2015-04-16 01:08:25 +00:00
Yabin Cui
95f1ee235a 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
2015-04-15 17:36:01 -07:00
Christopher Ferris
c0f89283cc Update the number of jemalloc reserved keys.
jemalloc now uses a single key pointing to a structure rather
than multiple keys.

Change-Id: Ib76185a594ab2cd4dc400d9a7a5bc0a57a7ac92d
2015-04-15 17:20:10 -07:00
Elliott Hughes
43e020ce93 Remove PROP_PATH_SYSTEM_DEFAULT.
Change-Id: Ib01d9c2f9d890eb5e7ba1e15bd11767195e84967
2015-04-15 17:03:43 -07:00
Dmitriy Ivanov
a2f29a1375 am 4e8f791b: am c6ccdfaf: Merge "Hide emutls* symbols in libc.so"
* commit '4e8f791b43c0ec44ee884cf90b4241d947bd2b72':
  Hide emutls* symbols in libc.so
2015-04-16 00:00:05 +00:00
Dmitriy Ivanov
4e8f791b43 am c6ccdfaf: Merge "Hide emutls* symbols in libc.so"
* commit 'c6ccdfaf1ff4665ec96962863054263510d73e7b':
  Hide emutls* symbols in libc.so
2015-04-15 23:45:37 +00:00
Dmitriy Ivanov
c6ccdfaf1f Merge "Hide emutls* symbols in libc.so" 2015-04-15 23:27:38 +00:00
Dmitriy Ivanov
163ab8ba86 Call __cxa_thread_finalize for the main thread.
Bug: http://b/20231984
Bug: http://b/16696563
Change-Id: I71cfddd0d404d1d4a593ec8d3bca9741de8cb90f
2015-04-15 16:24:21 -07:00
Dmitriy Ivanov
66aa0b61f7 Hide emutls* symbols in libc.so
Also make thread_local in test static to avoid ld.bfd
 warning for arm64.

Change-Id: I09a3f2aa9b73a4fafa3f3bbc64ddc2a128ad50ee
2015-04-15 14:23:00 -07:00
Christopher Ferris
27b6c01562 am 4a9e3d76: am cafc9480: Merge "Fix addition of extra arg to cfi_restore."
* commit '4a9e3d76a5be7d60e259cb36a2e467ee34c46a26':
  Fix addition of extra arg to cfi_restore.
2015-04-15 00:47:51 +00:00
Christopher Ferris
4a9e3d76a5 am cafc9480: Merge "Fix addition of extra arg to cfi_restore."
* commit 'cafc948069d447aa1e4dde599ee83bf6c0c5d5d8':
  Fix addition of extra arg to cfi_restore.
2015-04-15 00:22:59 +00:00
Christopher Ferris
7707542aa1 am ffecd6ce: am a529efac: Merge "Add missing cfi directives for x86 assembler."
* commit 'ffecd6cef91cbd3d01b1a09737d9e2b3bdfe9818':
  Add missing cfi directives for x86 assembler.
2015-04-15 00:22:44 +00:00
Christopher Ferris
cafc948069 Merge "Fix addition of extra arg to cfi_restore." 2015-04-15 00:07:35 +00:00
Christopher Ferris
940d3122c9 Fix addition of extra arg to cfi_restore.
Change-Id: I8fdcc1ae3e91b69ccbcec756a89e1ccb4fa1be53
2015-04-14 17:02:31 -07:00
Christopher Ferris
ffecd6cef9 am a529efac: Merge "Add missing cfi directives for x86 assembler."
* commit 'a529efac4efa4641186fef5003752cc1c43ec763':
  Add missing cfi directives for x86 assembler.
2015-04-15 00:00:48 +00:00
Christopher Ferris
a529efac4e Merge "Add missing cfi directives for x86 assembler." 2015-04-14 23:43:09 +00:00
Christopher Ferris
605ee81b06 Add missing cfi directives for x86 assembler.
Change-Id: I80d3e33a71bbaeab5f39b667ebe61e865fd54b80
2015-04-14 16:42:10 -07:00
Yabin Cui
530288f1be am c2eac94a: am 8f3f0418: Merge "Prevent using static-allocated pthread keys before creation."
* commit 'c2eac94a8792b621765d102f918103b58bed693e':
  Prevent using static-allocated pthread keys before creation.
2015-04-14 21:53:45 +00:00
Yabin Cui
c2eac94a87 am 8f3f0418: Merge "Prevent using static-allocated pthread keys before creation."
* commit '8f3f04184a5772b421867b59acd3d0dfbc6fa4eb':
  Prevent using static-allocated pthread keys before creation.
2015-04-14 21:00:19 +00:00
Yabin Cui
8f3f04184a Merge "Prevent using static-allocated pthread keys before creation." 2015-04-14 20:35:08 +00:00
Yabin Cui
5ddbb3f936 Prevent using static-allocated pthread keys before creation.
Bug: 19993460

Change-Id: I244dea7f5df3c8384f88aa48d635348fafc9cbaf
2015-04-14 13:32:09 -07:00
Dan Albert
43b59137e7 am 2bd1560e: am 447cd196: Merge "Skip merge-failed messages from Gerrit."
* commit '2bd1560eda2f51bd34d70d56087e59888709753d':
  Skip merge-failed messages from Gerrit.
2015-04-14 03:01:38 +00:00
Dan Albert
2bd1560eda am 447cd196: Merge "Skip merge-failed messages from Gerrit."
* commit '447cd19681cfd0a71282c87d1b32a7757bbaba81':
  Skip merge-failed messages from Gerrit.
2015-04-14 01:52:51 +00:00
Dan Albert
447cd19681 Merge "Skip merge-failed messages from Gerrit." 2015-04-14 01:33:35 +00:00
Dan Albert
a0ecd5b2b4 Skip merge-failed messages from Gerrit.
Change-Id: I2d8055a44cd78f95e64d6cf88e9efdd610a4fa88
2015-04-13 17:33:51 -07:00
Dmitriy Ivanov
2eff46f170 am ffc34e51: am de889741: Merge "Fix dl* tests to run-on-host"
* commit 'ffc34e51f71cbf88230023b7ce1d7a2c5b253c0c':
  Fix dl* tests to run-on-host
2015-04-11 01:06:30 +00:00
Dmitriy Ivanov
ffc34e51f7 am de889741: Merge "Fix dl* tests to run-on-host"
* commit 'de889741201faa338e01babdfd10bbd597769e60':
  Fix dl* tests to run-on-host
2015-04-11 00:45:59 +00:00
Dmitriy Ivanov
de88974120 Merge "Fix dl* tests to run-on-host" 2015-04-11 00:28:05 +00:00
Dan Albert
bdf9bb8fc4 am 1adfe6b2: am c921eb67: Merge "Don\'t build any changes that touch bionicbb."
* commit '1adfe6b20d096b5271b5eef1c15f8fc37e3caaf8':
  Don't build any changes that touch bionicbb.
2015-04-10 04:34:56 +00:00
Dmitriy Ivanov
34ecca9c3c am 1eb37bae: am 9ce9bf5a: Merge "Add Elfxx_Ver* types"
* commit '1eb37baed8b9cb90cf6f59a876f7e9b1c817e45b':
  Add Elfxx_Ver* types
2015-04-10 04:32:44 +00:00
Dan Albert
1adfe6b20d am c921eb67: Merge "Don\'t build any changes that touch bionicbb."
* commit 'c921eb677077f96c09c66ac34cad490356afde6c':
  Don't build any changes that touch bionicbb.
2015-04-10 00:37:47 +00:00
Dan Albert
c921eb6770 Merge "Don't build any changes that touch bionicbb." 2015-04-10 00:25:18 +00:00
Dan Albert
d032378790 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
2015-04-09 17:18:53 -07:00
Dmitriy Ivanov
1eb37baed8 am 9ce9bf5a: Merge "Add Elfxx_Ver* types"
* commit '9ce9bf5aec5ed2ec75acdc05f00a49728563a782':
  Add Elfxx_Ver* types
2015-04-09 22:34:29 +00:00
Dmitriy Ivanov
9ce9bf5aec Merge "Add Elfxx_Ver* types" 2015-04-09 22:14:09 +00:00
Dmitriy Ivanov
ef25592f14 Fix dl* tests to run-on-host
Bug: http://b/20121152
Change-Id: I1e1f41d885c75dbb26f91565a53a15d62ef72ce6
2015-04-09 14:56:26 -07:00
Dmitriy Ivanov
c0e7dbb1db Add Elfxx_Ver* types
Bug: http://b/20139821
Change-Id: I7a367b08faa3bf5c005996c066cd35709f533265
2015-04-09 13:58:53 -07:00
Christopher Ferris
64420c5fd4 am 0b93c0c1: am 0a92ac88: Merge "Use assembly memmove for all arm32 processors."
* commit '0b93c0c19280bc57c732a8f6a93b4735730f91c5':
  Use assembly memmove for all arm32 processors.
2015-04-09 18:27:19 +00:00
Christopher Ferris
0b93c0c192 am 0a92ac88: Merge "Use assembly memmove for all arm32 processors."
* commit '0a92ac884891b167d6393592fbf9ecf26218f9aa':
  Use assembly memmove for all arm32 processors.
2015-04-09 18:02:53 +00:00
Yabin Cui
56cda5cc09 am e29db673: am 9f2c2f53: Merge "Provide writer preference option in rwlock."
* commit 'e29db67312f4e2856a92b11498fc067d7f46dcac':
  Provide writer preference option in rwlock.
2015-04-09 17:52:17 +00:00
Christopher Ferris
0a92ac8848 Merge "Use assembly memmove for all arm32 processors." 2015-04-09 17:41:58 +00:00
Yabin Cui
e29db67312 am 9f2c2f53: Merge "Provide writer preference option in rwlock."
* commit '9f2c2f53d372001ac6565b060a07d4416ca58e47':
  Provide writer preference option in rwlock.
2015-04-09 17:36:48 +00:00
Yabin Cui
9f2c2f53d3 Merge "Provide writer preference option in rwlock." 2015-04-09 17:19:44 +00:00
Neil Fuller
e42cb680a3 am 37eca951: am f9ff2eea: Merge "Upgrade timezone data to 2015b"
* commit '37eca9511be51e2c37ab843b791c9ab52b604954':
  Upgrade timezone data to 2015b
2015-04-09 14:16:45 +00:00
Neil Fuller
37eca9511b am f9ff2eea: Merge "Upgrade timezone data to 2015b"
* commit 'f9ff2eeaeeb841fa9f197ee8b6bc9521e63210dd':
  Upgrade timezone data to 2015b
2015-04-09 14:01:07 +00:00
Neil Fuller
f9ff2eeaee Merge "Upgrade timezone data to 2015b" 2015-04-09 13:45:03 +00:00
Neil Fuller
753e9836ad am 062795f7: am 694282b1: Merge "Update update-tzdata.py tool to generate ICU4J data jars"
* commit '062795f773764b3576f987f2b90a7c04c53ba60a':
  Update update-tzdata.py tool to generate ICU4J data jars
2015-04-09 10:16:59 +00:00
Neil Fuller
aba687a09c 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
2015-04-09 11:15:27 +01:00
Neil Fuller
062795f773 am 694282b1: Merge "Update update-tzdata.py tool to generate ICU4J data jars"
* commit '694282b1726a6c5f64df3695594bf23707cf4771':
  Update update-tzdata.py tool to generate ICU4J data jars
2015-04-09 09:56:53 +00:00
Neil Fuller
694282b172 Merge "Update update-tzdata.py tool to generate ICU4J data jars" 2015-04-09 09:39:57 +00:00
Neil Fuller
4d3abcb033 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
2015-04-09 09:38:31 +00:00
Dan Albert
00627f94b4 am b7460a35: am 5cf46f81: Merge "Reject changes with cleanspecs."
* commit 'b7460a352e8456d2f77d990a6e76edc9de102e98':
  Reject changes with cleanspecs.
2015-04-09 01:13:18 +00:00
Dan Albert
b7460a352e am 5cf46f81: Merge "Reject changes with cleanspecs."
* commit '5cf46f81ead958f43178ee8f613432b5f66045e5':
  Reject changes with cleanspecs.
2015-04-09 00:31:59 +00:00
Christopher Ferris
41efc92e35 Use assembly memmove for all arm32 processors.
Bug: 15110993
Change-Id: Ia3dcd6b8c4032f8c72b6f2e628b635ce99667c09
2015-04-08 16:53:16 -07:00
Dan Albert
5cf46f81ea Merge "Reject changes with cleanspecs." 2015-04-08 22:52:44 +00:00
Yabin Cui
76615dae93 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
2015-04-08 13:11:13 -07:00
Dmitriy Ivanov
8614073ef3 am e2aa8002: am 598493e7: Merge "Stop libc from cross-referencing unwind symbols"
* commit 'e2aa80028999fbb896d40f27c2fe5f0691f992f0':
  Stop libc from cross-referencing unwind symbols
2015-04-07 20:12:59 +00:00
Dmitriy Ivanov
e2aa800289 am 598493e7: Merge "Stop libc from cross-referencing unwind symbols"
* commit '598493e725e0298ae11ddbdee62c3a7007eb503c':
  Stop libc from cross-referencing unwind symbols
2015-04-07 19:39:40 +00:00
Dmitriy Ivanov
598493e725 Merge "Stop libc from cross-referencing unwind symbols" 2015-04-07 19:21:32 +00:00
Neil Fuller
fb2c7ab1f0 am d4451f13: am 957f6188: Merge "Changes to re-enable overrides for tz data"
* commit 'd4451f130c754243f6c98880fa652874c567c4c3':
  Changes to re-enable overrides for tz data
2015-04-07 13:33:42 +00:00
Neil Fuller
d4451f130c am 957f6188: Merge "Changes to re-enable overrides for tz data"
* commit '957f6188fa7494ea8b7701b14df4c9127d27a9ef':
  Changes to re-enable overrides for tz data
2015-04-07 13:16:45 +00:00
Neil Fuller
957f6188fa Merge "Changes to re-enable overrides for tz data" 2015-04-07 12:55:07 +00:00
Dmitriy Ivanov
5f43c7a9bb am 6c4ef816: am 9fbd8fd4: Merge "Fix x86_64 build"
* commit '6c4ef816db5f7b9b4a659f997327d6edee65973b':
  Fix x86_64 build
2015-04-07 02:48:19 +00:00
Dmitriy Ivanov
6c4ef816db am 9fbd8fd4: Merge "Fix x86_64 build"
* commit '9fbd8fd4bc1767b65abd0fdbdb5e35cdc4dafe13':
  Fix x86_64 build
2015-04-07 02:28:57 +00:00
Dmitriy Ivanov
9fbd8fd4bc Merge "Fix x86_64 build" 2015-04-07 02:08:43 +00:00
Dmitriy Ivanov
1dce3ed249 Fix x86_64 build
Change-Id: Id81c059bf3ecdb9cc84d04d16ffda34baaadc5a1
2015-04-06 19:05:58 -07:00
Dmitriy Ivanov
cd13b14e98 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
2015-04-07 01:48:35 +00:00
Dmitriy Ivanov
03930d4476 am 0e67ab32: am 8a1007db: Merge "Add realpath for soinfo"
* commit '0e67ab32f2a7ab6685d9e4c5a38c0d5a5396800a':
  Add realpath for soinfo
2015-04-07 00:52:43 +00:00
Dmitriy Ivanov
0e67ab32f2 am 8a1007db: Merge "Add realpath for soinfo"
* commit '8a1007dbababa6c4812c267ca9119cf0765afc3f':
  Add realpath for soinfo
2015-04-07 00:32:46 +00:00
Dmitriy Ivanov
8a1007dbab Merge "Add realpath for soinfo" 2015-04-07 00:14:57 +00:00
Elliott Hughes
53296ddab0 am 04b59972: am 67de2593: Merge "Add a test for getdelim(3) on a directory."
* commit '04b59972814b8d9c93b0fb72cbcaeeaa761894cd':
  Add a test for getdelim(3) on a directory.
2015-04-06 23:14:43 +00:00
Dan Albert
dadac10fcc 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
2015-04-06 14:22:37 -07:00
Dmitriy Ivanov
aae859cc3c 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
2015-04-06 21:15:43 +00:00
Elliott Hughes
04b5997281 am 67de2593: Merge "Add a test for getdelim(3) on a directory."
* commit '67de2593b3d7e9e94ac8993efd51da4b512c6af5':
  Add a test for getdelim(3) on a directory.
2015-04-06 19:49:26 +00:00
Elliott Hughes
67de2593b3 Merge "Add a test for getdelim(3) on a directory." 2015-04-06 19:36:13 +00:00
Elliott Hughes
694fd2d880 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
2015-04-05 10:51:56 -07:00
Yabin Cui
f297fca177 am 9c4d0941: am 4bd8f963: Merge "Fix bug for recursive/errorcheck mutex on 32-bit devices."
* commit '9c4d0941f985e2ab9ec5fca579dc98d4ad26fec2':
  Fix bug for recursive/errorcheck mutex on 32-bit devices.
2015-04-04 20:07:23 +00:00
Yabin Cui
9c4d0941f9 am 4bd8f963: Merge "Fix bug for recursive/errorcheck mutex on 32-bit devices."
* commit '4bd8f9637daaada333ff35945b00cfe6cb822376':
  Fix bug for recursive/errorcheck mutex on 32-bit devices.
2015-04-04 19:47:57 +00:00
Yabin Cui
4bd8f9637d Merge "Fix bug for recursive/errorcheck mutex on 32-bit devices." 2015-04-04 19:31:55 +00:00
Yabin Cui
f796985923 Fix bug for recursive/errorcheck mutex on 32-bit devices.
Bug: 19216648
Change-Id: I3b43b2d18d25b9bde352da1e35f9568133dec7cf
2015-04-03 19:01:17 -07:00
Dmitriy Ivanov
ccacf7c16a am 5a811bed: am e686df8d: Merge "Add libdl dependency for target libraries"
* commit '5a811bed273651406c91c543eefb19d12a55f9b4':
  Add libdl dependency for target libraries
2015-04-03 23:34:13 +00:00
Dmitriy Ivanov
5a811bed27 am e686df8d: Merge "Add libdl dependency for target libraries"
* commit 'e686df8d839216460f02cf7db6c4e26a13e49afd':
  Add libdl dependency for target libraries
2015-04-03 23:14:29 +00:00
Dmitriy Ivanov
e686df8d83 Merge "Add libdl dependency for target libraries" 2015-04-03 22:54:06 +00:00
Dmitriy Ivanov
45c57131d2 Add libdl dependency for target libraries
Fixed x86_64 target build with gcc 4.9

Change-Id: Id3b1e9286c2bcbb8e3ac117bcef957304db7cfd3
2015-04-03 15:17:52 -07:00
Elliott Hughes
329aefb20f am d7e64284: am cec2ab20: Merge "Try again to fix clang build."
* commit 'd7e64284ca7fa71d298d26e1ba84ce993bb98c92':
  Try again to fix clang build.
2015-04-03 21:19:41 +00:00
Elliott Hughes
d7e64284ca am cec2ab20: Merge "Try again to fix clang build."
* commit 'cec2ab20a0d2b24c15aa289cbac5d4291c856092':
  Try again to fix clang build.
2015-04-03 20:58:48 +00:00
Elliott Hughes
4c8c63a4de am f29f8ae6: am ec8b3a7d: Merge "Fix clang build."
* commit 'f29f8ae6e3fb8af2944cdbb2c0d29894c51cf3e5':
  Fix clang build.
2015-04-03 20:53:13 +00:00
Elliott Hughes
cec2ab20a0 Merge "Try again to fix clang build." 2015-04-03 20:38:15 +00:00
Elliott Hughes
dffd3c5838 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
2015-04-03 13:37:18 -07:00
Elliott Hughes
f29f8ae6e3 am ec8b3a7d: Merge "Fix clang build."
* commit 'ec8b3a7dde3c282c4f9ca5c8bf5a7e1b7469def0':
  Fix clang build.
2015-04-03 20:36:55 +00:00
Dmitriy Ivanov
c461b78e43 am 5057929f: am aea165cb: Merge "Add ANDROID_DLEXT_FORCE_LOAD flag"
* commit '5057929fc8a71feedffaf7a688468d9f8ea1621f':
  Add ANDROID_DLEXT_FORCE_LOAD flag
2015-04-03 20:24:27 +00:00
Elliott Hughes
003b1639bd am 97c78020: am b1f1de4d: Merge "Fix volantis boot."
* commit '97c7802038b3c2472d2377984e749f398eee078c':
  Fix volantis boot.
2015-04-03 20:24:26 +00:00
Elliott Hughes
ec8b3a7dde Merge "Fix clang build." 2015-04-03 20:12:02 +00:00
Elliott Hughes
0975a5d9d2 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
2015-04-03 13:10:04 -07:00
Dmitriy Ivanov
5057929fc8 am aea165cb: Merge "Add ANDROID_DLEXT_FORCE_LOAD flag"
* commit 'aea165cb03abceb85062e94f22f72e1c9d9800a4':
  Add ANDROID_DLEXT_FORCE_LOAD flag
2015-04-03 19:59:03 +00:00
Elliott Hughes
97c7802038 am b1f1de4d: Merge "Fix volantis boot."
* commit 'b1f1de4dd4b1a3802abd5284de9ebfe6a98057f1':
  Fix volantis boot.
2015-04-03 19:59:01 +00:00
Dmitriy Ivanov
aea165cb03 Merge "Add ANDROID_DLEXT_FORCE_LOAD flag" 2015-04-03 19:45:24 +00:00
Elliott Hughes
b1f1de4dd4 Merge "Fix volantis boot." 2015-04-03 19:38:31 +00:00
Elliott Hughes
76e1cbca75 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
2015-04-03 12:37:03 -07:00
Dmitriy Ivanov
9b82136b98 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
2015-04-03 10:50:48 -07:00
Dmitriy Ivanov
3eef109c40 am 76832b63: am 06b6e3c5: Merge "Look into local group on dlsym with RTLD_DEFAULT"
* commit '76832b63967c81549a6628f7bd02eada1b11e238':
  Look into local group on dlsym with RTLD_DEFAULT
2015-04-02 22:35:49 +00:00
Dmitriy Ivanov
76832b6396 am 06b6e3c5: Merge "Look into local group on dlsym with RTLD_DEFAULT"
* commit '06b6e3c51d38d70c5ca99f3a3f795697031ac27f':
  Look into local group on dlsym with RTLD_DEFAULT
2015-04-02 22:14:58 +00:00
Dmitriy Ivanov
06b6e3c51d Merge "Look into local group on dlsym with RTLD_DEFAULT" 2015-04-02 21:55:01 +00:00
Dmitriy Ivanov
76ac1acdac 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
2015-04-02 14:12:45 -07:00
Elliott Hughes
84afcc3e1e am 918415f3: am d619d6ff: Merge "Remove _memset16 and _memset32 from mips/mips64 bionic."
* commit '918415f3dc8590f422fa3540c0c6877360745466':
  Remove _memset16 and _memset32 from mips/mips64 bionic.
2015-04-02 21:08:58 +00:00
Yabin Cui
9e2f2b4d88 am 801bf53a: am 00d1101c: Merge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices."
* commit '801bf53a2740fadd23752ce8fdb8484fb478897b':
  Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.
2015-04-02 21:08:57 +00:00
Elliott Hughes
918415f3dc am d619d6ff: Merge "Remove _memset16 and _memset32 from mips/mips64 bionic."
* commit 'd619d6ffb876de6a8f051c850762a6f7a7e55c76':
  Remove _memset16 and _memset32 from mips/mips64 bionic.
2015-04-02 20:47:54 +00:00
Yabin Cui
801bf53a27 am 00d1101c: Merge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices."
* commit '00d1101cc170ce786f26143a897b4a3e3363b55f':
  Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.
2015-04-02 20:47:53 +00:00
Elliott Hughes
d619d6ffb8 Merge "Remove _memset16 and _memset32 from mips/mips64 bionic." 2015-04-02 20:35:22 +00:00
Yabin Cui
00d1101cc1 Merge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices." 2015-04-02 20:27:40 +00:00
Christopher Ferris
9d4c2337b0 am 5c0dc67b: am 618935d2: Merge "gtest_repeat should allow negative values."
* commit '5c0dc67be53100f64e678e4b19ae46ea287c75ea':
  gtest_repeat should allow negative values.
2015-04-02 20:02:35 +00:00
Christopher Ferris
5c0dc67be5 am 618935d2: Merge "gtest_repeat should allow negative values."
* commit '618935d2679e84cc839316c042ee3dde5f7d7097':
  gtest_repeat should allow negative values.
2015-04-02 19:42:49 +00:00
Christopher Ferris
618935d267 Merge "gtest_repeat should allow negative values." 2015-04-02 19:19:38 +00:00
Christopher Ferris
119cb55d43 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
2015-04-02 12:16:00 -07:00
Elliott Hughes
b0cf9288cd Remove _memset16 and _memset32 from mips/mips64 bionic.
These should be in libcutils instead.

Change-Id: Ibbc94755e6da61bf9ce2c8f9a047a082bb9bce24
2015-04-02 10:34:58 -07:00
Nick Kralevich
c68d6bcd8e am 3b84e4bc: am 3cc3f17a: Merge "linker: never mark pages simultaneously writable / executable"
* commit '3b84e4bcd020cb917067fa87e4a60a62c5c42928':
  linker: never mark pages simultaneously writable / executable
2015-04-02 14:21:58 +00:00
Nick Kralevich
3b84e4bcd0 am 3cc3f17a: Merge "linker: never mark pages simultaneously writable / executable"
* commit '3cc3f17aa4b241da7303299032e4269fcf92a4e6':
  linker: never mark pages simultaneously writable / executable
2015-04-02 13:59:26 +00:00
Nick Kralevich
3cc3f17aa4 Merge "linker: never mark pages simultaneously writable / executable" 2015-04-02 13:29:50 +00:00
Yabin Cui
e69c24543d Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.
Bug: 19216648
Change-Id: I765ecacc9036659c766f5d1f6600e1a65364199b
2015-04-01 21:12:22 -07:00
Dan Albert
5856150605 am 004d0048: am ab7c79e2: Merge "Don\'t export new/delete from libc shared libraries."
* commit '004d004868613b9ad00453661838e0f372958dba':
  Don't export new/delete from libc shared libraries.
2015-04-02 02:59:52 +00:00
Dimitry Ivanov
84f634469b am b3c17a19: am 202af3a2: Merge "Revert "Remove text-relocation support for lp32""
* commit 'b3c17a196222cc09af98f095a0863fc048309fa7':
  Revert "Remove text-relocation support for lp32"
2015-04-02 01:38:57 +00:00
Dan Albert
004d004868 am ab7c79e2: Merge "Don\'t export new/delete from libc shared libraries."
* commit 'ab7c79e22e5495a2aa171047a044ce1037e461a9':
  Don't export new/delete from libc shared libraries.
2015-04-02 01:13:18 +00:00
Nick Kralevich
8fdb3419a5 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
2015-04-01 18:05:19 -07:00
Dan Albert
ab7c79e22e Merge "Don't export new/delete from libc shared libraries." 2015-04-01 23:33:53 +00:00
Dan Albert
d6bf3d5e19 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
2015-04-01 16:31:57 -07:00
Elliott Hughes
08c16b17a1 am d4144fd7: am b023799a: Merge "Fix ftw tests when run as non-root."
* commit 'd4144fd700974911fc28e69174ec526d081ea902':
  Fix ftw tests when run as non-root.
2015-04-01 22:09:30 +00:00
Elliott Hughes
ee7ec71284 am a031e93d: am d227d57d: Merge "Update README.md for running tests on the host."
* commit 'a031e93df3578f46507ce0efa3a40a6a391fd81f':
  Update README.md for running tests on the host.
2015-04-01 22:09:26 +00:00
Dimitry Ivanov
b3c17a1962 am 202af3a2: Merge "Revert "Remove text-relocation support for lp32""
* commit '202af3a23cb23e2571011ea76367ff3e88dfd48e':
  Revert "Remove text-relocation support for lp32"
2015-04-01 21:44:47 +00:00
Dimitry Ivanov
202af3a23c Merge "Revert "Remove text-relocation support for lp32"" 2015-04-01 21:28:29 +00:00
Dimitry Ivanov
56be6ed9e4 Revert "Remove text-relocation support for lp32"
This reverts commit cb00add1b3.

Bug: 20020312
Bug: 20013628
Change-Id: I8baa3d4b6c7fef50c9e2531257d5b96762099eb3
2015-04-01 21:18:48 +00:00
Elliott Hughes
d4144fd700 am b023799a: Merge "Fix ftw tests when run as non-root."
* commit 'b023799a6027924aad13b0f91c0b5b7f1b9cfe2d':
  Fix ftw tests when run as non-root.
2015-04-01 19:48:51 +00:00
Elliott Hughes
a031e93df3 am d227d57d: Merge "Update README.md for running tests on the host."
* commit 'd227d57d50f7a5251dbbfa3f2b41d3fe882851fa':
  Update README.md for running tests on the host.
2015-04-01 19:37:45 +00:00
Elliott Hughes
b023799a60 Merge "Fix ftw tests when run as non-root." 2015-04-01 19:32:15 +00:00
Elliott Hughes
0ad256c1b2 Fix ftw tests when run as non-root.
Root can create subdirectories inside non-writable directories, but
other users can't.

Change-Id: I102fe610d1bd2733aebf184b544e58612465287d
2015-04-01 12:22:40 -07:00
Elliott Hughes
d227d57d50 Merge "Update README.md for running tests on the host." 2015-04-01 19:20:09 +00:00
Elliott Hughes
d3d018b2b4 Update README.md for running tests on the host.
Change-Id: Ib360d91bffd269e7acdb20ad33a7bd85345a1475
2015-04-01 12:16:56 -07:00
Dmitriy Ivanov
fd5f718d6e am b3f8daab: am 61a35fa4: Merge "Remove text-relocation support for lp32"
* commit 'b3f8daab591fef3eabb8f9151334bb4a5c6eafda':
  Remove text-relocation support for lp32
2015-04-01 02:32:07 +00:00
Mark Salyzyn
80416cca09 am 64226a48: am 8f41142c: Merge "stubs missing include for string.h"
* commit '64226a48a1e9b25bb6985c9c14097d400039be35':
  stubs missing include for string.h
2015-04-01 02:32:05 +00:00
Elliott Hughes
1fe8a49ed4 am c325dfdd: am 72035734: Merge "Make ThreadLocalBuffer a class rather than a macro."
* commit 'c325dfdd8e44d4124e7122b1435ba66287ef6e08':
  Make ThreadLocalBuffer a class rather than a macro.
2015-04-01 02:32:03 +00:00
Christopher Ferris
0ddef60c42 am 8f604eb4: am 89a4a541: Merge "Upgrade kernel headers to 3.18.10."
* commit '8f604eb4097ae6e0ac89981fe2ff85a9c22d3a4c':
  Upgrade kernel headers to 3.18.10.
2015-04-01 02:32:01 +00:00
Dmitriy Ivanov
b3f8daab59 am 61a35fa4: Merge "Remove text-relocation support for lp32"
* commit '61a35fa40c898dc08c28c9da8b174ba5d5614579':
  Remove text-relocation support for lp32
2015-04-01 01:51:51 +00:00
Mark Salyzyn
64226a48a1 am 8f41142c: Merge "stubs missing include for string.h"
* commit '8f41142cd631bdd8bf02dcfbb599e5edbfcbd67e':
  stubs missing include for string.h
2015-04-01 01:40:57 +00:00
Elliott Hughes
c325dfdd8e am 72035734: Merge "Make ThreadLocalBuffer a class rather than a macro."
* commit '72035734af2d8558a3ccd7e29626216e20aed6f2':
  Make ThreadLocalBuffer a class rather than a macro.
2015-04-01 01:40:56 +00:00
Dmitriy Ivanov
61a35fa40c Merge "Remove text-relocation support for lp32" 2015-04-01 01:37:46 +00:00
Christopher Ferris
8f604eb409 am 89a4a541: Merge "Upgrade kernel headers to 3.18.10."
* commit '89a4a54104d566bbfd226ed1e3abcf047b871690':
  Upgrade kernel headers to 3.18.10.
2015-04-01 01:32:54 +00:00
Mark Salyzyn
8f41142cd6 Merge "stubs missing include for string.h" 2015-04-01 00:55:19 +00:00
Elliott Hughes
72035734af Merge "Make ThreadLocalBuffer a class rather than a macro." 2015-04-01 00:51:57 +00:00
Dmitriy Ivanov
cb00add1b3 Remove text-relocation support for lp32
Bug: 20013628
Change-Id: Idaf8012f00ee1304d429c3b42f9ebc6b648c55b8
2015-03-31 17:42:45 -07:00
Mark Salyzyn
56b2768176 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
2015-03-31 16:58:35 -07:00
Dmitriy Ivanov
41b70f5374 am d7d6d13b: am 52a0f014: Merge "Fix long lines and replace macros with functions."
* commit 'd7d6d13be8565a7d2fb43ecc8c60b0d627bb9dc1':
  Fix long lines and replace macros with functions.
2015-03-31 23:01:04 +00:00
Christopher Ferris
89a4a54104 Merge "Upgrade kernel headers to 3.18.10." 2015-03-31 22:37:05 +00:00
Christopher Ferris
e01d32f802 Upgrade kernel headers to 3.18.10.
Change-Id: Iff1f1c830780585990856a5114b559c61282dcd6
2015-03-31 14:57:48 -07:00
Dmitriy Ivanov
d7d6d13be8 am 52a0f014: Merge "Fix long lines and replace macros with functions."
* commit '52a0f01421fde3cd4f879b491a9f491d792fa2d5':
  Fix long lines and replace macros with functions.
2015-03-31 20:28:51 +00:00
Dmitriy Ivanov
52a0f01421 Merge "Fix long lines and replace macros with functions." 2015-03-31 20:19:53 +00:00
Dmitriy Ivanov
20d89cb5b0 Fix long lines and replace macros with functions.
Change-Id: I4e1cab488d5b2c8e4289da617350a86e72a4ba12
2015-03-31 11:49:25 -07:00
Elliott Hughes
6170693e28 Make ThreadLocalBuffer a class rather than a macro.
Bug: 19995392
Change-Id: I497c512648fbe66257da3fb3bcd5c9911f983705
2015-03-31 10:56:58 -07:00
Yabin Cui
934eca1cb4 am e58918f7: am 611fd2cc: Merge "Revert "Revert "add guard pages to the internal signal stacks"""
* commit 'e58918f73aec07d0d3e857718f90e6282ce0056b':
  Revert "Revert "add guard pages to the internal signal stacks""
2015-03-31 04:49:32 +00:00
Yabin Cui
e58918f73a am 611fd2cc: Merge "Revert "Revert "add guard pages to the internal signal stacks"""
* commit '611fd2cc91f79be6759f6e630e1e81998326dfe8':
  Revert "Revert "add guard pages to the internal signal stacks""
2015-03-31 04:36:45 +00:00
Yabin Cui
611fd2cc91 Merge "Revert "Revert "add guard pages to the internal signal stacks""" 2015-03-31 04:24:08 +00:00
Yabin Cui
ef11500301 Revert "Revert "add guard pages to the internal signal stacks""
This reverts commit a3125fd139.
And Fix the prctl() problem that cause system crash.

Change-Id: Icc8d12d848cfba881a7984ca2827fd81be41f9fd
2015-03-30 20:51:39 -07:00
Elliott Hughes
558f6b0177 am 85f42bd3: am 8225ad63: Merge "Revert "add guard pages to the internal signal stacks""
* commit '85f42bd31b55b83df7503480673a1d3112e50291':
  Revert "add guard pages to the internal signal stacks"
2015-03-31 03:07:18 +00:00
Elliott Hughes
832253b966 am 0c2b7a72: am 2746b928: Merge "Revert "Fix clang build breakage ("arithmetic on a pointer to void").""
* commit '0c2b7a72af0c64d3d3cf33311be99a4f25e01a29':
  Revert "Fix clang build breakage ("arithmetic on a pointer to void")."
2015-03-31 03:07:16 +00:00
Elliott Hughes
85f42bd31b am 8225ad63: Merge "Revert "add guard pages to the internal signal stacks""
* commit '8225ad63fac7c5cc298884c101a344959b87dc39':
  Revert "add guard pages to the internal signal stacks"
2015-03-31 02:54:14 +00:00
Elliott Hughes
0c2b7a72af am 2746b928: Merge "Revert "Fix clang build breakage ("arithmetic on a pointer to void").""
* commit '2746b9289abc0fd5e38b94fc96d101e5e242d9f2':
  Revert "Fix clang build breakage ("arithmetic on a pointer to void")."
2015-03-31 02:54:11 +00:00
Elliott Hughes
8225ad63fa Merge "Revert "add guard pages to the internal signal stacks"" 2015-03-31 02:42:51 +00:00
Elliott Hughes
a3125fd139 Revert "add guard pages to the internal signal stacks"
This reverts commit 595752f623.

Change-Id: Iefa66e9049ca0424e53cd5fc320d161b93556dcb
2015-03-31 02:42:39 +00:00
Elliott Hughes
2746b9289a Merge "Revert "Fix clang build breakage ("arithmetic on a pointer to void")."" 2015-03-31 02:41:33 +00:00
Elliott Hughes
3925f32ffb Revert "Fix clang build breakage ("arithmetic on a pointer to void")."
This reverts commit 16c7721279.

Change-Id: I568dee5400599693b1585ce6d4be7a0b5f37dc74
2015-03-31 02:41:20 +00:00
Elliott Hughes
a134eda3fa am aa23e36c: am 2d84d870: Merge "Fix clang build breakage ("arithmetic on a pointer to void")."
* commit 'aa23e36ceef86f8a73d4c100c8e5a126253c5ff5':
  Fix clang build breakage ("arithmetic on a pointer to void").
2015-03-30 23:14:42 +00:00
Elliott Hughes
ec5998271c am 935967bd: am 373748f4: Merge "add guard pages to the internal signal stacks"
* commit '935967bde1b03fb53e661d8e037819209dee97c9':
  add guard pages to the internal signal stacks
2015-03-30 21:46:07 +00:00
Elliott Hughes
aa23e36cee am 2d84d870: Merge "Fix clang build breakage ("arithmetic on a pointer to void")."
* commit '2d84d870db0e6db54cf09441434bf2f5b28c6492':
  Fix clang build breakage ("arithmetic on a pointer to void").
2015-03-30 21:45:37 +00:00
Elliott Hughes
935967bde1 am 373748f4: Merge "add guard pages to the internal signal stacks"
* commit '373748f4c66bb37e564716590e7b4fc8a64e0884':
  add guard pages to the internal signal stacks
2015-03-30 21:35:56 +00:00
Elliott Hughes
2d84d870db Merge "Fix clang build breakage ("arithmetic on a pointer to void")." 2015-03-30 21:34:07 +00:00
Elliott Hughes
16c7721279 Fix clang build breakage ("arithmetic on a pointer to void").
Change-Id: Ia0953fc1cd0f8ea2d4423b3c6e34f6dc7a9f31e9
2015-03-30 14:33:02 -07:00
Elliott Hughes
373748f4c6 Merge "add guard pages to the internal signal stacks" 2015-03-30 21:24:36 +00:00
Daniel Micay
595752f623 add guard pages to the internal signal stacks
Signal handlers tend to be lean, but can still overflow the (tiny)
stack.

Change-Id: Ia21c6453d92a9f8d1536ad01ff26a1a84c05f8fb
2015-03-30 17:13:20 -04:00
Nick Kralevich
e9311f0b7c am c9397b74: am 203082b8: Merge "linker_environ: clear MALLOC_CONF when AT_SECURE=1"
* commit 'c9397b74a96764a434f2206c4fb8471f382966e3':
  linker_environ: clear MALLOC_CONF when AT_SECURE=1
2015-03-27 23:43:40 +00:00
Dmitriy Ivanov
f57a0367f7 am 267422ac: am 5c136382: Merge "Fix libstdc++.so hash-style."
* commit '267422ac858ae8cb38c655e4ac7b5f755d02881f':
  Fix libstdc++.so hash-style.
2015-03-27 23:43:39 +00:00
Nick Kralevich
c9397b74a9 am 203082b8: Merge "linker_environ: clear MALLOC_CONF when AT_SECURE=1"
* commit '203082b8217cd853eee510ad371b382701960610':
  linker_environ: clear MALLOC_CONF when AT_SECURE=1
2015-03-27 23:22:04 +00:00
Dmitriy Ivanov
267422ac85 am 5c136382: Merge "Fix libstdc++.so hash-style."
* commit '5c136382a6f1ad796a60463898d4c08fadead669':
  Fix libstdc++.so hash-style.
2015-03-27 23:22:02 +00:00
Dmitriy Ivanov
5f1a2f44ea am 85ca90c7: am cd79a59b: Merge "Add test for thread_local keyword."
* commit '85ca90c72e9ca2605640cc94ae1ce45cae02e9e4':
  Add test for thread_local keyword.
2015-03-27 23:21:55 +00:00
Nick Kralevich
203082b821 Merge "linker_environ: clear MALLOC_CONF when AT_SECURE=1" 2015-03-27 22:55:20 +00:00
Nick Kralevich
e001ca3e18 linker_environ: clear MALLOC_CONF when AT_SECURE=1
Clear JE_MALLOC_CONF and MALLOC_CONF

Change-Id: Ia76e263783194ecaa362e8ccafbe13a28a4a1ba6
2015-03-27 15:49:33 -07:00
Dmitriy Ivanov
5c136382a6 Merge "Fix libstdc++.so hash-style." 2015-03-27 22:46:52 +00:00
Dmitriy Ivanov
402d199450 Fix libstdc++.so hash-style.
Bug: 19059885
Bug: 19958712
Change-Id: I167457a54cc688d64912a50f5fb75e4e2f3e3937
2015-03-27 15:27:07 -07:00
Dmitriy Ivanov
85ca90c72e am cd79a59b: Merge "Add test for thread_local keyword."
* commit 'cd79a59b18f8e81b5f37258f376a726dc8acb81a':
  Add test for thread_local keyword.
2015-03-27 21:41:56 +00:00
Dmitriy Ivanov
cd79a59b18 Merge "Add test for thread_local keyword." 2015-03-27 20:07:35 +00:00
Dmitriy Ivanov
947adedebc Add test for thread_local keyword.
For gcc only for the time being.

Bug: 19800080
Bug: 16696563
Change-Id: Ifaa59a131ca2d9030554cee7ce631dcb1d081938
2015-03-27 12:05:36 -07:00
Dmitriy Ivanov
708d0423d9 am 09ffd5b8: am cfd794a9: Merge "Explain why we need objcopy for the linker"
* commit '09ffd5b8d560106759be8fe2b34e5e6e58e27ca5':
  Explain why we need objcopy for the linker
2015-03-27 00:15:01 +00:00
Dmitriy Ivanov
09ffd5b8d5 am cfd794a9: Merge "Explain why we need objcopy for the linker"
* commit 'cfd794a96d0c4f1d97e54b701b408dafdb514d17':
  Explain why we need objcopy for the linker
2015-03-27 00:01:30 +00:00
Dmitriy Ivanov
cfd794a96d Merge "Explain why we need objcopy for the linker" 2015-03-26 23:49:23 +00:00
Dmitriy Ivanov
797bffb760 Explain why we need objcopy for the linker
Change-Id: I646673abc6095b56f72add493b60925375b75b78
2015-03-26 16:47:18 -07:00
Yabin Cui
d6eb84ea2c am 71fe7f4a: am 8f3eb5a4: Merge "Revert "Cause Fatal error when invalid pthread_id is detected.""
* commit '71fe7f4ad7499bb225ec05330288f6bee2dc0ab0':
  Revert "Cause Fatal error when invalid pthread_id is detected."
2015-03-26 19:23:15 +00:00
Simon Baldwin
988d91d384 am 59409c68: am 7c01e3a9: Merge "Fix comment drift in assorted relocation packer modules."
* commit '59409c68ebdc8cdcb3b3ff9f4a5bdee9570c67d0':
  Fix comment drift in assorted relocation packer modules.
2015-03-26 18:29:21 +00:00
Yabin Cui
71fe7f4ad7 am 8f3eb5a4: Merge "Revert "Cause Fatal error when invalid pthread_id is detected.""
* commit '8f3eb5a4e5dbbac1fb431e40e25eec07ecc24ee8':
  Revert "Cause Fatal error when invalid pthread_id is detected."
2015-03-26 18:27:10 +00:00
Dmitriy Ivanov
9dfe17cc7c am 73f4a8b6: am f2d153f8: Merge "Initial implementation of __cxa_thread_atexit_impl"
* commit '73f4a8b616b9a51fcce2b46da526620aa04ae9f4':
  Initial implementation of __cxa_thread_atexit_impl
2015-03-26 18:23:07 +00:00
Simon Baldwin
59409c68eb am 7c01e3a9: Merge "Fix comment drift in assorted relocation packer modules."
* commit '7c01e3a9ba80c85c7e7998d2347885e9a6e3bbf2':
  Fix comment drift in assorted relocation packer modules.
2015-03-26 18:16:10 +00:00
Yabin Cui
8f3eb5a4e5 Merge "Revert "Cause Fatal error when invalid pthread_id is detected."" 2015-03-26 18:14:23 +00:00
Yabin Cui
220b99bdc1 Revert "Cause Fatal error when invalid pthread_id is detected."
Some code like in https://buganizer.corp.google.com/u/0/issues/19942911 need to change first.

This reverts commit 03324780aa.

Change-Id: I13ff1e5b3d0672bae9cde234ffba32fbbf33d338
2015-03-26 18:13:07 +00:00
Dmitriy Ivanov
73f4a8b616 am f2d153f8: Merge "Initial implementation of __cxa_thread_atexit_impl"
* commit 'f2d153f836e529892854b91452fabd2c2fa79c05':
  Initial implementation of __cxa_thread_atexit_impl
2015-03-26 18:08:37 +00:00
Simon Baldwin
7c01e3a9ba Merge "Fix comment drift in assorted relocation packer modules." 2015-03-26 18:01:13 +00:00
Dmitriy Ivanov
f2d153f836 Merge "Initial implementation of __cxa_thread_atexit_impl" 2015-03-26 17:50:23 +00:00
Simon Baldwin
32123dac5f am 20003502: am 7f8d91ea: Merge "Remove unused/unusable relocation packer files."
* commit '20003502df967d15e194bd032f0ccf14f6b71e3f':
  Remove unused/unusable relocation packer files.
2015-03-26 17:46:05 +00:00
Simon Baldwin
569a752689 Fix comment drift in assorted relocation packer modules.
Some of the commentary in relocation packer code is relevant
only to the packing strategy employed by chromium, and no
longer applies here.  This change fixes or deletes it.

Code comment change only; no functional effect.

Change-Id: Id229ee1d802bba608be15b79bc75bf90df557dab
Signed-off-by: Simon Baldwin <simonb@google.com>
2015-03-26 17:13:19 +00:00
Simon Baldwin
20003502df am 7f8d91ea: Merge "Remove unused/unusable relocation packer files."
* commit '7f8d91ea8e24e89db39ae868085913e763e04557':
  Remove unused/unusable relocation packer files.
2015-03-26 16:55:09 +00:00
Simon Baldwin
7f8d91ea8e Merge "Remove unused/unusable relocation packer files." 2015-03-26 16:41:02 +00:00
Yabin Cui
c1033489bf am efe1aff0: am b9232c94: Merge "Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER."
* commit 'efe1aff09daef1b1cbe9d9f37c0922f596f01977':
  Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER.
2015-03-26 16:27:34 +00:00
Yabin Cui
efe1aff09d am b9232c94: Merge "Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER."
* commit 'b9232c94da831d485b3896580a3d1ac9abc46a4f':
  Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER.
2015-03-26 04:36:16 +00:00
Yabin Cui
03717a8adf am 6f9a3522: am 69847bc2: Merge "Hide internal of pthread_mutex_t."
* commit '6f9a35222bccc19dbd66a8a25a0f53b8e53603d9':
  Hide internal of pthread_mutex_t.
2015-03-26 04:28:52 +00:00
Yabin Cui
8cb44aa974 am 0682e44f: am fa3dcecc: Merge "Fix in error handling in pthread_create.cpp."
* commit '0682e44f7c2b961e8e36016829ea4cdca3e0fbe1':
  Fix in error handling in pthread_create.cpp.
2015-03-26 04:28:51 +00:00
Yabin Cui
b9232c94da Merge "Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER." 2015-03-26 04:21:15 +00:00
Yabin Cui
6f9a35222b am 69847bc2: Merge "Hide internal of pthread_mutex_t."
* commit '69847bc298de62917663d22b6733ef75b57124fa':
  Hide internal of pthread_mutex_t.
2015-03-26 04:19:40 +00:00
Yabin Cui
0682e44f7c am fa3dcecc: Merge "Fix in error handling in pthread_create.cpp."
* commit 'fa3dcecc0fd7bbbf04234e41be690a5d33277870':
  Fix in error handling in pthread_create.cpp.
2015-03-26 04:19:39 +00:00
Yabin Cui
377243b78c Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER.
These macros are also not used in glibc. And we should use
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP instead.

Change-Id: I35195e2f499712dcde9305bbb93622d0f7ca874b
2015-03-25 21:02:36 -07:00
Yabin Cui
69847bc298 Merge "Hide internal of pthread_mutex_t." 2015-03-26 02:10:07 +00:00
Dmitriy Ivanov
df79c330d8 Initial implementation of __cxa_thread_atexit_impl
This is initial implementations; does not yet handle
  dlclose - undefined behavior, needs linker support to
  handle it right.

Bug: 19800080
Bug: 16696563
Change-Id: I7a3e21ed7f7ec01e62ea1b7cb2ab253590ea0686
2015-03-25 18:07:59 -07:00
Yabin Cui
17393b06ba Hide internal of pthread_mutex_t.
Bug: 19249079
Change-Id: Iffb79c8d861b698d474f212dc80c638fc2cf1620
2015-03-25 17:54:17 -07:00
Yabin Cui
fa3dcecc0f Merge "Fix in error handling in pthread_create.cpp." 2015-03-26 00:26:59 +00:00
Yabin Cui
55139f17fd am 3ae2774a: am 36d5b6f4: Merge "Cause Fatal error when invalid pthread_id is detected."
* commit '3ae2774aa0b05e0c80d7e0820a33325795c23df2':
  Cause Fatal error when invalid pthread_id is detected.
2015-03-25 23:41:19 +00:00
Yabin Cui
799cb35f45 Fix in error handling in pthread_create.cpp.
It is due to a previous change "Let g_thread_list_lock only protect g_thread_list".
We need to add the newly created thread to thread_list even if
__init_thread fails, so the thread can exit successfully.

Change-Id: I0332df11acfdd181350bcc092b12d90d679057a4
2015-03-25 16:18:21 -07:00
Yabin Cui
3ae2774aa0 am 36d5b6f4: Merge "Cause Fatal error when invalid pthread_id is detected."
* commit '36d5b6f47dd14fd9733d935174d2b8e0deb979c6':
  Cause Fatal error when invalid pthread_id is detected.
2015-03-25 23:04:27 +00:00
Yabin Cui
36d5b6f47d Merge "Cause Fatal error when invalid pthread_id is detected." 2015-03-25 22:53:50 +00:00
Yabin Cui
03324780aa Cause Fatal error when invalid pthread_id is detected.
This is a patch testing whether we can use abort() instead of
returning ESRCH for invalid pthread ids. It is an intermediate
step to remove g_thread_list/g_thread_list_lock.

Bug: 19636317
Change-Id: Idd8e4a346c7ce91e1be0c2ebcb78ce51c0d0a31d
2015-03-25 15:30:39 -07:00
Yabin Cui
6c06d5d4d5 am 2d55dd58: am 0c3b632b: Merge "Add O_APPEND flag for __libc_write_stderr."
* commit '2d55dd58bdbb37e108d22352a7905f6257822ce6':
  Add O_APPEND flag for __libc_write_stderr.
2015-03-25 22:05:51 +00:00
Christopher Ferris
2f7c0b71dd am d35c24e7: am f6364486: Merge "Use ALIAS_SYMBOL for assembler aliasing."
* commit 'd35c24e795216f3a4f5d309d616ed766e0d73086':
  Use ALIAS_SYMBOL for assembler aliasing.
2015-03-25 21:07:52 +00:00
Yabin Cui
2d55dd58bd am 0c3b632b: Merge "Add O_APPEND flag for __libc_write_stderr."
* commit '0c3b632bd6570064bab1055d2b8a51cfb85e60bb':
  Add O_APPEND flag for __libc_write_stderr.
2015-03-25 20:28:51 +00:00
Yabin Cui
0c3b632bd6 Merge "Add O_APPEND flag for __libc_write_stderr." 2015-03-25 20:17:34 +00:00
Yabin Cui
28e69f7508 Add O_APPEND flag for __libc_write_stderr.
For DeathTests, we are testing the output of stderr to check if it is the
death we are expecting. To collect the output, Gtest redirects stderr to
a temporary file. But in __libc_write_stderr in libc_logging.cpp, we are
writing to stderr without a O_APPEND flag, so a new message will overwrite
a previous message.
The above situation makes almost all the DeathTests fail on host. Because
the expected message are always overwritten in host DeathTests. So I add
O_APPEND flag in __libc_write_stderr, which makes all host DeathTests pass.

Change-Id: Ic2f6044fdb181eebe132a6f170b57db43c5c3289
2015-03-25 13:01:23 -07:00
Christopher Ferris
d35c24e795 am f6364486: Merge "Use ALIAS_SYMBOL for assembler aliasing."
* commit 'f6364486fb0fcd2891094a871041a3dc6c2334f8':
  Use ALIAS_SYMBOL for assembler aliasing.
2015-03-25 18:59:06 +00:00
Christopher Ferris
f6364486fb Merge "Use ALIAS_SYMBOL for assembler aliasing." 2015-03-25 17:52:50 +00:00
Simon Baldwin
d2bd5739ed Remove unused/unusable relocation packer files.
Removes:
- src/run_length_encoder.h
    artifact of the original packing tool, not used here
- test_data/generate_elf_file_unittest_relocs.sh
- test_data/generate_elf_file_unittest_relocs.py
    test data generation for chromium/gyp, not usable here
- README.TXT
    because it is now almost entirely outdated

Change-Id: Ic4cd372647d9a365dc52833a6cc1cf66f0c95ec9
2015-03-25 16:23:01 +00:00
Christopher Ferris
24958514b9 Use ALIAS_SYMBOL for assembler aliasing.
Change-Id: I8d04d2da0a1ac440cc9044fc819c9a8eda5ff17d
2015-03-25 09:12:00 -07:00
Neil Fuller
1f95ffecc2 Changes to re-enable overrides for tz data
Bug: 10637303
Change-Id: I5d525b66cf30d34b421803b876445596bed8d64d
2015-03-25 16:08:37 +00:00
Christopher Ferris
7a47d7c12c am 44a6dcc2: am f5e0ba94: Merge "Make gensyscalls.py use the ALIAS_SYMBOL macro."
* commit '44a6dcc2a4a3d5bcdbd51fe385121600ad05657f':
  Make gensyscalls.py use the ALIAS_SYMBOL macro.
2015-03-25 04:43:39 +00:00
Christopher Ferris
44a6dcc2a4 am f5e0ba94: Merge "Make gensyscalls.py use the ALIAS_SYMBOL macro."
* commit 'f5e0ba94d911ef2622ecfd3f7fabc4432a4806d3':
  Make gensyscalls.py use the ALIAS_SYMBOL macro.
2015-03-25 04:31:15 +00:00
Christopher Ferris
f5e0ba94d9 Merge "Make gensyscalls.py use the ALIAS_SYMBOL macro." 2015-03-25 04:20:45 +00:00
Christopher Ferris
fa5faa0ce6 Make gensyscalls.py use the ALIAS_SYMBOL macro.
Change-Id: Ib94c0abb6fc85126ecc5ed3f1962b2b8b90b9952
2015-03-24 21:08:26 -07:00
Dmitriy Ivanov
30d10dba39 am 26bca5b1: am 70cafb16: Merge "Replace fixed arrays with vectors"
* commit '26bca5b14008e576838f9a8f4f617777e24615f0':
  Replace fixed arrays with vectors
2015-03-25 01:34:08 +00:00
Dmitriy Ivanov
26bca5b140 am 70cafb16: Merge "Replace fixed arrays with vectors"
* commit '70cafb16ec9ab23ad65542534af5a1ac7d6e70e4':
  Replace fixed arrays with vectors
2015-03-25 00:55:44 +00:00
Dmitriy Ivanov
70cafb16ec Merge "Replace fixed arrays with vectors" 2015-03-25 00:45:20 +00:00
Dmitriy Ivanov
d165f56fb6 Replace fixed arrays with vectors
This effectively removes limit on length and count
  of LD_LIBRARY_PATH and LD_PRELOAD entries.

Change-Id: Ie7ea34a50d99c4018f9dd1a33aaebc4049a7f424
2015-03-24 16:55:52 -07:00
Dan Albert
7080634340 am 4ca2cda2: am ee4997ec: Merge "Convert result of a call to JSON."
* commit '4ca2cda213c8dacacfd420c70de33862a52f8a67':
  Convert result of a call to JSON.
2015-03-24 22:09:39 +00:00
Dan Albert
4ca2cda213 am ee4997ec: Merge "Convert result of a call to JSON."
* commit 'ee4997ecc3daeb9af110d932ddb27f969cc7271a':
  Convert result of a call to JSON.
2015-03-24 21:41:56 +00:00
Dan Albert
ee4997ecc3 Merge "Convert result of a call to JSON." 2015-03-24 21:28:31 +00:00
Dan Albert
7d57623755 Convert result of a call to JSON.
I still had the service that was relying on this running on top of
local changes, so this hadn't been a problem yet.

Change-Id: I63b45b8c7cf81972dbb7128013c1c777a2342d4c
2015-03-24 11:43:55 -07:00
Yabin Cui
d1c2fad9cc am e39f3200: am 93d44ff2: Merge "Let g_thread_list_lock only protect g_thread_list."
* commit 'e39f3200a926d5bb18fbaec92eed5fc00dad9fb2':
  Let g_thread_list_lock only protect g_thread_list.
2015-03-24 03:25:46 +00:00
Dmitriy Ivanov
67a37cd1a3 am efaf8ff6: am 32b039e4: Merge "RTLD_LAZY is not supported, use RTLD_NOW instead."
* commit 'efaf8ff6e4553c22ee481e873edcccd9d4b36748':
  RTLD_LAZY is not supported, use RTLD_NOW instead.
2015-03-24 03:25:37 +00:00
Yabin Cui
6884bcd02a am ecf010ed: am f8246ac6: Merge "Add test for pthread types alignment check."
* commit 'ecf010ed4138f37d5916961f7aaf52270ba715ea':
  Add test for pthread types alignment check.
2015-03-24 03:25:20 +00:00
Dan Albert
3190c5128d am 7472b500: am 27b38599: Merge "Work around a bug in the Jenkins queue API."
* commit '7472b500a3545b603c56b3fb7f6f7075c3872b84':
  Work around a bug in the Jenkins queue API.
2015-03-24 02:58:59 +00:00
Yabin Cui
e39f3200a9 am 93d44ff2: Merge "Let g_thread_list_lock only protect g_thread_list."
* commit '93d44ff2a6e0febe18d42d5690e85023545318b4':
  Let g_thread_list_lock only protect g_thread_list.
2015-03-24 02:51:53 +00:00
Yabin Cui
93d44ff2a6 Merge "Let g_thread_list_lock only protect g_thread_list." 2015-03-24 02:39:51 +00:00
Yabin Cui
673b15e4ee Let g_thread_list_lock only protect g_thread_list.
As glibc/netbsd don't protect access to thread struct members by a global
lock, we don't want to do it either. This change reduces the
responsibility of g_thread_list_lock to only protect g_thread_list.

Bug: 19636317
Change-Id: I897890710653dac165d8fa4452c7ecf74abdbf2b
2015-03-23 19:03:49 -07:00
Dmitriy Ivanov
efaf8ff6e4 am 32b039e4: Merge "RTLD_LAZY is not supported, use RTLD_NOW instead."
* commit '32b039e46eee4d40b9979eab873a957e86fbf969':
  RTLD_LAZY is not supported, use RTLD_NOW instead.
2015-03-24 01:00:49 +00:00
Dmitriy Ivanov
32b039e46e Merge "RTLD_LAZY is not supported, use RTLD_NOW instead." 2015-03-24 00:48:58 +00:00
Yabin Cui
ecf010ed41 am f8246ac6: Merge "Add test for pthread types alignment check."
* commit 'f8246ac65f1985e23023df12112a6ce47057a4dd':
  Add test for pthread types alignment check.
2015-03-23 23:28:49 +00:00
Yabin Cui
d1fe16f448 am adebbfc9: am 7f1e2068: Merge "Fix alignment error for pthread_internal_t/pthread stack."
* commit 'adebbfc994e56b53e0c8ae420373b6ee57a9d4d3':
  Fix alignment error for pthread_internal_t/pthread stack.
2015-03-23 23:24:18 +00:00
Yabin Cui
f8246ac65f Merge "Add test for pthread types alignment check." 2015-03-23 23:18:27 +00:00
Dmitriy Ivanov
84c10c2e79 RTLD_LAZY is not supported, use RTLD_NOW instead.
Change-Id: Ia08ed6416aef686435224b50b3e58955d09f04e2
2015-03-23 14:58:45 -07:00
Dan Albert
7472b500a3 am 27b38599: Merge "Work around a bug in the Jenkins queue API."
* commit '27b38599dc4b0b4941906d8da30022f516abf143':
  Work around a bug in the Jenkins queue API.
2015-03-23 20:44:52 +00:00
Dan Albert
27b38599dc Merge "Work around a bug in the Jenkins queue API." 2015-03-23 20:32:15 +00:00
Dan Albert
c889f13493 Work around a bug in the Jenkins queue API.
https://issues.jenkins-ci.org/browse/JENKINS-27256

1.601 broke the ability to get a build's URL before the build had
actually started. The bug is pseudo-fixed, but would require
installing a new plugin and fixing the python jenkinsapi plugin for
the time being to use /queuefix/ rather than /queue/.

Just avoiding logging a URL for now.

Change-Id: Ibf90e5887fc4532dac688082ad7729787897da11
2015-03-23 13:29:15 -07:00
Yabin Cui
adebbfc994 am 7f1e2068: Merge "Fix alignment error for pthread_internal_t/pthread stack."
* commit '7f1e206815032aa152e9f181e477ae2a3f128d67':
  Fix alignment error for pthread_internal_t/pthread stack.
2015-03-21 17:11:22 +00:00
Yabin Cui
b584572213 Add test for pthread types alignment check.
Bug: 19249079
Change-Id: I83c4f0d11ec5d82a346ae0057d02a92bb1d519e8
2015-03-20 17:42:09 -07:00
Yabin Cui
7f1e206815 Merge "Fix alignment error for pthread_internal_t/pthread stack." 2015-03-20 23:26:24 +00:00
Yabin Cui
a2db50d5d7 Fix alignment error for pthread_internal_t/pthread stack.
aligned attribute can only control compiler's behavior, but we
are manually allocating pthread_internal_t. So we need to make
sure of alignment manually.

Change-Id: Iea4c46eadf10dfd15dc955c5f41cf6063cfd8536
2015-03-20 14:41:52 -07:00
Dmitriy Ivanov
52d092b140 am e0423890: am 9bc8ce7c: Merge "Limit soinfo compatibility fields to arm32"
* commit 'e0423890778668403562f1f0afc6d3ebec4dc4fa':
  Limit soinfo compatibility fields to arm32
2015-03-20 04:23:44 +00:00
Dmitriy Ivanov
e042389077 am 9bc8ce7c: Merge "Limit soinfo compatibility fields to arm32"
* commit '9bc8ce7c6a8abc09e76b0f35064d881385861537':
  Limit soinfo compatibility fields to arm32
2015-03-20 04:18:23 +00:00
Dmitriy Ivanov
9bc8ce7c6a Merge "Limit soinfo compatibility fields to arm32" 2015-03-20 04:05:51 +00:00
Dmitriy Ivanov
e631f91a01 Limit soinfo compatibility fields to arm32
Change-Id: I3924cd68397c223c0d206295d587f9dd8ebdc086
2015-03-19 17:50:29 -07:00
Yabin Cui
23c719f940 am 2e7617f2: am 4149dc94: Merge "Return EINVAL when calling pthread_detach for joined thread."
* commit '2e7617f2a0a703ae8dd0ba1b090464279482f893':
  Return EINVAL when calling pthread_detach for joined thread.
2015-03-20 00:21:22 +00:00
Yabin Cui
2e7617f2a0 am 4149dc94: Merge "Return EINVAL when calling pthread_detach for joined thread."
* commit '4149dc944bbe3c5f1c14fc998106975e68bdd6bf':
  Return EINVAL when calling pthread_detach for joined thread.
2015-03-20 00:11:58 +00:00
Yabin Cui
4149dc944b Merge "Return EINVAL when calling pthread_detach for joined thread." 2015-03-20 00:00:30 +00:00
Yabin Cui
07d9fe9c16 am 09170b99: am 7875b506: Merge "Fix two errors in pthread_detach.cpp."
* commit '09170b9968ac1c778026777f76d000a2afdd7459':
  Fix two errors in pthread_detach.cpp.
2015-03-19 23:58:51 +00:00
Yabin Cui
09170b9968 am 7875b506: Merge "Fix two errors in pthread_detach.cpp."
* commit '7875b506edfb1fe593034eaf4bc9aa156179fbd2':
  Fix two errors in pthread_detach.cpp.
2015-03-19 23:53:04 +00:00
Yabin Cui
bbb0432a33 Return EINVAL when calling pthread_detach for joined thread.
Change-Id: I717015132187e087e0ad485284a13c8801e25e77
2015-03-19 16:48:19 -07:00
Yabin Cui
7875b506ed Merge "Fix two errors in pthread_detach.cpp." 2015-03-19 23:38:40 +00:00
Yabin Cui
aec2bb5ec6 Fix two errors in pthread_detach.cpp.
The errors are introduced in "Make pthread join_state not protected by g_thread_list_lock".

Bug: 19636317
Change-Id: I58ae9711da94bfbac809abfd81311eeb70301a4b
2015-03-19 23:35:23 +00:00
Dmitriy Ivanov
39b079d25e am cdc02185: am 2e495081: Merge "Move open from zip tests to dlext"
* commit 'cdc02185fe6254ddd68cb7a6c0938892b007f2a7':
  Move open from zip tests to dlext
2015-03-19 17:32:17 +00:00
Dmitriy Ivanov
cdc02185fe am 2e495081: Merge "Move open from zip tests to dlext"
* commit '2e49508187254903943b83df7bb241d5fb6a8593':
  Move open from zip tests to dlext
2015-03-19 17:19:32 +00:00
Dmitriy Ivanov
2e49508187 Merge "Move open from zip tests to dlext" 2015-03-19 17:06:16 +00:00
Dmitriy Ivanov
52393a5633 Move open from zip tests to dlext
To avoid building them for glibc.

 Also replace snprintf with std::string

Change-Id: I12e1d2e4ab46ff5af6c05453da67842e0d838fc5
2015-03-18 22:50:01 -07:00
Yabin Cui
2f251f146f am 436310c3: am 6943f296: Merge "Make __get_thread inlined."
* commit '436310c3d5835725afc498c23a788eab0cf7afc2':
  Make __get_thread inlined.
2015-03-19 03:11:21 +00:00
Yabin Cui
436310c3d5 am 6943f296: Merge "Make __get_thread inlined."
* commit '6943f2968cb6054f8874e30b309985b41a37e2e0':
  Make __get_thread inlined.
2015-03-19 03:03:21 +00:00
Dmitriy Ivanov
b9d1539fa8 am 16ac4ee7: am 6420fb46: Merge "Implement lookup by DT_SONAME"
* commit '16ac4ee7c468d11bb53265a16c7fd16bed3e2232':
  Implement lookup by DT_SONAME
2015-03-19 03:00:36 +00:00
Dmitriy Ivanov
16ac4ee7c4 am 6420fb46: Merge "Implement lookup by DT_SONAME"
* commit '6420fb467f52f7c27c921b1bf53dc95ad5851077':
  Implement lookup by DT_SONAME
2015-03-19 02:53:57 +00:00
Yabin Cui
6943f2968c Merge "Make __get_thread inlined." 2015-03-19 02:50:20 +00:00
Dmitriy Ivanov
6420fb467f Merge "Implement lookup by DT_SONAME" 2015-03-19 02:40:31 +00:00
Yabin Cui
2f836d4989 Make __get_thread inlined.
Bug: 19825434

Change-Id: Ifb672a45a5776b83625a25654ed0d6f7fc368ae3
2015-03-18 19:35:34 -07:00
Dmitriy Ivanov
618f1a36f8 Implement lookup by DT_SONAME
This CL also fixes SEARCH_NAME hack and resolves
  https://code.google.com/p/android/issues/detail?id=6670
  once and for all.

Bug: https://code.google.com/p/android/issues/detail?id=6670
Change-Id: I9b8d6a672cd722f30fbfbb40cdee8d9b39cfe56e
2015-03-18 18:14:30 -07:00
Elliott Hughes
b7e03b98f1 am 6cd7d024: am c6fbbb42: Merge "Hide statfs/fstatfs\' ST_VALID flag from userspace."
* commit '6cd7d02478588069c964ca6c783fa458a718abe7':
  Hide statfs/fstatfs' ST_VALID flag from userspace.
2015-03-18 23:51:15 +00:00
Dmitriy Ivanov
f5e1acef2c am 10d70143: am 0cf2657b: Merge "Fix library lookup for filenames with slash."
* commit '10d70143eac283bf5206d1b6e48170dbd83882c8':
  Fix library lookup for filenames with slash.
2015-03-18 23:50:18 +00:00
Elliott Hughes
6cd7d02478 am c6fbbb42: Merge "Hide statfs/fstatfs\' ST_VALID flag from userspace."
* commit 'c6fbbb42e69bef4f058d0cbfaaaf3cbf51f95694':
  Hide statfs/fstatfs' ST_VALID flag from userspace.
2015-03-18 23:22:56 +00:00
Elliott Hughes
c6fbbb42e6 Merge "Hide statfs/fstatfs' ST_VALID flag from userspace." 2015-03-18 23:11:52 +00:00
Elliott Hughes
fa495d51b0 Hide statfs/fstatfs' ST_VALID flag from userspace.
Spotted while debugging the strace 4.10 upgrade.

Change-Id: I1af1be9c9440151f55f74a835e1df71529b0e4fe
2015-03-18 15:46:48 -07:00
Dmitriy Ivanov
10d70143ea am 0cf2657b: Merge "Fix library lookup for filenames with slash."
* commit '0cf2657bc25242c097d42346d17eaae4107b1d55':
  Fix library lookup for filenames with slash.
2015-03-18 22:22:59 +00:00
Dmitriy Ivanov
0cf2657bc2 Merge "Fix library lookup for filenames with slash." 2015-03-18 22:09:07 +00:00
Dimitry Ivanov
feb41625b4 am 02f528f3: am c0eaa732: Merge "Support loading shared libraries from zip files"
* commit '02f528f3adeaf1227d178e426fca7482e85866af':
  Support loading shared libraries from zip files
2015-03-18 17:46:15 +00:00
Dimitry Ivanov
02f528f3ad am c0eaa732: Merge "Support loading shared libraries from zip files"
* commit 'c0eaa732844a8397d40a7ec82641f709e4b47a61':
  Support loading shared libraries from zip files
2015-03-18 17:37:58 +00:00
Dmitriy Ivanov
e44fffd7f9 Fix library lookup for filenames with slash.
If filename contains a slash, then it is interpreted
  as a (relative or absolute) pathname.

Bug: https://code.google.com/p/android/issues/detail?id=6670
Change-Id: Iba57d638301f3089ad47ba083edca2dd36b801ed
2015-03-18 10:32:11 -07:00
Dimitry Ivanov
c0eaa73284 Merge "Support loading shared libraries from zip files" 2015-03-18 17:25:33 +00:00
Elliott Hughes
bcd0f553b9 am 46950420: am ab12dc70: Merge "Fix _PATH_DEFPATH to correspond to the actual default path."
* commit '469504209489350a4cbf5a9018e74af367aa3acf':
  Fix _PATH_DEFPATH to correspond to the actual default path.
2015-03-18 10:58:19 +00:00
Elliott Hughes
d527e65906 am 45c4ef3c: am b380b7d7: Merge "set errno to ENOENT in getauxval per glibc 2.19"
* commit '45c4ef3cde5529bdaac41ad1f30ca3180361e060':
  set errno to ENOENT in getauxval per glibc 2.19
2015-03-18 10:58:18 +00:00
Elliott Hughes
4695042094 am ab12dc70: Merge "Fix _PATH_DEFPATH to correspond to the actual default path."
* commit 'ab12dc70f3ef551c490dcfede76033e57ceee64d':
  Fix _PATH_DEFPATH to correspond to the actual default path.
2015-03-18 01:24:59 +00:00
Elliott Hughes
45c4ef3cde am b380b7d7: Merge "set errno to ENOENT in getauxval per glibc 2.19"
* commit 'b380b7d78cf4dbd034f51fcf7fc8ebdb037330c3':
  set errno to ENOENT in getauxval per glibc 2.19
2015-03-18 01:18:01 +00:00
Elliott Hughes
ab12dc70f3 Merge "Fix _PATH_DEFPATH to correspond to the actual default path." 2015-03-18 01:15:04 +00:00
Elliott Hughes
b380b7d78c Merge "set errno to ENOENT in getauxval per glibc 2.19" 2015-03-18 01:05:24 +00:00
Elliott Hughes
1101962447 Fix _PATH_DEFPATH to correspond to the actual default path.
This is currently set in init.rc, but I plan on making init
set PATH to _PATH_DEFPATH and removing the line from init.rc...

Bug: 19564110
Change-Id: Ifa7226a3a5a90d141a788d7d6b1ae86245674218
2015-03-17 17:34:14 -07:00
Daniel Micay
ee7649c5ac set errno to ENOENT in getauxval per glibc 2.19
Bionic's getauxval(...) implementation returns zero when entries are
missing. Zero can be a valid value, so there is no unambiguous way of
detecting an error. Since glibc 2.19, errno is set to ENOENT when an
entry is missing to make it possible to detect this. Bionic should match
this behavior as code in the Linux ecosystem will start relying on it to
check for the presence of newly added entries.

Change-Id: Ic1efe29bc45fc87489274c96c4d2193f3a7b8854
Signed-off-by: Daniel Micay <danielmicay@gmail.com>
2015-03-17 19:50:55 -04:00
Yabin Cui
0ce026d9c4 am b1d1d0cc: am d917b20b: Merge "Change name of rwlock benchmark."
* commit 'b1d1d0cc5ba060a292907503e42a40dc158b156d':
  Change name of rwlock benchmark.
2015-03-17 21:40:53 +00:00
Yabin Cui
b1d1d0cc5b am d917b20b: Merge "Change name of rwlock benchmark."
* commit 'd917b20b613fd51e5f1056c8648fe8769ae8161e':
  Change name of rwlock benchmark.
2015-03-17 21:33:33 +00:00
Yabin Cui
d917b20b61 Merge "Change name of rwlock benchmark." 2015-03-17 21:20:52 +00:00
Yabin Cui
dc93db20a9 Change name of rwlock benchmark.
rw_lock is not easy for me to remember, so I prefer changing it to rwlock.

Change-Id: I0784acaca0c3b46c28184a77eb29ffe696f9ea07
2015-03-17 13:38:57 -07:00
Yabin Cui
a10afcc9cc am 46f9b3e7: am a75771e3: Merge "Fix build: pthread_mutex/pthread_detach."
* commit '46f9b3e7662d946d775d30dbe91828e4cb935af5':
  Fix build: pthread_mutex/pthread_detach.
2015-03-17 19:07:03 +00:00
Yabin Cui
48fc08e1e6 am f7dbefb0: am 94babaee: Merge "Make pthread join_state not protected by g_thread_list_lock."
* commit 'f7dbefb08f974a368d19b482997570e375f2bf84':
  Make pthread join_state not protected by g_thread_list_lock.
2015-03-17 19:06:48 +00:00
Yabin Cui
62059a07da am ca7ac7d3: am 5490bebd: Merge "Remove duplication in pthread_mutex.cpp."
* commit 'ca7ac7d36a3f7f31d65d1a4740f95f43de7ab1e4':
  Remove duplication in pthread_mutex.cpp.
2015-03-17 19:06:46 +00:00
Yabin Cui
46f9b3e766 am a75771e3: Merge "Fix build: pthread_mutex/pthread_detach."
* commit 'a75771e3ab429fae2f9af770416150733264a281':
  Fix build: pthread_mutex/pthread_detach.
2015-03-17 18:52:13 +00:00
Yabin Cui
a75771e3ab Merge "Fix build: pthread_mutex/pthread_detach." 2015-03-17 18:40:39 +00:00
Yabin Cui
ecbfb25c50 Fix build: pthread_mutex/pthread_detach.
Change-Id: I9c7b6297d3bf3ab8004d05d44cc4c95159315c9e
2015-03-17 11:37:51 -07:00
Yabin Cui
f7dbefb08f am 94babaee: Merge "Make pthread join_state not protected by g_thread_list_lock."
* commit '94babaee1b6598b15bd807461055d4dcaaa52f10':
  Make pthread join_state not protected by g_thread_list_lock.
2015-03-17 18:21:49 +00:00
Yabin Cui
ca7ac7d36a am 5490bebd: Merge "Remove duplication in pthread_mutex.cpp."
* commit '5490bebd7cdd4406780358f590391b75ab8a7d84':
  Remove duplication in pthread_mutex.cpp.
2015-03-17 18:21:48 +00:00
Yabin Cui
94babaee1b Merge "Make pthread join_state not protected by g_thread_list_lock." 2015-03-17 18:12:59 +00:00
Yabin Cui
5490bebd7c Merge "Remove duplication in pthread_mutex.cpp." 2015-03-17 18:12:32 +00:00
Dmitriy Ivanov
c331d67d1b am 72c6b79d: am 5f8ddf69: Merge "Fix build: align pthread_cond_t to sizeof(long)"
* commit '72c6b79ddb14bbf185cc3b59adf095ab65e77a06':
  Fix build: align pthread_cond_t to sizeof(long)
2015-03-17 14:30:04 +00:00
Simon Baldwin
aef719510a Support loading shared libraries from zip files
Add code to support loading shared libraries directly from within
APK files.

Extends the linker's handling of LD_LIBRARY_PATH, DT_RUNPATH, etc
to allow elements to be either directories as normal, or ZIP
format files.  For ZIP, the ZIP subdirectory string is separated
from the path to file by '!'.

For example, if DT_NEEDED is libchrome.so and Chrome.apk is the
Android ARM APK then the path element

  /system/app/Chrome.apk!lib/armeabi-v7a

would cause the linker to load lib/armeabi-v7a/libchrome.so
directly from inside Chrome.apk.  For loading to succeed,
libchrome.so must be 'stored' and not compressed in Chrome.apk,
and must be page aligned within the file.

Motivation:
  Chromium tracking issue:
  https://code.google.com/p/chromium/issues/detail?id=390618

Bug: 8076853
Change-Id: Ic49046600b1417eae3ee8f37ee98c8ac1ecc19e7
2015-03-16 17:50:50 -07:00
Dmitriy Ivanov
b3ac2145f4 Fix build: align pthread_cond_t to sizeof(long)
(cherry picked from commit b5cd3c7a75)

Change-Id: I69d8feeda2c8e0423c5626bcd40914e7eb9d85e4
2015-03-16 17:44:05 -07:00
Dmitriy Ivanov
72c6b79ddb am 5f8ddf69: Merge "Fix build: align pthread_cond_t to sizeof(long)"
* commit '5f8ddf69e59b13653d016e236599b95daf6501a8':
  Fix build: align pthread_cond_t to sizeof(long)
2015-03-17 00:25:06 +00:00
Dmitriy Ivanov
5f8ddf69e5 Merge "Fix build: align pthread_cond_t to sizeof(long)" 2015-03-17 00:10:49 +00:00
Dmitriy Ivanov
b5cd3c7a75 Fix build: align pthread_cond_t to sizeof(long)
Change-Id: Ieaee6d09089b161ec516ba22cafaee1ecb4342da
2015-03-16 17:06:59 -07:00
Christopher Ferris
28654c922d am 1ffc89e3: am f14fe856: Merge "Add alignment to opaque types."
* commit '1ffc89e301ae167ad5843ae570be0d779e37bec8':
  Add alignment to opaque types.
2015-03-16 23:51:31 +00:00
Christopher Ferris
1ffc89e301 am f14fe856: Merge "Add alignment to opaque types."
* commit 'f14fe856b40afc38540988b408edc508298ec116':
  Add alignment to opaque types.
2015-03-16 23:45:16 +00:00
Christopher Ferris
f14fe856b4 Merge "Add alignment to opaque types." 2015-03-16 23:33:38 +00:00
Christopher Ferris
eb8b122d67 Add alignment to opaque types.
If there is no alignment forced, then the compiler might put these
structures at any alignment.

Change-Id: I6416db72433504e0ec1178bfae6f5b18b6e363fb
2015-03-16 16:28:54 -07:00
Dmitriy Ivanov
c6cc6f6312 am 862b088a: am 3d170a6d: Merge "Remove obsolete test_isolated wrapper function"
* commit '862b088ac30881221500122955fc9e13933cbafd':
  Remove obsolete test_isolated wrapper function
2015-03-16 22:40:08 +00:00
Dmitriy Ivanov
1f5ede0a6e am bca13d41: am 3b7239fe: Merge "General purpose memory allocator for linker."
* commit 'bca13d417798ac3bab751d40da25cc4cfba76397':
  General purpose memory allocator for linker.
2015-03-16 22:40:06 +00:00
Yabin Cui
69929b34e7 am 19631034: am 0f3fcd12: Merge "Fix atomic_load on const variable in pthread_cond_t."
* commit '19631034a4e155f5e5ed061a2dcf30b377a8c04b':
  Fix atomic_load on const variable in pthread_cond_t.
2015-03-16 22:39:33 +00:00
Dan Albert
cc42165788 am f13f9ec1: am 169a84f9: Merge "Revert "Revert "Moving StringPrintf to libbase."""
* commit 'f13f9ec12eb10c94473da34fdd736e0c0ed439d1':
  Revert "Revert "Moving StringPrintf to libbase.""
2015-03-16 22:39:23 +00:00
Dmitriy Ivanov
862b088ac3 am 3d170a6d: Merge "Remove obsolete test_isolated wrapper function"
* commit '3d170a6d6c650cb81260ea9157d6f4df99e41e8c':
  Remove obsolete test_isolated wrapper function
2015-03-16 22:03:53 +00:00
Dmitriy Ivanov
bca13d4177 am 3b7239fe: Merge "General purpose memory allocator for linker."
* commit '3b7239feb9265f0b677e845dec0514583de9c6be':
  General purpose memory allocator for linker.
2015-03-16 22:03:52 +00:00
Yabin Cui
6b865a7a83 am 533bc4a0: am d3e2a207: Merge "Hide content of pthread_cond_t in pthread_cond_internal_t."
* commit '533bc4a09cebbecd1c871f0d8481e9449216f5f5':
  Hide content of pthread_cond_t in pthread_cond_internal_t.
2015-03-16 21:58:43 +00:00
Dmitriy Ivanov
970dd7d985 am a5bd2a10: am 9923c8cd: Merge "Fix typo"
* commit 'a5bd2a1039d545cbcb0fe187f76240ecaa84e45f':
  Fix typo
2015-03-16 21:58:33 +00:00
Dmitriy Ivanov
3d170a6d6c Merge "Remove obsolete test_isolated wrapper function" 2015-03-16 21:50:16 +00:00
Dmitriy Ivanov
3b7239feb9 Merge "General purpose memory allocator for linker." 2015-03-16 21:49:59 +00:00
Yabin Cui
19631034a4 am 0f3fcd12: Merge "Fix atomic_load on const variable in pthread_cond_t."
* commit '0f3fcd12ddde0e10fbeab0a98cf0efb9d64bea76':
  Fix atomic_load on const variable in pthread_cond_t.
2015-03-16 21:43:21 +00:00
Yabin Cui
0f3fcd12dd Merge "Fix atomic_load on const variable in pthread_cond_t." 2015-03-16 21:31:09 +00:00
Yabin Cui
9e6c7bc618 Fix atomic_load on const variable in pthread_cond_t.
Change-Id: I60f55a53294a09332a3fbec669ed793359d1bdf5
2015-03-16 14:26:53 -07:00
Dmitriy Ivanov
cb0443c0fa Remove obsolete test_isolated wrapper function
We already run all of our tests in isolated mode.

Change-Id: I8236baa302b1026a9b4a1c33a4aa65e223771bc7
2015-03-16 14:20:57 -07:00
Dan Albert
f13f9ec12e am 169a84f9: Merge "Revert "Revert "Moving StringPrintf to libbase."""
* commit '169a84f980d7a55c5f829cdd53a3eaba8f968442':
  Revert "Revert "Moving StringPrintf to libbase.""
2015-03-16 21:16:48 +00:00
Yabin Cui
533bc4a09c am d3e2a207: Merge "Hide content of pthread_cond_t in pthread_cond_internal_t."
* commit 'd3e2a207ffcaefedf2d3baaaad3d62be1abdb33c':
  Hide content of pthread_cond_t in pthread_cond_internal_t.
2015-03-16 21:09:26 +00:00
Dan Albert
169a84f980 Merge "Revert "Revert "Moving StringPrintf to libbase.""" 2015-03-16 21:02:51 +00:00
Yabin Cui
d3e2a207ff Merge "Hide content of pthread_cond_t in pthread_cond_internal_t." 2015-03-16 20:58:02 +00:00
Dan Albert
4c1dbb4000 Revert "Revert "Moving StringPrintf to libbase.""
This reverts commit d2dad2b24f.

(cherry picked from commit 3e87c78543)
2015-03-16 13:50:15 -07:00
Dmitriy Ivanov
a5bd2a1039 am 9923c8cd: Merge "Fix typo"
* commit '9923c8cd13d1e8305a908ef23712c7d3e4d4131d':
  Fix typo
2015-03-16 20:39:00 +00:00
Dmitriy Ivanov
9923c8cd13 Merge "Fix typo" 2015-03-16 20:30:01 +00:00
Dmitriy Ivanov
b1ada3dd3f Fix typo
Change-Id: Ie6dad7d09873c88f6bbb2d45c2780e3b0c618bd6
2015-03-16 13:20:23 -07:00
Dmitriy Ivanov
19656ce537 General purpose memory allocator for linker.
Add basic general purpose memory allocator to
 linker in order to enable usage of other libraries
 like libziparchive.

Change-Id: I4a680ebb36ed5ba67c61249f81dba9f567808434
2015-03-16 11:19:53 -07:00
Yabin Cui
32651b8e8e Hide content of pthread_cond_t in pthread_cond_internal_t.
Bug: 19249079
Change-Id: I6f55af30bcd6211ce71630c6cacbef0e1663dcee
2015-03-16 11:09:52 -07:00
Dan Albert
3e87c78543 Revert "Revert "Moving StringPrintf to libbase.""
This reverts commit d2dad2b24f.
2015-03-16 10:06:29 -07:00
Nicolas Geoffray
e5fff0831c am 645621ec: am 11a06c73: Merge "Revert "Moving StringPrintf to libbase.""
* commit '645621ec8bbd8c6ffca7c3b48580b20feb3b76a2':
  Revert "Moving StringPrintf to libbase."
2015-03-16 12:37:10 +00:00
Nicolas Geoffray
645621ec8b am 11a06c73: Merge "Revert "Moving StringPrintf to libbase.""
* commit '11a06c73f6e7d31442429a58a346d881b0a8a441':
  Revert "Moving StringPrintf to libbase."
2015-03-16 12:30:48 +00:00
Nicolas Geoffray
11a06c73f6 Merge "Revert "Moving StringPrintf to libbase."" 2015-03-16 12:20:27 +00:00
Nicolas Geoffray
d2dad2b24f Revert "Moving StringPrintf to libbase."
libbase has been reverted

This reverts commit 7ed5fa1e4d.

Change-Id: I5d8ff8c38ff8c9123e6cee5dc15a101a79e94b2e
2015-03-16 12:19:26 +00:00
Dan Albert
7d332c216c am e63140db: am 83e95878: Merge "Moving StringPrintf to libbase."
* commit 'e63140dbed059ac2042c31762660cced6baac253':
  Moving StringPrintf to libbase.
2015-03-15 22:34:10 +00:00
Christopher Ferris
90cd0a1bf4 am 3abc6d1c: am 593a75ee: Merge "Fix typo in alias symbol."
* commit '3abc6d1c5724d266381b257078bf988f52873fc0':
  Fix typo in alias symbol.
2015-03-15 22:34:09 +00:00
Christopher Ferris
442c6c1d02 am 79641f96: am 83c0028e: Merge "For libm, use a macro for aliasing symbols."
* commit '79641f96eb68fff13f6265abcfd18477cd3650c3':
  For libm, use a macro for aliasing symbols.
2015-03-15 22:34:08 +00:00
Dan Albert
e63140dbed am 83e95878: Merge "Moving StringPrintf to libbase."
* commit '83e95878735a62cea108f3c1f1de1358b5565038':
  Moving StringPrintf to libbase.
2015-03-15 15:44:38 +00:00
Christopher Ferris
3abc6d1c57 am 593a75ee: Merge "Fix typo in alias symbol."
* commit '593a75ee6b9857a452e57b21fb28507da30f89cf':
  Fix typo in alias symbol.
2015-03-15 15:44:37 +00:00
Christopher Ferris
79641f96eb am 83c0028e: Merge "For libm, use a macro for aliasing symbols."
* commit '83c0028e030bad1f7cf54ba3f04962b9a6a9e1e4':
  For libm, use a macro for aliasing symbols.
2015-03-15 15:44:36 +00:00
Dan Albert
83e9587873 Merge "Moving StringPrintf to libbase." 2015-03-14 23:55:10 +00:00
Christopher Ferris
593a75ee6b Merge "Fix typo in alias symbol." 2015-03-14 19:22:29 +00:00
Christopher Ferris
6e86146b85 Fix typo in alias symbol.
Change-Id: I41d2c29bd4a9ba382bbe3440541c8e1506fc5809
2015-03-14 12:17:45 -07:00
Christopher Ferris
83c0028e03 Merge "For libm, use a macro for aliasing symbols." 2015-03-14 17:44:32 +00:00
Christopher Ferris
995b813e91 For libm, use a macro for aliasing symbols.
Change-Id: Ibd42ebc387c2bf3eba9aa96091770915b4b34184
2015-03-13 23:57:15 -07:00
Dan Albert
7ed5fa1e4d Moving StringPrintf to libbase.
Change-Id: I47ef28bb294ffb7c7c065c5624417edf23503b77
2015-03-13 22:34:37 -07:00
Yabin Cui
a7a12565bb am 6c143484: am d2cf59d4: Merge "Hide content of pthread_rwlock_t in pthread_rwlock_internal_t."
* commit '6c1434842a3c29f96c332d12cadc82f9b71746d9':
  Hide content of pthread_rwlock_t in pthread_rwlock_internal_t.
2015-03-14 04:08:32 +00:00
Yabin Cui
6c1434842a am d2cf59d4: Merge "Hide content of pthread_rwlock_t in pthread_rwlock_internal_t."
* commit 'd2cf59d4633d9e731d0342d4f94b6e925589ab1e':
  Hide content of pthread_rwlock_t in pthread_rwlock_internal_t.
2015-03-14 02:51:12 +00:00
Yabin Cui
d2cf59d463 Merge "Hide content of pthread_rwlock_t in pthread_rwlock_internal_t." 2015-03-14 02:38:32 +00:00
Yabin Cui
2fabea47ac Hide content of pthread_rwlock_t in pthread_rwlock_internal_t.
Bug: 19249079
Change-Id: Ifbe634c716b6793bef897ec5134b55eb44c6b8d5
2015-03-13 19:35:05 -07:00
Christopher Ferris
969320874d am 0d54094a: am 81c31bdd: Merge "Add some GNU specific elf constants."
* commit '0d54094a86eded929edaa35a63ac831b1cb95c91':
  Add some GNU specific elf constants.
2015-03-13 21:54:56 +00:00
Dmitriy Ivanov
5a35783fba am 173a61f2: am d7e091ef: Merge "Switch libc and libm to sysv-only hash style"
* commit '173a61f29bb44f70140b9167a7333e79b1d9bf1b':
  Switch libc and libm to sysv-only hash style
2015-03-13 21:54:55 +00:00
Christopher Ferris
0d54094a86 am 81c31bdd: Merge "Add some GNU specific elf constants."
* commit '81c31bdd43e50538fa45f5e7783782a5ae5666e9':
  Add some GNU specific elf constants.
2015-03-13 21:23:43 +00:00
Dmitriy Ivanov
173a61f29b am d7e091ef: Merge "Switch libc and libm to sysv-only hash style"
* commit 'd7e091efc477c17da97415fa944675c6f16dcdb5':
  Switch libc and libm to sysv-only hash style
2015-03-13 21:16:47 +00:00
Christopher Ferris
81c31bdd43 Merge "Add some GNU specific elf constants." 2015-03-13 21:12:07 +00:00
Dmitriy Ivanov
d7e091efc4 Merge "Switch libc and libm to sysv-only hash style" 2015-03-13 21:04:08 +00:00
Dmitriy Ivanov
2e16d2cf1e Switch libc and libm to sysv-only hash style
Bug: 19059885
Change-Id: I60a23dc5f9c756994d566818332ca42b305b4a05
2015-03-13 19:48:03 +00:00
Christopher Ferris
58ea845dd6 am c30d7a67: am f074b531: Merge "Add the optimized implementation of 18 math functions for x86 and x86_64 respectively"
* commit 'c30d7a67e092b95036aba0f0f93e9f382c9e9a8e':
  Add the optimized implementation of 18 math functions for x86 and x86_64 respectively
2015-03-13 17:36:21 +00:00
Christopher Ferris
c94c7ff2bb Add some GNU specific elf constants.
Change-Id: I6c668463a27a641c9a280ce1937857d622344ff8
2015-03-13 10:32:45 -07:00
Christopher Ferris
c30d7a67e0 am f074b531: Merge "Add the optimized implementation of 18 math functions for x86 and x86_64 respectively"
* commit 'f074b531d266deb63c17e1d3bff751f3f3740d9d':
  Add the optimized implementation of 18 math functions for x86 and x86_64 respectively
2015-03-13 17:27:43 +00:00
Christopher Ferris
f074b531d2 Merge "Add the optimized implementation of 18 math functions for x86 and x86_64 respectively" 2015-03-13 17:18:21 +00:00
Yabin Cui
a4a914b522 am 1e795957: am 5507deda: Merge "Make gtest_main exit 1 when some test are failed."
* commit '1e795957f44bff53b27dad686ed56b26d85f84b0':
  Make gtest_main exit 1 when some test are failed.
2015-03-13 17:12:53 +00:00
Yabin Cui
1e795957f4 am 5507deda: Merge "Make gtest_main exit 1 when some test are failed."
* commit '5507dedaeb43e01edfab4b0e2cc290622b20e678':
  Make gtest_main exit 1 when some test are failed.
2015-03-13 17:09:14 +00:00
Yabin Cui
5507dedaeb Merge "Make gtest_main exit 1 when some test are failed." 2015-03-13 17:02:19 +00:00
Mark Salyzyn
8e2d61963d am ee7b80d7: am f6f96df5: Merge "syslog.h: missing LOG_MAKEPRI definition"
* commit 'ee7b80d7cf09c32ea806dfbaa401ba5790670064':
  syslog.h: missing LOG_MAKEPRI definition
2015-03-13 07:20:41 +00:00
Yabin Cui
64a9c4f697 Make gtest_main exit 1 when some test are failed.
This is the gtest behavior, which I think can make test status
judgement more convenient.

Change-Id: I7d3c210d1744b954a4148cd905dd5c353207fce8
2015-03-12 23:36:29 -07:00
Yabin Cui
5b8e7cd957 Remove duplication in pthread_mutex.cpp.
Also add unit tests about thread woken up by pthread_mutex_unlock.

Bug: 19216648

Change-Id: I8bde8105b00186c52a2f41d92458ae4a5eb90426
2015-03-12 21:54:41 -07:00
Yabin Cui
58cf31b506 Make pthread join_state not protected by g_thread_list_lock.
1. Move the representation of thread join_state from pthread.attr.flag
   to pthread.join_state. This clarifies thread state change.
2. Use atomic operations for pthread.join_state. So we don't need to
   protect it by g_thread_list_lock. g_thread_list_lock will be reduced
   to only protect g_thread_list or even removed in further changes.

Bug: 19636317
Change-Id: I31fb143a7c69508c7287307dd3b0776993ec0f43
2015-03-12 21:39:49 -07:00
Mark Salyzyn
ee7b80d7cf am f6f96df5: Merge "syslog.h: missing LOG_MAKEPRI definition"
* commit 'f6f96df5b031b0bf79eb8ad49bd73a3ceab87db5':
  syslog.h: missing LOG_MAKEPRI definition
2015-03-12 21:39:12 +00:00
Mark Salyzyn
f6f96df5b0 Merge "syslog.h: missing LOG_MAKEPRI definition" 2015-03-12 20:33:25 +00:00
Mark Salyzyn
c4a586da49 syslog.h: missing LOG_MAKEPRI definition
Bug: 19681572
Change-Id: Ice5f5cb1f71522ffc47b2243a8dc4c277c2a288f
2015-03-12 13:21:35 -07:00
Elliott Hughes
8ae530ca63 am 59e911c7: am be86f877: Merge "Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>."
* commit '59e911c7fda705ca50d558c73bae9decdcf1b040':
  Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>.
2015-03-12 15:35:54 +00:00
Dmitriy Ivanov
3e7d8d200f am 452ddd02: am e8107b66: Merge "Rename LinkerAllocator and LinkerAllocatorPage"
* commit '452ddd0245d9fb790d55206fc9535d02665c28fa':
  Rename LinkerAllocator and LinkerAllocatorPage
2015-03-11 23:02:18 +00:00
Dmitriy Ivanov
714a70f692 am 36927c79: am 57e800d5: Merge "Refactoring: rename linker_allocator files"
* commit '36927c796b26f6c4f9771e4935615e9edf2205c3':
  Refactoring: rename linker_allocator files
2015-03-11 23:02:17 +00:00
Dimitry Ivanov
bc6aa41dd7 am 1f2b704c: am e842dc0d: am c16c8368: Merge "Generate gnu hash for arm only"
* commit '1f2b704ccf5102ca759f0721f0612bcf84fd5cc9':
  Generate gnu hash for arm only
2015-03-11 20:09:29 +00:00
Elliott Hughes
59e911c7fd am be86f877: Merge "Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>."
* commit 'be86f87711ee71ff971da2e2ae7a092081177951':
  Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>.
2015-03-11 16:56:26 +00:00
Elliott Hughes
be86f87711 Merge "Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>." 2015-03-11 16:42:49 +00:00
Elliott Hughes
ba87fe5145 Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>.
Change-Id: I2b81cfc3147d9a0a6ac2a8f064e6d9864fa7e04d
2015-03-11 09:32:25 -07:00
Dmitriy Ivanov
452ddd0245 am e8107b66: Merge "Rename LinkerAllocator and LinkerAllocatorPage"
* commit 'e8107b66c56509a8d1b1d21f217e4e71a9f74bee':
  Rename LinkerAllocator and LinkerAllocatorPage
2015-03-11 03:19:21 +00:00
Dmitriy Ivanov
36927c796b am 57e800d5: Merge "Refactoring: rename linker_allocator files"
* commit '57e800d534b43bda849858ed4bb47d556469032f':
  Refactoring: rename linker_allocator files
2015-03-11 03:19:20 +00:00
Dmitriy Ivanov
e8107b66c5 Merge "Rename LinkerAllocator and LinkerAllocatorPage" 2015-03-11 00:38:49 +00:00
Dmitriy Ivanov
57e800d534 Merge "Refactoring: rename linker_allocator files" 2015-03-11 00:35:22 +00:00
Dmitriy Ivanov
600bc3cb93 Rename LinkerAllocator and LinkerAllocatorPage
Change-Id: I87d80fbcd4ec26c0ee4f601b9c4c64f600418dd9
2015-03-10 15:43:50 -07:00
Dmitriy Ivanov
c9ce70d783 Refactoring: rename linker_allocator files
Change-Id: Ifc08e64b3a85205f072b7abab1149c7ab71e2f75
2015-03-10 15:30:26 -07:00
Dmitriy Ivanov
88f587421d am 6d0735fa: am dca2fadd: am a94cf791: Merge "Generate sysv hash for libc, libstdc++ and libm"
* commit '6d0735fa2bd9690252c0f26cafffb7614ffd3556':
  Generate sysv hash for libc, libstdc++ and libm
2015-03-10 22:04:33 +00:00
Yabin Cui
3b18a6510e am 981fdd0e: am 50119cec: am 37c71b14: Merge "Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink."
* commit '981fdd0e5580f5a51e52dc1105fa95ec6705d017':
  Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink.
2015-03-10 22:04:32 +00:00
Dmitriy Ivanov
eed4cb3869 am 240a7910: am 8af6a7b3: am 017f94d3: Merge "Store fields for gnu_hash separately"
* commit '240a7910ab46bc1f247270c3edafbb4e18616f60':
  Store fields for gnu_hash separately
2015-03-10 18:15:58 +00:00
Dimitry Ivanov
1f2b704ccf am e842dc0d: am c16c8368: Merge "Generate gnu hash for arm only"
* commit 'e842dc0de5ce5f9950e323ae8805909f60867bf6':
  Generate gnu hash for arm only
2015-03-10 17:48:29 +00:00
Dimitry Ivanov
e842dc0de5 am c16c8368: Merge "Generate gnu hash for arm only"
* commit 'c16c8368773452e2d18d761a7b3ea6f249dc2ac5':
  Generate gnu hash for arm only
2015-03-10 17:41:18 +00:00
Dimitry Ivanov
c16c836877 Merge "Generate gnu hash for arm only" 2015-03-10 17:34:51 +00:00
Goran Jakovljevic
1156508265 Generate gnu hash for arm only
Fixes build failure caused by:
https://android-review.googlesource.com/#/c/139660

As previously discussed [1], MIPS does not support GNU-style ELF hashes.

[1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk

Change-Id: I9a7966eebfd1ef0a587a20b71faefde38e84ab62
2015-03-10 10:01:50 -07:00
Dmitriy Ivanov
6d0735fa2b am dca2fadd: am a94cf791: Merge "Generate sysv hash for libc, libstdc++ and libm"
* commit 'dca2fadd8252a5c0664d2811187bc39bd7916aa4':
  Generate sysv hash for libc, libstdc++ and libm
2015-03-10 15:12:09 +00:00
Yabin Cui
981fdd0e55 am 50119cec: am 37c71b14: Merge "Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink."
* commit '50119cec8d872df02547af39a3a85aea9125299b':
  Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink.
2015-03-10 15:12:07 +00:00
Dmitriy Ivanov
dca2fadd82 am a94cf791: Merge "Generate sysv hash for libc, libstdc++ and libm"
* commit 'a94cf791c1c9b93d49f5573716de93348757ae15':
  Generate sysv hash for libc, libstdc++ and libm
2015-03-10 15:03:35 +00:00
Yabin Cui
50119cec8d am 37c71b14: Merge "Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink."
* commit '37c71b14e51c53b0cb5daa19bf38559d063453dc':
  Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink.
2015-03-10 15:03:34 +00:00
Dmitriy Ivanov
a94cf791c1 Merge "Generate sysv hash for libc, libstdc++ and libm" 2015-03-10 04:41:02 +00:00
Yabin Cui
37c71b14e5 Merge "Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink." 2015-03-10 04:14:12 +00:00
Dmitriy Ivanov
4a55c46d30 Generate sysv hash for libc, libstdc++ and libm
Bug: 19059885
Change-Id: I35e2a9cd0bb3914d9d0c82d163bfaf0fff844667
2015-03-09 19:38:56 -07:00
Yabin Cui
c6e5874a4c Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink.
It has been reported in b2/19657449 and b2/19381040 that fchmodat
AT_SYMLINK_NOFOLLOW operation on symlink can succeed. It seems to be
controlled by kernel(version or configuration) or user configuration
whether chmod is allowed on symlinks. Unless we can disable chmod on
symlinks in bionic explicitly, we can not guarantee that the test can
pass. But it seems reasonable to allow chmod on symlink if kernel allows
to. So We prefer to loosen the test here, accepting both success and
failure when doing chmod operation on symlinks.

Bug: 19657449
Bug: 19381040
Change-Id: I780e84f0b50d0412fbac9f1c240d07e984892a28
2015-03-09 18:13:15 -07:00
Dmitriy Ivanov
240a7910ab am 8af6a7b3: am 017f94d3: Merge "Store fields for gnu_hash separately"
* commit '8af6a7b38e1ce134d537f359d8cf4780ed9d8f58':
  Store fields for gnu_hash separately
2015-03-09 21:15:50 +00:00
Dmitriy Ivanov
8af6a7b38e am 017f94d3: Merge "Store fields for gnu_hash separately"
* commit '017f94d34eedfaca1c62cb35a65b8436f04b8f62':
  Store fields for gnu_hash separately
2015-03-09 21:11:02 +00:00
Dmitriy Ivanov
017f94d34e Merge "Store fields for gnu_hash separately" 2015-03-09 21:05:52 +00:00
Dmitriy Ivanov
3597b8055d Store fields for gnu_hash separately
Kindle app relies on soinfo's sysv hash
  fields while linking native libraries.

  This change allows to keep sysv hash fields
  intact for the libraries linked with --hash-style=both.

Bug: 19059885
Change-Id: I12528652955638f1a6586bda99e111bb1c8aa7a3
2015-03-09 21:01:01 +00:00
Jingwei Zhang
5d4f0e6a26 Add the optimized implementation of 18 math functions for x86 and x86_64 respectively
Change-Id: I31bf601448a9427f825517f3a0ff24de47f49bfa
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2015-03-09 13:19:08 -07:00
Nick Kralevich
7a507ba202 am 563fd91a: am 9e08606c: am edc1d3e3: Merge "linker: Allow an app to update it\'s own LD_LIBRARY_PATH"
* commit '563fd91a314958ae0fec09471056e6071e71f72a':
  linker: Allow an app to update it's own LD_LIBRARY_PATH
2015-03-08 00:18:04 +00:00
Christopher Ferris
da597738d8 am 0e2b8b80: am 5c329e45: am 9afb08dd: Merge "libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64"
* commit '0e2b8b800036c79bf05760e28896041028a2fa3c':
  libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64
2015-03-08 00:18:03 +00:00
Dmitriy Ivanov
5e05683975 am 7d62778c: am 2bf9f30a: am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
* commit '7d62778c0f7b404961361e0a1745ff8f880ec805':
  Add support for packed relocations.
  Refactoring: introduce reloc_iterators
  Generalize compression tool
  Import relocation packer from chromium repo
2015-03-08 00:18:02 +00:00
Yabin Cui
a01387a16b am 7db2acbb: am 2bb873ae: am e86a86f9: Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD."
* commit '7db2acbb694871da2b02ccf2261c01e0faf812ae':
  Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
2015-03-08 00:18:01 +00:00
Yabin Cui
a2d3511e36 am 39416d70: am a1d1f658: am 45ee73a7: Merge "Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp."
* commit '39416d701cdbcff68d7ed11720b61d8a4a9e66bd':
  Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp.
2015-03-08 00:18:00 +00:00
Yabin Cui
1493be412e am 185d511b: am af1ad422: am fe4f2a67: Merge "Use pthread_once for g_uselocale_key creation."
* commit '185d511bf827d864397e8ac2dd886ae19618f71d':
  Use pthread_once for g_uselocale_key creation.
2015-03-08 00:17:59 +00:00
Nick Kralevich
563fd91a31 am 9e08606c: am edc1d3e3: Merge "linker: Allow an app to update it\'s own LD_LIBRARY_PATH"
* commit '9e08606c8353b543f414625a475aaab390de161f':
  linker: Allow an app to update it's own LD_LIBRARY_PATH
2015-03-08 00:08:43 +00:00
Christopher Ferris
0e2b8b8000 am 5c329e45: am 9afb08dd: Merge "libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64"
* commit '5c329e45dc5b4216be673459bcc7c5abcce5f2d3':
  libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64
2015-03-08 00:08:32 +00:00
Dmitriy Ivanov
7d62778c0f am 2bf9f30a: am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
* commit '2bf9f30a3ae9892660b7f7f64fd4d60bae712ed6':
  Add support for packed relocations.
  Refactoring: introduce reloc_iterators
  Generalize compression tool
  Import relocation packer from chromium repo
2015-03-08 00:08:30 +00:00
Yabin Cui
7db2acbb69 am 2bb873ae: am e86a86f9: Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD."
* commit '2bb873aee94db4f317a62480b07f6d4d1d33da6d':
  Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
2015-03-08 00:08:29 +00:00
Yabin Cui
39416d701c am a1d1f658: am 45ee73a7: Merge "Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp."
* commit 'a1d1f658b5ed0508a21c87008a13830530660eba':
  Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp.
2015-03-08 00:07:50 +00:00
Yabin Cui
185d511bf8 am af1ad422: am fe4f2a67: Merge "Use pthread_once for g_uselocale_key creation."
* commit 'af1ad4220885bc37a347086cac15863fe9bbe16e':
  Use pthread_once for g_uselocale_key creation.
2015-03-08 00:07:22 +00:00
Nick Kralevich
9e08606c83 am edc1d3e3: Merge "linker: Allow an app to update it\'s own LD_LIBRARY_PATH"
* commit 'edc1d3e3c6266eadcd05a9aa7bcdec701ba060aa':
  linker: Allow an app to update it's own LD_LIBRARY_PATH
2015-03-07 23:38:35 +00:00
Nick Kralevich
edc1d3e3c6 Merge "linker: Allow an app to update it's own LD_LIBRARY_PATH" 2015-03-07 23:31:32 +00:00
Nick Kralevich
6bb01b6e63 linker: Allow an app to update it's own LD_LIBRARY_PATH
When the kernel executes a program which is setuid, setgid, has
file capabilities, or causes an SELinux domain transition, the
AT_SECURE flag is set. This flag instructs the dynamic linker to
prune any dangerous environment variables passed across security
boundaries.

For SELinux in particular, whether this flag is set depends on the
the "noatsecure" process permission. If that permission does not
exist, then AT_SECURE=1 whenever a domain transition occurs.

In https://android-review.googlesource.com/129971 , Android stopped
using noatsecure when executing init services. In
https://android-review.googlesource.com/130610 , init was flipped
back into SELinux enforcing mode, making ag/129971 active. The
combination of those two changes ensured that AT_SECURE=1 was
set when executing init spawned services.

In particular, AT_SECURE=1 is set when init executes zygote. Due to
the forking nature of zygote, AT_SECURE remains untouched when
executing zygote's children.

This causes problems for the code added in
https://android-review.googlesource.com/48409 . Specifically, if
AT_SECURE=1, an attempt to call android_update_LD_LIBRARY_PATH()
is silently ignored. This causes problems when art tries to adjust
the LD_LIBRARY_PATH for Android apps. Ultimately, apps are unable
to find shared libraries they depend on.

As discussed in bug 7896159, there's no security reason for
preventing an application from updating it's own LD_LIBRARY_PATH.
We only need to prune LD_LIBRARY_PATH when transitioning across
security boundaries, but not when we're entirely within a security
boundary.

Remove the AT_SECURE check within do_android_update_LD_LIBRARY_PATH().
It's unneeded and prevents an application from modifying it's own
LD_LIBRARY_PATH. This allows an application to specify a location
where it's dlopen()ed shared libraries should be loaded from.

There is no change to AT_SECURE handling in
__sanitize_environment_variables(). We continue to honor it there
to prevent using security sensitive environment variables across
an exec boundary.

Bug: 19559835
Change-Id: If4af2ee8e84265aaa0c93de8b281208b20d7942a
2015-03-07 13:37:05 -08:00
Christopher Ferris
5c329e45dc am 9afb08dd: Merge "libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64"
* commit '9afb08dd0984acea49da5aae21b41522cb805dac':
  libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64
2015-03-07 17:13:22 +00:00
Dmitriy Ivanov
2bf9f30a3a am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
* commit '536ec7359eb951655e389443aa918a4bb16b2d8b':
  Add support for packed relocations.
  Refactoring: introduce reloc_iterators
  Generalize compression tool
  Import relocation packer from chromium repo
2015-03-07 17:13:21 +00:00
Yabin Cui
2bb873aee9 am e86a86f9: Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD."
* commit 'e86a86f9f24df7028d2596c69ff008cf88e039e4':
  Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
2015-03-07 17:13:21 +00:00
Christopher Ferris
9afb08dd09 Merge "libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64" 2015-03-07 16:46:27 +00:00
Dmitriy Ivanov
536ec7359e Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
* changes:
  Add support for packed relocations.
  Refactoring: introduce reloc_iterators
  Generalize compression tool
  Import relocation packer from chromium repo
2015-03-07 07:08:51 +00:00
Dmitriy Ivanov
18a6956b76 Add support for packed relocations.
Change-Id: I796a4ce86d3fccb8361c19889419c96147ee3c9f
2015-03-06 17:12:47 -08:00
James Rose
45789b63db libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64
Add hardware implementations for sqrt, ceil, floor and trunc for
x86 and x86_64. These routines, and in particular sqrt are much
faster than the BSD C language versions of these functions.

Fixed whitespace errors.

Revised x86 versions with respect to alignment.
Rebased for Android 5.0

Change-Id: I86bdb520ce5e589b0cf63778f353fbd3263c8f0e
Author: James Rose <james.rose@intel.com>
Signed-off-by: James Rose <james.rose@intel.com>
2015-03-06 16:48:30 -08:00
Yabin Cui
e86a86f9f2 Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD." 2015-03-06 23:21:12 +00:00
Yabin Cui
9d0c79304d Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
Make this change because I think it is more reasonable to check stack info
in pthread_getattr_np. I believe pthread_attr_t is not tied with any thread,
and can't have a flag saying who using it is the main thread.
This change also helps refactor of g_thread_list_lock.

Bug: 19636317
Change-Id: Iedbb85a391ac3e1849dd036d01445dac4bc63db9
2015-03-06 15:16:44 -08:00
Dmitriy Ivanov
fa26eee776 Refactoring: introduce reloc_iterators
Replace rel/rela array with reloc_iterators.

Change-Id: I6165d062e0390b6bc60da2e8279aabbedf828ec9
2015-03-06 13:01:08 -08:00
Dmitriy Ivanov
f8ff6b103b Generalize compression tool
1. One binary for all architectures
 2. Generalize (and slightly improve) compression
 2.1 works on all relocation types (rela?.dyn section only so far)
 2.2 Uses same format to encode ElfW(Rel) as well as ElfW(Rela) tables

Bug: 18051137
Change-Id: I66c95d9076954ca115816fc577d0f5ef274e5e72
2015-03-06 13:01:08 -08:00
Dmitriy Ivanov
87a0617ebe Import relocation packer from chromium repo
Bug: 18051137
Change-Id: Ia67fa11da8247e3f86f70a8ce99e6695f2c05423
2015-03-06 13:01:08 -08:00
Yabin Cui
a1d1f658b5 am 45ee73a7: Merge "Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp."
* commit '45ee73a7fbe98cba2ccb007b60c027d27dfca1cb':
  Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp.
2015-03-06 21:00:16 +00:00
Yabin Cui
45ee73a7fb Merge "Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp." 2015-03-06 20:52:31 +00:00
Yabin Cui
af1ad42208 am fe4f2a67: Merge "Use pthread_once for g_uselocale_key creation."
* commit 'fe4f2a6734ed3ace50606900143e84993f450caf':
  Use pthread_once for g_uselocale_key creation.
2015-03-06 05:34:31 +00:00
Yabin Cui
fe4f2a6734 Merge "Use pthread_once for g_uselocale_key creation." 2015-03-06 05:28:24 +00:00
Yabin Cui
f7e3b3e48a Use pthread_once for g_uselocale_key creation.
Bug: 19625804
Change-Id: I57ec4c965067dc0c157c795c1f7217a3ca403286
2015-03-05 20:39:10 -08:00
Christopher Ferris
bef6cbbe79 am 35e88f9b: am e953f3cf: am 71bf8379: Merge "libm: arm: add arm specific sqrt and sqrtf"
* commit '35e88f9b8bf51b75bb4fe7a72d43875bfed228f6':
  libm: arm: add arm specific sqrt and sqrtf
2015-03-05 22:43:24 +00:00
Christopher Ferris
35e88f9b8b am e953f3cf: am 71bf8379: Merge "libm: arm: add arm specific sqrt and sqrtf"
* commit 'e953f3cf985e810071d707bcc296b20ec6e2e8dd':
  libm: arm: add arm specific sqrt and sqrtf
2015-03-05 22:35:46 +00:00
Christopher Ferris
e953f3cf98 am 71bf8379: Merge "libm: arm: add arm specific sqrt and sqrtf"
* commit '71bf837982446b31f435031ed2d10aa1c8c15988':
  libm: arm: add arm specific sqrt and sqrtf
2015-03-05 21:59:08 +00:00
Christopher Ferris
71bf837982 Merge "libm: arm: add arm specific sqrt and sqrtf" 2015-03-05 21:55:21 +00:00
Yabin Cui
120a29749d am 807c623b: am 9ecb7f40: am c3307dc4: Merge "Better control of pthread keys used in bionic."
* commit '807c623b58c7020e8419057fac0c58f0a7099bbe':
  Better control of pthread keys used in bionic.
2015-03-05 19:26:31 +00:00
Yabin Cui
807c623b58 am 9ecb7f40: am c3307dc4: Merge "Better control of pthread keys used in bionic."
* commit '9ecb7f40d01d7ee258d11277944cc2415635ea17':
  Better control of pthread keys used in bionic.
2015-03-05 18:39:22 +00:00
Yabin Cui
9ecb7f40d0 am c3307dc4: Merge "Better control of pthread keys used in bionic."
* commit 'c3307dc43b2526c4031837738b139d22831c5d09':
  Better control of pthread keys used in bionic.
2015-03-05 18:33:31 +00:00
Yabin Cui
c3307dc43b Merge "Better control of pthread keys used in bionic." 2015-03-05 18:26:44 +00:00
Yabin Cui
93e094f9c3 am 4710b5fb: am 917cb395: am 5d400204: Merge "Fix fortify compilation test in x86_64."
* commit '4710b5fb5d0939c2212769b054d700152f7fd885':
  Fix fortify compilation test in x86_64.
2015-03-05 08:59:33 +00:00
Yabin Cui
4710b5fb5d am 917cb395: am 5d400204: Merge "Fix fortify compilation test in x86_64."
* commit '917cb395bc7c71b34d3a4feca0c619d2aaf89fd8':
  Fix fortify compilation test in x86_64.
2015-03-05 08:53:16 +00:00
Yabin Cui
917cb395bc am 5d400204: Merge "Fix fortify compilation test in x86_64."
* commit '5d400204589ceb781fa11864c2e8f3001e5dc96f':
  Fix fortify compilation test in x86_64.
2015-03-05 08:47:12 +00:00
Yabin Cui
24e8871faa Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp.
Bug: 19234260
Change-Id: Ife27ca13eeae317739eda25b40dd2a08606d6d6f
2015-03-05 00:46:18 -08:00
Yabin Cui
5d40020458 Merge "Fix fortify compilation test in x86_64." 2015-03-05 08:40:58 +00:00
Yabin Cui
d9647594de Fix fortify compilation test in x86_64.
Change-Id: Ic243f6583e4f435899d01c7845dddacacbfc916e
2015-03-05 00:39:09 -08:00
Yabin Cui
97bd338e55 am 3801fb1e: am f9b3f25e: am 1c78181a: Merge "Fix fortify compilation test on x86."
* commit '3801fb1e8bbaeef23f6a0cf8709ecd60d4ec5f6a':
  Fix fortify compilation test on x86.
2015-03-05 06:51:36 +00:00
Yabin Cui
3801fb1e8b am f9b3f25e: am 1c78181a: Merge "Fix fortify compilation test on x86."
* commit 'f9b3f25e0ba641cc59a741492737f4712f2d798a':
  Fix fortify compilation test on x86.
2015-03-05 06:44:02 +00:00
Yabin Cui
f9b3f25e0b am 1c78181a: Merge "Fix fortify compilation test on x86."
* commit '1c78181a9da19778dbbcc162854f9564a51243bf':
  Fix fortify compilation test on x86.
2015-03-05 06:39:55 +00:00
Yabin Cui
1c78181a9d Merge "Fix fortify compilation test on x86." 2015-03-05 06:36:47 +00:00
Yabin Cui
94545eba37 Fix fortify compilation test on x86.
Change-Id: I9b88cbcec51b6f1dbac2780a9bf82851bd6cc87c
2015-03-04 22:35:13 -08:00
Yabin Cui
2295b54492 am 9336f832: am c2917ec7: am 5ad57ce6: Merge "Fix fortify compilation test on mips."
* commit '9336f83244956c9dcea2ecb0c7a2768b85a953be':
  Fix fortify compilation test on mips.
2015-03-05 06:02:53 +00:00
Yabin Cui
9336f83244 am c2917ec7: am 5ad57ce6: Merge "Fix fortify compilation test on mips."
* commit 'c2917ec702d25955c6d139d76cfb7d607079141e':
  Fix fortify compilation test on mips.
2015-03-05 05:55:57 +00:00
Yabin Cui
c2917ec702 am 5ad57ce6: Merge "Fix fortify compilation test on mips."
* commit '5ad57ce6ab95a12ab738eb7cd3595745ddd60d8d':
  Fix fortify compilation test on mips.
2015-03-05 05:50:33 +00:00
Yabin Cui
5ad57ce6ab Merge "Fix fortify compilation test on mips." 2015-03-05 05:46:16 +00:00
Yabin Cui
f3bd305b8f Fix fortify compilation test on mips.
Change-Id: Icff5b859ae58067bfa34430d3f5684335fe063b4
2015-03-04 21:43:14 -08:00
Yabin Cui
de40b37882 am 8e91a1ff: am 80aa71aa: am e1c0213b: Merge "Switch pthread_rwlock_t to stdatomic."
* commit '8e91a1ff73b865f9ed5f8ee4a493394e8b3ba302':
  Switch pthread_rwlock_t to stdatomic.
2015-03-05 05:00:35 +00:00
Yabin Cui
8e91a1ff73 am 80aa71aa: am e1c0213b: Merge "Switch pthread_rwlock_t to stdatomic."
* commit '80aa71aa71033fa8c03f8b7a9032643294f60006':
  Switch pthread_rwlock_t to stdatomic.
2015-03-05 04:54:37 +00:00
Yabin Cui
80aa71aa71 am e1c0213b: Merge "Switch pthread_rwlock_t to stdatomic."
* commit 'e1c0213be3f0c2c4e310cbc262da88835a2e5d86':
  Switch pthread_rwlock_t to stdatomic.
2015-03-05 04:48:48 +00:00
Yabin Cui
e1c0213be3 Merge "Switch pthread_rwlock_t to stdatomic." 2015-03-05 04:42:35 +00:00
Yabin Cui
08ee8d2030 Switch pthread_rwlock_t to stdatomic.
Bug: 19099838
Change-Id: Ie82967a60b5cec61a8bdd1e0e4a03738d01944f8
2015-03-04 18:16:20 -08:00
Yabin Cui
4a2891d8c8 Better control of pthread keys used in bionic.
Change-Id: I1e1bc77c0e7879baead6c3417282ce549a1153b5
2015-03-04 16:53:23 -08:00
Yabin Cui
eb050b0c4d am ea0cbb9a: am 821653e6: am dec9501a: Merge "Add fortify compile test."
* commit 'ea0cbb9a274e2b9294545b7ab877906ed4c3d202':
  Add fortify compile test.
2015-03-05 00:10:17 +00:00
Yabin Cui
ea0cbb9a27 am 821653e6: am dec9501a: Merge "Add fortify compile test."
* commit '821653e65f481b65c608bb3eb89190f7a85356c7':
  Add fortify compile test.
2015-03-05 00:06:03 +00:00
Yabin Cui
821653e65f am dec9501a: Merge "Add fortify compile test."
* commit 'dec9501af2ee4d7cec3a163310d42e8ea1b8c58f':
  Add fortify compile test.
2015-03-04 23:55:21 +00:00
Yabin Cui
dec9501af2 Merge "Add fortify compile test." 2015-03-04 23:25:42 +00:00
Christopher Ferris
fdc33dcfaf am 59c32458: am 1edafd56: am 86ac7341: Merge "Add aarch64 instructions wherever possible"
* commit '59c324581f58243564ec6db1688e5e1c3e220750':
  Add aarch64 instructions wherever possible
2015-03-04 23:24:45 +00:00
Christopher Ferris
59c324581f am 1edafd56: am 86ac7341: Merge "Add aarch64 instructions wherever possible"
* commit '1edafd561aefe07dd39273c1c09a9dbb308549d6':
  Add aarch64 instructions wherever possible
2015-03-04 22:51:40 +00:00
Christopher Ferris
1edafd561a am 86ac7341: Merge "Add aarch64 instructions wherever possible"
* commit '86ac734142a4d0765ceb589e7dcc3af1a4f4a8dd':
  Add aarch64 instructions wherever possible
2015-03-04 22:44:43 +00:00
Shu Zhang
c78fa26d47 libm: arm: add arm specific sqrt and sqrtf
Add arm specific optimized sqrt and sqrtf.

Change-Id: I8ea417fc98a800c8cf4f47a0c6668c51d927b1dc
2015-03-04 14:07:35 -08:00
Christopher Ferris
86ac734142 Merge "Add aarch64 instructions wherever possible" 2015-03-04 21:52:01 +00:00
Yabin Cui
20f2268d61 Add fortify compile test.
Two parts of tests are added:
1. Compile time warnings for gcc checking built-in functions.
2. Compile time errors for each errordecl() in bionic.

Bug: 19234260
Change-Id: Iec6e4a8070c36815574fe9e0af9595d6143a4757
2015-03-04 13:10:38 -08:00
Amaury Le Leyzour
32936c895d Add aarch64 instructions wherever possible
fma, sqrt and various rounding functions have aarch64 instruction equivalent

Change-Id: I1284f31b9f78f914281e5563b8d44db8362b627d
2015-03-04 12:18:52 -08:00
Yabin Cui
cdf7bf3e7d am 01351a72: am c210e84f: am e1edd301: Merge "Refactor pthread_key.cpp to be lock-free."
* commit '01351a728935bd52d1cb10d10c4c6aa686305053':
  Refactor pthread_key.cpp to be lock-free.
2015-03-04 02:09:32 +00:00
Yabin Cui
01351a7289 am c210e84f: am e1edd301: Merge "Refactor pthread_key.cpp to be lock-free."
* commit 'c210e84f28633d15f84a66a0652a4485c5fbc24d':
  Refactor pthread_key.cpp to be lock-free.
2015-03-04 02:00:43 +00:00
Yabin Cui
c210e84f28 am e1edd301: Merge "Refactor pthread_key.cpp to be lock-free."
* commit 'e1edd301d2a722e0a0687a7a3a87081c8cb956d3':
  Refactor pthread_key.cpp to be lock-free.
2015-03-04 01:53:46 +00:00
Yabin Cui
e1edd301d2 Merge "Refactor pthread_key.cpp to be lock-free." 2015-03-04 01:49:20 +00:00
Yabin Cui
5e2bd719d7 Refactor pthread_key.cpp to be lock-free.
Change-Id: I20dfb9d3cdc40eed10ea12ac34f03caaa94f7a49
2015-03-03 15:46:53 -08:00
Yabin Cui
8dbabd8494 am 92cadb19: am 62b6d11b: am d5c2745c: Merge "Lose bionic_atomic stuff."
* commit '92cadb19fba4bdcfa009ee8cbdf41a282a6b76b0':
  Lose bionic_atomic stuff.
2015-03-03 03:12:55 +00:00
Yabin Cui
92cadb19fb am 62b6d11b: am d5c2745c: Merge "Lose bionic_atomic stuff."
* commit '62b6d11b2de06db8ed26dc4b2b175443110748fe':
  Lose bionic_atomic stuff.
2015-03-03 03:07:06 +00:00
Yabin Cui
62b6d11b2d am d5c2745c: Merge "Lose bionic_atomic stuff."
* commit 'd5c2745ca8664b987d737e4a32922b6c9fe7c628':
  Lose bionic_atomic stuff.
2015-03-03 03:00:42 +00:00
Yabin Cui
d5c2745ca8 Merge "Lose bionic_atomic stuff." 2015-03-03 02:56:19 +00:00
Mark Salyzyn
5e6d3f49e2 am ef5cc0b8: am 1f3ac62b: am ceb9c182: Merge "bionic: deprecate _PATH_MEM"
* commit 'ef5cc0b8d71ed74129b010550a35d0a3a97f913a':
  bionic: deprecate _PATH_MEM
2015-03-02 22:45:45 +00:00
Mark Salyzyn
ef5cc0b8d7 am 1f3ac62b: am ceb9c182: Merge "bionic: deprecate _PATH_MEM"
* commit '1f3ac62b447f67fc60620bd3254761b1d73297ba':
  bionic: deprecate _PATH_MEM
2015-03-02 19:47:36 +00:00
Mark Salyzyn
1f3ac62b44 am ceb9c182: Merge "bionic: deprecate _PATH_MEM"
* commit 'ceb9c182dbb9752004a3d61d872fb3f0cc1c3f9c':
  bionic: deprecate _PATH_MEM
2015-03-02 19:41:53 +00:00
Mark Salyzyn
ceb9c182db Merge "bionic: deprecate _PATH_MEM" 2015-03-02 18:57:59 +00:00
Mark Salyzyn
c09268a3fe bionic: deprecate _PATH_MEM
/dev/mem (and /dev/kmem) are not enabled in the kernels, and selinux
prevents access and makes it a rule compilation error to enable
access. No code uses the _PATH_MEM macro. Remove definition to
suppress future usage.

Bug: 19549480
Change-Id: Ie0fb0f53d43349f4fe227068e4bf8a768f620d60
2015-03-02 18:44:11 +00:00
Christopher Ferris
e8fdf3e792 am 219ce296: am df14d8ef: am 2ae7c1e3: Merge "Fix fread returning bad data."
* commit '219ce2968b42ff4019d7eea2e8728505851ba475':
  Fix fread returning bad data.
2015-02-28 18:47:26 +00:00
Christopher Ferris
219ce2968b am df14d8ef: am 2ae7c1e3: Merge "Fix fread returning bad data."
* commit 'df14d8ef9884d85987e9810ae44837b659e1f82a':
  Fix fread returning bad data.
2015-02-28 18:41:27 +00:00
Christopher Ferris
df14d8ef98 am 2ae7c1e3: Merge "Fix fread returning bad data."
* commit '2ae7c1e336af3dd2901e90608be3adeb577659a7':
  Fix fread returning bad data.
2015-02-28 18:36:18 +00:00
Christopher Ferris
2ae7c1e336 Merge "Fix fread returning bad data." 2015-02-28 18:31:01 +00:00
Christopher Ferris
cc9ca1051d Fix fread returning bad data.
Bug: 19172514
Change-Id: I05016577858a02aca7d14e75e6ec28abc925037c
2015-02-27 18:22:45 -08:00
Christopher Ferris
5741d528ce am e30073f2: am d957bd08: am e6a33cef: Merge "libm: arm: Add arm specific floor() optimization"
* commit 'e30073f2a54d4f3ca072c7d28ee5b0209c8532a8':
  libm: arm: Add arm specific floor() optimization
2015-02-27 20:46:53 +00:00
Christopher Ferris
e30073f2a5 am d957bd08: am e6a33cef: Merge "libm: arm: Add arm specific floor() optimization"
* commit 'd957bd08b08685da987ebf609f87c3806b4455bc':
  libm: arm: Add arm specific floor() optimization
2015-02-27 20:40:46 +00:00
Christopher Ferris
d957bd08b0 am e6a33cef: Merge "libm: arm: Add arm specific floor() optimization"
* commit 'e6a33cefe4b3759fb77d9e69356cb50a97ea7e54':
  libm: arm: Add arm specific floor() optimization
2015-02-27 20:28:36 +00:00
Christopher Ferris
e6a33cefe4 Merge "libm: arm: Add arm specific floor() optimization" 2015-02-27 20:23:15 +00:00
Yabin Cui
7a42cd224c am 0d282fc5: am 09ee78ae: am b220c4b6: Merge "Make bionic gtest main be compatible with gtest output format for cts test."
* commit '0d282fc57291cf392f6322e34769c50d815085e7':
  Make bionic gtest main be compatible with gtest output format for cts test.
2015-02-27 18:49:54 +00:00
Yabin Cui
0d282fc572 am 09ee78ae: am b220c4b6: Merge "Make bionic gtest main be compatible with gtest output format for cts test."
* commit '09ee78ae010a1aa91ed5c12f8da80829837df944':
  Make bionic gtest main be compatible with gtest output format for cts test.
2015-02-27 18:42:52 +00:00
Yabin Cui
09ee78ae01 am b220c4b6: Merge "Make bionic gtest main be compatible with gtest output format for cts test."
* commit 'b220c4b609270cc6b76c4635d91d1f851aa63e57':
  Make bionic gtest main be compatible with gtest output format for cts test.
2015-02-27 18:36:08 +00:00
Yabin Cui
b220c4b609 Merge "Make bionic gtest main be compatible with gtest output format for cts test." 2015-02-27 18:29:48 +00:00
Yabin Cui
f6237470a3 Make bionic gtest main be compatible with gtest output format for cts test.
Bug: 17589740
Change-Id: Ifab521da379a33bf0a7bf11c21386f936f0d494c
2015-02-26 19:03:54 -08:00
Yabin Cui
ce751b3536 Lose bionic_atomic stuff.
Bug: 17177189
Change-Id: Ie1f5d7af359d31b14f58e53ec89c72111362d7ec
2015-02-26 13:45:06 -08:00
Christopher Ferris
99491a2988 am 21ddfa23: am e6c7e294: am f8eec1e5: Merge "Allow wildcards to match arg values."
* commit '21ddfa23f67cd0a9db7eff0c8a4ada5df1931f15':
  Allow wildcards to match arg values.
2015-02-26 04:04:42 +00:00
Yabin Cui
76f0031e4d am 8a661472: am 00ba42b9: am 7355d29b: Merge "Make getgrent deprecated."
* commit '8a6614726802170a19e5e68543a06117596def06':
  Make getgrent deprecated.
2015-02-26 04:04:41 +00:00
Christopher Ferris
21ddfa23f6 am e6c7e294: am f8eec1e5: Merge "Allow wildcards to match arg values."
* commit 'e6c7e294820a3b6c3569decad57d29eac31254b3':
  Allow wildcards to match arg values.
2015-02-26 03:58:38 +00:00
Yabin Cui
8a66147268 am 00ba42b9: am 7355d29b: Merge "Make getgrent deprecated."
* commit '00ba42b9f509baa706c93f648c8ad7c84c89d6d0':
  Make getgrent deprecated.
2015-02-26 03:58:37 +00:00
Christopher Ferris
e6c7e29482 am f8eec1e5: Merge "Allow wildcards to match arg values."
* commit 'f8eec1e54fbfb7b0304b73cb9ce2de44760a672e':
  Allow wildcards to match arg values.
2015-02-26 03:52:35 +00:00
Yabin Cui
00ba42b9f5 am 7355d29b: Merge "Make getgrent deprecated."
* commit '7355d29bbd106bd4ab3f5be1b743fb73e8c3b4da':
  Make getgrent deprecated.
2015-02-26 03:52:34 +00:00
Christopher Ferris
f8eec1e54f Merge "Allow wildcards to match arg values." 2015-02-26 03:47:12 +00:00
Yabin Cui
7355d29bbd Merge "Make getgrent deprecated." 2015-02-26 03:46:41 +00:00
Yabin Cui
d2f0f768e5 am 0a2db6e2: am 253fcfe7: am 398ef152: Merge "Move endpwent to ndk_cruft.cpp."
* commit '0a2db6e26f3a605df3d6c62e90b86b894be6f64b':
  Move endpwent to ndk_cruft.cpp.
2015-02-26 03:06:26 +00:00
Yabin Cui
072a326231 am f244b6d6: am fbff0fd5: am f1b4a5d5: Merge "Make tempnam/mktemp deprecated."
* commit 'f244b6d6920bdc9e7d2b597b0ac790759b603f72':
  Make tempnam/mktemp deprecated.
2015-02-26 03:06:24 +00:00
Yabin Cui
b8b5a72f41 Make getgrent deprecated.
Bug: 19340053
Change-Id: Ie8b97f840d9e87555e6a3d591fc87bc08c2d6820
2015-02-25 19:05:37 -08:00
Yabin Cui
0a2db6e26f am 253fcfe7: am 398ef152: Merge "Move endpwent to ndk_cruft.cpp."
* commit '253fcfe70e1bb87ca66e2886d90f6906e8d27f12':
  Move endpwent to ndk_cruft.cpp.
2015-02-26 02:58:56 +00:00
Yabin Cui
f244b6d692 am fbff0fd5: am f1b4a5d5: Merge "Make tempnam/mktemp deprecated."
* commit 'fbff0fd516a5d6499b3417eb194b0631ae50094a':
  Make tempnam/mktemp deprecated.
2015-02-26 02:58:50 +00:00
Yabin Cui
253fcfe70e am 398ef152: Merge "Move endpwent to ndk_cruft.cpp."
* commit '398ef152d50854fccb21086e30b5cc24641b3e2a':
  Move endpwent to ndk_cruft.cpp.
2015-02-26 02:52:36 +00:00
Yabin Cui
fbff0fd516 am f1b4a5d5: Merge "Make tempnam/mktemp deprecated."
* commit 'f1b4a5d510c693d7cffc76cade9ab049f7dfed07':
  Make tempnam/mktemp deprecated.
2015-02-26 02:52:35 +00:00
Yabin Cui
398ef152d5 Merge "Move endpwent to ndk_cruft.cpp." 2015-02-26 02:23:08 +00:00
Yabin Cui
f1b4a5d510 Merge "Make tempnam/mktemp deprecated." 2015-02-26 02:17:17 +00:00
Yabin Cui
9b4f77f5cf Make tempnam/mktemp deprecated.
Bug: 19340053
Change-Id: Ib02c65814ef97cd1758fd8142b73736cc8bc1700
2015-02-25 15:42:01 -08:00
Yabin Cui
52d7f1a94f Move endpwent to ndk_cruft.cpp.
Bug: 19109159
Change-Id: I3683a247643006ea6d6bcf3845f57d1908d457d7
2015-02-25 14:58:08 -08:00
Christopher Ferris
339ac378ca Allow wildcards to match arg values.
Change-Id: I38230b500bb8f8f69af0d7c740855a401cd12898
2015-02-25 14:56:32 -08:00
Yabin Cui
b448acfdba am 561d57a2: am f5d4f322: am 448a8596: Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
* commit '561d57a246179d7148781eea4659fa960e93df02':
  Switch system_properties.cpp from bionic atomic operations to stdatomic.
2015-02-25 21:21:25 +00:00
Yabin Cui
561d57a246 am f5d4f322: am 448a8596: Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
* commit 'f5d4f322bbea9e5a5a1ec4025a0289123c667e5f':
  Switch system_properties.cpp from bionic atomic operations to stdatomic.
2015-02-25 21:14:44 +00:00
Yabin Cui
f5d4f322bb am 448a8596: Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
* commit '448a85968da1e4622e829bb48fd888a38f9f6c49':
  Switch system_properties.cpp from bionic atomic operations to stdatomic.
2015-02-25 21:10:42 +00:00
Yabin Cui
448a85968d Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic." 2015-02-25 21:04:56 +00:00
Yabin Cui
baeac9b294 am e4093959: am a1e4a4a3: am 8c41eae6: Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
* commit 'e4093959c06ee37f28461a460f553882eb010c4f':
  Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
2015-02-25 17:04:56 +00:00
Yabin Cui
2955985437 am d16844ab: am 4600bdac: am af3ba5c8: Merge "Make all output of child test go to parent process in gtest_main."
* commit 'd16844abcea1cc50a64694367d6571c084c6a745':
  Make all output of child test go to parent process in gtest_main.
2015-02-25 17:04:55 +00:00
Nick Kralevich
328ab034c2 am fccf68ac: am e93bc6bb: am d91ded81: Merge "Fix "faccessat ignores flags""
* commit 'fccf68ace95348338e8b19afd6101581588a4f83':
  Fix "faccessat ignores flags"
2015-02-25 17:04:53 +00:00
Yabin Cui
e4093959c0 am a1e4a4a3: am 8c41eae6: Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
* commit 'a1e4a4a3c68fc99958cc7a6e6fb7fed58feeaae8':
  Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
2015-02-25 16:52:39 +00:00
Yabin Cui
d16844abce am 4600bdac: am af3ba5c8: Merge "Make all output of child test go to parent process in gtest_main."
* commit '4600bdac709969408ac446507d85881db55b0ca7':
  Make all output of child test go to parent process in gtest_main.
2015-02-25 16:52:35 +00:00
Nick Kralevich
fccf68ace9 am e93bc6bb: am d91ded81: Merge "Fix "faccessat ignores flags""
* commit 'e93bc6bbe8ce180187e3914d0a7494cfe84f6255':
  Fix "faccessat ignores flags"
2015-02-25 16:52:22 +00:00
Yabin Cui
a1e4a4a3c6 am 8c41eae6: Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
* commit '8c41eae6fcdb6cad1f6c46ae01708ead6b734060':
  Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
2015-02-25 00:05:52 +00:00
Yabin Cui
8c41eae6fc Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp." 2015-02-25 00:00:51 +00:00
Yabin Cui
4600bdac70 am af3ba5c8: Merge "Make all output of child test go to parent process in gtest_main."
* commit 'af3ba5c87319e19c10be6755b37af92521f702c2':
  Make all output of child test go to parent process in gtest_main.
2015-02-24 23:48:02 +00:00
Yabin Cui
af3ba5c873 Merge "Make all output of child test go to parent process in gtest_main." 2015-02-24 23:40:31 +00:00
Yabin Cui
7fb680bfda Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
Bug: 19108648
Change-Id: I65134040345398dde612c4325d902db58f3bd2be
2015-02-24 14:46:59 -08:00
Yabin Cui
ea9c933f36 Make all output of child test go to parent process in gtest_main.
Change-Id: Iad460e89755051cdb99593cbf42c97d9a359f32b
2015-02-24 14:44:51 -08:00
Nick Kralevich
e93bc6bbe8 am d91ded81: Merge "Fix "faccessat ignores flags""
* commit 'd91ded81376a10a1c89f7a5ae3c462ae3b24188e':
  Fix "faccessat ignores flags"
2015-02-24 21:52:36 +00:00
Nick Kralevich
d91ded8137 Merge "Fix "faccessat ignores flags"" 2015-02-24 21:49:09 +00:00
Nick Kralevich
35778253a5 Fix "faccessat ignores flags"
The kernel system call faccessat() does not have any flags arguments,
so passing flags to the kernel is currently ignored.

Fix the kernel system call so that no flags argument is passed in.

Ensure that we don't support AT_SYMLINK_NOFOLLOW. This non-POSIX
(http://pubs.opengroup.org/onlinepubs/9699919799/functions/access.html)
flag is a glibc extension, and has non-intuitive, error prone behavior.

For example, consider the following code:

  symlink("foo.is.dangling", "foo");
  if (faccessat(AT_FDCWD, "foo", R_OK, AT_SYMLINK_NOFOLLOW) == 0) {
    int fd = openat(AT_FDCWD, "foo", O_RDONLY | O_NOFOLLOW);
  }

The faccessat() call in glibc will return true, but an attempt to
open the dangling symlink will end up failing. GLIBC documents this
as returning the access mode of the symlink itself, which will
always return true for any symlink on Linux.

Some further discussions of this are at:

  * http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003617.html
  * http://permalink.gmane.org/gmane.linux.lib.musl.general/6952

AT_SYMLINK_NOFOLLOW seems broken by design. I suspect this is why this
function was never added to POSIX. (note that "access" is pretty much
broken by design too, since it introduces a race condition between
check and action). We shouldn't support this until it's clearly
documented by POSIX or we can have it produce intuitive results.

Don't support AT_EACCESS for now. Implementing it is complicated, and
pretty much useless on Android, since we don't have setuid binaries.
See http://git.musl-libc.org/cgit/musl/commit/?id=0a05eace163cee9b08571d2ff9d90f5e82d9c228
for how an implementation might look.

Bug: 18867827
Change-Id: I25b86c5020f3152ffa3ac3047f6c4152908d0e04
2015-02-24 13:40:43 -08:00
Yabin Cui
b8ce474217 Switch system_properties.cpp from bionic atomic operations to stdatomic.
Bug: 17177189
Change-Id: I42e05ad1c490cc7a8040138151afc0ee72a9b63f
2015-02-24 10:41:53 -08:00
Elliott Hughes
df93bc50fc am 549aab61: am 4ec60a01: am 2aef607b: Merge "Fix dup2 in the case where the two fds are equal."
* commit '549aab610a36b696a4586e33c4b709a29a668c1a':
  Fix dup2 in the case where the two fds are equal.
2015-02-24 06:06:43 +00:00
Elliott Hughes
549aab610a am 4ec60a01: am 2aef607b: Merge "Fix dup2 in the case where the two fds are equal."
* commit '4ec60a017859b39d490cfeb089ed30da09863def':
  Fix dup2 in the case where the two fds are equal.
2015-02-24 06:03:02 +00:00
Elliott Hughes
4ec60a0178 am 2aef607b: Merge "Fix dup2 in the case where the two fds are equal."
* commit '2aef607b25c463baed5ae70d14212e24ea7bcf2b':
  Fix dup2 in the case where the two fds are equal.
2015-02-24 05:59:52 +00:00
Elliott Hughes
2aef607b25 Merge "Fix dup2 in the case where the two fds are equal." 2015-02-24 05:55:37 +00:00
Elliott Hughes
be52e65817 Fix dup2 in the case where the two fds are equal.
dup3's behavior differs from dup2 in this case, so we need to paper
over that in the C library.

Change-Id: I313cd6f226db5e237f61866f324c5ecdd12bf762
2015-02-23 21:52:56 -08:00
Elliott Hughes
7d85c81f31 am aced654f: am 491c09e0: am 393bdb15: Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX."
* commit 'aced654f583682074db54b10706511453a7521da':
  Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
2015-02-24 04:54:26 +00:00
Elliott Hughes
aced654f58 am 491c09e0: am 393bdb15: Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX."
* commit '491c09e0d5921edd57da2efb0c8ed4f32df93fe2':
  Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
2015-02-23 22:52:54 +00:00
Elliott Hughes
491c09e0d5 am 393bdb15: Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX."
* commit '393bdb156d5024a03f03425a977d0518c84dbb98':
  Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
2015-02-23 22:45:14 +00:00
Elliott Hughes
393bdb156d Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX." 2015-02-23 22:36:06 +00:00
Elliott Hughes
6af62e0d50 Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
Change-Id: Ia6be76460bfcf852832325c5f36cb272f49a4b87
2015-02-23 13:41:40 -08:00
Elliott Hughes
1d0ded2116 am c0e7f55d: am 07e218a4: am 3d83b189: Merge "[MIPS64] Fix mips64 build."
* commit 'c0e7f55d9b89c7d80083842223c941c413bc3942':
  [MIPS64] Fix mips64 build.
2015-02-23 16:19:21 +00:00
Elliott Hughes
c0e7f55d9b am 07e218a4: am 3d83b189: Merge "[MIPS64] Fix mips64 build."
* commit '07e218a484d8a1ac71c3b9317e86f5ba39aae919':
  [MIPS64] Fix mips64 build.
2015-02-23 16:12:38 +00:00
Elliott Hughes
07e218a484 am 3d83b189: Merge "[MIPS64] Fix mips64 build."
* commit '3d83b18970f32467596830845793b18a858f59e6':
  [MIPS64] Fix mips64 build.
2015-02-23 16:09:17 +00:00
Elliott Hughes
3d83b18970 Merge "[MIPS64] Fix mips64 build." 2015-02-23 16:04:20 +00:00
Nikola Veljkovic
daf8911079 [MIPS64] Fix mips64 build.
Build was broken by:
https://android-review.googlesource.com/133834

Use <unistd.h> to get syscall().
Remove <asm/unistd.h>, it gets included through <sys/syscall.h>.

Change-Id: Id762f6dea5f9538c19b79cdd46deda978efd50fe
2015-02-23 16:21:31 +01:00
Greg Hackmann
f937761134 am 973ceef6: am 4602d8c7: am 04bbef37: Merge "Fix 64-bit benchmark build"
* commit '973ceef6869a7dad02195389547bf6177bb6cb34':
  Fix 64-bit benchmark build
2015-02-20 19:30:41 +00:00
Greg Hackmann
973ceef686 am 4602d8c7: am 04bbef37: Merge "Fix 64-bit benchmark build"
* commit '4602d8c7621ffd87e32f53c8f7e8ac5453a404ca':
  Fix 64-bit benchmark build
2015-02-20 19:27:13 +00:00
Greg Hackmann
4602d8c762 am 04bbef37: Merge "Fix 64-bit benchmark build"
* commit '04bbef377b9941bf6d67d9c515b6640a314fb032':
  Fix 64-bit benchmark build
2015-02-20 19:21:19 +00:00
Greg Hackmann
04bbef377b Merge "Fix 64-bit benchmark build" 2015-02-20 19:16:49 +00:00
Greg Hackmann
567bfb3779 Fix 64-bit benchmark build
The * flag to printf() wants an int instead of size_t, and these are
distinct types on 64-bit.  To accomodate this, make the name column
width helpers return int.

In theory this truncates things, but in practice this only matters if
you have a benchmark with more than INT_MAX characters in its name (in
which case you have bigger problems).

Change-Id: I3338948c25a3a8d84f1ead2f5b457c05da8a01cf
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2015-02-20 11:07:38 -08:00
Elliott Hughes
3f89ed1b47 am 5bf236e9: am 6421f8f5: am c39eef71: Merge "valgrind can\'t find syscall because we didn\'t put it in <unistd.h>."
* commit '5bf236e95f75de0169abbb22fc083c767ec681a6':
  valgrind can't find syscall because we didn't put it in <unistd.h>.
2015-02-20 17:15:16 +00:00
Elliott Hughes
5bf236e95f am 6421f8f5: am c39eef71: Merge "valgrind can\'t find syscall because we didn\'t put it in <unistd.h>."
* commit '6421f8f5b21357b3f956f4b20c3622f96863a219':
  valgrind can't find syscall because we didn't put it in <unistd.h>.
2015-02-20 17:08:47 +00:00
Elliott Hughes
6421f8f5b2 am c39eef71: Merge "valgrind can\'t find syscall because we didn\'t put it in <unistd.h>."
* commit 'c39eef71a7f66b69e2216a51d0e7fbc1796d0696':
  valgrind can't find syscall because we didn't put it in <unistd.h>.
2015-02-20 17:02:25 +00:00
Elliott Hughes
c39eef71a7 Merge "valgrind can't find syscall because we didn't put it in <unistd.h>." 2015-02-20 16:56:58 +00:00
Elliott Hughes
4c5891d93d valgrind can't find syscall because we didn't put it in <unistd.h>.
Change-Id: I1e47291d4476bd2816138a8cf58f29d4986d39e3
2015-02-19 22:49:44 -08:00
Christopher Ferris
1e0f763c9a am e84dff9a: am 479070c5: am 324313a9: Merge "Refactor the benchmark code."
* commit 'e84dff9a1f1d583c428e137cf0120fdd4ce315ce':
  Refactor the benchmark code.
2015-02-20 01:10:48 +00:00
Christopher Ferris
e84dff9a1f am 479070c5: am 324313a9: Merge "Refactor the benchmark code."
* commit '479070c51e34f9f9f809df4daa8184e5b2947f14':
  Refactor the benchmark code.
2015-02-20 01:03:22 +00:00
Christopher Ferris
479070c51e am 324313a9: Merge "Refactor the benchmark code."
* commit '324313a9e58c0e8d2546d124d8fcf04306a114f5':
  Refactor the benchmark code.
2015-02-20 00:59:18 +00:00
Christopher Ferris
324313a9e5 Merge "Refactor the benchmark code." 2015-02-20 00:53:25 +00:00
Bill Yi
c390f2eae6 am f5700e1f: am a6395dda: Merge commit \'9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1\' into HEAD
* commit 'f5700e1fd4eb70f3458b3bd508a9bf945561d22a':
2015-02-20 00:26:52 +00:00
Bill Yi
f5700e1fd4 am a6395dda: Merge commit \'9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1\' into HEAD
* commit 'a6395dda54057170fc66faf00410e983202aa7e0':
2015-02-20 00:22:45 +00:00
Christopher Ferris
df4942c04a Refactor the benchmark code.
Changes:
- Modify the benchmarks to derive from a single Benchmark object.
- Rewrite the main iteration code. This includes changing the iteration
  code to use the actual total time calculated by the benchmark as a basis
  for determining whether there are enough iterations instead of using
  the time it takes to run the benchmark.
- Allow benchmarks to take no argument, int, or double.
- Fix the PrettyInt printer for negative integers.
- Modify the max column width name to include the whole name including
  the arg part.
- Reformat property_benchmark.cpp in line with the rest of the code.
- Modify a few of the math benchmarks to take an argument instead of
  separate benchmarks for the same function with different args.
- Create a vector of regex_t structs to represent the args all at
  once instead of when running each benchmark.

This change is in preparation for adding new math based benchmarks.

Tested by running on a nexus flo running at max using the new code
and the old code and comparing. All of the numbers are similar, but
some of the iterations are different due to the slightly different
algorithm used.

Change-Id: I57ad1f3ff083282b9ffeb72e687cab369ce3523a
2015-02-19 14:58:24 -08:00
Christopher Ferris
cd4e501223 am 4379016a: Revert "Modify test to avoid race condition."
* commit '4379016a20131740e25b33b2b09a2caef0aa62bd':
  Revert "Modify test to avoid race condition."
2015-02-19 22:36:17 +00:00
Bill Yi
a6395dda54 Merge commit '9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1' into HEAD 2015-02-19 14:30:25 -08:00
Christopher Ferris
4379016a20 Revert "Modify test to avoid race condition."
This reverts commit 3da136aa47.

This change is not needed any where but lmp mr1.

Change-Id: I3f38e2e8e418959a487bc0c4148d3238743e4626
2015-02-19 13:35:47 -08:00
Elliott Hughes
77a24e14c3 am 4dc261b1: am d071b814: am 97484d3a: Merge "Add GNU extensions mempcpy and wmemcpy."
* commit '4dc261b13c351edf26efd18aca448aa98f925d41':
  Add GNU extensions mempcpy and wmemcpy.
2015-02-19 20:27:25 +00:00
Dan Albert
60787a931f am c2c319b2: am 43379c9c: am 3e1b5f46: Merge "Parameterize use of clang in libc_ndk."
* commit 'c2c319b2cb5dc3a7928121ecdd4312331dfb0496':
  Parameterize use of clang in libc_ndk.
2015-02-19 20:26:35 +00:00
Christopher Ferris
d2c65d8815 am 9ccce5d7: am 3da136aa: Modify test to avoid race condition.
* commit '9ccce5d7efde606914ec0b88fa50785b21ea672b':
  Modify test to avoid race condition.
2015-02-19 20:26:26 +00:00
Elliott Hughes
8c43e225dd am 0f13eac9: am 1cb009fb: am d3fa31a5: Merge "[MIPS] Fix setjmp signals"
* commit '0f13eac957c71e827e282fdd69de2dabeba28780':
  [MIPS] Fix setjmp signals
2015-02-19 17:36:33 +00:00
Elliott Hughes
4dc261b13c am d071b814: am 97484d3a: Merge "Add GNU extensions mempcpy and wmemcpy."
* commit 'd071b814ac5674ca032c05f369b2606cf3520332':
  Add GNU extensions mempcpy and wmemcpy.
2015-02-19 16:01:31 +00:00
Elliott Hughes
d071b814ac am 97484d3a: Merge "Add GNU extensions mempcpy and wmemcpy."
* commit '97484d3a9d0d822aeaaa1547aeb76d7669076082':
  Add GNU extensions mempcpy and wmemcpy.
2015-02-19 15:55:12 +00:00
Elliott Hughes
97484d3a9d Merge "Add GNU extensions mempcpy and wmemcpy." 2015-02-19 15:49:53 +00:00
Elliott Hughes
3cfb52aab2 Add GNU extensions mempcpy and wmemcpy.
Used by elfutils. On the bright side, they stopped using __mempcpy.

Bug: 18374026
Change-Id: Id29bbe6ef1c5ed5a171bb6c32182f129d8332abb
2015-02-18 22:02:56 -08:00
Dan Albert
c2c319b2cb am 43379c9c: am 3e1b5f46: Merge "Parameterize use of clang in libc_ndk."
* commit '43379c9cfd7416e448b9b2834dd4f7b80697942a':
  Parameterize use of clang in libc_ndk.
2015-02-19 02:44:25 +00:00
Dan Albert
43379c9cfd am 3e1b5f46: Merge "Parameterize use of clang in libc_ndk."
* commit '3e1b5f46c07aef5983ecf2feb1c3369b2cd200c0':
  Parameterize use of clang in libc_ndk.
2015-02-19 02:37:21 +00:00
Dan Albert
3e1b5f46c0 Merge "Parameterize use of clang in libc_ndk." 2015-02-19 02:33:08 +00:00
Christopher Ferris
9ccce5d7ef am 3da136aa: Modify test to avoid race condition.
* commit '3da136aa47e2d1608b98abb2580f024b36f92831':
  Modify test to avoid race condition.
2015-02-19 02:12:45 +00:00
Christopher Ferris
3da136aa47 Modify test to avoid race condition.
There is a possible race if a timer is set to trigger at nearly the same
time as it is set. Since nobody uses the timers like this, modify the test
so this doesn't happen. The race that this can provoke has been fixed in
aosp.

Bug: 19423618
Change-Id: I21084c99da5ae46f404936d673dae6bad7c82caa
2015-02-18 17:45:50 -08:00
Dan Albert
2c678e6644 Parameterize use of clang in libc_ndk.
We still have issues with clang coverage in static libraries, so we
need to make sure we follow suit with the rest of libc for now.

Bug: 17574078
Change-Id: I2ab58a84b1caa0d8d08415d240c35adec5b1e150
2015-02-18 17:37:52 -08:00
Elliott Hughes
0f13eac957 am 1cb009fb: am d3fa31a5: Merge "[MIPS] Fix setjmp signals"
* commit '1cb009fb5eb513e838085d75617db676fcfa7aa7':
  [MIPS] Fix setjmp signals
2015-02-19 01:12:41 +00:00
Elliott Hughes
1cb009fb5e am d3fa31a5: Merge "[MIPS] Fix setjmp signals"
* commit 'd3fa31a55d542d51fc3f2df46af7c1b701ecb86e':
  [MIPS] Fix setjmp signals
2015-02-19 01:06:06 +00:00
Elliott Hughes
d3fa31a55d Merge "[MIPS] Fix setjmp signals" 2015-02-19 01:00:19 +00:00
Yabin Cui
ed806d772a am 82a36f31: am 37197363: am 4add77b9: Merge "Make gets() deprecated."
* commit '82a36f31c08ca890a30863dc68819566e26b0495':
  Make gets() deprecated.
2015-02-18 23:04:28 +00:00
Elliott Hughes
d0051b8585 am 4a19d12b: am 08148bc9: am 1dbc6bb0: Merge "Implement _FILE_OFFSET_BITS (mostly)."
* commit '4a19d12b49bd19e38c136cf6e586a13095bcca72':
  Implement _FILE_OFFSET_BITS (mostly).
2015-02-18 23:04:27 +00:00
Yabin Cui
82a36f31c0 am 37197363: am 4add77b9: Merge "Make gets() deprecated."
* commit '371973633c579a32125c4b01c4235eb5f529cb4e':
  Make gets() deprecated.
2015-02-18 22:57:05 +00:00
Elliott Hughes
4a19d12b49 am 08148bc9: am 1dbc6bb0: Merge "Implement _FILE_OFFSET_BITS (mostly)."
* commit '08148bc9825ea337168819f3d92a0c7ef4ffe1f9':
  Implement _FILE_OFFSET_BITS (mostly).
2015-02-18 22:57:04 +00:00
Yabin Cui
371973633c am 4add77b9: Merge "Make gets() deprecated."
* commit '4add77b93c0c61381faa9d4d8dc62f81cafcc69a':
  Make gets() deprecated.
2015-02-18 22:50:54 +00:00
Elliott Hughes
08148bc982 am 1dbc6bb0: Merge "Implement _FILE_OFFSET_BITS (mostly)."
* commit '1dbc6bb02521ba1535748826eeaf28404160d788':
  Implement _FILE_OFFSET_BITS (mostly).
2015-02-18 22:50:32 +00:00
Yabin Cui
4add77b93c Merge "Make gets() deprecated." 2015-02-18 21:33:02 +00:00
Yabin Cui
913fcb274f Make gets() deprecated.
gets is already deprecated in glibc. Others with __warnattr are not deprecated.

Change-Id: I80a276d2b5964630218be47f1c94b146c0d31151
2015-02-18 12:20:32 -08:00
Elliott Hughes
1dbc6bb025 Merge "Implement _FILE_OFFSET_BITS (mostly)." 2015-02-18 18:01:05 +00:00
Neil Fuller
5bef299799 am f4d84ade: am 77f3c847: am 9ec37c7f: Merge "Update tzdata to tzdata2015a"
* commit 'f4d84ade1a334ca4869663a919a0399eb3e71474':
  Update tzdata to tzdata2015a
2015-02-18 11:39:28 +00:00
Dan Albert
8aa73e6441 am c69654ea: am a9751801: am 5890ec3e: Merge "Update NDK compatlib for 4.1.2."
* commit 'c69654ea602987b08eaa2015c782daefc425241c':
  Update NDK compatlib for 4.1.2.
2015-02-18 11:38:31 +00:00
Dan Albert
e554758063 am d66e5725: am 814bce07: am 21ba1d4c: Merge "Update the NDK compatlib for 4.4.4 and ToT."
* commit 'd66e57257c4538e1b8569a5ef65af6a6ddf29770':
  Update the NDK compatlib for 4.4.4 and ToT.
2015-02-18 11:38:30 +00:00
Neil Fuller
f4d84ade1a am 77f3c847: am 9ec37c7f: Merge "Update tzdata to tzdata2015a"
* commit '77f3c847c4b04c8d28f81b3cb0c2782fadf928f9':
  Update tzdata to tzdata2015a
2015-02-18 10:18:10 +00:00
Neil Fuller
77f3c847c4 am 9ec37c7f: Merge "Update tzdata to tzdata2015a"
* commit '9ec37c7fa979c573e5743c343d38370cab1a67e4':
  Update tzdata to tzdata2015a
2015-02-18 10:13:59 +00:00
Neil Fuller
9ec37c7fa9 Merge "Update tzdata to tzdata2015a" 2015-02-18 09:42:33 +00:00
Elliott Hughes
68dc20d411 Implement _FILE_OFFSET_BITS (mostly).
I still don't think we can make stdio's fseeko and ftello work, but we can
have everything else, and very few programs use fseeko/ftello (and they can
just refrain from using _FILE_OFFSET_BITS and be no worse off than they are
today).

Bug: 11865851
Change-Id: Ic3cb409aae6713f4b345de954bcc4241fcd969ec
2015-02-17 19:54:43 -08:00
Dan Albert
c69654ea60 am a9751801: am 5890ec3e: Merge "Update NDK compatlib for 4.1.2."
* commit 'a9751801481e112bbe1fe97e7300a395f418b96a':
  Update NDK compatlib for 4.1.2.
2015-02-18 01:17:12 +00:00
Dan Albert
d66e57257c am 814bce07: am 21ba1d4c: Merge "Update the NDK compatlib for 4.4.4 and ToT."
* commit '814bce074dac0359a7251904000d2f89ad6164a4':
  Update the NDK compatlib for 4.4.4 and ToT.
2015-02-18 01:17:11 +00:00
Dan Albert
a975180148 am 5890ec3e: Merge "Update NDK compatlib for 4.1.2."
* commit '5890ec3e229cbe115308e103111fec471f2319b7':
  Update NDK compatlib for 4.1.2.
2015-02-18 01:10:42 +00:00
Dan Albert
814bce074d am 21ba1d4c: Merge "Update the NDK compatlib for 4.4.4 and ToT."
* commit '21ba1d4ce43b1619e0d0a8248f6249810cabe374':
  Update the NDK compatlib for 4.4.4 and ToT.
2015-02-18 01:10:41 +00:00
Dan Albert
5890ec3e22 Merge "Update NDK compatlib for 4.1.2." 2015-02-18 01:05:48 +00:00
Dan Albert
21ba1d4ce4 Merge "Update the NDK compatlib for 4.4.4 and ToT." 2015-02-18 01:05:44 +00:00
Dan Albert
a6395e1fd0 Update NDK compatlib for 4.1.2.
The replacement new failures present in newer versions are present
here as well, with the following new issues:

XPASS std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp

This is from the -NaN formatting fix in bionic. We previously had this
wrong, and the upstream test is also wrong. There's currently an XFAIL
for Android in this test because I haven't fixed the upstream test
yet. After that is done, I'll need to teach the test runner how to
XFAIL older Android versions...

FAIL std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
    dtor.pass.cpp:39: int main(): assertion "globalMemCounter.checkDeleteArrayCalledEq(1)" failed

Haven't investigated this one yet. http://b/19412688

Note that this also needs the libgcc link ordering to be fixed in the
build system, as we'll otherwise depend on libgcc symbols from libc
that may or may not have been there.

The build fix can't be submitted because the proper link order causes
the libgcc unwinder to be used instead of the EHABI one:
http://b/18471342

Bug: 18471532
Change-Id: Icf560485a9b8f5ebbe01e4458703e62ec94df5e1
2015-02-17 17:02:42 -08:00
Dan Albert
9a9ea3a280 Update the NDK compatlib for 4.4.4 and ToT.
Now passes all libc++ tests for these targets, with the exception of
the usual failing replacement new tests since libc uses new/delete for
things. I don't know if we can ever really fix these.

Bug: 18471532
Change-Id: Ibc0a15f26b0e4613249b5e15ecf3cf80e523467c
2015-02-17 17:02:34 -08:00
Yabin Cui
0b45632bb8 am 3c1904fc: am faf5e195: am 0e61c2c0: Merge "Revert "Move use of __warnattr to __deprecated.""
* commit '3c1904fc527229b1c0b20e6b81fb92fb7564928e':
  Revert "Move use of __warnattr to __deprecated."
2015-02-18 00:40:15 +00:00
Yabin Cui
c4ab9e443b am 89838e6f: am 0769bb4f: am b5c23796: Merge "Move use of __warnattr to __deprecated."
* commit '89838e6f3468d9e01db30ee0d53265d2bf2b0432':
  Move use of __warnattr to __deprecated.
2015-02-18 00:30:31 +00:00
Christopher Ferris
47e1fe7191 am 6ead5855: am 2f86c3de: am 54b61b7c: Merge "Accuracy tests for libm"
* commit '6ead5855cbe9792b49c248dc649ec94ac4658b5c':
  Accuracy tests for libm
2015-02-18 00:28:43 +00:00
Yabin Cui
8a35be9efb am 7b07204d: am 515c1f23: am 89dad68e: Merge "Change getgrent error declaration message to proper style."
* commit '7b07204d0c56c92660463e9a968e874efc746564':
  Change getgrent error declaration message to proper style.
2015-02-18 00:28:42 +00:00
Elliott Hughes
6bf7862eb5 am e64fd0c6: am 5a973492: am c2085138: Merge "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX."
* commit 'e64fd0c6c49b4db875a3b14652dd8c2a4b534aaf':
  Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.
2015-02-18 00:28:35 +00:00
Yabin Cui
3c1904fc52 am faf5e195: am 0e61c2c0: Merge "Revert "Move use of __warnattr to __deprecated.""
* commit 'faf5e195e1a06f8c738b34cc939e6432535c8ff3':
  Revert "Move use of __warnattr to __deprecated."
2015-02-18 00:03:45 +00:00
Yabin Cui
faf5e195e1 am 0e61c2c0: Merge "Revert "Move use of __warnattr to __deprecated.""
* commit '0e61c2c0ea201e157d0d3d3c04564588bcfb7c66':
  Revert "Move use of __warnattr to __deprecated."
2015-02-17 23:59:58 +00:00
Yabin Cui
0e61c2c0ea Merge "Revert "Move use of __warnattr to __deprecated."" 2015-02-17 23:56:29 +00:00
Yabin Cui
784de4e50a Revert "Move use of __warnattr to __deprecated."
This reverts commit 4645c4f62d.

Change-Id: I6c1062d54a4e2c4f41ce7a403e4e7840e6339146
2015-02-17 23:54:40 +00:00
Yabin Cui
89838e6f34 am 0769bb4f: am b5c23796: Merge "Move use of __warnattr to __deprecated."
* commit '0769bb4fcf5dfcc346330430a7f649d3be8f2346':
  Move use of __warnattr to __deprecated.
2015-02-17 23:20:55 +00:00
Yabin Cui
0769bb4fcf am b5c23796: Merge "Move use of __warnattr to __deprecated."
* commit 'b5c23796872dee26d7fa88f0a41801dcc6090d99':
  Move use of __warnattr to __deprecated.
2015-02-17 23:16:01 +00:00
Yabin Cui
b5c2379687 Merge "Move use of __warnattr to __deprecated." 2015-02-17 23:10:31 +00:00
Yabin Cui
4645c4f62d Move use of __warnattr to __deprecated.
clang don't support warning attribute. Replacing warning attriubte with
deprecated attribute can achieve the same behavior whether compiled by
gcc or clang.

Bug: 19340053
Change-Id: I064432b81cf55212458edbc749eb72dc15a810fb
2015-02-17 14:14:45 -08:00
Christopher Ferris
6ead5855cb am 2f86c3de: am 54b61b7c: Merge "Accuracy tests for libm"
* commit '2f86c3deb52bfd46614b16b9debbadac41baec89':
  Accuracy tests for libm
2015-02-17 21:50:27 +00:00
Yabin Cui
7b07204d0c am 515c1f23: am 89dad68e: Merge "Change getgrent error declaration message to proper style."
* commit '515c1f234bade0ad63d25c07cf57f058fa5934ea':
  Change getgrent error declaration message to proper style.
2015-02-17 21:46:39 +00:00
Christopher Ferris
2f86c3deb5 am 54b61b7c: Merge "Accuracy tests for libm"
* commit '54b61b7ca7d7c9c7474e2beb35d20a9ab635529f':
  Accuracy tests for libm
2015-02-17 21:46:38 +00:00
Christopher Ferris
54b61b7ca7 Merge "Accuracy tests for libm" 2015-02-17 21:41:41 +00:00
Yabin Cui
515c1f234b am 89dad68e: Merge "Change getgrent error declaration message to proper style."
* commit '89dad68efb07ef0868c2ac35737a4b2c83aea326':
  Change getgrent error declaration message to proper style.
2015-02-17 21:36:33 +00:00
Elliott Hughes
e64fd0c6c4 am 5a973492: am c2085138: Merge "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX."
* commit '5a9734920c25ebb1aed389fd87fa9a26904aa239':
  Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.
2015-02-17 21:32:28 +00:00
Yabin Cui
89dad68efb Merge "Change getgrent error declaration message to proper style." 2015-02-17 21:29:27 +00:00
Elliott Hughes
5a9734920c am c2085138: Merge "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX."
* commit 'c20851380cf5466a8bc422e7c26d3868a95423a9':
  Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.
2015-02-17 21:26:25 +00:00
Elliott Hughes
c20851380c Merge "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX." 2015-02-17 21:20:39 +00:00
Yabin Cui
62533de98e Change getgrent error declaration message to proper style.
Bug: 19340053
Change-Id: I9c47a2016f356d171a5f2082acb8391d81e019b2
2015-02-17 11:33:42 -08:00
Elliott Hughes
dd9798b0fa am ebaf7a25: am f8a49b04: am fb48c682: Merge "Fix memchr overflow."
* commit 'ebaf7a250f6a9913e109a2ef9939c6d54de9cb63':
  Fix memchr overflow.
2015-02-17 18:11:12 +00:00
Elliott Hughes
ebaf7a250f am f8a49b04: am fb48c682: Merge "Fix memchr overflow."
* commit 'f8a49b04a981d867c4deda6f27deaf702711cfc1':
  Fix memchr overflow.
2015-02-17 18:04:53 +00:00
Elliott Hughes
f8a49b04a9 am fb48c682: Merge "Fix memchr overflow."
* commit 'fb48c68221afb1f9e7c63a15a20cca0857d1b9f9':
  Fix memchr overflow.
2015-02-17 17:58:51 +00:00
Elliott Hughes
be6a44566a Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.
Change-Id: I656f613166bd604f35b31e5ec042a5230c6b82b8
2015-02-17 09:55:58 -08:00
Elliott Hughes
fb48c68221 Merge "Fix memchr overflow." 2015-02-17 17:54:40 +00:00
Elliott Hughes
46e1da2dee am ea3fe53a: am 1084911f: am 40d06b25: Merge "POSIX says flock is in <sys/file.h>, not <unistd.h>."
* commit 'ea3fe53ac520971a26330c355aaf9854f45e60b3':
  POSIX says flock is in <sys/file.h>, not <unistd.h>.
2015-02-17 17:29:53 +00:00
Elliott Hughes
ea3fe53ac5 am 1084911f: am 40d06b25: Merge "POSIX says flock is in <sys/file.h>, not <unistd.h>."
* commit '1084911fc297b262600a5caed9a94d6ddde7cc66':
  POSIX says flock is in <sys/file.h>, not <unistd.h>.
2015-02-17 17:23:26 +00:00
Elliott Hughes
1084911fc2 am 40d06b25: Merge "POSIX says flock is in <sys/file.h>, not <unistd.h>."
* commit '40d06b25ac86260e9c1701540420c9634bab8bad':
  POSIX says flock is in <sys/file.h>, not <unistd.h>.
2015-02-17 17:19:06 +00:00
Elliott Hughes
40d06b25ac Merge "POSIX says flock is in <sys/file.h>, not <unistd.h>." 2015-02-17 17:09:35 +00:00
Elliott Hughes
92b9c6ff3e POSIX says flock is in <sys/file.h>, not <unistd.h>.
Bug: 19392265
Change-Id: I14d0b56883f0354e13db04a1d140b8f60dae08d7
2015-02-17 09:08:24 -08:00
Neil Fuller
094a8ae078 Update tzdata to tzdata2015a
Time Zone Data v. 2015a (Released 2015-01-29)
http://www.iana.org/time-zones/repository/releases/tzdata2015a.tar.gz

Information from NEWS:

Release 2015a - 2015-01-29 22:35:20 -0800

  Changes affecting future time stamps

    The Mexican state of Quintana Roo, represented by America/Cancun,
    will shift from Central Time with DST to Eastern Time without DST
    on 2015-02-01 at 02:00.  (Thanks to Steffen Thorsen and Gwillim Law.)

    Chile will not change clocks in April or thereafter; its new standard time
    will be its old daylight saving time.  This affects America/Santiago,
    Pacific/Easter, and Antarctica/Palmer.  (Thanks to Juan Correa.)

    New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
    (Thanks to Tim Parenti.)

  Changes affecting past time stamps

    Iceland observed DST in 1919 and 1921, and its 1939 fallback
    transition was Oct. 29, not Nov. 29.  Remove incorrect data from
    Shanks about time in Iceland between 1837 and 1908.

    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: Asia/Aden, Asia/Bahrain, Asia/Kuwait,
    and Asia/Muscat.

Bug: 19212588
(cherry-picked from commit 700eb048fb)

Change-Id: I23d94982f634889ab9dcef28cf4a8853224bfd9c
2015-02-17 17:05:48 +00:00
Elliott Hughes
0b8bed7f18 am a822795f: am 66d53434: am dd5c92d4: Merge "Regression test for NDK bug 80199."
* commit 'a822795f53ac52294c637f8aa4be65610ba18cc9':
  Regression test for NDK bug 80199.
2015-02-15 00:30:15 +00:00
Elliott Hughes
a822795f53 am 66d53434: am dd5c92d4: Merge "Regression test for NDK bug 80199."
* commit '66d534347748cec93ea214ebc8d2291b59b58b8d':
  Regression test for NDK bug 80199.
2015-02-15 00:26:58 +00:00
Elliott Hughes
66d5343477 am dd5c92d4: Merge "Regression test for NDK bug 80199."
* commit 'dd5c92d4b0cb6c43002112ab50c1df73d06ab2aa':
  Regression test for NDK bug 80199.
2015-02-15 00:24:03 +00:00
Elliott Hughes
dd5c92d4b0 Merge "Regression test for NDK bug 80199." 2015-02-15 00:18:23 +00:00
Elliott Hughes
e1f9ddaf0d Regression test for NDK bug 80199.
Bionic never had this bug, but since the proposed fix is to remove the NDK's
broken code, we should add a regression test here.

Bug: https://code.google.com/p/android/issues/detail?id=80199
Change-Id: I4de21b5da9913cef990bc4d05a7e27562a71a02b
2015-02-14 14:11:50 -08:00
Elliott Hughes
41ef902379 Fix memchr overflow.
The overflow's actually in the generic C implementation of memchr.

While I'm here, let's switch our generic memrchr to the OpenBSD version too.

Bug: https://code.google.com/p/android/issues/detail?id=147048
Change-Id: I296ae06a1ee196d2c77c95a22f11ee4d658962da
2015-02-14 13:21:22 -08:00
Yabin Cui
882c3305ab am 9d7f68eb: am 4812bdf1: am 4181cc69: Merge "Declare getgrent/setgrent/endgrent as missing."
* commit '9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1':
  Declare getgrent/setgrent/endgrent as missing.
2015-02-14 02:52:50 +00:00
Yabin Cui
9d7f68ebfd am 4812bdf1: am 4181cc69: Merge "Declare getgrent/setgrent/endgrent as missing."
* commit '4812bdf1b160fb803dd86a393daf2ae725029c2e':
  Declare getgrent/setgrent/endgrent as missing.
2015-02-14 02:46:43 +00:00
Yabin Cui
4812bdf1b1 am 4181cc69: Merge "Declare getgrent/setgrent/endgrent as missing."
* commit '4181cc691e36546c556274d46d389d7e0cb9cfab':
  Declare getgrent/setgrent/endgrent as missing.
2015-02-14 02:42:32 +00:00
Yabin Cui
4181cc691e Merge "Declare getgrent/setgrent/endgrent as missing." 2015-02-14 02:37:19 +00:00
Dmitriy Ivanov
b3ea70d7d1 am 39c9f7bc: am 88117127: am b81a871c: Merge changes I88827aa0,Ib0b0987a
* commit '39c9f7bc65a56287e54f6ce4a090113c1109c7ef':
  Fix: DT_DEBUG was acting as DT_REL on mips64
  Add missing SHT_LOOS/SHT_HIOS values
2015-02-14 00:52:39 +00:00
Dmitriy Ivanov
39c9f7bc65 am 88117127: am b81a871c: Merge changes I88827aa0,Ib0b0987a
* commit '88117127defa6aeb26840ec8547486aefd5edd73':
  Fix: DT_DEBUG was acting as DT_REL on mips64
  Add missing SHT_LOOS/SHT_HIOS values
2015-02-14 00:49:33 +00:00
Dmitriy Ivanov
88117127de am b81a871c: Merge changes I88827aa0,Ib0b0987a
* commit 'b81a871cbb2d99168bdb8380b6142139135f418f':
  Fix: DT_DEBUG was acting as DT_REL on mips64
  Add missing SHT_LOOS/SHT_HIOS values
2015-02-14 00:43:56 +00:00
Dmitriy Ivanov
b81a871cbb Merge changes I88827aa0,Ib0b0987a
* changes:
  Fix: DT_DEBUG was acting as DT_REL on mips64
  Add missing SHT_LOOS/SHT_HIOS values
2015-02-14 00:38:04 +00:00
Dmitriy Ivanov
c6292ea39c Fix: DT_DEBUG was acting as DT_REL on mips64
Change-Id: I88827aa07d75d06d606c987e6270fcca3ae6216f
2015-02-13 16:34:50 -08:00
Dmitriy Ivanov
13ed3f0af1 Add missing SHT_LOOS/SHT_HIOS values
Change-Id: Ib0b0987a7e85af7863c6ef894263b5980e32344d
2015-02-13 16:34:38 -08:00
Colin Cross
1b8ff453e0 am 15c60ccf: am d6a9f804: am 150403ca: Merge "Make .note.android.ident section type SH_NOTE"
* commit '15c60ccfb100423fb76470ee12642bf4c7072eac':
  Make .note.android.ident section type SH_NOTE
2015-02-13 20:34:29 +00:00
Colin Cross
15c60ccfb1 am d6a9f804: am 150403ca: Merge "Make .note.android.ident section type SH_NOTE"
* commit 'd6a9f804a9c95942bddc9afa243c339d72371008':
  Make .note.android.ident section type SH_NOTE
2015-02-13 20:29:34 +00:00
Colin Cross
d6a9f804a9 am 150403ca: Merge "Make .note.android.ident section type SH_NOTE"
* commit '150403caa8135bef5d5df37e288276ac4f95a234':
  Make .note.android.ident section type SH_NOTE
2015-02-13 20:23:24 +00:00
Yabin Cui
c9d09431b9 Declare getgrent/setgrent/endgrent as missing.
Bug: 19340053
Change-Id: I42bfeda95e6f262e2e74ab47336ea346c2de7e4a
2015-02-13 10:52:35 -08:00
Colin Cross
150403caa8 Merge "Make .note.android.ident section type SH_NOTE" 2015-02-13 18:38:03 +00:00
Jingwei Zhang
56b2b2916b Accuracy tests for libm
This patch adds more tests for math functions to address coverage
issue of math functions discussed in:
https://android-review.googlesource.com/#/c/49653/
https://android-review.googlesource.com/#/c/94780/

These are data sets used in regression tests for the Intel the math library (libm). They were collected over a long period of testing various libm implementations.
The data sets contain function specific data (special and corner cases such as +/-0, maximum/minimum normalized numbers, +/-infinity, QNaN/SNaN, maximum/minimum denormal numbers, arguments that would produce close to overflow/underflow results, known hard-to-round cases, etc), implementation specific data (arguments close to table look-up values for different polynomial approximations, worst cases for range reduction algorithms) and other data with interesting bit patterns.
The reference values are computed with Maple and were converted into hexadecimal format.

Change-Id: I7177c282937369eae98f25d02134e4fc3beadde8
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2015-02-14 00:56:46 +08:00
Colin Cross
e09ab2cc2f Make .note.android.ident section type SH_NOTE
The .note.android.ident section is only used by GDB, which doesn't
care what section type the section is, but it would be convenient
for readelf -n to be able to find the section too.

The old way of getting the .note.android.ident section to be of type
SH_NOTE involved compiling from .c to .s using gcc, running sed to
change progbits to note, and then compiling from .s to .o using gcc.
Since crtbrand.c only contains a section containing data, a
crtbrand.S can be checked in that will compile on all platforms,
avoiding the need for sed.

Also add crtbrand.o to crtbegin_so.o so that libraries also get
the note, and to the crt workaround in arm libc.so.

Change-Id: Ica71942a6af4553b56978ceaa288b3f4c15ebfa2
2015-02-12 21:37:20 -08:00
Shu Zhang
3a629af0ad libm: arm: Add arm specific floor() optimization
Add arm specific floor() implementation which avoids VMSR and VMRS
instructions.

Change-Id: Ibd4cd7147aa2f98c9b5bbaf74948843ea619dba4
2015-02-12 18:27:58 -08:00
Mark Salyzyn
90126d434a am 233c0da3: am fdea643a: am f9fb52ab: Merge "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait"
* commit '233c0da3ef17592ddd3eb05c2e0b2729fd16f947':
  bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait
2015-02-12 21:36:29 +00:00
Mark Salyzyn
233c0da3ef am fdea643a: am f9fb52ab: Merge "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait"
* commit 'fdea643af96379b5a19968d91ba6dc1758d8dcdf':
  bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait
2015-02-12 21:03:12 +00:00
Mark Salyzyn
fdea643af9 am f9fb52ab: Merge "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait"
* commit 'f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024':
  bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait
2015-02-12 20:57:41 +00:00
Mark Salyzyn
f9fb52ab30 Merge "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait" 2015-02-12 20:52:57 +00:00
Colin Cross
2b6e722023 am 71721a31: am baf16422: am 362d6779: Merge "Remove no-op sed step when compiling crtbrand.o"
* commit '71721a31d02ec0f6946b7924cee9d461971512c0':
  Remove no-op sed step when compiling crtbrand.o
2015-02-12 19:30:44 +00:00
Colin Cross
71721a31d0 am baf16422: am 362d6779: Merge "Remove no-op sed step when compiling crtbrand.o"
* commit 'baf164221b1356fe13091c2ca4b357da9a4e237c':
  Remove no-op sed step when compiling crtbrand.o
2015-02-12 18:26:53 +00:00
Colin Cross
baf164221b am 362d6779: Merge "Remove no-op sed step when compiling crtbrand.o"
* commit '362d677924a5f92190884ff225fe64820ad5d997':
  Remove no-op sed step when compiling crtbrand.o
2015-02-12 18:23:08 +00:00
Colin Cross
362d677924 Merge "Remove no-op sed step when compiling crtbrand.o" 2015-02-12 18:16:48 +00:00
Mark Salyzyn
5d064464f1 bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait
This test reports the overhead of sem_post to sem_wake for a low thread count
and a high thread count.

Change-Id: Ic30dcc8a78d754979117446bf3a28b7575cabac7
2015-02-12 09:43:58 -08:00
Colin Cross
24958ae4ef Remove no-op sed step when compiling crtbrand.o
crtbrand.c was compiled to a .s file, run through a sed script
to translate a %progbits to %note, and the compiled to .o.
However, when the sed command was copied from the original source
it was not updated to use the new name of the section (.note.ABI-tag
to .note.android.ident), so it didn't modify the file.  Since the
section has been generated with type %progbits instead of %note for
two years, just delete the whole sed step.

Change-Id: Id78582e9b43b628afec4eed22a088283132f0742
2015-02-11 17:40:45 -08:00
Duane Sand
b6d301f42d [MIPS] Fix setjmp signals
Include full 16-byte Mips sigset_t signal mask within jump buffer.
Call sigprocmask instead of sigblockmask/sigsetmask to get/set full signal mask.
Include sigsetjmp's savesigs arg inside jmp_buf, instead of following it.
Reserve room for future extensions.
Preserve historically-large mips32 _JBLEN size.
Eliminate redundancy: code setjmp and _setjmp as tail calls into sigsetjmp,
and make longjmp and _longjmp aliases of siglongjmp.

Change-Id: Ie79137cf059228c1a51344ebb20d3a9a40b4a252
2015-02-11 15:15:53 -08:00
Christopher Ferris
719a38a5d4 am afccaadc: am 2c0e462f: am 0046c39f: Merge "[MIPS] Fix Mips64 build of libm"
* commit 'afccaadc927fd1a5c7e85288d8ea0c63c205846a':
  [MIPS] Fix Mips64 build of libm
2015-02-11 22:59:35 +00:00
Christopher Ferris
afccaadc92 am 2c0e462f: am 0046c39f: Merge "[MIPS] Fix Mips64 build of libm"
* commit '2c0e462f9819587b6376ed90f315e4d6c0b13612':
  [MIPS] Fix Mips64 build of libm
2015-02-11 21:21:48 +00:00
Christopher Ferris
2c0e462f98 am 0046c39f: Merge "[MIPS] Fix Mips64 build of libm"
* commit '0046c39f9ed6d7335f06e4d866df5ae0e7b4d485':
  [MIPS] Fix Mips64 build of libm
2015-02-11 21:15:45 +00:00
Christopher Ferris
0046c39f9e Merge "[MIPS] Fix Mips64 build of libm" 2015-02-11 21:07:46 +00:00
Duane Sand
3d535d2312 [MIPS] Fix Mips64 build of libm
Change-Id: Ib742b408d4f21d5ec8d455a3fea7c08165c7f321
2015-02-11 12:51:42 -08:00
Elliott Hughes
9fb1938171 am a6754cf2: am fac5e95c: am ddae78fb: Merge "Fix our ftw tests."
* commit 'a6754cf2d88cc411591d2d212e905bfb5e37c8af':
  Fix our ftw tests.
2015-02-11 02:55:05 +00:00
Yabin Cui
fe4c12af73 am 8dc24ee5: am 3a31e697: am ee17e880: Merge "Define MAXHOSTNAMELEN explicitly in source files."
* commit '8dc24ee55e05cfb54af5ef29d9f8a19ef65462c1':
  Define MAXHOSTNAMELEN explicitly in source files.
2015-02-11 02:50:46 +00:00
Mark Salyzyn
3ba3d98add am 37529bc8: am 445c2020: am a57fd419: Merge "bionic: benchmarks: Add BM_semaphore_sem_post"
* commit '37529bc8451dbb4adbcc93234d064e576c456324':
  bionic: benchmarks: Add BM_semaphore_sem_post
2015-02-11 02:49:09 +00:00
Christopher Ferris
b45b7605a4 am 2cfbcb63: am 6fd3bcf6: am 6d99da04: Merge "Cleanup the libm makefile."
* commit '2cfbcb6364492ae95bda724fb7f4256014b11ccc':
  Cleanup the libm makefile.
2015-02-11 02:49:08 +00:00
Yabin Cui
c8711825a4 am c9f8c073: am fa592b2a: am e375ecaa: Merge "Switch pthread_cond_t to <stdatomic.h>."
* commit 'c9f8c07373b2a71d682e3214c65e0c14c7c3f875':
  Switch pthread_cond_t to <stdatomic.h>.
2015-02-11 02:49:06 +00:00
Yabin Cui
edc274cd8b am 88c0719f: am 6a32443a: am a4fc89ba: Merge "Stop including <linux/param.h> in <sys/param.h>."
* commit '88c0719f8fa7c4127ffdf1a304716e3a63117bf7':
  Stop including <linux/param.h> in <sys/param.h>.
2015-02-11 02:49:05 +00:00
Narayan Kamath
665e5daec9 am 17710068: am e163cb28: am f69139e1: Merge "Remove stray log line."
* commit '1771006863186e19ddfcc55f5f870dc56c650177':
  Remove stray log line.
2015-02-11 02:49:03 +00:00
Elliott Hughes
a6754cf2d8 am fac5e95c: am ddae78fb: Merge "Fix our ftw tests."
* commit 'fac5e95c218381cb0c5748aadf70adfcc9414f83':
  Fix our ftw tests.
2015-02-10 23:46:48 +00:00
Elliott Hughes
fac5e95c21 am ddae78fb: Merge "Fix our ftw tests."
* commit 'ddae78fba1ef7291d6a84bce11b0b8fff46f3547':
  Fix our ftw tests.
2015-02-10 23:40:39 +00:00
Elliott Hughes
ddae78fba1 Merge "Fix our ftw tests." 2015-02-10 23:34:19 +00:00
Elliott Hughes
7f925097e8 Fix our ftw tests.
SELinux denies access to some files in /sys, so we can't just trawl
through that asserting general truths. Instead, create a small known
tree.

Sadly neither ftw nor nftw takes user callback data, otherwise it would
be nice to assert that we visit all the expected nodes.

Bug: 19252748
Change-Id: Ib5309c38aaef53e6030281191a265a8d5a619044
2015-02-10 14:15:33 -08:00
Yabin Cui
8dc24ee55e am 3a31e697: am ee17e880: Merge "Define MAXHOSTNAMELEN explicitly in source files."
* commit '3a31e697ca3c1207bfec64b555bcff7b129348a3':
  Define MAXHOSTNAMELEN explicitly in source files.
2015-02-10 18:09:57 +00:00
Yabin Cui
3a31e697ca am ee17e880: Merge "Define MAXHOSTNAMELEN explicitly in source files."
* commit 'ee17e8800418a74e21dba11658234363cf6f6032':
  Define MAXHOSTNAMELEN explicitly in source files.
2015-02-10 18:00:39 +00:00
Yabin Cui
ee17e88004 Merge "Define MAXHOSTNAMELEN explicitly in source files." 2015-02-10 17:51:33 +00:00
Mark Salyzyn
37529bc845 am 445c2020: am a57fd419: Merge "bionic: benchmarks: Add BM_semaphore_sem_post"
* commit '445c202073f4fd35e1171dc11bcd13a7accf7018':
  bionic: benchmarks: Add BM_semaphore_sem_post
2015-02-10 16:54:32 +00:00
Christopher Ferris
2cfbcb6364 am 6fd3bcf6: am 6d99da04: Merge "Cleanup the libm makefile."
* commit '6fd3bcf6ce2290f4e44547fb875af4ac3c741130':
  Cleanup the libm makefile.
2015-02-10 16:53:33 +00:00
Yabin Cui
c9f8c07373 am fa592b2a: am e375ecaa: Merge "Switch pthread_cond_t to <stdatomic.h>."
* commit 'fa592b2a903a6e5110c6daf0959cc7211fc476d7':
  Switch pthread_cond_t to <stdatomic.h>.
2015-02-10 16:53:28 +00:00
Yabin Cui
88c0719f8f am 6a32443a: am a4fc89ba: Merge "Stop including <linux/param.h> in <sys/param.h>."
* commit '6a32443aa3e2544000314adf80d4e081d36d170d':
  Stop including <linux/param.h> in <sys/param.h>.
2015-02-10 16:51:48 +00:00
Narayan Kamath
1771006863 am e163cb28: am f69139e1: Merge "Remove stray log line."
* commit 'e163cb28b9b89f315000c1c480ee0cb2b3c26744':
  Remove stray log line.
2015-02-10 16:51:44 +00:00
Mark Salyzyn
445c202073 am a57fd419: Merge "bionic: benchmarks: Add BM_semaphore_sem_post"
* commit 'a57fd419bc56add6752cd9fa6f53fe2b43dff019':
  bionic: benchmarks: Add BM_semaphore_sem_post
2015-02-10 15:24:48 +00:00
Mark Salyzyn
a57fd419bc Merge "bionic: benchmarks: Add BM_semaphore_sem_post" 2015-02-10 15:16:34 +00:00
Yabin Cui
2d8f9b5aea Define MAXHOSTNAMELEN explicitly in source files.
Bug: 19093777
Bug: 19092844
Change-Id: I0778507ca2d5c008abb9a6d6315d0909263a8817
2015-02-09 19:56:47 -08:00
Mark Salyzyn
7e50fb2a68 bionic: benchmarks: Add BM_semaphore_sem_post
This test tries its best to report the producer side underlying futex
wake syscall overhead wthin sem_post. It does not measure the time it
takes for the wakeup to propagate to the consumer. It suffers from
clock_gettime syscall overhead, so subtract that. Lock the CPU speed
for consistent results as we may not reach >50% cpu utilization.

Change-Id: I02fa9dab2e6ac27202f0290115150bd3c8de00f2
2015-02-09 17:05:20 -08:00
Christopher Ferris
6fd3bcf6ce am 6d99da04: Merge "Cleanup the libm makefile."
* commit '6d99da0477f8589df01307067823c3925e40bd91':
  Cleanup the libm makefile.
2015-02-10 00:38:39 +00:00
Christopher Ferris
6d99da0477 Merge "Cleanup the libm makefile." 2015-02-10 00:31:06 +00:00
Yabin Cui
fa592b2a90 am e375ecaa: Merge "Switch pthread_cond_t to <stdatomic.h>."
* commit 'e375ecaa39213ec01464dac9d0ffebaac70b4e9d':
  Switch pthread_cond_t to <stdatomic.h>.
2015-02-10 00:18:47 +00:00
Yabin Cui
e375ecaa39 Merge "Switch pthread_cond_t to <stdatomic.h>." 2015-02-10 00:10:45 +00:00
Yabin Cui
e5f816c017 Switch pthread_cond_t to <stdatomic.h>.
Bug: 17574458
Change-Id: Ic7f79861df4fe751cfa6c6b20b71123cc31e7114
2015-02-09 15:54:22 -08:00
Christopher Ferris
d40d1a08cd Cleanup the libm makefile.
Change-Id: I3d95f75da24ee3b064a9cce67586b0e6f32272d8
2015-02-09 14:09:49 -08:00
Yabin Cui
6a32443aa3 am a4fc89ba: Merge "Stop including <linux/param.h> in <sys/param.h>."
* commit 'a4fc89badf4ef4d42df0927340c6f0d02167a3d6':
  Stop including <linux/param.h> in <sys/param.h>.
2015-02-09 19:52:51 +00:00
Yabin Cui
a4fc89badf Merge "Stop including <linux/param.h> in <sys/param.h>." 2015-02-09 19:46:46 +00:00
Narayan Kamath
e163cb28b9 am f69139e1: Merge "Remove stray log line."
* commit 'f69139e105ef32199afdf35027e9dfc48ad215d7':
  Remove stray log line.
2015-02-09 19:05:16 +00:00
Narayan Kamath
f69139e105 Merge "Remove stray log line." 2015-02-09 18:57:51 +00:00
Narayan Kamath
421608550d Remove stray log line.
Change-Id: Id948ae37a91dadd9d40e91de97f18774bdccfc78
2015-02-09 18:01:45 +00:00
Christopher Ferris
6e01e50787 am e66b2780: am 6880ec44: am d687905f: Merge "Display errors instead of running infinitely."
* commit 'e66b2780a77ecbe1eaa1273dd5555e261ef0dfd5':
  Display errors instead of running infinitely.
2015-02-09 04:15:11 +00:00
Tao Bao
84e323f11d am 5690237c: am 35947160: am bc64d1d1: Merge "Switch kernel header parsing to python libclang"
* commit '5690237c6f95afec3460f7f5e7d6c2ab6bfc608a':
  Switch kernel header parsing to python libclang
2015-02-09 04:13:35 +00:00
Colin Cross
9667f1be1b am fa8a43e6: am 0ef78e38: am 44e88db1: Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs"
* commit 'fa8a43e6dffab323f9c0b8ad91df8e6e76832b85':
  Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
2015-02-09 04:13:31 +00:00
Christopher Ferris
e66b2780a7 am 6880ec44: am d687905f: Merge "Display errors instead of running infinitely."
* commit '6880ec44c339a720ebc9128fb6a11362ca7d5634':
  Display errors instead of running infinitely.
2015-02-07 02:30:28 +00:00
Christopher Ferris
6880ec44c3 am d687905f: Merge "Display errors instead of running infinitely."
* commit 'd687905f11102a7f6bad461b6f501dc870c59999':
  Display errors instead of running infinitely.
2015-02-07 02:24:36 +00:00
Christopher Ferris
d687905f11 Merge "Display errors instead of running infinitely." 2015-02-07 02:18:39 +00:00
Christopher Ferris
05d26211d8 Display errors instead of running infinitely.
When there is an error detected, the code runs forever and then times
out without any indication of what happened. Change it so that error
messages are printed and the test fails.

Change-Id: Id3160fc2f394984de0157356594fd8b40de66b4a
2015-02-06 18:05:58 -08:00
Tao Bao
5690237c6f am 35947160: am bc64d1d1: Merge "Switch kernel header parsing to python libclang"
* commit '35947160f96931a6464a9425b04f79232b389ed0':
  Switch kernel header parsing to python libclang
2015-02-06 23:39:23 +00:00
Tao Bao
35947160f9 am bc64d1d1: Merge "Switch kernel header parsing to python libclang"
* commit 'bc64d1d1fd12a0b43bcfe3f88698f29185ab63e0':
  Switch kernel header parsing to python libclang
2015-02-06 23:32:43 +00:00
Colin Cross
fa8a43e6df am 0ef78e38: am 44e88db1: Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs"
* commit '0ef78e3840b3bfcc07a13d7ffa69dfdd8313e80c':
  Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
2015-02-06 23:31:35 +00:00
Tao Bao
bc64d1d1fd Merge "Switch kernel header parsing to python libclang" 2015-02-06 23:25:29 +00:00
Colin Cross
0ef78e3840 am 44e88db1: Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs"
* commit '44e88db185cc65b49373dd76d8ed27264b7299ed':
  Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
2015-02-06 22:53:18 +00:00
Tao Bao
d7db594b8d Switch kernel header parsing to python libclang
Replace the tokenizer in cpp.py with libclang.

Bug: 18937958
Change-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d
2015-02-06 14:48:41 -08:00
Colin Cross
44e88db185 Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs" 2015-02-06 22:45:59 +00:00
Colin Cross
91b403cef6 Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
Change-Id: If61d6faae5d91c3bbe198e733e5922cd877ba353
2015-02-06 14:16:17 -08:00
Yabin Cui
29f9bcf2ee am b69e9f1f: am da73dac7: am bda85a12: Merge "Add path separator in bionic-unit-tests program path."
* commit 'b69e9f1fe1599c6e914586c5e3d16cedee94337a':
  Add path separator in bionic-unit-tests program path.
2015-02-05 22:14:34 +00:00
Yabin Cui
b69e9f1fe1 am da73dac7: am bda85a12: Merge "Add path separator in bionic-unit-tests program path."
* commit 'da73dac7acce09b76bd6d811c8be694e69acbd17':
  Add path separator in bionic-unit-tests program path.
2015-02-05 22:08:49 +00:00
Yabin Cui
da73dac7ac am bda85a12: Merge "Add path separator in bionic-unit-tests program path."
* commit 'bda85a12392b10555dc03ac377c8450b8f0790d6':
  Add path separator in bionic-unit-tests program path.
2015-02-05 22:01:41 +00:00
Yabin Cui
bda85a1239 Merge "Add path separator in bionic-unit-tests program path." 2015-02-05 21:55:19 +00:00
Elliott Hughes
726679ab3e am ec56d962: am 87c44930: am 9dfb00c1: Merge "Use the libcxxabi __cxa_demangle."
* commit 'ec56d962add687914fd98f04732840613b62df8c':
  Use the libcxxabi __cxa_demangle.
2015-02-05 20:39:12 +00:00
Elliott Hughes
6bef9bd7f0 am 4aa6d06d: am 1ec1bbda: am 9a9b6357: Merge "Apparently, logd does need the NULs."
* commit '4aa6d06d7b64493b3757abc584e3cc0437ebb948':
  Apparently, logd does need the NULs.
2015-02-05 20:39:12 +00:00
Elliott Hughes
ec56d962ad am 87c44930: am 9dfb00c1: Merge "Use the libcxxabi __cxa_demangle."
* commit '87c44930486af960de27996d94b742f19399b82b':
  Use the libcxxabi __cxa_demangle.
2015-02-05 20:31:07 +00:00
Elliott Hughes
4aa6d06d7b am 1ec1bbda: am 9a9b6357: Merge "Apparently, logd does need the NULs."
* commit '1ec1bbda7f254266653a0db470f6e5d699a0cad1':
  Apparently, logd does need the NULs.
2015-02-05 20:31:06 +00:00
Elliott Hughes
87c4493048 am 9dfb00c1: Merge "Use the libcxxabi __cxa_demangle."
* commit '9dfb00c1d48545a2627c2aded62d3a79749351fb':
  Use the libcxxabi __cxa_demangle.
2015-02-05 20:26:21 +00:00
Elliott Hughes
1ec1bbda7f am 9a9b6357: Merge "Apparently, logd does need the NULs."
* commit '9a9b635745dc776dcfeec51d68b85ca7e8cdbe7d':
  Apparently, logd does need the NULs.
2015-02-05 20:22:39 +00:00
Elliott Hughes
9dfb00c1d4 Merge "Use the libcxxabi __cxa_demangle." 2015-02-05 20:21:35 +00:00
Yabin Cui
a4cf89acd9 am 78c9743d: am ffcabed4: am 63826658: Merge "Add signal handling in bionic gtest main."
* commit '78c9743de62463244bffeedeee557533e8f377f1':
  Add signal handling in bionic gtest main.
2015-02-05 20:15:14 +00:00
Dimitry Ivanov
b76a613b93 am e4c93e88: am a1d3aa1f: am 8e5f9bc8: Merge "linker: Use load_bias to adjust search address in elf_addr_lookup"
* commit 'e4c93e889475e4702092d2bebc1459b1f9a637d7':
  linker: Use load_bias to adjust search address in elf_addr_lookup
2015-02-05 20:15:13 +00:00
Colin Cross
d6e87b1903 am 08f6d7c9: am 427d438d: am da2c0a70: Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680
* commit '08f6d7c9eb5fbd921b44ab6a6c63b4eb9fa3ac95':
  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
  Fix typo in cpu variant makefile depenendency for arm64
  Remove libc_static_common_src_files
  Share LP32 makefile settings between arches
2015-02-05 20:15:12 +00:00
Yabin Cui
f23174dab2 am c249e7d6: am e760a1eb: am 17976019: Merge "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test."
* commit 'c249e7d6c9f9bfa8e9499eacbd0630bf3bff9ec4':
  Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.
2015-02-05 20:15:11 +00:00
Elliott Hughes
9a9b635745 Merge "Apparently, logd does need the NULs." 2015-02-05 20:05:46 +00:00
Elliott Hughes
6e54c3e519 Use the libcxxabi __cxa_demangle.
Bug: 18930951
Change-Id: If2ea3633ac6dfd4ec975c0f16bdf3dd58e05c614
2015-02-05 12:05:34 -08:00
Elliott Hughes
aba6f712d4 Apparently, logd does need the NULs.
Change-Id: I04b834e65c26c5821b952f78a0de7f92527cbdba
2015-02-05 12:02:04 -08:00
Yabin Cui
78c9743de6 am ffcabed4: am 63826658: Merge "Add signal handling in bionic gtest main."
* commit 'ffcabed4bf8555e721c215a5140e2c8120add8af':
  Add signal handling in bionic gtest main.
2015-02-05 18:47:26 +00:00
Dimitry Ivanov
e4c93e8894 am a1d3aa1f: am 8e5f9bc8: Merge "linker: Use load_bias to adjust search address in elf_addr_lookup"
* commit 'a1d3aa1f9579eaf579f579b43f836635fc9a5674':
  linker: Use load_bias to adjust search address in elf_addr_lookup
2015-02-05 18:47:07 +00:00
Colin Cross
08f6d7c9eb am 427d438d: am da2c0a70: Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680
* commit '427d438dd44bb79dad87d51ad60593872391e7a7':
  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
  Fix typo in cpu variant makefile depenendency for arm64
  Remove libc_static_common_src_files
  Share LP32 makefile settings between arches
2015-02-05 18:47:07 +00:00
Yabin Cui
c249e7d6c9 am e760a1eb: am 17976019: Merge "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test."
* commit 'e760a1eb30804df478640b2176fc798ab6e7db9b':
  Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.
2015-02-05 18:47:06 +00:00
Yabin Cui
ead08148bd Add path separator in bionic-unit-tests program path.
Bug: 19220800
Change-Id: I4245b1270363544cd5f083fe7ea7d9b11b46cdc0
2015-02-05 10:39:37 -08:00
Yabin Cui
ffcabed4bf am 63826658: Merge "Add signal handling in bionic gtest main."
* commit '63826658f4bcfff4f3a87fe651f22cc9b35fe8b9':
  Add signal handling in bionic gtest main.
2015-02-05 04:24:43 +00:00
Yabin Cui
63826658f4 Merge "Add signal handling in bionic gtest main." 2015-02-05 04:21:03 +00:00
Yabin Cui
1d4c780a2e Add signal handling in bionic gtest main.
The two bugs are very closely related and code amount is very small,
So I think they may be fixed in one change.

Bug: 19128558
Bug: 19129994
Change-Id: I44a35398e64dfca7e9676428cb8f4026e8f6e488
2015-02-04 19:06:07 -08:00
Dimitry Ivanov
a1d3aa1f95 am 8e5f9bc8: Merge "linker: Use load_bias to adjust search address in elf_addr_lookup"
* commit '8e5f9bc8a46872e3f0ac4799558fdfd5999f9c20':
  linker: Use load_bias to adjust search address in elf_addr_lookup
2015-02-05 02:30:48 +00:00
Colin Cross
427d438dd4 am da2c0a70: Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680
* commit 'da2c0a708ed6c0091f3f89fd8838292579dad800':
  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
  Fix typo in cpu variant makefile depenendency for arm64
  Remove libc_static_common_src_files
  Share LP32 makefile settings between arches
2015-02-05 02:30:47 +00:00
Yabin Cui
e760a1eb30 am 17976019: Merge "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test."
* commit '17976019a13a94ae428849bfe297f8e531f95013':
  Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.
2015-02-05 02:30:46 +00:00
Dimitry Ivanov
8e5f9bc8a4 Merge "linker: Use load_bias to adjust search address in elf_addr_lookup" 2015-02-05 02:23:34 +00:00
Colin Cross
da2c0a708e Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680
* changes:
  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
  Fix typo in cpu variant makefile depenendency for arm64
  Remove libc_static_common_src_files
  Share LP32 makefile settings between arches
2015-02-05 01:57:28 +00:00
Colin Cross
5b869c0bbf Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
LOCAL_LDFLAGS_<arch> was being set for arm64, mips64, and x86_64.
Use LOCAL_LDFLAGS_64 instead.

Change-Id: Ib87855e8a7783f82461b707fffa7f1663e6be9c8
2015-02-04 17:40:29 -08:00
Colin Cross
a6b6ed5fe9 Fix typo in cpu variant makefile depenendency for arm64
cpu_variank_mk -> cpu_variant_mk

Change-Id: I4b46ae20de72ed2dc8820d62ac35ddc6b915a195
2015-02-04 17:38:27 -08:00
Colin Cross
7dc502d012 Remove libc_static_common_src_files
libc_static_common_src_files is never set after
c3f114037d, remove the remaining
references to it.

Change-Id: I66364a5c1b031ad69d608f6f44244049192944f6
2015-02-04 17:37:23 -08:00
Colin Cross
1742a32aea Share LP32 makefile settings between arches
Add <var>_32 to patch-up-arch-specific-flags, and move the LP32
cruft varaibles from the 32-bit arch specific makefiles into the
top level Android.mk.

Change-Id: Id3fcf6805d4af048c2524c94b1295416ebe7d057
2015-02-04 17:35:49 -08:00
Chris Dearman
8e55381939 linker: Use load_bias to adjust search address in elf_addr_lookup
load_bias is the delta between a symbols address in memory and the value
contained in the symbol table.

Change-Id: I35c87b69025b64f7e4a1418ca766618f4533fb3e
2015-02-04 17:16:27 -08:00
Yabin Cui
17976019a1 Merge "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test." 2015-02-05 01:14:32 +00:00
Yabin Cui
5e52226f02 Stop including <linux/param.h> in <sys/param.h>.
Bug: 19092844
Change-Id: I1a4a0c84a196a187ea32e58491de744cf3c0f404
2015-02-04 14:59:58 -08:00
Yabin Cui
f4fe6937aa Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.
Bug: 19220800
Change-Id: Ie75c640183c4a41a499556fefb4f824a134a5fb1
2015-02-04 12:27:06 -08:00
Neil Fuller
1ed2acad2d am 0abb17dd: am 6d632af3: am 2151f09f: Merge "Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data."
* commit '0abb17dd29cddb62c79e7770fddff203800846ff':
  Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data.
2015-02-04 18:59:01 +00:00
Yabin Cui
773c2e21b4 am 5ace71de: am dcf371f5: am 7e1b3d3e: Merge "Switch sem_t from bionic atomics to stdatomic.h."
* commit '5ace71de3f6280f086ac4a1b9bb403b88472953a':
  Switch sem_t from bionic atomics to stdatomic.h.
2015-02-04 18:56:59 +00:00
Neil Fuller
0abb17dd29 am 6d632af3: am 2151f09f: Merge "Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data."
* commit '6d632af3b04e505a88aa0b73f95a873dcbd472f7':
  Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data.
2015-02-04 16:45:04 +00:00
Neil Fuller
6d632af3b0 am 2151f09f: Merge "Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data."
* commit '2151f09fbfc2f6084366587df10132e93f4d818c':
  Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data.
2015-02-04 16:39:06 +00:00
Neil Fuller
2151f09fbf Merge "Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data." 2015-02-04 16:33:01 +00:00
Fredrik Roubert
bdd8452472 Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data.
This is now necessary to build .dat files that are useable for ICU4J as
well, and will need to be used for any future updates of the .dat file:

https://android.googlesource.com/platform/external/icu/+/6b52738

Change-Id: Ifa3a7469a66ab932db20876697e45814f0c5ddc3
2015-02-04 17:17:34 +01:00
Yabin Cui
5ace71de3f am dcf371f5: am 7e1b3d3e: Merge "Switch sem_t from bionic atomics to stdatomic.h."
* commit 'dcf371f5e7142e548b8f422bf45db14d15d86b62':
  Switch sem_t from bionic atomics to stdatomic.h.
2015-02-04 02:49:41 +00:00
Yabin Cui
dcf371f5e7 am 7e1b3d3e: Merge "Switch sem_t from bionic atomics to stdatomic.h."
* commit '7e1b3d3e68f7430322a88be06f6b53c358fd14bf':
  Switch sem_t from bionic atomics to stdatomic.h.
2015-02-04 02:45:44 +00:00
Yabin Cui
7e1b3d3e68 Merge "Switch sem_t from bionic atomics to stdatomic.h." 2015-02-04 02:42:16 +00:00
Yabin Cui
a3d97da4c5 Switch sem_t from bionic atomics to stdatomic.h.
Bug: 17572887
Change-Id: If66851ba9b831cdd698b9f1303289bb14448bd03
2015-02-03 16:35:57 -08:00
Yabin Cui
ae46973d25 am 70ad54d8: am 2d988187: am 11829be3: Merge "Add test about pthread_mutex_t owner tid limit."
* commit '70ad54d8c0cdcffa476e671554afcfb5fd385090':
  Add test about pthread_mutex_t owner tid limit.
2015-02-03 22:56:43 +00:00
Yabin Cui
70ad54d8c0 am 2d988187: am 11829be3: Merge "Add test about pthread_mutex_t owner tid limit."
* commit '2d988187712f52773b89421d139b266c8b58f769':
  Add test about pthread_mutex_t owner tid limit.
2015-02-03 22:40:46 +00:00
Yabin Cui
2d98818771 am 11829be3: Merge "Add test about pthread_mutex_t owner tid limit."
* commit '11829be3e1a9e9e2271ba64a78c327bde6e044eb':
  Add test about pthread_mutex_t owner tid limit.
2015-02-03 22:34:58 +00:00
Yabin Cui
11829be3e1 Merge "Add test about pthread_mutex_t owner tid limit." 2015-02-03 22:28:56 +00:00
Nick Kralevich
98d37866e2 am 3ce62609: am 72c3071d: am f00f484c: Merge "Ensure raw fchmod/fchmodat syscalls are hidden."
* commit '3ce62609f2693f167e1771f66cee0ed986f7aabb':
  Ensure raw fchmod/fchmodat syscalls are hidden.
2015-02-03 20:39:28 +00:00
Nick Kralevich
3ce62609f2 am 72c3071d: am f00f484c: Merge "Ensure raw fchmod/fchmodat syscalls are hidden."
* commit '72c3071d548ee3bf3711abf13dce25042ccc3cea':
  Ensure raw fchmod/fchmodat syscalls are hidden.
2015-02-03 20:32:59 +00:00
Nick Kralevich
72c3071d54 am f00f484c: Merge "Ensure raw fchmod/fchmodat syscalls are hidden."
* commit 'f00f484cb59c1d599242daecbf833397aa3ba5d8':
  Ensure raw fchmod/fchmodat syscalls are hidden.
2015-02-03 20:24:53 +00:00
Yabin Cui
140f3678f0 Add test about pthread_mutex_t owner tid limit.
Bug: 19216648
Change-Id: I7b12955bdcad31c13bf8ec2740ff88ba15223ec0
2015-02-03 12:20:46 -08:00
Nick Kralevich
f00f484cb5 Merge "Ensure raw fchmod/fchmodat syscalls are hidden." 2015-02-03 20:17:33 +00:00
Nick Kralevich
00490ae3f3 Ensure raw fchmod/fchmodat syscalls are hidden.
In https://android-review.googlesource.com/#/c/127908/5/libc/SYSCALLS.TXT@116
Elliott said:

  for LP64 these will be hidden. for LP32 we were cowards and left
  them all public for compatibility (though i don't think we ever
  dremeled to see whether it was needed). we don't have an easy
  way to recognize additions, though, so we can't prevent adding
  new turds.

Add a mechanism to prevent the adding of new turds, and use that
mechanism on the fchmod/fchmodat system calls.

Bug: 19233951
Change-Id: I98f98345970b631a379f348df57858f9fc3d57c0
2015-02-03 12:10:30 -08:00
Neil Fuller
4937f42f14 am f0e556a2: am 4177bd8d: Fixes to the update-tzdata.py tool
* commit 'f0e556a2f96843b08dfdffc013a34730a0104eca':
  Fixes to the update-tzdata.py tool
2015-02-03 15:05:45 +00:00
Neil Fuller
249f8159f6 am d3ef8fbd: am 700eb048: Update tzdata to tzdata2015a
* commit 'd3ef8fbdf746588e5c4a1ef2961f25ceabec8e42':
  Update tzdata to tzdata2015a
2015-02-03 15:05:44 +00:00
Neil Fuller
f0e556a2f9 am 4177bd8d: Fixes to the update-tzdata.py tool
* commit '4177bd8d16e0dc2d0d541fc54f81518c57651e55':
  Fixes to the update-tzdata.py tool
2015-02-03 15:00:20 +00:00
Neil Fuller
d3ef8fbdf7 am 700eb048: Update tzdata to tzdata2015a
* commit '700eb048fb6df8805245097d73a87384108fdf67':
  Update tzdata to tzdata2015a
2015-02-03 15:00:18 +00:00
Hans Boehm
1a3a354993 am da3a4490: am 0cddad0f: am d57bf449: Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>."
* commit 'da3a449043036e29f9295eb71d85a9d2f3e9b204':
  Switch pthread_mutex_t from bionic atomics to <stdatomic.h>.
2015-02-03 03:00:28 +00:00
Hans Boehm
da3a449043 am 0cddad0f: am d57bf449: Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>."
* commit '0cddad0fd17274575abe2e25484c909def51d7e3':
  Switch pthread_mutex_t from bionic atomics to <stdatomic.h>.
2015-02-03 02:53:31 +00:00
Hans Boehm
0cddad0fd1 am d57bf449: Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>."
* commit 'd57bf449fe6c2dcf35d90d6e4098038ac8a24ecb':
  Switch pthread_mutex_t from bionic atomics to <stdatomic.h>.
2015-02-03 02:48:20 +00:00
Hans Boehm
d57bf449fe Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>." 2015-02-03 02:42:53 +00:00
Elliott Hughes
2d082af4c6 am ea31751e: am aa916c8d: am c5999c1e: Merge "Clean up SEEK_SET definitions."
* commit 'ea31751e4b61adeaad1cf186b1774df4591012e2':
  Clean up SEEK_SET definitions.
2015-02-03 02:00:45 +00:00
Elliott Hughes
ea31751e4b am aa916c8d: am c5999c1e: Merge "Clean up SEEK_SET definitions."
* commit 'aa916c8db85b01389b929f060f232b3e06448e79':
  Clean up SEEK_SET definitions.
2015-02-03 01:31:08 +00:00
Elliott Hughes
aa916c8db8 am c5999c1e: Merge "Clean up SEEK_SET definitions."
* commit 'c5999c1e0382c40286cc631c6a53e7781bc03154':
  Clean up SEEK_SET definitions.
2015-02-03 01:25:23 +00:00
Elliott Hughes
c5999c1e03 Merge "Clean up SEEK_SET definitions." 2015-02-03 01:21:17 +00:00
Yabin Cui
86fc96f733 Switch pthread_mutex_t from bionic atomics to <stdatomic.h>.
Bug: 17574456
Change-Id: I5ce3d3dc07e804e9ce55c42920f47531b56e04de
2015-02-02 15:00:01 -08:00
Nick Kralevich
62b98b3ce6 am 4c8a50ba: am 0cb8abc6: am d80ec661: Merge "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support"
* commit '4c8a50ba5d966981f8d88e61e0975cd8532b9db5':
  Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support
2015-02-02 22:17:41 +00:00
Nick Kralevich
4c8a50ba5d am 0cb8abc6: am d80ec661: Merge "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support"
* commit '0cb8abc6207d7484ecbc9698064c1f24b9b668d5':
  Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support
2015-02-02 22:10:53 +00:00
Nick Kralevich
0cb8abc620 am d80ec661: Merge "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support"
* commit 'd80ec66121b5af96c6b3d07ba34353b3d517f5b3':
  Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support
2015-02-02 22:07:35 +00:00
Nick Kralevich
d80ec66121 Merge "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support" 2015-02-02 22:03:41 +00:00
Elliott Hughes
1ed337dbdf Clean up SEEK_SET definitions.
If we lose the #ifndef, the compiler will tell us if the definitions
of SEEK_SET and friends ever get out of sync.

Change-Id: I357cabec7c9cd451c604342344f210bba20fb6bc
2015-02-02 14:02:09 -08:00
Nick Kralevich
3cbc6c627f Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support
Many libc functions have an option to not follow symbolic
links. This is useful to avoid security sensitive code
from inadvertantly following attacker supplied symlinks
and taking inappropriate action on files it shouldn't.
For example, open() has O_NOFOLLOW, chown() has
lchown(), stat() has lstat(), etc.

There is no such equivalent function for chmod(), such as lchmod().
To address this, POSIX introduced fchmodat(AT_SYMLINK_NOFOLLOW),
which is intended to provide a way to perform a chmod operation
which doesn't follow symlinks.

Currently, the Linux kernel doesn't implement AT_SYMLINK_NOFOLLOW.
In GLIBC, attempting to use the AT_SYMLINK_NOFOLLOW flag causes
fchmodat to return ENOTSUP. Details are in "man fchmodat".

Bionic currently differs from GLIBC in that AT_SYMLINK_NOFOLLOW
is silently ignored and treated as if the flag wasn't present.

This patch provides a userspace implementation of
AT_SYMLINK_NOFOLLOW for bionic. Using open(O_PATH | O_NOFOLLOW),
we can provide a way to atomically change the permissions on
files without worrying about race conditions.

As part of this change, we add support for fchmod on O_PATH
file descriptors, because it's relatively straight forward
and could be useful in the future.

The basic idea behind this implementation comes from
https://sourceware.org/bugzilla/show_bug.cgi?id=14578 , specifically
comment #10.

Change-Id: I1eba0cdb2c509d9193ceecf28f13118188a3cfa7
2015-02-02 13:17:17 -08:00
Elliott Hughes
f4911f19aa am 671b7eb2: am 815fc9bc: am c57b5c50: Merge "Small logging cleanup."
* commit '671b7eb288df3816b108871b5349c79f86d23be8':
  Small logging cleanup.
2015-02-02 21:14:14 +00:00
Elliott Hughes
671b7eb288 am 815fc9bc: am c57b5c50: Merge "Small logging cleanup."
* commit '815fc9bc9ecf96dd478c0800fdb9c4e9200320be':
  Small logging cleanup.
2015-02-02 20:54:27 +00:00
Elliott Hughes
815fc9bc9e am c57b5c50: Merge "Small logging cleanup."
* commit 'c57b5c5094f915ff975a256e086d58e2e7cfedf1':
  Small logging cleanup.
2015-02-02 20:46:39 +00:00
Elliott Hughes
c57b5c5094 Merge "Small logging cleanup." 2015-02-02 20:36:29 +00:00
Elliott Hughes
42084a2653 Small logging cleanup.
Don't send the trailing NUL bytes to the logger, call strlen if we already
know the length, or cast more specifically than we need to.

Change-Id: I68c9388a22bddea49120a1022dda8db8991360c1
2015-02-02 12:24:46 -08:00
Elliott Hughes
e2ce66764c am c8820e61: am 6c1252de: am 530aaecc: Merge "Explicitly check that the reason fortify tests abort is fortify."
* commit 'c8820e61d1b6eafb7aad2095c6a1c742cf31ee15':
  Explicitly check that the reason fortify tests abort is fortify.
2015-02-02 19:55:05 +00:00
Elliott Hughes
c8820e61d1 am 6c1252de: am 530aaecc: Merge "Explicitly check that the reason fortify tests abort is fortify."
* commit '6c1252decba273087411cd9e480d0422eabec6ef':
  Explicitly check that the reason fortify tests abort is fortify.
2015-02-02 19:40:41 +00:00
Elliott Hughes
6c1252decb am 530aaecc: Merge "Explicitly check that the reason fortify tests abort is fortify."
* commit '530aaeccd875f708918f59cd5ff8b076c156adab':
  Explicitly check that the reason fortify tests abort is fortify.
2015-02-02 19:32:44 +00:00
Elliott Hughes
af3ded9c8e am 2e02769a: am 5f7819d6: am 7f0f30c6: Merge "Fix clang build."
* commit '2e02769aa145b6ca1890174b96be9bcd5cf33bc6':
  Fix clang build.
2015-02-02 19:31:01 +00:00
Elliott Hughes
530aaeccd8 Merge "Explicitly check that the reason fortify tests abort is fortify." 2015-02-02 19:25:58 +00:00
Elliott Hughes
d036e94bb3 Explicitly check that the reason fortify tests abort is fortify.
Change-Id: I95291e2febf7b497c1d9f37fd7fa9acdd21e86a4
2015-02-02 11:18:58 -08:00
Elliott Hughes
2e02769aa1 am 5f7819d6: am 7f0f30c6: Merge "Fix clang build."
* commit '5f7819d6f1b2cb706d818e3083d45337e35d386b':
  Fix clang build.
2015-02-02 18:50:43 +00:00
Elliott Hughes
5f7819d6f1 am 7f0f30c6: Merge "Fix clang build."
* commit '7f0f30c6e20c1bf04bec05077eef2d779e7a32df':
  Fix clang build.
2015-02-02 18:36:22 +00:00
Elliott Hughes
7f0f30c6e2 Merge "Fix clang build." 2015-02-02 18:23:28 +00:00
Elliott Hughes
30fbf5f44c Fix clang build.
Change-Id: I863137b5d35602267b4ef3a74399cf394c9994d6
2015-02-02 10:21:39 -08:00
Neil Fuller
677aea1bda am 575bceb2: am 0a302e01: am d514d9bb: Merge "Fixes to the update-tzdata.py tool"
* commit '575bceb28190006eccfccb663100f0efb59838af':
  Fixes to the update-tzdata.py tool
2015-02-02 18:10:11 +00:00
Elliott Hughes
4b48f637f4 am 5372b83e: am 20f2e4f7: am 5940f98a: Merge "Fortify poll and ppoll."
* commit '5372b83eab9d9e5bd6bec18a832858c9dd18c432':
  Fortify poll and ppoll.
2015-02-02 18:10:10 +00:00
Neil Fuller
575bceb281 am 0a302e01: am d514d9bb: Merge "Fixes to the update-tzdata.py tool"
* commit '0a302e0174da4432da4a6ad5ce126dc27e4a86de':
  Fixes to the update-tzdata.py tool
2015-02-02 18:03:11 +00:00
Elliott Hughes
5372b83eab am 20f2e4f7: am 5940f98a: Merge "Fortify poll and ppoll."
* commit '20f2e4f7ad9d9f816be13f6509e602d4344a018d':
  Fortify poll and ppoll.
2015-02-02 18:03:10 +00:00
Neil Fuller
0a302e0174 am d514d9bb: Merge "Fixes to the update-tzdata.py tool"
* commit 'd514d9bbae354da72fcb43349f0157378e52004d':
  Fixes to the update-tzdata.py tool
2015-02-02 17:57:22 +00:00
Elliott Hughes
20f2e4f7ad am 5940f98a: Merge "Fortify poll and ppoll."
* commit '5940f98a35d64f9ca249536bb8cdcdbfe43e9bc3':
  Fortify poll and ppoll.
2015-02-02 17:57:21 +00:00
Neil Fuller
d514d9bbae Merge "Fixes to the update-tzdata.py tool" 2015-02-02 17:52:48 +00:00
Elliott Hughes
5940f98a35 Merge "Fortify poll and ppoll." 2015-02-02 17:51:50 +00:00
Neil Fuller
0662c3e5b3 Fixes to the update-tzdata.py tool
We build one too many times. Creating a missing directory
is sufficient.

The tz2icu needs some files in the CWD. Added symlinks.

Bug: 19230091
Change-Id: I58f9817af68b229f48139e56503f50a2b6dbb4fe
2015-02-02 17:42:41 +00:00
Elliott Hughes
4674e3899a Fortify poll and ppoll.
And remove the test for FD_ZERO fortification, which never made much
sense anyway.

Change-Id: Id1009c5298d461fa4722189e8ecaf22f0c529536
2015-02-02 09:15:19 -08:00
Elliott Hughes
e0277717f8 am a5d743a6: am 9843afd6: am ffbda83b: Merge "Add the fortify tests back into the glibc tests."
* commit 'a5d743a6bf44b4fdb7c9de469a75f825a1ffb6c2':
  Add the fortify tests back into the glibc tests.
2015-02-02 06:40:36 +00:00
Elliott Hughes
a5d743a6bf am 9843afd6: am ffbda83b: Merge "Add the fortify tests back into the glibc tests."
* commit '9843afd62982516974fdc3c4481d36007527825a':
  Add the fortify tests back into the glibc tests.
2015-02-02 06:07:15 +00:00
Elliott Hughes
9843afd629 am ffbda83b: Merge "Add the fortify tests back into the glibc tests."
* commit 'ffbda83b302e3c3970135013d2bb92402e040fe5':
  Add the fortify tests back into the glibc tests.
2015-02-02 06:01:10 +00:00
Elliott Hughes
ffbda83b30 Merge "Add the fortify tests back into the glibc tests." 2015-02-02 05:56:27 +00:00
Elliott Hughes
b6e3e800d2 Add the fortify tests back into the glibc tests.
Change-Id: I4426d0c7c1bfe3b0028a674f72d1c3b9d883d6af
2015-01-31 21:32:10 -08:00
Elliott Hughes
c5152a5217 am 9b96dd6b: am d2d63740: am 21cdd22f: Merge "Include <malloc.h> for struct mallinfo."
* commit '9b96dd6b173a8d5752ddfd1e9179b141aca0c58c':
  Include <malloc.h> for struct mallinfo.
2015-01-31 08:34:02 +00:00
Elliott Hughes
74c5abbd5d am a26423f2: am fd10c019: am 09c33824: Merge "Break two incorrect transitive includes."
* commit 'a26423f22c3d92d7944e7e1706d3a347db78baf3':
  Break two incorrect transitive includes.
2015-01-31 08:34:01 +00:00
Elliott Hughes
9b96dd6b17 am d2d63740: am 21cdd22f: Merge "Include <malloc.h> for struct mallinfo."
* commit 'd2d63740b78459a414e293efdb16e7a9ac089d5c':
  Include <malloc.h> for struct mallinfo.
2015-01-31 07:49:25 +00:00
Elliott Hughes
a26423f22c am fd10c019: am 09c33824: Merge "Break two incorrect transitive includes."
* commit 'fd10c019fab50c06f391b6a765b0904ce477d3b7':
  Break two incorrect transitive includes.
2015-01-31 07:49:24 +00:00
Elliott Hughes
d2d63740b7 am 21cdd22f: Merge "Include <malloc.h> for struct mallinfo."
* commit '21cdd22f035efd50902b7780fc6ea53bd1684357':
  Include <malloc.h> for struct mallinfo.
2015-01-31 06:21:34 +00:00
Elliott Hughes
fd10c019fa am 09c33824: Merge "Break two incorrect transitive includes."
* commit '09c3382433ae94ada45780312a2a9fd082ad1478':
  Break two incorrect transitive includes.
2015-01-31 06:21:33 +00:00
Elliott Hughes
21cdd22f03 Merge "Include <malloc.h> for struct mallinfo." 2015-01-31 04:37:11 +00:00
Elliott Hughes
cb0e70389e Include <malloc.h> for struct mallinfo.
GCC doesn't seem to care, but clang does.

Change-Id: I9884820339a9e6f142862928c357f1a538184ae0
2015-01-30 20:33:31 -08:00
Elliott Hughes
09c3382433 Merge "Break two incorrect transitive includes." 2015-01-31 04:18:10 +00:00
Dan Albert
2fde9c03db am 3c68e194: am 18dd2f3b: am 94335cc8: Merge "Put back inline definitions if using an old API."
* commit '3c68e1946ae61fc0bbd18c718d9be441f4d3c350':
  Put back inline definitions if using an old API.
2015-01-30 21:28:05 +00:00
Elliott Hughes
c7a528a19a am 0772f933: am 6cf2cf8b: am 542b94d9: Merge "Remove unused CONFIG_SECONDS."
* commit '0772f933a4e5e7659c7dbc37d784a5f25a2ce94b':
  Remove unused CONFIG_SECONDS.
2015-01-30 21:28:04 +00:00
Dan Albert
3c68e1946a am 18dd2f3b: am 94335cc8: Merge "Put back inline definitions if using an old API."
* commit '18dd2f3b918af8233dc63ad6efa780a26c8ae79c':
  Put back inline definitions if using an old API.
2015-01-30 21:16:35 +00:00
Elliott Hughes
0772f933a4 am 6cf2cf8b: am 542b94d9: Merge "Remove unused CONFIG_SECONDS."
* commit '6cf2cf8bf26b99b7318791c75cbccfd95893b04e':
  Remove unused CONFIG_SECONDS.
2015-01-30 21:16:34 +00:00
Dan Albert
18dd2f3b91 am 94335cc8: Merge "Put back inline definitions if using an old API."
* commit '94335cc8e2f32638d9e38741ddabfd19a38e0840':
  Put back inline definitions if using an old API.
2015-01-30 19:44:02 +00:00
Elliott Hughes
6cf2cf8bf2 am 542b94d9: Merge "Remove unused CONFIG_SECONDS."
* commit '542b94d9bf7eb3838b0582c02d7a1bf2e270af5a':
  Remove unused CONFIG_SECONDS.
2015-01-30 19:44:01 +00:00
Dan Albert
94335cc8e2 Merge "Put back inline definitions if using an old API." 2015-01-30 17:18:49 +00:00
Elliott Hughes
542b94d9bf Merge "Remove unused CONFIG_SECONDS." 2015-01-30 06:21:55 +00:00
Elliott Hughes
4dcfccff8d Remove unused CONFIG_SECONDS.
Bug: https://code.google.com/p/android/issues/detail?id=65951
Change-Id: I8ae7057c68e16618de6dd06cf052426c6cad8a3d
2015-01-29 21:47:37 -08:00
Elliott Hughes
5038b19cef Break two incorrect transitive includes.
Change-Id: I95519caa5258cf5c6b8053f1c7e08ade2a824e49
2015-01-29 20:12:13 -08:00
Dan Albert
466dbe4444 Put back inline definitions if using an old API.
All these inlines were turned in to out of line definitions in L.
This brings us a step closer to being able to just use the current
bionic headers for the NDK, rather than having many old versions of
them.

Change-Id: Ie010bc727d78d3742abc577c70f6578db2e68625
2015-01-29 17:30:40 -08:00
Dan Albert
82292221a0 am 36aad393: am c9af0e9a: am cd1959b0: Merge "Add primitive CPPLINT.cfg."
* commit '36aad393dba7ac1870e36e6e75a71154cd6a8213':
  Add primitive CPPLINT.cfg.
2015-01-29 22:26:14 +00:00
Dan Albert
36aad393db am c9af0e9a: am cd1959b0: Merge "Add primitive CPPLINT.cfg."
* commit 'c9af0e9a2d215b60a128643b6bdddd671e33864b':
  Add primitive CPPLINT.cfg.
2015-01-29 22:06:28 +00:00
Dan Albert
c9af0e9a2d am cd1959b0: Merge "Add primitive CPPLINT.cfg."
* commit 'cd1959b0c506cfa9e89ac7deb56bdb6461b28c3a':
  Add primitive CPPLINT.cfg.
2015-01-29 21:59:51 +00:00
Dan Albert
cd1959b0c5 Merge "Add primitive CPPLINT.cfg." 2015-01-29 21:54:55 +00:00
Yabin Cui
436d4e9566 am f63ae055: am 508d5579: am 782aa39f: Merge "Rewrite __cxa_guard.cpp with <stdatomic.h>."
* commit 'f63ae0553e16171e49d34616d42fc525fadf58a0':
  Rewrite __cxa_guard.cpp with <stdatomic.h>.
2015-01-29 20:57:43 +00:00
Yabin Cui
f63ae0553e am 508d5579: am 782aa39f: Merge "Rewrite __cxa_guard.cpp with <stdatomic.h>."
* commit '508d5579cd0d3723662755ab418ac3085e9f30cd':
  Rewrite __cxa_guard.cpp with <stdatomic.h>.
2015-01-29 20:35:44 +00:00
Yabin Cui
508d5579cd am 782aa39f: Merge "Rewrite __cxa_guard.cpp with <stdatomic.h>."
* commit '782aa39f704e3d597c0ec869ec1b9701bc90a5c9':
  Rewrite __cxa_guard.cpp with <stdatomic.h>.
2015-01-29 20:29:23 +00:00
Yabin Cui
782aa39f70 Merge "Rewrite __cxa_guard.cpp with <stdatomic.h>." 2015-01-29 20:22:25 +00:00
Dan Albert
6ac4dd8ba9 Add primitive CPPLINT.cfg.
We'll add more things to this as we discover other warnings we don't
care about.

Change-Id: I408f688827cab0f74e055d8f1778069163663f0b
2015-01-29 11:41:59 -08:00
Yabin Cui
6a3ff01cd4 Rewrite __cxa_guard.cpp with <stdatomic.h>.
Bug: 19180923
Change-Id: If4912d01db43c72ef12f4b04270ddb5d76d09462
2015-01-29 11:19:15 -08:00
Elliott Hughes
f807e20934 am dbfcf000: am e40b4eb3: am 7f17aea2: Merge "Add missing includes."
* commit 'dbfcf000c077ba97d22d957647eabb3b45d015cf':
  Add missing includes.
2015-01-29 17:22:39 +00:00
Yabin Cui
c4798e81b2 am 5d7fb6f0: am 38dfc222: am 017da8bc: Merge "Add --gtest-filter as synonym for --gtest_filter in bionic gtest main."
* commit '5d7fb6f054de7525b737f6c755b81e9244c581b9':
  Add --gtest-filter as synonym for --gtest_filter in bionic gtest main.
2015-01-29 17:22:22 +00:00
Christopher Ferris
e6399d68d3 am 1d72a38d: am 2633dfa5: am 43606bc1: Merge "Only one crashing thread should contact debuggerd."
* commit '1d72a38dbb40b0096cf205fcdf0e3c2eca28f7f5':
  Only one crashing thread should contact debuggerd.
2015-01-29 17:22:08 +00:00
Elliott Hughes
f1fa1002fd am 4f2e2a9d: am 8661b092: am a9c3d056: Merge "Modify MIPS64 stat structure to match a generic one in AOSP."
* commit '4f2e2a9d703f1999bb638aebae5800906c94beed':
  Modify MIPS64 stat structure to match a generic one in AOSP.
2015-01-29 17:22:02 +00:00
Elliott Hughes
dbfcf000c0 am e40b4eb3: am 7f17aea2: Merge "Add missing includes."
* commit 'e40b4eb35a6f8ae5c286f53abb920b452b7b6792':
  Add missing includes.
2015-01-29 03:33:42 +00:00
Elliott Hughes
e40b4eb35a am 7f17aea2: Merge "Add missing includes."
* commit '7f17aea2fc21aaf657824a023a4b7582fb74a2d9':
  Add missing includes.
2015-01-29 03:27:56 +00:00
Elliott Hughes
7f17aea2fc Merge "Add missing includes." 2015-01-29 03:23:35 +00:00
Elliott Hughes
05fc1d7050 Add missing includes.
Change-Id: Ibf549266a19a67eb9158d341a69dddfb654be669
2015-01-28 19:23:11 -08:00
Yabin Cui
5d7fb6f054 am 38dfc222: am 017da8bc: Merge "Add --gtest-filter as synonym for --gtest_filter in bionic gtest main."
* commit '38dfc222adb557b95e3fe7d606d3532de56c998a':
  Add --gtest-filter as synonym for --gtest_filter in bionic gtest main.
2015-01-29 02:40:24 +00:00
Yabin Cui
38dfc222ad am 017da8bc: Merge "Add --gtest-filter as synonym for --gtest_filter in bionic gtest main."
* commit '017da8bc58ba07be92dd371020e9dc3fe26f481b':
  Add --gtest-filter as synonym for --gtest_filter in bionic gtest main.
2015-01-29 02:33:59 +00:00
Yabin Cui
017da8bc58 Merge "Add --gtest-filter as synonym for --gtest_filter in bionic gtest main." 2015-01-29 02:30:25 +00:00
Christopher Ferris
1d72a38dbb am 2633dfa5: am 43606bc1: Merge "Only one crashing thread should contact debuggerd."
* commit '2633dfa5f6f453dc56b1a08917dd6f51b619681c':
  Only one crashing thread should contact debuggerd.
2015-01-29 02:01:05 +00:00
Christopher Ferris
2633dfa5f6 am 43606bc1: Merge "Only one crashing thread should contact debuggerd."
* commit '43606bc1ce974e4ba42d7d2c3682ad5182e6fc96':
  Only one crashing thread should contact debuggerd.
2015-01-29 01:53:49 +00:00
Christopher Ferris
43606bc1ce Merge "Only one crashing thread should contact debuggerd." 2015-01-29 01:49:21 +00:00
Elliott Hughes
4f2e2a9d70 am 8661b092: am a9c3d056: Merge "Modify MIPS64 stat structure to match a generic one in AOSP."
* commit '8661b092fe24c6b56426e07c6f02f5d83daae172':
  Modify MIPS64 stat structure to match a generic one in AOSP.
2015-01-29 01:42:06 +00:00
Elliott Hughes
8661b092fe am a9c3d056: Merge "Modify MIPS64 stat structure to match a generic one in AOSP."
* commit 'a9c3d0569f3b9511af445457cd455a7bb967b60e':
  Modify MIPS64 stat structure to match a generic one in AOSP.
2015-01-29 01:35:38 +00:00
Elliott Hughes
a9c3d0569f Merge "Modify MIPS64 stat structure to match a generic one in AOSP." 2015-01-29 01:31:59 +00:00
Christopher Ferris
8ea53fa87e Only one crashing thread should contact debuggerd.
If two or more threads crash at the same time, only let one talk to
debuggerd. It's possible for a race to occur that two threads send
data to debuggerd, the second one will cause errors in debuggerd since
the process will die once debuggerd lets the crashing pid start again.

Bug: 19183955
Change-Id: I17dfce46102117ab4a870f7381bd526488d37fb5
2015-01-28 16:20:26 -08:00
Raghu Gandham
86d2feef9f Modify MIPS64 stat structure to match a generic one in AOSP.
The kernel version of the stat structure is used during the syscalls. After the syscall,
the kernel stat structure is converted to match the generic one. Eventually we would like
the generic stat structure and related syscalls be added to MIPS64 kernel, removing the
thunks added to AOSP.

Change-Id: I7764e80278c1cc8254754c3531ec2dda7544a8ec
2015-01-28 16:12:17 -08:00
Yabin Cui
11c4353cdd Add --gtest-filter as synonym for --gtest_filter in bionic gtest main.
Bug: 19130480
Change-Id: I0d3df70ee8f692581cc4b9b742c5f347259fd0d2
2015-01-28 14:28:14 -08:00
Yabin Cui
44e8578c03 am c6438cd4: am 3c95c887: am 9e82c4be: Merge "Switch pthread_once_t to stdatomic.h."
* commit 'c6438cd4b0d4304e61c895941f68325efc6d9996':
  Switch pthread_once_t to stdatomic.h.
2015-01-28 22:08:38 +00:00
Yabin Cui
c6438cd4b0 am 3c95c887: am 9e82c4be: Merge "Switch pthread_once_t to stdatomic.h."
* commit '3c95c887820018cff06039e1dc35afe585e661c1':
  Switch pthread_once_t to stdatomic.h.
2015-01-28 21:27:32 +00:00
Yabin Cui
3c95c88782 am 9e82c4be: Merge "Switch pthread_once_t to stdatomic.h."
* commit '9e82c4be359a4637f21988b66b6d25abbfb79ddb':
  Switch pthread_once_t to stdatomic.h.
2015-01-28 21:20:54 +00:00
Yabin Cui
9e82c4be35 Merge "Switch pthread_once_t to stdatomic.h." 2015-01-28 21:16:05 +00:00
Dimitry Ivanov
b9bd15cc07 am c6c624fc: am 18661cd8: am 3780aba6: Merge "Fix mips64 build. Replace explicit cast with static_cast"
* commit 'c6c624fc37dc6240a41bbc7d550980f79295796b':
  Fix mips64 build. Replace explicit cast with static_cast
2015-01-28 17:49:14 +00:00
Dimitry Ivanov
c6c624fc37 am 18661cd8: am 3780aba6: Merge "Fix mips64 build. Replace explicit cast with static_cast"
* commit '18661cd8881dfce34306242011198128867777bb':
  Fix mips64 build. Replace explicit cast with static_cast
2015-01-28 17:42:47 +00:00
Dimitry Ivanov
18661cd888 am 3780aba6: Merge "Fix mips64 build. Replace explicit cast with static_cast"
* commit '3780aba6352affc7d2dcdad0737cb4254448fcae':
  Fix mips64 build. Replace explicit cast with static_cast
2015-01-28 17:39:01 +00:00
Dimitry Ivanov
3780aba635 Merge "Fix mips64 build. Replace explicit cast with static_cast" 2015-01-28 17:34:51 +00:00
Nikola Veljkovic
db3078d97b Fix mips64 build. Replace explicit cast with static_cast
Change-Id: Ib08fbe8bb832884a3eb33904fe4d490759116cb2
2015-01-28 16:19:18 +01:00
Yabin Cui
80e6d6d825 Switch pthread_once_t to stdatomic.h.
Bug: 17574610

Change-Id: I653f2aa4b5b38dbdaffe4a6c3deccfe6ad3b0e74
2015-01-27 19:49:12 -08:00
Yabin Cui
030ac03c2b am c10cfc05: am d13e6268: am 385c07a7: Merge "Fix parse of gtest_filter in bionic gtest main."
* commit 'c10cfc052043b0b70e6a3153e93dabc73764b58f':
  Fix parse of gtest_filter in bionic gtest main.
2015-01-28 00:42:21 +00:00
Elliott Hughes
8d71a40c79 am 63c74b2c: am 6c55034a: am 86d98962: Merge "Fix mips build."
* commit '63c74b2c2281b605f7946c707f756835ce83bd44':
  Fix mips build.
2015-01-27 23:42:53 +00:00
Elliott Hughes
57e41c6a45 am f6083836: am aa0b88f7: am acc06a0b: Merge "Add a test for float registers across setjmp/logjmp."
* commit 'f6083836a71179cc3a222e7a22af010bdc05bad6':
  Add a test for float registers across setjmp/logjmp.
2015-01-27 23:42:50 +00:00
Elliott Hughes
2cea48a77e am 4bdc2a61: am ca3396ef: am 192e169a: Merge "x86 has an assembler bcopy implementation."
* commit '4bdc2a6105c7f91d780c62a05e02ccb2a75a8837':
  x86 has an assembler bcopy implementation.
2015-01-27 23:31:36 +00:00
Yabin Cui
ba8f594152 am 67266eac: am a8041f9b: am b518836e: Merge "Rename "TIMEWARN" to "SLOW" in bionic gtest."
* commit '67266eacf603a1dae7cfd81e24d55c9bff1cc61a':
  Rename "TIMEWARN" to "SLOW" in bionic gtest.
2015-01-27 23:31:35 +00:00
Elliott Hughes
d83cd1924b am 0dadeb81: am 2bb5664f: am 643a9be8: Merge "[Arm64] Fix overlapping fp fields in jmp_buf"
* commit '0dadeb8134147ac07723e5047003485654b2bcc7':
  [Arm64] Fix overlapping fp fields in jmp_buf
2015-01-27 23:31:31 +00:00
Elliott Hughes
2aa82b5804 am 5bf4a172: am dedacf10: am 5c7964c5: Merge "Clean up <stdlib.h> slightly."
* commit '5bf4a1729ad35356c8c18b77842e9bac0f1ea0b2':
  Clean up <stdlib.h> slightly.
2015-01-27 23:31:30 +00:00
Yabin Cui
c10cfc0520 am d13e6268: am 385c07a7: Merge "Fix parse of gtest_filter in bionic gtest main."
* commit 'd13e626817cfd552bf082fb35019177274147449':
  Fix parse of gtest_filter in bionic gtest main.
2015-01-27 22:13:28 +00:00
Yabin Cui
d13e626817 am 385c07a7: Merge "Fix parse of gtest_filter in bionic gtest main."
* commit '385c07a74ca5438a6f7fe0ada2b461f880563073':
  Fix parse of gtest_filter in bionic gtest main.
2015-01-27 22:05:40 +00:00
Yabin Cui
385c07a74c Merge "Fix parse of gtest_filter in bionic gtest main." 2015-01-27 22:00:35 +00:00
Elliott Hughes
63c74b2c22 am 6c55034a: am 86d98962: Merge "Fix mips build."
* commit '6c55034a1d24caa82cb7e5a6c0ca71e9697c0f12':
  Fix mips build.
2015-01-27 19:51:12 +00:00
Elliott Hughes
6c55034a1d am 86d98962: Merge "Fix mips build."
* commit '86d9896273e81941d16034fdbf781a3f2bf94b81':
  Fix mips build.
2015-01-27 19:43:32 +00:00
Elliott Hughes
86d9896273 Merge "Fix mips build." 2015-01-27 19:39:37 +00:00
Yabin Cui
0bc4e9697e Fix parse of gtest_filter in bionic gtest main.
Bug: 19130330
Change-Id: Id6a60570a8aab6ae7259ff228b3801285b378f77
2015-01-27 11:22:46 -08:00
Elliott Hughes
f6083836a7 am aa0b88f7: am acc06a0b: Merge "Add a test for float registers across setjmp/logjmp."
* commit 'aa0b88f7a8a96bef2cec739678ceb69c3f9f1ce1':
  Add a test for float registers across setjmp/logjmp.
2015-01-27 19:19:38 +00:00
Elliott Hughes
aa0b88f7a8 am acc06a0b: Merge "Add a test for float registers across setjmp/logjmp."
* commit 'acc06a0b74e41728c6067280134a59d8b700d535':
  Add a test for float registers across setjmp/logjmp.
2015-01-27 19:13:23 +00:00
Elliott Hughes
e6099098a5 Fix mips build.
Move various mips-only things into the arch-mips directory. As soon as mips
writes assembler replacements, we can remove these.

Change-Id: Ia7308559bc361f5c8df3e1d456b381865e060b93
2015-01-27 11:09:27 -08:00
Elliott Hughes
acc06a0b74 Merge "Add a test for float registers across setjmp/logjmp." 2015-01-27 19:08:33 +00:00
Lorenzo Colitti
80fee21ada am ecbeee61: am 329db346: am f2d02c38: Merge "Make bionic compile even if resolver debugging is enabled."
* commit 'ecbeee61ede2b1100e6ff8f3e1d181e7049242c2':
  Make bionic compile even if resolver debugging is enabled.
2015-01-27 18:33:16 +00:00
Christopher Ferris
5bf95c10cf am 99272d40: am 85ecef2c: am 5d428bba: Merge "Do not build host benchmark code on macs."
* commit '99272d40cb989744a5518eed22c71979c35d05b3':
  Do not build host benchmark code on macs.
2015-01-27 18:33:00 +00:00
Yabin Cui
f0de5f8ae6 am 2a79e882: am 65b227b0: am 0e6af17a: Merge "Support --gtest_ouput option in bionic gtest main."
* commit '2a79e8820521d1d6b4fa64599e12d22b358dad7a':
  Support --gtest_ouput option in bionic gtest main.
2015-01-27 18:32:59 +00:00
Elliott Hughes
4bdc2a6105 am ca3396ef: am 192e169a: Merge "x86 has an assembler bcopy implementation."
* commit 'ca3396ef2d08777f83362c72939aed7cfd4f6edf':
  x86 has an assembler bcopy implementation.
2015-01-27 05:59:07 +00:00
Elliott Hughes
ca3396ef2d am 192e169a: Merge "x86 has an assembler bcopy implementation."
* commit '192e169a404fee48483335ed988788924266ff5d':
  x86 has an assembler bcopy implementation.
2015-01-27 05:52:55 +00:00
Elliott Hughes
192e169a40 Merge "x86 has an assembler bcopy implementation." 2015-01-27 05:46:56 +00:00
Elliott Hughes
1edfd9e36a x86 has an assembler bcopy implementation.
Change-Id: I4ed7af3c5b104f86550120401f773150c460f37b
2015-01-26 21:45:56 -08:00
Yabin Cui
67266eacf6 am a8041f9b: am b518836e: Merge "Rename "TIMEWARN" to "SLOW" in bionic gtest."
* commit 'a8041f9b1db0ea8e232bbd98eeb98b7395fca0e6':
  Rename "TIMEWARN" to "SLOW" in bionic gtest.
2015-01-27 05:43:37 +00:00
Yabin Cui
a8041f9b1d am b518836e: Merge "Rename "TIMEWARN" to "SLOW" in bionic gtest."
* commit 'b518836e8c8aa8fce933d59705a24543672bf238':
  Rename "TIMEWARN" to "SLOW" in bionic gtest.
2015-01-27 05:38:20 +00:00
Yabin Cui
b518836e8c Merge "Rename "TIMEWARN" to "SLOW" in bionic gtest." 2015-01-27 05:32:52 +00:00
Elliott Hughes
0dadeb8134 am 2bb5664f: am 643a9be8: Merge "[Arm64] Fix overlapping fp fields in jmp_buf"
* commit '2bb5664f5e73221bbc14def1721bb541c901b277':
  [Arm64] Fix overlapping fp fields in jmp_buf
2015-01-27 05:05:56 +00:00
Elliott Hughes
5bf4a1729a am dedacf10: am 5c7964c5: Merge "Clean up <stdlib.h> slightly."
* commit 'dedacf109b35e74d76594c29560a09f4ef3eb94d':
  Clean up <stdlib.h> slightly.
2015-01-27 05:00:11 +00:00
Elliott Hughes
2bb5664f5e am 643a9be8: Merge "[Arm64] Fix overlapping fp fields in jmp_buf"
* commit '643a9be82e4a9897f22cee6dcb6070ee102107d6':
  [Arm64] Fix overlapping fp fields in jmp_buf
2015-01-27 04:59:51 +00:00
Yabin Cui
4a82ede754 Rename "TIMEWARN" to "SLOW" in bionic gtest.
Bug: 19109188.
Change-Id: Idfe769ac652bf37642da24e4abb6061ca861d57e
2015-01-26 20:56:20 -08:00
Elliott Hughes
643a9be82e Merge "[Arm64] Fix overlapping fp fields in jmp_buf" 2015-01-27 04:56:20 +00:00
Elliott Hughes
dedacf109b am 5c7964c5: Merge "Clean up <stdlib.h> slightly."
* commit '5c7964c5f159bc3e1bbc577c7ace52177f399b21':
  Clean up <stdlib.h> slightly.
2015-01-27 04:54:07 +00:00
Elliott Hughes
87dd503018 Add a test for float registers across setjmp/logjmp.
Change-Id: I17cc056b185755e0b91de096b5ceefee4f4e0b3a
2015-01-26 20:52:34 -08:00
Elliott Hughes
5c7964c5f1 Merge "Clean up <stdlib.h> slightly." 2015-01-27 04:49:07 +00:00
Lorenzo Colitti
ecbeee61ed am 329db346: am f2d02c38: Merge "Make bionic compile even if resolver debugging is enabled."
* commit '329db346f54c629e0c9fcc98c21c19619a573e9b':
  Make bionic compile even if resolver debugging is enabled.
2015-01-27 04:14:09 +00:00
Lorenzo Colitti
329db346f5 am f2d02c38: Merge "Make bionic compile even if resolver debugging is enabled."
* commit 'f2d02c38fb7a7b91ddbb7e54fffa1e9c6c0c7449':
  Make bionic compile even if resolver debugging is enabled.
2015-01-27 04:07:10 +00:00
Lorenzo Colitti
f2d02c38fb Merge "Make bionic compile even if resolver debugging is enabled." 2015-01-27 04:02:42 +00:00
Christopher Ferris
99272d40cb am 85ecef2c: am 5d428bba: Merge "Do not build host benchmark code on macs."
* commit '85ecef2c6b7a624ba9db066ebefcfd0d394da6af':
  Do not build host benchmark code on macs.
2015-01-27 02:18:49 +00:00
Yabin Cui
2a79e88205 am 65b227b0: am 0e6af17a: Merge "Support --gtest_ouput option in bionic gtest main."
* commit '65b227b02e8239ee6a72c3c26f0b1937f80b8027':
  Support --gtest_ouput option in bionic gtest main.
2015-01-27 02:18:17 +00:00
Christopher Ferris
85ecef2c6b am 5d428bba: Merge "Do not build host benchmark code on macs."
* commit '5d428bbab4d5a1124186a75bef6a4fb008682e43':
  Do not build host benchmark code on macs.
2015-01-27 01:37:45 +00:00
Christopher Ferris
5d428bbab4 Merge "Do not build host benchmark code on macs." 2015-01-27 01:32:06 +00:00
Yabin Cui
65b227b02e am 0e6af17a: Merge "Support --gtest_ouput option in bionic gtest main."
* commit '0e6af17a35b1e5e6e8c4a22dcb934bb641a92488':
  Support --gtest_ouput option in bionic gtest main.
2015-01-27 01:21:06 +00:00
Yabin Cui
0e6af17a35 Merge "Support --gtest_ouput option in bionic gtest main." 2015-01-27 01:01:05 +00:00
Christopher Ferris
941a1a191f Do not build host benchmark code on macs.
Macs don't have clock_gettime, and it doesn't seem worth getting this
to run on the host for mac.

Change-Id: I59d9939acc2ede1308b24a60c4242d45355d967d
2015-01-26 16:54:40 -08:00
Yabin Cui
657b1f9bef Support --gtest_ouput option in bionic gtest main.
Bug: 19109500
Change-Id: Ib18f90ad522e66ea62dd4e02e314585d9b36e15f
2015-01-26 16:53:05 -08:00
Duane Sand
dbaab26021 [Arm64] Fix overlapping fp fields in jmp_buf
Change-Id: I9be9f118108f3f6e2bb02a5b01e0420fbfd15d85
2015-01-26 16:20:05 -08:00
Elliott Hughes
76f8916b90 Clean up <stdlib.h> slightly.
Interestingly, this mostly involves cleaning up our implementation of
various <string.h> functions.

Change-Id: Ifaef49b5cb997134f7bc0cc31bdac844bdb9e089
2015-01-26 14:28:41 -08:00
Christopher Ferris
15f382585c am 62c51518: am a5af57d3: am 419ed122: Merge "Update kernel headers to v3.18.3."
* commit '62c51518abc6f05b37efc4fdda4637e62de9ee3f':
  Update kernel headers to v3.18.3.
2015-01-26 22:09:47 +00:00
Elliott Hughes
6660e98965 am 46bed722: am e3c350f8: am 247cfe03: Merge "Add <error.h>."
* commit '46bed722eb4726cef7bccfa266dc32ab9d3f2886':
  Add <error.h>.
2015-01-26 22:09:35 +00:00
Christopher Ferris
62c51518ab am a5af57d3: am 419ed122: Merge "Update kernel headers to v3.18.3."
* commit 'a5af57d3e6e8cccf32d0e84eb148b5f4b9db3552':
  Update kernel headers to v3.18.3.
2015-01-26 21:45:15 +00:00
Christopher Ferris
a5af57d3e6 am 419ed122: Merge "Update kernel headers to v3.18.3."
* commit '419ed122aa21cf04334f21baab135ac4f9f49840':
  Update kernel headers to v3.18.3.
2015-01-26 21:33:55 +00:00
Christopher Ferris
419ed122aa Merge "Update kernel headers to v3.18.3." 2015-01-26 21:27:52 +00:00
Elliott Hughes
46bed722eb am e3c350f8: am 247cfe03: Merge "Add <error.h>."
* commit 'e3c350f8c8a3be0637e4894639b14a3965a1b312':
  Add <error.h>.
2015-01-26 20:53:58 +00:00
Elliott Hughes
e3c350f8c8 am 247cfe03: Merge "Add <error.h>."
* commit '247cfe03825f46e38371954d04fcb90a8b36c824':
  Add <error.h>.
2015-01-26 20:46:58 +00:00
Elliott Hughes
247cfe0382 Merge "Add <error.h>." 2015-01-26 20:38:46 +00:00
Elliott Hughes
b8a8cf0d1a Add <error.h>.
Bug: https://code.google.com/p/android/issues/detail?id=79170
Change-Id: Id91765fac45124545e2674a5b2c814707c1a448b
2015-01-26 11:57:11 -08:00
Christopher Ferris
82d7504cd7 Update kernel headers to v3.18.3.
Bug: 19127803
Change-Id: I67fa0832322ddd0032d909476047578be052bcf2
2015-01-26 10:57:07 -08:00
Lorenzo Colitti
616344d169 Make bionic compile even if resolver debugging is enabled.
The code now compiles with all combinations of DEBUG and
DEBUG_DATA except DEBUG_DATA=1, DEBUG=0, which is unsupported.

Change-Id: I9035a65c649df73092f1fc0864ae1cdd9a14aa3b
2015-01-26 16:05:27 +09:00
Dan Albert
5dd626840b am 7102d69e: am 2991f2a3: am 6eb5dc1d: Merge "Fix coverage build after adding clang coverage."
* commit '7102d69ef1d3e264e63fcd75d078231c11daa4d3':
  Fix coverage build after adding clang coverage.
2015-01-25 23:09:57 +00:00
Dan Albert
7102d69ef1 am 2991f2a3: am 6eb5dc1d: Merge "Fix coverage build after adding clang coverage."
* commit '2991f2a3d92f54757c0e726a3dcaa103cd8fed9e':
  Fix coverage build after adding clang coverage.
2015-01-25 23:05:47 +00:00
Dan Albert
2991f2a3d9 am 6eb5dc1d: Merge "Fix coverage build after adding clang coverage."
* commit '6eb5dc1d9c38ff8f717b70a2f66417c599aeb08c':
  Fix coverage build after adding clang coverage.
2015-01-25 22:55:24 +00:00
Dan Albert
6eb5dc1d9c Merge "Fix coverage build after adding clang coverage." 2015-01-25 22:51:37 +00:00
Dan Albert
6e9e6ad3bf Fix coverage build after adding clang coverage.
Static libraries are painful. Details are in the comment. I'll try to
get prebuilts in to the tree so I can fix this on Monday. Until then,
this isn't actually a regression because we've not had coverage
available for this library until now anyway.

Bug: 17574078
Change-Id: I7505c8a94007203e15a6cf192caa06004849d7d9
2015-01-25 14:27:51 -08:00
Elliott Hughes
2e747a65c0 am a028ab9e: am c7aaf228: am f108bbba: Merge "Remove obsolete BUILD_TINY_ANDROID."
* commit 'a028ab9e09fc08d7551fe20514d197f7fa4cb86f':
  Remove obsolete BUILD_TINY_ANDROID.
2015-01-25 21:00:53 +00:00
Elliott Hughes
a028ab9e09 am c7aaf228: am f108bbba: Merge "Remove obsolete BUILD_TINY_ANDROID."
* commit 'c7aaf228beddc4c68a3e4f3986aee40c568c208c':
  Remove obsolete BUILD_TINY_ANDROID.
2015-01-25 20:42:50 +00:00
Elliott Hughes
c7aaf228be am f108bbba: Merge "Remove obsolete BUILD_TINY_ANDROID."
* commit 'f108bbbaf7a11c3226780d0424fa123155e30f36':
  Remove obsolete BUILD_TINY_ANDROID.
2015-01-25 05:17:29 +00:00
Elliott Hughes
f108bbbaf7 Merge "Remove obsolete BUILD_TINY_ANDROID." 2015-01-25 05:09:21 +00:00
Elliott Hughes
14152b9f31 Remove obsolete BUILD_TINY_ANDROID.
Change-Id: If2fc97134340fd09ec2583b666ace2f673cbdf66
2015-01-24 19:01:58 -08:00
Elliott Hughes
e361dbb8fc am 9e4827de: am 7eed99da: am 66eeec8e: Merge "Reduce <stdlib.h> namespace pollution."
* commit '9e4827de125e37bec0bc2a2c02b65176b30129f9':
  Reduce <stdlib.h> namespace pollution.
2015-01-24 23:57:37 +00:00
Elliott Hughes
9e4827de12 am 7eed99da: am 66eeec8e: Merge "Reduce <stdlib.h> namespace pollution."
* commit '7eed99dad95003b8b40e6a1136bd83ac68dc54dc':
  Reduce <stdlib.h> namespace pollution.
2015-01-24 23:53:11 +00:00
Elliott Hughes
7eed99dad9 am 66eeec8e: Merge "Reduce <stdlib.h> namespace pollution."
* commit '66eeec8e160feddc2b35c4ff9d20de92f37331dd':
  Reduce <stdlib.h> namespace pollution.
2015-01-24 23:47:36 +00:00
Elliott Hughes
66eeec8e16 Merge "Reduce <stdlib.h> namespace pollution." 2015-01-24 23:44:27 +00:00
Elliott Hughes
c5dc02a91e Reduce <stdlib.h> namespace pollution.
<stdlib.h> shouldn't drag in all of <string.h>.

Change-Id: I949172f7ff17e329e411e5054e50f79c13775444
2015-01-24 15:22:57 -08:00
Elliott Hughes
568ecb2314 am fe1709bd: am 12144696: am 62d20fb2: Merge "Reduce <signal.h> namespace pollution."
* commit 'fe1709bdca1a335df315ba11efcdfec96e71658f':
  Reduce <signal.h> namespace pollution.
2015-01-24 22:55:16 +00:00
Elliott Hughes
fe1709bdca am 12144696: am 62d20fb2: Merge "Reduce <signal.h> namespace pollution."
* commit '12144696ac9b53462fbfb0fb4f1a181e10df7437':
  Reduce <signal.h> namespace pollution.
2015-01-24 22:47:01 +00:00
Elliott Hughes
12144696ac am 62d20fb2: Merge "Reduce <signal.h> namespace pollution."
* commit '62d20fb21948d7a31d453ec08ed5abc02d3dd1d3':
  Reduce <signal.h> namespace pollution.
2015-01-24 22:41:01 +00:00
Elliott Hughes
62d20fb219 Merge "Reduce <signal.h> namespace pollution." 2015-01-24 22:34:51 +00:00
Elliott Hughes
ddc4c8f8ec am cf936c1e: am 61a80735: am 6e15edcc: Merge "Say "Bad file descriptor" rather than "Bad file number"."
* commit 'cf936c1e43456d50f9d58444442e31609ff75256':
  Say "Bad file descriptor" rather than "Bad file number".
2015-01-24 22:24:27 +00:00
Elliott Hughes
6466292a7e Reduce <signal.h> namespace pollution.
<signal.h> shouldn't drag in all of <string.h>.

Change-Id: I57aea36dad5e89ea2f9541c35594ca6225e532be
2015-01-24 14:18:16 -08:00
Elliott Hughes
cf936c1e43 am 61a80735: am 6e15edcc: Merge "Say "Bad file descriptor" rather than "Bad file number"."
* commit '61a8073565dd9870f4f93a96f91881955833757b':
  Say "Bad file descriptor" rather than "Bad file number".
2015-01-24 22:18:09 +00:00
Elliott Hughes
61a8073565 am 6e15edcc: Merge "Say "Bad file descriptor" rather than "Bad file number"."
* commit '6e15edcca5f5b35221b33e9994c236f148cb3c38':
  Say "Bad file descriptor" rather than "Bad file number".
2015-01-24 22:12:06 +00:00
Elliott Hughes
6e15edcca5 Merge "Say "Bad file descriptor" rather than "Bad file number"." 2015-01-24 22:08:20 +00:00
Elliott Hughes
851f09de5d am e5cfda5b: am 94a4a173: am 59936a3b: Merge "Fix optimized fread."
* commit 'e5cfda5b5d372ef674e8f8c36faded2d653c10b5':
  Fix optimized fread.
2015-01-24 21:43:05 +00:00
Elliott Hughes
d309877eee Say "Bad file descriptor" rather than "Bad file number".
This text is actually in POSIX (though it's not mandatory) and it's what glibc
says. Who says "file number" anyway?

Change-Id: Icc91ac24587c2bc692e0b97c19d32ac1bdda4ea7
2015-01-24 13:38:57 -08:00
Elliott Hughes
e5cfda5b5d am 94a4a173: am 59936a3b: Merge "Fix optimized fread."
* commit '94a4a173d24ce8feac5c49fb5ad209a836d41439':
  Fix optimized fread.
2015-01-24 21:38:15 +00:00
Elliott Hughes
94a4a173d2 am 59936a3b: Merge "Fix optimized fread."
* commit '59936a3b51474fc3216659f089ff6543ac31ab4e':
  Fix optimized fread.
2015-01-24 21:31:09 +00:00
Elliott Hughes
59936a3b51 Merge "Fix optimized fread." 2015-01-24 21:25:06 +00:00
Elliott Hughes
e6bb5a2776 Fix optimized fread.
gcov does writes after reads on the same stream, but the bulk read optimization
was clobbering the FILE _flags, causing fwrite to fail.

Bug: 19129055
Change-Id: I9650cb7de4bb173a706b502406266ed0d2b654d7
2015-01-24 12:35:41 -08:00
Dmitriy Ivanov
844b4e1638 am ebbf3b0e: am 37043dff: am 31005ca4: Merge "Minimize calls to mprotect"
* commit 'ebbf3b0ec22d729b9531ed562322655844676df4':
  Minimize calls to mprotect
2015-01-24 16:58:12 +00:00
Dan Albert
849f23c594 am 1042afe6: am e6ad1630: am 305be18d: Merge "Allow make to set a timeout for the host tests."
* commit '1042afe618c7b2f06d520f9cadc4482124e5c875':
  Allow make to set a timeout for the host tests.
2015-01-24 16:58:03 +00:00
Chih-Hung Hsieh
791081c37b am 54ab69d3: am 75bce066: am f5ae7e91: Merge "Add comments about the -shared flag."
* commit '54ab69d33fb39c4e97e401087e384a944345d1e4':
  Add comments about the -shared flag.
2015-01-24 16:57:51 +00:00
Dmitriy Ivanov
ebbf3b0ec2 am 37043dff: am 31005ca4: Merge "Minimize calls to mprotect"
* commit '37043dff1d2d7ea475cea1ef5728fbf88f6fb321':
  Minimize calls to mprotect
2015-01-24 00:59:54 +00:00
Dmitriy Ivanov
37043dff1d am 31005ca4: Merge "Minimize calls to mprotect"
* commit '31005ca4c8562f3e6dfbed079eeaff8361ff8cdc':
  Minimize calls to mprotect
2015-01-24 00:51:09 +00:00
Dmitriy Ivanov
31005ca4c8 Merge "Minimize calls to mprotect" 2015-01-24 00:45:25 +00:00
Dmitriy Ivanov
279a22f96e Minimize calls to mprotect
Implement refcounter based data protection guard
  to avoid unnecessary calls to mprotect when dlopen/dlclose
  is called from a constructor.

Bug: 19124318
Big: 7941716
Change-Id: Id221b84ce75443094f99756dc9950b0a1dc87222
2015-01-23 16:30:34 -08:00
Dan Albert
1042afe618 am e6ad1630: am 305be18d: Merge "Allow make to set a timeout for the host tests."
* commit 'e6ad16304d054a9e6fff25693153a03455808bde':
  Allow make to set a timeout for the host tests.
2015-01-24 00:13:54 +00:00
Dan Albert
e6ad16304d am 305be18d: Merge "Allow make to set a timeout for the host tests."
* commit '305be18d10254df4a9444f8505f569e94718f488':
  Allow make to set a timeout for the host tests.
2015-01-24 00:07:20 +00:00
Chih-Hung Hsieh
54ab69d33f am 75bce066: am f5ae7e91: Merge "Add comments about the -shared flag."
* commit '75bce0660ad558577dd5a2913f8fbcd39da1cbb6':
  Add comments about the -shared flag.
2015-01-24 00:04:17 +00:00
Dan Albert
305be18d10 Merge "Allow make to set a timeout for the host tests." 2015-01-24 00:01:40 +00:00
Chih-Hung Hsieh
75bce0660a am f5ae7e91: Merge "Add comments about the -shared flag."
* commit 'f5ae7e91ea2c3364d6423ef4d54f5f295197335f':
  Add comments about the -shared flag.
2015-01-23 23:41:01 +00:00
Chih-Hung Hsieh
f5ae7e91ea Merge "Add comments about the -shared flag." 2015-01-23 23:33:54 +00:00
Elliott Hughes
ed78e5f883 am 590641b0: am cf744fc8: am 7f3d65de: Merge "Add a log message to make the transition from linker to user code clear."
* commit '590641b0ad90d88c99cf965036d3c806f381d879':
  Add a log message to make the transition from linker to user code clear.
2015-01-23 19:57:07 +00:00
Dan Albert
4ce907d2ce Allow make to set a timeout for the host tests.
Change-Id: Icc2ebf64bd1da1687bf313fe7a5640155c5795d8
2015-01-23 11:35:48 -08:00
Elliott Hughes
590641b0ad am cf744fc8: am 7f3d65de: Merge "Add a log message to make the transition from linker to user code clear."
* commit 'cf744fc89a7bac815bb42802dcfce73101ddbe1d':
  Add a log message to make the transition from linker to user code clear.
2015-01-23 19:14:16 +00:00
Elliott Hughes
cf744fc89a am 7f3d65de: Merge "Add a log message to make the transition from linker to user code clear."
* commit '7f3d65de8cf2920981d73adee278c0d7bee79170':
  Add a log message to make the transition from linker to user code clear.
2015-01-23 18:59:45 +00:00
Elliott Hughes
7f3d65de8c Merge "Add a log message to make the transition from linker to user code clear." 2015-01-23 18:55:30 +00:00
Elliott Hughes
611f95689e Add a log message to make the transition from linker to user code clear.
Handy when looking at strace output for seeing "where does my code start?",
though you'll need to set LD_DEBUG=1 (or greater) and constructors will
already have run (but you can set LD_DEBUG to a higher value to track that).

Change-Id: I82d53a7123b39febf5b2a956de83c8a30f229651
2015-01-23 10:43:58 -08:00
Dmitriy Ivanov
39b7bc3167 am 4d2dcb89: am 8e2b0e55: am bb3b1303: Merge "Enable -Wold-style-cast warnings for linker"
* commit '4d2dcb896abcf3e13972665d3eaf179365bc799f':
  Enable -Wold-style-cast warnings for linker
2015-01-23 04:19:50 +00:00
Dmitriy Ivanov
4d2dcb896a am 8e2b0e55: am bb3b1303: Merge "Enable -Wold-style-cast warnings for linker"
* commit '8e2b0e550a8e64da23c95fe265dbea7c6701e7c1':
  Enable -Wold-style-cast warnings for linker
2015-01-23 03:28:02 +00:00
Dmitriy Ivanov
8e2b0e550a am bb3b1303: Merge "Enable -Wold-style-cast warnings for linker"
* commit 'bb3b1303e1167a662218c9686977b379964e0072':
  Enable -Wold-style-cast warnings for linker
2015-01-23 03:14:35 +00:00
Dan Albert
3e41329e62 am 2e7715b2: am f908b21a: am ab58559a: Merge "Add a basic NDK compatibility library."
* commit '2e7715b29fc7e2e96c997eb005343cd8563fff36':
  Add a basic NDK compatibility library.
2015-01-23 03:12:17 +00:00
Elliott Hughes
c6f3ed2db4 am 682d5d8b: am 9c8a5265: am b161fe27: Merge "There\'s no such thing as LOCAL_CXXFLAGS."
* commit '682d5d8b826a8b4fec181dde264caa699955aecd':
  There's no such thing as LOCAL_CXXFLAGS.
2015-01-23 03:10:40 +00:00
Elliott Hughes
08c18b67f8 am 4adced31: am 25437c59: am ae095a73: Merge "Fix the stdio.fread_EOF test."
* commit '4adced31e84d299a907e8ffa0f8ff9840a1ce5ee':
  Fix the stdio.fread_EOF test.
2015-01-23 03:10:39 +00:00
Elliott Hughes
903dbf99a0 am 0f7f31f8: am a0313e04: am d5d9221b: Merge "Fix fread_EOF test name."
* commit '0f7f31f8193ffb61d73d3a3f2c89e437f81a0245':
  Fix fread_EOF test name.
2015-01-23 03:10:38 +00:00
Dmitriy Ivanov
bb3b1303e1 Merge "Enable -Wold-style-cast warnings for linker" 2015-01-23 03:09:22 +00:00
Chih-Hung Hsieh
306ea7ebe5 Add comments about the -shared flag.
Must build this linker as a shared object.
A statically linked module does not load during init.

BUG: 18008984

Change-Id: I5f0411129024edcb9381c473ea4e741a075e9184
2015-01-22 19:09:20 -08:00
Dan Albert
2e7715b29f am f908b21a: am ab58559a: Merge "Add a basic NDK compatibility library."
* commit 'f908b21a5cdb68184907ac6cb1475dfe771c28cf':
  Add a basic NDK compatibility library.
2015-01-23 00:54:53 +00:00
Dan Albert
f908b21a5c am ab58559a: Merge "Add a basic NDK compatibility library."
* commit 'ab58559a9cc40766c0636c6e97a93dfd5e74d923':
  Add a basic NDK compatibility library.
2015-01-23 00:51:39 +00:00
Elliott Hughes
682d5d8b82 am 9c8a5265: am b161fe27: Merge "There\'s no such thing as LOCAL_CXXFLAGS."
* commit '9c8a5265c9a2262735214a1310b5fc0246873bc9':
  There's no such thing as LOCAL_CXXFLAGS.
2015-01-23 00:50:32 +00:00
Elliott Hughes
4adced31e8 am 25437c59: am ae095a73: Merge "Fix the stdio.fread_EOF test."
* commit '25437c598473a22a697b8cae009a897df80f38e6':
  Fix the stdio.fread_EOF test.
2015-01-23 00:50:31 +00:00
Dan Albert
ab58559a9c Merge "Add a basic NDK compatibility library." 2015-01-23 00:46:54 +00:00
Elliott Hughes
0f7f31f819 am a0313e04: am d5d9221b: Merge "Fix fread_EOF test name."
* commit 'a0313e04b368c3af4152c573780549477b0ec5f8':
  Fix fread_EOF test name.
2015-01-23 00:46:45 +00:00
Dmitriy Ivanov
1649e7ee5b Enable -Wold-style-cast warnings for linker
And fix old style casts.

Change-Id: I37e7a3e3fd852528ea76f02d967c7bd8cd5b06c9
2015-01-22 16:33:30 -08:00
Elliott Hughes
9c8a5265c9 am b161fe27: Merge "There\'s no such thing as LOCAL_CXXFLAGS."
* commit 'b161fe27433b899b896b5685571373df4a1f8a21':
  There's no such thing as LOCAL_CXXFLAGS.
2015-01-22 23:41:35 +00:00
Elliott Hughes
25437c5984 am ae095a73: Merge "Fix the stdio.fread_EOF test."
* commit 'ae095a730d6b3af69dc5eff662c5609cde6f5d70':
  Fix the stdio.fread_EOF test.
2015-01-22 23:41:34 +00:00
Elliott Hughes
b161fe2743 Merge "There's no such thing as LOCAL_CXXFLAGS." 2015-01-22 23:40:08 +00:00
Elliott Hughes
62284dd2cc There's no such thing as LOCAL_CXXFLAGS.
Change-Id: Iad70e6bd4cb7cec9e0ece500a540e4dadc83d92e
2015-01-22 15:36:24 -08:00
Elliott Hughes
ae095a730d Merge "Fix the stdio.fread_EOF test." 2015-01-22 23:35:48 +00:00
Elliott Hughes
0ed7e08cda Fix the stdio.fread_EOF test.
Another sizeof/strlen screwup caused by trying to be too clever. Use
std::string instead.

Also fix all the ASSERT_STREQ calls in this file that had the arguments
the right^Wwrong way round. If I ever see Kent Beck...

Change-Id: I47a1bdfee99cf4e7bed9b398f3158a308fbcf1e8
2015-01-22 15:28:48 -08:00
Elliott Hughes
a0313e04b3 am d5d9221b: Merge "Fix fread_EOF test name."
* commit 'd5d9221b9c96a8213b0a83dde468653d49e76dd8':
  Fix fread_EOF test name.
2015-01-22 22:28:23 +00:00
Elliott Hughes
d5d9221b9c Merge "Fix fread_EOF test name." 2015-01-22 22:24:53 +00:00
Elliott Hughes
bcb378d643 Fix fread_EOF test name.
Change-Id: I53a7f1428fd27c0b2a5c80f2e8af4845d17f5b4b
2015-01-22 14:18:35 -08:00
Dan Albert
d75ff6c9ea am b874754c: am 579fda5f: am d2806754: Merge "Add support for building other architectures."
* commit 'b874754c2b3e46017e6af222e8f0f77d08948968':
  Add support for building other architectures.
2015-01-22 22:16:37 +00:00
Dan Albert
b874754c2b am 579fda5f: am d2806754: Merge "Add support for building other architectures."
* commit '579fda5f0d9db0042cec9741f0cd8a68c57dfaaf':
  Add support for building other architectures.
2015-01-22 22:10:49 +00:00
Dan Albert
579fda5f0d am d2806754: Merge "Add support for building other architectures."
* commit 'd280675405e605d47c74c037b0d2b4f06826ed4d':
  Add support for building other architectures.
2015-01-22 22:04:48 +00:00
Dan Albert
d280675405 Merge "Add support for building other architectures." 2015-01-22 22:00:37 +00:00
Elliott Hughes
08aec8cbd3 am 9455d3b7: am d4517fb3: am 53df4bfc: Merge "Use a more specific return type for app_id_from_name."
* commit '9455d3b7a07628bed4cb36b25f1a6e5af84ce881':
  Use a more specific return type for app_id_from_name.
2015-01-22 20:32:15 +00:00
Elliott Hughes
7647f16284 am f7b64d09: am 69838daa: am d1668a71: Merge "Turn on -Wold-style-cast and fix the errors."
* commit 'f7b64d09002b22fade3ab703cf31c7b140ea9cd1':
  Turn on -Wold-style-cast and fix the errors.
2015-01-22 20:32:15 +00:00
Elliott Hughes
9455d3b7a0 am d4517fb3: am 53df4bfc: Merge "Use a more specific return type for app_id_from_name."
* commit 'd4517fb37ce5d306fa3d6f65e0fcfe949e7fd6fd':
  Use a more specific return type for app_id_from_name.
2015-01-22 20:26:36 +00:00
Elliott Hughes
d4517fb37c am 53df4bfc: Merge "Use a more specific return type for app_id_from_name."
* commit '53df4bfce81d8a6cfd4b5d991f5299f18dc4c958':
  Use a more specific return type for app_id_from_name.
2015-01-22 20:21:30 +00:00
Elliott Hughes
53df4bfce8 Merge "Use a more specific return type for app_id_from_name." 2015-01-22 20:15:04 +00:00
Elliott Hughes
c56af08c21 Use a more specific return type for app_id_from_name.
I suspect we can simplify this code, but I don't know enough about it
to get involved now.

Change-Id: I1c39761ae31beb70d41ffa6f0e396a4f17529d46
2015-01-22 11:02:59 -08:00
Dan Albert
9c3fd59b00 Add a basic NDK compatibility library.
We know we can safely statically link `libm`, since it doesn't have
any dependencies on the OS or the layout of a data type that has
changed between releases (like `pthread_t`).

We can safely statically link `libc_syscalls` because the user can
check for and handle `ENOSYS`.

Update `ndk_missing_symbols.py` to account for symbols that are in the
compatibility library.

Improve `symbols.py` to be able to pull symbols from a static library.

Change-Id: Ifb0ede1e8b4a8f0f33865d9fed72fb8b4d443fbc
2015-01-21 18:12:15 -08:00
Dan Albert
2b6c99b6e2 am 0855e923: am c673a2fe: am 4f11c59b: Merge "Add ndk_missing_symbols.py."
* commit '0855e923f6ff268632a9529caf44ae526953842a':
  Add ndk_missing_symbols.py.
2015-01-22 02:07:36 +00:00
Elliott Hughes
f7b64d0900 am 69838daa: am d1668a71: Merge "Turn on -Wold-style-cast and fix the errors."
* commit '69838daa8764eb4d008df679e961fb510a37687b':
  Turn on -Wold-style-cast and fix the errors.
2015-01-22 02:02:46 +00:00
Elliott Hughes
563fbe2863 am 0edffb85: am a2e5d98b: am 2a8c929a: Merge "Implement __fsetlocking."
* commit '0edffb85fa40987c00dd078111c6218efd5aded7':
  Implement __fsetlocking.
2015-01-22 01:59:21 +00:00
Christopher Ferris
6d37015dfd am 0a45cc25: am 0930323e: am 8476b8ed: Merge "Contact proper debuggerd when crashing."
* commit '0a45cc25566049860f3f38ab174569964af6ac6a':
  Contact proper debuggerd when crashing.
2015-01-22 01:59:21 +00:00
Dan Albert
a91ab8f2c5 am f0de7d6c: am a6e2e070: am fbc70d38: Merge "Report 404 errors from Gerrit and continue."
* commit 'f0de7d6c6973b0c2e268fac4373bfd5765b49dc1':
  Report 404 errors from Gerrit and continue.
2015-01-22 01:59:20 +00:00
Elliott Hughes
69838daa87 am d1668a71: Merge "Turn on -Wold-style-cast and fix the errors."
* commit 'd1668a71df761eb1644496f3e2c77c16fd54bb06':
  Turn on -Wold-style-cast and fix the errors.
2015-01-22 01:55:33 +00:00
Dan Albert
0855e923f6 am c673a2fe: am 4f11c59b: Merge "Add ndk_missing_symbols.py."
* commit 'c673a2fea9246665ff87d619c48e882800a0793d':
  Add ndk_missing_symbols.py.
2015-01-22 01:54:29 +00:00
Elliott Hughes
d1668a71df Merge "Turn on -Wold-style-cast and fix the errors." 2015-01-22 01:52:06 +00:00
Dan Albert
c673a2fea9 am 4f11c59b: Merge "Add ndk_missing_symbols.py."
* commit '4f11c59b3f3acffe6c8e359296a9e38c4b7edfb6':
  Add ndk_missing_symbols.py.
2015-01-22 01:31:42 +00:00
Dan Albert
4f11c59b3f Merge "Add ndk_missing_symbols.py." 2015-01-22 01:25:57 +00:00
Elliott Hughes
8b5df3920f Turn on -Wold-style-cast and fix the errors.
A couple of dodgy cases where we cast away const, but otherwise pretty boring.

Change-Id: Ibc39ebd525377792b5911464be842121c20f03b9
2015-01-21 17:09:58 -08:00
Dan Albert
169eb66451 Add ndk_missing_symbols.py.
ndk_missing_symbols.py pulls libc.so and libm.so off a running device
or emulator and shows the list of symbols that are in the current
bionic that aren't available on the target.

Change-Id: Ia92c315a6a0ce2e5c33db0b62c8fab41c08a4c31
2015-01-21 17:09:50 -08:00
Elliott Hughes
0edffb85fa am a2e5d98b: am 2a8c929a: Merge "Implement __fsetlocking."
* commit 'a2e5d98b641bef4c5611f6aba5defff74abcad93':
  Implement __fsetlocking.
2015-01-22 00:13:10 +00:00
Christopher Ferris
0a45cc2556 am 0930323e: am 8476b8ed: Merge "Contact proper debuggerd when crashing."
* commit '0930323e98e88157b567dab3b1c75618229dd281':
  Contact proper debuggerd when crashing.
2015-01-22 00:13:09 +00:00
Dan Albert
f0de7d6c69 am a6e2e070: am fbc70d38: Merge "Report 404 errors from Gerrit and continue."
* commit 'a6e2e070f2add9869e2160e3c0ca4454cac7bb7b':
  Report 404 errors from Gerrit and continue.
2015-01-22 00:13:08 +00:00
Elliott Hughes
a2e5d98b64 am 2a8c929a: Merge "Implement __fsetlocking."
* commit '2a8c929aaf8d34d2b6e89ed9c8b6da163316143e':
  Implement __fsetlocking.
2015-01-21 22:58:17 +00:00
Christopher Ferris
0930323e98 am 8476b8ed: Merge "Contact proper debuggerd when crashing."
* commit '8476b8ed9e290d79cd00e7801c505268f0e8ec15':
  Contact proper debuggerd when crashing.
2015-01-21 22:58:11 +00:00
Dan Albert
a6e2e070f2 am fbc70d38: Merge "Report 404 errors from Gerrit and continue."
* commit 'fbc70d3899a58e6aff7d3e94803fcdc80629de5a':
  Report 404 errors from Gerrit and continue.
2015-01-21 22:58:07 +00:00
Elliott Hughes
2a8c929aaf Merge "Implement __fsetlocking." 2015-01-21 19:42:44 +00:00
Christopher Ferris
8476b8ed9e Merge "Contact proper debuggerd when crashing." 2015-01-21 18:39:59 +00:00
Elliott Hughes
8c4994bbc1 Implement __fsetlocking.
The old __isthreaded hack was never very useful on Android because all user
code runs in a VM where there are lots of threads running. But __fsetlocking
lets a caller say "I'll worry about the locking for this FILE*", which is
useful for the normal case where you don't share a FILE* between threads
so you don't need any locking.

Bug: 17154740
Bug: 18593728
Change-Id: I2a8dddc29d3edff39a3d7d793387f2253608a68d
2015-01-21 10:33:30 -08:00
Dan Albert
fbc70d3899 Merge "Report 404 errors from Gerrit and continue." 2015-01-21 18:25:40 +00:00
Dan Albert
2b87351063 Report 404 errors from Gerrit and continue.
Currently, we get a 404 from Gerrit in the event that two projects
have the same Change-Id. We should be able to handle this and actually
cherry-pick each change so we can check multi-project changes, but for
now just skip these changes.

Change-Id: I7bc63208998d58beec83b71b302450d9be3ea026
2015-01-21 09:56:28 -08:00
Elliott Hughes
d170e58b7c am eb1ac69d: am 45bdcf89: am f3743584: Merge "Fix signed/unsigned comparison that was upsetting clang."
* commit 'eb1ac69d453c586192f1fff8bb8604f9c54a718e':
  Fix signed/unsigned comparison that was upsetting clang.
2015-01-21 02:25:41 +00:00
Elliott Hughes
74ed6c32cb am e574a70d: am c4f1cfc9: am a779719d: Merge "Add TEMP_FAILURE_RETRY to stdio\'s low-level read/write functions."
* commit 'e574a70d1e3dca32893ded21ae043221a1f9882a':
  Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
2015-01-21 02:25:39 +00:00
Elliott Hughes
0514b6be04 am 6428c625: am 7d196768: am 927d8be7: Merge "Fix build error when XLOG is enabled"
* commit '6428c625e8012cbb7a367e900d2a9c31439c6ebf':
  Fix build error when XLOG is enabled
2015-01-21 02:25:38 +00:00
Elliott Hughes
288e599eb8 am 822fe55e: am 06645218: am c053a428: Merge "Optimized fread."
* commit '822fe55ea982326c91df79ef2e8eeed4f8052d3a':
  Optimized fread.
2015-01-21 02:25:37 +00:00
Elliott Hughes
eb1ac69d45 am 45bdcf89: am f3743584: Merge "Fix signed/unsigned comparison that was upsetting clang."
* commit '45bdcf895b7f4cd6b4741fe33bc7a56d40fb220a':
  Fix signed/unsigned comparison that was upsetting clang.
2015-01-21 02:21:59 +00:00
Elliott Hughes
e574a70d1e am c4f1cfc9: am a779719d: Merge "Add TEMP_FAILURE_RETRY to stdio\'s low-level read/write functions."
* commit 'c4f1cfc9fc5ba053525cd155d50fae8b67df0392':
  Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
2015-01-21 02:21:58 +00:00
Elliott Hughes
6428c625e8 am 7d196768: am 927d8be7: Merge "Fix build error when XLOG is enabled"
* commit '7d196768029f36b0e3fa57ba747ce58ef2b1c9d6':
  Fix build error when XLOG is enabled
2015-01-21 02:21:57 +00:00
Elliott Hughes
822fe55ea9 am 06645218: am c053a428: Merge "Optimized fread."
* commit '0664521893e88f2cd266306e707a832d9d1f94a2':
  Optimized fread.
2015-01-21 02:21:56 +00:00
Elliott Hughes
45bdcf895b am f3743584: Merge "Fix signed/unsigned comparison that was upsetting clang."
* commit 'f374358414812d3e5a45ba75a2b1926693924420':
  Fix signed/unsigned comparison that was upsetting clang.
2015-01-21 02:11:35 +00:00
Elliott Hughes
c4f1cfc9fc am a779719d: Merge "Add TEMP_FAILURE_RETRY to stdio\'s low-level read/write functions."
* commit 'a779719d628de5e504dac08d334bc576f3b7fb0a':
  Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
2015-01-21 02:11:34 +00:00
Elliott Hughes
7d19676802 am 927d8be7: Merge "Fix build error when XLOG is enabled"
* commit '927d8be76d956fcda630e1088e9b89eb31be5146':
  Fix build error when XLOG is enabled
2015-01-21 02:11:33 +00:00
Elliott Hughes
0664521893 am c053a428: Merge "Optimized fread."
* commit 'c053a42831165044cca0bb9eb220b8f5d27fdd18':
  Optimized fread.
2015-01-21 02:11:32 +00:00
Christopher Ferris
151da68100 Contact proper debuggerd when crashing.
Make the request structure match the new structure found in debuggerd
code.

On 64 bit systems, make sure that the 32 bit compiled linker is contacted.

Bug: https://code.google.com/p/android/issues/detail?id=97024
Change-Id: I675b8ff222fcf836b05de4e9b5976ff91ca929bf
2015-01-20 17:22:25 -08:00
Elliott Hughes
f374358414 Merge "Fix signed/unsigned comparison that was upsetting clang." 2015-01-21 00:57:06 +00:00
Elliott Hughes
e69e6458cc Fix signed/unsigned comparison that was upsetting clang.
bionic/libc/stdio/fread.c:86:27: error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Werror,-Wsign-compare]

Change-Id: Ia7e1e053e0cb13113e8f2eede820be013acbab82
2015-01-20 16:52:04 -08:00
Elliott Hughes
a779719d62 Merge "Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions." 2015-01-21 00:50:01 +00:00
Elliott Hughes
8885dcc779 Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
This is correctness rather than performance, but found while investigating
performance.

Bug: 18593728
Change-Id: Idbdfed89d1931fcfae65db29d662108d4bbd9b65
2015-01-20 16:18:32 -08:00
Elliott Hughes
927d8be76d Merge "Fix build error when XLOG is enabled" 2015-01-21 00:13:28 +00:00
Patrick Tjin
a6a0949b1d Fix build error when XLOG is enabled
(cherrypick of 79a49c9857f3949fc13373eeb179f27b6ecdca81.)

Change-Id: I7bb44fd1fe3ef2ddfc115247f328eccfceeb5352
Signed-off-by: Patrick Tjin <pattjin@google.com>
2015-01-20 16:12:45 -08:00
Elliott Hughes
c053a42831 Merge "Optimized fread." 2015-01-21 00:11:31 +00:00
Patrick Tjin
6aa63a9b8e Merge "Fix build error when XLOG is enabled" 2015-01-21 00:09:27 +00:00
Patrick Tjin
79a49c9857 Fix build error when XLOG is enabled
Change-Id: I7bb44fd1fe3ef2ddfc115247f328eccfceeb5352
Signed-off-by: Patrick Tjin <pattjin@google.com>
2015-01-20 16:04:53 -08:00
Elliott Hughes
75b99387dd Optimized fread.
This makes us competitive with glibc for fully-buffered and unbuffered reads,
except in single-threaded situations where glibc avoids locking, but since
we're never really single-threaded anyway, that isn't a priority.

Bug: 18593728
Change-Id: Ib776bfba422ccf46209581fc0dc54f3567645b8f
2015-01-20 15:59:17 -08:00
Yabin Cui
fc35d1f887 am 0d53dd80: am da307e7d: am d3d75c02: Merge "Remove testcase time printing in bionic-unit-tests."
* commit '0d53dd8081e618ca6891f33dae1045d3cd565010':
  Remove testcase time printing in bionic-unit-tests.
2015-01-20 23:54:42 +00:00
Yabin Cui
0d53dd8081 am da307e7d: am d3d75c02: Merge "Remove testcase time printing in bionic-unit-tests."
* commit 'da307e7d91559f32a15390b1ac48693ffb7def89':
  Remove testcase time printing in bionic-unit-tests.
2015-01-20 23:48:37 +00:00
Yabin Cui
da307e7d91 am d3d75c02: Merge "Remove testcase time printing in bionic-unit-tests."
* commit 'd3d75c029a9b768989d5370000788dca4032b97a':
  Remove testcase time printing in bionic-unit-tests.
2015-01-20 23:43:15 +00:00
Yabin Cui
d3d75c029a Merge "Remove testcase time printing in bionic-unit-tests." 2015-01-20 23:38:35 +00:00
Yabin Cui
eb6212694c am e00eb27c: am 978e54a7: am 1c01c9f7: Merge "Add target libbionic_gtest_main for cts test."
* commit 'e00eb27c651d6de62cb4ee2ece73182f6dff5de5':
  Add target libbionic_gtest_main for cts test.
2015-01-20 23:24:47 +00:00
Yabin Cui
e00eb27c65 am 978e54a7: am 1c01c9f7: Merge "Add target libbionic_gtest_main for cts test."
* commit '978e54a7884211302b230685d73c8e1d9790a0ae':
  Add target libbionic_gtest_main for cts test.
2015-01-20 23:15:21 +00:00
Yabin Cui
978e54a788 am 1c01c9f7: Merge "Add target libbionic_gtest_main for cts test."
* commit '1c01c9f752c07d758349356c18563261b8216da9':
  Add target libbionic_gtest_main for cts test.
2015-01-20 22:51:49 +00:00
Yabin Cui
516eb53113 Remove testcase time printing in bionic-unit-tests.
Bug: 19075565
Change-Id: Icccb60657a2985e96abb1703673f0ebe2199586a
2015-01-20 14:46:03 -08:00
Yabin Cui
1c01c9f752 Merge "Add target libbionic_gtest_main for cts test." 2015-01-20 22:44:02 +00:00
Yabin Cui
6104eb9fa7 Add target libbionic_gtest_main for cts test.
Bug: 17589740
Change-Id: I37f2d3fe72870b9dc867407fa1619c9a6fcd5cbb
2015-01-20 14:32:07 -08:00
Elliott Hughes
66ebd36863 am 717bb49e: am 3873c9df: am 1d7b3f3c: Merge "Improve <stdio_ext.h> testing."
* commit '717bb49ec3d93c1f4ab3782227d4747e758294a6':
  Improve <stdio_ext.h> testing.
2015-01-20 18:41:40 +00:00
Elliott Hughes
717bb49ec3 am 3873c9df: am 1d7b3f3c: Merge "Improve <stdio_ext.h> testing."
* commit '3873c9dfe675e05fdda8ebfc11fdee0ee810b1b3':
  Improve <stdio_ext.h> testing.
2015-01-20 18:34:28 +00:00
Elliott Hughes
3873c9dfe6 am 1d7b3f3c: Merge "Improve <stdio_ext.h> testing."
* commit '1d7b3f3ccc4f2883cbc0fe677dff888c56c18996':
  Improve <stdio_ext.h> testing.
2015-01-20 18:27:47 +00:00
Elliott Hughes
1d7b3f3ccc Merge "Improve <stdio_ext.h> testing." 2015-01-20 18:07:37 +00:00
Elliott Hughes
1b03dc8359 am 4e7078de: am 3ef0c58d: am 3bbf4639: Merge "Add a benchmark for using stdio to read a file in /proc."
* commit '4e7078de2cc4925616fab1ee36eab51fafa571e4':
  Add a benchmark for using stdio to read a file in /proc.
2015-01-17 02:11:11 +00:00
Elliott Hughes
4e7078de2c am 3ef0c58d: am 3bbf4639: Merge "Add a benchmark for using stdio to read a file in /proc."
* commit '3ef0c58db6ed50b6ae0f8560230f0791b9e51415':
  Add a benchmark for using stdio to read a file in /proc.
2015-01-17 02:05:59 +00:00
Elliott Hughes
3ef0c58db6 am 3bbf4639: Merge "Add a benchmark for using stdio to read a file in /proc."
* commit '3bbf4639080bc2f42435b4a7fd400c44aab7fd70':
  Add a benchmark for using stdio to read a file in /proc.
2015-01-17 01:42:16 +00:00
Elliott Hughes
3bbf463908 Merge "Add a benchmark for using stdio to read a file in /proc." 2015-01-17 01:24:44 +00:00
Elliott Hughes
1cf32f83d3 Add a benchmark for using stdio to read a file in /proc.
Change-Id: I12517aae19e36b7c022a11e8807aece61bb0cb9c
2015-01-16 17:08:31 -08:00
Elliott Hughes
df8f1a42d1 Improve <stdio_ext.h> testing.
I almost fixed a non-bug. Add a test to prevent me from doing that.

Change-Id: I4a1dc13e603a7a377bdaee2e78132015087f7107
2015-01-16 16:40:55 -08:00
Elliott Hughes
1be56d6a2a am d3509e4a: am 52e9fe53: am 481cf21e: Merge "Use SI prefixes throughout the benchmark output."
* commit 'd3509e4ad0785fceedc5d3575999b946f0175a5c':
  Use SI prefixes throughout the benchmark output.
2015-01-17 00:38:18 +00:00
Elliott Hughes
d3509e4ad0 am 52e9fe53: am 481cf21e: Merge "Use SI prefixes throughout the benchmark output."
* commit '52e9fe53bb73a399449d2b3ac47d243ce0ba5b3f':
  Use SI prefixes throughout the benchmark output.
2015-01-17 00:31:45 +00:00
Elliott Hughes
52e9fe53bb am 481cf21e: Merge "Use SI prefixes throughout the benchmark output."
* commit '481cf21e08a6cbbc686487744f1cb07b6d3f400e':
  Use SI prefixes throughout the benchmark output.
2015-01-17 00:27:58 +00:00
Elliott Hughes
481cf21e08 Merge "Use SI prefixes throughout the benchmark output." 2015-01-17 00:23:35 +00:00
Yabin Cui
459d8646e1 am 39b71a98: am 58bbe437: am cfe7e75f: Merge "Make sys_resource test more robust."
* commit '39b71a98926a76511d6425c7aefab8997dbb553a':
  Make sys_resource test more robust.
2015-01-16 22:10:34 +00:00
Yabin Cui
39b71a9892 am 58bbe437: am cfe7e75f: Merge "Make sys_resource test more robust."
* commit '58bbe437ac1cf8f74780235a421d844dfe0cc4dc':
  Make sys_resource test more robust.
2015-01-16 22:03:55 +00:00
Yabin Cui
58bbe437ac am cfe7e75f: Merge "Make sys_resource test more robust."
* commit 'cfe7e75fc13afb987d86aaaee305040f3369f797':
  Make sys_resource test more robust.
2015-01-16 21:57:33 +00:00
Yabin Cui
cfe7e75fc1 Merge "Make sys_resource test more robust." 2015-01-16 21:52:11 +00:00
Yabin Cui
4853f40f3f Make sys_resource test more robust.
"ulimit -c xxx" command may run before bionic-unit-tests.
Make sure sys_resource test fails gently in that case.

Change-Id: Ic3b5ed8b20acba56df8c5ef082c88e5050e761aa
2015-01-16 13:28:43 -08:00
Elliott Hughes
8bb020e8e5 Use SI prefixes throughout the benchmark output.
Also switch throughput to GiB/s. I did play with using the new code,
but having consistent units for all results seemed easier to use
anyway (and doesn't require extra code).

Change-Id: I466fd573373bd05619e6f6e6d3dedd7dae0d9362
2015-01-16 13:11:25 -08:00
Elliott Hughes
ead026c23a am 7c385167: am e8d620d5: am ffad8df6: Merge "Use a vector of benchmarks and new for loop syntax."
* commit '7c385167242373859414434ca7d3354a0b88b9c7':
  Use a vector of benchmarks and new for loop syntax.
2015-01-16 06:14:37 +00:00
Elliott Hughes
7c38516724 am e8d620d5: am ffad8df6: Merge "Use a vector of benchmarks and new for loop syntax."
* commit 'e8d620d5a2716cfc16b40c82016ae9d4b84a181c':
  Use a vector of benchmarks and new for loop syntax.
2015-01-16 06:07:41 +00:00
Elliott Hughes
e8d620d5a2 am ffad8df6: Merge "Use a vector of benchmarks and new for loop syntax."
* commit 'ffad8df672363bad43528898cc47aa2ed3d08c66':
  Use a vector of benchmarks and new for loop syntax.
2015-01-16 03:27:04 +00:00
Elliott Hughes
ffad8df672 Merge "Use a vector of benchmarks and new for loop syntax." 2015-01-16 03:22:40 +00:00
Elliott Hughes
e48f533c95 Use a vector of benchmarks and new for loop syntax.
Change-Id: Ib1f1250e7786770083ed6a478677a893b2075a93
2015-01-15 17:10:42 -08:00
Elliott Hughes
ecf096f9b9 am 927875a7: am cb41ce5f: am 594db0f1: Merge "bionic benchmarks: limit benchmark run time to 1s real time"
* commit '927875a7d01ef252539fa742612327f60c9f4fe8':
  bionic benchmarks: limit benchmark run time to 1s real time
2015-01-16 01:00:48 +00:00
Elliott Hughes
f467b74099 am 29bfcf2a: am f1417093: am 3159972a: Merge "bionic benchmarks: export benchmark library"
* commit '29bfcf2a032eb61a3d033b4cf245321a868390dc':
  bionic benchmarks: export benchmark library
2015-01-16 00:56:41 +00:00
Elliott Hughes
927875a7d0 am cb41ce5f: am 594db0f1: Merge "bionic benchmarks: limit benchmark run time to 1s real time"
* commit 'cb41ce5f4e942dce66defb76f25b2e7d61f8ab8d':
  bionic benchmarks: limit benchmark run time to 1s real time
2015-01-16 00:54:14 +00:00
Elliott Hughes
cb41ce5f4e am 594db0f1: Merge "bionic benchmarks: limit benchmark run time to 1s real time"
* commit '594db0f1b235306d2687395564745888348df808':
  bionic benchmarks: limit benchmark run time to 1s real time
2015-01-16 00:48:36 +00:00
Elliott Hughes
29bfcf2a03 am f1417093: am 3159972a: Merge "bionic benchmarks: export benchmark library"
* commit 'f14170937f19710cdedf4bc44f3c3712545648a2':
  bionic benchmarks: export benchmark library
2015-01-16 00:48:32 +00:00
Elliott Hughes
594db0f1b2 Merge "bionic benchmarks: limit benchmark run time to 1s real time" 2015-01-16 00:44:16 +00:00
Elliott Hughes
f14170937f am 3159972a: Merge "bionic benchmarks: export benchmark library"
* commit '3159972a80234f7a8e3903cefaeb7719a50f6279':
  bionic benchmarks: export benchmark library
2015-01-16 00:42:43 +00:00
Colin Cross
a763504f9d bionic benchmarks: limit benchmark run time to 1s real time
The benchmark run loop tries to run until 1s of time has been
accumulated between StartBenchmarkTiming() and StopBenchmarkTiming().
If a majority of the time is spent stopped this can lead to
benchmarks running for very long periods of time.  This can easily
happen when benchmarking something that requires initialization or
cleanup on each iteration.

Modify the loop to run for 1s of real time instead of 1s of
benchmark time.  For existing benchmarks this shouldn't make much
of a difference.

Change-Id: Iaba8a13b4dfc4a5e2cd9992041c9173ea556f9cc
2015-01-15 16:42:20 -08:00
Elliott Hughes
3159972a80 Merge "bionic benchmarks: export benchmark library" 2015-01-16 00:36:20 +00:00
Colin Cross
7b9df19491 bionic benchmarks: export benchmark library
Export libbenchmark for external projects to write benchmarks against.

Change-Id: I3b04a56a62ce517afc0d5e06dc8d28879ada3d30
2015-01-15 16:22:42 -08:00
Yabin Cui
e42c7de3ee am b8679a84: am afb488a3: am 6fac2f68: Merge "Fix possible leak in pthread_detach."
* commit 'b8679a84dfc5f8ed628e7bd4772c72f76240d458':
  Fix possible leak in pthread_detach.
2015-01-15 22:17:47 +00:00
Yabin Cui
0a179a57b6 am 5b143c54: am 4a538412: am deab11ac: Merge "Make bionic-unit-tests default run isolate mode."
* commit '5b143c547bf8a576e656ce7d5bbded0029c45cb2':
  Make bionic-unit-tests default run isolate mode.
2015-01-15 22:17:46 +00:00
Dmitriy Ivanov
0d745c5ba2 am 9a0641a0: am c16eafd5: am fcc6fd35: Merge "Refactoring: move mips reloc to separate method"
* commit '9a0641a0f321dffc5991f883cd8e65df83b5c800':
  Refactoring: move mips reloc to separate method
2015-01-15 22:17:21 +00:00
Yabin Cui
b8679a84df am afb488a3: am 6fac2f68: Merge "Fix possible leak in pthread_detach."
* commit 'afb488a3e91c7ac297b4f91e9985fd10c09d6f81':
  Fix possible leak in pthread_detach.
2015-01-15 19:47:35 +00:00
Yabin Cui
afb488a3e9 am 6fac2f68: Merge "Fix possible leak in pthread_detach."
* commit '6fac2f680f829570122276dc6876f02350a652b1':
  Fix possible leak in pthread_detach.
2015-01-15 19:43:52 +00:00
Yabin Cui
6fac2f680f Merge "Fix possible leak in pthread_detach." 2015-01-15 19:35:38 +00:00
Yabin Cui
5b143c547b am 4a538412: am deab11ac: Merge "Make bionic-unit-tests default run isolate mode."
* commit '4a53841212de2c129ca0769968d8891be97b6cde':
  Make bionic-unit-tests default run isolate mode.
2015-01-15 19:17:06 +00:00
Yabin Cui
4a53841212 am deab11ac: Merge "Make bionic-unit-tests default run isolate mode."
* commit 'deab11acd7000573ad9c034e5bf9475aadbc5cbe':
  Make bionic-unit-tests default run isolate mode.
2015-01-15 19:10:33 +00:00
Yabin Cui
19e246dda6 Fix possible leak in pthread_detach.
If pthread_detach() is called while the thread is in pthread_exit(),
it takes the risk that no one can free the pthread_internal_t.
So I add PTHREAD_ATTR_FLAG_ZOMBIE to detect this, maybe very rare, but
both glibc and netbsd libpthread have similar function.

Change-Id: Iaa15f651903b8ca07aaa7bd4de46ff14a2f93835
2015-01-15 10:45:25 -08:00
Yabin Cui
deab11acd7 Merge "Make bionic-unit-tests default run isolate mode." 2015-01-15 18:10:30 +00:00
Dmitriy Ivanov
9a0641a0f3 am c16eafd5: am fcc6fd35: Merge "Refactoring: move mips reloc to separate method"
* commit 'c16eafd5ff06845606fa24ed83794104c7f995e6':
  Refactoring: move mips reloc to separate method
2015-01-15 18:08:14 +00:00
Dmitriy Ivanov
c16eafd5ff am fcc6fd35: Merge "Refactoring: move mips reloc to separate method"
* commit 'fcc6fd35dfa88e659aa1769d1a1351ad74278763':
  Refactoring: move mips reloc to separate method
2015-01-15 18:01:49 +00:00
Dmitriy Ivanov
fcc6fd35df Merge "Refactoring: move mips reloc to separate method" 2015-01-15 17:56:36 +00:00
Dmitriy Ivanov
53789e7f3c am 59c080ca: am 0f1fe41f: am ffa2c9ed: Merge "Refactoring: unify relocate function"
* commit '59c080ca7935934a8a2db57127945eff10dcea16':
  Refactoring: unify relocate function
2015-01-15 02:27:52 +00:00
Andres Morales
ec4c8e9c87 am 6dcbe942: am 740ac6fe: am 2b15f54a: Merge "bionic: libc: Added path to root ramdisk build properties file."
* commit '6dcbe94239385526c97d1954af92c14f29185950':
  bionic: libc: Added path to root ramdisk build properties file.
2015-01-15 02:27:39 +00:00
Yabin Cui
80b0935a57 am 49810c36: am d12ea31b: am 85747809: Merge "Test that ip6-localhost exists in etc/hosts."
* commit '49810c36960e2821b056be450b7ac007e0257c19':
  Test that ip6-localhost exists in etc/hosts.
2015-01-15 02:27:25 +00:00
Dmitriy Ivanov
37aa5a5aee am 5ae47f4d: am 47a32828: am a23569c9: Merge "Refactoring: use generic reloc constants"
* commit '5ae47f4d815d9ef41fa1391706bac37ab0efddf7':
  Refactoring: use generic reloc constants
2015-01-15 02:27:24 +00:00
Elliott Hughes
b7fce775eb am 7d640183: am 5bff8a23: am d986f2e4: Merge "Sync with upstream OpenBSD stdio."
* commit '7d640183f2ab6ec46cad73becc7fd259e8a48bdb':
  Sync with upstream OpenBSD stdio.
2015-01-15 02:27:23 +00:00
Dmitriy Ivanov
114ff69f17 Refactoring: move mips reloc to separate method
Change-Id: I712614853e3f0e515f5c2bdd8f0aaa5feeae8e55
2015-01-14 18:03:19 -08:00
Dimitry Ivanov
c3a7cae009 am 0e8bf252: am a0f25379: am b13f5f50: Merge "Revert "Refactoring: use generic reloc constants""
* commit '0e8bf252f4d783b6f104b5df8d51deab648f0064':
  Revert "Refactoring: use generic reloc constants"
2015-01-14 21:14:04 +00:00
Dmitriy Ivanov
1f432f9f6b am 83d6a494: am b6c4f646: am 684a861b: Merge "Refactoring: use generic reloc constants"
* commit '83d6a49403b81fb71372994273ae65e711038d0b':
  Refactoring: use generic reloc constants
2015-01-14 21:14:03 +00:00
Dmitriy Ivanov
59c080ca79 am 0f1fe41f: am ffa2c9ed: Merge "Refactoring: unify relocate function"
* commit '0f1fe41f536abd17a9f20b813b57ae2e3ace13cb':
  Refactoring: unify relocate function
2015-01-14 18:26:59 +00:00
Dmitriy Ivanov
0f1fe41f53 am ffa2c9ed: Merge "Refactoring: unify relocate function"
* commit 'ffa2c9edb5b1cf295bceffc7876a68747b6fa259':
  Refactoring: unify relocate function
2015-01-14 18:19:37 +00:00
Dmitriy Ivanov
ffa2c9edb5 Merge "Refactoring: unify relocate function" 2015-01-14 18:14:30 +00:00
Andres Morales
6dcbe94239 am 740ac6fe: am 2b15f54a: Merge "bionic: libc: Added path to root ramdisk build properties file."
* commit '740ac6fe7358ac73643189bbe1b7a5e7c76142f3':
  bionic: libc: Added path to root ramdisk build properties file.
2015-01-14 16:05:28 +00:00
Andres Morales
740ac6fe73 am 2b15f54a: Merge "bionic: libc: Added path to root ramdisk build properties file."
* commit '2b15f54a489d84d9a273025b615cdb63f63d5fc9':
  bionic: libc: Added path to root ramdisk build properties file.
2015-01-14 15:59:03 +00:00
Andres Morales
2b15f54a48 Merge "bionic: libc: Added path to root ramdisk build properties file." 2015-01-14 15:54:04 +00:00
Yabin Cui
49810c3696 am d12ea31b: am 85747809: Merge "Test that ip6-localhost exists in etc/hosts."
* commit 'd12ea31b8dd050c5567425c121de3356b8e07e93':
  Test that ip6-localhost exists in etc/hosts.
2015-01-14 12:07:32 +00:00
Dmitriy Ivanov
5ae47f4d81 am 47a32828: am a23569c9: Merge "Refactoring: use generic reloc constants"
* commit '47a32828c2e2825ab0e81970f40514fc411bd45d':
  Refactoring: use generic reloc constants
2015-01-14 12:07:25 +00:00
Elliott Hughes
7d640183f2 am 5bff8a23: am d986f2e4: Merge "Sync with upstream OpenBSD stdio."
* commit '5bff8a23379ea4034d3112ad5725e91e4b801d5a':
  Sync with upstream OpenBSD stdio.
2015-01-14 12:07:23 +00:00
Yabin Cui
d12ea31b8d am 85747809: Merge "Test that ip6-localhost exists in etc/hosts."
* commit '85747809b05a5e3b48bd4da9a7ea98d0adf8f919':
  Test that ip6-localhost exists in etc/hosts.
2015-01-14 12:00:21 +00:00
Dmitriy Ivanov
47a32828c2 am a23569c9: Merge "Refactoring: use generic reloc constants"
* commit 'a23569c9485d50e9184dcc7d97640140015b3f3d':
  Refactoring: use generic reloc constants
2015-01-14 12:00:19 +00:00
Elliott Hughes
5bff8a2337 am d986f2e4: Merge "Sync with upstream OpenBSD stdio."
* commit 'd986f2e4642a0571754cb1349101acf8ac10b484':
  Sync with upstream OpenBSD stdio.
2015-01-14 12:00:18 +00:00
Dmitriy Ivanov
bcc04d0069 Refactoring: unify relocate function
Use one relocate for all platforms.

Change-Id: I43e75162c5b29105e651defc11a511e168368736
2015-01-13 19:15:02 -08:00
Andres Morales
9d9ebc5fc9 bionic: libc: Added path to root ramdisk build properties file.
Change-Id: Id850e4e5ef4e91cea7ad53f6858886daf660eeec
2015-01-13 18:07:23 -08:00
Yabin Cui
85747809b0 Merge "Test that ip6-localhost exists in etc/hosts." 2015-01-14 01:50:20 +00:00
Dmitriy Ivanov
a23569c948 Merge "Refactoring: use generic reloc constants" 2015-01-14 01:35:39 +00:00
Yabin Cui
a35cd8cdc2 Test that ip6-localhost exists in etc/hosts.
Addition change: make netdb_test pass on host.

Bug: 18791191
Change-Id: I7a9e29aa559ff6557288b47323d8a436379201a2
2015-01-13 17:30:51 -08:00
Elliott Hughes
d986f2e464 Merge "Sync with upstream OpenBSD stdio." 2015-01-14 01:27:37 +00:00
Elliott Hughes
01abeacded Sync with upstream OpenBSD stdio.
Mainly to get the __atexit_register_cleanup removals we suggested.

Change-Id: I58d40b8c5b8401bfb6bfffe8f3430ac0718af917
2015-01-13 17:19:21 -08:00
Dmitriy Ivanov
1b694693b4 Refactoring: use generic reloc constants
Change-Id: I94dd6256b1b4509b6ea696a3aff17a3991529468
2015-01-13 15:56:54 -08:00
Dimitry Ivanov
0e8bf252f4 am a0f25379: am b13f5f50: Merge "Revert "Refactoring: use generic reloc constants""
* commit 'a0f253791cce7050515056786a575a61409e9c2e':
  Revert "Refactoring: use generic reloc constants"
2015-01-13 23:26:13 +00:00
Dmitriy Ivanov
83d6a49403 am b6c4f646: am 684a861b: Merge "Refactoring: use generic reloc constants"
* commit 'b6c4f646c9dea20ec783e2e6562e17d5b95632df':
  Refactoring: use generic reloc constants
2015-01-13 23:26:12 +00:00
Dimitry Ivanov
a0f253791c am b13f5f50: Merge "Revert "Refactoring: use generic reloc constants""
* commit 'b13f5f5029d5fab190a4480ea3caa623328c5415':
  Revert "Refactoring: use generic reloc constants"
2015-01-13 23:20:28 +00:00
Dmitriy Ivanov
b6c4f646c9 am 684a861b: Merge "Refactoring: use generic reloc constants"
* commit '684a861bab72b8ec27b41f221982d434b40dcbfe':
  Refactoring: use generic reloc constants
2015-01-13 23:20:27 +00:00
Dimitry Ivanov
b13f5f5029 Merge "Revert "Refactoring: use generic reloc constants"" 2015-01-13 22:32:49 +00:00
Dimitry Ivanov
d338aac19c Revert "Refactoring: use generic reloc constants"
This reverts commit 265a60a0d2.

Change-Id: I6d46db0ac03cda44ed1e20f6084a552e0089eb14
2015-01-13 22:31:54 +00:00
Dmitriy Ivanov
684a861bab Merge "Refactoring: use generic reloc constants" 2015-01-13 22:21:05 +00:00
Dan Albert
e4e8644234 am e659cef5: am 19598a2f: am 5a388898: Merge "Check the committer rather than the Gerrit owner."
* commit 'e659cef5a769a9fa204f1e1f61cb2201b0eb131a':
  Check the committer rather than the Gerrit owner.
2015-01-13 20:32:47 +00:00
Dan Albert
24329863ca am a66b68c2: am d5ff09c2: am 8d50e16a: Merge "Guard against @google.com.example.com."
* commit 'a66b68c22bd301bd1f64e68dd634daa905997a86':
  Guard against @google.com.example.com.
2015-01-13 20:31:56 +00:00
Dan Albert
661f53a6b0 am 905ffc2b: am a38662b4: am 780ea474: Merge "Oops. Fix dict key."
* commit '905ffc2b38796e57dca0f9f53a863fdd5a51de76':
  Oops. Fix dict key.
2015-01-13 20:31:11 +00:00
Dan Albert
64de0e75ad am a88a19f2: am cc1a8935: am 0d0188b0: Merge "Only build changes that come from @google.com."
* commit 'a88a19f2b415f62d7e8b565ebfc75d2bf633ddd0':
  Only build changes that come from @google.com.
2015-01-13 20:31:10 +00:00
Dmitriy Ivanov
265a60a0d2 Refactoring: use generic reloc constants
Change-Id: I67918a1a926164a38a5a47f2264390632eb42905
2015-01-13 12:17:31 -08:00
Dan Albert
e659cef5a7 am 19598a2f: am 5a388898: Merge "Check the committer rather than the Gerrit owner."
* commit '19598a2f548bd545a41741f5b0964b74afb2f4ff':
  Check the committer rather than the Gerrit owner.
2015-01-13 01:27:19 +00:00
Dan Albert
19598a2f54 am 5a388898: Merge "Check the committer rather than the Gerrit owner."
* commit '5a388898cfa9befb7626dfcd9940713ce942cadd':
  Check the committer rather than the Gerrit owner.
2015-01-13 01:05:43 +00:00
Dan Albert
5a388898cf Merge "Check the committer rather than the Gerrit owner." 2015-01-13 00:58:31 +00:00
Dan Albert
b4060330aa Check the committer rather than the Gerrit owner.
Guarding based on the Gerrit owner can be circumvented by an arbitrary
user uploading a different patch with a Change-Id that is non-unique,
with the other copy being owned by a Googler.

Change-Id: I5414b679e361d4c38d70bf9c4516c122f668fc49
2015-01-12 16:33:17 -08:00
Dan Albert
a66b68c22b am d5ff09c2: am 8d50e16a: Merge "Guard against @google.com.example.com."
* commit 'd5ff09c23a954d20b0dc21750dc5c0a666c0ce56':
  Guard against @google.com.example.com.
2015-01-12 21:59:18 +00:00
Dan Albert
d5ff09c23a am 8d50e16a: Merge "Guard against @google.com.example.com."
* commit '8d50e16aa96291612c95f89b49ecfacf556241a6':
  Guard against @google.com.example.com.
2015-01-12 21:52:52 +00:00
Dan Albert
8d50e16aa9 Merge "Guard against @google.com.example.com." 2015-01-12 21:49:05 +00:00
Dan Albert
ad248b7c00 Guard against @google.com.example.com.
Begin adding some unit tests. Testing the Jenkins interface will
probably be difficult, but testing that we can properly handle
messages from Gerrit is easy enough.

Change-Id: Id7e8e175e0f064fd10715febe40040a65564c701
2015-01-12 13:48:46 -08:00
Dan Albert
905ffc2b38 am a38662b4: am 780ea474: Merge "Oops. Fix dict key."
* commit 'a38662b4423a2277f15305de69df91fa995afac0':
  Oops. Fix dict key.
2015-01-12 20:10:04 +00:00
Dan Albert
a38662b442 am 780ea474: Merge "Oops. Fix dict key."
* commit '780ea47482854e1b58931bea928bf93bcaf6e3aa':
  Oops. Fix dict key.
2015-01-12 20:04:11 +00:00
Dan Albert
a88a19f2b4 am cc1a8935: am 0d0188b0: Merge "Only build changes that come from @google.com."
* commit 'cc1a8935c53295c87429d7120f25bfb6352e9071':
  Only build changes that come from @google.com.
2015-01-12 20:01:00 +00:00
Dan Albert
780ea47482 Merge "Oops. Fix dict key." 2015-01-12 19:59:29 +00:00
Dan Albert
f988da4730 Oops. Fix dict key.
Change-Id: Ia8295417d4097f38eef633089cb4539b849f3c74
2015-01-12 11:58:09 -08:00
Dan Albert
cc1a8935c5 am 0d0188b0: Merge "Only build changes that come from @google.com."
* commit '0d0188b0c7e017e431c83b2f7e4956137430b6d9':
  Only build changes that come from @google.com.
2015-01-12 19:55:19 +00:00
Dan Albert
0d0188b0c7 Merge "Only build changes that come from @google.com." 2015-01-12 19:51:39 +00:00
Dan Albert
29be129342 Only build changes that come from @google.com.
Googlers should be able to tell the buildbot to launch builds for an
external contributor's change, but Gerrit is determined to make this
hard for us. The email sent by Gerrit for comments doesn't actually
contain the email address of the commenter in any clear way, only the
name. It does however contain a list of `Gerrit-Reviewer: Name
<email>` entries that could be used for this though.

Change-Id: Iee61f06dcd8f0024f16b535ea9a34765bf01b2e7
2015-01-12 11:48:04 -08:00
Dan Albert
f82df6af9f am 535c3471: am 61a6a940: am d7f935a0: Merge "Make indentation match the style guide."
* commit '535c34716097f9c73d045c182f8be6b8301e5305':
  Make indentation match the style guide.
2015-01-10 15:57:02 +00:00
Yabin Cui
d7929d3eaa am 5631f47e: am 1217d9a3: am c80eb091: Merge "Clean up paths.h."
* commit '5631f47eb694d15aaddd4087eb61184f32c00356':
  Clean up paths.h.
2015-01-10 15:56:58 +00:00
Dan Albert
535c347160 am 61a6a940: am d7f935a0: Merge "Make indentation match the style guide."
* commit '61a6a940ce93ad503905f21a2e7a2c89208832d8':
  Make indentation match the style guide.
2015-01-10 06:55:19 +00:00
Dan Albert
61a6a940ce am d7f935a0: Merge "Make indentation match the style guide."
* commit 'd7f935a05b25d003a721565ba64a015b3a341fbe':
  Make indentation match the style guide.
2015-01-10 06:49:29 +00:00
Dan Albert
64390f940c Add support for building other architectures.
Since we often make changes that might break on other architectures,
let the buildbot deal with some of these for us. They can be invoked
by `bionicbb:ARCH`, where `ARCH` is one of:

 * arm
 * aarch64
 * mips
 * mips64
 * x86
 * x86_64

Specifying arm isn't particularly interesting (since the default
target for the buildbot is hammerhead), but there are some differences
in the math instructions available for the default ARM target, so it
could be helpful for testing changes to the compiler-rt builtins.

Change-Id: I94018fd3c30d26fcf405e747fc633cbdd08ff4e5
2015-01-09 22:45:33 -08:00
Dan Albert
d7f935a05b Merge "Make indentation match the style guide." 2015-01-10 06:45:20 +00:00
Yabin Cui
5631f47eb6 am 1217d9a3: am c80eb091: Merge "Clean up paths.h."
* commit '1217d9a3d13222f16978282d4488588bfe420233':
  Clean up paths.h.
2015-01-10 05:29:04 +00:00
Yabin Cui
1217d9a3d1 am c80eb091: Merge "Clean up paths.h."
* commit 'c80eb091a4c090d1162959e08921f8989b3dc355':
  Clean up paths.h.
2015-01-10 05:24:53 +00:00
Yabin Cui
c80eb091a4 Merge "Clean up paths.h." 2015-01-10 05:17:29 +00:00
Yabin Cui
3471fcbb6a Clean up paths.h.
Bug: 18905946
Change-Id: I02cd1ddd5c0b0af165685413bc1fb12ca6bf5f33
2015-01-09 20:04:04 -08:00
Dan Albert
0b0ac9c1b4 am 7d327dce: am da89944a: am 7e3766a8: Merge "Use relative imports."
* commit '7d327dcefbc2af21e5360f7b5e4b3bd04f3a7fce':
  Use relative imports.
2015-01-10 02:02:39 +00:00
Dan Albert
7d327dcefb am da89944a: am 7e3766a8: Merge "Use relative imports."
* commit 'da89944a7d7049b0f3554a78208bd2676d6d6529':
  Use relative imports.
2015-01-10 01:58:41 +00:00
Dan Albert
c02df47f20 Make indentation match the style guide.
Apparently Google abandoned the 2 space indent for Python long ago.
Helps to actually read the style guide before trying to adhere to it.

Change-Id: I4feb019f0916f9d8e4f78c0dbeafbe45d8a46bfd
2015-01-09 17:22:00 -08:00
Dan Albert
da89944a7d am 7e3766a8: Merge "Use relative imports."
* commit '7e3766a8fcc534d92a6f7416fcbbdc092756e415':
  Use relative imports.
2015-01-10 01:02:45 +00:00
Dan Albert
c3a715bac7 am 43bbf5d0: am d8075224: am 2f8f6db5: Merge "Add JSON files and oauth storage to .gitignore."
* commit '43bbf5d0b44dd64043449bbd65731cd2f4f838cc':
  Add JSON files and oauth storage to .gitignore.
2015-01-10 00:59:20 +00:00
Dan Albert
b5a90f004b am 0e168aee: am 4b90d41e: am c8fec746: Merge "Make service URLs configurable."
* commit '0e168aee6ccbff45c6af5d2ac194cfd09858e05c':
  Make service URLs configurable.
2015-01-10 00:59:19 +00:00
Dan Albert
7e3766a8fc Merge "Use relative imports." 2015-01-10 00:58:13 +00:00
Dan Albert
43bbf5d0b4 am d8075224: am 2f8f6db5: Merge "Add JSON files and oauth storage to .gitignore."
* commit 'd807522467deb32ee54d3bbc361919164dca07d6':
  Add JSON files and oauth storage to .gitignore.
2015-01-10 00:54:07 +00:00
Dan Albert
0e168aee6c am 4b90d41e: am c8fec746: Merge "Make service URLs configurable."
* commit '4b90d41e18288254fdfd83b3b640b4a83f0dd4bd':
  Make service URLs configurable.
2015-01-10 00:54:02 +00:00
Dan Albert
8a15a4e5c4 Use relative imports.
Making `bionicbb` its own package required `PYTHONPATH=..`, which we
don't want. Just use a relative import instead.

Change-Id: I59b9852522118ece89829288a4921902e756e4aa
2015-01-09 16:53:09 -08:00
Dan Albert
d807522467 am 2f8f6db5: Merge "Add JSON files and oauth storage to .gitignore."
* commit '2f8f6db5e4730a9f52be7415236f5ea55623d789':
  Add JSON files and oauth storage to .gitignore.
2015-01-10 00:48:03 +00:00
Dan Albert
4b90d41e18 am c8fec746: Merge "Make service URLs configurable."
* commit 'c8fec746b692812d549167514c4d0d30b09162e6':
  Make service URLs configurable.
2015-01-10 00:48:02 +00:00
Dan Albert
2f8f6db5e4 Merge "Add JSON files and oauth storage to .gitignore." 2015-01-10 00:43:08 +00:00
Dan Albert
c8fec746b6 Merge "Make service URLs configurable." 2015-01-10 00:43:04 +00:00
Dan Albert
eb85ff0aba Add JSON files and oauth storage to .gitignore.
The only JSON file is the client secret file, which we really don't
want leaking. Same goes for the oauth storage file.

Change-Id: Ie860704574ec37ccfc50ff7c9d59717a7b9b443b
2015-01-09 16:24:17 -08:00
Dan Albert
691e809edb Make service URLs configurable.
Change-Id: I91df77b7e0294be5e6180460b0ef26d7ead2ea7d
2015-01-09 16:18:48 -08:00
Dmitriy Ivanov
21db822906 am dde3d83a: am 2e44e464: am 9c4783b1: Merge changes I713800ce,I1dea46c3
* commit 'dde3d83a6f7b8d4c876e53ca111f7a36424866f3':
  Refactor soinfo::relocate
  Add ARM_IRELATIVE relocation
2015-01-10 00:01:27 +00:00
Dmitriy Ivanov
dde3d83a6f am 2e44e464: am 9c4783b1: Merge changes I713800ce,I1dea46c3
* commit '2e44e4649a5ebf00e7ab1bc5ff32f6bd79845347':
  Refactor soinfo::relocate
  Add ARM_IRELATIVE relocation
2015-01-09 23:55:42 +00:00
Dmitriy Ivanov
2e44e4649a am 9c4783b1: Merge changes I713800ce,I1dea46c3
* commit '9c4783b18c75f02be7bfb6756101ee31a05aba01':
  Refactor soinfo::relocate
  Add ARM_IRELATIVE relocation
2015-01-09 23:49:49 +00:00
Dan Albert
26768ab636 am 5dc75719: am bbd668f9: am 84cbe049: Merge "Markdown-ify 5137db3."
* commit '5dc7571967fd0bc0f226a92557fd9eca5513424f':
  Markdown-ify 5137db3.
2015-01-09 23:49:03 +00:00
Dmitriy Ivanov
9c4783b18c Merge changes I713800ce,I1dea46c3
* changes:
  Refactor soinfo::relocate
  Add ARM_IRELATIVE relocation
2015-01-09 23:44:50 +00:00
Dan Albert
5dc7571967 am bbd668f9: am 84cbe049: Merge "Markdown-ify 5137db3."
* commit 'bbd668f9be148dfcfb1c9ee1490b8ca1c1362ebb':
  Markdown-ify 5137db3.
2015-01-09 23:42:30 +00:00
Dan Albert
bbd668f9be am 84cbe049: Merge "Markdown-ify 5137db3."
* commit '84cbe0491857471d3e4208f0d9cc184adb43914b':
  Markdown-ify 5137db3.
2015-01-09 23:37:06 +00:00
Dan Albert
84cbe04918 Merge "Markdown-ify 5137db3." 2015-01-09 23:32:27 +00:00
Dan Albert
81387484b5 am e052971b: am 60272219: am 11b3fa54: Merge "Check in bionicbb code."
* commit 'e052971b9747a594f13baeedf64d77ecbc8bfa1e':
  Check in bionicbb code.
2015-01-09 23:31:24 +00:00
Dan Albert
79b9830b1d Markdown-ify 5137db3.
Most of these are just aesthetic, but the `_FILE_OFFSET_BITS` probably
would have rendered partly as italics and skipped some underscores.

GitHub's Markdown also doesn't identify our bug URLs as links, so mark
them explicitly.

Change-Id: I62be7542aa43929d847de2bad7d8d1ed3aaa640c
2015-01-09 15:29:46 -08:00
Dan Albert
e052971b97 am 60272219: am 11b3fa54: Merge "Check in bionicbb code."
* commit '6027221967aed3a5cd60b54ae207483739d51a38':
  Check in bionicbb code.
2015-01-09 23:27:53 +00:00
Dan Albert
6027221967 am 11b3fa54: Merge "Check in bionicbb code."
* commit '11b3fa5432951950b3fc9aadfe56139969300cad':
  Check in bionicbb code.
2015-01-09 23:22:50 +00:00
Dan Albert
11b3fa5432 Merge "Check in bionicbb code." 2015-01-09 23:17:49 +00:00
Dan Albert
7c78d24011 Check in bionicbb code.
These have been sitting around in a git repo on my machine for a
while. They're now big an important enough that I'd like to both keep
them securely backed up, and also have my changes reviewed.

Change-Id: Ic4545149b4b07f0d57b21cac32aab8553dceb567
2015-01-09 15:12:48 -08:00
Dmitriy Ivanov
cefef7dab6 Refactor soinfo::relocate
Move common relocation types outside of ifdefs

Change-Id: I713800ce123a18178b5ac80c0b3c7bd6b21a02c2
2015-01-09 14:57:53 -08:00
Elliott Hughes
2ca1a33c59 am bb819d30: am a36a4076: am 5137db34: Merge "Add our LP32 ABI defects to the readme."
* commit 'bb819d30d392f77c23155efff7b17a947dddc069':
  Add our LP32 ABI defects to the readme.
2015-01-09 22:12:03 +00:00
Elliott Hughes
bb819d30d3 am a36a4076: am 5137db34: Merge "Add our LP32 ABI defects to the readme."
* commit 'a36a407675c30b40e67f393be8e0dbfad1f81676':
  Add our LP32 ABI defects to the readme.
2015-01-09 22:06:01 +00:00
Elliott Hughes
a36a407675 am 5137db34: Merge "Add our LP32 ABI defects to the readme."
* commit '5137db34a2c4d0de258849753cca2b44968b0a10':
  Add our LP32 ABI defects to the readme.
2015-01-09 22:01:08 +00:00
Elliott Hughes
5137db34a2 Merge "Add our LP32 ABI defects to the readme." 2015-01-09 21:54:08 +00:00
Chih-hung Hsieh
97b0bfc5c0 am 950fd097: am 9e0d50f0: am 10805009: Merge "Revert "Must use Clang assembler for mips target.""
* commit '950fd09771a385855e6f6947db6b9498871dec98':
  Revert "Must use Clang assembler for mips target."
2015-01-09 20:22:54 +00:00
Elliott Hughes
0b1de06910 Add our LP32 ABI defects to the readme.
Change-Id: Id77a3dbf6b91243c57528ed86ca24100d8795907
2015-01-09 12:21:24 -08:00
Chih-hung Hsieh
950fd09771 am 9e0d50f0: am 10805009: Merge "Revert "Must use Clang assembler for mips target.""
* commit '9e0d50f04406a7b2923d501bdd213b7fcec24d2a':
  Revert "Must use Clang assembler for mips target."
2015-01-09 20:15:32 +00:00
Chih-hung Hsieh
9e0d50f044 am 10805009: Merge "Revert "Must use Clang assembler for mips target.""
* commit '10805009e8003629fe08c5a2a8b8905773526f2d':
  Revert "Must use Clang assembler for mips target."
2015-01-09 20:10:00 +00:00
Chih-hung Hsieh
10805009e8 Merge "Revert "Must use Clang assembler for mips target."" 2015-01-09 20:05:16 +00:00
Dmitriy Ivanov
7102658709 am 9ab5808b: am da8b89a1: am edf87617: Merge "Remove outdated list of abi bugs"
* commit '9ab5808b606fcbbaa3b6fddae002b17e3bf71207':
  Remove outdated list of abi bugs
2015-01-09 18:46:06 +00:00
Dmitriy Ivanov
9ab5808b60 am da8b89a1: am edf87617: Merge "Remove outdated list of abi bugs"
* commit 'da8b89a1f0d8195a65c7352028a12c4d219658fe':
  Remove outdated list of abi bugs
2015-01-09 18:41:52 +00:00
Dmitriy Ivanov
da8b89a1f0 am edf87617: Merge "Remove outdated list of abi bugs"
* commit 'edf87617e3355cf06cbf7eb5dd2a0119422c38fa':
  Remove outdated list of abi bugs
2015-01-09 18:36:32 +00:00
Dmitriy Ivanov
edf87617e3 Merge "Remove outdated list of abi bugs" 2015-01-09 18:32:39 +00:00
Duane Sand
6f40a8ac74 Revert "Must use Clang assembler for mips target."
This reverts commit 6f96d58c0d.
2015-01-09 10:24:11 -08:00
Dmitriy Ivanov
a137f53980 Add ARM_IRELATIVE relocation
Bug: 17399706
Change-Id: I1dea46c3a3c4572558e718283489c323794176c7
2015-01-08 22:22:27 -08:00
Yabin Cui
be837360c3 Make bionic-unit-tests default run isolate mode.
Fix bug of handling signal terminated tests.

Bug: 17589740
Bug: 18951146
Change-Id: I4803382b26cd5454693090202b3ba38e3dbe66e5
2015-01-08 20:34:58 -08:00
Elliott Hughes
3db10f76a1 am 857e1124: am e6594658: am 8623dc75: Merge "Fix freeaddrinfo(NULL)."
* commit '857e1124433a4946bc38f427d390ef39a2f083b1':
  Fix freeaddrinfo(NULL).
2015-01-09 03:04:43 +00:00
Elliott Hughes
857e112443 am e6594658: am 8623dc75: Merge "Fix freeaddrinfo(NULL)."
* commit 'e6594658f7d36172007a2573e345d6ae0d0ac58a':
  Fix freeaddrinfo(NULL).
2015-01-09 02:58:56 +00:00
Elliott Hughes
e6594658f7 am 8623dc75: Merge "Fix freeaddrinfo(NULL)."
* commit '8623dc75479f88e7ccdec708b5c7ca0abeb285d1':
  Fix freeaddrinfo(NULL).
2015-01-09 02:53:54 +00:00
Elliott Hughes
8623dc7547 Merge "Fix freeaddrinfo(NULL)." 2015-01-09 02:48:29 +00:00
Elliott Hughes
c62a4b5a7a Fix freeaddrinfo(NULL).
Bug: https://code.google.com/p/android/issues/detail?id=13228
Change-Id: I5e3b126d90d750a93ac0b8872198e50ba047e603
2015-01-08 17:28:46 -08:00
Yabin Cui
690510b561 am f4af806b: am 1ecafe3f: am 4c47fc4e: Merge "Make pthread stack size match real range."
* commit 'f4af806bb769498d8170748c27876822e1842369':
  Make pthread stack size match real range.
2015-01-08 23:12:53 +00:00
Yabin Cui
f4af806bb7 am 1ecafe3f: am 4c47fc4e: Merge "Make pthread stack size match real range."
* commit '1ecafe3feff42e9c7a171e6c865ae4a5df4f6284':
  Make pthread stack size match real range.
2015-01-08 23:07:22 +00:00
Yabin Cui
1ecafe3fef am 4c47fc4e: Merge "Make pthread stack size match real range."
* commit '4c47fc4ed39dff497d4c56ba864b3a3f659250f4':
  Make pthread stack size match real range.
2015-01-08 23:00:46 +00:00
Yabin Cui
4c47fc4ed3 Merge "Make pthread stack size match real range." 2015-01-08 22:57:27 +00:00
Yabin Cui
917d390510 Make pthread stack size match real range.
Bug: 18908062
Change-Id: I7037ac8273ebe54dd19b1561c7a376819049124c
2015-01-08 14:27:24 -08:00
Dmitriy Ivanov
7c561427fd am 6dd9bd18: am 1e17b491: am b5e508cf: Merge "Set linux 32bit personality for 32 bit processes"
* commit '6dd9bd1887a1cd5152011545a3ebecf4701829b2':
  Set linux 32bit personality for 32 bit processes
2015-01-08 01:03:16 +00:00
Dmitriy Ivanov
6dd9bd1887 am 1e17b491: am b5e508cf: Merge "Set linux 32bit personality for 32 bit processes"
* commit '1e17b4914f33fce506a91003536f8a4fc52380e2':
  Set linux 32bit personality for 32 bit processes
2015-01-08 00:56:47 +00:00
Dmitriy Ivanov
1e17b4914f am b5e508cf: Merge "Set linux 32bit personality for 32 bit processes"
* commit 'b5e508cfee2355bad0502587e4fce8f4173584d6':
  Set linux 32bit personality for 32 bit processes
2015-01-08 00:50:49 +00:00
Dmitriy Ivanov
b5e508cfee Merge "Set linux 32bit personality for 32 bit processes" 2015-01-08 00:46:49 +00:00
Dmitriy Ivanov
bfa15e464e Set linux 32bit personality for 32 bit processes
Bug: 18069809
Change-Id: Ie143d56b0f8f03510dc451649291067e1add1d2f
2015-01-07 16:32:05 -08:00
Dmitriy Ivanov
f7caf17795 am 7c16f565: am 880aed0b: am 1d548dc9: Merge "Print error when prelink fails for main executable"
* commit '7c16f56566b1bc54d144eda32d112ebb9cb4be17':
  Print error when prelink fails for main executable
2015-01-08 00:27:05 +00:00
Dmitriy Ivanov
7c16f56566 am 880aed0b: am 1d548dc9: Merge "Print error when prelink fails for main executable"
* commit '880aed0b4defd7e30afcf29d4bcdf0bdd7a0bc64':
  Print error when prelink fails for main executable
2015-01-08 00:21:33 +00:00
Dmitriy Ivanov
880aed0b4d am 1d548dc9: Merge "Print error when prelink fails for main executable"
* commit '1d548dc95c87fcfa686f81c021269e4193e1ee2f':
  Print error when prelink fails for main executable
2015-01-08 00:15:10 +00:00
Dmitriy Ivanov
1d548dc95c Merge "Print error when prelink fails for main executable" 2015-01-08 00:08:35 +00:00
Dmitriy Ivanov
6718125ac7 Print error when prelink fails for main executable
Bug: 18931021
Change-Id: Ib6c39a409161b20a10c3485272c73bc2abd4ee4f
(cherry picked from commit d9e211ca1f)
2015-01-07 15:49:40 -08:00
Dmitriy Ivanov
0fc38d468d am 382f4adb: resolved conflicts for merge of d9e211ca to lmp-mr1-dev-plus-aosp
* commit '382f4adbb7c92361c932ba779ed61703b74a0a44':
  Print error when prelink fails for main executable
2015-01-07 23:26:24 +00:00
Dmitriy Ivanov
382f4adbb7 resolved conflicts for merge of d9e211ca to lmp-mr1-dev-plus-aosp
Change-Id: I242b448583401c77ccf01f4f2436d63ef18c4e68
2015-01-07 15:21:21 -08:00
Dmitriy Ivanov
1b8f467c02 Remove outdated list of abi bugs
Change-Id: I275093a7a66b53ec25317e02c4bff46c2facc030
2015-01-07 14:14:34 -08:00
Elliott Hughes
d7f0b5d53d am de97a518: am 6ed76e8c: am ac8f2810: Merge "_Unwind_Context is a struct."
* commit 'de97a518d7468e8e2ab7bd68292494b7a510b8dc':
  _Unwind_Context is a struct.
2015-01-07 03:19:19 +00:00
Elliott Hughes
de97a518d7 am 6ed76e8c: am ac8f2810: Merge "_Unwind_Context is a struct."
* commit '6ed76e8c7d551ae8cf11de57a787169538370369':
  _Unwind_Context is a struct.
2015-01-07 03:15:06 +00:00
Elliott Hughes
6ed76e8c7d am ac8f2810: Merge "_Unwind_Context is a struct."
* commit 'ac8f2810297cd6c104aad38686627fcc13591347':
  _Unwind_Context is a struct.
2015-01-07 03:08:37 +00:00
Elliott Hughes
ac8f281029 Merge "_Unwind_Context is a struct." 2015-01-07 02:59:26 +00:00
Elliott Hughes
30e59c4c69 _Unwind_Context is a struct.
Change-Id: Iff2c52dc630eb83b931a78fdebc4494d69462db7
2015-01-06 18:48:24 -08:00
Yabin Cui
a6ba7cc8df am 023b5d1a: am 8e8daba1: am 8004f735: Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK."
* commit '023b5d1aa5e116db831f8f1bd688cfd9172b5ab8':
  Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
2015-01-07 02:15:11 +00:00
Yabin Cui
023b5d1aa5 am 8e8daba1: am 8004f735: Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK."
* commit '8e8daba18540fc7d5d11b6fb1d85234049086f29':
  Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
2015-01-07 02:10:36 +00:00
Yabin Cui
8e8daba185 am 8004f735: Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK."
* commit '8004f735f1bad7255268392e2c7ac648f0702e5e':
  Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
2015-01-07 01:59:07 +00:00
Yabin Cui
8004f735f1 Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK." 2015-01-07 01:28:40 +00:00
Yabin Cui
ba8dfc2669 Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
Patch for https://android-review.googlesource.com/#/c/120844/.

Change-Id: Idca5ccd7b28e8f07f1d2d1b6e3bba6781b62f0e0
2015-01-06 17:11:23 -08:00
Elliott Hughes
ac1b553cc0 am d27ff239: am 9d8b7d1a: am d3de1dde: Merge "[MIPS64] Add correct mcontext_t for 64-bit MIPS"
* commit 'd27ff239dbc2e6e792e438b385c5414f34ed3065':
  [MIPS64] Add correct mcontext_t for 64-bit MIPS
2015-01-06 19:57:02 +00:00
Elliott Hughes
d27ff239db am 9d8b7d1a: am d3de1dde: Merge "[MIPS64] Add correct mcontext_t for 64-bit MIPS"
* commit '9d8b7d1ac495b2cda848fd6a06088e5654b74ed6':
  [MIPS64] Add correct mcontext_t for 64-bit MIPS
2015-01-06 18:17:42 +00:00
Elliott Hughes
9d8b7d1ac4 am d3de1dde: Merge "[MIPS64] Add correct mcontext_t for 64-bit MIPS"
* commit 'd3de1ddef1427708581af4df02943486783f980d':
  [MIPS64] Add correct mcontext_t for 64-bit MIPS
2015-01-06 17:47:45 +00:00
Elliott Hughes
d3de1ddef1 Merge "[MIPS64] Add correct mcontext_t for 64-bit MIPS" 2015-01-06 17:43:25 +00:00
Faraz Shahbazker
e247e1c89e [MIPS64] Add correct mcontext_t for 64-bit MIPS
Change-Id: I76d503860d0e1d937b6913bf2c1c6ebb531617da
2015-01-06 07:58:02 -08:00
Yabin Cui
f2a0e9923a am 001208e6: am 5e1bc9f7: am 597800f1: Merge "better gtest runner for bionic"
* commit '001208e6ae5c18d02324ef57361aa25739c98edd':
  better gtest runner for bionic
2015-01-02 22:53:48 +00:00
Yabin Cui
4b99b0d310 am 473a0db7: am 745b236d: am 541b0b18: Merge "Reserve enough user request stack space in pthread_create."
* commit '473a0db7db022dbb47eb040759b16ce466dc1c38':
  Reserve enough user request stack space in pthread_create.
2015-01-02 22:53:46 +00:00
Yabin Cui
001208e6ae am 5e1bc9f7: am 597800f1: Merge "better gtest runner for bionic"
* commit '5e1bc9f7b8fde582ed08dd20c0bfb2779df9953c':
  better gtest runner for bionic
2015-01-02 22:48:07 +00:00
Yabin Cui
473a0db7db am 745b236d: am 541b0b18: Merge "Reserve enough user request stack space in pthread_create."
* commit '745b236dc3bc935c1fb581c7f93c3464f2bb8216':
  Reserve enough user request stack space in pthread_create.
2015-01-02 22:48:06 +00:00
Yabin Cui
5e1bc9f7b8 am 597800f1: Merge "better gtest runner for bionic"
* commit '597800f1d71590fc9ad51ce5227280586b2ceda5':
  better gtest runner for bionic
2015-01-02 22:41:45 +00:00
Yabin Cui
745b236dc3 am 541b0b18: Merge "Reserve enough user request stack space in pthread_create."
* commit '541b0b187dd91684efdcebf72c8830e976ca04a6':
  Reserve enough user request stack space in pthread_create.
2015-01-02 22:41:44 +00:00
Yabin Cui
597800f1d7 Merge "better gtest runner for bionic" 2015-01-02 22:38:41 +00:00
Yabin Cui
541b0b187d Merge "Reserve enough user request stack space in pthread_create." 2015-01-02 22:37:56 +00:00
Yabin Cui
6a7aaf4675 Reserve enough user request stack space in pthread_create.
Bug: 18830897
Change-Id: I1ba4aaeaf66a7ff99c5d82ad45469011171b0a3b
2015-01-02 14:33:48 -08:00
Elliott Hughes
6a1f21685f am db4fe340: am 46987a94: am 9b6164ca: Merge "Remove bogus transitive includes."
* commit 'db4fe340501a09699c9883f765abc58b2e9d0f13':
  Remove bogus transitive includes.
2014-12-30 12:27:29 +00:00
Elliott Hughes
db4fe34050 am 46987a94: am 9b6164ca: Merge "Remove bogus transitive includes."
* commit '46987a9490cfe8409ea73e94f36e7f0bb69e43de':
  Remove bogus transitive includes.
2014-12-30 12:21:08 +00:00
Elliott Hughes
46987a9490 am 9b6164ca: Merge "Remove bogus transitive includes."
* commit '9b6164ca8d7b2c5e7fced1cbbda6c353e6e21e54':
  Remove bogus transitive includes.
2014-12-30 12:16:06 +00:00
Elliott Hughes
9b6164ca8d Merge "Remove bogus transitive includes." 2014-12-29 21:52:04 +00:00
Elliott Hughes
40360b379c Remove bogus transitive includes.
<signal.h> shouldn't get you the contents of <errno.h>, and <fcntl.h>
shouldn't get you the contents of <unistd.h>.

Change-Id: I347499cd8671bfee98e6b8e875a97cab3a3655d3
2014-12-29 13:29:50 -08:00
Elliott Hughes
b6c73f8276 am 84715cbc: am 52a2df5f: am 0a552407: Merge "Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>."
* commit '84715cbccba4d443ff7efb0a7a8969f37e704fe0':
  Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>.
2014-12-29 19:56:37 +00:00
Elliott Hughes
84715cbccb am 52a2df5f: am 0a552407: Merge "Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>."
* commit '52a2df5f2ad445042b31ffef01d6a0fbf18d9a1a':
  Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>.
2014-12-29 19:51:40 +00:00
Elliott Hughes
52a2df5f2a am 0a552407: Merge "Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>."
* commit '0a552407ada6fc718be016df0902f6c23aa88eea':
  Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>.
2014-12-29 19:45:21 +00:00
Elliott Hughes
0a552407ad Merge "Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>." 2014-12-29 19:40:45 +00:00
Elliott Hughes
64d8382394 Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>.
POSIX says "The <fcntl.h> header shall define the symbolic constants for file
modes for use as values of mode_t as described in <sys/stat.h>".

Needed to build ToT strace.

Change-Id: Ia85a51ef6fd86a48084fe48ce24963000a937d37
2014-12-29 11:14:38 -08:00
Elliott Hughes
811363b88e am 82e66a3d: am cc107443: am 50e15a2e: Merge "Remove more BSD cruft from the public headers."
* commit '82e66a3d9d104197c2699a41729cdf8961b44348':
  Remove more BSD cruft from the public headers.
2014-12-23 20:26:32 +00:00
Elliott Hughes
82e66a3d9d am cc107443: am 50e15a2e: Merge "Remove more BSD cruft from the public headers."
* commit 'cc1074431e46333671875345d4bb26b65fe96dd7':
  Remove more BSD cruft from the public headers.
2014-12-23 20:21:15 +00:00
Elliott Hughes
cc1074431e am 50e15a2e: Merge "Remove more BSD cruft from the public headers."
* commit '50e15a2ec7189eb3279cbf546679ccac4a138e90':
  Remove more BSD cruft from the public headers.
2014-12-23 20:17:38 +00:00
Elliott Hughes
50e15a2ec7 Merge "Remove more BSD cruft from the public headers." 2014-12-23 20:14:52 +00:00
Elliott Hughes
ddbbff5725 am 77707a3d: am d029db10: am ba09edcb: Merge "Fix nan output in the printf family."
* commit '77707a3d4f957ddc8e714b4df56eb2d6f48cd4d1':
  Fix nan output in the printf family.
2014-12-21 15:02:19 +00:00
Elliott Hughes
77707a3d4f am d029db10: am ba09edcb: Merge "Fix nan output in the printf family."
* commit 'd029db10526c2091acfe940d7d008019a309c47c':
  Fix nan output in the printf family.
2014-12-21 06:30:39 +00:00
Elliott Hughes
d029db1052 am ba09edcb: Merge "Fix nan output in the printf family."
* commit 'ba09edcb41799e037780b92ddcbe6bd08bac5996':
  Fix nan output in the printf family.
2014-12-21 05:59:46 +00:00
Elliott Hughes
ba09edcb41 Merge "Fix nan output in the printf family." 2014-12-21 02:54:06 +00:00
Elliott Hughes
1b18aff9ba Fix nan output in the printf family.
Bug: https://code.google.com/p/android/issues/detail?id=82452
Change-Id: I51f226c8b033de6e81baeea5e6db3de6ed196f73
2014-12-20 18:53:08 -08:00
Yabin Cui
8f05d451e3 am 598f8666: am e4d3161a: am 4c30fedf: Merge "Move gethtnamaddr.c to net/ subdirectory."
* commit '598f86661d242f60c9a885fee7c90d9a692488ad':
  Move gethtnamaddr.c to net/ subdirectory.
2014-12-20 03:32:02 +00:00
Elliott Hughes
998f2d5a50 Remove more BSD cruft from the public headers.
Change-Id: I1e3097f745b526db448bf72fbc05fb2ba23929a0
2014-12-19 19:30:11 -08:00
Yabin Cui
598f86661d am e4d3161a: am 4c30fedf: Merge "Move gethtnamaddr.c to net/ subdirectory."
* commit 'e4d3161a84c0373d35f43f981559212a9ae44397':
  Move gethtnamaddr.c to net/ subdirectory.
2014-12-20 03:26:19 +00:00
Yabin Cui
e4d3161a84 am 4c30fedf: Merge "Move gethtnamaddr.c to net/ subdirectory."
* commit '4c30fedfd3c78333596b31aa675d8cbd23e60487':
  Move gethtnamaddr.c to net/ subdirectory.
2014-12-20 03:20:51 +00:00
Yabin Cui
4c30fedfd3 Merge "Move gethtnamaddr.c to net/ subdirectory." 2014-12-20 03:16:05 +00:00
Yabin Cui
a2177c6ccb Move gethtnamaddr.c to net/ subdirectory.
It may be the better place to stay.

Change-Id: I517cc2769f63e1873191768c4732907c14f2c60e
2014-12-19 17:29:04 -08:00
Yabin Cui
dbfbc63935 am 66870e1b: am a62755ad: am 7e202e4e: Merge "Remove t->tls==NULL check in pthread_key_delete."
* commit '66870e1be53f3e5f46ef1c005dc882e5ddf9dd07':
  Remove t->tls==NULL check in pthread_key_delete.
2014-12-20 00:57:17 +00:00
Yabin Cui
66870e1be5 am a62755ad: am 7e202e4e: Merge "Remove t->tls==NULL check in pthread_key_delete."
* commit 'a62755adba509a7cb295d1bc5f9d3447e3943c6a':
  Remove t->tls==NULL check in pthread_key_delete.
2014-12-20 00:51:30 +00:00
Yabin Cui
a62755adba am 7e202e4e: Merge "Remove t->tls==NULL check in pthread_key_delete."
* commit '7e202e4eb150158e505859b506e4aa3706a14497':
  Remove t->tls==NULL check in pthread_key_delete.
2014-12-20 00:48:38 +00:00
Yabin Cui
7e202e4eb1 Merge "Remove t->tls==NULL check in pthread_key_delete." 2014-12-20 00:44:41 +00:00
Yabin Cui
246bcb10b6 Remove t->tls==NULL check in pthread_key_delete.
Change-Id: I6c0c71d30fe9d5b888752a4204abd95d5149bb96
2014-12-19 16:31:03 -08:00
Yabin Cui
0fc2bd930d am a15bd72c: am da2317ed: am cdc7ad11: Merge "Use mmap to create the pthread_internal_t"
* commit 'a15bd72cf0e6b721b6cffc5652ded636dde6b7e7':
  Use mmap to create the pthread_internal_t
2014-12-20 00:25:27 +00:00
Yabin Cui
a15bd72cf0 am da2317ed: am cdc7ad11: Merge "Use mmap to create the pthread_internal_t"
* commit 'da2317edb36acdaa6a7bc49cef8deba2a42bfb15':
  Use mmap to create the pthread_internal_t
2014-12-20 00:19:25 +00:00
Yabin Cui
da2317edb3 am cdc7ad11: Merge "Use mmap to create the pthread_internal_t"
* commit 'cdc7ad11e931ed9fc329b96e880f22e24be1c267':
  Use mmap to create the pthread_internal_t
2014-12-20 00:15:30 +00:00
Yabin Cui
cdc7ad11e9 Merge "Use mmap to create the pthread_internal_t" 2014-12-20 00:10:38 +00:00
Yabin Cui
8cf1b30567 Use mmap to create the pthread_internal_t
Add name to mmaped regions.
Add pthread benchmark code.
Allocate pthread_internal_t on regular stack.

Bug: 16847284
Change-Id: Id60835163bb0d68092241f1a118015b5a8f85069
2014-12-19 16:05:29 -08:00
Yabin Cui
bf31e358b6 am b695cb47: am be327941: am e28a1864: Merge "Support gethostbyname_r_ERANGE."
* commit 'b695cb47c36f63d63ca6c29e7a922e32c16aa416':
  Support gethostbyname_r_ERANGE.
2014-12-19 23:08:37 +00:00
Yabin Cui
b695cb47c3 am be327941: am e28a1864: Merge "Support gethostbyname_r_ERANGE."
* commit 'be32794141e95ea5d65626bbf29be95b9d974d54':
  Support gethostbyname_r_ERANGE.
2014-12-19 23:02:51 +00:00
Yabin Cui
be32794141 am e28a1864: Merge "Support gethostbyname_r_ERANGE."
* commit 'e28a1864916373f4c520f2a8be1c1c7ea97424cf':
  Support gethostbyname_r_ERANGE.
2014-12-19 22:57:22 +00:00
Yabin Cui
e28a186491 Merge "Support gethostbyname_r_ERANGE." 2014-12-19 22:53:26 +00:00
Yabin Cui
7069256495 Support gethostbyname_r_ERANGE.
Bug: 18802601
Change-Id: Iaa64921e96f91e330f1845c5399ee8aba39d9c10
2014-12-19 14:11:29 -08:00
Dimitry Ivanov
f95b314222 am 7544631e: am c692d3e5: am db314648: Merge "Add support for DT_MIPS_RLD_MAP2 tag."
* commit '7544631ef6c2b0ae22ba38ac44eba28d16439ee5':
  Add support for DT_MIPS_RLD_MAP2 tag.
2014-12-19 21:33:00 +00:00
Dimitry Ivanov
7544631ef6 am c692d3e5: am db314648: Merge "Add support for DT_MIPS_RLD_MAP2 tag."
* commit 'c692d3e50a3af788e9294769fca33e29eb91b139':
  Add support for DT_MIPS_RLD_MAP2 tag.
2014-12-19 21:26:04 +00:00
Dimitry Ivanov
c692d3e50a am db314648: Merge "Add support for DT_MIPS_RLD_MAP2 tag."
* commit 'db3146489eecf2757cab9c3a7a0abb561f2addc8':
  Add support for DT_MIPS_RLD_MAP2 tag.
2014-12-19 21:21:05 +00:00
Dimitry Ivanov
db3146489e Merge "Add support for DT_MIPS_RLD_MAP2 tag." 2014-12-19 21:15:02 +00:00
Raghu Gandham
688157295f Add support for DT_MIPS_RLD_MAP2 tag.
Position Independent Executables cannot communicate with GDB using DT_MIPS_RLD_TAG.
Hence a new tag DT_MIPS_RLD_MAP2 got introduced to fix the issue.

Change-Id: I77ce3faf1ef2e121003b804ecd291abb25cfbb56
Signed-off-by: Nikola Veljkovic<Nikola.Veljkovic@imgtec.com>
2014-12-19 11:13:11 -08:00
Chih-Hung Hsieh
8257c26e1f am 31a38647: am 70acee19: am 65e69856: Merge "Must use Clang assembler for mips target."
* commit '31a38647d0f9f28bbd959c393a9bd87c7f15584d':
  Must use Clang assembler for mips target.
2014-12-19 03:58:00 +00:00
Elliott Hughes
3ae5bb6f9c am a5359bb1: am c400e072: am 7eb9b6c5: Merge "Update bionic NOTICE files."
* commit 'a5359bb11a895fb1aae2b59cba4744c34ec6d9b5':
  Update bionic NOTICE files.
2014-12-19 03:57:59 +00:00
Chih-Hung Hsieh
31a38647d0 am 70acee19: am 65e69856: Merge "Must use Clang assembler for mips target."
* commit '70acee197411102b58dfa261f75a8b359595c907':
  Must use Clang assembler for mips target.
2014-12-19 03:52:16 +00:00
Elliott Hughes
a5359bb11a am c400e072: am 7eb9b6c5: Merge "Update bionic NOTICE files."
* commit 'c400e072db8dca8710298bf138c86e30c7b47991':
  Update bionic NOTICE files.
2014-12-19 03:52:15 +00:00
Chih-Hung Hsieh
70acee1974 am 65e69856: Merge "Must use Clang assembler for mips target."
* commit '65e6985617d035ef45da86f8c8bcceea7bc47239':
  Must use Clang assembler for mips target.
2014-12-19 03:35:25 +00:00
Elliott Hughes
c400e072db am 7eb9b6c5: Merge "Update bionic NOTICE files."
* commit '7eb9b6c537c32280571fead8676634c3dfc6388e':
  Update bionic NOTICE files.
2014-12-19 03:35:24 +00:00
Chih-Hung Hsieh
65e6985617 Merge "Must use Clang assembler for mips target." 2014-12-19 01:27:23 +00:00
Chih-Hung Hsieh
6f96d58c0d Must use Clang assembler for mips target.
GNU assembler has internal error with clang's output.

BUG: 18807290
Change-Id: Iabbe991720fc562884f19d79bded903505fc891d
2014-12-18 17:10:56 -08:00
Elliott Hughes
7eb9b6c537 Merge "Update bionic NOTICE files." 2014-12-19 01:10:37 +00:00
Elliott Hughes
6b2b5856d9 Update bionic NOTICE files.
Change-Id: Ic280872ef3137febd9d4a87d5c7662e264692071
2014-12-18 16:27:30 -08:00
Elliott Hughes
eb4d915cc6 am 649386ae: am a5193f2f: am c631bb21: Merge "Fix the types of some of the struct stat fields."
* commit '649386ae1a54357cca00bc13cc6d8b345e1a0cbb':
  Fix the types of some of the struct stat fields.
2014-12-19 00:08:17 +00:00
Elliott Hughes
571d09d73e am 3801189b: am 7cff30c7: am b7f0693a: Merge "Remove bogus #include <endian.h> from <sys/stat.h>."
* commit '3801189b586eb3538d9ef42863ecdfb17e78009c':
  Remove bogus #include <endian.h> from <sys/stat.h>.
2014-12-19 00:08:08 +00:00
Elliott Hughes
de6472eac1 am 53544f5a: am 7d4d2297: am 8597c2b3: Merge "Split the shared group data from the shared passwd data."
* commit '53544f5af679828fd3c27225bfbd2adaee87d846':
  Split the shared group data from the shared passwd data.
2014-12-19 00:08:06 +00:00
Elliott Hughes
0a0865a954 am 28bba7b4: am e14086a8: am a9c940a6: Merge "Fix struct stat member types for x86-64."
* commit '28bba7b488200093db5ec8831605c07bf75b88c5':
  Fix struct stat member types for x86-64.
2014-12-19 00:08:05 +00:00
Elliott Hughes
649386ae1a am a5193f2f: am c631bb21: Merge "Fix the types of some of the struct stat fields."
* commit 'a5193f2ffe39ff88f27ffb34a6967e023cb3daee':
  Fix the types of some of the struct stat fields.
2014-12-18 23:45:30 +00:00
Elliott Hughes
a5193f2ffe am c631bb21: Merge "Fix the types of some of the struct stat fields."
* commit 'c631bb215e29981222f19c092ded49c7c1f15845':
  Fix the types of some of the struct stat fields.
2014-12-18 23:42:02 +00:00
Elliott Hughes
c631bb215e Merge "Fix the types of some of the struct stat fields." 2014-12-18 23:38:26 +00:00
Elliott Hughes
3801189b58 am 7cff30c7: am b7f0693a: Merge "Remove bogus #include <endian.h> from <sys/stat.h>."
* commit '7cff30c7c67454e5b0f97c0dcc6261c73ae664c8':
  Remove bogus #include <endian.h> from <sys/stat.h>.
2014-12-18 23:35:21 +00:00
Elliott Hughes
53544f5af6 am 7d4d2297: am 8597c2b3: Merge "Split the shared group data from the shared passwd data."
* commit '7d4d2297856106f132283c4e501b7210fc7b0bd8':
  Split the shared group data from the shared passwd data.
2014-12-18 23:35:20 +00:00
Elliott Hughes
28bba7b488 am e14086a8: am a9c940a6: Merge "Fix struct stat member types for x86-64."
* commit 'e14086a8fc137c9900ad895556710385fc423e10':
  Fix struct stat member types for x86-64.
2014-12-18 23:35:18 +00:00
Elliott Hughes
7cff30c7c6 am b7f0693a: Merge "Remove bogus #include <endian.h> from <sys/stat.h>."
* commit 'b7f0693aaac9907070443ee6e47fe1d594b42251':
  Remove bogus #include <endian.h> from <sys/stat.h>.
2014-12-18 23:27:47 +00:00
Elliott Hughes
b7f0693aaa Merge "Remove bogus #include <endian.h> from <sys/stat.h>." 2014-12-18 23:24:26 +00:00
Dan Albert
54ea1ed18a am 6aed1a13: am ec3601cd: am 9dd5ab46: Merge "Disable ASAN for more of our libraries."
* commit '6aed1a1358a3395e10913ca2b008db823b8f1987':
  Disable ASAN for more of our libraries.
2014-12-18 23:21:02 +00:00
Yabin Cui
3c902c64a4 am 858e2390: am 9a734138: am 370a3e57: Merge "Sync with upstream for gethnamaddr.c."
* commit '858e239094ba014ec36bee7bab43da29525bbe3a':
  Sync with upstream for gethnamaddr.c.
2014-12-18 23:21:01 +00:00
Elliott Hughes
9257c477ae Fix the types of some of the struct stat fields.
Bug: 17062519
Change-Id: I5207867939f3c2876bf6448e565fa4364aa7e4f0
2014-12-18 15:17:42 -08:00
Elliott Hughes
7d4d229785 am 8597c2b3: Merge "Split the shared group data from the shared passwd data."
* commit '8597c2b3f2ac3df9abe30378cdd3ecd559d995e7':
  Split the shared group data from the shared passwd data.
2014-12-18 23:15:40 +00:00
Elliott Hughes
8597c2b3f2 Merge "Split the shared group data from the shared passwd data." 2014-12-18 23:12:45 +00:00
Elliott Hughes
0c92e8c3d1 Remove bogus #include <endian.h> from <sys/stat.h>.
Bug: 17062519
Change-Id: I3dc21ee8b90580f112c73c72aff5d3bec4778026
2014-12-18 15:10:19 -08:00
Elliott Hughes
e14086a8fc am a9c940a6: Merge "Fix struct stat member types for x86-64."
* commit 'a9c940a69a5ad01a92620594d41e462c5d46186e':
  Fix struct stat member types for x86-64.
2014-12-18 23:10:03 +00:00
Elliott Hughes
a9c940a69a Merge "Fix struct stat member types for x86-64." 2014-12-18 23:05:20 +00:00
Elliott Hughes
1c52e6c926 Fix struct stat member types for x86-64.
Bug: 17062519
Change-Id: I93b1e8b1d4b6918ab7c3a985e2f7da277077375e
2014-12-18 15:03:33 -08:00
Elliott Hughes
7874f1d718 Split the shared group data from the shared passwd data.
Found by the toybox id(1) which calls both getpwuid(3) and getgrgid(3) before
looking at either result. The use of a shared buffer in this code meant that
even on a single thread, the data for any of the passwd functions would be
clobbered by the data for any of the group functions (or vice versa).

This might seem like an insufficient fix, but POSIX explicitly says (for
getpwnam) that the result "might be overwritten by a subsequent call to
getpwent(), getpwnam(), or getpwuid()" and likewise for other members of
that group, plus equivalent text for the group-related functions.

Change-Id: I2272f47e91f72e043fdaf7c169fa9f6978ff4370
2014-12-18 15:01:10 -08:00
Dan Albert
6aed1a1358 am ec3601cd: am 9dd5ab46: Merge "Disable ASAN for more of our libraries."
* commit 'ec3601cdf4730e5ec1559079486bbb4f9a43e042':
  Disable ASAN for more of our libraries.
2014-12-18 21:50:34 +00:00
Yabin Cui
858e239094 am 9a734138: am 370a3e57: Merge "Sync with upstream for gethnamaddr.c."
* commit '9a734138138fcde0a2f0935e86246b9d7ff0ccb1':
  Sync with upstream for gethnamaddr.c.
2014-12-18 21:49:52 +00:00
Dan Albert
ec3601cdf4 am 9dd5ab46: Merge "Disable ASAN for more of our libraries."
* commit '9dd5ab46194a3ef7992b0c08d18f2e30551f9331':
  Disable ASAN for more of our libraries.
2014-12-18 16:10:45 +00:00
Dan Albert
9dd5ab4619 Merge "Disable ASAN for more of our libraries." 2014-12-18 16:07:15 +00:00
Dan Albert
da194780b1 Disable ASAN for more of our libraries.
Since ASAN depends on these libraries, we need to exclude them from
being instrumented.

Change-Id: I62005b6d04ee7b2283c4bd54ace5304386c67358
2014-12-18 08:03:49 -08:00
Yabin Cui
9a73413813 am 370a3e57: Merge "Sync with upstream for gethnamaddr.c."
* commit '370a3e573d1cdff6070c77322d4a07bd53e5db3c':
  Sync with upstream for gethnamaddr.c.
2014-12-18 01:11:56 +00:00
Yabin Cui
370a3e573d Merge "Sync with upstream for gethnamaddr.c." 2014-12-18 01:06:10 +00:00
Yabin Cui
58d33a51f3 Sync with upstream for gethnamaddr.c.
Bug: 18566967
Change-Id: I37e7410226b49eec67614e20b2c1d5e3e47817a5
2014-12-17 16:19:27 -08:00
Dmitriy Ivanov
437fa965af am c24329c7: am 4c344aff: am 92b9cb2c: Merge "Add another test for weak-reference"
* commit 'c24329c710a9ce0d9d9ee3b3d2f6a16b32fabc6a':
  Add another test for weak-reference
2014-12-16 22:16:12 +00:00
Dmitriy Ivanov
c24329c710 am 4c344aff: am 92b9cb2c: Merge "Add another test for weak-reference"
* commit '4c344affba81b630241fd4e012e90fe594a7b196':
  Add another test for weak-reference
2014-12-16 22:10:00 +00:00
Dmitriy Ivanov
4c344affba am 92b9cb2c: Merge "Add another test for weak-reference"
* commit '92b9cb2c899c386954b8f9ad8111aa6c8c63e306':
  Add another test for weak-reference
2014-12-16 22:06:05 +00:00
Dmitriy Ivanov
92b9cb2c89 Merge "Add another test for weak-reference" 2014-12-16 22:01:47 +00:00
Elliott Hughes
1b8e7b6cf8 am 50b6dc34: am 48bc703a: am 3a50b65f: Merge "Fix <net/route.h>."
* commit '50b6dc34f196fd7216a7395a4f82dedf68f2bac2':
  Fix <net/route.h>.
2014-12-16 21:49:25 +00:00
Elliott Hughes
50b6dc34f1 am 48bc703a: am 3a50b65f: Merge "Fix <net/route.h>."
* commit '48bc703a3c30512f06f65f2660ed9d2841b0acce':
  Fix <net/route.h>.
2014-12-16 20:35:01 +00:00
Dmitriy Ivanov
bfa88bca5c Add another test for weak-reference
This one covers undefined weak reference in .so
  referenced via JUMP_SLOT relocation.

Bug: 17526061
Change-Id: Ib8764bd30c1f686c4818ebbc6683cf42dee908b2
2014-12-16 19:46:45 +00:00
Elliott Hughes
48bc703a3c am 3a50b65f: Merge "Fix <net/route.h>."
* commit '3a50b65fd152b4a50dc15ec33f19080e8724b02c':
  Fix <net/route.h>.
2014-12-16 16:58:33 +00:00
Elliott Hughes
3a50b65fd1 Merge "Fix <net/route.h>." 2014-12-16 16:53:25 +00:00
Elliott Hughes
badd7e1a58 Fix <net/route.h>.
Previously it couldn't be included alone. Also add a header and include guard,
and fix its siblings' include guards.

Bug: https://code.google.com/p/android/issues/detail?id=82638
Change-Id: I32139a4bda0a6b015508a2319bf4e1a1453345f2
2014-12-15 18:47:14 -08:00
Elliott Hughes
2e507db0e2 am 63978dec: am 7de05306: am 16ea2790: Merge "Move the generic arm memcmp.S into the generic directory."
* commit '63978deca9582e98576d7b12601e5e6dd163a0bb':
  Move the generic arm memcmp.S into the generic directory.
2014-12-15 22:22:18 +00:00
Elliott Hughes
30fcb99ecd am c45b108d: am a2bfb531: am ad01c983: Merge "Remove arm assembler not referenced from any makefile."
* commit 'c45b108deb70f02902cb3309ea0b287ee99d5095':
  Remove arm assembler not referenced from any makefile.
2014-12-15 22:04:09 +00:00
Elliott Hughes
63978deca9 am 7de05306: am 16ea2790: Merge "Move the generic arm memcmp.S into the generic directory."
* commit '7de05306c6f3b3077b025d5dd3eade2f125535d5':
  Move the generic arm memcmp.S into the generic directory.
2014-12-15 21:32:11 +00:00
Elliott Hughes
7de05306c6 am 16ea2790: Merge "Move the generic arm memcmp.S into the generic directory."
* commit '16ea2790a84b1e65dc1e485c3ec494de787cc490':
  Move the generic arm memcmp.S into the generic directory.
2014-12-15 19:38:34 +00:00
Elliott Hughes
16ea2790a8 Merge "Move the generic arm memcmp.S into the generic directory." 2014-12-15 19:32:42 +00:00
Elliott Hughes
c45b108deb am a2bfb531: am ad01c983: Merge "Remove arm assembler not referenced from any makefile."
* commit 'a2bfb53107a7b770e9ad93287be5745271067786':
  Remove arm assembler not referenced from any makefile.
2014-12-15 19:27:20 +00:00
Elliott Hughes
a2bfb53107 am ad01c983: Merge "Remove arm assembler not referenced from any makefile."
* commit 'ad01c9831918ecae815db2406022ef69e74f6e6d':
  Remove arm assembler not referenced from any makefile.
2014-12-15 19:20:50 +00:00
Elliott Hughes
1ef6ec40e1 Move the generic arm memcmp.S into the generic directory.
Change-Id: I48e4d14a0dcddbb246edbac6d0329619574ab44d
2014-12-15 11:06:34 -08:00
Yabin Cui
e247fd38f8 am bb3579f8: am 96cd50f2: am 0e32e39d: Merge "Fix pthread key num calculation."
* commit 'bb3579f8787fb6cafe5e6373c91e78556f100dfc':
  Fix pthread key num calculation.
2014-12-15 18:46:49 +00:00
Elliott Hughes
9ab3b08829 am 1fc1c898: am 7dc71bb9: am 732d65c1: Merge "[MIPS] Add sgidefs.h for mips64"
* commit '1fc1c8981043f949313103b9532cbc19dc3dd919':
  [MIPS] Add sgidefs.h for mips64
2014-12-15 18:46:31 +00:00
Elliott Hughes
ad01c98319 Merge "Remove arm assembler not referenced from any makefile." 2014-12-15 18:46:16 +00:00
Elliott Hughes
f92cc30571 Remove arm assembler not referenced from any makefile.
I also suspect that libc/arch-arm/bionic/memcmp.S is supposed to like in the
generic directory these days, but this change just removes dead code.

Change-Id: I9072488df6e9b7261d79b6014914a0e937cb387b
2014-12-14 17:52:32 -08:00
Yabin Cui
294d1e2c9e better gtest runner for bionic
1. option to run each test in a separate forked process: "--isolate".
2. warnings about slow tests: "--warnline".
3. run multiple tests at the same time: "-j N".

Bug: 17589740
Change-Id: Ife5f4cafec43aa051ad7bd9c9b2b7e2e437db0de
2014-12-13 18:53:34 -08:00
Yabin Cui
bb3579f878 am 96cd50f2: am 0e32e39d: Merge "Fix pthread key num calculation."
* commit '96cd50f2fc33b0d342f1733894b06fd59a725519':
  Fix pthread key num calculation.
2014-12-13 03:03:51 +00:00
Yabin Cui
96cd50f2fc am 0e32e39d: Merge "Fix pthread key num calculation."
* commit '0e32e39df0e487ec86d86627f1d4b43d1c8c524d':
  Fix pthread key num calculation.
2014-12-13 02:59:05 +00:00
Yabin Cui
0e32e39df0 Merge "Fix pthread key num calculation." 2014-12-13 02:51:27 +00:00
Yabin Cui
6c238f2926 Fix pthread key num calculation.
Bug: 18723085
Change-Id: Iba2c834b350e4cdba0b2d771b221560a3e5df952
2014-12-12 17:00:08 -08:00
Elliott Hughes
1fc1c89810 am 7dc71bb9: am 732d65c1: Merge "[MIPS] Add sgidefs.h for mips64"
* commit '7dc71bb9d5f73dc2ffe6e070efe29e69b88c14a7':
  [MIPS] Add sgidefs.h for mips64
2014-12-13 00:41:40 +00:00
Elliott Hughes
7dc71bb9d5 am 732d65c1: Merge "[MIPS] Add sgidefs.h for mips64"
* commit '732d65c1b1d33b2eadb5d6f2b1771c6fc536e23f':
  [MIPS] Add sgidefs.h for mips64
2014-12-13 00:34:13 +00:00
Elliott Hughes
732d65c1b1 Merge "[MIPS] Add sgidefs.h for mips64" 2014-12-13 00:28:57 +00:00
Duane Sand
50a3c6949b [MIPS] Add sgidefs.h for mips64
Sgidefs.h is needed by strace.
Replaced now-duplicate arch-mips64/include directory
by symlink to arch-mips/include.

Change-Id: I7808602cfa452eca3ffbdb94903f4c5bdb33efa3
2014-12-12 16:25:36 -08:00
Yabin Cui
927d57adde am 04c0d4cb: am 96794bd9: am 6d634f9b: Merge "make stack_protector_DeathTest work for gcc4.9"
* commit '04c0d4cb2235c29f65b6b52660ff34c28c10c93e':
  make stack_protector_DeathTest work for gcc4.9
2014-12-12 02:02:56 +00:00
Yabin Cui
04c0d4cb22 am 96794bd9: am 6d634f9b: Merge "make stack_protector_DeathTest work for gcc4.9"
* commit '96794bd9713882a4cd1452b7bca62729d10dc94c':
  make stack_protector_DeathTest work for gcc4.9
2014-12-12 01:56:09 +00:00
Yabin Cui
96794bd971 am 6d634f9b: Merge "make stack_protector_DeathTest work for gcc4.9"
* commit '6d634f9baaf804a91c97e019c832c1e9611a903a':
  make stack_protector_DeathTest work for gcc4.9
2014-12-12 01:43:50 +00:00
Yabin Cui
6d634f9baa Merge "make stack_protector_DeathTest work for gcc4.9" 2014-12-12 01:38:33 +00:00
Yabin Cui
562ae1e6e4 make stack_protector_DeathTest work for gcc4.9
Bug: 18721888
Change-Id: I5f0b5c84319f56dbc4efb88e9d828138944667ae
2014-12-11 17:24:55 -08:00
Christopher Ferris
9d56c11cf1 am 887a9a48: am 3b811c81: am 3115b34c: Merge "fix runtime issues for scripts"
* commit '887a9a485c36bc1854e45b91e41a3e7b1926ef16':
  fix runtime issues for scripts
2014-12-11 19:02:31 +00:00
Elliott Hughes
baf74e55e5 am a70d5478: am 1dff030e: am e7b8bc4e: Merge "Clean up DNS proxying."
* commit 'a70d54786fb98ec8378a246126ec0c589358691f':
  Clean up DNS proxying.
2014-12-11 19:02:30 +00:00
Christopher Ferris
887a9a485c am 3b811c81: am 3115b34c: Merge "fix runtime issues for scripts"
* commit '3b811c814e4ebe6591992141040ba5997a12407a':
  fix runtime issues for scripts
2014-12-11 18:55:56 +00:00
Elliott Hughes
a70d54786f am 1dff030e: am e7b8bc4e: Merge "Clean up DNS proxying."
* commit '1dff030e6eb527eeb4e7ed163cf19641fdb3872b':
  Clean up DNS proxying.
2014-12-11 18:55:55 +00:00
Christopher Ferris
3b811c814e am 3115b34c: Merge "fix runtime issues for scripts"
* commit '3115b34c9299d69919de39d01bfbbbe5e798e3b2':
  fix runtime issues for scripts
2014-12-11 18:36:25 +00:00
Christopher Ferris
3115b34c92 Merge "fix runtime issues for scripts" 2014-12-11 18:32:00 +00:00
Elliott Hughes
1dff030e6e am e7b8bc4e: Merge "Clean up DNS proxying."
* commit 'e7b8bc4e291a08dfb6f2f84a2bb0ca99f3bbada6':
  Clean up DNS proxying.
2014-12-11 18:18:57 +00:00
Elliott Hughes
e7b8bc4e29 Merge "Clean up DNS proxying." 2014-12-11 18:12:10 +00:00
Elliott Hughes
9773fa3ffd Clean up DNS proxying.
Remove code duplication and fall back to trying directly if the proxy
isn't available. With this, tests still work if netd is dead (perhaps
because you've run "adb shell stop", or because you're running on the host).

Bug: 18547878
Change-Id: Ia4a9aa18b1fc79e09735107246989fa7fc6c8455
2014-12-10 17:14:02 -08:00
Christopher Ferris
9a55815388 am 4173ebb4: am ca5edfb2: am fec60529: Merge "Fix missing symbol for debug malloc."
* commit '4173ebb42a43238f0cd98523f4d0c97c7bac1017':
  Fix missing symbol for debug malloc.
2014-12-10 22:23:23 +00:00
Elliott Hughes
ab94c29b8a am 857a5882: am 38f1804b: am 3a49cfe3: Merge "Fix the setjmp tests for mips."
* commit '857a5882742781fc40d264d70c28b160b309a834':
  Fix the setjmp tests for mips.
2014-12-10 22:23:13 +00:00
Elliott Hughes
2ec131a5a4 am 1fd915b9: am fa465353: am a53c504e: Merge "Fix arm64 clone stack handling."
* commit '1fd915b9c1fcf3803383432ede29fc4d686fdb44':
  Fix arm64 clone stack handling.
2014-12-10 22:00:12 +00:00
Yabin Cui
99e74b8f1d am b9f67dc0: am 1eaf80d6: am 3337435e: Merge "Use machine/timespec.h to separate timespec definition."
* commit 'b9f67dc0f5081f39b204cc97502ba38486dbe2a2':
  Use machine/timespec.h to separate timespec definition.
2014-12-10 22:00:02 +00:00
Elliott Hughes
10b46ded07 am 114cee8c: am 0eaa218c: am 0952a554: Merge "Use the stmdb instead of str to save the fn/arg"
* commit '114cee8c6ed7c6b2abd5a22b3c1b36fba8601eae':
  Use the stmdb instead of str to save the fn/arg
2014-12-10 21:58:49 +00:00
Elliott Hughes
6ead436983 am f9ee8045: am 18779983: am 6a684524: Merge "Fix ptsname(3) and ttyname(3) to use TLS."
* commit 'f9ee804513f8bfddf4b6d4f08e15505c21918359':
  Fix ptsname(3) and ttyname(3) to use TLS.
2014-12-10 21:56:59 +00:00
Elliott Hughes
18b4ae073b am 1f8812b2: am 938c251e: am 3592743f: Merge "Move BSD stuff together in <sys/endian.h>."
* commit '1f8812b2aaf04e2891cabbcb3c55c37d3ee0a714':
  Move BSD stuff together in <sys/endian.h>.
2014-12-10 21:56:58 +00:00
Christopher Ferris
4173ebb42a am ca5edfb2: am fec60529: Merge "Fix missing symbol for debug malloc."
* commit 'ca5edfb23ba45176d1e33fba6f38e7834ef33301':
  Fix missing symbol for debug malloc.
2014-12-10 20:45:10 +00:00
Christopher Ferris
ca5edfb23b am fec60529: Merge "Fix missing symbol for debug malloc."
* commit 'fec605294e894fae1f1d5b59afe78af8fa84e4fa':
  Fix missing symbol for debug malloc.
2014-12-10 20:38:17 +00:00
Christopher Ferris
fec605294e Merge "Fix missing symbol for debug malloc." 2014-12-10 20:33:52 +00:00
Elliott Hughes
857a588274 am 38f1804b: am 3a49cfe3: Merge "Fix the setjmp tests for mips."
* commit '38f1804be1f8f27dc2debd69da9d2caf5ddb9cd1':
  Fix the setjmp tests for mips.
2014-12-10 20:16:24 +00:00
Elliott Hughes
38f1804be1 am 3a49cfe3: Merge "Fix the setjmp tests for mips."
* commit '3a49cfe3f2121039900ac8b0340b538b01da35c9':
  Fix the setjmp tests for mips.
2014-12-10 20:09:20 +00:00
Elliott Hughes
3a49cfe3f2 Merge "Fix the setjmp tests for mips." 2014-12-10 20:04:52 +00:00
Elliott Hughes
1fd915b9c1 am fa465353: am a53c504e: Merge "Fix arm64 clone stack handling."
* commit 'fa46535316a514e1335836bf065c2deddab1c4f3':
  Fix arm64 clone stack handling.
2014-12-10 19:58:04 +00:00
Elliott Hughes
fa46535316 am a53c504e: Merge "Fix arm64 clone stack handling."
* commit 'a53c504e0c6a19361fe3e66d7577682f6e501a4a':
  Fix arm64 clone stack handling.
2014-12-10 19:50:18 +00:00
Elliott Hughes
1510a1c1ae Fix the setjmp tests for mips.
Although the LP32 mips sigset_t is large enough to represent all signals,
their jmp_buf is too small. This test succeeded on arm and x86 because the
RT signals were never in the 'expected' sigset_t, so the equality comparison
with the 'actual' sigset_t worked fine --- everyone was blind to the RT
signal. On mips the tests fail because the 'expected' sigset_t does contain
the RT signal but the 'actual' doesn't because the jmp_buf only saves and
restores the first 32 signals.

There are 32 free bits (currently used as padding) in the LP32 mips jmp_buf,
and they might choose to use those to provide better support than the other
two platforms, but I'll leave that to them. It will be easy to just remove
the #if defined(__LP64__) from this change in that case.

For mips64 it's not to late to increase the size of the jmp_buf and fix
the setjmp family, but since there are decisions to be made here for LP32,
I'll leave it all to Imagination folks...

Bug: 16918359
Change-Id: I6b723712fce0e9210dafa165d8599d950b2d3500
2014-12-10 11:48:19 -08:00
Elliott Hughes
a53c504e0c Merge "Fix arm64 clone stack handling." 2014-12-10 19:45:48 +00:00
Yabin Cui
b9f67dc0f5 am 1eaf80d6: am 3337435e: Merge "Use machine/timespec.h to separate timespec definition."
* commit '1eaf80d6805352cb74a4ffb392da4bfd17f4caed':
  Use machine/timespec.h to separate timespec definition.
2014-12-10 19:42:15 +00:00
Yabin Cui
1eaf80d680 am 3337435e: Merge "Use machine/timespec.h to separate timespec definition."
* commit '3337435ec8f45b5c04428c7d7d789020e41dfd36':
  Use machine/timespec.h to separate timespec definition.
2014-12-10 19:33:41 +00:00
Yabin Cui
3337435ec8 Merge "Use machine/timespec.h to separate timespec definition." 2014-12-10 19:29:24 +00:00
Christopher Ferris
3f61f89b55 Fix missing symbol for debug malloc.
Bug: 18686270
Change-Id: I800a6f0940060218413df652d74aca91f6a339f8
2014-12-10 11:10:00 -08:00
Elliott Hughes
51f5d83237 Fix arm64 clone stack handling.
Make sure we adjust the stack pointer so a signal can't overwrite data.

Bug: 15195265
Change-Id: I5ab9469a82cb214c32f40a713268a1ab74a4c6fa
2014-12-10 11:08:47 -08:00
Elliott Hughes
114cee8c6e am 0eaa218c: am 0952a554: Merge "Use the stmdb instead of str to save the fn/arg"
* commit '0eaa218c2f567af3ed51ac7538ef9179a9318821':
  Use the stmdb instead of str to save the fn/arg
2014-12-10 19:07:36 +00:00
Elliott Hughes
0eaa218c2f am 0952a554: Merge "Use the stmdb instead of str to save the fn/arg"
* commit '0952a5540e8bb6ceb74389601b9088398d585771':
  Use the stmdb instead of str to save the fn/arg
2014-12-10 18:59:48 +00:00
Elliott Hughes
0952a5540e Merge "Use the stmdb instead of str to save the fn/arg" 2014-12-10 18:53:48 +00:00
Jiangli Yuan
c3d1728583 Use the stmdb instead of str to save the fn/arg
Directly save data into stack without properly adjustment
   of stack point is dangous. For example, if a signal comes,
   kernel will put sigframe into userspace's stack, which
   will overwrite the saved data if sp is not adjusted properly.

Bug: 15195265
Change-Id: Iea0cadfd3b94d50cf40252ad52fe5950811b9192
Signed-off-by: Jiangli Yuan <a6808c@motorola.com>
2014-12-10 18:47:01 +00:00
Elliott Hughes
994b1a406e am d0ee182b: am 4beb28d4: am 3f1c604c: Merge "<net/route.h> should include IPv6 too."
* commit 'd0ee182bcf42cbfd2493d177020a69455388b128':
  <net/route.h> should include IPv6 too.
2014-12-10 17:58:13 +00:00
Elliott Hughes
1e9ff46862 am 0098f245: am 92fd1774: am 7381e145: Merge "Sync <net/if_types.h> with upstream."
* commit '0098f245cf96038b40e73b09b80b0a00734056b7':
  Sync <net/if_types.h> with upstream.
2014-12-10 17:44:40 +00:00
Kyunam Jo
fa343e630d fix runtime issues for scripts
now, some script to update kernel-headers is not working.
because of wrong variable value and test codes.
so this issue is fixed.

Change-Id: Iffae9607858cc3c1c58fa24244be217b5a1ab06e
2014-12-10 07:53:07 +00:00
Yabin Cui
db49903732 Use machine/timespec.h to separate timespec definition.
Bug: 18627763
Change-Id: Ib1c406320f0ecc3705d19183a48f986cdf57c279
2014-12-10 06:36:11 +00:00
Elliott Hughes
f9ee804513 am 18779983: am 6a684524: Merge "Fix ptsname(3) and ttyname(3) to use TLS."
* commit '187799839d317b3a6ee0f32a70a19ce64d41fac5':
  Fix ptsname(3) and ttyname(3) to use TLS.
2014-12-10 04:52:18 +00:00
Elliott Hughes
187799839d am 6a684524: Merge "Fix ptsname(3) and ttyname(3) to use TLS."
* commit '6a6845244cf9eb8fe21ecc012b7b45990adad7d8':
  Fix ptsname(3) and ttyname(3) to use TLS.
2014-12-10 04:44:14 +00:00
Elliott Hughes
6a6845244c Merge "Fix ptsname(3) and ttyname(3) to use TLS." 2014-12-10 04:39:07 +00:00
Elliott Hughes
1f8812b2aa am 938c251e: am 3592743f: Merge "Move BSD stuff together in <sys/endian.h>."
* commit '938c251e94cd6f38433ca5f6a1480cbaef2783d1':
  Move BSD stuff together in <sys/endian.h>.
2014-12-10 04:31:18 +00:00
Elliott Hughes
a381fe8ebc Fix ptsname(3) and ttyname(3) to use TLS.
Be safe by default.

Change-Id: I6c4a3f1fd4eee3a651b3162ce95b7e873de57521
2014-12-09 20:30:23 -08:00
Elliott Hughes
938c251e94 am 3592743f: Merge "Move BSD stuff together in <sys/endian.h>."
* commit '3592743f7191c69ae1fd2d7e01222bd380d93d3e':
  Move BSD stuff together in <sys/endian.h>.
2014-12-10 04:23:50 +00:00
Elliott Hughes
3592743f71 Merge "Move BSD stuff together in <sys/endian.h>." 2014-12-10 04:16:55 +00:00
Elliott Hughes
824f914cae Move BSD stuff together in <sys/endian.h>.
Change-Id: I8bb511840f3cd98d5008034e405d82e923bd3203
2014-12-09 19:44:42 -08:00
Yabin Cui
d57478892e am c5132eb3: am e0601bd4: am 94926f8c: Merge "support _POSIX_REALTIME_SIGNALS"
* commit 'c5132eb361115cffc976e4757ba3d6c4693068b1':
  support _POSIX_REALTIME_SIGNALS
2014-12-09 23:49:14 +00:00
Yabin Cui
d1ca336ed8 am f3d576b1: am e906cf68: am b033761c: Merge "Change _POSIX_CPUTIME macro to make it compitable with glibc."
* commit 'f3d576b1e71d31313b16ff192e6c59a6bdc51d8a':
  Change _POSIX_CPUTIME macro to make it compitable with glibc.
2014-12-09 23:47:20 +00:00
Elliott Hughes
49a0bf9037 am 19d76add: am b430e6d6: am 5536044b: Merge "Simplify our endian.h implementation."
* commit '19d76adddc3486fd7691875c13fd468f13ea1b24':
  Simplify our endian.h implementation.
2014-12-09 23:46:03 +00:00
Elliott Hughes
8c9fed8355 am fc3d587f: am c63ddc8b: am aa0002de: Merge "Merge mips setjmp/longjmp family."
* commit 'fc3d587f9169ab501bbefb573dfc02279c3e5abc':
  Merge mips setjmp/longjmp family.
2014-12-09 23:45:04 +00:00
Elliott Hughes
8a3f30af2e am 5a103a5a: am 09416c9e: am 0b7d9d6f: Merge "Switch arch-mips64/include/machine to a symlink."
* commit '5a103a5a91be922601527ef139b6eba8918105cf':
  Switch arch-mips64/include/machine to a symlink.
2014-12-09 23:45:03 +00:00
Elliott Hughes
78903d4e1c am b5e1fa50: am 3cc8e0e9: am af829f2d: Merge "Use 64-bit units in the aarch64 setjmp implementation."
* commit 'b5e1fa5046ceb003d3b418751dc0705555de3043':
  Use 64-bit units in the aarch64 setjmp implementation.
2014-12-09 23:45:02 +00:00
Elliott Hughes
e38dd69211 am 408d8fa4: am 16c93b47: am 86d06dcc: Merge "Switch arm and arm64 over to the x86 style of jmpbuf."
* commit '408d8fa46457fc27048a00b0945de4bca1204042':
  Switch arm and arm64 over to the x86 style of jmpbuf.
2014-12-09 23:45:01 +00:00
Elliott Hughes
a27728b036 am b9abfd25: am 65187330: am 515a2ea1: Merge "Fix signal mask save/restore for x86-64."
* commit 'b9abfd25d5185bb0cfdee8d908a68f1adafc43bd':
  Fix signal mask save/restore for x86-64.
2014-12-09 23:45:00 +00:00
Elliott Hughes
6bf05a57c4 am 26609707: am b67ff7e3: am 734f0d64: Merge "Fix signal mask save/restore for arm64."
* commit '26609707082bf9c54be2f219e2827915610b45f6':
  Fix signal mask save/restore for arm64.
2014-12-09 23:44:58 +00:00
Elliott Hughes
d0ee182bcf am 4beb28d4: am 3f1c604c: Merge "<net/route.h> should include IPv6 too."
* commit '4beb28d427a61111e53b12cb78c39599ea1afd7b':
  <net/route.h> should include IPv6 too.
2014-12-09 23:29:19 +00:00
Elliott Hughes
4beb28d427 am 3f1c604c: Merge "<net/route.h> should include IPv6 too."
* commit '3f1c604c9df459f5baecfdc04cbe8ecda07b70eb':
  <net/route.h> should include IPv6 too.
2014-12-09 23:25:25 +00:00
Elliott Hughes
0098f245cf am 92fd1774: am 7381e145: Merge "Sync <net/if_types.h> with upstream."
* commit '92fd17748376523e212dae0e606522b67d2c2883':
  Sync <net/if_types.h> with upstream.
2014-12-09 23:20:59 +00:00
Elliott Hughes
3f1c604c9d Merge "<net/route.h> should include IPv6 too." 2014-12-09 23:16:32 +00:00
Elliott Hughes
92fd177483 am 7381e145: Merge "Sync <net/if_types.h> with upstream."
* commit '7381e14521fcdc4e32ca512230793ab2256726bb':
  Sync <net/if_types.h> with upstream.
2014-12-09 23:15:15 +00:00
Elliott Hughes
a7feda3731 <net/route.h> should include IPv6 too.
Change-Id: I866097d8468aa8f326117d072444ebbc2a690719
2014-12-09 15:08:24 -08:00
Elliott Hughes
7381e14521 Merge "Sync <net/if_types.h> with upstream." 2014-12-09 23:07:45 +00:00
Elliott Hughes
1ec05b7c78 Sync <net/if_types.h> with upstream.
Change-Id: I2c2ca47f5a21b78754c03deb3e9467ab79d9d033
2014-12-09 15:03:51 -08:00
Yabin Cui
c5132eb361 am e0601bd4: am 94926f8c: Merge "support _POSIX_REALTIME_SIGNALS"
* commit 'e0601bd49f04e5f248be4ebd976f73b1cb0b5023':
  support _POSIX_REALTIME_SIGNALS
2014-12-09 22:10:11 +00:00
Yabin Cui
e0601bd49f am 94926f8c: Merge "support _POSIX_REALTIME_SIGNALS"
* commit '94926f8cfa0adf37c4e19256ade7261a97f72e51':
  support _POSIX_REALTIME_SIGNALS
2014-12-09 20:17:05 +00:00
Yabin Cui
94926f8cfa Merge "support _POSIX_REALTIME_SIGNALS" 2014-12-09 20:10:19 +00:00
Yabin Cui
f3d576b1e7 am e906cf68: am b033761c: Merge "Change _POSIX_CPUTIME macro to make it compitable with glibc."
* commit 'e906cf68f07ad8b64ec594a1e4115f5bc261caab':
  Change _POSIX_CPUTIME macro to make it compitable with glibc.
2014-12-09 18:06:13 +00:00
Yabin Cui
e906cf68f0 am b033761c: Merge "Change _POSIX_CPUTIME macro to make it compitable with glibc."
* commit 'b033761cbf0e79ade9a8c956c2e63b42ee838183':
  Change _POSIX_CPUTIME macro to make it compitable with glibc.
2014-12-09 17:58:28 +00:00
Yabin Cui
b033761cbf Merge "Change _POSIX_CPUTIME macro to make it compitable with glibc." 2014-12-09 17:51:37 +00:00
Yabin Cui
725756045e Change _POSIX_CPUTIME macro to make it compitable with glibc.
Change-Id: I7a8dbb74bd622693c9fef60bd779687207517b7d
2014-12-09 09:16:11 -08:00
Elliott Hughes
19d76adddc am b430e6d6: am 5536044b: Merge "Simplify our endian.h implementation."
* commit 'b430e6d6d21d983b62338950b7c7750c76691068':
  Simplify our endian.h implementation.
2014-12-09 15:03:54 +00:00
Elliott Hughes
fc3d587f91 am c63ddc8b: am aa0002de: Merge "Merge mips setjmp/longjmp family."
* commit 'c63ddc8b8c793c732246cac9b4c95b9c1534ca12':
  Merge mips setjmp/longjmp family.
2014-12-09 14:41:13 +00:00
Elliott Hughes
5a103a5a91 am 09416c9e: am 0b7d9d6f: Merge "Switch arch-mips64/include/machine to a symlink."
* commit '09416c9ec602f8385ad38af4ac0079b9385fbfbc':
  Switch arch-mips64/include/machine to a symlink.
2014-12-09 14:41:12 +00:00
Elliott Hughes
b5e1fa5046 am 3cc8e0e9: am af829f2d: Merge "Use 64-bit units in the aarch64 setjmp implementation."
* commit '3cc8e0e9d5b79e78ec3f2f636e0f527ec8a58519':
  Use 64-bit units in the aarch64 setjmp implementation.
2014-12-09 14:41:11 +00:00
Elliott Hughes
408d8fa464 am 16c93b47: am 86d06dcc: Merge "Switch arm and arm64 over to the x86 style of jmpbuf."
* commit '16c93b47646e2ea5c3e09719bf1698363833676f':
  Switch arm and arm64 over to the x86 style of jmpbuf.
2014-12-09 14:41:10 +00:00
Elliott Hughes
b9abfd25d5 am 65187330: am 515a2ea1: Merge "Fix signal mask save/restore for x86-64."
* commit '6518733033ab076df32564ecb1a782313c993a86':
  Fix signal mask save/restore for x86-64.
2014-12-09 14:41:05 +00:00
Elliott Hughes
2660970708 am b67ff7e3: am 734f0d64: Merge "Fix signal mask save/restore for arm64."
* commit 'b67ff7e37eac39bdbc06478a545b507462fdcee9':
  Fix signal mask save/restore for arm64.
2014-12-09 14:41:04 +00:00
Yabin Cui
634816055f support _POSIX_REALTIME_SIGNALS
Bug: 18489947
Change-Id: I2e834d68bc10ca5fc7ebde047b517a3074179475
2014-12-08 21:52:43 -08:00
Elliott Hughes
b430e6d6d2 am 5536044b: Merge "Simplify our endian.h implementation."
* commit '5536044b7896285729cdb39ee0489265a42697f5':
  Simplify our endian.h implementation.
2014-12-09 05:09:13 +00:00
Elliott Hughes
5536044b78 Merge "Simplify our endian.h implementation." 2014-12-09 05:02:37 +00:00
Elliott Hughes
56e017306e Simplify our endian.h implementation.
We can rely on the compiler's builtins. Tested on arm, arm64, mips, x86,
and x86-64.

Change-Id: I0f774ed7e85b3c791a3178d8ef17c6500e6a9ace
2014-12-08 20:35:08 -08:00
Elliott Hughes
c63ddc8b8c am aa0002de: Merge "Merge mips setjmp/longjmp family."
* commit 'aa0002de89ee4753bce6e4d714e5d4cc4d9709eb':
  Merge mips setjmp/longjmp family.
2014-12-09 01:30:42 +00:00
Elliott Hughes
aa0002de89 Merge "Merge mips setjmp/longjmp family." 2014-12-09 01:18:32 +00:00
Elliott Hughes
d27ae2f8d7 Merge mips setjmp/longjmp family.
Bug: 16918359
Change-Id: I9033a7d178d431ddb09f1cfa6e4bf95ae02346e9
2014-12-08 17:07:53 -08:00
Elliott Hughes
09416c9ec6 am 0b7d9d6f: Merge "Switch arch-mips64/include/machine to a symlink."
* commit '0b7d9d6f37d33a155a22efbafa911a5de54f7b65':
  Switch arch-mips64/include/machine to a symlink.
2014-12-09 00:56:54 +00:00
Elliott Hughes
304835cb05 am 6bad956e: am c7450f77: Restore symbols from <arpa/nameser.h>.
* commit '6bad956eade0ad7c9b0d4aaa7d3583f70fca97fd':
  Restore symbols from <arpa/nameser.h>.
2014-12-09 00:54:24 +00:00
Elliott Hughes
0b7d9d6f37 Merge "Switch arch-mips64/include/machine to a symlink." 2014-12-09 00:51:49 +00:00
Elliott Hughes
2fecbfaeee Switch arch-mips64/include/machine to a symlink.
Imagination already did the work to make the contents of these directories
identical. Let's take advantage of that fact.

Change-Id: Ib101ba39041fb500c9c618fa2020e72aa2ccd9c2
2014-12-08 16:48:34 -08:00
Elliott Hughes
3cc8e0e9d5 am af829f2d: Merge "Use 64-bit units in the aarch64 setjmp implementation."
* commit 'af829f2de9432dc817eafc2ed2aa26cfb1e0d93e':
  Use 64-bit units in the aarch64 setjmp implementation.
2014-12-09 00:46:55 +00:00
Elliott Hughes
af829f2de9 Merge "Use 64-bit units in the aarch64 setjmp implementation." 2014-12-09 00:39:16 +00:00
Elliott Hughes
16c93b4764 am 86d06dcc: Merge "Switch arm and arm64 over to the x86 style of jmpbuf."
* commit '86d06dcc74f1804a1d00b4c1bc420105bba49df7':
  Switch arm and arm64 over to the x86 style of jmpbuf.
2014-12-09 00:25:53 +00:00
Elliott Hughes
9fa2cfbbdb Use 64-bit units in the aarch64 setjmp implementation.
The use of 32-bit units for 64-bit stores and loads was driving me crazy.

Bug: 16918359
Change-Id: Ifb73aad8f8985a2adfcf5913b783ad9424f23e06
2014-12-08 16:23:10 -08:00
Elliott Hughes
86d06dcc74 Merge "Switch arm and arm64 over to the x86 style of jmpbuf." 2014-12-09 00:16:20 +00:00
Elliott Hughes
75096226c8 Switch arm and arm64 over to the x86 style of jmpbuf.
Specifically, use the argument to sigsetjmp as a flag in the buffer
to indicate whether or not the signal mask is valid.

Bug: 16918359
Change-Id: I5bb1f1220f14c105c6bc57e0c28c1dc366d1438f
2014-12-08 16:15:59 -08:00
Elliott Hughes
6518733033 am 515a2ea1: Merge "Fix signal mask save/restore for x86-64."
* commit '515a2ea1d575d96e774ba08f59a14ceefdd125c3':
  Fix signal mask save/restore for x86-64.
2014-12-09 00:08:09 +00:00
Elliott Hughes
b67ff7e37e am 734f0d64: Merge "Fix signal mask save/restore for arm64."
* commit '734f0d645e461a1061c879e5bd964592d3f326ee':
  Fix signal mask save/restore for arm64.
2014-12-09 00:08:08 +00:00
Elliott Hughes
515a2ea1d5 Merge "Fix signal mask save/restore for x86-64." 2014-12-08 21:40:15 +00:00
Elliott Hughes
1c0c0ede57 Fix signal mask save/restore for x86-64.
Bug: 16918359
Change-Id: I30bf61e7d5f1c21daa3a1a21d361e98d77220bf3
2014-12-08 12:46:15 -08:00
Elliott Hughes
734f0d645e Merge "Fix signal mask save/restore for arm64." 2014-12-08 20:27:14 +00:00
Elliott Hughes
6bad956ead am c7450f77: Restore symbols from <arpa/nameser.h>.
* commit 'c7450f7738b0d1edf832fc881ef63546d45428cb':
  Restore symbols from <arpa/nameser.h>.
2014-12-08 19:09:42 +00:00
Elliott Hughes
7b78e8187e Fix signal mask save/restore for arm64.
Bug: 16918359
Change-Id: Ieb15f7f1658f5accee05665b72ba17831a80ea9d
2014-12-06 11:18:00 -08:00
Elliott Hughes
82a67e63b6 am 217f77df: am ae141c52: am 7d3a99b1: Merge "Clean up the x86-64 and x86 setjmp families."
* commit '217f77df4816a6f66327fc0db8ce90546ca3e4dc':
  Clean up the x86-64 and x86 setjmp families.
2014-12-06 06:42:11 +00:00
Elliott Hughes
217f77df48 am ae141c52: am 7d3a99b1: Merge "Clean up the x86-64 and x86 setjmp families."
* commit 'ae141c526f8075f722d16ab6382f94db3a20d46f':
  Clean up the x86-64 and x86 setjmp families.
2014-12-06 06:35:45 +00:00
Elliott Hughes
ae141c526f am 7d3a99b1: Merge "Clean up the x86-64 and x86 setjmp families."
* commit '7d3a99b1bb06c3a261252680b4c3295cbcd77894':
  Clean up the x86-64 and x86 setjmp families.
2014-12-06 06:28:49 +00:00
Elliott Hughes
7d3a99b1bb Merge "Clean up the x86-64 and x86 setjmp families." 2014-12-06 06:23:09 +00:00
Elliott Hughes
8d4c55cc74 Clean up the x86-64 and x86 setjmp families.
Bug: 16918359
Change-Id: Ic8ca0af9ea99636bc71f19d46071f1cea6eef982
2014-12-05 22:20:08 -08:00
Elliott Hughes
d9a82af25a am 03f865f0: am 9156e864: am 289f44a4: Merge "Clean up arm setjmp family."
* commit '03f865f03720336996b53393e13ae70787c9cedb':
  Clean up arm setjmp family.
2014-12-06 00:08:26 +00:00
Elliott Hughes
03f865f037 am 9156e864: am 289f44a4: Merge "Clean up arm setjmp family."
* commit '9156e86466d8c9430608f26f1b28aab66e7ee7a1':
  Clean up arm setjmp family.
2014-12-06 00:04:05 +00:00
Elliott Hughes
9156e86466 am 289f44a4: Merge "Clean up arm setjmp family."
* commit '289f44a459b6b28f8e1bb7eef165699129878c85':
  Clean up arm setjmp family.
2014-12-06 00:00:28 +00:00
Elliott Hughes
289f44a459 Merge "Clean up arm setjmp family." 2014-12-05 23:53:47 +00:00
Elliott Hughes
b393299b85 Clean up arm setjmp family.
Bug: 16918359
Change-Id: I9b986bdbdbaefe9d9896a820ee8cfe860adfe5c5
2014-12-05 15:39:51 -08:00
Elliott Hughes
640cb6de14 am 8c838ec5: am d276faae: am 872da6d3: Merge "Clean up the arm64 setjmp."
* commit '8c838ec5f3458b15a608033c352ecf5c69c6f073':
  Clean up the arm64 setjmp.
2014-12-05 23:27:05 +00:00
Elliott Hughes
8c838ec5f3 am d276faae: am 872da6d3: Merge "Clean up the arm64 setjmp."
* commit 'd276faae7c82cd139e984275b325edc4dbe313f3':
  Clean up the arm64 setjmp.
2014-12-05 23:19:08 +00:00
Elliott Hughes
d276faae7c am 872da6d3: Merge "Clean up the arm64 setjmp."
* commit '872da6d39c3484d4dca0cb181d456587cdaa1acf':
  Clean up the arm64 setjmp.
2014-12-05 23:12:31 +00:00
Elliott Hughes
872da6d39c Merge "Clean up the arm64 setjmp." 2014-12-05 23:06:17 +00:00
Elliott Hughes
9fb536de97 Clean up the arm64 setjmp.
Note that this doesn't address the fact that we don't save/restore the
real-time signals. But it does let us pass the tests we currently fail.

Bug: 16918359
Change-Id: I063a6926164289a71026a412da7f5dd2ca9a74b3
2014-12-05 15:05:45 -08:00
Tao Bao
43c60afc19 am 65907a22: am cdf9ef0e: am 24214067: Merge "Add cache related sysconf queries"
* commit '65907a22d80db587eb43e212a27565b9f0ce8a77':
  Add cache related sysconf queries
2014-12-05 18:29:09 +00:00
Tao Bao
65907a22d8 am cdf9ef0e: am 24214067: Merge "Add cache related sysconf queries"
* commit 'cdf9ef0e55480d74a1b99d942c37b66f2a3f1cf5':
  Add cache related sysconf queries
2014-12-05 18:23:29 +00:00
Tao Bao
cdf9ef0e55 am 24214067: Merge "Add cache related sysconf queries"
* commit '2421406711e0b2e214234add79c842bbb2c07ca1':
  Add cache related sysconf queries
2014-12-05 18:16:32 +00:00
Tao Bao
2421406711 Merge "Add cache related sysconf queries" 2014-12-05 18:11:53 +00:00
Elliott Hughes
09897ab73b am 256454b8: am 458d0f1a: am 9e08a7bb: Merge "Restore symbols from <arpa/nameser.h>."
* commit '256454b83b13c04960a829b05e223c3e120b22d4':
  Restore symbols from <arpa/nameser.h>.
2014-12-05 00:15:47 +00:00
Yabin Cui
3f9d41e169 am 9c81c996: am 59932806: am 295bc2b9: Merge "implement posix_madvise"
* commit '9c81c996d9fe0750c35bb4aac3c11baf5efbd7e6':
  implement posix_madvise
2014-12-05 00:15:46 +00:00
Elliott Hughes
e15f109eca am ecabc635: am d5320228: am e3e3feaf: Merge "Make the missing symbols script more useful."
* commit 'ecabc635ed0e8429dfd716849b6ca09544f40049':
  Make the missing symbols script more useful.
2014-12-05 00:15:44 +00:00
Tao Bao
1f40be97b1 Add cache related sysconf queries
Several cache related queries are added, such as
_SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE and etc. For the
moment, we always return 0 for these queries.

Change-Id: I36f67af8128672d8c1eef49d6f2431cca5a94719
2014-12-04 15:24:28 -08:00
Elliott Hughes
256454b83b am 458d0f1a: am 9e08a7bb: Merge "Restore symbols from <arpa/nameser.h>."
* commit '458d0f1a116776a9f83a19285a954983aea162dd':
  Restore symbols from <arpa/nameser.h>.
2014-12-04 22:45:01 +00:00
Yabin Cui
9c81c996d9 am 59932806: am 295bc2b9: Merge "implement posix_madvise"
* commit '599328061c85f07079a9fd647db1dbb127f88854':
  implement posix_madvise
2014-12-04 22:45:00 +00:00
Elliott Hughes
ecabc635ed am d5320228: am e3e3feaf: Merge "Make the missing symbols script more useful."
* commit 'd532022864768e205997254d9177bc6b59636a84':
  Make the missing symbols script more useful.
2014-12-04 22:44:57 +00:00
Elliott Hughes
458d0f1a11 am 9e08a7bb: Merge "Restore symbols from <arpa/nameser.h>."
* commit '9e08a7bbb85179da9ef56ee4bdc87078bfe5c30d':
  Restore symbols from <arpa/nameser.h>.
2014-12-04 21:45:35 +00:00
Elliott Hughes
9e08a7bbb8 Merge "Restore symbols from <arpa/nameser.h>." 2014-12-04 21:39:58 +00:00
Yabin Cui
599328061c am 295bc2b9: Merge "implement posix_madvise"
* commit '295bc2b97041c5b06465effe1c60138a485495d5':
  implement posix_madvise
2014-12-04 21:37:49 +00:00
Yabin Cui
295bc2b970 Merge "implement posix_madvise" 2014-12-04 21:30:43 +00:00
Elliott Hughes
42804c4b30 Restore symbols from <arpa/nameser.h>.
Bug: 18627252
Bug: https://code.google.com/p/android/issues/detail?id=81690
Change-Id: I45b6c09cf2b5aabb80900e267d27cc0ec93d4dd8
2014-12-04 12:39:46 -08:00
Elliott Hughes
d532022864 am e3e3feaf: Merge "Make the missing symbols script more useful."
* commit 'e3e3feaf917c725c9c1194c930c8f11216d09ab1':
  Make the missing symbols script more useful.
2014-12-04 20:10:30 +00:00
Elliott Hughes
3a82568ef7 am f0435506: am 18a470e4: am 230005c4: Merge "Code using neon uses ARCH_ARM_HAVE_NEON."
* commit 'f0435506dad4cdf10154b2c042c0d8d46172036f':
  Code using neon uses ARCH_ARM_HAVE_NEON.
2014-12-04 20:05:06 +00:00
Elliott Hughes
0adfc4ac5b am 50ebeec8: am 509317a4: am a18af83b: Merge "Remove __ARM_HAVE_VFP."
* commit '50ebeec8b13e1a898d0b7ddda752379816ae563b':
  Remove __ARM_HAVE_VFP.
2014-12-04 20:05:01 +00:00
Elliott Hughes
96d1793759 am 28764780: am c02d6add: am 6cbc56b8: Merge "Implement <pty.h>."
* commit '28764780742d437dab54cdd45fd9bce56a812aac':
  Implement <pty.h>.
2014-12-04 20:04:59 +00:00
Elliott Hughes
e3e3feaf91 Merge "Make the missing symbols script more useful." 2014-12-04 20:04:39 +00:00
Elliott Hughes
f0435506da am 18a470e4: am 230005c4: Merge "Code using neon uses ARCH_ARM_HAVE_NEON."
* commit '18a470e435508a20b9f32a8d516a0da5fc361c81':
  Code using neon uses ARCH_ARM_HAVE_NEON.
2014-12-04 19:51:42 +00:00
Elliott Hughes
50ebeec8b1 am 509317a4: am a18af83b: Merge "Remove __ARM_HAVE_VFP."
* commit '509317a4758fc7177ca2e7ca1151914cd7701268':
  Remove __ARM_HAVE_VFP.
2014-12-04 19:51:41 +00:00
Elliott Hughes
2876478074 am c02d6add: am 6cbc56b8: Merge "Implement <pty.h>."
* commit 'c02d6add2d12ada65cc88db724921d23be6e3310':
  Implement <pty.h>.
2014-12-04 19:51:40 +00:00
Elliott Hughes
0393221f47 Make the missing symbols script more useful.
If something's in POSIX, we don't need to show it in the glibc list.

If something's not implemented by glibc, we don't need to show it in the
POSIX list (because it's probably either a macro or obsolete).

Change-Id: Ied0f8d97d3fffb280c22e9cdf6782430d776c02f
2014-12-04 11:24:48 -08:00
Yabin Cui
5afae64a1b implement posix_madvise
Bug: 18472477
Change-Id: I8183de6c281acf69ed5f7f88351b056b9827b162
2014-12-04 11:01:28 -08:00
Yabin Cui
0d13c7a1a9 am d7567706: am 0b2aabde: am 1898967e: Merge "change argument type in madvise"
* commit 'd7567706813d33f38e7869769bc8f6e706aee3d5':
  change argument type in madvise
2014-12-04 16:17:19 +00:00
Dmitriy Ivanov
052a834588 am 0c44172f: am f983286e: am 6a447eef: Merge "Fix warning: overriding commands for target"
* commit '0c44172f243ffb163b36aa604a8b3172e0f35909':
  Fix warning: overriding commands for target
2014-12-04 16:17:18 +00:00
Elliott Hughes
18a470e435 am 230005c4: Merge "Code using neon uses ARCH_ARM_HAVE_NEON."
* commit '230005c4bd3910ef974694f88d04e6f6a5a540b4':
  Code using neon uses ARCH_ARM_HAVE_NEON.
2014-12-04 15:16:36 +00:00
Elliott Hughes
509317a475 am a18af83b: Merge "Remove __ARM_HAVE_VFP."
* commit 'a18af83bc1bab330f2558451ffcd61bb31b8f147':
  Remove __ARM_HAVE_VFP.
2014-12-04 15:16:35 +00:00
Elliott Hughes
c02d6add2d am 6cbc56b8: Merge "Implement <pty.h>."
* commit '6cbc56b84be72b3f01c23b865e39f61a01ead895':
  Implement <pty.h>.
2014-12-04 15:16:33 +00:00
Yabin Cui
d756770681 am 0b2aabde: am 1898967e: Merge "change argument type in madvise"
* commit '0b2aabde32db99cffd4d06cda614edeac1112e37':
  change argument type in madvise
2014-12-04 09:22:07 +00:00
Dmitriy Ivanov
0c44172f24 am f983286e: am 6a447eef: Merge "Fix warning: overriding commands for target"
* commit 'f983286eedf71a6cef67ba6ba88c6ea0f19717f5':
  Fix warning: overriding commands for target
2014-12-04 09:22:01 +00:00
Elliott Hughes
230005c4bd Merge "Code using neon uses ARCH_ARM_HAVE_NEON." 2014-12-04 01:45:54 +00:00
Elliott Hughes
1309dcc842 Code using neon uses ARCH_ARM_HAVE_NEON.
Bug: 18556103
Change-Id: Ia8674dda223f81d616d15ee47b402ab4a3f98079
2014-12-03 17:41:26 -08:00
Elliott Hughes
a18af83bc1 Merge "Remove __ARM_HAVE_VFP." 2014-12-04 01:11:09 +00:00
Elliott Hughes
cb4c615bb9 Remove __ARM_HAVE_VFP.
Bug: 18556103
Change-Id: I6d4cc6a1b359ad2df1ce6687fd26f392059f6efd
2014-12-03 17:07:01 -08:00
Elliott Hughes
6cbc56b84b Merge "Implement <pty.h>." 2014-12-04 00:45:42 +00:00
Elliott Hughes
65f0df7873 Implement <pty.h>.
Based on the package/apps/Terminal implementation. I'll switch them over
shortly. This also lets us build the toybox version of netcat.

Change-Id: Ia922a100141a67409264b43b937eeca07b21f344
2014-12-03 15:55:34 -08:00
Elliott Hughes
d8e3a199a1 am af8d8f2c: resolved conflicts for merge of 27d276f3 to lmp-mr1-dev-plus-aosp
* commit 'af8d8f2c88bcf78cb3c94d241cf412d65f5ed55e':
  Avoid pathological behavior in OpenBSD's fread.
2014-12-03 20:44:17 +00:00
Elliott Hughes
af8d8f2c88 resolved conflicts for merge of 27d276f3 to lmp-mr1-dev-plus-aosp
Change-Id: I905890e17f90ca5e2b73a61176da6f6a36c0d345
2014-12-03 12:37:34 -08:00
Yabin Cui
0b2aabde32 am 1898967e: Merge "change argument type in madvise"
* commit '1898967e41c12948e363b9a442f65965a884cf2d':
  change argument type in madvise
2014-12-03 20:03:18 +00:00
Yabin Cui
1898967e41 Merge "change argument type in madvise" 2014-12-03 19:57:50 +00:00
Yabin Cui
efbb6fb3f7 change argument type in madvise
Make madvise prototype the same as linux man page.

Bug: 18539500
Change-Id: If3fd0e1d9539b9e10531ab9087bc4040e32b6e9b
2014-12-03 11:11:50 -08:00
Dmitriy Ivanov
f983286eed am 6a447eef: Merge "Fix warning: overriding commands for target"
* commit '6a447eeffca19a1aa4035f50c19ef9152392ed27':
  Fix warning: overriding commands for target
2014-12-03 19:01:25 +00:00
Dmitriy Ivanov
6a447eeffc Merge "Fix warning: overriding commands for target" 2014-12-03 18:55:56 +00:00
Dmitriy Ivanov
c7cbde320c Fix warning: overriding commands for target
Change-Id: I00fb4d6a8ff388722b75de9a0f4316619aaf9320
2014-12-03 09:51:37 -08:00
Elliott Hughes
b858ba5846 am 308c4d3f: am b06e125c: am 91a61f77: Merge "Switch x86 and x86-64 to __builtin_bswap*."
* commit '308c4d3fb1641ffc1e1c42add1b20c2f98cb5022':
  Switch x86 and x86-64 to __builtin_bswap*.
2014-12-03 17:39:16 +00:00
Elliott Hughes
3fa1da6597 am 85591636: am 58543de7: am 244299f4: Merge "Switch aarch64 to __builtin_bswap16."
* commit '855916362cfe0ef935e086fe550251805b01ff4f':
  Switch aarch64 to __builtin_bswap16.
2014-12-03 17:39:15 +00:00
Dmitriy Ivanov
78ef86160e am 44ea65b3: am 57eed1ab: am 8408d7ef: Merge "Fix soinfo_unload"
* commit '44ea65b3959065a260b1deddf7ce2dd0ca241e72':
  Fix soinfo_unload
2014-12-03 17:39:14 +00:00
Elliott Hughes
308c4d3fb1 am b06e125c: am 91a61f77: Merge "Switch x86 and x86-64 to __builtin_bswap*."
* commit 'b06e125c01ff30cc3835d6c8c025e256a82356bf':
  Switch x86 and x86-64 to __builtin_bswap*.
2014-12-03 17:31:35 +00:00
Elliott Hughes
855916362c am 58543de7: am 244299f4: Merge "Switch aarch64 to __builtin_bswap16."
* commit '58543de7215df81859e8ada22210773d4ab0ea82':
  Switch aarch64 to __builtin_bswap16.
2014-12-03 17:31:34 +00:00
Dmitriy Ivanov
44ea65b395 am 57eed1ab: am 8408d7ef: Merge "Fix soinfo_unload"
* commit '57eed1ab38dc2bcc458418b57f194efda055a50b':
  Fix soinfo_unload
2014-12-03 17:31:33 +00:00
Elliott Hughes
b06e125c01 am 91a61f77: Merge "Switch x86 and x86-64 to __builtin_bswap*."
* commit '91a61f77e203bf519c28f9331b9c8db731869499':
  Switch x86 and x86-64 to __builtin_bswap*.
2014-12-03 17:23:29 +00:00
Elliott Hughes
58543de721 am 244299f4: Merge "Switch aarch64 to __builtin_bswap16."
* commit '244299f4e0b58e48b5fdb15fc10a7327e0c32cf9':
  Switch aarch64 to __builtin_bswap16.
2014-12-03 17:23:28 +00:00
Dmitriy Ivanov
57eed1ab38 am 8408d7ef: Merge "Fix soinfo_unload"
* commit '8408d7efacd83c1813501954d3e199b63f350778':
  Fix soinfo_unload
2014-12-03 17:23:27 +00:00
Elliott Hughes
91a61f77e2 Merge "Switch x86 and x86-64 to __builtin_bswap*." 2014-12-03 16:20:06 +00:00
Elliott Hughes
244299f4e0 Merge "Switch aarch64 to __builtin_bswap16." 2014-12-03 16:15:45 +00:00
Elliott Hughes
12f35ada43 Switch x86 and x86-64 to __builtin_bswap*.
Bug: 18597513
Change-Id: I0781208efb3b560d7c6fa48f41be7bc6fc83521e
2014-12-02 20:16:05 -08:00
Elliott Hughes
1de2548c8e Switch aarch64 to __builtin_bswap16.
It generates the same code.

Bug: 18597513
Change-Id: I164296da8c676668983dd93697c6dfa05f10ec56
2014-12-02 19:55:38 -08:00
Dmitriy Ivanov
8408d7efac Merge "Fix soinfo_unload" 2014-12-03 03:25:58 +00:00
Elliott Hughes
4c7bc66f2a am 1c27acc3: am 5f48eda7: am baf792bf: Merge "Remove __ARM_HAVE_HALFWORD_MULTIPLY."
* commit '1c27acc32cb96ed67bb1be59799fcecfc469a465':
  Remove __ARM_HAVE_HALFWORD_MULTIPLY.
2014-12-03 02:52:37 +00:00
Elliott Hughes
79623f7e9e am f6116c5e: am 81b5f9f4: am 6bec3484: Merge "Remove __ARM_HAVE_LDREXD."
* commit 'f6116c5ea155f3135ba49c09b725dea3458eadf9':
  Remove __ARM_HAVE_LDREXD.
2014-12-03 02:52:36 +00:00
Elliott Hughes
8a2f97d738 am 39bf9593: am 52b3cbae: am f840cefa: Merge "Kill <machine/exec.h>."
* commit '39bf9593c49c1a10e2163a32212ea9342c05841b':
  Kill <machine/exec.h>.
2014-12-03 02:52:35 +00:00
Elliott Hughes
1c27acc32c am 5f48eda7: am baf792bf: Merge "Remove __ARM_HAVE_HALFWORD_MULTIPLY."
* commit '5f48eda760e563e39231b1a0eaba086a5c0403a2':
  Remove __ARM_HAVE_HALFWORD_MULTIPLY.
2014-12-03 02:47:47 +00:00
Elliott Hughes
f6116c5ea1 am 81b5f9f4: am 6bec3484: Merge "Remove __ARM_HAVE_LDREXD."
* commit '81b5f9f42f037690be5fbcb9501bd37e1f8bb3c1':
  Remove __ARM_HAVE_LDREXD.
2014-12-03 02:47:46 +00:00
Elliott Hughes
39bf9593c4 am 52b3cbae: am f840cefa: Merge "Kill <machine/exec.h>."
* commit '52b3cbae58e9069eebb09b913cf51a3a2781813d':
  Kill <machine/exec.h>.
2014-12-03 02:47:45 +00:00
Elliott Hughes
5f48eda760 am baf792bf: Merge "Remove __ARM_HAVE_HALFWORD_MULTIPLY."
* commit 'baf792bff86f9be6f631eece17d9d104cfe54b41':
  Remove __ARM_HAVE_HALFWORD_MULTIPLY.
2014-12-03 02:37:35 +00:00
Elliott Hughes
81b5f9f42f am 6bec3484: Merge "Remove __ARM_HAVE_LDREXD."
* commit '6bec3484ee1e90662c8c5e52c71fcdc430a7b619':
  Remove __ARM_HAVE_LDREXD.
2014-12-03 02:37:34 +00:00
Elliott Hughes
52b3cbae58 am f840cefa: Merge "Kill <machine/exec.h>."
* commit 'f840cefaea5e482e886c81a6b56648399ceb2568':
  Kill <machine/exec.h>.
2014-12-03 02:37:33 +00:00
Dmitriy Ivanov
18fa55188c am 70a2aea6: am ad8e339a: am 6995c1dc: Merge "Extract bionic-prepare-run-on-host to inc file."
* commit '70a2aea6e8df5e5c24b0d83c0a3a2ff34f43e718':
  Extract bionic-prepare-run-on-host to inc file.
2014-12-03 02:21:16 +00:00
Dmitriy Ivanov
5ae82cba59 Fix soinfo_unload
1. Take into consideration that the local_group_root_
    is not set for all of not linked libraries.
 2. We need to check visited list earlier to avoid double
    soinfo_free.

Change-Id: Iabc0a06a97c63f7e6bd4641731f50bb1466fed4f
2014-12-02 17:28:34 -08:00
Elliott Hughes
baf792bff8 Merge "Remove __ARM_HAVE_HALFWORD_MULTIPLY." 2014-12-03 01:12:48 +00:00
Elliott Hughes
a5602c566e Remove __ARM_HAVE_HALFWORD_MULTIPLY.
Bug: 18556103
Change-Id: I17e498539f77ddf7d1fb980ee93155d3c3ccd85e
2014-12-02 16:58:17 -08:00
Elliott Hughes
6bec3484ee Merge "Remove __ARM_HAVE_LDREXD." 2014-12-03 00:57:28 +00:00
Elliott Hughes
6651aa6bc1 Remove __ARM_HAVE_LDREXD.
No one uses this.

Bug: 18556103
Change-Id: Icecc3a7b5cb0a36960f27d030d8f4f8ee471f86c
2014-12-03 00:57:07 +00:00
Elliott Hughes
f840cefaea Merge "Kill <machine/exec.h>." 2014-12-03 00:42:56 +00:00
Elliott Hughes
84fb1f7ac8 am 66f7b275: Merge "Remove unnecessary #undefs from AOSP." into lmp-mr1-dev-plus-aosp
* commit '66f7b2758f909b981503ab228e92707f8c6b4ebc':
  Remove unnecessary #undefs from AOSP.
2014-12-03 00:30:51 +00:00
Elliott Hughes
16716ba940 am c28e2797: am cc7e28f1: am 432f763c: Merge "Avoid pathological behavior in OpenBSD\'s fread."
* commit 'c28e2797a78f92ba49999710fa5a1cd85b27badc':
  Avoid pathological behavior in OpenBSD's fread.
2014-12-03 00:30:45 +00:00
Dmitriy Ivanov
df206647a3 am 7ef5d8b8: am 5811e3fc: am 5cd127d3: Merge "Fix mips build"
* commit '7ef5d8b8454443e79f109a5f83ab40e4c602b88d':
  Fix mips build
2014-12-03 00:30:15 +00:00
Dmitriy Ivanov
29bf489217 am 20ce0b5b: am 3a43e9f5: am 8dd25905: Merge "Create /system/lib(64)? symlinks for host tests."
* commit '20ce0b5b5d666dd9d0ff41375623bde22670af7b':
  Create /system/lib(64)? symlinks for host tests.
2014-12-03 00:30:14 +00:00
Yabin Cui
9a4af8123a am 864ba276: am 5fea4532: am 4e7d66dd: Merge "Use mmap to create the pthread_internal_t."
* commit '864ba276f96b23835938cd0875cc5fe682ff6b6d':
  Use mmap to create the pthread_internal_t.
2014-12-03 00:30:01 +00:00
Dmitriy Ivanov
c652606558 am e92b30af: am 8d94e2e0: am 291dbf65: Merge "Count references for groups instead of instances"
* commit 'e92b30af6752104f86c564ccec66fc1d0f5be475':
  Count references for groups instead of instances
2014-12-03 00:30:00 +00:00
Elliott Hughes
b514026eb2 Kill <machine/exec.h>.
Bug: 18546535
Change-Id: I479e003deab21e31eb5caa5393067ed1dc558387
2014-12-02 16:16:29 -08:00
Dmitriy Ivanov
70a2aea6e8 am ad8e339a: am 6995c1dc: Merge "Extract bionic-prepare-run-on-host to inc file."
* commit 'ad8e339a565af518bcda51e5ebbc536aa63de9e3':
  Extract bionic-prepare-run-on-host to inc file.
2014-12-03 00:12:54 +00:00
Dmitriy Ivanov
ad8e339a56 am 6995c1dc: Merge "Extract bionic-prepare-run-on-host to inc file."
* commit '6995c1dcb5a9ad77a54d950fc24f5aba00909b69':
  Extract bionic-prepare-run-on-host to inc file.
2014-12-03 00:07:38 +00:00
Dmitriy Ivanov
6995c1dcb5 Merge "Extract bionic-prepare-run-on-host to inc file." 2014-12-03 00:02:13 +00:00
Dmitriy Ivanov
06b1b8ceac Extract bionic-prepare-run-on-host to inc file.
Make benchmark run-on-host depend on bionic-prepare-run-on-host.

Change-Id: I0bdbf561b2580d607a49b7c83cc273320ac55429
2014-12-02 15:15:34 -08:00
Elliott Hughes
66f7b2758f Merge "Remove unnecessary #undefs from AOSP." into lmp-mr1-dev-plus-aosp 2014-12-02 23:00:37 +00:00
Elliott Hughes
6c1e3f6e56 Remove unnecessary #undefs from AOSP.
This is a manual revert of 111461aaae.
git revert does the wrong thing because that patch shares lines (that we
want to keep) with 168667c972 and git
revert just removes them.

Change-Id: I83ac8c95e5c90a4137b7742a9b7536e1627f1ac7
2014-12-02 14:50:20 -08:00
Elliott Hughes
c28e2797a7 am cc7e28f1: am 432f763c: Merge "Avoid pathological behavior in OpenBSD\'s fread."
* commit 'cc7e28f111bfa5cd859ab7ac4eac8f98d9f10af3':
  Avoid pathological behavior in OpenBSD's fread.
2014-12-02 22:49:36 +00:00
Elliott Hughes
cc7e28f111 am 432f763c: Merge "Avoid pathological behavior in OpenBSD\'s fread."
* commit '432f763c0c370870b653537342aff87fac862d97':
  Avoid pathological behavior in OpenBSD's fread.
2014-12-02 22:45:07 +00:00
Elliott Hughes
432f763c0c Merge "Avoid pathological behavior in OpenBSD's fread." 2014-12-02 22:40:53 +00:00
Elliott Hughes
20841a137b Avoid pathological behavior in OpenBSD's fread.
Bug: https://code.google.com/p/android/issues/detail?id=81155
Bug: 18556607
Change-Id: Idc60976b79610e2202cc42dc393dcb4ca6c42e05
2014-12-02 14:22:02 -08:00
Dmitriy Ivanov
7ef5d8b845 am 5811e3fc: am 5cd127d3: Merge "Fix mips build"
* commit '5811e3fce16d2394654447ae9ee504149b7e1000':
  Fix mips build
2014-12-02 22:13:59 +00:00
Dmitriy Ivanov
20ce0b5b5d am 3a43e9f5: am 8dd25905: Merge "Create /system/lib(64)? symlinks for host tests."
* commit '3a43e9f5dbc129bdac5ca3397699a5c94dfd131d':
  Create /system/lib(64)? symlinks for host tests.
2014-12-02 22:13:58 +00:00
Yabin Cui
864ba276f9 am 5fea4532: am 4e7d66dd: Merge "Use mmap to create the pthread_internal_t."
* commit '5fea45328f7a596ab2040c8ea2fe227cf1752a07':
  Use mmap to create the pthread_internal_t.
2014-12-02 22:00:39 +00:00
Dmitriy Ivanov
e92b30af67 am 8d94e2e0: am 291dbf65: Merge "Count references for groups instead of instances"
* commit '8d94e2e0d7c7c4a5cc8c73d424c499db333713c8':
  Count references for groups instead of instances
2014-12-02 22:00:37 +00:00
Dmitriy Ivanov
5811e3fce1 am 5cd127d3: Merge "Fix mips build"
* commit '5cd127d3aa4a2f225be202af01581838fdd3c721':
  Fix mips build
2014-12-02 21:42:57 +00:00
Dmitriy Ivanov
5cd127d3aa Merge "Fix mips build" 2014-12-02 21:37:50 +00:00
Dmitriy Ivanov
3a43e9f5db am 8dd25905: Merge "Create /system/lib(64)? symlinks for host tests."
* commit '8dd2590549ac85b2fe20329842cf385fb3ed5c95':
  Create /system/lib(64)? symlinks for host tests.
2014-12-02 21:35:11 +00:00
Dmitriy Ivanov
8dd2590549 Merge "Create /system/lib(64)? symlinks for host tests." 2014-12-02 21:30:12 +00:00
Dmitriy Ivanov
20463e3e53 Fix mips build
Change-Id: Iddbf06784d19556a55d833e20a68e6ccf5a7c5be
2014-12-02 13:27:40 -08:00
Dmitriy Ivanov
a55126f1f6 Create /system/lib(64)? symlinks for host tests.
Replace LD_LIBRARY_PATH with default path for
  the tests run on host.

Bug: 18589961

Change-Id: Id4a84b73d25c2ca9c557fcfa19b8169daeaa016b
2014-12-02 12:11:08 -08:00
Yabin Cui
5fea45328f am 4e7d66dd: Merge "Use mmap to create the pthread_internal_t."
* commit '4e7d66ddb55a9d5f23ae80b6e6569733adf9262a':
  Use mmap to create the pthread_internal_t.
2014-12-02 19:53:14 +00:00
Yabin Cui
4e7d66ddb5 Merge "Use mmap to create the pthread_internal_t." 2014-12-02 19:45:48 +00:00
Dmitriy Ivanov
8d94e2e0d7 am 291dbf65: Merge "Count references for groups instead of instances"
* commit '291dbf65cadeccbb33e60b33fbe9f5f48c8763ff':
  Count references for groups instead of instances
2014-12-02 19:36:09 +00:00
Elliott Hughes
a271528462 am 12b7dd09: am 152e978f: Merge "Put stdin/stdout/stderr symbols in place." into lmp-mr1-dev
* commit '12b7dd0900a6760a47c765decfc6cdec75883d35':
  Put stdin/stdout/stderr symbols in place.
2014-12-02 19:35:04 +00:00
Elliott Hughes
12b7dd0900 am 152e978f: Merge "Put stdin/stdout/stderr symbols in place." into lmp-mr1-dev
* commit '152e978f73fc6cd37d0d82de69f1cf8134b34b90':
  Put stdin/stdout/stderr symbols in place.
2014-12-02 19:16:51 +00:00
Dmitriy Ivanov
291dbf65ca Merge "Count references for groups instead of instances" 2014-12-02 19:10:04 +00:00
Yabin Cui
42e664f763 am de88381c: am b2ec9cb2: am 46d0b81a: Merge "restore sigprocmask in setjmp/longjmp test."
* commit 'de88381c19ad9a23b5d26eb51b7591a7e7e6be50':
  restore sigprocmask in setjmp/longjmp test.
2014-12-02 19:05:28 +00:00
Yabin Cui
de88381c19 am b2ec9cb2: am 46d0b81a: Merge "restore sigprocmask in setjmp/longjmp test."
* commit 'b2ec9cb264ed1aadd1a2d938785d28ceb9fc16c4':
  restore sigprocmask in setjmp/longjmp test.
2014-12-02 18:56:12 +00:00
Dmitriy Ivanov
ab972b9adf Count references for groups instead of instances
Count references on the group level to avoid
  partially unloading function that might be
  referenced by other libraries in the local_group

  Bonus: with this change we can correctly unload recursively
  linked libraries. is_recursive check is removed.

  Also dynamic executables (not .so) with 0 DT_NEEDED libraries
  are now correctly linked.

Change-Id: Idfa83baef402840599b93a875f2881d9f020dbcd
2014-12-02 10:54:26 -08:00
Yabin Cui
b2ec9cb264 am 46d0b81a: Merge "restore sigprocmask in setjmp/longjmp test."
* commit '46d0b81a9465bf74fe44a881365c332dc6173f2f':
  restore sigprocmask in setjmp/longjmp test.
2014-12-02 18:49:30 +00:00
Yabin Cui
8574a0670b Use mmap to create the pthread_internal_t.
Bug: 16847284
Change-Id: I488fa236f57aa3acb29b4ffbbab2fab51b0653be
2014-12-02 10:39:25 -08:00
Yabin Cui
46d0b81a94 Merge "restore sigprocmask in setjmp/longjmp test." 2014-12-02 18:37:28 +00:00
Yabin Cui
e323e99ffb restore sigprocmask in setjmp/longjmp test.
Bug: 18571921
Change-Id: Ib8ca7a36abd3ccc729c20c0e32d45b1b33069f65
2014-12-02 10:35:25 -08:00
Dmitriy Ivanov
bf46bdef96 am 15121a42: am 611fddc7: am 224fb614: Merge "Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM."
* commit '15121a42c8882d073307a4853032750185cbb7ae':
  Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM.
2014-12-02 17:56:03 +00:00
Dmitriy Ivanov
15121a42c8 am 611fddc7: am 224fb614: Merge "Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM."
* commit '611fddc73eec4ad33739b6160e84e633984499b7':
  Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM.
2014-12-02 17:49:27 +00:00
Dmitriy Ivanov
611fddc73e am 224fb614: Merge "Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM."
* commit '224fb6144aaba529aef1554f7454df523de1ab38':
  Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM.
2014-12-02 17:41:54 +00:00
Dmitriy Ivanov
224fb6144a Merge "Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM." 2014-12-02 17:37:18 +00:00
Alexander Ivchenko
e831433fe1 Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM.
Change-Id: Id18310811a6d183878a1d4d26cc2498f4fd00c55
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
2014-12-02 15:34:30 +03:00
Lorenzo Colitti
91f6f25a2a am 8a94b864: am e5477f83: Fail queries fast if no DNS servers are configured.
* commit '8a94b864bf0b87e51aa32a856c847f11cd19047b':
  Fail queries fast if no DNS servers are configured.
2014-12-02 07:07:42 +00:00
Lorenzo Colitti
8a94b864bf am e5477f83: Fail queries fast if no DNS servers are configured.
* commit 'e5477f83b0a639b86d8cbe710f25d9808a8f72af':
  Fail queries fast if no DNS servers are configured.
2014-12-02 07:00:47 +00:00
Christopher Ferris
b8e52fb431 am a2b36226: am 45df6fb5: am 8374a548: Merge "Specify .cpu cortex-a15"
* commit 'a2b36226c3a90cf780e260e8cf5f52e44360e07d':
  Specify .cpu cortex-a15
2014-12-02 06:46:44 +00:00
Christopher Ferris
a2b36226c3 am 45df6fb5: am 8374a548: Merge "Specify .cpu cortex-a15"
* commit '45df6fb5f65ee162488d9c88fa7b4125b033e0e2':
  Specify .cpu cortex-a15
2014-12-02 02:44:33 +00:00
Christopher Ferris
45df6fb5f6 am 8374a548: Merge "Specify .cpu cortex-a15"
* commit '8374a5481394e89c46ecc0b7cf60381637edaaa5':
  Specify .cpu cortex-a15
2014-12-02 02:37:16 +00:00
Christopher Ferris
8374a54813 Merge "Specify .cpu cortex-a15" 2014-12-02 02:29:52 +00:00
Elliott Hughes
ca0580f6e5 am 97a96aee: am 4f16aa9a: am ec544e1b: Merge "Build our benchmarks against glibc too."
* commit '97a96aee6f15bf46bc125d388db2762ed0c42946':
  Build our benchmarks against glibc too.
2014-12-02 01:36:12 +00:00
Elliott Hughes
97a96aee6f am 4f16aa9a: am ec544e1b: Merge "Build our benchmarks against glibc too."
* commit '4f16aa9aec9705a74c7d518614c1f16e0cd65c5d':
  Build our benchmarks against glibc too.
2014-12-02 01:25:20 +00:00
Elliott Hughes
4f16aa9aec am ec544e1b: Merge "Build our benchmarks against glibc too."
* commit 'ec544e1b35cadaefd833b441dbec9c44adff6ade':
  Build our benchmarks against glibc too.
2014-12-02 01:03:34 +00:00
Elliott Hughes
ec544e1b35 Merge "Build our benchmarks against glibc too." 2014-12-02 00:57:44 +00:00
Elliott Hughes
212e0e3824 Build our benchmarks against glibc too.
Bug: 18556607
Change-Id: I455ac8b93c0835836180e549486bc52d393ee6a6
2014-12-01 16:43:51 -08:00
Elliott Hughes
abe9b1c17e am caa3593b: am bfcb37c6: am 076f69d8: Merge "Benchmark fread/fwrite both buffered and unbuffered."
* commit 'caa3593b122512116f2ad7726b90832e31b5c3f9':
  Benchmark fread/fwrite both buffered and unbuffered.
2014-12-01 22:00:33 +00:00
Elliott Hughes
212289cc94 am 6d11f116: am 8a400073: am 6f9d7444: Merge "Fix running the bionic benchmarks on the host."
* commit '6d11f116e78955c4c4851c1a59139cfb1266c7c3':
  Fix running the bionic benchmarks on the host.
2014-12-01 22:00:32 +00:00
Elliott Hughes
caa3593b12 am bfcb37c6: am 076f69d8: Merge "Benchmark fread/fwrite both buffered and unbuffered."
* commit 'bfcb37c608344b3b1f1981084910eb07e87f882d':
  Benchmark fread/fwrite both buffered and unbuffered.
2014-12-01 21:52:41 +00:00
Elliott Hughes
6d11f116e7 am 8a400073: am 6f9d7444: Merge "Fix running the bionic benchmarks on the host."
* commit '8a400073bf1c7d328366055f2d2a3401fd22530f':
  Fix running the bionic benchmarks on the host.
2014-12-01 21:52:40 +00:00
Elliott Hughes
bfcb37c608 am 076f69d8: Merge "Benchmark fread/fwrite both buffered and unbuffered."
* commit '076f69d828cfa5d30360e1dd2f24acd751d4a461':
  Benchmark fread/fwrite both buffered and unbuffered.
2014-12-01 21:46:29 +00:00
Elliott Hughes
8a400073bf am 6f9d7444: Merge "Fix running the bionic benchmarks on the host."
* commit '6f9d7444e801487fb2362955c62c379a681a55f6':
  Fix running the bionic benchmarks on the host.
2014-12-01 21:46:28 +00:00
Elliott Hughes
076f69d828 Merge "Benchmark fread/fwrite both buffered and unbuffered." 2014-12-01 21:43:32 +00:00
Elliott Hughes
6f9d7444e8 Merge "Fix running the bionic benchmarks on the host." 2014-12-01 21:40:25 +00:00
Elliott Hughes
47dc7c974e Benchmark fread/fwrite both buffered and unbuffered.
Bug: 18556607
Change-Id: I53905aedcea75fe550d9c423fb701c2c9bf8e831
2014-12-01 13:12:18 -08:00
Elliott Hughes
f2bb57cfe3 Fix running the bionic benchmarks on the host.
Bug: 18556607
Change-Id: I4e75bfcde788b43e1926be1b0146acf09b496390
2014-12-01 13:11:38 -08:00
Yabin Cui
95bf06da03 am d4130c87: am 44e69856: am 3e6ef3f9: Merge "support _POSIX_CPUTIME"
* commit 'd4130c870d91b6be88f2685717b28ece05fdddcf':
  support _POSIX_CPUTIME
2014-12-01 17:22:28 +00:00
Yabin Cui
d4130c870d am 44e69856: am 3e6ef3f9: Merge "support _POSIX_CPUTIME"
* commit '44e698565c58e560c0d04c9d8b3fa3bf28b21de0':
  support _POSIX_CPUTIME
2014-12-01 17:16:23 +00:00
Yabin Cui
44e698565c am 3e6ef3f9: Merge "support _POSIX_CPUTIME"
* commit '3e6ef3f90285191976a60d7a94287fb0fec1af5d':
  support _POSIX_CPUTIME
2014-12-01 17:09:48 +00:00
David 'Digit' Turner
da741f81f2 am d4f6518c: am 4c7e4b96: am fabb4282: Merge "libc: Fix headers to allow direct inclusion."
* commit 'd4f6518ce21f299fe2bad8abf4b9d5ce488adeb5':
  libc: Fix headers to allow direct inclusion.
2014-12-01 17:06:27 +00:00
Yabin Cui
3e6ef3f902 Merge "support _POSIX_CPUTIME" 2014-12-01 17:06:02 +00:00
David 'Digit' Turner
d4f6518ce2 am 4c7e4b96: am fabb4282: Merge "libc: Fix headers to allow direct inclusion."
* commit '4c7e4b9695d3404df4df9dafad1e7901cf346016':
  libc: Fix headers to allow direct inclusion.
2014-12-01 17:01:39 +00:00
David 'Digit' Turner
4c7e4b9695 am fabb4282: Merge "libc: Fix headers to allow direct inclusion."
* commit 'fabb4282be66caed37c405e36c94dd1dc30ddbb2':
  libc: Fix headers to allow direct inclusion.
2014-12-01 16:55:32 +00:00
David 'Digit' Turner
fabb4282be Merge "libc: Fix headers to allow direct inclusion." 2014-12-01 16:50:04 +00:00
David 'Digit' Turner
aad1a39dfb libc: Fix headers to allow direct inclusion.
These headers are missing a few #includes to allow their direct
inclusion from C

http://b.android.com/79841

Change-Id: Ifc712c17f4da70b26adb67d4d49ed659f53c3621
2014-12-01 15:44:24 +01:00
Bernhard Rosenkränzer
ce46f5576a Specify .cpu cortex-a15
When building with clang without this change, as errors out saying pldw
is an unsupported instruction (because it isn't part of the ARMv7 core
instruction set).
Let as know using pldw is fine.

Change-Id: Ie1f9c4b873e93ab2b3b374d2d46e476a4e581710
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-11-30 22:17:30 +01:00
Elliott Hughes
964c49f505 am 871fb863: am 6823cbe5: am 7602628e: Merge "Add error-check when mapping socket to fd"
* commit '871fb8630991765caa800ee6061df875fce42e9e':
  Add error-check when mapping socket to fd
2014-11-27 19:39:13 +00:00
Elliott Hughes
871fb86309 am 6823cbe5: am 7602628e: Merge "Add error-check when mapping socket to fd"
* commit '6823cbe5812011109f6384f945e767758b287fa4':
  Add error-check when mapping socket to fd
2014-11-27 19:33:16 +00:00
Elliott Hughes
6823cbe581 am 7602628e: Merge "Add error-check when mapping socket to fd"
* commit '7602628e972b90689b8f39e0c837cad28383bc2b':
  Add error-check when mapping socket to fd
2014-11-27 19:10:14 +00:00
Elliott Hughes
7602628e97 Merge "Add error-check when mapping socket to fd" 2014-11-27 19:05:13 +00:00
Robert Alm
3638a83657 Add error-check when mapping socket to fd
The call to fdopen can fail in several ways.
The fprintf on the next line will then dereference a
NULL-pointer FILE*.
Added a NULL-check, closed the socket, returned system error
and added a comment about it.

Change-Id: I7a6b26aa3c79452b1fdd76af12dfa75da88cbad7
2014-11-27 11:01:50 -08:00
Elliott Hughes
8f73d930dd am 682f9e01: am a169a98c: am 46140327: Merge "Move a private x86-64 header file out of the limelight."
* commit '682f9e01d8b5dbe594f18479326bf52ce666c51f':
  Move a private x86-64 header file out of the limelight.
2014-11-27 17:36:11 +00:00
Elliott Hughes
682f9e01d8 am a169a98c: am 46140327: Merge "Move a private x86-64 header file out of the limelight."
* commit 'a169a98ce449cb4ce0686480241d1d5afae42123':
  Move a private x86-64 header file out of the limelight.
2014-11-27 17:30:38 +00:00
Elliott Hughes
a169a98ce4 am 46140327: Merge "Move a private x86-64 header file out of the limelight."
* commit '461403270593363dfe0b75db9f5e9f454b4258d2':
  Move a private x86-64 header file out of the limelight.
2014-11-27 17:24:23 +00:00
Elliott Hughes
4614032705 Merge "Move a private x86-64 header file out of the limelight." 2014-11-27 17:20:50 +00:00
Elliott Hughes
04fb6c6d84 am cce22649: am bfc06e4e: am 87516a65: Merge "[MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6"
* commit 'cce22649c0834324c6c36e85cbe90c98d0917e3e':
  [MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6
2014-11-27 14:01:32 +00:00
Elliott Hughes
33933ede5c am 28f9ea7a: am 5d6ecd79: am cc0a9e6b: Merge "bionic tests: add setjmp/_setjmp/sigsetjmp tests."
* commit '28f9ea7ab935adaa69475ee7a70febb57a723a27':
  bionic tests: add setjmp/_setjmp/sigsetjmp tests.
2014-11-27 14:01:31 +00:00
Elliott Hughes
cce22649c0 am bfc06e4e: am 87516a65: Merge "[MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6"
* commit 'bfc06e4eabd0cb0357e465ad971d36307f370077':
  [MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6
2014-11-27 13:54:43 +00:00
Elliott Hughes
28f9ea7ab9 am 5d6ecd79: am cc0a9e6b: Merge "bionic tests: add setjmp/_setjmp/sigsetjmp tests."
* commit '5d6ecd79db6330da1c196d8e9441b0d7d1dd7fe3':
  bionic tests: add setjmp/_setjmp/sigsetjmp tests.
2014-11-27 13:54:42 +00:00
Elliott Hughes
1b66f6e9d7 Move a private x86-64 header file out of the limelight.
Currently this is on everyone's include path and is getting exported
via the NDK.

Change-Id: Ia417839fb65c7e0afddcd9fae3438665dae8e752
2014-11-26 19:31:19 -08:00
Elliott Hughes
bfc06e4eab am 87516a65: Merge "[MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6"
* commit '87516a6508add943cea99f3d29cb8bd89c4a3bdb':
  [MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6
2014-11-27 02:35:02 +00:00
Elliott Hughes
87516a6508 Merge "[MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6" 2014-11-27 02:28:50 +00:00
Elliott Hughes
5d6ecd79db am cc0a9e6b: Merge "bionic tests: add setjmp/_setjmp/sigsetjmp tests."
* commit 'cc0a9e6bdf0c07f0ce9fab106a026bfb30757b86':
  bionic tests: add setjmp/_setjmp/sigsetjmp tests.
2014-11-27 01:52:32 +00:00
Elliott Hughes
cc0a9e6bdf Merge "bionic tests: add setjmp/_setjmp/sigsetjmp tests." 2014-11-27 01:33:09 +00:00
Yongqin Liu
9fea4090f1 bionic tests: add setjmp/_setjmp/sigsetjmp tests.
Bug: 17288973
Change-Id: I2808eee58cbddae1b16fbe19a715b72d6dbaaec3
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-11-26 17:31:24 -08:00
Yabin Cui
d5c652756b support _POSIX_CPUTIME
Bug: 18490039
Change-Id: I01fa83b48e1b908de1f227b6e4f98e280bcd50ee
2014-11-26 17:14:50 -08:00
Nicolas Geoffray
196358e019 am ef06f061: am 212452dc: am f64c43ba: Merge "Revert "Use mmap to create the pthread_internal_t.""
* commit 'ef06f061441a495c143e8f867ebf75b3221f3686':
  Revert "Use mmap to create the pthread_internal_t."
2014-11-26 12:15:41 +00:00
Nicolas Geoffray
ef06f06144 am 212452dc: am f64c43ba: Merge "Revert "Use mmap to create the pthread_internal_t.""
* commit '212452dc6ea16ec29d1b44317156f194ac25c226':
  Revert "Use mmap to create the pthread_internal_t."
2014-11-26 12:09:30 +00:00
Nicolas Geoffray
212452dc6e am f64c43ba: Merge "Revert "Use mmap to create the pthread_internal_t.""
* commit 'f64c43ba6c9244c50e904961dc432f04b1dfcfd9':
  Revert "Use mmap to create the pthread_internal_t."
2014-11-26 12:03:26 +00:00
Nicolas Geoffray
f64c43ba6c Merge "Revert "Use mmap to create the pthread_internal_t."" 2014-11-26 11:57:46 +00:00
Nicolas Geoffray
5b8ceff5f8 Revert "Use mmap to create the pthread_internal_t."
Unfortunately, this change provokes random crashes for ART, and
I have seen libc crashes on the device that might be related to it.

Reverting it fixes the ART crashes. there is unfortunately no
stack trace for the crashes, but just a "Segmentation fault" message.


This reverts commit cc5f6543e3.

Change-Id: I68dca8e1e9b9edcce7eb84596e8db619e40e8052
2014-11-26 11:56:54 +00:00
Duane Sand
3a4786348e [MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6
Change-Id: Idcd13413520dd503bc9cf782553675313e500a83
2014-11-25 17:33:10 -08:00
Yabin Cui
3f22e91900 am 0673b42e: am 896038a4: am 4a6069a8: Merge "Use mmap to create the pthread_internal_t."
* commit '0673b42e16f57459b74773dc622d05f7fa4039c3':
  Use mmap to create the pthread_internal_t.
2014-11-26 00:09:17 +00:00
Yabin Cui
0673b42e16 am 896038a4: am 4a6069a8: Merge "Use mmap to create the pthread_internal_t."
* commit '896038a454f869943d3c4e82b01b9687962007cf':
  Use mmap to create the pthread_internal_t.
2014-11-26 00:04:23 +00:00
Yabin Cui
896038a454 am 4a6069a8: Merge "Use mmap to create the pthread_internal_t."
* commit '4a6069a8af7755076283749111b7fac308c7bb7e':
  Use mmap to create the pthread_internal_t.
2014-11-25 23:58:36 +00:00
Yabin Cui
4a6069a8af Merge "Use mmap to create the pthread_internal_t." 2014-11-25 23:53:44 +00:00
Yabin Cui
cc5f6543e3 Use mmap to create the pthread_internal_t.
Bug: 16847284
Change-Id: Ic8c85f95afac1d8422ecb69674c688d1fecb6a44
2014-11-25 15:25:06 -08:00
Yabin Cui
286e46735e am 779cd7d7: am e9367cee: am eb3a5e02: Merge "flesh out sysconf(3) and the _POSIX_* constants"
* commit '779cd7d7c708fef1f7d689e8eb41b3c49bf54b5b':
  flesh out sysconf(3) and the _POSIX_* constants
2014-11-24 02:20:37 +00:00
Yabin Cui
779cd7d7c7 am e9367cee: am eb3a5e02: Merge "flesh out sysconf(3) and the _POSIX_* constants"
* commit 'e9367cee64349b16807efd448ab1261a091eeb22':
  flesh out sysconf(3) and the _POSIX_* constants
2014-11-24 02:17:09 +00:00
Yabin Cui
e9367cee64 am eb3a5e02: Merge "flesh out sysconf(3) and the _POSIX_* constants"
* commit 'eb3a5e026e65ea80b17580a71f4451f5cf5d6612':
  flesh out sysconf(3) and the _POSIX_* constants
2014-11-24 02:13:02 +00:00
Yabin Cui
eb3a5e026e Merge "flesh out sysconf(3) and the _POSIX_* constants" 2014-11-24 01:59:23 +00:00
Elliott Hughes
609cd58c31 am cfd3cc57: am bb03af30: am 95a02366: Merge "Sync with upstream OpenBSD fts.c."
* commit 'cfd3cc57475146fafe18bdbb538eddc11fe14f3f':
  Sync with upstream OpenBSD fts.c.
2014-11-23 18:19:04 +00:00
Elliott Hughes
cfd3cc5747 am bb03af30: am 95a02366: Merge "Sync with upstream OpenBSD fts.c."
* commit 'bb03af305d22dbbc4d07da033a6683eb93880223':
  Sync with upstream OpenBSD fts.c.
2014-11-23 18:14:12 +00:00
Elliott Hughes
bb03af305d am 95a02366: Merge "Sync with upstream OpenBSD fts.c."
* commit '95a02366f2697ed65c4a2849a9cbde3d403142e3':
  Sync with upstream OpenBSD fts.c.
2014-11-23 18:09:50 +00:00
Elliott Hughes
95a02366f2 Merge "Sync with upstream OpenBSD fts.c." 2014-11-23 18:06:29 +00:00
Dan Albert
909f6d51fc am 67788cce: am 26036279: am 806dd9f9: Merge "Move some pthread functions to signal.h."
* commit '67788cce25b133d85c89dfee3562c739ab01b3bb':
  Move some pthread functions to signal.h.
2014-11-22 22:47:25 +00:00
Dan Albert
67788cce25 am 26036279: am 806dd9f9: Merge "Move some pthread functions to signal.h."
* commit '260362798c28446231c5c387c6b0336cf87ab3d3':
  Move some pthread functions to signal.h.
2014-11-22 22:44:43 +00:00
Dan Albert
260362798c am 806dd9f9: Merge "Move some pthread functions to signal.h."
* commit '806dd9f90c8daadfafd19d69e3f36bb00729cb8e':
  Move some pthread functions to signal.h.
2014-11-22 22:42:34 +00:00
Dan Albert
806dd9f90c Merge "Move some pthread functions to signal.h." 2014-11-22 22:38:51 +00:00
Elliott Hughes
2818279ace Sync with upstream OpenBSD fts.c.
Change-Id: Ia7e26b603f6461095b5a8d7e8a6cdf4f8279fa84
2014-11-21 19:27:28 -08:00
Yabin Cui
1c19194c9d flesh out sysconf(3) and the _POSIX_* constants
Bug: 17571891
Change-Id: I81036615486bde65969ae5662587fcc88348474e
2014-11-21 19:10:52 -08:00
Elliott Hughes
d4c6d8918a am 2a796800: am 97b2a7ba: am d77c1ec9: Merge "Bring our <machine/endian.h> files back in sync."
* commit '2a796800725e3fdb889994c5e1ad6ace6bbd05e0':
  Bring our <machine/endian.h> files back in sync.
2014-11-22 02:55:34 +00:00
Elliott Hughes
2a79680072 am 97b2a7ba: am d77c1ec9: Merge "Bring our <machine/endian.h> files back in sync."
* commit '97b2a7bae0a8f9164d4b9de2b9e8676463dcb8b3':
  Bring our <machine/endian.h> files back in sync.
2014-11-22 02:51:24 +00:00
Elliott Hughes
97b2a7bae0 am d77c1ec9: Merge "Bring our <machine/endian.h> files back in sync."
* commit 'd77c1ec90a17ac91c24904670ba9a3a60fe4cd3d':
  Bring our <machine/endian.h> files back in sync.
2014-11-22 02:44:26 +00:00
Elliott Hughes
d77c1ec90a Merge "Bring our <machine/endian.h> files back in sync." 2014-11-22 02:41:44 +00:00
Elliott Hughes
ee369fb319 Bring our <machine/endian.h> files back in sync.
They'd drifted slightly which led to a compilation error in toybox,
which was assuming pid_t was defined. arm and arm64 were picking it
up via <endian.h> but x86 wasn't.

Change-Id: I58401e6c0066959dfc3b305b020876aaf7074bbf
2014-11-21 18:34:36 -08:00
Dmitriy Ivanov
ca27df9ba6 am 681e4896: am 7b7e7992: am 80838f19: Merge "Mips: remove arch-specific atexit.h"
* commit '681e4896377ddec7d28a9b14982840cb16db4609':
  Mips: remove arch-specific atexit.h
2014-11-21 23:59:44 +00:00
Dmitriy Ivanov
c19b3c7170 am c0e7e9c0: am d53cdb59: am ff1c2526: Merge "Mips: Remove unused files"
* commit 'c0e7e9c04080d2ddc456fcb30702012c372b344b':
  Mips: Remove unused files
2014-11-21 23:59:43 +00:00
Dmitriy Ivanov
64a3ffc861 am ceddf594: am cfacfcc3: am 6b1230b5: Merge "Mips: Reuse atexit.h from libc/arch-common"
* commit 'ceddf5946361d5ad3c2677a3164d8b716196d338':
  Mips: Reuse atexit.h from libc/arch-common
2014-11-21 23:13:24 +00:00
Dan Albert
13009d7726 am 76f4498c: am a77b8529: am 66ca8249: Merge "Revert "<sched.h> should offer both __sched_priority and sched_priority.""
* commit '76f4498c4a5b78bb3ec6508c4c7e88f48fa76fda':
  Revert "<sched.h> should offer both __sched_priority and sched_priority."
2014-11-21 23:12:57 +00:00
Dmitriy Ivanov
681e489637 am 7b7e7992: am 80838f19: Merge "Mips: remove arch-specific atexit.h"
* commit '7b7e799209a47a22d596fda1a5946f17f17052db':
  Mips: remove arch-specific atexit.h
2014-11-21 23:07:29 +00:00
Dmitriy Ivanov
c0e7e9c040 am d53cdb59: am ff1c2526: Merge "Mips: Remove unused files"
* commit 'd53cdb59c33b25005dcd3f6bd85cf4ce11908432':
  Mips: Remove unused files
2014-11-21 23:07:27 +00:00
Dmitriy Ivanov
7b7e799209 am 80838f19: Merge "Mips: remove arch-specific atexit.h"
* commit '80838f190ad9454d1a9ebc2204cbfbbb22086f56':
  Mips: remove arch-specific atexit.h
2014-11-21 23:04:49 +00:00
Dmitriy Ivanov
d53cdb59c3 am ff1c2526: Merge "Mips: Remove unused files"
* commit 'ff1c25262d801e631c88526346989b033805607d':
  Mips: Remove unused files
2014-11-21 23:01:11 +00:00
Dmitriy Ivanov
80838f190a Merge "Mips: remove arch-specific atexit.h" 2014-11-21 22:59:07 +00:00
Dmitriy Ivanov
4ae178f81d Mips: remove arch-specific atexit.h
Change-Id: I687ff4ead6c5e81db44782bf851cb84f87bfe085
2014-11-21 14:42:53 -08:00
Dmitriy Ivanov
ff1c25262d Merge "Mips: Remove unused files" 2014-11-21 22:38:47 +00:00
Dmitriy Ivanov
e3e8d15f23 Mips: Remove unused files
Change-Id: If98b832ee32f6dcd9f5d7ae21c601c210adfad6b
2014-11-21 14:29:43 -08:00
Dmitriy Ivanov
ceddf59463 am cfacfcc3: am 6b1230b5: Merge "Mips: Reuse atexit.h from libc/arch-common"
* commit 'cfacfcc398dc3990625cac12203693d4fead63b0':
  Mips: Reuse atexit.h from libc/arch-common
2014-11-21 21:23:23 +00:00
Dmitriy Ivanov
cfacfcc398 am 6b1230b5: Merge "Mips: Reuse atexit.h from libc/arch-common"
* commit '6b1230b57649309050d21929e02d0ccab87ff36b':
  Mips: Reuse atexit.h from libc/arch-common
2014-11-21 21:20:57 +00:00
Dmitriy Ivanov
6b1230b576 Merge "Mips: Reuse atexit.h from libc/arch-common" 2014-11-21 21:17:19 +00:00
Dmitriy Ivanov
c619603a31 Mips: Reuse atexit.h from libc/arch-common
Change-Id: Ica1670e6d3d1b6b0c64df93720efa65586e67727
2014-11-21 13:07:36 -08:00
Dan Albert
76f4498c4a am a77b8529: am 66ca8249: Merge "Revert "<sched.h> should offer both __sched_priority and sched_priority.""
* commit 'a77b8529ebe1b952ae89649c24f38859bd7e7b46':
  Revert "<sched.h> should offer both __sched_priority and sched_priority."
2014-11-21 20:25:59 +00:00
Dan Albert
a77b8529eb am 66ca8249: Merge "Revert "<sched.h> should offer both __sched_priority and sched_priority.""
* commit '66ca82495cb24545897bb4141f55afd2f17775b7':
  Revert "<sched.h> should offer both __sched_priority and sched_priority."
2014-11-21 20:19:48 +00:00
Dan Albert
66ca82495c Merge "Revert "<sched.h> should offer both __sched_priority and sched_priority."" 2014-11-21 20:15:55 +00:00
Dan Albert
75ef63d6cf Move some pthread functions to signal.h.
POSIX specifies that pthread_kill(3) and pthread_sigmask(3) are
supposed to live in signal.h rather than pthread.h.

Since signal.h now needs pthread_t and pthread_attr_t, I've moved
those defintions into include/machine/pthread_types.h to keep the
namespace clean. I also sorted some includes. The combination of these
two things seems to have exploded into a cascade of missing includes,
so this patch also cleans up all those.

Change-Id: Icfa92a39432fe83f542a797e5a113289d7e4ad0c
2014-11-21 10:26:09 -08:00
Dan Albert
f664034887 Revert "<sched.h> should offer both __sched_priority and sched_priority."
This was only ever added to keep strace compiling, but strace has
since (actually, prior) fixed their source to use the less ugly name,
so we don't need this anymore (good riddance, #define!).

This reverts commit bbb34f9536.
2014-11-21 10:24:40 -08:00
Dmitriy Ivanov
5669390ec9 am 6854b511: am c07f7ee7: am a847073a: Merge "Rename test_forked -> test_isolated"
* commit '6854b511f26cfafdc8ae58eb905c3286bafe672f':
  Rename test_forked -> test_isolated
2014-11-21 16:15:42 +00:00
Dmitriy Ivanov
6854b511f2 am c07f7ee7: am a847073a: Merge "Rename test_forked -> test_isolated"
* commit 'c07f7ee70daa04aa5d77771d8859592d110a7177':
  Rename test_forked -> test_isolated
2014-11-21 16:11:18 +00:00
Dmitriy Ivanov
c07f7ee70d am a847073a: Merge "Rename test_forked -> test_isolated"
* commit 'a847073a05295cc140fc79c9d433961442a6cae4':
  Rename test_forked -> test_isolated
2014-11-21 16:07:11 +00:00
Dmitriy Ivanov
a847073a05 Merge "Rename test_forked -> test_isolated" 2014-11-21 16:02:43 +00:00
Dmitriy Ivanov
0864d8bc47 Rename test_forked -> test_isolated
Change-Id: Ie72627e986c159832cbd3635d8ff5b1af3d5b1eb
2014-11-20 22:53:59 -08:00
Dmitriy Ivanov
6e57509488 am 7af0b557: am 4b0e0fa7: am 8b4b8273: Merge "Add test_forked() option"
* commit '7af0b557405893352f01f396f70a01280b5a555d':
  Add test_forked() option
2014-11-21 02:31:59 +00:00
Dmitriy Ivanov
7af0b55740 am 4b0e0fa7: am 8b4b8273: Merge "Add test_forked() option"
* commit '4b0e0fa75337449635845d5adf1f337d69608ba0':
  Add test_forked() option
2014-11-21 02:15:04 +00:00
Dmitriy Ivanov
4b0e0fa753 am 8b4b8273: Merge "Add test_forked() option"
* commit '8b4b82733877928da429e47d9a9bb73317517b2e':
  Add test_forked() option
2014-11-21 01:27:14 +00:00
Dmitriy Ivanov
8b4b827338 Merge "Add test_forked() option" 2014-11-21 01:21:16 +00:00
Dmitriy Ivanov
00e37818a7 Add test_forked() option
Executing test via test_forked() allows us to
 avoid undesired global state changes in tests like
 atexit, dlopen(.., RTLD_NODELETE) and similar.

Change-Id: I118cdf009269ab5dd7b117c9b61dafa47de2a011
2014-11-20 17:11:06 -08:00
Elliott Hughes
a604c4ac2f am d41e4403: am 432f6458: Fix flockfile(3) and friends for stdin/stdout/stderr too.
* commit 'd41e4403101ffab73c728828d56f254af2760947':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-20 23:19:32 +00:00
Elliott Hughes
d41e440310 am 432f6458: Fix flockfile(3) and friends for stdin/stdout/stderr too.
* commit '432f645887466ed7099addb20fa8915c8a29fcab':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-20 23:06:31 +00:00
Elliott Hughes
060521af91 am 2feba8cb: am 4e14c9b8: am 770198d3: Merge "Make the ftw(3) tests a bit more thorough."
* commit '2feba8cb14f0c9eee5c175279f90245fea8770ba':
  Make the ftw(3) tests a bit more thorough.
2014-11-20 00:23:08 +00:00
Elliott Hughes
2feba8cb14 am 4e14c9b8: am 770198d3: Merge "Make the ftw(3) tests a bit more thorough."
* commit '4e14c9b81faeab71fae62e24f5d8fb36337969ab':
  Make the ftw(3) tests a bit more thorough.
2014-11-20 00:18:14 +00:00
Elliott Hughes
4e14c9b81f am 770198d3: Merge "Make the ftw(3) tests a bit more thorough."
* commit '770198d3f707d5eccd6796f311015903aec31b26':
  Make the ftw(3) tests a bit more thorough.
2014-11-20 00:14:39 +00:00
Elliott Hughes
770198d3f7 Merge "Make the ftw(3) tests a bit more thorough." 2014-11-20 00:09:32 +00:00
Elliott Hughes
d0527de679 am c26375ae: am 4ed111ef: am 5313c3ff: Merge "Fix flockfile(3) and friends for stdin/stdout/stderr too."
* commit 'c26375ae5176179d51263306b2f40c0f1eff322f':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-20 00:02:08 +00:00
Elliott Hughes
c26375ae51 am 4ed111ef: am 5313c3ff: Merge "Fix flockfile(3) and friends for stdin/stdout/stderr too."
* commit '4ed111efe3a7f5b37039e3cce8039941977f390f':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-19 23:58:03 +00:00
Elliott Hughes
4ed111efe3 am 5313c3ff: Merge "Fix flockfile(3) and friends for stdin/stdout/stderr too."
* commit '5313c3ff89db33dc0af3fabfe142a7219adce0aa':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-19 23:51:22 +00:00
Elliott Hughes
5313c3ff89 Merge "Fix flockfile(3) and friends for stdin/stdout/stderr too." 2014-11-19 23:48:19 +00:00
Elliott Hughes
63bd43bbdc Make the ftw(3) tests a bit more thorough.
These also test much of fts(3).

Change-Id: Ia9245d6acbbd071191563ab1b91a400044104028
2014-11-19 15:47:53 -08:00
Elliott Hughes
c48c3e4bb3 Fix flockfile(3) and friends for stdin/stdout/stderr too.
stdin/stdout/stderr are special; their mutexes are initialized by
__sinit. There's no unit test for this, because __sinit has already
been called by the time the first unit test runs, but you could
reproduce this failure with a trivial main() that calls flockfile
or ftrylockfile on one of the standard streams before otherwise
using stdio.

Bug: 18208568
Change-Id: I28d232cf05a9f198a2bed61854d8047b23d2091d
2014-11-19 15:16:51 -08:00
Dmitriy Ivanov
b9e0a8490a am e0496865: am d3dcb783: am 6b48b20a: Merge "Yet another relocation test"
* commit 'e04968655f9881dcdc2756a80e341b9935361c46':
  Yet another relocation test
2014-11-19 19:52:19 +00:00
Dmitriy Ivanov
e04968655f am d3dcb783: am 6b48b20a: Merge "Yet another relocation test"
* commit 'd3dcb7830b3cbd2a650b6fa29e672e45fc3d689b':
  Yet another relocation test
2014-11-19 19:45:23 +00:00
Dmitriy Ivanov
d3dcb7830b am 6b48b20a: Merge "Yet another relocation test"
* commit '6b48b20a1e613dcb41704deb266142a7cc45588c':
  Yet another relocation test
2014-11-19 19:40:48 +00:00
Dmitriy Ivanov
6b48b20a1e Merge "Yet another relocation test" 2014-11-19 19:35:59 +00:00
Dmitriy Ivanov
7699d13a74 Yet another relocation test
This time we check if a -> b -> c function in 'a' relocates against
 implementation in 'c'.

Change-Id: I528180c3efd346bd447ea0237e5a8a0ac3cc031f
2014-11-19 10:39:05 -08:00
David 'Digit' Turner
8e6812bb00 am d2e2c336: am a2f6e783: am c9278b8a: Merge "libc: Move <sgidefs.h> to libc/arch-mips/"
* commit 'd2e2c3361a05d462c2669f4c1486841ed60e1f0b':
  libc: Move <sgidefs.h> to libc/arch-mips/
2014-11-19 15:02:18 +00:00
David 'Digit' Turner
d2e2c3361a am a2f6e783: am c9278b8a: Merge "libc: Move <sgidefs.h> to libc/arch-mips/"
* commit 'a2f6e783cd2a9c503194de3bd0e3d6ecac974cc2':
  libc: Move <sgidefs.h> to libc/arch-mips/
2014-11-19 14:56:44 +00:00
David 'Digit' Turner
a2f6e783cd am c9278b8a: Merge "libc: Move <sgidefs.h> to libc/arch-mips/"
* commit 'c9278b8a17e9a0a4e85c377105f500a7c1f41535':
  libc: Move <sgidefs.h> to libc/arch-mips/
2014-11-19 14:53:45 +00:00
David 'Digit' Turner
c9278b8a17 Merge "libc: Move <sgidefs.h> to libc/arch-mips/" 2014-11-19 14:49:52 +00:00
Yabin Cui
aeb1aecf51 am 2936af2e: am 9014065b: am 649f78df: Merge "fix shared gid support in getpwnam/getgrnam"
* commit '2936af2ec924e8f40a352b67a9bf214403c3aa36':
  fix shared gid support in getpwnam/getgrnam
2014-11-19 04:40:11 +00:00
Yabin Cui
2936af2ec9 am 9014065b: am 649f78df: Merge "fix shared gid support in getpwnam/getgrnam"
* commit '9014065b98664114528bc37bf1c2bb76546ef6b8':
  fix shared gid support in getpwnam/getgrnam
2014-11-19 04:35:28 +00:00
Yabin Cui
9014065b98 am 649f78df: Merge "fix shared gid support in getpwnam/getgrnam"
* commit '649f78df79bc45a46de9f3c391f395d5ab4fe73a':
  fix shared gid support in getpwnam/getgrnam
2014-11-19 04:28:31 +00:00
Yabin Cui
649f78df79 Merge "fix shared gid support in getpwnam/getgrnam" 2014-11-19 04:25:24 +00:00
Yabin Cui
a04c79b9d3 fix shared gid support in getpwnam/getgrnam
Bug: 18374693
Change-Id: I5353403cbbead6f6abac87bee2cf53a60dba408c
2014-11-18 19:58:04 -08:00
Dmitriy Ivanov
3ff915aab4 am 9a130604: am 52663836: am 27aa9c5b: Merge "Fix jump to unmapped memory on atexit"
* commit '9a130604173fcec4f3246e3e27376eeff7132d11':
  Fix jump to unmapped memory on atexit
2014-11-18 21:38:00 +00:00
Dmitriy Ivanov
9a13060417 am 52663836: am 27aa9c5b: Merge "Fix jump to unmapped memory on atexit"
* commit '5266383620998526652694d00155e9c6e49fb787':
  Fix jump to unmapped memory on atexit
2014-11-18 21:33:01 +00:00
Dmitriy Ivanov
5266383620 am 27aa9c5b: Merge "Fix jump to unmapped memory on atexit"
* commit '27aa9c5b50cc3e979fc67c1bf5296dfd725c8540':
  Fix jump to unmapped memory on atexit
2014-11-18 21:28:24 +00:00
Dmitriy Ivanov
27aa9c5b50 Merge "Fix jump to unmapped memory on atexit" 2014-11-18 21:25:37 +00:00
Dmitriy Ivanov
a2547055f2 Fix jump to unmapped memory on atexit
Split d-tor calls and soinfo_free to 2 separate steps

Bug: 18338888
Change-Id: Idbcb7242ade16fa18cba7fe30505ebd8d6023622
2014-11-18 13:16:27 -08:00
David 'Digit' Turner
6e50cb4544 libc: Move <sgidefs.h> to libc/arch-mips/
This is a MIPS-only header, and should not be part of the common
headers. See http://b.android.com/79841 for context.

Change-Id: I610bc3ff626b57e7854dad15a4a2f67e1e5ded75
2014-11-18 20:13:10 +01:00
Elliott Hughes
7d96a50f4e am 927fa38a: am cbdc7e68: am 8eda0a6d: Merge "libc: Fix mktime returns an uncorrect time in empty TZ case"
* commit '927fa38a53dff3d5a9386af7d082bb4428d4029e':
  libc: Fix mktime returns an uncorrect time in empty TZ case
2014-11-17 23:28:04 +00:00
Elliott Hughes
927fa38a53 am cbdc7e68: am 8eda0a6d: Merge "libc: Fix mktime returns an uncorrect time in empty TZ case"
* commit 'cbdc7e6883a7d1514af5cd8c1e186af3c487e930':
  libc: Fix mktime returns an uncorrect time in empty TZ case
2014-11-17 23:23:38 +00:00
Elliott Hughes
cbdc7e6883 am 8eda0a6d: Merge "libc: Fix mktime returns an uncorrect time in empty TZ case"
* commit '8eda0a6d69fda865b576bc18311a3d79c84b42a1':
  libc: Fix mktime returns an uncorrect time in empty TZ case
2014-11-17 23:18:39 +00:00
Elliott Hughes
8eda0a6d69 Merge "libc: Fix mktime returns an uncorrect time in empty TZ case" 2014-11-17 23:14:58 +00:00
Elliott Hughes
4380936524 am 58802c1a: resolved conflicts for merge of 047d943e to lmp-mr1-dev-plus-aosp
* commit '58802c1a458fb32f9d42a5f1486f61270a55e0dd':
  sysconf(3) returns long.
2014-11-17 19:32:33 +00:00
Elliott Hughes
58802c1a45 resolved conflicts for merge of 047d943e to lmp-mr1-dev-plus-aosp
Change-Id: Ic0e230083f25ab5a026beae80a1ddef9ff60accb
2014-11-17 11:26:42 -08:00
Dmitriy Ivanov
2aad16902f am 7b78a69d: am 78d809fd: am ee4c8feb: Merge "bionic/test: migrate sysconf tests from system/extras to bionic/tests"
* commit '7b78a69d85dc3ee5e1f7f64607e0ae80d0aec0f6':
  bionic/test: migrate sysconf tests from system/extras to bionic/tests
2014-11-17 19:00:14 +00:00
Elliott Hughes
ef73e44549 am f64b1a8b: am 18aa454f: am f2c88209: Merge "Add getaddrinfo(3) tests for NULL arguments."
* commit 'f64b1a8be284307569f3d0fac847125aff60b0cb':
  Add getaddrinfo(3) tests for NULL arguments.
2014-11-17 19:00:13 +00:00
Elliott Hughes
fa4606bbb8 am ac39e08b: am c0aba7c5: am 35f8910e: Merge "Remove remaining bionic support for TARGET_CPU_SMP being false."
* commit 'ac39e08bd521f735460789dfba1cf307b5deb5fd':
  Remove remaining bionic support for TARGET_CPU_SMP being false.
2014-11-17 19:00:12 +00:00
Dmitriy Ivanov
7b78a69d85 am 78d809fd: am ee4c8feb: Merge "bionic/test: migrate sysconf tests from system/extras to bionic/tests"
* commit '78d809fd4b5fe6f74e23e718a3c14c68200ac203':
  bionic/test: migrate sysconf tests from system/extras to bionic/tests
2014-11-17 18:53:04 +00:00
Elliott Hughes
f64b1a8be2 am 18aa454f: am f2c88209: Merge "Add getaddrinfo(3) tests for NULL arguments."
* commit '18aa454f2f7c67999d06f2fd3f0db55b78942d64':
  Add getaddrinfo(3) tests for NULL arguments.
2014-11-17 18:53:03 +00:00
Elliott Hughes
ac39e08bd5 am c0aba7c5: am 35f8910e: Merge "Remove remaining bionic support for TARGET_CPU_SMP being false."
* commit 'c0aba7c5ad7535ca5edd0a6683dd4a483701fee9':
  Remove remaining bionic support for TARGET_CPU_SMP being false.
2014-11-17 18:53:02 +00:00
Dmitriy Ivanov
78d809fd4b am ee4c8feb: Merge "bionic/test: migrate sysconf tests from system/extras to bionic/tests"
* commit 'ee4c8febb7bd1f5492486cc11980f925425b02ec':
  bionic/test: migrate sysconf tests from system/extras to bionic/tests
2014-11-17 18:48:23 +00:00
Dmitriy Ivanov
ee4c8febb7 Merge "bionic/test: migrate sysconf tests from system/extras to bionic/tests" 2014-11-17 18:43:32 +00:00
Elliott Hughes
18aa454f2f am f2c88209: Merge "Add getaddrinfo(3) tests for NULL arguments."
* commit 'f2c882095b5747cd7f3158428208580a7ff72ed6':
  Add getaddrinfo(3) tests for NULL arguments.
2014-11-17 18:31:53 +00:00
Elliott Hughes
c0aba7c5ad am 35f8910e: Merge "Remove remaining bionic support for TARGET_CPU_SMP being false."
* commit '35f8910e4cdf3f7d0b877394524c7dd719084187':
  Remove remaining bionic support for TARGET_CPU_SMP being false.
2014-11-17 18:31:51 +00:00
Elliott Hughes
f2c882095b Merge "Add getaddrinfo(3) tests for NULL arguments." 2014-11-17 18:26:46 +00:00
Elliott Hughes
35f8910e4c Merge "Remove remaining bionic support for TARGET_CPU_SMP being false." 2014-11-17 18:24:22 +00:00
Elliott Hughes
bfbf7a4300 Remove remaining bionic support for TARGET_CPU_SMP being false.
Change-Id: I02a0a1c0ae55ccb5c45d17fb99a09c374d71def4
2014-11-17 10:06:20 -08:00
Elliott Hughes
32fea147ea Add getaddrinfo(3) tests for NULL arguments.
According to https://github.com/ukanth/afwall/pull/213 some OEMs have
shipped a getaddrinfo(3) that crashes given NULL hostnames.

Change-Id: I9cea5fdd68546b7c64cf47e10e2b2b4d672b69d0
2014-11-16 12:14:04 -08:00
Dan Albert
6c35e5577b am 27cdb39e: am c449b7a5: am eef1eb64: Merge "Allow asan for glibc tests."
* commit '27cdb39e35b732bf413e346868bc7cf6e9ee710b':
  Allow asan for glibc tests.
2014-11-15 06:59:31 +00:00
Dan Albert
27cdb39e35 am c449b7a5: am eef1eb64: Merge "Allow asan for glibc tests."
* commit 'c449b7a533f797b223cdc2c8129de2261a547823':
  Allow asan for glibc tests.
2014-11-15 06:55:38 +00:00
Dan Albert
c449b7a533 am eef1eb64: Merge "Allow asan for glibc tests."
* commit 'eef1eb64bb5be68bfb00f8e71d3118a2cfec99e7':
  Allow asan for glibc tests.
2014-11-15 06:51:47 +00:00
Dan Albert
eef1eb64bb Merge "Allow asan for glibc tests." 2014-11-15 06:47:08 +00:00
Dan Albert
01f1ff2440 Allow asan for glibc tests.
SANITIZE_HOST will break if we don't allow ASAN.

Change-Id: I0beed82b058db391f633e0ea1098f140497c65d4
2014-11-14 20:00:06 -08:00
Satoru Takeuchi
154e2026c8 libc: Fix mktime returns an uncorrect time in empty TZ case
The mktime API returned an uncorrect time when TZ is set as empty.
A timezone UTC/GMT+0 should be implied in the empty case. However
mktime keeps previous information about timezone. If mktime was called
with a timezone which has DST before, the "defaulttype" member of
"state" structure wouldn't be 0. Then it would be used next time,
even though UTC/GMT+0 doesn't have DST.

Added initialization of the "defaulttype" in the empty TZ case.

Change-Id: Ic480c63c548c05444134e0aefb30a7b380e3f40b
2014-11-14 18:13:07 -08:00
Derek Xue
bc6447673f bionic/test: migrate sysconf tests from system/extras to bionic/tests
The old test are implemented in file:
  system/extras/tests/bionic/libc/other/test_sysconf.c
This change is to migrate them to bionic/tests with the gtest format.

and since the sysconf is defined in unistd.h, will put the test under
bionic/tests/unistd_test.cpp file as unistd.syscon test

Change-Id: Ie519147c1c86a6c4cefa8c88b18bf58bdfbffbdb
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-11-15 09:48:36 +08:00
Yabin Cui
167a932685 am 6ccaaa94: am 48c6f1b6: am 38569312: Merge "Add functions in sysinfo.h."
* commit '6ccaaa947aa271366c70023abbf7cef6d1e88a3d':
  Add functions in sysinfo.h.
2014-11-15 01:48:07 +00:00
Yabin Cui
6ccaaa947a am 48c6f1b6: am 38569312: Merge "Add functions in sysinfo.h."
* commit '48c6f1b66d0cb81aee81108b135b179c2bc46d1b':
  Add functions in sysinfo.h.
2014-11-15 01:01:29 +00:00
Yabin Cui
48c6f1b66d am 38569312: Merge "Add functions in sysinfo.h."
* commit '38569312bc5a3a4688d45997d81b59abb0a60825':
  Add functions in sysinfo.h.
2014-11-15 00:56:42 +00:00
Yabin Cui
38569312bc Merge "Add functions in sysinfo.h." 2014-11-15 00:53:37 +00:00
Yabin Cui
9d93986481 Add functions in sysinfo.h.
Bug: 17703902

Change-Id: I699d12d76a8fc483c919be730c2ac63641b71a1d
2014-11-14 16:22:48 -08:00
Yabin Cui
2b10fe28ae am 0006a38a: am b4e7f4e2: am 661423a4: Merge "Increase support of pathconf options."
* commit '0006a38adabce47b99690f605a51e45225f0ddaf':
  Increase support of pathconf options.
2014-11-14 23:55:48 +00:00
Yabin Cui
0006a38ada am b4e7f4e2: am 661423a4: Merge "Increase support of pathconf options."
* commit 'b4e7f4e2263d4763d9507463189ef8f50fd58a67':
  Increase support of pathconf options.
2014-11-14 23:52:53 +00:00
Yabin Cui
b4e7f4e226 am 661423a4: Merge "Increase support of pathconf options."
* commit '661423a453b2692d592df56307a876dfc35c50f2':
  Increase support of pathconf options.
2014-11-14 23:49:21 +00:00
Yabin Cui
661423a453 Merge "Increase support of pathconf options." 2014-11-14 23:45:45 +00:00
Yabin Cui
b5e581abfe Increase support of pathconf options.
Bug: 18206366
Change-Id: Ie770e49f5af3631eb9fbd2cd5174edf004c81e00
2014-11-14 23:45:24 +00:00
Elliott Hughes
e75b8db1bf am 134ec088: am c2760b19: am 4cf942d3: Merge "sysconf(3) returns long."
* commit '134ec0880d2277bca0a09d75a15b8fff17a766a8':
  sysconf(3) returns long.
2014-11-14 23:44:54 +00:00
Elliott Hughes
134ec0880d am c2760b19: am 4cf942d3: Merge "sysconf(3) returns long."
* commit 'c2760b19e7821f241b5d0c31fb975d312600dc58':
  sysconf(3) returns long.
2014-11-14 23:41:35 +00:00
Elliott Hughes
c2760b19e7 am 4cf942d3: Merge "sysconf(3) returns long."
* commit '4cf942d318f2856dff078798ce9a3eac5de593b7':
  sysconf(3) returns long.
2014-11-14 23:36:21 +00:00
Elliott Hughes
4cf942d318 Merge "sysconf(3) returns long." 2014-11-14 23:33:20 +00:00
Elliott Hughes
60d84af172 sysconf(3) returns long.
On LP32, this makes no difference. Not an ABI change.

On LP64, results are going to be in %rax or x0 whether they're 32- or 64-bit,
and the only difference is going to be whether the top bits are clobbered.

Bug: 18390956
Change-Id: I0bd4496231bdded34c1fa03e895021ac0df7f8e1
2014-11-14 15:14:44 -08:00
Elliott Hughes
9931612379 am 2ee4e1a1: am 7cc4d2ef: am cdcef73a: Merge "Add non-macro stdin/stdout/stderr too."
* commit '2ee4e1a137e9bf78f5ceab0e8d9b0a5cdc5d7eef':
  Add non-macro stdin/stdout/stderr too.
2014-11-14 23:05:39 +00:00
Elliott Hughes
2ee4e1a137 am 7cc4d2ef: am cdcef73a: Merge "Add non-macro stdin/stdout/stderr too."
* commit '7cc4d2efa9a89928c3ff51d171f7a03e12793038':
  Add non-macro stdin/stdout/stderr too.
2014-11-14 23:00:56 +00:00
Elliott Hughes
7cc4d2efa9 am cdcef73a: Merge "Add non-macro stdin/stdout/stderr too."
* commit 'cdcef73a23833ebd50bb5b654eb278b164e286ad':
  Add non-macro stdin/stdout/stderr too.
2014-11-14 22:56:03 +00:00
Elliott Hughes
cdcef73a23 Merge "Add non-macro stdin/stdout/stderr too." 2014-11-14 22:52:08 +00:00
Elliott Hughes
168667c972 Add non-macro stdin/stdout/stderr too.
Various C and C++ standards explicitly say that stdin/stdout/stderr
should be macros, but glibc makes them global variables too. This
means it's possible to write code that uses those names as locals,
but that code (toybox being an example) won't build on bionic.

If we'd done this earlier, we could have hidden __sF for LP64, but
it's too late now.

Change-Id: I90cf8c73f52b66e1760b8fa2e135b9f9f9651230
2014-11-14 14:42:59 -08:00
Dmitriy Ivanov
f9724cb931 am a3a78ab1: am 23145263: am 27fa71eb: Merge "Fix host build for arm/arm64"
* commit 'a3a78ab168449c2baa56dba18668779b4bb5dfa6':
  Fix host build for arm/arm64
2014-11-14 20:26:29 +00:00
Dmitriy Ivanov
a3a78ab168 am 23145263: am 27fa71eb: Merge "Fix host build for arm/arm64"
* commit '2314526342f2a3e39ec50d8f49652cf29bbfec51':
  Fix host build for arm/arm64
2014-11-14 20:24:09 +00:00
Dmitriy Ivanov
2314526342 am 27fa71eb: Merge "Fix host build for arm/arm64"
* commit '27fa71ebc6ef63ed8020d7b040640cb6c0cf2a45':
  Fix host build for arm/arm64
2014-11-14 20:21:52 +00:00
Dmitriy Ivanov
27fa71ebc6 Merge "Fix host build for arm/arm64" 2014-11-14 20:19:37 +00:00
Dmitriy Ivanov
9df4b13baf Fix host build for arm/arm64
Change-Id: Id92543e4080aede205b3e63099fa2baa36ba21f0
2014-11-14 12:17:06 -08:00
Dmitriy Ivanov
bd61a03c8d am f4710e12: am 4ed18141: am 898aab28: Merge "Add test for --hash-style=sysv"
* commit 'f4710e12fa524ad17fa8f3e5c743b68e35b13c3c':
  Add test for --hash-style=sysv
2014-11-14 19:42:37 +00:00
Dmitriy Ivanov
f4710e12fa am 4ed18141: am 898aab28: Merge "Add test for --hash-style=sysv"
* commit '4ed181416a6c5c3168d7a2f014d18a056d546d62':
  Add test for --hash-style=sysv
2014-11-14 19:38:52 +00:00
Dmitriy Ivanov
4ed181416a am 898aab28: Merge "Add test for --hash-style=sysv"
* commit '898aab282cff2a2949bc1726f8a4b81c1c30148e':
  Add test for --hash-style=sysv
2014-11-14 19:33:51 +00:00
Dmitriy Ivanov
898aab282c Merge "Add test for --hash-style=sysv" 2014-11-14 19:31:33 +00:00
Dmitriy Ivanov
042e6fa091 am 084778da: am ca8b70bc: am c490b502: Merge "Rename soinfo methods and fields"
* commit '084778daed3b4180d23c3157b6de536b02cc2638':
  Rename soinfo methods and fields
2014-11-14 19:30:53 +00:00
Dmitriy Ivanov
b3356773c6 Add test for --hash-style=sysv
With build system switched to gnu-hash we need
 a test for sysv-hashed library.

Change-Id: I34adc216fa79199aa46066cf13fcc1c1f2581f0e
2014-11-14 11:19:22 -08:00
Christopher Ferris
82f6fd9b13 am e4695e3c: am e6d238a5: am 59b1dea8: Merge "Add missing function prototypes wcpcpy/wcpncpy."
* commit 'e4695e3c2f95f963e4afd80fde3ec172401573f5':
  Add missing function prototypes wcpcpy/wcpncpy.
2014-11-14 19:18:58 +00:00
Daniel Rosenberg
5e858eec0e am fb854deb: am 4a50d8ea: bionic: libc: Added path to vendor build properties file.
* commit 'fb854debc0db534210a349debd91f7b0c804e34e':
  bionic: libc: Added path to vendor build properties file.
2014-11-14 19:18:24 +00:00
Elliott Hughes
4d9ddfc536 am bdd5c628: am 9cfd1ec5: am 0a135b42: Merge "Fix our <mntent.h> implementation."
* commit 'bdd5c628937394fb61251030b21932dbf4eac2cf':
  Fix our <mntent.h> implementation.
2014-11-14 19:17:56 +00:00
Dmitriy Ivanov
084778daed am ca8b70bc: am c490b502: Merge "Rename soinfo methods and fields"
* commit 'ca8b70bc8d8a61c0a8b73577f5d90310c3d7cb9b':
  Rename soinfo methods and fields
2014-11-14 16:44:23 +00:00
Dmitriy Ivanov
ca8b70bc8d am c490b502: Merge "Rename soinfo methods and fields"
* commit 'c490b5029fdc96f1dbf00d02d0ad63a03d8cd4f3':
  Rename soinfo methods and fields
2014-11-14 16:38:19 +00:00
Dmitriy Ivanov
c490b5029f Merge "Rename soinfo methods and fields" 2014-11-14 16:33:17 +00:00
Dmitriy Ivanov
047b5934b5 Rename soinfo methods and fields
Change-Id: If68fbe287d3ad954238b1688f71013371f3f7fae
2014-11-13 19:48:32 -08:00
Christopher Ferris
e4695e3c2f am e6d238a5: am 59b1dea8: Merge "Add missing function prototypes wcpcpy/wcpncpy."
* commit 'e6d238a51cc7fb5e6621cb8c32b4f86780585907':
  Add missing function prototypes wcpcpy/wcpncpy.
2014-11-14 03:30:15 +00:00
Christopher Ferris
e6d238a51c am 59b1dea8: Merge "Add missing function prototypes wcpcpy/wcpncpy."
* commit '59b1dea8829b081e23c3156b44af624bf8fac962':
  Add missing function prototypes wcpcpy/wcpncpy.
2014-11-14 03:27:16 +00:00
Christopher Ferris
59b1dea882 Merge "Add missing function prototypes wcpcpy/wcpncpy." 2014-11-14 03:23:35 +00:00
Christopher Ferris
5c7d9584d9 Add missing function prototypes wcpcpy/wcpncpy.
Also add smoke tests for a few of the wchar functions.

Change-Id: Id1be522f55a6708564d444941f42097548f16497
2014-11-13 18:56:12 -08:00
Daniel Rosenberg
fb854debc0 am 4a50d8ea: bionic: libc: Added path to vendor build properties file.
* commit '4a50d8ead71c3dd6d9eebe23626d0d4e96dd963b':
  bionic: libc: Added path to vendor build properties file.
2014-11-14 01:39:46 +00:00
Elliott Hughes
75a869bdbf am 90075a32: am 105962b2: am 288fa03a: Merge "Assume glibc >= 2.15."
* commit '90075a328130b79f943be4f9249335d33dc76fa4':
  Assume glibc >= 2.15.
2014-11-14 00:47:26 +00:00
Elliott Hughes
8927477719 am ad7a8754: am 4dcb9c78: am 6229798a: Merge "Don\'t receive structs containing pointers over sockets."
* commit 'ad7a87548fc29484c99e311ad75b5804621b0d3a':
  Don't receive structs containing pointers over sockets.
2014-11-14 00:44:58 +00:00
Hans Boehm
2c3950ede9 am 1ba937c0: am 5b53da0b: am 854c98d6: Merge "Allow stdatomic.h to be included from mingw prebuilt."
* commit '1ba937c063191995c15c666cf146f0cf557dd10a':
  Allow stdatomic.h to be included from mingw prebuilt.
2014-11-14 00:44:42 +00:00
Elliott Hughes
bdd5c62893 am 9cfd1ec5: am 0a135b42: Merge "Fix our <mntent.h> implementation."
* commit '9cfd1ec535d0344bfd39c25b746a3bc32a0c5b61':
  Fix our <mntent.h> implementation.
2014-11-14 00:09:43 +00:00
Elliott Hughes
9cfd1ec535 am 0a135b42: Merge "Fix our <mntent.h> implementation."
* commit '0a135b4259077bbb48ec911c0fa92ab0654ffffa':
  Fix our <mntent.h> implementation.
2014-11-14 00:04:12 +00:00
Elliott Hughes
0a135b4259 Merge "Fix our <mntent.h> implementation." 2014-11-14 00:00:53 +00:00
Elliott Hughes
e3c4acf1e3 Fix our <mntent.h> implementation.
Used by toybox.

Change-Id: I36a5053423e5cc54ae02a68f4fe110d75134accd
2014-11-13 15:51:36 -08:00
Elliott Hughes
90075a3281 am 105962b2: am 288fa03a: Merge "Assume glibc >= 2.15."
* commit '105962b2fecad08ec2218cf6f2de2d2b20085e85':
  Assume glibc >= 2.15.
2014-11-13 19:10:25 +00:00
Elliott Hughes
105962b2fe am 288fa03a: Merge "Assume glibc >= 2.15."
* commit '288fa03a5aa5ee69c321e7266cdc656d11d8c022':
  Assume glibc >= 2.15.
2014-11-13 19:03:19 +00:00
Elliott Hughes
288fa03a5a Merge "Assume glibc >= 2.15." 2014-11-13 18:11:00 +00:00
Elliott Hughes
ad7a87548f am 4dcb9c78: am 6229798a: Merge "Don\'t receive structs containing pointers over sockets."
* commit '4dcb9c781143d30cc05f225557da0d86c2ccb93e':
  Don't receive structs containing pointers over sockets.
2014-11-13 18:03:09 +00:00
Elliott Hughes
4dcb9c7811 am 6229798a: Merge "Don\'t receive structs containing pointers over sockets."
* commit '6229798a7c2aa4df3d8fba70c679a127ee88ad76':
  Don't receive structs containing pointers over sockets.
2014-11-13 17:58:57 +00:00
Hans Boehm
1ba937c063 am 5b53da0b: am 854c98d6: Merge "Allow stdatomic.h to be included from mingw prebuilt."
* commit '5b53da0bf5b8a0034dd495859d8f83cae671d7e6':
  Allow stdatomic.h to be included from mingw prebuilt.
2014-11-13 17:57:24 +00:00
Elliott Hughes
6229798a7c Merge "Don't receive structs containing pointers over sockets." 2014-11-13 17:56:08 +00:00
Hans Boehm
5b53da0bf5 am 854c98d6: Merge "Allow stdatomic.h to be included from mingw prebuilt."
* commit '854c98d63671e38b3537620f323addcd313c9f11':
  Allow stdatomic.h to be included from mingw prebuilt.
2014-11-13 17:53:23 +00:00
Hans Boehm
854c98d636 Merge "Allow stdatomic.h to be included from mingw prebuilt." 2014-11-13 17:49:53 +00:00
Elliott Hughes
55293c1dad Don't receive structs containing pointers over sockets.
Fixes x86-64 netd.

Change-Id: Iee5ef802ebbf2e000b2593643de4eec46f296c04
2014-11-12 22:06:35 -08:00
Elliott Hughes
68d98d832b Assume glibc >= 2.15.
This catches one trivial difference between us and glibc --- the error
returned by pthread_setname_np for an invalid pthread_t.

Change-Id: If4c21e22107c6488333d11184f8005f8669096c2
2014-11-12 21:03:26 -08:00
Elliott Hughes
d0a2431bb9 am 0c69b1bf: am 04d2a595: am 92a585c9: Merge "Fix glibc 2.15 build."
* commit '0c69b1bf89b116f7a2c822960d34126ae9d62a26':
  Fix glibc 2.15 build.
2014-11-13 04:12:08 +00:00
Dmitriy Ivanov
632e724515 am ca26fbc2: am 353463d0: am 38b47f6e: Merge "Fix mips build"
* commit 'ca26fbc24a7e817a9a195e536bee21cc7e27dccb':
  Fix mips build
2014-11-13 04:12:06 +00:00
Elliott Hughes
0c69b1bf89 am 04d2a595: am 92a585c9: Merge "Fix glibc 2.15 build."
* commit '04d2a59544354802526584a38968069ac65e813e':
  Fix glibc 2.15 build.
2014-11-13 04:05:18 +00:00
Dmitriy Ivanov
ca26fbc24a am 353463d0: am 38b47f6e: Merge "Fix mips build"
* commit '353463d0a2e507ec046647928af2dc17a76f890f':
  Fix mips build
2014-11-13 04:05:16 +00:00
Elliott Hughes
04d2a59544 am 92a585c9: Merge "Fix glibc 2.15 build."
* commit '92a585c91a83e63949431c617de936742b080150':
  Fix glibc 2.15 build.
2014-11-13 03:58:55 +00:00
Dmitriy Ivanov
353463d0a2 am 38b47f6e: Merge "Fix mips build"
* commit '38b47f6eb4631e1fb2cba0e47fd4832a58b16755':
  Fix mips build
2014-11-13 03:58:53 +00:00
Elliott Hughes
92a585c91a Merge "Fix glibc 2.15 build." 2014-11-13 03:37:47 +00:00
Dmitriy Ivanov
38b47f6eb4 Merge "Fix mips build" 2014-11-13 03:36:54 +00:00
Elliott Hughes
fb50057138 Fix glibc 2.15 build.
glibc 2.15 has prlimit64, has an unsetenv that's declared nonnull,
and hasn't fixed the problems we were having trying to use the
POSIX strerror_r in C++ code.

Change-Id: I834356a385e5ae55500bd86781691b6c1c9c8300
2014-11-12 19:31:21 -08:00
Dmitriy Ivanov
d19a02b9ef am c2788944: am 8d31f51a: am 16db1ae1: Merge "Add support for hash-style=gnu"
* commit 'c27889447c522725356ab8c082e55f817131d1a9':
  Add support for hash-style=gnu
2014-11-13 02:34:34 +00:00
Dmitriy Ivanov
c27889447c am 8d31f51a: am 16db1ae1: Merge "Add support for hash-style=gnu"
* commit '8d31f51a38f10917b2396412c2dbe45dc9abe864':
  Add support for hash-style=gnu
2014-11-13 02:29:06 +00:00
Dmitriy Ivanov
8894091683 Fix mips build
Change-Id: I58b01db38ab9a397a8bd77c1296aac12957c21da
2014-11-12 18:21:12 -08:00
Dan Albert
a16d941ebc am a8fe453f: am ed3555f5: am 468f8410: Merge "Add documentation about checkbuild."
* commit 'a8fe453f76ba107566cc5d531e78eba0bbbc9351':
  Add documentation about checkbuild.
2014-11-13 02:17:59 +00:00
Dmitriy Ivanov
8d31f51a38 am 16db1ae1: Merge "Add support for hash-style=gnu"
* commit '16db1ae1089fdfe65a123d3e4d61d509a099cddc':
  Add support for hash-style=gnu
2014-11-13 02:17:57 +00:00
Dmitriy Ivanov
16db1ae108 Merge "Add support for hash-style=gnu" 2014-11-13 02:10:30 +00:00
Hans Boehm
95f197f998 Allow stdatomic.h to be included from mingw prebuilt.
Define __GNUC_PREREQ if it isn't already defined.
This is a bit ugly, but it seems to be easiest to make this header as
context-independent as possible.  Together with the addition of a symbolic
link to this file from the mingw prebuilt, this appears to unblock
commit e9fa6be333e35d9e7ae435aeb32532875b95fe22.

Change-Id: I97e39cda8d8f9aa108aa61c4121da09eb9739062
2014-11-12 18:08:25 -08:00
Dan Albert
a8fe453f76 am ed3555f5: am 468f8410: Merge "Add documentation about checkbuild."
* commit 'ed3555f5b2e2bdc0699ff9627463723381e0d4c7':
  Add documentation about checkbuild.
2014-11-13 01:31:49 +00:00
Dan Albert
ed3555f5b2 am 468f8410: Merge "Add documentation about checkbuild."
* commit '468f84107aaf108ac6b3ff389342092c2551f859':
  Add documentation about checkbuild.
2014-11-13 01:22:00 +00:00
Dan Albert
468f84107a Merge "Add documentation about checkbuild." 2014-11-13 01:14:27 +00:00
Dan Albert
e66d57f532 Add documentation about checkbuild.
Change-Id: I2c2d06bc0dc3cdc58b5563f62889122b76f3c469
2014-11-12 17:08:38 -08:00
Dmitriy Ivanov
ec18ce06f2 Add support for hash-style=gnu
Change-Id: I171434a587420895feac8a9b1ad2342087197568
2014-11-12 16:38:12 -08:00
Christopher Ferris
ff51dc4f00 am 6e29794a: am 616fa27b: am 5d05d025: Merge "Add 64-bit slm optimized strlcpy and srlcat."
* commit '6e29794acb281b332abd8f7beb68ab8855f06ed4':
  Add 64-bit slm optimized strlcpy and srlcat.
2014-11-12 23:31:20 +00:00
Christopher Ferris
6e29794acb am 616fa27b: am 5d05d025: Merge "Add 64-bit slm optimized strlcpy and srlcat."
* commit '616fa27b60ffdb0560d7134ceb7d8cdd4fbe672c':
  Add 64-bit slm optimized strlcpy and srlcat.
2014-11-12 23:26:57 +00:00
Christopher Ferris
616fa27b60 am 5d05d025: Merge "Add 64-bit slm optimized strlcpy and srlcat."
* commit '5d05d025b51fc7b1a59f230000601bc593c12eea':
  Add 64-bit slm optimized strlcpy and srlcat.
2014-11-12 23:21:42 +00:00
Christopher Ferris
5d05d025b5 Merge "Add 64-bit slm optimized strlcpy and srlcat." 2014-11-12 23:18:00 +00:00
Yabin Cui
0a2f510e3a am e4f2eae0: am 1b6b274a: am e5cabca5: Merge "implement missing seekdir and telldir"
* commit 'e4f2eae0eeec05f64518b560d4901bdb18bf1170':
  implement missing seekdir and telldir
2014-11-12 20:50:01 +00:00
Yabin Cui
e4f2eae0ee am 1b6b274a: am e5cabca5: Merge "implement missing seekdir and telldir"
* commit '1b6b274a4b3d1b5462e379ff2144d42ae264677a':
  implement missing seekdir and telldir
2014-11-12 20:45:34 +00:00
Yabin Cui
1b6b274a4b am e5cabca5: Merge "implement missing seekdir and telldir"
* commit 'e5cabca516252addb5e305c8e1e0f35cafbcafbe':
  implement missing seekdir and telldir
2014-11-12 20:40:49 +00:00
Yabin Cui
e5cabca516 Merge "implement missing seekdir and telldir" 2014-11-12 20:36:26 +00:00
Elliott Hughes
883682c7f8 am 298dfb6f: am 03dd63bd: am bbdfa518: Merge "gethostname.c: change to report ENAMETOOLONG error when buflen is less"
* commit '298dfb6f9d7889ce65f3dc1761448885f6d45522':
  gethostname.c: change to report ENAMETOOLONG error when buflen is less
2014-11-12 20:20:57 +00:00
Elliott Hughes
3cf425d0c7 am 674cc2b8: am a4adc811: am 83204d57: Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras"
* commit '674cc2b8a159115f968426ef58e181a7358e1cec':
  bionic tests: migrate gethostname test to unistd_test.cpp from system/extras
2014-11-12 20:20:56 +00:00
Elliott Hughes
298dfb6f9d am 03dd63bd: am bbdfa518: Merge "gethostname.c: change to report ENAMETOOLONG error when buflen is less"
* commit '03dd63bda8846db77cab6b4f17c8a2478f7ac65c':
  gethostname.c: change to report ENAMETOOLONG error when buflen is less
2014-11-12 20:16:06 +00:00
Elliott Hughes
674cc2b8a1 am a4adc811: am 83204d57: Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras"
* commit 'a4adc811d291d641e8291795d479bf8f426725b3':
  bionic tests: migrate gethostname test to unistd_test.cpp from system/extras
2014-11-12 20:16:05 +00:00
Elliott Hughes
03dd63bda8 am bbdfa518: Merge "gethostname.c: change to report ENAMETOOLONG error when buflen is less"
* commit 'bbdfa518830d49565966acea02796769434e0d74':
  gethostname.c: change to report ENAMETOOLONG error when buflen is less
2014-11-12 20:11:41 +00:00
Elliott Hughes
a4adc811d2 am 83204d57: Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras"
* commit '83204d5708eb49df05ea365be01e136ef7823752':
  bionic tests: migrate gethostname test to unistd_test.cpp from system/extras
2014-11-12 20:11:40 +00:00
Elliott Hughes
bbdfa51883 Merge "gethostname.c: change to report ENAMETOOLONG error when buflen is less" 2014-11-12 20:09:59 +00:00
Elliott Hughes
83204d5708 Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras" 2014-11-12 20:08:57 +00:00
Yongqin Liu
2f954bab2d gethostname.c: change to report ENAMETOOLONG error when buflen is less
change to behaviour the same as glibc for the check about buflen

Change-Id: I98265a8fe441df6fed2527686f89b087364ca53d
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-11-12 12:07:33 -08:00
Derek Xue
d94e7f0f1d bionic tests: migrate gethostname test to unistd_test.cpp from system/extras
The old tests are implemented in file
    system/extras/tests/bionic/libc/common/test_gethostname.c
Here migrate the test to the tests/unistd_test.cpp file and
add some more checks

Change-Id: Iab1e3da873bb333d1ddefc03108d536933792db2
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-11-12 10:47:39 -08:00
Elliott Hughes
64c1152931 am bad436e8: am c05314a0: Merge "Fix tzdata update tools for \'backzone\'." into lmp-mr1-dev
* commit 'bad436e8b3c5b58742f7f6903fc30ce86b5210eb':
  Fix tzdata update tools for 'backzone'.
2014-11-12 17:32:58 +00:00
Elliott Hughes
38038009be am ea039a4a: am 1ca3350f: Upgrade bionic to tzdata2014j.
* commit 'ea039a4a4ebd2f5abf26d74fa800bf68cddb0ffa':
  Upgrade bionic to tzdata2014j.
2014-11-12 17:32:57 +00:00
Elliott Hughes
bad436e8b3 am c05314a0: Merge "Fix tzdata update tools for \'backzone\'." into lmp-mr1-dev
* commit 'c05314a0b230d6820e07bcc641e8a553b5196e86':
  Fix tzdata update tools for 'backzone'.
2014-11-12 17:28:49 +00:00
Elliott Hughes
ea039a4a4e am 1ca3350f: Upgrade bionic to tzdata2014j.
* commit '1ca3350f4c7b60afdb95784c9cb3ea5ba5ce591f':
  Upgrade bionic to tzdata2014j.
2014-11-12 17:28:48 +00:00
Varvara Rainchik
2e7145c048 Add 64-bit slm optimized strlcpy and srlcat.
Change-Id: Ic948934d91c83bbfdfd00c05ee8b14952e012549
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-11-12 17:32:28 +03:00
Elliott Hughes
d77cfd36e6 am d757f61f: am c25737a1: am 22271d0c: Merge "Upgrade bionic to tzdata2014j."
* commit 'd757f61f7fab5c68c9d12e7e4dbab617897e96d4':
  Upgrade bionic to tzdata2014j.
2014-11-12 03:44:22 +00:00
Elliott Hughes
77f8f38eba am 5daebfaa: am db71c2f3: am 440c80ad: Merge "Fix tzdata update tools for \'backzone\'."
* commit '5daebfaa6c58cddb79eb78af82964d5ba8a12c06':
  Fix tzdata update tools for 'backzone'.
2014-11-12 03:44:21 +00:00
Elliott Hughes
d757f61f7f am c25737a1: am 22271d0c: Merge "Upgrade bionic to tzdata2014j."
* commit 'c25737a193b77561a07cb778a947cd547148c46e':
  Upgrade bionic to tzdata2014j.
2014-11-12 02:53:45 +00:00
Elliott Hughes
5daebfaa6c am db71c2f3: am 440c80ad: Merge "Fix tzdata update tools for \'backzone\'."
* commit 'db71c2f3d22140cb2685362c35d93c374a621b7c':
  Fix tzdata update tools for 'backzone'.
2014-11-12 02:53:38 +00:00
Elliott Hughes
c25737a193 am 22271d0c: Merge "Upgrade bionic to tzdata2014j."
* commit '22271d0c200c8c2f7c7c960a8751eed0faa708ec':
  Upgrade bionic to tzdata2014j.
2014-11-12 02:35:54 +00:00
Elliott Hughes
22271d0c20 Merge "Upgrade bionic to tzdata2014j." 2014-11-12 02:32:10 +00:00
Elliott Hughes
db71c2f3d2 am 440c80ad: Merge "Fix tzdata update tools for \'backzone\'."
* commit '440c80ad47fd748251b09d5146f2cb896d75724f':
  Fix tzdata update tools for 'backzone'.
2014-11-12 02:28:11 +00:00
Elliott Hughes
b11d8e057c Upgrade bionic to tzdata2014j.
From the release notes:

   Changes affecting current and future time stamps

     Turks & Caicos' switch from US eastern time to UTC-4 year-round
     did not occur on 2014-11-02 at 02:00.  It's currently scheduled
     for 2015-11-01 at 02:00.  (Thanks to Chris Walton.)

   Changes affecting past time stamps

     Many pre-1989 time stamps have been corrected for Asia/Seoul and
     Asia/Pyongyang, based on sources for the Korean-language Wikipedia
     entry for time in Korea.  (Thanks to Sanghyuk Jung.)  Also, no
     longer guess that Pyongyang mimicked Seoul time after World War II,
     as this is politically implausible.

     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: Africa/Addis_Ababa, Africa/Asmara,
     Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Kampala,
     Africa/Mogadishu, Indian/Antananarivo, Indian/Comoro, and
     Indian/Mayotte.

Bug: 18330681
Change-Id: I4b6939b4dcf08c47df5595ae445b6f44f4a03418
2014-11-11 16:44:21 -08:00
Elliott Hughes
440c80ad47 Merge "Fix tzdata update tools for 'backzone'." 2014-11-12 00:42:50 +00:00
Elliott Hughes
2c2463bd30 Fix tzdata update tools for 'backzone'.
To maintain the status quo, we need to pull in backzone file. This file
can't be built on its own, so the easiest fix is to give zic(1) all the
files at once.

We also now have a situation where we have links to links, so we need to
dereference them until we find actual data.

Bug: 18330681
Change-Id: I03f4aa8e6e23802dc35cbff2f74f325eb17d7b2b
2014-11-11 16:30:18 -08:00
Daniel Rosenberg
6eccde6a40 am 7aa4e50a: am bb50a667: am 1fb6a4d5: Merge "bionic: libc: Added path to vendor build properties file."
* commit '7aa4e50a0973f0c5e5705418131e132051481422':
  bionic: libc: Added path to vendor build properties file.
2014-11-11 22:56:37 +00:00
Daniel Rosenberg
7aa4e50a09 am bb50a667: am 1fb6a4d5: Merge "bionic: libc: Added path to vendor build properties file."
* commit 'bb50a667441b0a2298eaa9ddeb7baf444b101947':
  bionic: libc: Added path to vendor build properties file.
2014-11-11 22:50:48 +00:00
Daniel Rosenberg
bb50a66744 am 1fb6a4d5: Merge "bionic: libc: Added path to vendor build properties file."
* commit '1fb6a4d5c034423d4a22ded0bd3d87a14a6cad9a':
  bionic: libc: Added path to vendor build properties file.
2014-11-11 22:43:49 +00:00
Daniel Rosenberg
1fb6a4d5c0 Merge "bionic: libc: Added path to vendor build properties file." 2014-11-11 20:40:04 +00:00
Daniel Rosenberg
71d220c1de bionic: libc: Added path to vendor build properties file.
Change-Id: Ia9fc257a82fdd592751cbcde3fcf453a49856f62
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2014-11-11 12:18:22 -08:00
Andreas Gampe
417c40b110 am 44c32aaf: am 5f93f65d: am 1e75a9b5: Merge "Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional"
* commit '44c32aaf119da1e5c70565df2bde5f5844a37c76':
  Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional
2014-11-11 20:05:57 +00:00
Andreas Gampe
44c32aaf11 am 5f93f65d: am 1e75a9b5: Merge "Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional"
* commit '5f93f65d3f514c39e76c0ae1a117c45ac2f72a67':
  Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional
2014-11-11 19:58:43 +00:00
Andreas Gampe
5f93f65d3f am 1e75a9b5: Merge "Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional"
* commit '1e75a9b56ad746ff038ca956bd3d83fe4b9a156f':
  Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional
2014-11-11 19:52:55 +00:00
Andreas Gampe
1e75a9b56a Merge "Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional" 2014-11-11 19:17:56 +00:00
Andreas Gampe
00bbc7f69f Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional
Make the definition of DISALLOW_COPY_AND_ASSIGN conditional. This is
so that the projects that include libnativehelper and bionic macros
do not have to be careful in which order those projects are included.

Bug: 18334516
Change-Id: Ib12a2c2b7ad2e360edcf3b26cb1be626540fadc1
2014-11-11 11:16:57 -08:00
Christopher Ferris
b36709560c am 42a86ae3: am ea8913fe: am 1e1ae4a7: Merge "Add align/overread tests for strlcpy/strlcat."
* commit '42a86ae34c303ebafcc6f7aacce5f954591e2db6':
  Add align/overread tests for strlcpy/strlcat.
2014-11-10 23:50:11 +00:00
Christopher Ferris
42a86ae34c am ea8913fe: am 1e1ae4a7: Merge "Add align/overread tests for strlcpy/strlcat."
* commit 'ea8913fefdfcd57b5f960db65dcf482ace3d8083':
  Add align/overread tests for strlcpy/strlcat.
2014-11-10 23:44:57 +00:00
Christopher Ferris
ea8913fefd am 1e1ae4a7: Merge "Add align/overread tests for strlcpy/strlcat."
* commit '1e1ae4a74e42de07a5654f6a1774786fb4652094':
  Add align/overread tests for strlcpy/strlcat.
2014-11-10 23:42:28 +00:00
Christopher Ferris
1e1ae4a74e Merge "Add align/overread tests for strlcpy/strlcat." 2014-11-10 23:38:21 +00:00
Elliott Hughes
e34d70ab89 am 5a01f82c: am 307d61c3: am 6e7e2d20: Merge "Add the <dirent.h> feature macros glibc uses."
* commit '5a01f82c15f06ad4e1206570fd27a2fa94571d00':
  Add the <dirent.h> feature macros glibc uses.
2014-11-10 23:31:22 +00:00
Elliott Hughes
5a01f82c15 am 307d61c3: am 6e7e2d20: Merge "Add the <dirent.h> feature macros glibc uses."
* commit '307d61c3385909dbbd28cfbb88cc2599fc5d7fdc':
  Add the <dirent.h> feature macros glibc uses.
2014-11-10 23:26:23 +00:00
Elliott Hughes
307d61c338 am 6e7e2d20: Merge "Add the <dirent.h> feature macros glibc uses."
* commit '6e7e2d201f91fe5a04adc1b49ebb589dc56b425f':
  Add the <dirent.h> feature macros glibc uses.
2014-11-10 23:23:12 +00:00
Elliott Hughes
6e7e2d201f Merge "Add the <dirent.h> feature macros glibc uses." 2014-11-10 23:18:36 +00:00
Elliott Hughes
8c79b4ebb5 Add the <dirent.h> feature macros glibc uses.
Change-Id: I4da92b67d410839ea4ef0beaaa6c5cca06b74c0d
2014-11-10 15:17:28 -08:00
Elliott Hughes
91475e0fda am af92bca1: am b80be438: am 6330b70c: Merge "Remove temporary compatibility hack."
* commit 'af92bca1206d2fa796e54e791a17a79d7860f3cd':
  Remove temporary compatibility hack.
2014-11-10 22:23:20 +00:00
Elliott Hughes
af92bca120 am b80be438: am 6330b70c: Merge "Remove temporary compatibility hack."
* commit 'b80be43814a1562b0b66b435a7759cfed554287f':
  Remove temporary compatibility hack.
2014-11-10 22:19:15 +00:00
Elliott Hughes
b80be43814 am 6330b70c: Merge "Remove temporary compatibility hack."
* commit '6330b70cac8072007be9c351a934f9ff10f30cb5':
  Remove temporary compatibility hack.
2014-11-10 22:09:14 +00:00
Christopher Ferris
1468765f8a Add align/overread tests for strlcpy/strlcat.
Change-Id: I2801c7ee1847cd68ec95eba5bdffde5e52edf1e5
2014-11-10 13:58:17 -08:00
Elliott Hughes
6330b70cac Merge "Remove temporary compatibility hack." 2014-11-10 19:32:51 +00:00
Elliott Hughes
e6ac9bb8a0 Remove temporary compatibility hack.
The callers have been fixed.

Bug: 18298106
Change-Id: I65e24032d0a82c4b118abace854d2dcdada881fb
2014-11-10 11:24:51 -08:00
Elliott Hughes
fdea8b0c86 am 469d3998: am db37cd61: am b6360093: Merge "Fix struct stat to match POSIX 2008."
* commit '469d399852d6f0f513ad99a63c7678a5e69f905e':
  Fix struct stat to match POSIX 2008.
2014-11-10 17:41:39 +00:00
Elliott Hughes
469d399852 am db37cd61: am b6360093: Merge "Fix struct stat to match POSIX 2008."
* commit 'db37cd61e5e7c2ede11ce7a8eade9c31b7796c09':
  Fix struct stat to match POSIX 2008.
2014-11-10 17:33:37 +00:00
Elliott Hughes
db37cd61e5 am b6360093: Merge "Fix struct stat to match POSIX 2008."
* commit 'b63600934c62beb09514e2ced1fce1bdb489195f':
  Fix struct stat to match POSIX 2008.
2014-11-10 17:29:21 +00:00
Elliott Hughes
b63600934c Merge "Fix struct stat to match POSIX 2008." 2014-11-10 17:25:08 +00:00
Elliott Hughes
0ac0df84c7 Fix struct stat to match POSIX 2008.
Our representation of sub-second times matched the Linux kernel, and we
provided macros for glibc source compatibility. This change switches us
over to match POSIX 2008, adds the macros they insist on (for compatibility
with earlier versions of POSIX), and also adds macros for compatibility
with any code that expects the kernel or old bionic names.

Unfortunately this breaks strace which defines its own structures using
the kernel names, and thus implicitly assumes that there are no macros with
those names, but this does allow the rest of the tree to build.

Bug: 18298106
Change-Id: Ibfa8c21cb2a2566091ef3dc2019a9f78d2de2991
2014-11-07 19:15:10 -08:00
Elliott Hughes
a3e8ee0078 am a5a7078a: am 3a3f388c: am 47b9083b: Merge "Add sethostname(2)."
* commit 'a5a7078a8e4cf6bcb98b095e5e8af0dba5b61a37':
  Add sethostname(2).
2014-11-08 01:52:50 +00:00
Elliott Hughes
a5a7078a8e am 3a3f388c: am 47b9083b: Merge "Add sethostname(2)."
* commit '3a3f388c3c24457ea0f452f6abc7f340e6fc640b':
  Add sethostname(2).
2014-11-08 01:43:02 +00:00
Elliott Hughes
3a3f388c3c am 47b9083b: Merge "Add sethostname(2)."
* commit '47b9083b582bc8f7aefa0b6b4df051cba835ac0f':
  Add sethostname(2).
2014-11-08 00:59:51 +00:00
Elliott Hughes
47b9083b58 Merge "Add sethostname(2)." 2014-11-08 00:55:20 +00:00
Elliott Hughes
b86a4c7f65 Add sethostname(2).
Not very useful, but helps building stuff like toybox out of the box.

Change-Id: I110e39030452bd093a84278e019c5752d293718d
2014-11-07 16:48:27 -08:00
Yabin Cui
5ca4a9e2da implement missing seekdir and telldir
Bug: 18266863
Change-Id: I189ee949d4f7ccee099f3341e349cd969d25480f
2014-11-07 10:20:32 -08:00
The Android Open Source Project
11f66116b9 am 80535617: am b4471046: am 2ed9ee1e: Merge remote-tracking branch \'goog/stage-aosp-master\' into HEAD
* commit '8053561750883244c227ddcc0d62ad7514896773':
2014-11-07 13:35:14 +00:00
Elliott Hughes
229cad0664 am 5d6f1004: am 16951877: am 6e555e40: Merge "Implement all the POSIX _l functions."
* commit '5d6f100494512ddeb6d862c694edbbe9e3476506':
  Implement all the POSIX _l functions.
2014-11-07 13:35:13 +00:00
The Android Open Source Project
8053561750 am b4471046: am 2ed9ee1e: Merge remote-tracking branch \'goog/stage-aosp-master\' into HEAD
* commit 'b447104656ff77caf4d5bcfd547533d941aef804':
2014-11-07 13:30:20 +00:00
Elliott Hughes
5d6f100494 am 16951877: am 6e555e40: Merge "Implement all the POSIX _l functions."
* commit '1695187723bd2fc2e222a08630523886f48607e4':
  Implement all the POSIX _l functions.
2014-11-07 13:30:18 +00:00
The Android Open Source Project
b447104656 am 2ed9ee1e: Merge remote-tracking branch \'goog/stage-aosp-master\' into HEAD
* commit '2ed9ee1e938a94b563ab700dc5017a968d2591ad':
2014-11-07 13:27:16 +00:00
Elliott Hughes
1695187723 am 6e555e40: Merge "Implement all the POSIX _l functions."
* commit '6e555e40b0596e452deb6ccbce89d084ad18b658':
  Implement all the POSIX _l functions.
2014-11-07 13:27:07 +00:00
Elliott Hughes
9ddc76d1a5 am 85d8fc46: am cd30cb36: am 08a70184: Merge "Add POSIX lcong48."
* commit '85d8fc4606aad997c41829184fffce53017f31df':
  Add POSIX lcong48.
2014-11-07 04:16:17 +00:00
The Android Open Source Project
2ed9ee1e93 Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD 2014-11-06 17:43:39 -08:00
Elliott Hughes
85d8fc4606 am cd30cb36: am 08a70184: Merge "Add POSIX lcong48."
* commit 'cd30cb3633c2a7409267dd1821e33937e65461ad':
  Add POSIX lcong48.
2014-11-07 01:03:35 +00:00
Elliott Hughes
cd30cb3633 am 08a70184: Merge "Add POSIX lcong48."
* commit '08a70184b42ef2963794a56233b0253e0b367253':
  Add POSIX lcong48.
2014-11-07 00:58:34 +00:00
Elliott Hughes
6e555e40b0 Merge "Implement all the POSIX _l functions." 2014-11-06 23:58:07 +00:00
Elliott Hughes
b20c24456e Implement all the POSIX _l functions.
Strictly speaking, this only implements the _l variants of the functions
we actually have. We're still missing nl_langinfo_l, for example, but we
don't have nl_langinfo either.

Change-Id: Ie711c7b04e7b9100932a13f5a5d5b28847eb4c12
2014-11-06 15:52:22 -08:00
Elliott Hughes
08a70184b4 Merge "Add POSIX lcong48." 2014-11-06 22:21:53 +00:00
Elliott Hughes
274afe8f0e Add POSIX lcong48.
Change-Id: I821046816661d77275cb02c8c99d526bb41afb9c
2014-11-06 14:14:37 -08:00
Elliott Hughes
95aaf1fe38 am a9f6582b: am e449e68f: am 39ba3035: Merge "Fix our <complex.h> support."
* commit 'a9f6582b2a182d6489173f31ca5bd8938591057c':
  Fix our <complex.h> support.
2014-11-06 21:08:35 +00:00
Yabin Cui
e5fe4184e9 am 585d5b8a: am c50ae0b4: am 99cf8d08: Merge "make all bionic death tests not dumpable"
* commit '585d5b8a93d77770c216286e36c844997672a730':
  make all bionic death tests not dumpable
2014-11-06 21:08:01 +00:00
Elliott Hughes
a9f6582b2a am e449e68f: am 39ba3035: Merge "Fix our <complex.h> support."
* commit 'e449e68f367ec8072bc950dbeb47c93d5b72da3f':
  Fix our <complex.h> support.
2014-11-06 19:53:23 +00:00
Elliott Hughes
e449e68f36 am 39ba3035: Merge "Fix our <complex.h> support."
* commit '39ba30354a3890dd653ab55819d38eed3855edaa':
  Fix our <complex.h> support.
2014-11-06 19:48:17 +00:00
Elliott Hughes
39ba30354a Merge "Fix our <complex.h> support." 2014-11-06 19:43:17 +00:00
Yabin Cui
585d5b8a93 am c50ae0b4: am 99cf8d08: Merge "make all bionic death tests not dumpable"
* commit 'c50ae0b41bacea1715daf815ba2f30f342e3342c':
  make all bionic death tests not dumpable
2014-11-06 19:27:51 +00:00
Yabin Cui
c50ae0b41b am 99cf8d08: Merge "make all bionic death tests not dumpable"
* commit '99cf8d08c95470c34e530c068d1325cb6656e760':
  make all bionic death tests not dumpable
2014-11-06 19:22:17 +00:00
Elliott Hughes
b8ee16f1dc Fix our <complex.h> support.
We build libm with -fvisibility=hidden, so we weren't exporting any
of the <complex.h> functions.

We also weren't building many of the functions anyway.

We were also missing the complex inverse trigonometric functions.

And because we didn't even have perfunctory "call each function once"
tests, we didn't notice that we weren't exporting any symbols, so this
patch adds at least that level of testing.

Change-Id: Ibcf2843f507126c51d134cc5fc8d67747e033a0d
2014-11-06 11:16:55 -08:00
Yabin Cui
99cf8d08c9 Merge "make all bionic death tests not dumpable" 2014-11-06 19:14:33 +00:00
Yabin Cui
9df70403d9 make all bionic death tests not dumpable
Bug: 18067305

Change-Id: Ia1ecacf47eddecc9bc58aaac779e0c218f463179
2014-11-06 11:09:03 -08:00
Elliott Hughes
566c3503fc am c5e05502: am fa7e13b3: am a80f11ba: Merge "Add support for listing missing POSIX 2013 symbols."
* commit 'c5e05502f2b8584c768ca87d8a4d48bf48f2c018':
  Add support for listing missing POSIX 2013 symbols.
2014-11-06 06:17:33 +00:00
Elliott Hughes
c5e05502f2 am fa7e13b3: am a80f11ba: Merge "Add support for listing missing POSIX 2013 symbols."
* commit 'fa7e13b3af6ee9a18a9f8b97d930dc2930b8936f':
  Add support for listing missing POSIX 2013 symbols.
2014-11-06 06:14:09 +00:00
Elliott Hughes
fa7e13b3af am a80f11ba: Merge "Add support for listing missing POSIX 2013 symbols."
* commit 'a80f11ba99a078515aa7e06dc99db62a475a7b53':
  Add support for listing missing POSIX 2013 symbols.
2014-11-06 06:08:32 +00:00
Elliott Hughes
a80f11ba99 Merge "Add support for listing missing POSIX 2013 symbols." 2014-11-06 06:05:38 +00:00
Elliott Hughes
6370aedd0e Add support for listing missing POSIX 2013 symbols.
Change-Id: Ic51787890f837f74a22ca63d64a5710474d00cbc
2014-11-05 16:54:53 -08:00
Yabin Cui
a6355bccb8 am 753a0239: am c68a9105: am 23113831: Merge "check invalid file offset when loading library"
* commit '753a0239f5400c199224af58ac41d407c4a7de7f':
  check invalid file offset when loading library
2014-11-05 20:26:23 +00:00
Yabin Cui
753a0239f5 am c68a9105: am 23113831: Merge "check invalid file offset when loading library"
* commit 'c68a9105375f4cc8d44a14485df4f6067abd2268':
  check invalid file offset when loading library
2014-11-05 20:18:15 +00:00
Yabin Cui
c68a910537 am 23113831: Merge "check invalid file offset when loading library"
* commit '2311383180aee9388d28b03901a1e4ef021bcfa7':
  check invalid file offset when loading library
2014-11-05 20:12:36 +00:00
Yabin Cui
2311383180 Merge "check invalid file offset when loading library" 2014-11-05 19:56:01 +00:00
Elliott Hughes
2eba0a18aa am 461c2f45: am eac625a2: am c13a2044: Merge "Fix newlocale with a NULL locale name."
* commit '461c2f45e971224bbfb6f2229350e98e07935714':
  Fix newlocale with a NULL locale name.
2014-11-05 03:29:42 +00:00
Elliott Hughes
9e5d1560b0 am 33fb6092: am bce54a2b: am 57df00a4: Merge "Improve math tests to allow a specific ulp bound."
* commit '33fb609258a172d9f1de73e3af4607570b5240cb':
  Improve math tests to allow a specific ulp bound.
2014-11-05 03:29:40 +00:00
Chih-Hung Hsieh
7a2886e6ea am 625056b0: am 45f736b3: am 6c8f2475: Merge "Fix warning of missing field initializer."
* commit '625056b00a2b20950c24cf1a41e500f619d018bf':
  Fix warning of missing field initializer.
2014-11-05 03:29:39 +00:00
Elliott Hughes
461c2f45e9 am eac625a2: am c13a2044: Merge "Fix newlocale with a NULL locale name."
* commit 'eac625a2104459618c4cdc19970a90448deacdf4':
  Fix newlocale with a NULL locale name.
2014-11-05 02:57:27 +00:00
Elliott Hughes
33fb609258 am bce54a2b: am 57df00a4: Merge "Improve math tests to allow a specific ulp bound."
* commit 'bce54a2bb3d366fa6fa5bee52226ac9e9daf25a2':
  Improve math tests to allow a specific ulp bound.
2014-11-05 02:57:26 +00:00
Chih-Hung Hsieh
625056b00a am 45f736b3: am 6c8f2475: Merge "Fix warning of missing field initializer."
* commit '45f736b32389ad5074d72a974ea153d4e64b234b':
  Fix warning of missing field initializer.
2014-11-05 02:57:25 +00:00
Elliott Hughes
eac625a210 am c13a2044: Merge "Fix newlocale with a NULL locale name."
* commit 'c13a2044e3b4d6084ef7ed32fb35e63e4157a96a':
  Fix newlocale with a NULL locale name.
2014-11-05 02:42:07 +00:00
Elliott Hughes
bce54a2bb3 am 57df00a4: Merge "Improve math tests to allow a specific ulp bound."
* commit '57df00a4107d59f82732306c1e199ffa63f76f9b':
  Improve math tests to allow a specific ulp bound.
2014-11-05 02:42:05 +00:00
Chih-Hung Hsieh
45f736b323 am 6c8f2475: Merge "Fix warning of missing field initializer."
* commit '6c8f247581890a25fb899767db220a8245859f71':
  Fix warning of missing field initializer.
2014-11-05 02:41:55 +00:00
Elliott Hughes
c13a2044e3 Merge "Fix newlocale with a NULL locale name." 2014-11-05 02:20:55 +00:00
Elliott Hughes
7e0d0f8572 Fix newlocale with a NULL locale name.
Bug: https://code.google.com/p/android/issues/detail?id=78567
Change-Id: I272dabc12ab186b44a525c7e8ac1846e62334e85
2014-11-04 18:03:44 -08:00
Elliott Hughes
57df00a410 Merge "Improve math tests to allow a specific ulp bound." 2014-11-05 02:02:19 +00:00
Elliott Hughes
1b37ba2178 Improve math tests to allow a specific ulp bound.
At the moment our libm is only good enough for a 1 ulp bound on these tests,
but that's better than the 4 ulp bound you get from gtest by default.

I'm not really happy with the multiple structures and corresponding functions,
but at least they mean there's no duplication in the tests themselves, and it
should be easy enough for us to make further improvements in future.

Change-Id: I004e12970332e1d9531721361d6c34f908cfcecc
2014-11-04 18:00:02 -08:00
Chih-Hung Hsieh
6c8f247581 Merge "Fix warning of missing field initializer." 2014-11-05 00:46:37 +00:00
Yabin Cui
16f7f8d250 check invalid file offset when loading library
Bug: 18178121
Bug: 18078224

Change-Id: I5254433d54645db68e9b83d5095dc2bf9d8531bc
2014-11-04 14:37:15 -08:00
Chih-Hung Hsieh
dc6599e20f Fix warning of missing field initializer.
BUG: 18241135
Change-Id: I91304eb608bc3336ce5fcd5744fbe080d64f1cc2
2014-11-04 12:09:35 -08:00
Dmitriy Ivanov
bac20fe26d am ca564e2a: Revert "Revert "Fix arm64 and arm builds.""
* commit 'ca564e2a994df5976869ec655c7d4056deefcaa2':
  Revert "Revert "Fix arm64 and arm builds.""
2014-11-04 17:46:43 +00:00
Dmitriy Ivanov
78d367d9ca am 0416d88f: Revert "Revert "Fix symbol lookup order during relocation""
* commit '0416d88f9c90dcb1b97947a27a7c05f3627484c4':
  Revert "Revert "Fix symbol lookup order during relocation""
2014-11-04 17:46:42 +00:00
Dmitriy Ivanov
713d0a6715 am 1c095774: Revert "Revert "Fix mips build""
* commit '1c095774c0527027bf3f7013ba15e9913d5f1853':
  Revert "Revert "Fix mips build""
2014-11-04 17:46:41 +00:00
Dmitriy Ivanov
0f11d1c899 am a42dfda5: Revert "Revert "Remove unnecessary lookups during relocations""
* commit 'a42dfda53acc6127b5046672686b67a66be168eb':
  Revert "Revert "Remove unnecessary lookups during relocations""
2014-11-04 17:46:40 +00:00
Dmitriy Ivanov
4662831346 am c343cac6: Revert "Revert "Fix relocation to look for symbols in local group""
* commit 'c343cac62bfd2933e36357b206fdd81da7610164':
  Revert "Revert "Fix relocation to look for symbols in local group""
2014-11-04 17:46:39 +00:00
Dmitriy Ivanov
670ea93739 am 7ca96a07: Revert "Revert "Add RTLD_NODELETE flag support""
* commit '7ca96a075b778f1fa2ad265350879238cbcb4d09':
  Revert "Revert "Add RTLD_NODELETE flag support""
2014-11-04 17:46:38 +00:00
Dmitriy Ivanov
a03f007415 am 68a555b5: Revert "Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL""
* commit '68a555b57e2bed1292bf28609be693a95b5fdc6b':
  Revert "Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL""
2014-11-04 17:46:37 +00:00
Dmitriy Ivanov
ca564e2a99 Revert "Revert "Fix arm64 and arm builds.""
This reverts commit 494bee796a.
2014-11-04 09:38:27 -08:00
Dmitriy Ivanov
0416d88f9c Revert "Revert "Fix symbol lookup order during relocation""
This reverts commit f947be2889.
2014-11-04 09:38:18 -08:00
Dmitriy Ivanov
1c095774c0 Revert "Revert "Fix mips build""
This reverts commit 4402804c35.
2014-11-04 09:38:10 -08:00
Dmitriy Ivanov
a42dfda53a Revert "Revert "Remove unnecessary lookups during relocations""
This reverts commit eae0977255.
2014-11-04 09:38:00 -08:00
Dmitriy Ivanov
c343cac62b Revert "Revert "Fix relocation to look for symbols in local group""
This reverts commit 00dce52553.
2014-11-04 09:37:51 -08:00
Dmitriy Ivanov
7ca96a075b Revert "Revert "Add RTLD_NODELETE flag support""
This reverts commit 69c5d108a5.
2014-11-04 09:37:28 -08:00
Dmitriy Ivanov
68a555b57e Revert "Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL""
This reverts commit 9d3382d97a.
2014-11-04 09:37:19 -08:00
Dmitriy Ivanov
77c0b5b5ba am 39af7592: am 9d3382d9: Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '39af759260454e001b261170a94f85520db4ef12':
  Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
2014-11-04 17:22:53 +00:00
Dmitriy Ivanov
77b851f925 am e1d9881a: am 69c5d108: Revert "Add RTLD_NODELETE flag support"
* commit 'e1d9881a8d85dcd6bbf6895c3566b62589b715c1':
  Revert "Add RTLD_NODELETE flag support"
2014-11-04 17:22:52 +00:00
Dmitriy Ivanov
4bf14534d2 am 47fb0b78: am 00dce525: Revert "Fix relocation to look for symbols in local group"
* commit '47fb0b781628af5cbd5e97150c8e9511d718bf97':
  Revert "Fix relocation to look for symbols in local group"
2014-11-04 17:22:51 +00:00
Dmitriy Ivanov
8855f5884a am ce4d16bb: am eae09772: Revert "Remove unnecessary lookups during relocations"
* commit 'ce4d16bbaa34c0b97abc7a9d157d65e66ed68c79':
  Revert "Remove unnecessary lookups during relocations"
2014-11-04 17:22:50 +00:00
Dmitriy Ivanov
7df7fb0c90 am 7cb57841: am 4402804c: Revert "Fix mips build"
* commit '7cb57841a58165e6aeca14f987e4391cab38bbbd':
  Revert "Fix mips build"
2014-11-04 17:22:49 +00:00
Dmitriy Ivanov
7e59a56ac9 am 5c9afdc0: am f947be28: Revert "Fix symbol lookup order during relocation"
* commit '5c9afdc0c1bb4fa4c8287075a8711d25d229d593':
  Revert "Fix symbol lookup order during relocation"
2014-11-04 17:22:48 +00:00
Dmitriy Ivanov
4aaafab73b am 4c9b34bd: am 494bee79: Revert "Fix arm64 and arm builds."
* commit '4c9b34bd8acc305241ae14b5d03db4054f1ce26e':
  Revert "Fix arm64 and arm builds."
2014-11-04 17:22:47 +00:00
Dmitriy Ivanov
39af759260 am 9d3382d9: Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '9d3382d97a2cdc8c8f78c7825ece16f09292fc36':
  Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
2014-11-04 17:17:58 +00:00
Dmitriy Ivanov
e1d9881a8d am 69c5d108: Revert "Add RTLD_NODELETE flag support"
* commit '69c5d108a5cb44167a04d42ffdad6a39648ed235':
  Revert "Add RTLD_NODELETE flag support"
2014-11-04 17:17:57 +00:00
Dmitriy Ivanov
47fb0b7816 am 00dce525: Revert "Fix relocation to look for symbols in local group"
* commit '00dce525530c5d26c20750863f3e9890b468787a':
  Revert "Fix relocation to look for symbols in local group"
2014-11-04 17:17:56 +00:00
Dmitriy Ivanov
ce4d16bbaa am eae09772: Revert "Remove unnecessary lookups during relocations"
* commit 'eae09772558016836f1356816f4d1d0be498d74c':
  Revert "Remove unnecessary lookups during relocations"
2014-11-04 17:17:55 +00:00
Dmitriy Ivanov
7cb57841a5 am 4402804c: Revert "Fix mips build"
* commit '4402804c35c5c5992c728c6f3cee3bdbd325819e':
  Revert "Fix mips build"
2014-11-04 17:17:54 +00:00
Dmitriy Ivanov
5c9afdc0c1 am f947be28: Revert "Fix symbol lookup order during relocation"
* commit 'f947be2889639defc6424b1813ccc779528b7598':
  Revert "Fix symbol lookup order during relocation"
2014-11-04 17:17:53 +00:00
Dmitriy Ivanov
4c9b34bd8a am 494bee79: Revert "Fix arm64 and arm builds."
* commit '494bee796aa60131981308493e0e295493537e12':
  Revert "Fix arm64 and arm builds."
2014-11-04 17:17:52 +00:00
Elliott Hughes
2fa23458ba am 6bb5579b: resolved conflicts for merge of d18f4b25 to lmp-mr1-dev-plus-aosp
* commit '6bb5579b8e8194a54354a88b2d685740c30fc3b9':
  Ensure we initialize stdin/stdout/stderr's recursive mutexes.
2014-11-04 02:44:26 +00:00
Elliott Hughes
6bb5579b8e resolved conflicts for merge of d18f4b25 to lmp-mr1-dev-plus-aosp
Change-Id: Ie1ebacd432a61d680bb1325aa369db717d39299d
2014-11-03 18:31:10 -08:00
Dan Albert
f75df00fae am a0ba3c83: am 5939060b: am 695781b6: Merge "Make host tests depend on /system/etc/hosts."
* commit 'a0ba3c83edd975159913aacc992f3f9400e332f5':
  Make host tests depend on /system/etc/hosts.
2014-11-04 01:59:27 +00:00
Elliott Hughes
b56c4973bd am 05e3e707: am 90138639: am e76ea9bb: Merge "Ensure we initialize stdin/stdout/stderr\'s recursive mutexes."
* commit '05e3e70772ea7c42ec2499212cd7fd876ab77cd3':
  Ensure we initialize stdin/stdout/stderr's recursive mutexes.
2014-11-04 01:59:25 +00:00
Dan Albert
a0ba3c83ed am 5939060b: am 695781b6: Merge "Make host tests depend on /system/etc/hosts."
* commit '5939060ba54fbab71c53b95310bfd798a35972ad':
  Make host tests depend on /system/etc/hosts.
2014-11-04 01:04:27 +00:00
Elliott Hughes
05e3e70772 am 90138639: am e76ea9bb: Merge "Ensure we initialize stdin/stdout/stderr\'s recursive mutexes."
* commit '90138639a50495fd63238524e9a0a0758cd574c6':
  Ensure we initialize stdin/stdout/stderr's recursive mutexes.
2014-11-04 01:04:25 +00:00
Dan Albert
5939060ba5 am 695781b6: Merge "Make host tests depend on /system/etc/hosts."
* commit '695781b6f0419f82939176a6ec1a240300d9f036':
  Make host tests depend on /system/etc/hosts.
2014-11-04 00:53:18 +00:00
Elliott Hughes
90138639a5 am e76ea9bb: Merge "Ensure we initialize stdin/stdout/stderr\'s recursive mutexes."
* commit 'e76ea9bbe0a8bccf97b88d09af13a84fd34a6a76':
  Ensure we initialize stdin/stdout/stderr's recursive mutexes.
2014-11-04 00:53:16 +00:00
Dan Albert
695781b6f0 Merge "Make host tests depend on /system/etc/hosts." 2014-11-03 21:38:50 +00:00
Elliott Hughes
e76ea9bbe0 Merge "Ensure we initialize stdin/stdout/stderr's recursive mutexes." 2014-11-03 21:32:29 +00:00
Dan Albert
62b7279789 Make host tests depend on /system/etc/hosts.
Change-Id: I3e5ab1325d5e250a1d14b53f3a5a465d9f5de30c
2014-11-03 13:26:16 -08:00
Elliott Hughes
6a03abcfd2 Ensure we initialize stdin/stdout/stderr's recursive mutexes.
Bug: 18208568
Change-Id: I9da16ce0f9375bc363d1d02be706d73fd3b1e150
2014-11-03 12:32:17 -08:00
Dmitriy Ivanov
ae0757ff27 am d3cd6618: resolved conflicts for merge of 926797a8 to lmp-mr1-dev-plus-aosp
* commit 'd3cd66185f63a75ec9f0fca69bd6594c310dbaa8':
  Fix arm64 and arm builds.
  Fix symbol lookup order during relocation
  Fix mips build
  Remove unnecessary lookups during relocations
  Fix relocation to look for symbols in local group
  Correct way to specify additional dependencies
  Add dlfcn_test to glibc test suite.
  Ignore DT_BIND_NOW (0x18)
  Resolve "unused DT entry" warnings for x86_64
  Add RTLD_NODELETE flag support
  Fix mips build
  Fix unused DT entry warnings.
  Return has_DT_SYMBOLIC flag.
  Fix a couple more cases of missing CLOEXEC.
  Temporary disable DL_WARNs for unused DT_*
  Fix 64bit build
  Fix some unused DT_ warnings
  Remove has_DT_SYMBOLIC flag
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
  Reformatting
2014-11-02 01:14:04 +00:00
Dmitriy Ivanov
d3cd66185f resolved conflicts for merge of 926797a8 to lmp-mr1-dev-plus-aosp
Change-Id: I3b46a714fd1236431fa08872f280e4ac4c4880d1
2014-11-01 18:02:31 -07:00
Dmitriy Ivanov
fc6a97d292 am b1c019f3: am 75cd66aa: am 38ff8822: Merge "Revert "Use local copy of the library name on dlopen""
* commit 'b1c019f32ad5da8649b9792b8526806b1ebe2878':
  Revert "Use local copy of the library name on dlopen"
2014-11-01 04:02:22 +00:00
Dmitriy Ivanov
b1c019f32a am 75cd66aa: am 38ff8822: Merge "Revert "Use local copy of the library name on dlopen""
* commit '75cd66aaf60f47e04359738a9c8d92588a1f7834':
  Revert "Use local copy of the library name on dlopen"
2014-11-01 03:00:56 +00:00
Dmitriy Ivanov
75cd66aaf6 am 38ff8822: Merge "Revert "Use local copy of the library name on dlopen""
* commit '38ff8822763a30d4c9033a38ec8b71fcd17aba87':
  Revert "Use local copy of the library name on dlopen"
2014-11-01 02:35:51 +00:00
Dmitriy Ivanov
38ff882276 Merge "Revert "Use local copy of the library name on dlopen"" 2014-11-01 02:32:24 +00:00
Dmitriy Ivanov
9fb216f844 Revert "Use local copy of the library name on dlopen"
This reverts commit da8e591c39.

Change-Id: I3fd6f235b18c232af5cc5ecd481851486d7d68f6
2014-11-01 02:30:38 +00:00
Dmitriy Ivanov
d79e427b73 am dcafe93d: am 6cba0e35: am 36ffc73e: Merge "Fix arm64 and arm builds."
* commit 'dcafe93db23dbda62e1d9b6c2b2deb670f96980e':
  Fix arm64 and arm builds.
2014-11-01 00:45:39 +00:00
Dmitriy Ivanov
dcafe93db2 am 6cba0e35: am 36ffc73e: Merge "Fix arm64 and arm builds."
* commit '6cba0e35ec62e86689556142a08f547f27b703dd':
  Fix arm64 and arm builds.
2014-11-01 00:39:45 +00:00
Dmitriy Ivanov
6cba0e35ec am 36ffc73e: Merge "Fix arm64 and arm builds."
* commit '36ffc73e992de77cc4bc397e41767b69ed9ac917':
  Fix arm64 and arm builds.
2014-11-01 00:36:23 +00:00
Dmitriy Ivanov
36ffc73e99 Merge "Fix arm64 and arm builds." 2014-11-01 00:33:30 +00:00
Dmitriy Ivanov
4e446b19d8 Fix arm64 and arm builds.
Change-Id: I2c8c41626768e792f27a2616f2cd5ae66606319d
2014-10-31 17:27:02 -07:00
Dmitriy Ivanov
53fa1d13f4 am eb46dd98: am a334934f: am f33ad400: Merge "Fix symbol lookup order during relocation"
* commit 'eb46dd98ab903938cd5863da7d614d3ec03c0722':
  Fix symbol lookup order during relocation
2014-11-01 00:01:35 +00:00
Dmitriy Ivanov
eb46dd98ab am a334934f: am f33ad400: Merge "Fix symbol lookup order during relocation"
* commit 'a334934f66386ecdf3ec07daf0b651fcf3b8dcce':
  Fix symbol lookup order during relocation
2014-10-31 23:57:29 +00:00
Dmitriy Ivanov
a334934f66 am f33ad400: Merge "Fix symbol lookup order during relocation"
* commit 'f33ad400230fa1f16ba4501efb60a1b6035e06ca':
  Fix symbol lookup order during relocation
2014-10-31 23:54:20 +00:00
Dmitriy Ivanov
f33ad40023 Merge "Fix symbol lookup order during relocation" 2014-10-31 23:51:18 +00:00
Dmitriy Ivanov
034f6105d9 am c663c2ae: am 703581a3: am 74c0ccd4: Merge "Use local copy of the library name on dlopen"
* commit 'c663c2ae3ee6edf69342b1535237ffdc8489d2d9':
  Use local copy of the library name on dlopen
2014-10-31 23:02:48 +00:00
Dmitriy Ivanov
c663c2ae3e am 703581a3: am 74c0ccd4: Merge "Use local copy of the library name on dlopen"
* commit '703581a3220123a4fc44acbf3a94c835a7cf5ed0':
  Use local copy of the library name on dlopen
2014-10-31 22:57:06 +00:00
Dmitriy Ivanov
703581a322 am 74c0ccd4: Merge "Use local copy of the library name on dlopen"
* commit '74c0ccd49b2f0a94078b565b60c10ecba1e9424e':
  Use local copy of the library name on dlopen
2014-10-31 22:51:38 +00:00
Dmitriy Ivanov
74c0ccd49b Merge "Use local copy of the library name on dlopen" 2014-10-31 22:47:25 +00:00
Dmitriy Ivanov
da8e591c39 Use local copy of the library name on dlopen
Bug: 18052100
Change-Id: Idbc2a3691db3b5525d4e9bca81d78d5f29bc438f
2014-10-31 14:23:34 -07:00
Dmitriy Ivanov
d225a5e652 Fix symbol lookup order during relocation
Relocate symbol against DF_1_GLOBAL shared libraries
  loaded before this shared library. This includes
  main executable, ld_preloads and other libraries
  that have DF_1_GLOBAL flag set.

Bug: 2643900
Bug: 15432753
Change-Id: Ia788748be59b739d1c7e62b978e7e255f9e65c7b
2014-10-31 11:39:51 -07:00
Dan Albert
b5c391eeed am 64b5940b: am 653263a9: Only use <atomic> for C++11 and newer.
* commit '64b5940bc3e6202da16a5c1f24a380169032e51d':
  Only use <atomic> for C++11 and newer.
2014-10-31 06:17:44 +00:00
Dan Albert
64b5940bc3 am 653263a9: Only use <atomic> for C++11 and newer.
* commit '653263a96459c5c1811623bd84201c324a870280':
  Only use <atomic> for C++11 and newer.
2014-10-31 06:12:21 +00:00
Elliott Hughes
8fc0e09a01 am 20cc6b69: Merge remote-tracking branch \'goog/lmp-mr1-ub-dev\' into manualmerge
* commit '20cc6b695a8ceaf801f53f0526f0ed5d588d7d9d':
  Fix the type of u_ar0 in <sys/user.h>.
  Add greg_t for arm64.
  POSIX says <signal.h> gets you ucontext_t.
  Add in_port_t and move it and in_addr_t to the correct header file.
  Add stpcpy assembler version.
  Cleanup arm assembly.
  Add __memcpy_chk assembly for 64 bit.
  Clean up the architecture-specific makefiles.
  No arm source refers to SOFTFLOAT.
2014-10-30 18:39:16 +00:00
Elliott Hughes
e897108f96 am 7256062f: am 25f4bb98: am e38bf839: Merge "limits.h: add define for HOST_NAME_MAX"
* commit '7256062f10a2381cf2bd92aacadbf5ebda32b3b2':
  limits.h: add define for HOST_NAME_MAX
2014-10-30 18:38:52 +00:00
Elliott Hughes
20cc6b695a Merge remote-tracking branch 'goog/lmp-mr1-ub-dev' into manualmerge 2014-10-30 09:52:50 -07:00
Elliott Hughes
7256062f10 am 25f4bb98: am e38bf839: Merge "limits.h: add define for HOST_NAME_MAX"
* commit '25f4bb984cf9a27ebfac0e8f0ab5481ce3bebf15':
  limits.h: add define for HOST_NAME_MAX
2014-10-30 16:08:28 +00:00
Elliott Hughes
25f4bb984c am e38bf839: Merge "limits.h: add define for HOST_NAME_MAX"
* commit 'e38bf839837d11542e7d1deb00d81542a0ef55b7':
  limits.h: add define for HOST_NAME_MAX
2014-10-30 16:02:29 +00:00
Elliott Hughes
e38bf83983 Merge "limits.h: add define for HOST_NAME_MAX" 2014-10-30 15:56:44 +00:00
Yongqin Liu
0589777a33 limits.h: add define for HOST_NAME_MAX
according to the rules defined here:
    http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html
add the definition for HOST_NAME_MAX to limits.h file,
and set the default value to _POSIX_HOST_NAME_MAX as 255

Change-Id: Iddd5c6c569f4e0a14994c7a7c54985f3e7809fc4
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-10-30 10:59:24 +08:00
Elliott Hughes
7e9da3ef4a am 3d50e8ef: am 4c29b1c2: am f362e9fb: Merge "Remove an unused file."
* commit '3d50e8efde2e39a4776506f2db60943da314caa0':
  Remove an unused file.
2014-10-29 21:00:42 +00:00
Elliott Hughes
3d50e8efde am 4c29b1c2: am f362e9fb: Merge "Remove an unused file."
* commit '4c29b1c266aa7ac81a7b67a6170f52c12aca712d':
  Remove an unused file.
2014-10-29 20:56:29 +00:00
Elliott Hughes
b3388419ec am 0eca5472: am 24464b04: am d50495a5: Merge "Extra strtod/strtof tests."
* commit '0eca547209f906e68a5ce61186b64e12c1941ba6':
  Extra strtod/strtof tests.
2014-10-29 20:52:20 +00:00
Elliott Hughes
4c29b1c266 am f362e9fb: Merge "Remove an unused file."
* commit 'f362e9fb33722f89cebe65ddf2f07d2b07e4390e':
  Remove an unused file.
2014-10-29 20:51:27 +00:00
Elliott Hughes
f362e9fb33 Merge "Remove an unused file." 2014-10-29 20:46:31 +00:00
Elliott Hughes
39cd0fa24a Remove an unused file.
We don't have any FreeBSD stdio left.

Bug: 17154680
Change-Id: I145627f564364ac8d4707d431d451cc3115c1c6a
2014-10-29 13:42:23 -07:00
Elliott Hughes
0eca547209 am 24464b04: am d50495a5: Merge "Extra strtod/strtof tests."
* commit '24464b04a0d5a7645b8e751c6a9ef0c6574d52c2':
  Extra strtod/strtof tests.
2014-10-29 20:42:10 +00:00
Yabin Cui
7574c81852 am c62f0d7c: am 63edd69e: am cbb4606a: Merge "change unsigned int to uint32_t for api arc4random/arc4random_uniform"
* commit 'c62f0d7c60053322d8cc6acafd5a64dd50c6d053':
  change unsigned int to uint32_t for api arc4random/arc4random_uniform
2014-10-29 19:56:56 +00:00
Elliott Hughes
d8ebe6427f am 654c7811: am 91bfaed2: am 13dcb88b: Merge "Disable tzdata in ."
* commit '654c781195f4b5269a910f08b14d87f9fa29ab47':
  Disable tzdata in $ANDROID_DATA.
2014-10-29 19:56:55 +00:00
Elliott Hughes
af51e15a35 am e3c9f21e: resolved conflicts for merge of 912fe0a6 to lmp-mr1-dev-plus-aosp
* commit 'e3c9f21eaf2601ce6b2e3d62eeb12d03b048bdce':
  [x86,x86_64] Fix libgcc unwinding through signal
2014-10-29 19:56:54 +00:00
Yabin Cui
c62f0d7c60 am 63edd69e: am cbb4606a: Merge "change unsigned int to uint32_t for api arc4random/arc4random_uniform"
* commit '63edd69e576a9f1faebc493bc6d4e4729c70b02c':
  change unsigned int to uint32_t for api arc4random/arc4random_uniform
2014-10-29 19:42:32 +00:00
Elliott Hughes
654c781195 am 91bfaed2: am 13dcb88b: Merge "Disable tzdata in ."
* commit '91bfaed26a1e4595c387a27a789a71ec0eebfa73':
  Disable tzdata in $ANDROID_DATA.
2014-10-29 19:42:31 +00:00
Elliott Hughes
e3c9f21eaf resolved conflicts for merge of 912fe0a6 to lmp-mr1-dev-plus-aosp
Change-Id: Ie1cc84f34ccaf27eae4f3c292d67d44a9f0276bc
2014-10-29 12:38:36 -07:00
Elliott Hughes
174158ca15 am 3834e0fd: am 382938d0: am ec58e29b: Merge "pthread_setname_np appears in glibc 2.12."
* commit '3834e0fd68f30b49f67e20434a34024aca16b44a':
  pthread_setname_np appears in glibc 2.12.
2014-10-29 17:52:14 +00:00
Elliott Hughes
522d7eec98 am 91e5674c: am 7dbb1cff: am 021b6412: Merge "Fix the type of u_ar0 in <sys/user.h>."
* commit '91e5674c34770b06cabd29afec0c8e752ecc2527':
  Fix the type of u_ar0 in <sys/user.h>.
2014-10-29 17:52:13 +00:00
Elliott Hughes
39b6bfdc0a am a4402ef6: am ee8faa5e: am 7f164f60: Merge "POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK."
* commit 'a4402ef6e68f7b790d49d3dbc6dad4a0893a2e37':
  POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK.
2014-10-29 17:52:12 +00:00
Elliott Hughes
3834e0fd68 am 382938d0: am ec58e29b: Merge "pthread_setname_np appears in glibc 2.12."
* commit '382938d092c7427a74ae8a6507bbd49f01e5c2f9':
  pthread_setname_np appears in glibc 2.12.
2014-10-29 17:46:53 +00:00
Elliott Hughes
91e5674c34 am 7dbb1cff: am 021b6412: Merge "Fix the type of u_ar0 in <sys/user.h>."
* commit '7dbb1cff0b40b4f6a2792b73f24ac912cfe121d5':
  Fix the type of u_ar0 in <sys/user.h>.
2014-10-29 17:46:53 +00:00
Elliott Hughes
a4402ef6e6 am ee8faa5e: am 7f164f60: Merge "POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK."
* commit 'ee8faa5e74eadc12231f59f2bbe13cfa644922cd':
  POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK.
2014-10-29 17:46:52 +00:00
Elliott Hughes
24464b04a0 am d50495a5: Merge "Extra strtod/strtof tests."
* commit 'd50495a56760fdc116b7484bcdf1183c76db9b37':
  Extra strtod/strtof tests.
2014-10-29 17:36:16 +00:00
Dmitriy Ivanov
721950be00 am f63ce364: am 3a3a4b8a: am e23f564b: Merge "Fix *tests-run-on-host target"
* commit 'f63ce364a4cd2004f100ad2f683fe43edf1d1ede':
  Fix *tests-run-on-host target
2014-10-29 17:32:35 +00:00
Elliott Hughes
c779fb70c6 am 6ede5d1f: am 44331e8b: am c716dd1e: Merge "bionic tests: migrate test for mutex type from system/extras"
* commit '6ede5d1f24bbaa88292583ca649916e8c116fb16':
  bionic tests: migrate test for mutex type from system/extras
2014-10-29 17:32:34 +00:00
Dmitriy Ivanov
66acd2c127 am c79478a5: am 85d77021: am f56a2f5e: Merge "Remove unnecessary reinterpret_cast"
* commit 'c79478a53339f957ec7d8ad6f7667b507f3b658e':
  Remove unnecessary reinterpret_cast
2014-10-29 17:32:34 +00:00
Chih-Hung Hsieh
a986a6bbc6 am 5ef7bdad: am f3b0d9cd: am 57c5a556: Merge "Disable clang compilation due to lack of ifunc."
* commit '5ef7bdadbf582d3829289fb2a51cb5ff38a891d2':
  Disable clang compilation due to lack of ifunc.
2014-10-29 17:32:33 +00:00
Elliott Hughes
fc038c029c am 2a45d8cd: am 1dd65cc3: am c83837ec: Merge "Make the netdb unit tests work on the host."
* commit '2a45d8cd4f8c01ae28f0c945df05a7ccc9d31bc2':
  Make the netdb unit tests work on the host.
2014-10-29 17:32:32 +00:00
Elliott Hughes
b8ce996640 am 49220899: am 3f5d8a00: am cad8d226: Merge "Use mxcr_mask instead of mxcsr_mask to match glibc."
* commit '49220899f214a5de54753ab4e9953637faf61f20':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-29 17:32:31 +00:00
Elliott Hughes
b9dd047db5 am 413a4bdd: am 43ec1fb7: am a4c0b756: Merge "Add mkfifoat(3)."
* commit '413a4bdd3c675acf76afeda454ff150853ffd905':
  Add mkfifoat(3).
2014-10-29 17:32:30 +00:00
Dmitriy Ivanov
ba2e363f35 am 1e84f9da: am 3db80168: am f33a7d7f: Merge "Fix mips build"
* commit '1e84f9dab4dd4c366beb8eeade64df9352a47dbd':
  Fix mips build
2014-10-29 17:32:30 +00:00
Dmitriy Ivanov
34d9e9e050 am a7424d79: am fee054f3: am 398eb5a7: Merge "Remove unnecessary lookups during relocations"
* commit 'a7424d79c44b8af56208315962c75d6b8fffcb94':
  Remove unnecessary lookups during relocations
2014-10-29 17:32:29 +00:00
Dmitriy Ivanov
a669279085 am 0dbb80ae: am 1babff27: am 566f2bc6: Merge "Fix relocation to look for symbols in local group"
* commit '0dbb80ae950c766b65321350be002309ef9de5d1':
  Fix relocation to look for symbols in local group
2014-10-29 17:32:28 +00:00
Elliott Hughes
c2e6bc77ba am 5e90a976: am ac5df33e: am 6c5694b6: Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)."
* commit '5e90a9760728a314d516602754090848f84f600b':
  Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
2014-10-29 17:32:27 +00:00
Elliott Hughes
74b96b47f3 am 66bae426: am 7f558f60: am cf8ea37f: Merge "bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests"
* commit '66bae4262aa0c516181e6177f371c5e9223b665a':
  bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests
2014-10-29 17:32:26 +00:00
Elliott Hughes
d50495a567 Merge "Extra strtod/strtof tests." 2014-10-29 17:22:33 +00:00
Dmitriy Ivanov
f63ce364a4 am 3a3a4b8a: am e23f564b: Merge "Fix *tests-run-on-host target"
* commit '3a3a4b8ae6c03b58c59717ab3c3be85099939d3b':
  Fix *tests-run-on-host target
2014-10-29 17:13:49 +00:00
Elliott Hughes
6ede5d1f24 am 44331e8b: am c716dd1e: Merge "bionic tests: migrate test for mutex type from system/extras"
* commit '44331e8bb0ba17be0387e9353d2309f980136273':
  bionic tests: migrate test for mutex type from system/extras
2014-10-29 17:13:49 +00:00
Dmitriy Ivanov
c79478a533 am 85d77021: am f56a2f5e: Merge "Remove unnecessary reinterpret_cast"
* commit '85d770211b33ede2d7bf1b37a6e01bcb308cb666':
  Remove unnecessary reinterpret_cast
2014-10-29 17:13:32 +00:00
Chih-Hung Hsieh
5ef7bdadbf am f3b0d9cd: am 57c5a556: Merge "Disable clang compilation due to lack of ifunc."
* commit 'f3b0d9cd79574ac43d41e50bf81f57016c620624':
  Disable clang compilation due to lack of ifunc.
2014-10-29 17:13:31 +00:00
Elliott Hughes
2a45d8cd4f am 1dd65cc3: am c83837ec: Merge "Make the netdb unit tests work on the host."
* commit '1dd65cc30c43921f9a0fc604597701b349e3e028':
  Make the netdb unit tests work on the host.
2014-10-29 17:13:30 +00:00
Elliott Hughes
49220899f2 am 3f5d8a00: am cad8d226: Merge "Use mxcr_mask instead of mxcsr_mask to match glibc."
* commit '3f5d8a00e4b57fdf7ec8cc01cc33fbfab5ae1316':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-29 17:13:29 +00:00
Elliott Hughes
413a4bdd3c am 43ec1fb7: am a4c0b756: Merge "Add mkfifoat(3)."
* commit '43ec1fb76c679738011adc0706e6ef2e01058e79':
  Add mkfifoat(3).
2014-10-29 17:13:26 +00:00
Dmitriy Ivanov
1e84f9dab4 am 3db80168: am f33a7d7f: Merge "Fix mips build"
* commit '3db80168ff376c08f1faa948b9a41a0c823c9631':
  Fix mips build
2014-10-29 17:13:25 +00:00
Dmitriy Ivanov
a7424d79c4 am fee054f3: am 398eb5a7: Merge "Remove unnecessary lookups during relocations"
* commit 'fee054f3ecd7c26705f544ecf0d76ce4ec57a2d4':
  Remove unnecessary lookups during relocations
2014-10-29 17:13:24 +00:00
Dmitriy Ivanov
0dbb80ae95 am 1babff27: am 566f2bc6: Merge "Fix relocation to look for symbols in local group"
* commit '1babff27fd0e62bd719d04e789da01adbb0b01cd':
  Fix relocation to look for symbols in local group
2014-10-29 17:13:23 +00:00
Elliott Hughes
5e90a97607 am ac5df33e: am 6c5694b6: Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)."
* commit 'ac5df33e091c079d667354d225ed37d23326a270':
  Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
2014-10-29 17:13:22 +00:00
Elliott Hughes
66bae4262a am 7f558f60: am cf8ea37f: Merge "bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests"
* commit '7f558f60cb51c54782f6d51cd3537082e00970bc':
  bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests
2014-10-29 17:10:58 +00:00
Elliott Hughes
9debb36799 am ec2ee183: am 96a6f401: am e516321d: Merge "Update bionic to tzdata2014i."
* commit 'ec2ee183a351ce8cbc8a531b5ff74c3fbc10c644':
  Update bionic to tzdata2014i.
2014-10-29 16:47:11 +00:00
Christopher Ferris
3c7bb4ca22 am c165b98a: am 274f5e73: am efd2ec8f: Merge "Fix race condition in timer disarm/delete."
* commit 'c165b98adc930b11c140a1c10e1eeb0ec6307ac9':
  Fix race condition in timer disarm/delete.
2014-10-29 16:47:10 +00:00
Elliott Hughes
ec2ee183a3 am 96a6f401: am e516321d: Merge "Update bionic to tzdata2014i."
* commit '96a6f40163b5a2b97c470894ef81041e18265192':
  Update bionic to tzdata2014i.
2014-10-29 16:42:51 +00:00
Christopher Ferris
c165b98adc am 274f5e73: am efd2ec8f: Merge "Fix race condition in timer disarm/delete."
* commit '274f5e737dcae3c9d328f89f4f7df29acee41230':
  Fix race condition in timer disarm/delete.
2014-10-29 16:42:50 +00:00
Yabin Cui
63edd69e57 am cbb4606a: Merge "change unsigned int to uint32_t for api arc4random/arc4random_uniform"
* commit 'cbb4606ad00f084f984c92a8674400a112ea200e':
  change unsigned int to uint32_t for api arc4random/arc4random_uniform
2014-10-29 12:32:36 +00:00
Elliott Hughes
91bfaed26a am 13dcb88b: Merge "Disable tzdata in ."
* commit '13dcb88b0f8ce238456059fdc0b6c946caed1e3a':
  Disable tzdata in $ANDROID_DATA.
2014-10-29 12:32:23 +00:00
Elliott Hughes
912fe0a6df am f96eaf62: Merge "[x86,x86_64] Fix libgcc unwinding through signal"
* commit 'f96eaf6202351a1b5153cfaad3137e4b63846f8f':
  [x86,x86_64] Fix libgcc unwinding through signal
2014-10-29 12:31:52 +00:00
Elliott Hughes
89aaaffbf8 Extra strtod/strtof tests.
Check that libc doesn't suffer from a couple of bugs that affected
Java in the past.

Bug: 2206701
Change-Id: I9eb64d7ff2fa0b79e93079b897a5fb78bef866be
2014-10-28 17:54:23 -07:00
Elliott Hughes
4db348f8c9 am 69377b89: Fix merge-induced makefile error.
* commit '69377b890966af4a679857caea983e4702e3b764':
  Fix merge-induced makefile error.
2014-10-29 00:01:14 +00:00
Elliott Hughes
69377b8909 Fix merge-induced makefile error.
Change-Id: I6ac7e5e3b9d55108681916044cf2de0e01bca0b2
2014-10-28 16:58:11 -07:00
Elliott Hughes
bdc27e578c am 16b557e1: Merge remote-tracking branch \'goog/lmp-mr1-ub-dev\' into manualmerge
* commit '16b557e1b2e991a5e22b553fbc5e8898877d1913':
  Fix mips signed/unsigned signal_test.cpp build breakage.
  Remove the unnecessary generic-neon code.
  Don't mask out SA_RESTORER from sa_flags.
  [x86,x86_64] Fix libgcc unwinding through signal
  Stack unwinding unit tests.
  Use the kernel's sa_restorer for aarch64.
  Fix 32-bit arm unwinding through signal frames.
  Fix signal trampolines.
  Disable tzdata in $ANDROID_DATA.
2014-10-28 23:13:37 +00:00
Elliott Hughes
16b557e1b2 Merge remote-tracking branch 'goog/lmp-mr1-ub-dev' into manualmerge
Conflicts:
	libc/arch-arm/bionic/__restore.S
	libc/arch-arm/cortex-a15/bionic/stpcpy.S
	libc/arch-arm/cortex-a9/bionic/stpcpy.S
	libc/arch-arm64/generic/bionic/memcpy_base.S
	libc/arch-x86/bionic/__restore.S
	libc/arch-x86/x86.mk
	libc/arch-x86_64/bionic/__restore_rt.S
	tests/stack_unwinding_test.cpp
	tests/stack_unwinding_test_impl.c

Change-Id: I2cb250ad78e9da6f390bc279aec742564b75e6c7
2014-10-28 16:06:57 -07:00
Yabin Cui
cbb4606ad0 Merge "change unsigned int to uint32_t for api arc4random/arc4random_uniform" 2014-10-28 22:58:40 +00:00
Yabin Cui
a39f939e0d change unsigned int to uint32_t for api arc4random/arc4random_uniform
Bug: 17894480
Change-Id: Ia4b5a7cd2b2c6002ed70955f86f7780d26d15e26
2014-10-28 13:44:48 -07:00
Elliott Hughes
382938d092 am ec58e29b: Merge "pthread_setname_np appears in glibc 2.12."
* commit 'ec58e29b276b0f98eb624430fb70703dc32057bf':
  pthread_setname_np appears in glibc 2.12.
2014-10-28 19:28:35 +00:00
Elliott Hughes
7dbb1cff0b am 021b6412: Merge "Fix the type of u_ar0 in <sys/user.h>."
* commit '021b6412f7b7ce73b383480b25a8e5d69323f78c':
  Fix the type of u_ar0 in <sys/user.h>.
2014-10-28 19:28:34 +00:00
Elliott Hughes
ee8faa5e74 am 7f164f60: Merge "POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK."
* commit '7f164f6052b6dcee1c2cc70accdfac4b2c790b19':
  POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK.
2014-10-28 19:28:32 +00:00
Dmitriy Ivanov
3a3a4b8ae6 am e23f564b: Merge "Fix *tests-run-on-host target"
* commit 'e23f564b52fed0dce661cf6db25cf3a89bd66f18':
  Fix *tests-run-on-host target
2014-10-28 17:34:12 +00:00
Elliott Hughes
44331e8bb0 am c716dd1e: Merge "bionic tests: migrate test for mutex type from system/extras"
* commit 'c716dd1e21438ac6585be79fb799b3135e9b381f':
  bionic tests: migrate test for mutex type from system/extras
2014-10-28 17:34:01 +00:00
Elliott Hughes
13dcb88b0f Merge "Disable tzdata in $ANDROID_DATA." 2014-10-28 16:34:46 +00:00
Elliott Hughes
e24bf5d7b9 Disable tzdata in $ANDROID_DATA.
(cherry picked from 4c30130a2155c37e80af4c3b53bf4f6ce832e760.)

Bug: 18139284
Change-Id: I2670dc1791d635139a5d39a438dc08777439476b
2014-10-28 09:34:09 -07:00
Dmitriy Ivanov
85d770211b am f56a2f5e: Merge "Remove unnecessary reinterpret_cast"
* commit 'f56a2f5ed2508e0743581003420c0f2d9cb54c7b':
  Remove unnecessary reinterpret_cast
2014-10-28 04:51:51 +00:00
Chih-Hung Hsieh
f3b0d9cd79 am 57c5a556: Merge "Disable clang compilation due to lack of ifunc."
* commit '57c5a5562b08007dbe6379a4b68ca3a0225747c0':
  Disable clang compilation due to lack of ifunc.
2014-10-28 04:51:47 +00:00
Elliott Hughes
1dd65cc30c am c83837ec: Merge "Make the netdb unit tests work on the host."
* commit 'c83837ec158a14bf84ea702c04f606de3b0599a8':
  Make the netdb unit tests work on the host.
2014-10-28 04:51:46 +00:00
Elliott Hughes
3f5d8a00e4 am cad8d226: Merge "Use mxcr_mask instead of mxcsr_mask to match glibc."
* commit 'cad8d226c3589a65775fda972d4cd3ebd3877dab':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-28 04:51:25 +00:00
Elliott Hughes
43ec1fb76c am a4c0b756: Merge "Add mkfifoat(3)."
* commit 'a4c0b7567190968d263bedd1073ea633510f9a45':
  Add mkfifoat(3).
2014-10-28 04:49:11 +00:00
Dmitriy Ivanov
3db80168ff am f33a7d7f: Merge "Fix mips build"
* commit 'f33a7d7f1cc96cf1445013fe49f6db0f03cbd44f':
  Fix mips build
2014-10-28 04:46:55 +00:00
Dmitriy Ivanov
fee054f3ec am 398eb5a7: Merge "Remove unnecessary lookups during relocations"
* commit '398eb5a7ee1f0f7173e463e82381431ef4b21a17':
  Remove unnecessary lookups during relocations
2014-10-28 04:46:54 +00:00
Dmitriy Ivanov
1babff27fd am 566f2bc6: Merge "Fix relocation to look for symbols in local group"
* commit '566f2bc623dbd1d6e8bcf3a6c6e7a6fffe7f68fd':
  Fix relocation to look for symbols in local group
2014-10-28 04:46:52 +00:00
Elliott Hughes
ac5df33e09 am 6c5694b6: Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)."
* commit '6c5694b6c8343d740c36adbe904442cecd8030a6':
  Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
2014-10-28 04:33:09 +00:00
Elliott Hughes
f96eaf6202 Merge "[x86,x86_64] Fix libgcc unwinding through signal" 2014-10-27 23:30:56 +00:00
Pavel Chupin
50321e2e66 [x86,x86_64] Fix libgcc unwinding through signal
This change provides __restore/__restore_rt on x86 and __restore_rt on
x86_64 with unwinding information to be able to unwind through signal
frame via libgcc provided unwinding interface. See comments inlined for
more details.

Also remove the test that had a dependency on
__attribute__((cleanup(foo_cleanup))). It doesn't provide us with any
better test coverage than we have from the newer tests, and it doesn't
work well across a variety architectures (presumably because no one uses
this attribute in the real world).

Tested this on host via bionic-unit-tests-run-on-host on both x86 and
x86-64.

Bug: 17436734
Change-Id: I2f06814e82c8faa732cb4f5648868dc0fd2e5fe4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-10-27 16:14:55 -07:00
Elliott Hughes
ec58e29b27 Merge "pthread_setname_np appears in glibc 2.12." 2014-10-27 20:01:36 +00:00
Elliott Hughes
ed29e858d0 pthread_setname_np appears in glibc 2.12.
And our emulator kernels are now new enough to not require a workaround.

Change-Id: Id56c983dbfd8abc69f72a78411a5502391941dfc
2014-10-27 12:01:51 -07:00
Elliott Hughes
021b6412f7 Merge "Fix the type of u_ar0 in <sys/user.h>." 2014-10-27 17:41:00 +00:00
Elliott Hughes
7f164f6052 Merge "POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK." 2014-10-27 17:38:33 +00:00
Dmitriy Ivanov
e23f564b52 Merge "Fix *tests-run-on-host target" 2014-10-26 05:47:53 +00:00
Dmitriy Ivanov
095636e6ad Fix *tests-run-on-host target
Change-Id: Id0e5060977a2df91c47b5a916989eb7e2e3f8153
2014-10-25 21:41:32 -07:00
Elliott Hughes
e03950fa0c Fix the type of u_ar0 in <sys/user.h>.
Change-Id: I9332dea60f7c60b45bc80026686c266bfa7a782c
2014-10-24 20:57:09 -07:00
Elliott Hughes
5b1111a694 POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK.
Found by unit test.

Change-Id: Iffbd2f04213616927fbd7b5419460031f7a078e9
2014-10-24 19:33:11 -07:00
Elliott Hughes
c716dd1e21 Merge "bionic tests: migrate test for mutex type from system/extras" 2014-10-25 02:03:19 +00:00
Derek Xue
4199695657 bionic tests: migrate test for mutex type from system/extras
Migrate the test about pthread mutex type in file
    system/extras/tests/bionic/libc/bionic/test_mutex.c
to the new place
    bionic/tests/pthread_test.cpp
in the gtest format.

Change-Id: I6aab10170ccad5b9a4892d52dba2403876c86659
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-10-24 18:54:42 -07:00
Dmitriy Ivanov
f56a2f5ed2 Merge "Remove unnecessary reinterpret_cast" 2014-10-24 22:05:36 +00:00
Dmitriy Ivanov
c9d1658397 Remove unnecessary reinterpret_cast
Change-Id: Id2ddf4e74bc66825206d1287f899d716537a68d0
2014-10-24 14:46:12 -07:00
Elliott Hughes
7f558f60cb am cf8ea37f: Merge "bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests"
* commit 'cf8ea37fc91e23d37b3c5873b5e152ccae293f03':
  bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests
2014-10-24 20:18:09 +00:00
Chih-Hung Hsieh
57c5a5562b Merge "Disable clang compilation due to lack of ifunc." 2014-10-24 18:34:40 +00:00
Elliott Hughes
c83837ec15 Merge "Make the netdb unit tests work on the host." 2014-10-24 18:30:37 +00:00
Chih-Hung Hsieh
b086298629 Disable clang compilation due to lack of ifunc.
BUG: 18055309
Change-Id: I0f36011cf7872a20ddd36a6c3c607eb96f0a8ec2
2014-10-24 11:04:51 -07:00
Elliott Hughes
1e8ebdc375 Make the netdb unit tests work on the host.
Bug: 18111005
Change-Id: I79c6929c3827716e19b44d7469db69740f4b449c
2014-10-24 10:45:08 -07:00
Elliott Hughes
7ad94518f3 am 04b75092: am aa6cd581: Use mxcr_mask instead of mxcsr_mask to match glibc.
* commit '04b7509228633cf9800ba9acc7354f72c22f629a':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-24 16:16:46 +00:00
Elliott Hughes
04b7509228 am aa6cd581: Use mxcr_mask instead of mxcsr_mask to match glibc.
* commit 'aa6cd5819c8ebd254d995388798a4b51af7ca933':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-24 16:11:49 +00:00
Elliott Hughes
cad8d226c3 Merge "Use mxcr_mask instead of mxcsr_mask to match glibc." 2014-10-24 15:40:44 +00:00
Elliott Hughes
96a6f40163 am e516321d: Merge "Update bionic to tzdata2014i."
* commit 'e516321d78162479a4ce17bd5a9ba8c0834abf18':
  Update bionic to tzdata2014i.
2014-10-24 13:01:54 +00:00
Christopher Ferris
274f5e737d am efd2ec8f: Merge "Fix race condition in timer disarm/delete."
* commit 'efd2ec8fbddb99a7a2d7da8e1024655fa08153ca':
  Fix race condition in timer disarm/delete.
2014-10-24 13:01:53 +00:00
Elliott Hughes
f485547b92 Use mxcr_mask instead of mxcsr_mask to match glibc.
Bug: 18097559
Change-Id: Iaca301d7d4c4902989d4699117f72b88d5c4bd78
2014-10-23 20:29:42 -07:00
Elliott Hughes
a4c0b75671 Merge "Add mkfifoat(3)." 2014-10-24 02:57:12 +00:00
Elliott Hughes
ca8e84c6ff Add mkfifoat(3).
Looks like I missed one of the *at functions when I added the rest.

Change-Id: If16de82dbf6f9a3ea7bfdcba406ca1c74a3f2279
2014-10-23 19:10:54 -07:00
Dmitriy Ivanov
f33a7d7f1c Merge "Fix mips build" 2014-10-23 22:53:24 +00:00
Dmitriy Ivanov
398eb5a7ee Merge "Remove unnecessary lookups during relocations" 2014-10-23 22:53:13 +00:00
Dmitriy Ivanov
90b74fb867 Fix mips build
Change-Id: Ia2dc2e07740bdbb91ee92bfea459230015fcc99b
2014-10-23 14:34:12 -07:00
Dmitriy Ivanov
e47b3f8456 Remove unnecessary lookups during relocations
local_group includes this library and its dependencies.

Change-Id: Ib02474b2355bb147de3889f60092cb2f312997ef
2014-10-23 14:19:07 -07:00
Dmitriy Ivanov
566f2bc623 Merge "Fix relocation to look for symbols in local group" 2014-10-23 20:49:00 +00:00
Dmitriy Ivanov
cfa97f172d Fix relocation to look for symbols in local group
The local group is a sequence of libraries in default (breadth-first)
  order. It allows RTLD_LOCALLY loaded library to correctly relocate
  symbols within its group (see test-cases).

  Local group lookup is performed after main executable and ld_preloads.

Bug: 2643900
Bug: 15432753
Change-Id: I9bb013b46d17dbb5cbdfb8fef26f552748385541
2014-10-23 12:13:54 -07:00
Elliott Hughes
6c5694b6c8 Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)." 2014-10-23 17:57:06 +00:00
Bill Yi
916c574c31 am f83739d1: am 4b8c96d6: Merge commit \'bc8745cc3dd94331d008d553a374e733df978963\' into HEAD
* commit 'f83739d1e20fc701b93ef55834b4932093438a9c':
2014-10-23 13:25:25 +00:00
Chih-Hung Hsieh
a6a6df53fe am fe5f6dda: am 098cf45f: Merge "Replace ambiguous cmp operator with cmpl."
* commit 'fe5f6ddadc0fd847609428ab4b30a4dfd29a2a1b':
  Replace ambiguous cmp operator with cmpl.
2014-10-23 13:25:24 +00:00
Dmitriy Ivanov
b8ce7c8a62 am d64474c1: am 54d76360: Merge "Rename library_offset to library_fd_offset"
* commit 'd64474c1bd51a15aa8268bda3183853d5a1de2ee':
  Rename library_offset to library_fd_offset
2014-10-23 13:25:23 +00:00
Bill Yi
f83739d1e2 am 4b8c96d6: Merge commit \'bc8745cc3dd94331d008d553a374e733df978963\' into HEAD
* commit '4b8c96d6cd8ead93bcc9acdf34a9e884951c7a7b':
  Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
  More cases where libc should use O_CLOEXEC.
  Hide ScopedTrace.
  Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
2014-10-23 13:04:55 +00:00
Derek Xue
ba811120ae Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
This change is to migrate the getaddrinfo tests defined in the old file
system/extras/tests/bionic/libc/common/test_getaddrinfo.c
to the new place bionic/tests/netdb_test.cpp.

The test here is more thorough, and catches a bug in getservbyname(3)
that was breaking getaddrinfo(3)'s ability to look up services by name
without a hint that would cause it to ask for a specific protocol.

Change-Id: Ief5ebd0869496d1bc6a97861dfefa04bdf24bab1
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-10-22 22:23:10 -07:00
Chih-Hung Hsieh
fe5f6ddadc am 098cf45f: Merge "Replace ambiguous cmp operator with cmpl."
* commit '098cf45f4e853f3c85c14af0e475bfae0839f027':
  Replace ambiguous cmp operator with cmpl.
2014-10-23 03:18:16 +00:00
Dmitriy Ivanov
d64474c1bd am 54d76360: Merge "Rename library_offset to library_fd_offset"
* commit '54d76360ebfb79b57177a81632901ebe1c8fc11f':
  Rename library_offset to library_fd_offset
2014-10-23 03:18:12 +00:00
Elliott Hughes
1effd4cfc6 am 60e3950f: am 8fab8119: Update bionic to tzdata2014i.
* commit '60e3950f4288631021d0034eb2a6bc139e5b9a51':
  Update bionic to tzdata2014i.
2014-10-23 00:03:19 +00:00
Elliott Hughes
60e3950f42 am 8fab8119: Update bionic to tzdata2014i.
* commit '8fab8119dd176a280b62e9e8f2b4f08c0d76f36d':
  Update bionic to tzdata2014i.
2014-10-22 23:58:46 +00:00
Elliott Hughes
cf8ea37fc9 Merge "bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests" 2014-10-22 21:30:40 +00:00
Derek Xue
4912fc7d15 bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests
this change migrate the gethostbyname test defined in the old file
system/extras/tests/bionic/libc/common/test_gethostbyname.c
to the new place bionic/tests/netdb_test.cpp

Change-Id: I342171090f681581fb54d68ea4a09adf61f52081
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-10-22 14:30:01 -07:00
Elliott Hughes
e516321d78 Merge "Update bionic to tzdata2014i." 2014-10-22 20:41:44 +00:00
Christopher Ferris
efd2ec8fbd Merge "Fix race condition in timer disarm/delete." 2014-10-22 20:33:06 +00:00
Christopher Ferris
dcd6ebd86b am d8510e17: am 82eeec68: Merge "Fix generic __memcpy_chk implementation." into lmp-mr1-dev
* commit 'd8510e174f63a655f571e72828b7e9c9e82f53e6':
  Fix generic __memcpy_chk implementation.
2014-10-22 20:31:10 +00:00
Christopher Ferris
d8510e174f am 82eeec68: Merge "Fix generic __memcpy_chk implementation." into lmp-mr1-dev
* commit '82eeec689f66e481928b6788f0a696a5a61f02a3':
  Fix generic __memcpy_chk implementation.
2014-10-22 20:26:27 +00:00
Christopher Ferris
62d84b1935 Fix race condition in timer disarm/delete.
When setting a repeat timer using the SIGEV_THREAD mechanism, it's possible
that the callback can be called after the timer is disarmed or deleted.
This happens because the kernel can generate signals that the timer thread
will continue to handle even after the timer is supposed to be off.

Add two new tests to verify that disarming/deleting doesn't continue to
call the callback.

Modify the repeat test to finish more quickly than before.

Refactor the Counter implementation a bit.

Bug: 18039727

(cherry pick from commit 0724132c32)

Change-Id: I135726ea4038a47920a6c511708813b1a9996c42
2014-10-22 13:20:39 -07:00
Christopher Ferris
b378abc0ab am 700f1ce9: resolved conflicts for merge of 9b7b0d82 to lmp-mr1-dev-plus-aosp
* commit '700f1ce94b2d092bdd325f6f1fb62a85ee3de262':
  Fix race condition in timer disarm/delete.
2014-10-22 20:08:30 +00:00
Christopher Ferris
700f1ce94b resolved conflicts for merge of 9b7b0d82 to lmp-mr1-dev-plus-aosp
Change-Id: I706dc7e1a13e55316cbc44c025877d42c6731f97
2014-10-22 13:02:58 -07:00
Elliott Hughes
a05c2a2a70 Update bionic to tzdata2014i.
From the release notes:

   Changes affecting future time stamps

     Pacific/Fiji will observe DST from 2014-11-02 02:00 to
     2015-01-18 03:00.  (Thanks to Ken Rylander for the heads-up.)
     Guess that future years will use a similar pattern.

     A new Zone Pacific/Bougainville, for the part of Papua New
     Guinea that plans to switch from UTC+10 to UTC+11 on
     2014-12-28 at 02:00.  (Thanks to Kiley Walbom for the
     heads-up.)

   Changes affecting time zone abbreviations

     Since Belarus is not changing its clocks even though Moscow
     is, the time zone abbreviation in Europe/Minsk is changing
     from FET to its more-traditional value MSK on 2014-10-26 at
     01:00.  (Thanks to Alexander Bokovoy for the heads-up about
     Belarus.)

     The new abbreviation IDT stands for the pre-1976 use of UT+8
     in Indochina, to distinguish it better from ICT (UT+7).

   Changes affecting past time stamps

     Many time stamps have been corrected for Asia/Ho_Chi_Minh
     before 1976 (thanks to Trần Ngọc Quân for an indirect pointer
     to Trần Tiến Bình's authoritative book).  Asia/Ho_Chi_Minh has
     been added to zone1970.tab, to give tzselect users in Vietnam
     two choices, since north and south Vietnam disagreed after our
     1970 cutoff.

     Asia/Phnom_Penh and Asia/Vientiane have been turned into
     links, as they differed from existing zones only for older
     time stamps.  As usual, these changes affect pre-1970 time
     stamps only.  Their old contents have been moved to the
     'backzone' file.

Bug: 18085936
Change-Id: I89c065b4788b10ed7530cc4e8cfbc1b65c05c1b7
2014-10-22 12:31:02 -07:00
Dmitriy Ivanov
1533debe38 am 61fa2a55: am 702ab5b3: Rename library_offset to library_fd_offset
* commit '61fa2a55ace75e418b39106710d0113ca1ead771':
  Rename library_offset to library_fd_offset
2014-10-22 18:20:19 +00:00
Dmitriy Ivanov
7dbf52c9df am fa08f998: resolved conflicts for merge of de01780f to lmp-mr1-dev-plus-aosp
* commit 'fa08f9986bdf5e939986579c4a4ed47d7b853fac':
  Build dlext_testzip as custom module.
  Add file_offset parameter to android_extinfo
2014-10-22 18:20:18 +00:00
Dmitriy Ivanov
61fa2a55ac am 702ab5b3: Rename library_offset to library_fd_offset
* commit '702ab5b37e77684ee352300d32b078606ee388d0':
  Rename library_offset to library_fd_offset
2014-10-22 17:15:34 +00:00
Dmitriy Ivanov
fa08f9986b resolved conflicts for merge of de01780f to lmp-mr1-dev-plus-aosp
Change-Id: Ibed1ba1f52da7222f534011866515cfce790061f
2014-10-22 10:13:08 -07:00
Bill Yi
4b8c96d6cd Merge commit 'bc8745cc3dd94331d008d553a374e733df978963' into HEAD 2014-10-22 08:45:57 -07:00
Dan Albert
5ffe3971e5 am f2aacebf: am ad136624: Merge "Never use ASAN."
* commit 'f2aacebf551da2b8d828f0618c84ac544e1398fb':
  Never use ASAN.
2014-10-22 13:18:33 +00:00
Chih-Hung Hsieh
098cf45f4e Merge "Replace ambiguous cmp operator with cmpl." 2014-10-22 00:55:14 +00:00
Chih-Hung Hsieh
c89ee272fb Replace ambiguous cmp operator with cmpl.
Clang assembler rejects ambiguous cmp instruction.

BUG: 17302482
Change-Id: Ie8dca7e4f46e0906c47076bba21c1941482ba6b3
2014-10-21 16:25:35 -07:00
Dan Albert
f2aacebf55 am ad136624: Merge "Never use ASAN."
* commit 'ad136624b2bed5b6971cd7ba372969b1b352c223':
  Never use ASAN.
2014-10-21 21:33:59 +00:00
Dmitriy Ivanov
54d76360eb Merge "Rename library_offset to library_fd_offset" 2014-10-21 21:06:18 +00:00
Dmitriy Ivanov
a6c1279098 Rename library_offset to library_fd_offset
replace lseek() and use pread() instead
 add test for library_fd_offset > file_size case

Bug: 17762003
Change-Id: I4555f0be635124efe849c1f226985bcba72ffcbd
2014-10-21 13:51:08 -07:00
Dan Albert
ad136624b2 Merge "Never use ASAN." 2014-10-21 18:28:19 +00:00
Dan Albert
5ba672ebcb Never use ASAN.
Unless we completely redo how we build bionic (so that the object
files for libc.so get built separately from libc.a), we can't enable
ASAN here, as libc.a gets linked into static executables.

Change-Id: I2ce4f51248bd51c4213a555ff481b6faabbf53f8
2014-10-21 11:22:26 -07:00
Hans Boehm
e3d979d45d am 361282af: am c712ceee: Make memory_order_acquire visible in global namespace
* commit '361282afd81e6259fa8a62ab46b83da8b50249fe':
  Make memory_order_acquire visible in global namespace
2014-10-20 23:41:37 +00:00
Hans Boehm
361282afd8 am c712ceee: Make memory_order_acquire visible in global namespace
* commit 'c712ceeec4c15da8488c5ce143fcc6b0a02d74f3':
  Make memory_order_acquire visible in global namespace
2014-10-20 23:36:11 +00:00
Christopher Ferris
c8643850d7 am 941ee802: am 8f41d3d3: Merge "Fix generic __memcpy_chk implementation."
* commit '941ee80292cfdbf95a30da82f7be2e662d1f269e':
  Fix generic __memcpy_chk implementation.
2014-10-20 18:44:47 +00:00
Christopher Ferris
941ee80292 am 8f41d3d3: Merge "Fix generic __memcpy_chk implementation."
* commit '8f41d3d3bc7cf2375e5dd9202da619fd67a5928f':
  Fix generic __memcpy_chk implementation.
2014-10-20 18:38:43 +00:00
Christopher Ferris
bc8745cc3d am 8f41d3d3: Merge "Fix generic __memcpy_chk implementation."
* commit '8f41d3d3bc7cf2375e5dd9202da619fd67a5928f':
  Fix generic __memcpy_chk implementation.
2014-10-20 18:38:27 +00:00
Christopher Ferris
8f41d3d3bc Merge "Fix generic __memcpy_chk implementation." 2014-10-20 18:21:22 +00:00
Chih-Hung Hsieh
2860a41dd0 am 2c87eba8: am 9a740482: Merge "Add -no-integrated-as at local level."
* commit '2c87eba8693c1c7cd03e9b90f686a1415fb2d9c0':
  Add -no-integrated-as at local level.
2014-10-20 17:04:30 +00:00
Chih-Hung Hsieh
042319b908 am 9a740482: Merge "Add -no-integrated-as at local level."
* commit '9a7404824b3dfaad6ba14a41aab5f14132392a92':
  Add -no-integrated-as at local level.
2014-10-20 17:02:32 +00:00
Chih-Hung Hsieh
2c87eba869 am 9a740482: Merge "Add -no-integrated-as at local level."
* commit '9a7404824b3dfaad6ba14a41aab5f14132392a92':
  Add -no-integrated-as at local level.
2014-10-20 17:01:48 +00:00
Chih-Hung Hsieh
9a7404824b Merge "Add -no-integrated-as at local level." 2014-10-20 16:51:06 +00:00
Chih-Hung Hsieh
a371750681 Add -no-integrated-as at local level.
Later we will enable integrated-as as default at the global level.

BUG: 17820427
BUG: 17302991
Change-Id: I233204ca04d7222b2cb1fbd0fa48a482f8b63f6f
2014-10-20 09:09:25 -07:00
Christopher Ferris
7123d4371a Fix generic __memcpy_chk implementation.
- Clean up the labels (add .L to make them local).
- Change to using cfi directives.
- Fix unwinding of the __memcpy_chk fail path.

Bug: 18033671
Change-Id: I12845f10c7ce5e6699c15c558bda64c83f6a392a
2014-10-17 14:44:36 -07:00
Dmitriy Ivanov
a90660f7d0 am 68c41a89: am dec4de45: Merge "Correct way to specify additional dependencies"
* commit '68c41a890dc2d0d95fc1569ffb2e4bcecd603432':
  Correct way to specify additional dependencies
2014-10-17 21:28:44 +00:00
Dmitriy Ivanov
68c41a890d am dec4de45: Merge "Correct way to specify additional dependencies"
* commit 'dec4de456c046881fb1e8c7c7d0c27a11ef09eb7':
  Correct way to specify additional dependencies
2014-10-17 20:34:39 +00:00
Dmitriy Ivanov
d8c3171172 am dec4de45: Merge "Correct way to specify additional dependencies"
* commit 'dec4de456c046881fb1e8c7c7d0c27a11ef09eb7':
  Correct way to specify additional dependencies
2014-10-17 20:33:55 +00:00
Dmitriy Ivanov
dec4de456c Merge "Correct way to specify additional dependencies" 2014-10-17 20:19:18 +00:00
Dmitriy Ivanov
4a9e1937c5 Correct way to specify additional dependencies
Previous one was not covering all the targets

Bug: 17548097
Change-Id: I425e0f8d6e5a43feabd29dcb327049b82754d249
2014-10-17 11:47:18 -07:00
Dmitriy Ivanov
b312428b5e am d7407db0: am 5281e1fb: Merge "Fix misleading comment."
* commit 'd7407db08f528a5c0ccc96314eeced3e46a34f9d':
  Fix misleading comment.
2014-10-16 18:08:45 +00:00
Dmitriy Ivanov
d7407db08f am 5281e1fb: Merge "Fix misleading comment."
* commit '5281e1fb15632c8dc714d10abc6cd1a22a061782':
  Fix misleading comment.
2014-10-16 18:03:07 +00:00
Dmitriy Ivanov
d932c36385 am 5281e1fb: Merge "Fix misleading comment."
* commit '5281e1fb15632c8dc714d10abc6cd1a22a061782':
  Fix misleading comment.
2014-10-16 18:02:17 +00:00
Dmitriy Ivanov
5281e1fb15 Merge "Fix misleading comment." 2014-10-16 17:54:02 +00:00
Dan Albert
4066336a25 am 34de37e5: am 90aa7e37: Merge "Only use <atomic> for C++11 and newer."
* commit '34de37e553d83fb4522c1458bf82d8e8aee4c2bb':
  Only use <atomic> for C++11 and newer.
2014-10-16 16:32:21 +00:00
Dan Albert
96def860ae am 90aa7e37: Merge "Only use <atomic> for C++11 and newer."
* commit '90aa7e374f9000577cde64c4fb88c5dab8dac62e':
  Only use <atomic> for C++11 and newer.
2014-10-16 16:27:37 +00:00
Dan Albert
34de37e553 am 90aa7e37: Merge "Only use <atomic> for C++11 and newer."
* commit '90aa7e374f9000577cde64c4fb88c5dab8dac62e':
  Only use <atomic> for C++11 and newer.
2014-10-16 16:27:27 +00:00
Dan Albert
90aa7e374f Merge "Only use <atomic> for C++11 and newer." 2014-10-16 16:19:44 +00:00
Dan Albert
cec6fd91cd am 574284db: am 8bb12127: Merge "Don\'t use an STL for libm."
* commit '574284dbf27a58cb4c4be97a0a8a09f56fe65f52':
  Don't use an STL for libm.
2014-10-16 16:10:05 +00:00
Dan Albert
574284dbf2 am 8bb12127: Merge "Don\'t use an STL for libm."
* commit '8bb12127e62c1fc4d9dc99ce9272008023c7c08e':
  Don't use an STL for libm.
2014-10-16 16:06:10 +00:00
Dan Albert
c2d70c0f34 am 8bb12127: Merge "Don\'t use an STL for libm."
* commit '8bb12127e62c1fc4d9dc99ce9272008023c7c08e':
  Don't use an STL for libm.
2014-10-16 16:05:31 +00:00
Dan Albert
8bb12127e6 Merge "Don't use an STL for libm." 2014-10-16 15:56:32 +00:00
Dan Albert
3ce0769aa5 Only use <atomic> for C++11 and newer.
Any pre-C++11 clients of stdatomic.h that use libc++ are being forced
over to <atomic>, which they don't have the language support to use.

Change-Id: I62445c1f2541410a1569498c09433c7196635537
2014-10-16 07:52:51 -07:00
Dan Albert
e91d9cd4ad Don't use an STL for libm.
The default is none right now, but this will be needed when the
default becomes libc++.

Change-Id: Ib022adac2b9dc08fbfae830908128043cfffb91e
2014-10-16 07:44:47 -07:00
Dmitriy Ivanov
b2d11387c4 am ab3f96cb: am f5e02582: Merge "Ignore DT_BIND_NOW (0x18)"
* commit 'ab3f96cb20084cf5a9aa299a508be8c462dc9308':
  Ignore DT_BIND_NOW (0x18)
2014-10-16 00:07:20 +00:00
Dmitriy Ivanov
ab3f96cb20 am f5e02582: Merge "Ignore DT_BIND_NOW (0x18)"
* commit 'f5e0258268b45faa4d84de34047660061720abc7':
  Ignore DT_BIND_NOW (0x18)
2014-10-15 23:57:28 +00:00
Dmitriy Ivanov
bb5f4eebc0 am f5e02582: Merge "Ignore DT_BIND_NOW (0x18)"
* commit 'f5e0258268b45faa4d84de34047660061720abc7':
  Ignore DT_BIND_NOW (0x18)
2014-10-15 23:57:28 +00:00
Dmitriy Ivanov
f5e0258268 Merge "Ignore DT_BIND_NOW (0x18)" 2014-10-15 23:46:26 +00:00
Dmitriy Ivanov
ea6eae182a Ignore DT_BIND_NOW (0x18)
Bug: 17552334
Change-Id: Ibe93fd3d6580f369f9a6ef8d235bf0df00fe7607
2014-10-15 22:57:14 +00:00
Robert Grosse
4544d9f9bf Fix misleading comment.
Change-Id: I9e2aa6c2ba938c8f8d7c74eba32d313c866c77b2
2014-10-15 14:32:19 -07:00
Dan Albert
2ed2148d58 am 21df7992: am 71cbcdcf: Merge "We don\'t actually need all of libc++ here."
* commit '21df799218eb39dd66ccdf92045a885fff5eb14e':
  We don't actually need all of libc++ here.
2014-10-15 20:16:18 +00:00
Dan Albert
21df799218 am 71cbcdcf: Merge "We don\'t actually need all of libc++ here."
* commit '71cbcdcf947835076241b9dd72099f28997eb290':
  We don't actually need all of libc++ here.
2014-10-15 20:10:08 +00:00
Dan Albert
8d87796d19 am 71cbcdcf: Merge "We don\'t actually need all of libc++ here."
* commit '71cbcdcf947835076241b9dd72099f28997eb290':
  We don't actually need all of libc++ here.
2014-10-15 20:10:06 +00:00
Dan Albert
71cbcdcf94 Merge "We don't actually need all of libc++ here." 2014-10-15 19:59:09 +00:00
Dan Albert
a7c2e0bad6 We don't actually need all of libc++ here.
All we're actually interested in is the unwinder. Since that's now a
separate library, just use that.

Change-Id: If86071a0d850da961336a58147b70369ace7bd12
2014-10-14 14:19:34 -07:00
Elliott Hughes
1201b719ed am a7995f31: am 97df16ba: Merge "Add clock_settime and clock_nanosleep."
* commit 'a7995f31e2e584e4df8cbdb543e7e0c6535506cf':
  Add clock_settime and clock_nanosleep.
2014-10-14 03:58:49 +00:00
Elliott Hughes
2476691632 am 97df16ba: Merge "Add clock_settime and clock_nanosleep."
* commit '97df16ba5c2911e06d1211781a5724706abd227b':
  Add clock_settime and clock_nanosleep.
2014-10-14 03:26:03 +00:00
Elliott Hughes
a7995f31e2 am 97df16ba: Merge "Add clock_settime and clock_nanosleep."
* commit '97df16ba5c2911e06d1211781a5724706abd227b':
  Add clock_settime and clock_nanosleep.
2014-10-14 03:25:51 +00:00
Elliott Hughes
97df16ba5c Merge "Add clock_settime and clock_nanosleep." 2014-10-14 03:07:43 +00:00
Haruki Hasegawa
1816025684 Add clock_settime and clock_nanosleep.
Add the missing prototypes, fix the existing prototypes to use clockid_t
rather than int, fix clock_nanosleep's failure behavior, and add simple
tests.

Bug: 17644443
Bug: https://code.google.com/p/android/issues/detail?id=77372
Change-Id: I03fba369939403918abcabae9551a7123953d780
Signed-off-by: Haruki Hasegawa <h6a.h4i.0@gmail.com>
2014-10-13 17:04:10 -07:00
Dmitriy Ivanov
261fb20671 am a9223e74: am c2297050: Merge "Add glibc alias for NT_PRFPREG"
* commit 'a9223e74d0ca22587e6a5535c9c2b1c8c044a0bb':
  Add glibc alias for NT_PRFPREG
2014-10-13 22:25:15 +00:00
Christopher Ferris
526c1221e1 am f7c3db67: am 083769a3: Merge "Return total footprint, not high water mark."
* commit 'f7c3db67a172a103ce9fa85733738c20770e551a':
  Return total footprint, not high water mark.
2014-10-13 22:25:13 +00:00
Dan Albert
cc530083c0 am a6ef2e28: am 94571f9a: Merge "Use LOCAL_CXX_STL to select libc++_static."
* commit 'a6ef2e2819bb930b212a492b4f2245d10fd4fc8f':
  Use LOCAL_CXX_STL to select libc++_static.
2014-10-13 22:25:13 +00:00
Dmitriy Ivanov
a9223e74d0 am c2297050: Merge "Add glibc alias for NT_PRFPREG"
* commit 'c229705051c8b6a06ad81c221ca74ef9aa743e13':
  Add glibc alias for NT_PRFPREG
2014-10-13 22:19:46 +00:00
Christopher Ferris
f7c3db67a1 am 083769a3: Merge "Return total footprint, not high water mark."
* commit '083769a3dffabfb968a03a700b9f2fd7838bcf75':
  Return total footprint, not high water mark.
2014-10-13 22:15:58 +00:00
Dan Albert
a6ef2e2819 am 94571f9a: Merge "Use LOCAL_CXX_STL to select libc++_static."
* commit '94571f9ade03cfe24bff1bddc4d6c1a320b39b8e':
  Use LOCAL_CXX_STL to select libc++_static.
2014-10-13 22:15:54 +00:00
Dmitriy Ivanov
951e582c68 am c2297050: Merge "Add glibc alias for NT_PRFPREG"
* commit 'c229705051c8b6a06ad81c221ca74ef9aa743e13':
  Add glibc alias for NT_PRFPREG
2014-10-13 22:15:39 +00:00
Christopher Ferris
737b6581c2 am 083769a3: Merge "Return total footprint, not high water mark."
* commit '083769a3dffabfb968a03a700b9f2fd7838bcf75':
  Return total footprint, not high water mark.
2014-10-13 22:10:03 +00:00
Dan Albert
c01a38622a am 94571f9a: Merge "Use LOCAL_CXX_STL to select libc++_static."
* commit '94571f9ade03cfe24bff1bddc4d6c1a320b39b8e':
  Use LOCAL_CXX_STL to select libc++_static.
2014-10-13 22:10:00 +00:00
Dmitriy Ivanov
c229705051 Merge "Add glibc alias for NT_PRFPREG" 2014-10-13 22:08:52 +00:00
Dmitriy Ivanov
a6bee4df4c Add glibc alias for NT_PRFPREG
Also fix comment style for DF_1_ constants

Change-Id: I7c3ed1d834f0a2b85ee8cc8016c79020955084f8
2014-10-13 15:03:27 -07:00
Christopher Ferris
083769a3df Merge "Return total footprint, not high water mark." 2014-10-13 19:48:35 +00:00
Christopher Ferris
3928d3e2d6 am 93e474ef: am 59a02860: Merge "Return total footprint, not high water mark." into lmp-mr1-dev
* commit '93e474ef5485c0628c358351d3cc6e4938294beb':
  Return total footprint, not high water mark.
2014-10-13 19:46:50 +00:00
Christopher Ferris
fee09e556f Return total footprint, not high water mark.
The mallinfo usmblks value returned by dlmalloc is a little misleading.
It's not the current max, it's the historical high water mark. This
leads to dumpsys meminfo producing native memory numbers that don't add up.
Change this to the real total footprint, not this high water mark.

Bug: 17265653

(cherry pick from commit f4ada9c9ce)

Change-Id: I2fba10285859dccfe8331063c9be14cc169f2d91
2014-10-13 12:45:35 -07:00
Christopher Ferris
93e474ef54 am 59a02860: Merge "Return total footprint, not high water mark." into lmp-mr1-dev
* commit '59a02860a455af68d501ee847889620343dcfb0d':
  Return total footprint, not high water mark.
2014-10-13 19:44:19 +00:00
Dan Albert
94571f9ade Merge "Use LOCAL_CXX_STL to select libc++_static." 2014-10-13 19:09:00 +00:00
Dan Albert
90a29db0f4 Use LOCAL_CXX_STL to select libc++_static.
Directly adding the library to LOCAL_STATIC_LIBRARIES thwarts a few
build system checks.

Change-Id: Ib23c43badfa85de21c691f79ccdcc2cbe2a89b33
2014-10-13 11:20:29 -07:00
Dan Albert
3563a46aed am 7bdab15e: am 4c086247: Merge "Fix some formatting so GitHub displays it nicely."
* commit '7bdab15e7b3d67dd97b94097c8974b4b85bed7e9':
  Fix some formatting so GitHub displays it nicely.
2014-10-11 01:04:07 +00:00
Dan Albert
7bdab15e7b am 4c086247: Merge "Fix some formatting so GitHub displays it nicely."
* commit '4c0862474e63b09c901d11de47a318ce73a0c686':
  Fix some formatting so GitHub displays it nicely.
2014-10-11 00:58:12 +00:00
Dan Albert
04e0d0ee7e am 4c086247: Merge "Fix some formatting so GitHub displays it nicely."
* commit '4c0862474e63b09c901d11de47a318ce73a0c686':
  Fix some formatting so GitHub displays it nicely.
2014-10-11 00:57:31 +00:00
Dan Albert
4c0862474e Merge "Fix some formatting so GitHub displays it nicely." 2014-10-11 00:48:33 +00:00
Dan Albert
472cce5c98 Fix some formatting so GitHub displays it nicely.
Change-Id: Id6ce9a61bebd98544c85e5780147715c73d0e78b
2014-10-10 17:14:37 -07:00
Dan Albert
6d5c6e7fa0 am 3a05a8b1: am 8c3901b2: Merge "Improve documentation for testing and coverage."
* commit '3a05a8b150a1bae663831a5cee54b5c0c1130303':
  Improve documentation for testing and coverage.
2014-10-10 23:07:31 +00:00
Dan Albert
3a05a8b150 am 8c3901b2: Merge "Improve documentation for testing and coverage."
* commit '8c3901b2999e6821b8ee984193352ba45b003492':
  Improve documentation for testing and coverage.
2014-10-10 23:02:57 +00:00
Christopher Ferris
2bb7009436 am 50f76f37: am e0fafb01: am c891e240: Add back symbols to fix Greed for Glory franchise.
* commit '50f76f375b67756f0c31afcc83ed9a98e1810b24':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 22:08:04 +00:00
Elliott Hughes
48a9101986 am 9a6d0fa1: am 2f25cf37: Fix pthread_attr_getstack under valgrind.
* commit '9a6d0fa1c18bf66611c46942edf2a3e8a6acda8a':
  Fix pthread_attr_getstack under valgrind.
2014-10-10 22:07:56 +00:00
Elliott Hughes
0433575035 am 227faaed: am 2698f9ef: Merge "Catch up on upstream\'s round/roundf/roundl."
* commit '227faaedd575561b2a598de6d9d614420b0894b7':
  Catch up on upstream's round/roundf/roundl.
2014-10-10 22:07:54 +00:00
Christopher Ferris
50f76f375b am e0fafb01: am c891e240: Add back symbols to fix Greed for Glory franchise.
* commit 'e0fafb019e33374fae3fa5dc3473e921566b5991':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 21:02:28 +00:00
Dan Albert
64d5450947 am 8c3901b2: Merge "Improve documentation for testing and coverage."
* commit '8c3901b2999e6821b8ee984193352ba45b003492':
  Improve documentation for testing and coverage.
2014-10-10 19:05:03 +00:00
Dan Albert
8c3901b299 Merge "Improve documentation for testing and coverage." 2014-10-10 18:59:03 +00:00
Dan Albert
efee1ce46a Improve documentation for testing and coverage.
Also rename HACKING.txt to README.md so it will display on the GitHub
mirror.

Change-Id: I70157a4ad262700212bf9afd87253d195c7013a9
2014-10-10 11:45:19 -07:00
Elliott Hughes
9a6d0fa1c1 am 2f25cf37: Fix pthread_attr_getstack under valgrind.
* commit '2f25cf373ca7c875956a7c06483b30d381296817':
  Fix pthread_attr_getstack under valgrind.
2014-10-10 18:44:54 +00:00
Christopher Ferris
c952c8cf84 am 2df4673e: resolved conflicts for merge of 7f4618cb to lmp-mr1-dev-plus-aosp
* commit '2df4673edd837e06fb8ae8ec7dd3fdb7a779cfc8':
  Re-add dlmalloc for 32 bit.
2014-10-10 18:42:29 +00:00
Elliott Hughes
227faaedd5 am 2698f9ef: Merge "Catch up on upstream\'s round/roundf/roundl."
* commit '2698f9ef8412011295702cd6df4b66e01cf6c220':
  Catch up on upstream's round/roundf/roundl.
2014-10-10 17:41:11 +00:00
Elliott Hughes
b503f51080 am 2698f9ef: Merge "Catch up on upstream\'s round/roundf/roundl."
* commit '2698f9ef8412011295702cd6df4b66e01cf6c220':
  Catch up on upstream's round/roundf/roundl.
2014-10-10 17:39:00 +00:00
Elliott Hughes
2698f9ef84 Merge "Catch up on upstream's round/roundf/roundl." 2014-10-10 17:29:52 +00:00
Elliott Hughes
14538ca75e Catch up on upstream's round/roundf/roundl.
Not sure how we missed these, but better late than never...

Change-Id: Ib08d1bb6e340a1907cbeb1cbe220e33f70642bdc
2014-10-10 10:21:43 -07:00
Christopher Ferris
2df4673edd resolved conflicts for merge of 7f4618cb to lmp-mr1-dev-plus-aosp
Change-Id: I9b65f8287a4f155f26ae7e217e9553a3aaf22240
2014-10-10 10:05:38 -07:00
Christopher Ferris
8f055f7f54 am c891e240: Add back symbols to fix Greed for Glory franchise.
* commit 'c891e24073830e07ba7373dee554ff2c70e1d313':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 14:35:22 +00:00
Christopher Ferris
1713191651 am b767f632: am 62a665a6: Merge "Add back symbols to fix Greed for Glory franchise."
* commit 'b767f632f34c8efa73d9489fd0d4509bcbb8db71':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 06:43:22 +00:00
Christopher Ferris
b767f632f3 am 62a665a6: Merge "Add back symbols to fix Greed for Glory franchise."
* commit '62a665a605df64a6ea5ac680bb564ad7a5f03711':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 06:38:35 +00:00
Christopher Ferris
472c21b437 am 62a665a6: Merge "Add back symbols to fix Greed for Glory franchise."
* commit '62a665a605df64a6ea5ac680bb564ad7a5f03711':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 06:38:26 +00:00
Christopher Ferris
62a665a605 Merge "Add back symbols to fix Greed for Glory franchise." 2014-10-10 05:25:26 +00:00
Christopher Ferris
78ba823033 Add back symbols to fix Greed for Glory franchise.
Bug: 17813018

(cherry picked from commit c891e24073)

Change-Id: I4e891c2dbad9ea00d2377c5175317d9ae3840153
2014-10-09 22:23:50 -07:00
Elliott Hughes
2e7b1ba806 am 404f2a0a: am 8dd3b65f: Merge "Sync libm with upstream."
* commit '404f2a0a224d73a8d9c5d4f1d37d9d1a3ae5ea8d':
  Sync libm with upstream.
2014-10-10 02:14:00 +00:00
Elliott Hughes
dc4dc99268 am 8dd3b65f: Merge "Sync libm with upstream."
* commit '8dd3b65f2dd63df1baa83285f607cf110f21c27c':
  Sync libm with upstream.
2014-10-10 01:59:21 +00:00
Elliott Hughes
404f2a0a22 am 8dd3b65f: Merge "Sync libm with upstream."
* commit '8dd3b65f2dd63df1baa83285f607cf110f21c27c':
  Sync libm with upstream.
2014-10-10 01:57:56 +00:00
Elliott Hughes
8dd3b65f2d Merge "Sync libm with upstream." 2014-10-10 01:26:18 +00:00
Elliott Hughes
488268b134 Sync libm with upstream.
Change-Id: I3b4e2c9c6ce6c5934f270a51ce5eb9154c5805d5
2014-10-09 16:20:37 -07:00
Elliott Hughes
d8907d9043 am b20a5c8d: am e9c216fc: Merge "Fix pthread_attr_getstack under valgrind."
* commit 'b20a5c8df897b319351a596a97c095d79d9cacca':
  Fix pthread_attr_getstack under valgrind.
2014-10-09 22:15:04 +00:00
Elliott Hughes
b20a5c8df8 am e9c216fc: Merge "Fix pthread_attr_getstack under valgrind."
* commit 'e9c216fca56e84b0d0a96f7d5e3c99d3276ef071':
  Fix pthread_attr_getstack under valgrind.
2014-10-09 22:11:00 +00:00
Elliott Hughes
a852bb56e8 am e9c216fc: Merge "Fix pthread_attr_getstack under valgrind."
* commit 'e9c216fca56e84b0d0a96f7d5e3c99d3276ef071':
  Fix pthread_attr_getstack under valgrind.
2014-10-09 22:10:37 +00:00
Elliott Hughes
e9c216fca5 Merge "Fix pthread_attr_getstack under valgrind." 2014-10-09 21:17:41 +00:00
Elliott Hughes
9afb2f2106 Fix pthread_attr_getstack under valgrind.
valgrind seems to mess with the stack enough that the kernel will
report "[stack:pid]" rather than "[stack]" in /proc/self/maps, so
switch to the task-specific file instead to force "[stack]". (There
are two conditions in the kernel code that decides which form to
output.)

Bug: 17897476
Change-Id: Iff85ceb6d52e8716251fab4e45d95a27184c5529
2014-10-09 14:01:47 -07:00
Christopher Ferris
42e0817b45 resolved conflicts for merge of c9734d24 to lmp-dev-plus-aosp
Change-Id: I2ced64fed071f126725a8cdbd12d7c1f45ab7947
2014-10-09 12:12:49 -07:00
Christopher Ferris
fcbd52ceb0 am 9d192aa0: am d0944d9e: Merge "Re-add dlmalloc for 32 bit."
* commit '9d192aa08e6dad091f5fa0aeb6cb0541eaca96a5':
  Re-add dlmalloc for 32 bit.
2014-10-09 19:05:10 +00:00
Christopher Ferris
95296d4129 am d0944d9e: Merge "Re-add dlmalloc for 32 bit."
* commit 'd0944d9ed38be0d74c3d8876f0f36b9ddc0ce38c':
  Re-add dlmalloc for 32 bit.
2014-10-09 18:59:43 +00:00
Christopher Ferris
9d192aa08e am d0944d9e: Merge "Re-add dlmalloc for 32 bit."
* commit 'd0944d9ed38be0d74c3d8876f0f36b9ddc0ce38c':
  Re-add dlmalloc for 32 bit.
2014-10-09 18:59:39 +00:00
Christopher Ferris
d0944d9ed3 Merge "Re-add dlmalloc for 32 bit." 2014-10-09 18:50:32 +00:00
Christopher Ferris
f183f95946 Re-add dlmalloc for 32 bit.
It turns out that appportable has a version that calls dlmalloc directly.
Re-add the dlmalloc symbol for 32 bit only as a compatibility shim that
calls malloc.

Bug: 17881362

(cherry pick commit from c9734d24d9)

Change-Id: Iee9a777f66a1edb407d7563a60792b767ac4f83a
2014-10-09 11:47:01 -07:00
Dan Albert
df511204f5 am 653f30b1: am 8a7f8387: Merge "Use snprintf(3) instead of sprintf(3)."
* commit '653f30b15a9bff8567a4f2fa1ff444dba00281ab':
  Use snprintf(3) instead of sprintf(3).
2014-10-09 12:44:54 +00:00
Dan Albert
c18259333b am 8b3b4fa0: am 72d72d91: Merge "Replace uses of sprintf(3) with snprintf(3)."
* commit '8b3b4fa0ae9e08e64f508e4745ff46c492d84497':
  Replace uses of sprintf(3) with snprintf(3).
2014-10-09 12:44:43 +00:00
Ying Wang
94dfa99c15 am 75fd0e76: am 0c0e728b: Merge "Build dlext_testzip as custom module."
* commit '75fd0e76f81c22d9af689695dc17ef98ad44e384':
  Build dlext_testzip as custom module.
2014-10-09 12:44:42 +00:00
Dmitriy Ivanov
118de39fd6 am c4210cea: am ac3c94d0: Merge "Fix mma build: \'cd bionic && mma\' case"
* commit 'c4210cea45e160162d571992c483faa16d1e0bb6':
  Fix mma build: 'cd bionic && mma' case
2014-10-09 12:44:34 +00:00
Elliott Hughes
913d393b10 am 301c452e: am 0511534d: Merge "Don\'t silently return EINVAL for a NULL sem_t*."
* commit '301c452e5562f9ea286286a1cdb44e73ea390e5c':
  Don't silently return EINVAL for a NULL sem_t*.
2014-10-09 12:44:33 +00:00
Elliott Hughes
fad6661ad9 am 46b99841: am bfeef2d3: Merge "Use ln(1) rather than cp(1) to set up host /system for testing."
* commit '46b998415561aadb8b47c61b7892e85a81b13de5':
  Use ln(1) rather than cp(1) to set up host /system for testing.
2014-10-09 12:44:32 +00:00
Dan Albert
b9122b73bf am 8a7f8387: Merge "Use snprintf(3) instead of sprintf(3)."
* commit '8a7f8387b3b95de2ee0c42e34a226a1fcc066896':
  Use snprintf(3) instead of sprintf(3).
2014-10-09 00:40:24 +00:00
Dan Albert
653f30b15a am 8a7f8387: Merge "Use snprintf(3) instead of sprintf(3)."
* commit '8a7f8387b3b95de2ee0c42e34a226a1fcc066896':
  Use snprintf(3) instead of sprintf(3).
2014-10-09 00:39:27 +00:00
Dan Albert
8a7f8387b3 Merge "Use snprintf(3) instead of sprintf(3)." 2014-10-09 00:32:11 +00:00
Dan Albert
a2220ffb74 am 72d72d91: Merge "Replace uses of sprintf(3) with snprintf(3)."
* commit '72d72d91262fabe6bc169618ef3acb0721441cf0':
  Replace uses of sprintf(3) with snprintf(3).
2014-10-09 00:13:06 +00:00
Ying Wang
196f4eee9f am 0c0e728b: Merge "Build dlext_testzip as custom module."
* commit '0c0e728bd8cdeb0e73fd9c491d05993dfc77b622':
  Build dlext_testzip as custom module.
2014-10-09 00:13:05 +00:00
Dan Albert
8b3b4fa0ae am 72d72d91: Merge "Replace uses of sprintf(3) with snprintf(3)."
* commit '72d72d91262fabe6bc169618ef3acb0721441cf0':
  Replace uses of sprintf(3) with snprintf(3).
2014-10-09 00:12:30 +00:00
Ying Wang
75fd0e76f8 am 0c0e728b: Merge "Build dlext_testzip as custom module."
* commit '0c0e728bd8cdeb0e73fd9c491d05993dfc77b622':
  Build dlext_testzip as custom module.
2014-10-09 00:12:29 +00:00
Dan Albert
ca75f9cdeb Use snprintf(3) instead of sprintf(3).
This change should probably be made upstream as well, but they have a
note about not using it because it isn't available on all systems.

Change-Id: I6d8404c031bd2f486532ced55d94bbb4a4cd2e71
2014-10-08 17:10:26 -07:00
Dan Albert
72d72d9126 Merge "Replace uses of sprintf(3) with snprintf(3)." 2014-10-08 23:44:48 +00:00
Ying Wang
0c0e728bd8 Merge "Build dlext_testzip as custom module." 2014-10-08 23:43:50 +00:00
Ying Wang
667853d477 Build dlext_testzip as custom module.
Use $(BUILD_SYSTEM)/base_rules to build it as custom module, so that
it's exposed to utilities like mm/mmma etc.

Bug: 17887283
Change-Id: Idd7b62d08e4d56331a3ff15da6aa46eae8c41898
2014-10-08 16:38:58 -07:00
Dan Albert
cfd8c45725 Replace uses of sprintf(3) with snprintf(3).
At -00, the compiler warns about sprintf(3), and it is promoted to an
error by -Werror.

Change-Id: Ibb380d27d7eb09dda8ac785be2478d656b379190
2014-10-08 16:12:27 -07:00
Dmitriy Ivanov
86c20f6a52 am ac3c94d0: Merge "Fix mma build: \'cd bionic && mma\' case"
* commit 'ac3c94d031c16a0299471a593cdc6248494e539d':
  Fix mma build: 'cd bionic && mma' case
2014-10-08 22:49:22 +00:00
Elliott Hughes
9a96ca3ec4 am 0511534d: Merge "Don\'t silently return EINVAL for a NULL sem_t*."
* commit '0511534dcbb00f26b2fd6209b1b60a3263bf042c':
  Don't silently return EINVAL for a NULL sem_t*.
2014-10-08 22:49:21 +00:00
Elliott Hughes
294d7d1215 am bfeef2d3: Merge "Use ln(1) rather than cp(1) to set up host /system for testing."
* commit 'bfeef2d3a903f161531ce5e45b2dd7d280e7f154':
  Use ln(1) rather than cp(1) to set up host /system for testing.
2014-10-08 22:49:20 +00:00
Dmitriy Ivanov
c4210cea45 am ac3c94d0: Merge "Fix mma build: \'cd bionic && mma\' case"
* commit 'ac3c94d031c16a0299471a593cdc6248494e539d':
  Fix mma build: 'cd bionic && mma' case
2014-10-08 22:49:08 +00:00
Elliott Hughes
301c452e55 am 0511534d: Merge "Don\'t silently return EINVAL for a NULL sem_t*."
* commit '0511534dcbb00f26b2fd6209b1b60a3263bf042c':
  Don't silently return EINVAL for a NULL sem_t*.
2014-10-08 22:49:07 +00:00
Elliott Hughes
46b9984155 am bfeef2d3: Merge "Use ln(1) rather than cp(1) to set up host /system for testing."
* commit 'bfeef2d3a903f161531ce5e45b2dd7d280e7f154':
  Use ln(1) rather than cp(1) to set up host /system for testing.
2014-10-08 22:49:06 +00:00
Dmitriy Ivanov
ac3c94d031 Merge "Fix mma build: 'cd bionic && mma' case" 2014-10-08 22:39:21 +00:00
Dmitriy Ivanov
51166d3aa2 Fix mma build: 'cd bionic && mma' case
Bug: 17887283
Change-Id: If2015f2361348eac8c53aed3f8715077b79ce2f5
2014-10-08 15:36:56 -07:00
Elliott Hughes
0511534dcb Merge "Don't silently return EINVAL for a NULL sem_t*." 2014-10-08 22:21:13 +00:00
Elliott Hughes
bfeef2d3a9 Merge "Use ln(1) rather than cp(1) to set up host /system for testing." 2014-10-08 22:17:19 +00:00
Elliott Hughes
75129ae9f3 Don't silently return EINVAL for a NULL sem_t*.
Bug: 17571197
Change-Id: Ied31d8de87fc10d20dc338be0457e9a4ddb9a0a5
2014-10-08 15:11:44 -07:00
Elliott Hughes
3ea4d56ed4 Use ln(1) rather than cp(1) to set up host /system for testing.
The trouble with cp is that if you're running a command directly (because
you're using gdb, say), you need to make sure you've copied the linker
and shell again if you've done a rebuild that caused a change there.

Change-Id: I312da30c0f92b515967e854e0faba272c961ecc7
2014-10-08 14:56:27 -07:00
Elliott Hughes
5d104a0454 am 98f32183: am 13641010: Merge "Fix compile-time tests for LP64."
* commit '98f321838be54a64c595d65379e3554fa3d6a8d7':
  Fix compile-time tests for LP64.
2014-10-08 20:44:45 +00:00
Elliott Hughes
98f321838b am 13641010: Merge "Fix compile-time tests for LP64."
* commit '1364101067072c2ce6fa395cdef2534f338f30b1':
  Fix compile-time tests for LP64.
2014-10-08 20:40:08 +00:00
Elliott Hughes
7083b23b1c am 13641010: Merge "Fix compile-time tests for LP64."
* commit '1364101067072c2ce6fa395cdef2534f338f30b1':
  Fix compile-time tests for LP64.
2014-10-08 20:39:57 +00:00
Elliott Hughes
1364101067 Merge "Fix compile-time tests for LP64." 2014-10-08 20:31:10 +00:00
Elliott Hughes
b4b15c63a1 Fix compile-time tests for LP64.
Change-Id: Ib9bec5c6c77c55679d64c2bc15ab70979c40e66c
2014-10-08 13:21:29 -07:00
Dan Albert
aca5f36de3 am 035c00d0: am 5cc5c5ea: Merge "Add basic compile time tests for sn?printf."
* commit '035c00d09ce2b6b04d2c278b8dfadc302acc3de1':
  Add basic compile time tests for sn?printf.
2014-10-08 20:17:24 +00:00
Dan Albert
035c00d09c am 5cc5c5ea: Merge "Add basic compile time tests for sn?printf."
* commit '5cc5c5ea0b7a5a2d523ea35c645a42b222929276':
  Add basic compile time tests for sn?printf.
2014-10-08 20:13:35 +00:00
Dan Albert
1b06736d96 am 5cc5c5ea: Merge "Add basic compile time tests for sn?printf."
* commit '5cc5c5ea0b7a5a2d523ea35c645a42b222929276':
  Add basic compile time tests for sn?printf.
2014-10-08 20:13:24 +00:00
Dan Albert
5cc5c5ea0b Merge "Add basic compile time tests for sn?printf." 2014-10-08 20:04:27 +00:00
Dan Albert
2fbb1b653e Add basic compile time tests for sn?printf.
Bug: 17782583
Change-Id: I6443537c643d1cc6b4a8f2dab5c364f2fbc1faa3
2014-10-08 13:02:53 -07:00
Elliott Hughes
94b0a1f08e am 3430ec18: am 5a3ca374: Merge "Revert "Work around a bug in Immersion\'s libImmEmulatorJ.so.""
* commit '3430ec18a45830cde56393cf67ec34ad4169c9e1':
  Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
2014-10-08 16:53:54 +00:00
Elliott Hughes
3430ec18a4 am 5a3ca374: Merge "Revert "Work around a bug in Immersion\'s libImmEmulatorJ.so.""
* commit '5a3ca374583f7605672d9e8f9098011de240f7c4':
  Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
2014-10-08 16:49:35 +00:00
Elliott Hughes
b559513e08 am 5a3ca374: Merge "Revert "Work around a bug in Immersion\'s libImmEmulatorJ.so.""
* commit '5a3ca374583f7605672d9e8f9098011de240f7c4':
  Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
2014-10-08 16:49:35 +00:00
Elliott Hughes
5a3ca37458 Merge "Revert "Work around a bug in Immersion's libImmEmulatorJ.so."" 2014-10-08 16:40:58 +00:00
Elliott Hughes
abb31de8f3 am 07b7385f: am e5d4fc39: am 1543fdf6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit '07b7385fc08055478cd7ec418cf160fbafae4d59':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-08 07:59:31 +00:00
Dan Albert
1c81bdfd3f am d084b8d6: resolved conflicts for merge of 55ee845b to lmp-mr1-dev-plus-aosp
* commit 'd084b8d6b8c08fb399ba1127063c15a8c970c710':
  Inline helpers need to be exported unmangled.
2014-10-08 07:52:09 +00:00
Elliott Hughes
07b7385fc0 am e5d4fc39: am 1543fdf6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit 'e5d4fc39e3f26920f3413070d1175a0afd14a66f':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-08 07:51:01 +00:00
Dan Albert
d084b8d6b8 resolved conflicts for merge of 55ee845b to lmp-mr1-dev-plus-aosp
Change-Id: I134ec170a5fa1da065256b2da2e9c139db61b030
2014-10-08 00:07:03 -07:00
Nick Kralevich
efa8136df9 am 8ec71579: am ce92b41a: cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
* commit '8ec715796f3eef76edfe7ae18dc8b8a9e2be4b47':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-08 00:57:28 +00:00
Nick Kralevich
8ec715796f am ce92b41a: cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
* commit 'ce92b41a00fb86656055eceab9648a858721c3b1':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-08 00:51:24 +00:00
Dan Albert
f1afba2aca am 187fd4d7: am c9e4f2de: Merge "Inline helpers need to be exported unmangled."
* commit '187fd4d7abd802b77a57e28f3b3c9ce5c3d95e96':
  Inline helpers need to be exported unmangled.
2014-10-08 00:16:26 +00:00
Dan Albert
187fd4d7ab am c9e4f2de: Merge "Inline helpers need to be exported unmangled."
* commit 'c9e4f2de0a92ebf6dec336f383ba172efe1bb366':
  Inline helpers need to be exported unmangled.
2014-10-08 00:13:09 +00:00
Dan Albert
6c4a64e3e2 am c9e4f2de: Merge "Inline helpers need to be exported unmangled."
* commit 'c9e4f2de0a92ebf6dec336f383ba172efe1bb366':
  Inline helpers need to be exported unmangled.
2014-10-08 00:12:32 +00:00
Dan Albert
c9e4f2de0a Merge "Inline helpers need to be exported unmangled." 2014-10-08 00:01:08 +00:00
Dan Albert
658727e111 Inline helpers need to be exported unmangled.
__open_2() is used by the fortify implementation of open(2) in
fcntl.h, and as such needs an unmangled C name. For some reason
(inlining?), this doesn't cause problems at the default optimization
level, but does for -O0.

The rest of these didn't cause build failures, but they look suspect
and probably will, we just haven't caught them yet.

Bug: 17784968
Change-Id: I7391a7a8999ee204eaf6abd14a3d5373ea419d5b
2014-10-07 16:46:47 -07:00
Elliott Hughes
3d773274ad Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
This reverts commit 7d3f553f98.

Change-Id: I8909b6aa1d97e9a61dbe95a2d91b9fbe336b58f0
2014-10-07 23:31:06 +00:00
Elliott Hughes
5eebae46cb am 1543fdf6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit '1543fdf616ddebee7819214437527f380e5c743b':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:30:35 +00:00
Elliott Hughes
0f0c0475cb am e5b11446: am e8d9057e: Merge "Work around a bug in Immersion\'s libImmEmulatorJ.so."
* commit 'e5b11446897176720f74dd79cfc2cae208ea7739':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:27:43 +00:00
Elliott Hughes
1144dc404c am f6aec385: am b5e7eba6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit 'f6aec385829c376d8df116713a9f76846addb8ac':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:27:43 +00:00
Elliott Hughes
e5b1144689 am e8d9057e: Merge "Work around a bug in Immersion\'s libImmEmulatorJ.so."
* commit 'e8d9057e3005f6f53f8ef2e876b43aea7a892292':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:23:25 +00:00
Elliott Hughes
f6aec38582 am b5e7eba6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit 'b5e7eba6d1b97e471996fcfe7dbde7cbba7512ef':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:22:28 +00:00
Elliott Hughes
e698a7b5cf am e8d9057e: Merge "Work around a bug in Immersion\'s libImmEmulatorJ.so."
* commit 'e8d9057e3005f6f53f8ef2e876b43aea7a892292':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:20:57 +00:00
Elliott Hughes
e8d9057e30 Merge "Work around a bug in Immersion's libImmEmulatorJ.so." 2014-10-07 23:08:12 +00:00
Elliott Hughes
7d3f553f98 Work around a bug in Immersion's libImmEmulatorJ.so.
This library calls pthread_mutex_lock and pthread_mutex_unlock with a NULL
pthread_mutex_t*. This gives them (and their users) one release to fix things.

Bug: 17443936
Change-Id: I3b63c9a3dd63db0833f21073e323b3236a13b47a
2014-10-07 16:02:11 -07:00
Elliott Hughes
cee722b1cb am 9eb0d554: resolved conflicts for merge of ea8dea8c to lmp-mr1-dev-plus-aosp
* commit '9eb0d554bad86a62c370e7c31fa19b5f3dc90b36':
  Improve <sys/cdefs.h>.
2014-10-07 20:37:10 +00:00
Elliott Hughes
9eb0d554ba resolved conflicts for merge of ea8dea8c to lmp-mr1-dev-plus-aosp
Change-Id: I368c83e83c56a0c14d395540a715f5c42f8eafa8
2014-10-07 13:33:09 -07:00
Dan Albert
6ff5aa092b am 24095148: am eeb9aa02: Merge "Use snprintf instead of sprintf."
* commit '24095148c9952d402380d0b0ab8eb5da2a0bbd9a':
  Use snprintf instead of sprintf.
2014-10-07 18:51:01 +00:00
Dan Albert
24095148c9 am eeb9aa02: Merge "Use snprintf instead of sprintf."
* commit 'eeb9aa02b7f307a1d9b80731dd69ef9dd2f47e47':
  Use snprintf instead of sprintf.
2014-10-07 18:47:04 +00:00
Dan Albert
7c955d7797 am eeb9aa02: Merge "Use snprintf instead of sprintf."
* commit 'eeb9aa02b7f307a1d9b80731dd69ef9dd2f47e47':
  Use snprintf instead of sprintf.
2014-10-07 18:46:32 +00:00
Dan Albert
eeb9aa02b7 Merge "Use snprintf instead of sprintf." 2014-10-07 18:38:11 +00:00
Dan Albert
b0fd55608e Use snprintf instead of sprintf.
At -O0, the attribute warning on sprintf is actually triggered (why
doesn't this happen with -Os?!) and promoted to an error by -Werror.
asctime64_r() is a non-standard function, but the IBM docs state that
the buffer is assumed to be at least 26 characters wide, and the
format string does limit to that (assuming a 4 digit year, also
defined by the IBM docs).

http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxbd00/asctimer.htm

Change-Id: I1c884474a769aa16c53e985c3d8d694c478c1189
2014-10-07 11:28:47 -07:00
Christopher Ferris
c5d30c27e6 am ac6fc5be: (-s ours) am 4aace385: am 2cf15571: am 40bc7cd4: (-s ours) DO NOT MERGE Re-add .save directive for arm assembler code.
* commit 'ac6fc5befd152814398bccb0443da6704f614f0f':
  DO NOT MERGE  Re-add .save directive for arm assembler code.
2014-10-07 18:03:05 +00:00
Christopher Ferris
ac6fc5befd am 4aace385: am 2cf15571: am 40bc7cd4: (-s ours) DO NOT MERGE Re-add .save directive for arm assembler code.
* commit '4aace3852d2a83067c5ef10e06e2a33c6903940f':
  DO NOT MERGE  Re-add .save directive for arm assembler code.
2014-10-07 17:54:11 +00:00
Dmitriy Ivanov
929ec5c950 am c4d97f51: am 6d2dd6a7: Merge "Fix 2nd arch prefix application"
* commit 'c4d97f51476def0852693b4002e9ba65df8cd5a6':
  Fix 2nd arch prefix application
2014-10-07 17:14:21 +00:00
Dmitriy Ivanov
9ec3d2e69a am 6d2dd6a7: Merge "Fix 2nd arch prefix application"
* commit '6d2dd6a74035a7ace838dd44e7910d54e15c11c2':
  Fix 2nd arch prefix application
2014-10-07 17:12:58 +00:00
Dmitriy Ivanov
c4d97f5147 am 6d2dd6a7: Merge "Fix 2nd arch prefix application"
* commit '6d2dd6a74035a7ace838dd44e7910d54e15c11c2':
  Fix 2nd arch prefix application
2014-10-07 17:12:11 +00:00
Dmitriy Ivanov
6d2dd6a740 Merge "Fix 2nd arch prefix application" 2014-10-07 17:04:24 +00:00
Dmitriy Ivanov
75d66dd9a7 Fix 2nd arch prefix application
Bug: 17887283
Change-Id: I7b3b2332212fe416d6b5f5c2e5c1e07605ba09aa
2014-10-07 09:46:46 -07:00
Christopher Ferris
5ad21d60fb am 2cf15571: am 40bc7cd4: (-s ours) DO NOT MERGE Re-add .save directive for arm assembler code.
* commit '2cf155713aaba451065d593335d544f2ada24ddf':
  DO NOT MERGE  Re-add .save directive for arm assembler code.
2014-10-07 15:31:51 +00:00
Elliott Hughes
97300b3878 am 106edd3f: am 6c4e16f6: Merge "further cleanup memcpy fortify implementation" into lmp-mr1-dev
* commit '106edd3fa795f41bd8b527732a6c2be74ff4164a':
  further cleanup memcpy fortify implementation
2014-10-07 01:02:57 +00:00
Christopher Ferris
8d0c9dfc2c am a87052c9: resolved conflicts for merge of 27355aff to lmp-mr1-dev-plus-aosp
* commit 'a87052c9a3f71f6017c3a4657d9ce01d8923e969':
  Force export symbols on all x86 variants in libc.
2014-10-07 00:58:44 +00:00
Elliott Hughes
106edd3fa7 am 6c4e16f6: Merge "further cleanup memcpy fortify implementation" into lmp-mr1-dev
* commit '6c4e16f634a8ee07fc0c3cc5299c9f7f03c5f8bf':
  further cleanup memcpy fortify implementation
2014-10-07 00:55:38 +00:00
Christopher Ferris
a87052c9a3 resolved conflicts for merge of 27355aff to lmp-mr1-dev-plus-aosp
Change-Id: Ice2d5d99788eb1fd9bcdfc288a36742f6e73d360
2014-10-06 17:53:54 -07:00
Christopher Ferris
a0da9f976a am 015a48af: am 81fca356: Merge "Force export symbols on all x86 variants in libc."
* commit '015a48af3634b7337561a35544ecf2bc78549b0f':
  Force export symbols on all x86 variants in libc.
2014-10-07 00:03:54 +00:00
Nick Kralevich
3ccb3fcba4 am d9813e3e: am b5cba608: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit 'd9813e3e7fbf02955d2dd9f9c9ef97a8719b15a3':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-07 00:03:44 +00:00
Nick Kralevich
77e5dd7720 am 75a932c5: resolved conflicts for merge of 7ad2147a to lmp-mr1-dev-plus-aosp
* commit '75a932c5dd959a1678929a7a8211d30a85a907fc':
  string.h: remove unused variable
2014-10-06 23:58:37 +00:00
Christopher Ferris
fae2ad067e am 81fca356: Merge "Force export symbols on all x86 variants in libc."
* commit '81fca35672df90e2f770e67bbf7e7735c6ff8bd8':
  Force export symbols on all x86 variants in libc.
2014-10-06 23:51:43 +00:00
Christopher Ferris
015a48af36 am 81fca356: Merge "Force export symbols on all x86 variants in libc."
* commit '81fca35672df90e2f770e67bbf7e7735c6ff8bd8':
  Force export symbols on all x86 variants in libc.
2014-10-06 23:50:42 +00:00
Christopher Ferris
81fca35672 Merge "Force export symbols on all x86 variants in libc." 2014-10-06 23:45:03 +00:00
Christopher Ferris
6869d26ad9 Force export symbols on all x86 variants in libc.
For silvermont, the __popcountsi2 symbol does not get exported by libc.
But for atom, this symbol is exported. Since we already exported this symbol
for previous releases, it's better to just follow through and force
the export, but only for 32 bit. x86 64 bit will not export this symbol.

Bug: 17681440

(cherry picked from commit d11eac3455)

Change-Id: I93704c721d98d569922f606f214069bda24872ba
2014-10-06 16:41:46 -07:00
Christopher Ferris
9a7d31eb9c Merge "resolved conflicts for merge of d11eac34 to lmp-dev-plus-aosp" into lmp-dev-plus-aosp 2014-10-06 23:32:53 +00:00
Christopher Ferris
d61d2b7b80 resolved conflicts for merge of d11eac34 to lmp-dev-plus-aosp
Change-Id: I3cd9056d5d689b783f4afa870397ad4d9de357f5
2014-10-06 16:30:45 -07:00
Nick Kralevich
2d04b5e09f am b5cba608: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit 'b5cba6081bc9179d3ea2aa1bfd77dd8de1c88525':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 23:29:04 +00:00
Nick Kralevich
d9813e3e7f am b5cba608: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit 'b5cba6081bc9179d3ea2aa1bfd77dd8de1c88525':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 23:28:47 +00:00
Nick Kralevich
b5cba6081b Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions" 2014-10-06 23:21:04 +00:00
Nick Kralevich
75a932c5dd resolved conflicts for merge of 7ad2147a to lmp-mr1-dev-plus-aosp
Change-Id: Ie43710f4e5b8d5638bce505e9bef80e6cdd065bc
2014-10-06 15:50:24 -07:00
Nick Kralevich
1aaa17802c cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.

Add -Wno-error to fortify related tests. Fortify related tests
are expected to be examples of bad programs, and in many
cases shouldn't compile cleanly. Rewriting them to compile
cleanly isn't feasible nor desirable.

Bug: 17784968
Change-Id: I93bececa7444d965f18c7c27d46e7abce5c49a02
2014-10-06 15:11:52 -07:00
Dan Albert
1f41103f26 am 8049eb75: am 9969feca: Merge "Add compile time test infrastructure for bionic."
* commit '8049eb7578ac1e37271da5dca000157687de5162':
  Add compile time test infrastructure for bionic.
2014-10-06 19:56:42 +00:00
Dan Albert
65c10a1477 am 9969feca: Merge "Add compile time test infrastructure for bionic."
* commit '9969fecad23edebcbc4f32a50dc65a2876a2478f':
  Add compile time test infrastructure for bionic.
2014-10-06 19:54:52 +00:00
Dan Albert
8049eb7578 am 9969feca: Merge "Add compile time test infrastructure for bionic."
* commit '9969fecad23edebcbc4f32a50dc65a2876a2478f':
  Add compile time test infrastructure for bionic.
2014-10-06 19:54:37 +00:00
Dan Albert
9969fecad2 Merge "Add compile time test infrastructure for bionic." 2014-10-06 19:45:32 +00:00
Dmitriy Ivanov
30aa4c2ddb am bc7ecf7a: am f4320e86: Merge "Resolve "unused DT entry" warnings for x86_64"
* commit 'bc7ecf7af2d1b06161badddcead0d9f8c66dbd12':
  Resolve "unused DT entry" warnings for x86_64
2014-10-06 19:36:10 +00:00
Dmitriy Ivanov
bc7ecf7af2 am f4320e86: Merge "Resolve "unused DT entry" warnings for x86_64"
* commit 'f4320e867cbc7764d2f1fa8ac64da9cc38cba733':
  Resolve "unused DT entry" warnings for x86_64
2014-10-06 19:28:49 +00:00
Dmitriy Ivanov
b9d4a64866 am f4320e86: Merge "Resolve "unused DT entry" warnings for x86_64"
* commit 'f4320e867cbc7764d2f1fa8ac64da9cc38cba733':
  Resolve "unused DT entry" warnings for x86_64
2014-10-06 19:14:51 +00:00
Dmitriy Ivanov
f4320e867c Merge "Resolve "unused DT entry" warnings for x86_64" 2014-10-06 19:07:58 +00:00
Dan Albert
f04a8bc226 Add compile time test infrastructure for bionic.
Actual tests to follow...

Bug: 17782583
Change-Id: I22857f19899c3b39dbc2e5473ad3be1a8a291139
2014-10-06 11:38:01 -07:00
Dmitriy Ivanov
513e29e16f Resolve "unused DT entry" warnings for x86_64
Change-Id: I3a2c87bf6e6259313cd9203389623f13b7405ef3
2014-10-06 11:32:19 -07:00
Dmitriy Ivanov
5830490dd7 am bfbe68fc: am 6d569b92: Merge "Add file_offset parameter to android_extinfo"
* commit 'bfbe68fc248d4ff69d963aecbab4a42f6def7ba0':
  Add file_offset parameter to android_extinfo
2014-10-06 17:33:59 +00:00
Dmitriy Ivanov
bfbe68fc24 am 6d569b92: Merge "Add file_offset parameter to android_extinfo"
* commit '6d569b92012543a297dccf2dfeaa648d07b3c133':
  Add file_offset parameter to android_extinfo
2014-10-06 17:29:06 +00:00
Dmitriy Ivanov
47388d8297 am 6d569b92: Merge "Add file_offset parameter to android_extinfo"
* commit '6d569b92012543a297dccf2dfeaa648d07b3c133':
  Add file_offset parameter to android_extinfo
2014-10-06 17:28:54 +00:00
Dmitriy Ivanov
6d569b9201 Merge "Add file_offset parameter to android_extinfo" 2014-10-06 17:19:39 +00:00
Dmitriy Ivanov
07e5bc152d Add file_offset parameter to android_extinfo
Bug: 17762003
Change-Id: I8fb267a3155acef3dba534038cf5d1ef00d7154b
2014-10-06 10:02:34 -07:00
Nick Kralevich
7912cc7e9e am e88b00c5: am a6eef3be: Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions""
* commit 'e88b00c51d87ce2182774e40939fe51507de6a40':
  Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
2014-10-06 00:48:54 +00:00
Nick Kralevich
e88b00c51d am a6eef3be: Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions""
* commit 'a6eef3be105fb34161fd1b1d513f7d03b5f1bbe9':
  Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
2014-10-06 00:44:49 +00:00
Nick Kralevich
0fd98ec4d7 am a6eef3be: Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions""
* commit 'a6eef3be105fb34161fd1b1d513f7d03b5f1bbe9':
  Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
2014-10-06 00:44:49 +00:00
Nick Kralevich
a6eef3be10 Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"" 2014-10-06 00:40:07 +00:00
Nick Kralevich
884a3de60f Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
Broke the build.

In file included from frameworks/rs/cpu_ref/rsCpuCore.cpp:36:
system/core/include/cutils/properties.h:118:1: error: unknown attribute '__artificial__' ignored [-Werror,-Wunknown-attributes]
__BIONIC_FORTIFY_INLINE
^
bionic/libc/include/sys/cdefs.h:537:110: note: expanded from macro '__BIONIC_FORTIFY_INLINE'
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
                                                                                                             ^
1 error generated.
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libRSCpuRef_intermediates/rsCpuCore.o] Error 1
This reverts commit 9b543ffeac.

Change-Id: I6a1198747505dcb402b722887c1bfbc3a628a8b8
2014-10-06 00:39:47 +00:00
Nick Kralevich
c4b6e25d52 am 5ba8094f: am 558ec810: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit '5ba8094f8bd9e927814eb2a242c6cb8d2c7e87ed':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 00:21:56 +00:00
Nick Kralevich
036cd686af am 558ec810: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit '558ec8103bad6eed78c3e372fc9b2535a3486745':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 00:17:24 +00:00
Nick Kralevich
5ba8094f8b am 558ec810: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit '558ec8103bad6eed78c3e372fc9b2535a3486745':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 00:17:23 +00:00
Nick Kralevich
558ec8103b Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions" 2014-10-06 00:10:48 +00:00
Nick Kralevich
540aeac4e0 am 32cfbb76: am db6fea86: Merge "further cleanup memcpy fortify implementation"
* commit '32cfbb760536a53d39f376f14eb142b6aab265c3':
  further cleanup memcpy fortify implementation
2014-10-05 17:01:23 +00:00
Nick Kralevich
32cfbb7605 am db6fea86: Merge "further cleanup memcpy fortify implementation"
* commit 'db6fea86a5cb70c5aaad61ef6c126557f36e138b':
  further cleanup memcpy fortify implementation
2014-10-05 16:54:37 +00:00
Nick Kralevich
10450b14f7 am db6fea86: Merge "further cleanup memcpy fortify implementation"
* commit 'db6fea86a5cb70c5aaad61ef6c126557f36e138b':
  further cleanup memcpy fortify implementation
2014-10-05 16:52:37 +00:00
Nick Kralevich
db6fea86a5 Merge "further cleanup memcpy fortify implementation" 2014-10-05 16:43:24 +00:00
Nick Kralevich
b84f667e93 further cleanup memcpy fortify implementation
Change-Id: I0380f3c8ca8f9bb8a206accd839c32c9daf13c56
2014-10-05 06:52:24 -07:00
Nick Kralevich
9b543ffeac cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.

Delete some unittests. These unittests no longer compile cleanly
using -Wall -Werror, and rewriting them to compile cleanly
isn't feasible.

Bug: 17784968
Change-Id: I9bbdc7b6a1c2ac75754f5d0f90782e0dfae66721
2014-10-04 22:01:41 -07:00
Nick Kralevich
9143ea373d am b93a965b: am ae97a776: Merge "string.h: remove unused variable"
* commit 'b93a965bce51d5be57b25f2fd32e858fd300c3e6':
  string.h: remove unused variable
2014-10-04 22:50:53 +00:00
Nick Kralevich
2b208d96af am ae97a776: Merge "string.h: remove unused variable"
* commit 'ae97a776ea900e5923d6d320d72dcc04b224796e':
  string.h: remove unused variable
2014-10-04 22:47:10 +00:00
Nick Kralevich
b93a965bce am ae97a776: Merge "string.h: remove unused variable"
* commit 'ae97a776ea900e5923d6d320d72dcc04b224796e':
  string.h: remove unused variable
2014-10-04 22:47:07 +00:00
Nick Kralevich
ae97a776ea Merge "string.h: remove unused variable" 2014-10-04 22:38:09 +00:00
Nick Kralevich
48be71d02b string.h: remove unused variable
Change-Id: I08b7dab1b374ad427fcbee4183f2c7d93d0199a9
2014-10-04 15:20:00 -07:00
Dmitriy Ivanov
1eb0694888 am cd9165e6: resolved conflicts for merge of 02542b3b to lmp-mr1-dev-plus-aosp
* commit 'cd9165e64952026f54260910dfe72b32387f6d48':
  Reimplement clock(3) using clock_gettime(3)
  Explain why clock(3) isn't broken.
2014-10-04 18:22:14 +00:00
Dmitriy Ivanov
cd9165e649 resolved conflicts for merge of 02542b3b to lmp-mr1-dev-plus-aosp
Change-Id: Ib881abd163fd737719b665c447055c7883a7b791
2014-10-04 11:16:42 -07:00
Elliott Hughes
2e345351b3 resolved conflicts for merge of a5087148 to lmp-dev-plus-aosp
Change-Id: Ic6b352650a7dec53cdd681d0f0b8ba4278e560d3
2014-10-04 10:03:08 -07:00
Elliott Hughes
282559de94 am 5f86872e: am 4ef0e59f: Merge "Reimplement clock(3) using clock_gettime(3)"
* commit '5f86872e672187afa6256bf3f15257af7e4eaef6':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 02:41:31 +00:00
Elliott Hughes
b4954dc384 am 4ef0e59f: Merge "Reimplement clock(3) using clock_gettime(3)"
* commit '4ef0e59f339ad138eabe3bc408beda6004f5ea83':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 02:24:08 +00:00
Elliott Hughes
5f86872e67 am 4ef0e59f: Merge "Reimplement clock(3) using clock_gettime(3)"
* commit '4ef0e59f339ad138eabe3bc408beda6004f5ea83':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 02:17:19 +00:00
Elliott Hughes
4ef0e59f33 Merge "Reimplement clock(3) using clock_gettime(3)" 2014-10-04 01:57:42 +00:00
Alex Van Brunt
8d0b2dbf21 Reimplement clock(3) using clock_gettime(3)
Unlike times(), clock_gettime() is implemented as a vDSO on many architectures.
So, using clock_gettime() will return a more accurate time and do so with less
overhead because it does have the overhead of calling into the kernel.

It is also significantly more accurate because it measures the actual time in
nanoseconds rather than the number of ticks (typically 1 millisecond or more).

Bug: 17814435
Change-Id: Id4945d9f387330518f78669809639952e9227ed9
2014-10-03 18:54:28 -07:00
Elliott Hughes
f4555a003b am ea9800e9: Explain why clock(3) isn\'t broken.
* commit 'ea9800e98598c71fe76c4e2a0d0498b6bd490a83':
  Explain why clock(3) isn't broken.
2014-10-03 23:57:39 +00:00
Dmitriy Ivanov
18945005c2 am bf956e86: resolved conflicts for merge of 04f5f410 to lmp-mr1-dev-plus-aosp
* commit 'bf956e863e486c35700718ff84bc5483b46784e6':
  Fix gdb could not get shared library list issue
2014-10-03 19:29:45 +00:00
Dmitriy Ivanov
bf956e863e resolved conflicts for merge of 04f5f410 to lmp-mr1-dev-plus-aosp
Change-Id: I921c62dbe265b1be4d373d1988951de0f6743fba
2014-10-03 12:21:57 -07:00
Dmitriy Ivanov
e3924e6c7e am dcca3fce: am d5df4124: Merge "Add RTLD_NODELETE flag support"
* commit 'dcca3fce3f60233e74d7d23b28b04feeb4d5a0e3':
  Add RTLD_NODELETE flag support
2014-10-03 16:54:31 +00:00
Dmitriy Ivanov
fc046eca0b am d5df4124: Merge "Add RTLD_NODELETE flag support"
* commit 'd5df4124bbbb30411ef19f7c2fbb3987d0eb9630':
  Add RTLD_NODELETE flag support
2014-10-03 16:53:33 +00:00
Dmitriy Ivanov
dcca3fce3f am d5df4124: Merge "Add RTLD_NODELETE flag support"
* commit 'd5df4124bbbb30411ef19f7c2fbb3987d0eb9630':
  Add RTLD_NODELETE flag support
2014-10-03 16:47:05 +00:00
Dmitriy Ivanov
d5df4124bb Merge "Add RTLD_NODELETE flag support" 2014-10-02 21:47:29 +00:00
Dmitriy Ivanov
812d675be9 am bbf86e61: Fixes to linker code after the conflict resolution
* commit 'bbf86e6157ab98af7468ce5eb3292b6509a3cabd':
  Fixes to linker code after the conflict resolution
2014-10-02 21:35:22 +00:00
Dmitriy Ivanov
6d6c337244 am 2cd77d30: Undo the bad work of Automerger
* commit '2cd77d301ff6860836428cda2ccd626b3bb6912e':
  Undo the bad work of Automerger
2014-10-02 21:35:04 +00:00
Dmitriy Ivanov
1602582952 am 145372b1: Revert "L-MR1 specific fixes"
* commit '145372b1bced73595d51405bcbda73cd092e2425':
  Revert "L-MR1 specific fixes"
2014-10-02 21:35:00 +00:00
Dmitriy Ivanov
bbf86e6157 Fixes to linker code after the conflict resolution
Change-Id: Icd0728604a865b73e7af0e0aee38971a612935f2
2014-10-02 13:44:20 -07:00
Dmitriy Ivanov
2cd77d301f Undo the bad work of Automerger
Change-Id: I585388aebc556a094db4c22e647edacea7cde129
2014-10-02 13:08:39 -07:00
Dmitriy Ivanov
e7575e1b57 am d4ab8f01: am 1cd0c677: L-MR1 specific fixes
* commit 'd4ab8f0135603f252936c8d73a579c7ec5314b71':
  L-MR1 specific fixes
2014-10-02 19:51:14 +00:00
Dmitriy Ivanov
145372b1bc Revert "L-MR1 specific fixes"
This reverts commit 1cd0c6777f.
2014-10-02 12:49:42 -07:00
Dmitriy Ivanov
128c850cc1 am feaf85e3: resolved conflicts for merge of 7d971ec1 to lmp-mr1-dev-plus-aosp
* commit 'feaf85e34c0ab0a65096b183a6ae3144242d934b':
  Fix unload of recursively linked library
2014-10-02 19:42:54 +00:00
Dmitriy Ivanov
d4ab8f0135 am 1cd0c677: L-MR1 specific fixes
* commit '1cd0c6777f35b531c9ce78397d0915aa521b3e87':
  L-MR1 specific fixes
2014-10-02 19:41:50 +00:00
Dmitriy Ivanov
feaf85e34c resolved conflicts for merge of 7d971ec1 to lmp-mr1-dev-plus-aosp
Change-Id: I1cd01e5c0dd00cd55594654d53f7e0cb6edf35d9
2014-10-02 12:38:54 -07:00
Dmitriy Ivanov
651bab0e16 am b5626827: resolved conflicts for merge of f4cb6313 to lmp-mr1-dev-plus-aosp
* commit 'b5626827c9d62783737de163723e8f647eb6665f':
  Add IFUNC support for arm64 and IRELATIVE reloc
2014-10-02 19:38:02 +00:00
Dmitriy Ivanov
b5626827c9 resolved conflicts for merge of f4cb6313 to lmp-mr1-dev-plus-aosp
Change-Id: I9c033fa82c7bf07e06157227f5162d603804b7d6
2014-10-02 12:33:10 -07:00
Dmitriy Ivanov
9adb53a634 am 85fc61d7: am ef1306d7: Refactoring: C++11 style DISABLE_ bionic marcos
* commit '85fc61d7d2755fa55270d30bee348bc98adb5032':
  Refactoring: C++11 style DISABLE_ bionic marcos
2014-10-02 19:27:30 +00:00
Dmitriy Ivanov
da5b0de585 am 2fbf6593: resolved conflicts for merge of 61c4147f to lmp-mr1-dev-plus-aosp
* commit '2fbf6593aec12d0644308775463bd0c4ccff4aa6':
  Reset enviroment for math_tests
2014-10-02 19:27:30 +00:00
Dmitriy Ivanov
85fc61d7d2 am ef1306d7: Refactoring: C++11 style DISABLE_ bionic marcos
* commit 'ef1306d77718cc74a8df5673a15649dea317571d':
  Refactoring: C++11 style DISABLE_ bionic marcos
2014-10-02 19:23:57 +00:00
Dmitriy Ivanov
7c96e34558 am 6aac3cd1: resolved conflicts for merge of ae69a958 to lmp-mr1-dev-plus-aosp
* commit '6aac3cd112360631970ff3a7b809d58ed88a10c9':
  Load libraries in breadth-first order
2014-10-02 19:23:44 +00:00
Dmitriy Ivanov
2fbf6593ae resolved conflicts for merge of 61c4147f to lmp-mr1-dev-plus-aosp
Change-Id: I4ed15dbb2136a1984f7651dcc85d05e3e585ac51
2014-10-02 12:22:07 -07:00
Dmitriy Ivanov
6aac3cd112 resolved conflicts for merge of ae69a958 to lmp-mr1-dev-plus-aosp
Change-Id: Ia466577ef6e627cc6fcef46aa37cce21acbc8519
2014-10-02 12:17:32 -07:00
Dmitriy Ivanov
166aa84826 am e3105fee: resolved conflicts for merge of c0133a73 to lmp-mr1-dev-plus-aosp
* commit 'e3105fee224456000f84a03a767685849055e381':
  Revert "Load libraries in breadth-first order"
2014-10-02 19:04:09 +00:00
Dmitriy Ivanov
e3105fee22 resolved conflicts for merge of c0133a73 to lmp-mr1-dev-plus-aosp
Change-Id: I31d81e91d796fa27f9c88a7edc96c97320ade72c
2014-10-02 11:59:28 -07:00
Dmitriy Ivanov
a79c70dd59 am daf15a6c: resolved conflicts for merge of 8de1ddec to lmp-mr1-dev-plus-aosp
* commit 'daf15a6ca7b1ef7f16103e339334eda3b18aa425':
  Fix order of soinfo links (repairs libcxx tests).
2014-10-02 18:41:08 +00:00
Dmitriy Ivanov
daf15a6ca7 resolved conflicts for merge of 8de1ddec to lmp-mr1-dev-plus-aosp
Change-Id: I9bb063dcf684307181ce4a2b1e5f96bd0d78aaff
2014-10-02 11:34:05 -07:00
Dmitriy Ivanov
e027ca9665 am 32ebc71f: resolved conflicts for merge of 59c12a65 to lmp-mr1-dev-plus-aosp
* commit '32ebc71f99523eb2496a4be175a40dcd10dc699a':
  Load libraries in breadth-first order
2014-10-02 18:32:33 +00:00
Dmitriy Ivanov
32ebc71f99 resolved conflicts for merge of 59c12a65 to lmp-mr1-dev-plus-aosp
Change-Id: I92667dd3d55c8cfd2586c88362fd542c7a6ff9b2
2014-10-02 11:27:57 -07:00
Dmitriy Ivanov
0427f87378 am dadc782c: resolved conflicts for merge of 81fe2b16 to lmp-mr1-dev-plus-aosp
* commit 'dadc782cf01ebfb1dc3401352450922a9d644614':
  Enable clang compilation with libc but not linker.
2014-10-02 18:10:01 +00:00
Dmitriy Ivanov
dadc782cf0 resolved conflicts for merge of 81fe2b16 to lmp-mr1-dev-plus-aosp
Change-Id: I61272d86ebf0d40262e88f5f4327cf97be035bda
2014-10-02 11:06:05 -07:00
Dmitriy Ivanov
e4874d6b1d am 9b6b6e6d: resolved conflicts for merge of 7210c41f to lmp-mr1-dev-plus-aosp
* commit '9b6b6e6d4a9fa83c6ded39a618e66c05e21d2989':
  Encapsulate soinfo_link_image and soinfo_relocate
2014-10-02 17:57:20 +00:00
Dmitriy Ivanov
9b6b6e6d4a resolved conflicts for merge of 7210c41f to lmp-mr1-dev-plus-aosp
Change-Id: I44d84a95f506e89e77cce8c218083a80ca5724b9
2014-10-02 10:54:08 -07:00
Dmitriy Ivanov
3ca82fd210 am 1c695166: am 4466bd72: Implement LinkedList::visit()
* commit '1c69516677e9a7943e90add7f1e44361c7a53b38':
  Implement LinkedList::visit()
2014-10-02 17:38:12 +00:00
Dmitriy Ivanov
5d20f051b0 am de1943eb: resolved conflicts for merge of ff01f6fc to lmp-mr1-dev-plus-aosp
* commit 'de1943eb82116d879344dc17f54f7188d8119740':
  Introduce size-based r/w allocators
2014-10-02 17:38:11 +00:00
Dmitriy Ivanov
15f795113e am 846be3ea: resolved conflicts for merge of 4d01d08c to lmp-mr1-dev-plus-aosp
* commit '846be3ea5d71bc69744747d19b0a9b0dcee4c376':
  Erase elements in LinkedList::remove_if
2014-10-02 17:38:10 +00:00
Dmitriy Ivanov
e788f1da5d am cd7890ba: resolved conflicts for merge of cfad7ae9 to lmp-mr1-dev-plus-aosp
* commit 'cd7890ba2d0297f3857d65a29fe65da409ccc319':
  Replace NULL with nullptr
2014-10-02 17:38:10 +00:00
Dmitriy Ivanov
1c69516677 am 4466bd72: Implement LinkedList::visit()
* commit '4466bd72fb9daeb0ef8f250e8314b555aab30817':
  Implement LinkedList::visit()
2014-10-02 17:34:40 +00:00
Dmitriy Ivanov
de1943eb82 resolved conflicts for merge of ff01f6fc to lmp-mr1-dev-plus-aosp
Change-Id: I90e7700708a305a7e93dd3ef3a32c5508038b53b
2014-10-02 10:33:04 -07:00
Dmitriy Ivanov
846be3ea5d resolved conflicts for merge of 4d01d08c to lmp-mr1-dev-plus-aosp
Change-Id: Icaf503240281596de05ee331457200b61d57ab46
2014-10-02 10:28:43 -07:00
Dmitriy Ivanov
cd7890ba2d resolved conflicts for merge of cfad7ae9 to lmp-mr1-dev-plus-aosp
Change-Id: I119e37c6689c4cc49663748a72c17dc55a362b02
2014-10-02 10:21:34 -07:00
Dmitriy Ivanov
ee5e2fb541 am 47102e1e: am 5dfe802d: Remove unnecessary calls to LinkedList::clear()
* commit '47102e1e1dd538089198c6889b0109f1f9734b77':
  Remove unnecessary calls to LinkedList::clear()
2014-10-02 17:10:27 +00:00
Dmitriy Ivanov
512c261c8e am abf6390f: resolved conflicts for merge of 93c3f420 to lmp-mr1-dev-plus-aosp
* commit 'abf6390f37b6d541fa3d26583fc8506047b50de8':
  Enable __cxa_atexit && __cxa_finalize for linker
2014-10-02 17:10:27 +00:00
Dmitriy Ivanov
47102e1e1d am 5dfe802d: Remove unnecessary calls to LinkedList::clear()
* commit '5dfe802d0dedbfce355a7ece5bc77c7346941bb2':
  Remove unnecessary calls to LinkedList::clear()
2014-10-02 17:06:50 +00:00
Dmitriy Ivanov
c05ceefcd7 am 88eb2a9c: resolved conflicts for merge of 3bbd218e to lmp-mr1-dev-plus-aosp
* commit '88eb2a9cf5f2c71bdd73d36ff7dbc29a655cb1ec':
  Bump soinfo version
2014-10-02 17:06:48 +00:00
Dmitriy Ivanov
abf6390f37 resolved conflicts for merge of 93c3f420 to lmp-mr1-dev-plus-aosp
Change-Id: I3cd9c572ec096dc14e0356fe2725074bc7af29d3
2014-10-02 10:05:02 -07:00
Dmitriy Ivanov
88eb2a9cf5 resolved conflicts for merge of 3bbd218e to lmp-mr1-dev-plus-aosp
Change-Id: Ie7f85be196a44ab59554384274f2022239f91b0e
2014-10-02 09:59:26 -07:00
Dmitriy Ivanov
327bf8ad36 am 58481547: Merge "resolved conflicts for merge of bd321c11 to lmp-mr1-dev-plus-aosp" into lmp-mr1-dev-plus-aosp
* commit '5848154714fbe84de46af33ee9a57c7588094167':
  Run constructors before resolving ifunc functions
2014-10-02 16:56:38 +00:00
Dmitriy Ivanov
5848154714 Merge "resolved conflicts for merge of bd321c11 to lmp-mr1-dev-plus-aosp" into lmp-mr1-dev-plus-aosp 2014-10-02 16:51:08 +00:00
Dmitriy Ivanov
0a21fe5dcd resolved conflicts for merge of bd321c11 to lmp-mr1-dev-plus-aosp
Change-Id: I6ee8a75840073ed00eda9f8f0fbd372cdcfb0be0
2014-10-02 09:49:28 -07:00
Dmitriy Ivanov
f126b0d59f am 8fd54631: resolved conflicts for merge of 31b88da8 to lmp-mr1-dev-plus-aosp
* commit '8fd546313cb47b42a70478a59b5b556bf4a61966':
  Added test for ifunc support in dynamic linker.
2014-10-02 15:59:45 +00:00
Dmitriy Ivanov
8fd546313c resolved conflicts for merge of 31b88da8 to lmp-mr1-dev-plus-aosp
Change-Id: I3081cba9e1372adc085380cda01d4825543a6727
2014-10-02 08:53:42 -07:00
Elliott Hughes
322bce681c am d081e8b5: am e4f8962a: Merge "Update bionic to tzdata 2014h." into lmp-mr1-dev
* commit 'd081e8b53960ed3be976e75bb7ac2c043898c4ad':
  Update bionic to tzdata 2014h.
2014-10-02 12:47:19 +00:00
Elliott Hughes
14afc13b99 am 26ce6c21: am b5f5b0e4: Fix update-tzdata.py to rebuild icu4c .dat file.
* commit '26ce6c215bcd4fe6befce3b55228966e27775616':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-02 12:47:18 +00:00
Elliott Hughes
d081e8b539 am e4f8962a: Merge "Update bionic to tzdata 2014h." into lmp-mr1-dev
* commit 'e4f8962ab5b4fb64842f4635fdf01a860bb180ee':
  Update bionic to tzdata 2014h.
2014-10-02 12:37:01 +00:00
Elliott Hughes
26ce6c215b am b5f5b0e4: Fix update-tzdata.py to rebuild icu4c .dat file.
* commit 'b5f5b0e418e5c382573e367dd4aff9373180bbe4':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-02 12:37:00 +00:00
Hans Boehm
b24442611c am 4aa38919: am 2d111d9e: Merge "Make memory_order_acquire visible in global namespace"
* commit '4aa389193e79d98754f928f9a3624c6c3fffe2ca':
  Make memory_order_acquire visible in global namespace
2014-10-01 19:27:12 +00:00
Hans Boehm
f26a55e13a am 2d111d9e: Merge "Make memory_order_acquire visible in global namespace"
* commit '2d111d9eb10b6c48e2e47251be66b418a6109dd9':
  Make memory_order_acquire visible in global namespace
2014-10-01 19:23:05 +00:00
Hans Boehm
4aa389193e am 2d111d9e: Merge "Make memory_order_acquire visible in global namespace"
* commit '2d111d9eb10b6c48e2e47251be66b418a6109dd9':
  Make memory_order_acquire visible in global namespace
2014-10-01 19:23:03 +00:00
Hans Boehm
2d111d9eb1 Merge "Make memory_order_acquire visible in global namespace" 2014-10-01 19:16:50 +00:00
Christopher Ferris
3d5f6c4997 am 7239135e: am b19bd93f: Merge "Add stpcpy assembler version."
* commit '7239135eb4d651140a40cd4549b8d9e1101a0c20':
  Add stpcpy assembler version.
2014-10-01 18:29:10 +00:00
Christopher Ferris
7239135eb4 am b19bd93f: Merge "Add stpcpy assembler version."
* commit 'b19bd93f8b83307f2f7530545f7c78824914f4eb':
  Add stpcpy assembler version.
2014-10-01 18:24:26 +00:00
Christopher Ferris
3a25cdfd33 am b19bd93f: Merge "Add stpcpy assembler version."
* commit 'b19bd93f8b83307f2f7530545f7c78824914f4eb':
  Add stpcpy assembler version.
2014-10-01 18:24:16 +00:00
Christopher Ferris
b19bd93f8b Merge "Add stpcpy assembler version." 2014-10-01 18:16:14 +00:00
Dmitriy Ivanov
1b20dafdbe Add RTLD_NODELETE flag support
Bug: https://code.google.com/p/android/issues/detail?id=64069
Change-Id: Ie5f90482feae86391172be4b32d6cb7d76f446fb
2014-10-01 11:09:37 -07:00
Elliott Hughes
e24825bc9c am 600ab1ca: am cadccfd7: Merge "Update bionic to tzdata 2014h."
* commit '600ab1ca01bbd302e122ae66b79c70d20e1d7621':
  Update bionic to tzdata 2014h.
2014-10-01 17:42:53 +00:00
Elliott Hughes
67cd68a321 am 0d1fa6f2: am 89fd3236: Merge "Fix update-tzdata.py to rebuild icu4c .dat file."
* commit '0d1fa6f29bd60ea08791b8c7f4e9c2fe5728706c':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-01 17:42:52 +00:00
Elliott Hughes
600ab1ca01 am cadccfd7: Merge "Update bionic to tzdata 2014h."
* commit 'cadccfd70821aeb107b8fc0084da04faecbfde2f':
  Update bionic to tzdata 2014h.
2014-10-01 17:38:45 +00:00
Elliott Hughes
0d1fa6f29b am 89fd3236: Merge "Fix update-tzdata.py to rebuild icu4c .dat file."
* commit '89fd32362bb62775aad001802bc79e3f07d7d62f':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-01 17:38:44 +00:00
Elliott Hughes
1f84254edb am cadccfd7: Merge "Update bionic to tzdata 2014h."
* commit 'cadccfd70821aeb107b8fc0084da04faecbfde2f':
  Update bionic to tzdata 2014h.
2014-10-01 17:35:56 +00:00
Elliott Hughes
44ba5935e9 am 89fd3236: Merge "Fix update-tzdata.py to rebuild icu4c .dat file."
* commit '89fd32362bb62775aad001802bc79e3f07d7d62f':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-01 17:35:55 +00:00
Elliott Hughes
cadccfd708 Merge "Update bionic to tzdata 2014h." 2014-10-01 17:20:34 +00:00
Elliott Hughes
89fd32362b Merge "Fix update-tzdata.py to rebuild icu4c .dat file." 2014-10-01 17:00:23 +00:00
Christopher Ferris
7d849ac378 Add stpcpy assembler version.
For generic, continue to use the C version of the code.

Bug: 13746695
Change-Id: I77426a70b06131f2373bb51265bea1240bb3f101
2014-09-30 19:23:26 -07:00
Dan Albert
27d1976f0c am 3c113851: am 81156d93: Merge "Add coverage flag for libm."
* commit '3c1138510e6e8e0b9c87cc5cf45a7a8780aaf961':
  Add coverage flag for libm.
2014-10-01 02:12:33 +00:00
Dan Albert
92df938168 am 81156d93: Merge "Add coverage flag for libm."
* commit '81156d93c557e88379dd3e9d869dcc97a15293f5':
  Add coverage flag for libm.
2014-10-01 01:38:35 +00:00
Dan Albert
3c1138510e am 81156d93: Merge "Add coverage flag for libm."
* commit '81156d93c557e88379dd3e9d869dcc97a15293f5':
  Add coverage flag for libm.
2014-10-01 01:38:13 +00:00
Hans Boehm
76ac4d0853 Make memory_order_acquire visible in global namespace
We were missing that using directive when including <atomic>.

Bug:17736764
Change-Id: Ie8ca92a952749415567bcd5fa21d56629a364660
2014-09-30 18:35:04 -07:00
Dan Albert
81156d93c5 Merge "Add coverage flag for libm." 2014-10-01 01:28:25 +00:00
Elliott Hughes
0c8fb51e6b Update bionic to tzdata 2014h.
From the release notes:

  Changes affecting past time stamps

    America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.

    Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
    not 1920-01-06.  The old entry was based on a misinterpretation of Shanks.

    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: Africa/Blantyre, Africa/Bujumbura,
    Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
    Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.

Bug: 17731498
Change-Id: If65b740d4e3a67075cca770655a1df17952c3da0
2014-09-30 17:35:38 -07:00
Elliott Hughes
f8896c6c93 Fix update-tzdata.py to rebuild icu4c .dat file.
Bug: 17731498
Change-Id: I4c810507c0ca9883dde1bece14530db80485b8f6
2014-09-30 17:30:01 -07:00
Elliott Hughes
420b580cdc am 31052a12: am 252c1ac9: Merge "Update our FreeBSD realpath(3) to upstream head."
* commit '31052a12eb8c339364cd383c5a99997c02436409':
  Update our FreeBSD realpath(3) to upstream head.
2014-10-01 00:08:06 +00:00
Elliott Hughes
d0fb0873f5 am 252c1ac9: Merge "Update our FreeBSD realpath(3) to upstream head."
* commit '252c1ac9738ff6187354f243ef118eac962b65dc':
  Update our FreeBSD realpath(3) to upstream head.
2014-10-01 00:05:58 +00:00
Elliott Hughes
31052a12eb am 252c1ac9: Merge "Update our FreeBSD realpath(3) to upstream head."
* commit '252c1ac9738ff6187354f243ef118eac962b65dc':
  Update our FreeBSD realpath(3) to upstream head.
2014-10-01 00:05:10 +00:00
Dmitriy Ivanov
fe1cfb1e09 am 701cf941: Merge "Fix mips build"
* commit '701cf9419b4df92bd959bbc6f18150f6ae76df7c':
  Fix mips build
2014-09-30 23:57:33 +00:00
Dan Albert
090b25e8a9 am e04aa450: Merge "Clean up the pthread key tests."
* commit 'e04aa450c2b51ea066d1a1c37978cce808d13872':
  Clean up the pthread key tests.
2014-09-30 23:57:33 +00:00
Dan Albert
12e3f22c7c Add coverage flag for libm.
Change-Id: I195d38c5e1f50d1cc6d4353dc8857f11b803b7a3
2014-09-30 16:56:43 -07:00
Elliott Hughes
252c1ac973 Merge "Update our FreeBSD realpath(3) to upstream head." 2014-09-30 23:55:57 +00:00
Dmitriy Ivanov
ad93ccb2a6 am 18ab39b7: am 701cf941: Merge "Fix mips build"
* commit '18ab39b79a4b1df8af1820688196379b5e670018':
  Fix mips build
2014-09-30 23:55:22 +00:00
Dan Albert
af2f7d2db8 am 63de1998: am e04aa450: Merge "Clean up the pthread key tests."
* commit '63de199882ac6a34897f5e6f42387a14b234d975':
  Clean up the pthread key tests.
2014-09-30 23:55:21 +00:00
Dmitriy Ivanov
c1429de2eb am 1f7d5ac5: Merge "Fix unused DT entry warnings."
* commit '1f7d5ac53854a09bbcace08b3a1d1b9cf3f2eed3':
  Fix unused DT entry warnings.
2014-09-30 23:52:10 +00:00
Dan Albert
483319a776 am 0481471b: Merge "Switch benchmarks and tests to libc++."
* commit '0481471b1bb95a90f632a9fb59c7a1767b9836c8':
  Switch benchmarks and tests to libc++.
2014-09-30 23:51:26 +00:00
Dan Albert
c014e66a86 am e49491ad: Merge "Ignore multiple symbol definition errors."
* commit 'e49491ada4c8e7827329b56a93e5377433aa9084':
  Ignore multiple symbol definition errors.
2014-09-30 23:51:25 +00:00
Dmitriy Ivanov
18ab39b79a am 701cf941: Merge "Fix mips build"
* commit '701cf9419b4df92bd959bbc6f18150f6ae76df7c':
  Fix mips build
2014-09-30 23:51:07 +00:00
Dan Albert
63de199882 am e04aa450: Merge "Clean up the pthread key tests."
* commit 'e04aa450c2b51ea066d1a1c37978cce808d13872':
  Clean up the pthread key tests.
2014-09-30 23:51:07 +00:00
Dmitriy Ivanov
701cf9419b Merge "Fix mips build" 2014-09-30 23:42:24 +00:00
Dan Albert
e04aa450c2 Merge "Clean up the pthread key tests." 2014-09-30 23:41:06 +00:00
Elliott Hughes
31e072fc9b Update our FreeBSD realpath(3) to upstream head.
Change-Id: I8c89728184ecd2c1a28a05cefa84a5037d28b552
2014-09-30 16:40:41 -07:00
Dmitriy Ivanov
ecf532fa1c Fix mips build
Change-Id: I4454e69a982f239b168678c5a681d1078b4bd4f1
2014-09-30 16:30:22 -07:00
Dan Albert
c4bcc75f09 Clean up the pthread key tests.
The previous pthread_key_create_many test was really
pthread_key_create_all, which has proven very difficult to test
correctly (because it is affected by any other parts of the system using
pthread keys, and that can vary with test ordering). It also tested
expected values of PTHREAD_KEYS_MAX and the associated sysconf() value,
rather than those being in their own test.

Instead, split this test into a few distinct tests:

 * pthread.pthread_keys_max
 * pthread._SC_THREAD_KEYS_MAX_big_enough_for_POSIX
 * pthread.pthread_key_many_distinct
     * We actually didn't have a test to ensure that the keys we were
       creating were distinct.
 * pthread.pthread_key_EAGAIN
     * Make sure pthread_key_create() will _eventually_ fail with
       EAGAIN, not at a (sometimes incorrectly) predetermined maximum.

Change-Id: Iff1e4fdcc02404094bde0418122c64c227cf1702
2014-09-30 15:40:14 -07:00
Dmitriy Ivanov
addec2929d am 3e05ac0f: am 1f7d5ac5: Merge "Fix unused DT entry warnings."
* commit '3e05ac0ffe333bade13e4961aa4cc0e445f08536':
  Fix unused DT entry warnings.
2014-09-30 22:30:11 +00:00
Dmitriy Ivanov
3e05ac0ffe am 1f7d5ac5: Merge "Fix unused DT entry warnings."
* commit '1f7d5ac53854a09bbcace08b3a1d1b9cf3f2eed3':
  Fix unused DT entry warnings.
2014-09-30 22:26:16 +00:00
Dmitriy Ivanov
1f7d5ac538 Merge "Fix unused DT entry warnings." 2014-09-30 22:14:33 +00:00
Dmitriy Ivanov
6cdeb5234d Fix unused DT entry warnings.
DT_STRSZ Implement strtab boundary checks
 DT_FLAGS_1 Warn if flags other than DF_1_NOW|DF_1_GLOBAL are set

Bug: 17552334
Change-Id: Iaad29cd52f5b2d7d2f785fb351697906dc1617d9
2014-09-30 14:41:29 -07:00
Dan Albert
b0dfdec557 am 9d9b7d7e: am 0481471b: Merge "Switch benchmarks and tests to libc++."
* commit '9d9b7d7e7c55cdc7f10a2882e16b864673a3f7e7':
  Switch benchmarks and tests to libc++.
2014-09-30 17:44:13 +00:00
Dan Albert
75894fc9f1 am 0b5f8c7a: am e49491ad: Merge "Ignore multiple symbol definition errors."
* commit '0b5f8c7a7d82bdaf0a8030f3be6561c0e67e0378':
  Ignore multiple symbol definition errors.
2014-09-30 17:44:13 +00:00
Dan Albert
9d9b7d7e7c am 0481471b: Merge "Switch benchmarks and tests to libc++."
* commit '0481471b1bb95a90f632a9fb59c7a1767b9836c8':
  Switch benchmarks and tests to libc++.
2014-09-30 17:39:04 +00:00
Dan Albert
0b5f8c7a7d am e49491ad: Merge "Ignore multiple symbol definition errors."
* commit 'e49491ada4c8e7827329b56a93e5377433aa9084':
  Ignore multiple symbol definition errors.
2014-09-30 17:39:04 +00:00
Dan Albert
0481471b1b Merge "Switch benchmarks and tests to libc++." 2014-09-30 17:30:57 +00:00
Dan Albert
e49491ada4 Merge "Ignore multiple symbol definition errors." 2014-09-30 17:30:52 +00:00
Dan Albert
3a5aeba4bd Switch benchmarks and tests to libc++.
Change-Id: I3b9c8f8c14a1e227e67ae1977cc29b0e8fccef5d
2014-09-30 10:28:30 -07:00
Dan Albert
d9898c5b82 Ignore multiple symbol definition errors.
libc and libc++ both define std::nothrow. libc's is a private symbol,
but this still causes issues when linking libc.a and libc++.a, since
private isn't effective until it has been linked. To fix this, just
allow multiple symbol definitions for the static tests.

Change-Id: Idbf19fefda47298c39360e3f5b6242b0b1a52fcc
2014-09-30 10:28:30 -07:00
Dmitriy Ivanov
64da5c186d am d1d4e153: am 9997daa0: Merge "Return has_DT_SYMBOLIC flag."
* commit 'd1d4e153e8adb29048b9bf79a41027b49294a47c':
  Return has_DT_SYMBOLIC flag.
2014-09-30 16:56:09 +00:00
Dmitriy Ivanov
d1d4e153e8 am 9997daa0: Merge "Return has_DT_SYMBOLIC flag."
* commit '9997daa0ff8f630bee5d3b8eb0ab15a0ba1e5cf6':
  Return has_DT_SYMBOLIC flag.
2014-09-30 16:50:04 +00:00
Dmitriy Ivanov
02be1b2283 am 9997daa0: Merge "Return has_DT_SYMBOLIC flag."
* commit '9997daa0ff8f630bee5d3b8eb0ab15a0ba1e5cf6':
  Return has_DT_SYMBOLIC flag.
2014-09-30 16:49:46 +00:00
Dmitriy Ivanov
9997daa0ff Merge "Return has_DT_SYMBOLIC flag." 2014-09-30 16:40:27 +00:00
Andrew Hsieh
47f97dedd0 am ccf9a9d4: am b104be32: Merge "Remove arch-mips64/bionic/__get_sp.S"
* commit 'ccf9a9d4498f0bd6d5e16d14741b9d776f5737ab':
  Remove arch-mips64/bionic/__get_sp.S
2014-09-30 06:30:09 +00:00
Christopher Ferris
8211790e3f am 2ef71b1d: am 85a932c0: Merge "Cleanup arm assembly."
* commit '2ef71b1d09afe2557aeafa8d6e230c4161efd3f5':
  Cleanup arm assembly.
2014-09-30 06:30:08 +00:00
Andrew Hsieh
ccf9a9d449 am b104be32: Merge "Remove arch-mips64/bionic/__get_sp.S"
* commit 'b104be321f2538a6e0bbd566bc958537d1f65cef':
  Remove arch-mips64/bionic/__get_sp.S
2014-09-30 06:03:31 +00:00
Christopher Ferris
2ef71b1d09 am 85a932c0: Merge "Cleanup arm assembly."
* commit '85a932c0c9225e0f71d94a0d8cbac85089a398cf':
  Cleanup arm assembly.
2014-09-30 06:03:31 +00:00
Andrew Hsieh
98630f6cb7 am b104be32: Merge "Remove arch-mips64/bionic/__get_sp.S"
* commit 'b104be321f2538a6e0bbd566bc958537d1f65cef':
  Remove arch-mips64/bionic/__get_sp.S
2014-09-30 04:17:06 +00:00
Christopher Ferris
7de591d19b am 85a932c0: Merge "Cleanup arm assembly."
* commit '85a932c0c9225e0f71d94a0d8cbac85089a398cf':
  Cleanup arm assembly.
2014-09-30 04:17:05 +00:00
Andrew Hsieh
b104be321f Merge "Remove arch-mips64/bionic/__get_sp.S" 2014-09-30 00:01:02 +00:00
Andrew Hsieh
b0c0037370 Remove arch-mips64/bionic/__get_sp.S
__get_sp.S doesn't exist

Change-Id: Id84f8904c8022c683263a317a18fabeb50fed992
2014-09-30 07:55:32 +08:00
Christopher Ferris
85a932c0c9 Merge "Cleanup arm assembly." 2014-09-29 23:12:39 +00:00
Christopher Ferris
c8bd2abab2 Cleanup arm assembly.
Remove the old arm directives.
Change the non-local labels to .L labels.
Add cfi directives to strcpy.S.

Change-Id: I9bafee1ffe5d85c92d07cfa8a85338cef9759562
2014-09-29 15:53:10 -07:00
Dan Albert
a0489c0093 am 22b9dec9: am 73e6c9b3: Merge "Static libc++ is being renamed libc++_static."
* commit '22b9dec925a219e6cdada2fbfcbd3a7c72f4fbdc':
  Static libc++ is being renamed libc++_static.
2014-09-29 21:02:32 +00:00
Dan Albert
6251d58e66 am 73e6c9b3: Merge "Static libc++ is being renamed libc++_static."
* commit '73e6c9b39353807aae80170355ec0b67b7a4ce16':
  Static libc++ is being renamed libc++_static.
2014-09-29 20:55:46 +00:00
Dan Albert
22b9dec925 am 73e6c9b3: Merge "Static libc++ is being renamed libc++_static."
* commit '73e6c9b39353807aae80170355ec0b67b7a4ce16':
  Static libc++ is being renamed libc++_static.
2014-09-29 20:55:26 +00:00
Dan Albert
d288a657dd am b3995bff: am 7ca5c4b9: Merge "Make __aeabi_*() symbols weak."
* commit 'b3995bff21c3e1f592dfbb29eb47cbe0e15a53b0':
  Make __aeabi_*() symbols weak.
2014-09-29 19:44:59 +00:00
Dan Albert
c4dd2d05a6 am 68017e28: am 98ab0c52: Merge "Add a dummy libdl.a."
* commit '68017e2875262c8d434dfcb41c15d727a06bc04f':
  Add a dummy libdl.a.
2014-09-29 19:44:59 +00:00
Elliott Hughes
5991f0f1a8 am 3db6ed61: am d644fecc: Merge "Fix gdb could not get shared library list issue"
* commit '3db6ed61eb328a9b4805ab4a736027440a529ad5':
  Fix gdb could not get shared library list issue
2014-09-29 19:44:46 +00:00
Dmitriy Ivanov
96bc37f2e1 Return has_DT_SYMBOLIC flag.
This reverts commit 8f61d99183

 Despite the fact that static linker does all the work while linking
 -Bsymbolic executables, according to the SCO doc following DT_SYMBOLIC
 and DF_SYMBOLIC flags is still a requirement for the dynamic linker
 as well.

 (see http://www.sco.com/developers/gabi/2012-12-31/ch5.dynamic.html)

Change-Id: I23f6a5e9b662e40cdbc462b64feff912431e800c
2014-09-29 12:10:36 -07:00
Dan Albert
73e6c9b393 Merge "Static libc++ is being renamed libc++_static." 2014-09-29 16:08:35 +00:00
Christopher Ferris
429479e5e1 am 0fc3711b: am aa66e882: Merge "Add __memcpy_chk assembly for 64 bit."
* commit '0fc3711b22f4819c5d346fe7507e8800e2a64b09':
  Add __memcpy_chk assembly for 64 bit.
2014-09-29 13:14:06 +00:00
Dan Albert
188d093993 Static libc++ is being renamed libc++_static.
Change-Id: I1596110e4ed7e8f9ab9e2605dfcd9fd0489ca0d1
2014-09-27 09:22:07 -07:00
Dan Albert
b3995bff21 am 7ca5c4b9: Merge "Make __aeabi_*() symbols weak."
* commit '7ca5c4b99b308550e34e185ed632b8a5ad5341ee':
  Make __aeabi_*() symbols weak.
2014-09-27 00:30:06 +00:00
Dan Albert
68017e2875 am 98ab0c52: Merge "Add a dummy libdl.a."
* commit '98ab0c52f5672540c442611d838011be9252079b':
  Add a dummy libdl.a.
2014-09-27 00:30:05 +00:00
Dan Albert
5eb62b3919 am 7ca5c4b9: Merge "Make __aeabi_*() symbols weak."
* commit '7ca5c4b99b308550e34e185ed632b8a5ad5341ee':
  Make __aeabi_*() symbols weak.
2014-09-27 00:29:49 +00:00
Dan Albert
e39c9f87e0 am 98ab0c52: Merge "Add a dummy libdl.a."
* commit '98ab0c52f5672540c442611d838011be9252079b':
  Add a dummy libdl.a.
2014-09-27 00:29:48 +00:00
Dan Albert
7ca5c4b99b Merge "Make __aeabi_*() symbols weak." 2014-09-27 00:19:14 +00:00
Dan Albert
98ab0c52f5 Merge "Add a dummy libdl.a." 2014-09-27 00:19:05 +00:00
Elliott Hughes
f799da9f17 am d644fecc: Merge "Fix gdb could not get shared library list issue"
* commit 'd644fecc8e5eec0107ca4e2011cee0e5c0a10bdd':
  Fix gdb could not get shared library list issue
2014-09-26 23:10:41 +00:00
Elliott Hughes
3db6ed61eb am d644fecc: Merge "Fix gdb could not get shared library list issue"
* commit 'd644fecc8e5eec0107ca4e2011cee0e5c0a10bdd':
  Fix gdb could not get shared library list issue
2014-09-26 23:09:52 +00:00
Elliott Hughes
d644fecc8e Merge "Fix gdb could not get shared library list issue" 2014-09-26 23:01:00 +00:00
Ningsheng Jian
e93be99da0 Fix gdb could not get shared library list issue
Get dynamic flags from phdr table's correct entry rather the first
entry, so that the following DT_DEBUG entry can be set.

Also fix the undefined reference to LoadTask::deleter issue under gcc
-O0 option.

Bug: 17524778
Change-Id: I9c679af197b034761fb739d6c980e628ff2ab84c
2014-09-26 22:58:57 +00:00
Dan Albert
690211fcf8 Make __aeabi_*() symbols weak.
This is needed to avoid multiple symbol definitions when linking with
libstdc++ or with compiler-rt.

Change-Id: I2f713bcff113222f0d2538e49691e715d8a8475d
2014-09-26 15:36:14 -07:00
Dan Albert
a4ed64d4c3 Add a dummy libdl.a.
Change-Id: I4b30b8875f14352bae2948ab8cf544ae818795ab
2014-09-26 15:23:07 -07:00
Christopher Ferris
0fc3711b22 am aa66e882: Merge "Add __memcpy_chk assembly for 64 bit."
* commit 'aa66e8828048d8d6fd7e4bb9c5e341ed89614266':
  Add __memcpy_chk assembly for 64 bit.
2014-09-26 21:04:56 +00:00
Christopher Ferris
1d8b9213a9 am aa66e882: Merge "Add __memcpy_chk assembly for 64 bit."
* commit 'aa66e8828048d8d6fd7e4bb9c5e341ed89614266':
  Add __memcpy_chk assembly for 64 bit.
2014-09-26 21:04:41 +00:00
Christopher Ferris
aa66e88280 Merge "Add __memcpy_chk assembly for 64 bit." 2014-09-26 20:39:21 +00:00
Christopher Ferris
8cf61dab5f Add __memcpy_chk assembly for 64 bit.
Bug: 17623887
Change-Id: I443723bc941b40f84884b330d222baabee01f868
2014-09-26 12:47:04 -07:00
Elliott Hughes
6be4e2c648 am 0d7599e0: am aaad5485: Merge "Re-expose more stdio implementation details for LP32." into lmp-dev
* commit '0d7599e0b58a6916eeb1d2b62e5cc33fd8da1b3a':
  Re-expose more stdio implementation details for LP32.
2014-09-26 15:24:41 +00:00
Christopher Ferris
d518b91cde am 860f51d7: am 6c69afdb: Fix sys_stat.mkfifo when not run as root.
* commit '860f51d7f2efde058716376fcacc2746a9041c41':
  Fix sys_stat.mkfifo when not run as root.
2014-09-26 15:24:41 +00:00
Elliott Hughes
0d7599e0b5 am aaad5485: Merge "Re-expose more stdio implementation details for LP32." into lmp-dev
* commit 'aaad548535c34e2bba16b2a0b71173e0ae4b16c0':
  Re-expose more stdio implementation details for LP32.
2014-09-26 00:22:27 +00:00
Christopher Ferris
860f51d7f2 am 6c69afdb: Fix sys_stat.mkfifo when not run as root.
* commit '6c69afdb6ddd56e011b59e3060f12a5bdffb5f5c':
  Fix sys_stat.mkfifo when not run as root.
2014-09-26 00:22:26 +00:00
Dan Albert
b812af0557 am 775c852e: am 852d4fbb: Merge "Prevent benchmarks from being optimized away."
* commit '775c852e14554689b957996acf7da17b8afbb34a':
  Prevent benchmarks from being optimized away.
2014-09-25 23:26:16 +00:00
Dan Albert
775c852e14 am 852d4fbb: Merge "Prevent benchmarks from being optimized away."
* commit '852d4fbbe9ddee0261c6b3dcadcd75185157ed46':
  Prevent benchmarks from being optimized away.
2014-09-25 23:14:43 +00:00
Dan Albert
4247fbd6f9 am 852d4fbb: Merge "Prevent benchmarks from being optimized away."
* commit '852d4fbbe9ddee0261c6b3dcadcd75185157ed46':
  Prevent benchmarks from being optimized away.
2014-09-25 23:14:39 +00:00
Dan Albert
852d4fbbe9 Merge "Prevent benchmarks from being optimized away." 2014-09-25 22:52:53 +00:00
Dan Albert
055a59c3ed Prevent benchmarks from being optimized away.
Change-Id: I2d27b39ecdfc50e78098314567c295a2f113f8d3
2014-09-25 15:43:48 -07:00
Elliott Hughes
a3ab14c054 am 184fd813: am 17e7d320: Merge "Re-expose more stdio implementation details for LP32."
* commit '184fd8135c193be8a5d0b51e20fe5b86374913f1':
  Re-expose more stdio implementation details for LP32.
2014-09-25 03:42:05 +00:00
Elliott Hughes
184fd8135c am 17e7d320: Merge "Re-expose more stdio implementation details for LP32."
* commit '17e7d3208c68ff69819179d8a63ca234be2d1ab9':
  Re-expose more stdio implementation details for LP32.
2014-09-25 03:31:24 +00:00
Elliott Hughes
94503a1578 am 17e7d320: Merge "Re-expose more stdio implementation details for LP32."
* commit '17e7d3208c68ff69819179d8a63ca234be2d1ab9':
  Re-expose more stdio implementation details for LP32.
2014-09-25 03:31:19 +00:00
Elliott Hughes
e74a9d0b35 am aaad5485: Merge "Re-expose more stdio implementation details for LP32." into lmp-dev
* commit 'aaad548535c34e2bba16b2a0b71173e0ae4b16c0':
  Re-expose more stdio implementation details for LP32.
2014-09-25 03:13:56 +00:00
Elliott Hughes
17e7d3208c Merge "Re-expose more stdio implementation details for LP32." 2014-09-25 03:08:23 +00:00
Elliott Hughes
abefc93ff3 Re-expose more stdio implementation details for LP32.
Keeps a variety of apps running.

(cherry-pick of 5def2f5aecd968e4022b0afbe4441fa7ba3e7c7e.)

Bug: 17047819
Change-Id: I55882ec95f2b59a5df76e5a89c23aa315609e01d
2014-09-24 20:07:10 -07:00
Christopher Ferris
7a941b86e1 am 17c23691: am a864e72b: Merge "Fix sys_stat.mkfifo when not run as root."
* commit '17c236912ba89dfba11887b7e73bf31e0780f6df':
  Fix sys_stat.mkfifo when not run as root.
2014-09-25 00:27:51 +00:00
Christopher Ferris
10c951bf38 am a864e72b: Merge "Fix sys_stat.mkfifo when not run as root."
* commit 'a864e72b566234fdc41344725aa9b4f47c5baba3':
  Fix sys_stat.mkfifo when not run as root.
2014-09-25 00:17:22 +00:00
Christopher Ferris
17c236912b am a864e72b: Merge "Fix sys_stat.mkfifo when not run as root."
* commit 'a864e72b566234fdc41344725aa9b4f47c5baba3':
  Fix sys_stat.mkfifo when not run as root.
2014-09-25 00:17:18 +00:00
Christopher Ferris
a864e72b56 Merge "Fix sys_stat.mkfifo when not run as root." 2014-09-24 23:56:06 +00:00
Christopher Ferris
983de79b36 am 6c69afdb: Fix sys_stat.mkfifo when not run as root.
* commit '6c69afdb6ddd56e011b59e3060f12a5bdffb5f5c':
  Fix sys_stat.mkfifo when not run as root.
2014-09-24 23:55:08 +00:00
Christopher Ferris
528ad742c6 Fix sys_stat.mkfifo when not run as root.
It's not allowed for a shell user to create a fifo in /data/local/tmp.
Make the test do nothing if not run as root.

Bug: 17646702

(cherry picked from commit 6c69afdb6d)

Change-Id: Ia3a862ed4586413b7bb393557ab57e0a7141d888
2014-09-24 16:50:30 -07:00
Elliott Hughes
e5ffc54701 am a15cff61: am 567d3fcb: Merge "Switch to OpenBSD fopen/fclose."
* commit 'a15cff614f894933d00ec7256c9762ac76d64178':
  Switch to OpenBSD fopen/fclose.
2014-09-24 20:57:23 +00:00
Elliott Hughes
4d1d536fc4 am 4492dde6: am 4fcfd3a4: Merge "Sync with current upstream getopt_long.c."
* commit '4492dde63e1d1a22a5708906102284b1fb06e5dc':
  Sync with current upstream getopt_long.c.
2014-09-24 20:57:23 +00:00
Elliott Hughes
a15cff614f am 567d3fcb: Merge "Switch to OpenBSD fopen/fclose."
* commit '567d3fcb7ece287a84912183e91eff851fa48fc2':
  Switch to OpenBSD fopen/fclose.
2014-09-24 20:45:22 +00:00
Elliott Hughes
4492dde63e am 4fcfd3a4: Merge "Sync with current upstream getopt_long.c."
* commit '4fcfd3a474ae5a9e5095ca92a10a8aaa0a3dae5a':
  Sync with current upstream getopt_long.c.
2014-09-24 20:45:22 +00:00
Elliott Hughes
49471f3809 am 567d3fcb: Merge "Switch to OpenBSD fopen/fclose."
* commit '567d3fcb7ece287a84912183e91eff851fa48fc2':
  Switch to OpenBSD fopen/fclose.
2014-09-24 20:44:46 +00:00
Elliott Hughes
d98cac5fbb am 4fcfd3a4: Merge "Sync with current upstream getopt_long.c."
* commit '4fcfd3a474ae5a9e5095ca92a10a8aaa0a3dae5a':
  Sync with current upstream getopt_long.c.
2014-09-24 20:44:45 +00:00
Elliott Hughes
567d3fcb7e Merge "Switch to OpenBSD fopen/fclose." 2014-09-24 20:24:48 +00:00
Elliott Hughes
4fcfd3a474 Merge "Sync with current upstream getopt_long.c." 2014-09-24 20:24:19 +00:00
Elliott Hughes
af12924f67 Sync with current upstream getopt_long.c.
Change-Id: I269195aa581a688fd3eb99552d506b8f5f6a8395
2014-09-24 12:39:34 -07:00
Elliott Hughes
3da19dffb3 am def2d26a: am f05410ed: Merge "Sync with upstream findfp.c."
* commit 'def2d26a5dcb0436fe133c7dbd9008b01982083d':
  Sync with upstream findfp.c.
2014-09-24 18:22:27 +00:00
Elliott Hughes
5a69da8d7a Switch to OpenBSD fopen/fclose.
This means all our stdio implementation is now the OpenBSD implementation.
The only thing we lose is the STDIO_THREAD_LOCK calls but they were no-ops
anyway.

We should probably talk to upstream about this. Either fix the locking or,
preferably, encourage them to move away from this pooling (especially since
there's no eviction policy).

Bug: 17154680
Change-Id: Ie2523e444a7d0965b8d141d57e3e11f6432d5b9a
2014-09-24 11:14:36 -07:00
Elliott Hughes
def2d26a5d am f05410ed: Merge "Sync with upstream findfp.c."
* commit 'f05410edc634040f96643b8f378320faddfef423':
  Sync with upstream findfp.c.
2014-09-24 18:09:47 +00:00
Elliott Hughes
7a2a1a8b6c am f05410ed: Merge "Sync with upstream findfp.c."
* commit 'f05410edc634040f96643b8f378320faddfef423':
  Sync with upstream findfp.c.
2014-09-24 18:09:37 +00:00
Dan Albert
5023cbd146 am 9b73b6bf: am 21db6ff1: Merge "Coverage configs for bionic."
* commit '9b73b6bf6327ff94a2e26d0ab60709989a6751c7':
  Coverage configs for bionic.
2014-09-24 17:56:37 +00:00
Dan Albert
fff829d9cd am 13b50586: am 4a6e7110: Merge "Add a dummy atexit(3) to the linker."
* commit '13b50586da02270a93a1ab666c0290a2bbfa4289':
  Add a dummy atexit(3) to the linker.
2014-09-24 17:56:36 +00:00
Elliott Hughes
f05410edc6 Merge "Sync with upstream findfp.c." 2014-09-24 17:48:59 +00:00
Dan Albert
0d78bad579 am 21db6ff1: Merge "Coverage configs for bionic."
* commit '21db6ff108a8df43582bf2ca0d7d6c925f26b5e5':
  Coverage configs for bionic.
2014-09-24 17:45:54 +00:00
Dan Albert
8be25c646d am 4a6e7110: Merge "Add a dummy atexit(3) to the linker."
* commit '4a6e71100e9c99b90b517be5a8e1c21616772d16':
  Add a dummy atexit(3) to the linker.
2014-09-24 17:45:54 +00:00
Dan Albert
9b73b6bf63 am 21db6ff1: Merge "Coverage configs for bionic."
* commit '21db6ff108a8df43582bf2ca0d7d6c925f26b5e5':
  Coverage configs for bionic.
2014-09-24 17:45:24 +00:00
Dan Albert
13b50586da am 4a6e7110: Merge "Add a dummy atexit(3) to the linker."
* commit '4a6e71100e9c99b90b517be5a8e1c21616772d16':
  Add a dummy atexit(3) to the linker.
2014-09-24 17:45:23 +00:00
Elliott Hughes
c08c25b4c9 Sync with upstream findfp.c.
Change-Id: Ib298f46de0c4d0fd4ce0a9b456c163e8b8b06342
2014-09-24 10:32:30 -07:00
Dan Albert
56da92b213 am c3c75301: am 086bb382: Fix incorrect parameter types for locale funcs.
* commit 'c3c75301b1592a5a3c913a72e92da3bfd7b49ad1':
  Fix incorrect parameter types for locale funcs.
2014-09-24 17:31:54 +00:00
Dan Albert
21db6ff108 Merge "Coverage configs for bionic." 2014-09-24 17:28:04 +00:00
Dan Albert
4a6e71100e Merge "Add a dummy atexit(3) to the linker." 2014-09-24 17:27:38 +00:00
Dan Albert
c2d39088d8 Coverage configs for bionic.
Bug: 17553780
Change-Id: Iee7d0c210e2379e71e0c1e4e7058bce23f61e8cd
2014-09-24 10:26:41 -07:00
Dan Albert
9a05e3818a Add a dummy atexit(3) to the linker.
This is needed when building the linker against a libc that was built
with coverage information.

Bug: 17553780
Change-Id: If131002e067dd7768fc657c30e62c42a45c05ace
2014-09-24 10:26:41 -07:00
Dan Albert
c3c75301b1 am 086bb382: Fix incorrect parameter types for locale funcs.
* commit '086bb382db3de7459bc5fad6bb1c257ca331b0e8':
  Fix incorrect parameter types for locale funcs.
2014-09-24 17:24:11 +00:00
Dan Albert
22c07f16df am d51ca155: am fc5a93f7: Merge "Fix incorrect parameter types for locale funcs."
* commit 'd51ca1556753fed5f20cd09a8608d0ee1553e41c':
  Fix incorrect parameter types for locale funcs.
2014-09-24 17:18:35 +00:00
Elliott Hughes
9c12d60f3d am fe1e08f6: am ebf37e38: Merge "Switch to OpenBSD flags.c."
* commit 'fe1e08f61c1514757e66b2295a354816afb81816':
  Switch to OpenBSD flags.c.
2014-09-24 17:18:26 +00:00
Christopher Ferris
bd14d312f4 am 7eb3f742: am 04643c18: Merge "Remove the unnecessary generic-neon code."
* commit '7eb3f742b4ea9bc3d321b241be86e6828a28dc73':
  Remove the unnecessary generic-neon code.
2014-09-24 17:17:06 +00:00
Elliott Hughes
55078ef297 am 39e47991: am c57e5c82: Merge "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps."
* commit '39e479913c30d003cac0716bb27352fc191c7617':
  CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
2014-09-24 17:16:59 +00:00
Dan Albert
81981b7301 am 086bb382: Fix incorrect parameter types for locale funcs.
* commit '086bb382db3de7459bc5fad6bb1c257ca331b0e8':
  Fix incorrect parameter types for locale funcs.
2014-09-24 16:52:32 +00:00
Dan Albert
b14a903421 am fc5a93f7: Merge "Fix incorrect parameter types for locale funcs."
* commit 'fc5a93f7a2ea2be740f2c909e8a6a192fa65adc8':
  Fix incorrect parameter types for locale funcs.
2014-09-24 16:13:50 +00:00
Dan Albert
d51ca15567 am fc5a93f7: Merge "Fix incorrect parameter types for locale funcs."
* commit 'fc5a93f7a2ea2be740f2c909e8a6a192fa65adc8':
  Fix incorrect parameter types for locale funcs.
2014-09-24 16:13:43 +00:00
Dan Albert
fc5a93f7a2 Merge "Fix incorrect parameter types for locale funcs." 2014-09-24 16:00:07 +00:00
Elliott Hughes
fe1e08f61c am ebf37e38: Merge "Switch to OpenBSD flags.c."
* commit 'ebf37e38861e376ae47c72d45ab8de6703dd18f0':
  Switch to OpenBSD flags.c.
2014-09-24 05:08:58 +00:00
Elliott Hughes
f6067fa2e0 am ebf37e38: Merge "Switch to OpenBSD flags.c."
* commit 'ebf37e38861e376ae47c72d45ab8de6703dd18f0':
  Switch to OpenBSD flags.c.
2014-09-24 05:08:23 +00:00
Elliott Hughes
ebf37e3886 Merge "Switch to OpenBSD flags.c." 2014-09-24 04:50:45 +00:00
Christopher Ferris
f5da2641c3 am 04643c18: Merge "Remove the unnecessary generic-neon code."
* commit '04643c181c3256348a6fd78e54c8bc5527ad0b0a':
  Remove the unnecessary generic-neon code.
2014-09-24 04:15:16 +00:00
Christopher Ferris
7eb3f742b4 am 04643c18: Merge "Remove the unnecessary generic-neon code."
* commit '04643c181c3256348a6fd78e54c8bc5527ad0b0a':
  Remove the unnecessary generic-neon code.
2014-09-24 04:15:10 +00:00
Christopher Ferris
04643c181c Merge "Remove the unnecessary generic-neon code." 2014-09-24 04:01:23 +00:00
Elliott Hughes
a71b4c3f14 Switch to OpenBSD flags.c.
Change-Id: I0a35e5bd9f8edba27e0c73e5c8150636346d6a81
2014-09-23 20:02:42 -07:00
Elliott Hughes
39e479913c am c57e5c82: Merge "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps."
* commit 'c57e5c828914714a283dd41f0a4adb064f6b8763':
  CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
2014-09-24 02:14:31 +00:00
Elliott Hughes
42317a0e50 am c57e5c82: Merge "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps."
* commit 'c57e5c828914714a283dd41f0a4adb064f6b8763':
  CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
2014-09-24 02:10:59 +00:00
Elliott Hughes
c57e5c8289 Merge "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps." 2014-09-24 01:49:06 +00:00
Christopher Ferris
2169e17482 Remove the unnecessary generic-neon code.
Change-Id: Ib75c33caafd76750ec1aca3a74dec5e4b881e965
2014-09-23 18:31:45 -07:00
Elliott Hughes
31165edf57 CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
Change-Id: I74ea88e0d4973d6ab3c57da7d8bb643c31592b14
2014-09-23 18:21:52 -07:00
Dan Albert
3c5037f1b3 Fix incorrect parameter types for locale funcs.
strtoll(3), strtoull(3), wcstoll(3), and wcstoull(3) all take an _int_
as a base, not a size_t. This is an ABI compatibility issue.

Bug: 17628622
Change-Id: I17f8eead34ce2112005899fc30162067573023ec
2014-09-23 15:32:24 -07:00
Elliott Hughes
671bee9cdb am 151c3e0a: am 87b6906f: Merge "Pull in upstream fixes to reject invalid bases."
* commit '151c3e0a220f7b90695bda3e05364c11ba56f46a':
  Pull in upstream fixes to reject invalid bases.
2014-09-23 22:23:47 +00:00
Elliott Hughes
151c3e0a22 am 87b6906f: Merge "Pull in upstream fixes to reject invalid bases."
* commit '87b6906f6e0c17b2541535be8e054324cc2fef4a':
  Pull in upstream fixes to reject invalid bases.
2014-09-23 22:13:17 +00:00
Elliott Hughes
0d44da9eb4 am 87b6906f: Merge "Pull in upstream fixes to reject invalid bases."
* commit '87b6906f6e0c17b2541535be8e054324cc2fef4a':
  Pull in upstream fixes to reject invalid bases.
2014-09-23 22:12:57 +00:00
Elliott Hughes
46fc634758 am e4cdb462: am 86421653: Merge "Sync with some upstream OpenBSD #include cleanup."
* commit 'e4cdb462dd955576c7b5cde6d2cb65d234536f36':
  Sync with some upstream OpenBSD #include cleanup.
2014-09-23 21:59:58 +00:00
Elliott Hughes
66c47bd60c am c7ee90e4: am 0ab5fd9a: Merge "Switch to OpenBSD insque/remque/killpg."
* commit 'c7ee90e4c142184eafb523a974d6980a9c8976e8':
  Switch to OpenBSD insque/remque/killpg.
2014-09-23 21:59:57 +00:00
Elliott Hughes
87b6906f6e Merge "Pull in upstream fixes to reject invalid bases." 2014-09-23 21:59:15 +00:00
Elliott Hughes
b05ec5ae93 Pull in upstream fixes to reject invalid bases.
Also add tests to make sure the full set works correctly.

Change-Id: I3e7f237f12c9c93e1185a97c9717803e7e55a73c
2014-09-23 14:53:10 -07:00
Elliott Hughes
e4cdb462dd am 86421653: Merge "Sync with some upstream OpenBSD #include cleanup."
* commit '8642165344217877b8a70811d19e09b584a0e10a':
  Sync with some upstream OpenBSD #include cleanup.
2014-09-23 21:49:18 +00:00
Elliott Hughes
c7ee90e4c1 am 0ab5fd9a: Merge "Switch to OpenBSD insque/remque/killpg."
* commit '0ab5fd9a5af4cd00572e4881f46c1e6f974f657c':
  Switch to OpenBSD insque/remque/killpg.
2014-09-23 21:49:17 +00:00
Elliott Hughes
3a86c0fd90 am 86421653: Merge "Sync with some upstream OpenBSD #include cleanup."
* commit '8642165344217877b8a70811d19e09b584a0e10a':
  Sync with some upstream OpenBSD #include cleanup.
2014-09-23 21:48:00 +00:00
Elliott Hughes
0c1008b9d8 am 0ab5fd9a: Merge "Switch to OpenBSD insque/remque/killpg."
* commit '0ab5fd9a5af4cd00572e4881f46c1e6f974f657c':
  Switch to OpenBSD insque/remque/killpg.
2014-09-23 21:48:00 +00:00
Elliott Hughes
8642165344 Merge "Sync with some upstream OpenBSD #include cleanup." 2014-09-23 21:27:29 +00:00
Elliott Hughes
0ab5fd9a5a Merge "Switch to OpenBSD insque/remque/killpg." 2014-09-23 21:26:27 +00:00
Elliott Hughes
49eed7db79 Switch to OpenBSD insque/remque/killpg.
Change-Id: Ie02290ad3187b1c1596dd776fd1c8a743a55f7ef
2014-09-23 14:06:56 -07:00
Elliott Hughes
08dc9d83a2 Sync with some upstream OpenBSD #include cleanup.
Change-Id: Ibcd7adb19e9a6b9ad8c24d77e23935f19f56a144
2014-09-23 13:55:15 -07:00
Elliott Hughes
719e8a4b88 am 5d953ddd: am 93951cfa: Merge "Fix a couple more cases of missing CLOEXEC."
* commit '5d953ddd40445f337c1f54a4fb1e2b3741245809':
  Fix a couple more cases of missing CLOEXEC.
2014-09-23 16:20:22 +00:00
Elliott Hughes
1decd9642d am f06c55ac: am e8a95624: Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."
* commit 'f06c55ac43dfcdb233be195ca770a9ad25517149':
  Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
2014-09-23 16:20:07 +00:00
Elliott Hughes
9c8e85f60d am 12766c45: am b2da4562: Merge "Clean up fpathconf(3)/pathconf(3)."
* commit '12766c458e06e8d3a7f27d1b079443827b40aa48':
  Clean up fpathconf(3)/pathconf(3).
2014-09-23 16:20:00 +00:00
Elliott Hughes
da08f6ca5f am c0226cc7: am d9cb0ed2: Merge "Unit test for abort(3)."
* commit 'c0226cc767580b9b3cd097ab77557c721b4b2c88':
  Unit test for abort(3).
2014-09-23 16:19:57 +00:00
Elliott Hughes
5d953ddd40 am 93951cfa: Merge "Fix a couple more cases of missing CLOEXEC."
* commit '93951cfa96c3c7504a78f94e7ec408936e5db9bf':
  Fix a couple more cases of missing CLOEXEC.
2014-09-23 01:40:10 +00:00
Elliott Hughes
c65a1d5ee0 am 93951cfa: Merge "Fix a couple more cases of missing CLOEXEC."
* commit '93951cfa96c3c7504a78f94e7ec408936e5db9bf':
  Fix a couple more cases of missing CLOEXEC.
2014-09-23 01:39:11 +00:00
Elliott Hughes
93951cfa96 Merge "Fix a couple more cases of missing CLOEXEC." 2014-09-23 01:19:52 +00:00
Elliott Hughes
0dc39f9952 Fix a couple more cases of missing CLOEXEC.
The debuggerd case can probably never happen, because you're crashing at this
point anyway. The system property one seems possible though.

Change-Id: Idba6a4f1d68587ec5b320d1e25f0b6a987ea32a0
2014-09-22 17:43:09 -07:00
Elliott Hughes
eaf288d100 am e8a95624: Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."
* commit 'e8a95624b6ee37f7ee85f0318f1fccd916292ebd':
  Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
2014-09-22 23:47:29 +00:00
Elliott Hughes
f06c55ac43 am e8a95624: Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."
* commit 'e8a95624b6ee37f7ee85f0318f1fccd916292ebd':
  Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
2014-09-22 23:46:23 +00:00
Elliott Hughes
e8a95624b6 Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)." 2014-09-22 23:28:32 +00:00
Elliott Hughes
34c987a6dd Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
Change-Id: I5a623fa1e1da55f11d51f3a9bdfa0627698c486f
2014-09-22 16:27:19 -07:00
Elliott Hughes
1f2e845f9a am b2da4562: Merge "Clean up fpathconf(3)/pathconf(3)."
* commit 'b2da45625353336452112e28872310903dc70a8f':
  Clean up fpathconf(3)/pathconf(3).
2014-09-22 23:05:35 +00:00
Elliott Hughes
12766c458e am b2da4562: Merge "Clean up fpathconf(3)/pathconf(3)."
* commit 'b2da45625353336452112e28872310903dc70a8f':
  Clean up fpathconf(3)/pathconf(3).
2014-09-22 23:04:51 +00:00
Elliott Hughes
b2da456253 Merge "Clean up fpathconf(3)/pathconf(3)." 2014-09-22 22:50:11 +00:00
Elliott Hughes
a186b2e0ca Clean up fpathconf(3)/pathconf(3).
fpathconf(3) and pathconf(3) can share code. There's no such
header file as <pathconf.h>. glibc/POSIX and BSD disagree about where
the _POSIX_* definitions should go.

Change-Id: I4a67f1595c9f5fbb26700a131178eedebd6bf712
2014-09-22 22:49:40 +00:00
Elliott Hughes
3ff4698f0a am d9cb0ed2: Merge "Unit test for abort(3)."
* commit 'd9cb0ed281f0301ec2ca6828f0acc1ed08dceb8a':
  Unit test for abort(3).
2014-09-22 22:08:38 +00:00
Elliott Hughes
c0226cc767 am d9cb0ed2: Merge "Unit test for abort(3)."
* commit 'd9cb0ed281f0301ec2ca6828f0acc1ed08dceb8a':
  Unit test for abort(3).
2014-09-22 22:08:03 +00:00
Elliott Hughes
d9cb0ed281 Merge "Unit test for abort(3)." 2014-09-22 21:46:56 +00:00
Elliott Hughes
60452a211c Unit test for abort(3).
Change-Id: I021604b977572801f228a193741624df26e76d72
2014-09-22 14:41:30 -07:00
Elliott Hughes
6c960a2121 am 34732f1a: am 9f423c55: Merge "Use the uapi fs magic in <sys/vfs.h>."
* commit '34732f1a17521f0fd744b977cd917df998c879e6':
  Use the uapi fs magic in <sys/vfs.h>.
2014-09-22 17:23:15 +00:00
Elliott Hughes
bb54a0d47a am 9f423c55: Merge "Use the uapi fs magic in <sys/vfs.h>."
* commit '9f423c554a0ffcee2e34472bf0bc1aef3621a822':
  Use the uapi fs magic in <sys/vfs.h>.
2014-09-22 17:08:51 +00:00
Elliott Hughes
34732f1a17 am 9f423c55: Merge "Use the uapi fs magic in <sys/vfs.h>."
* commit '9f423c554a0ffcee2e34472bf0bc1aef3621a822':
  Use the uapi fs magic in <sys/vfs.h>.
2014-09-22 17:08:49 +00:00
Elliott Hughes
9f423c554a Merge "Use the uapi fs magic in <sys/vfs.h>." 2014-09-22 16:51:07 +00:00
Elliott Hughes
c296e4f151 Use the uapi fs magic in <sys/vfs.h>.
Change-Id: I712b856a6d786bba400c9a8d08f596b826403731
2014-09-22 09:47:21 -07:00
Elliott Hughes
18a229d29e am 31c5030d: am 413de5b0: Merge "Add semaphore tests, fix sem_destroy."
* commit '31c5030d9f4297ee99cbd05cd2aa451e7602d74d':
  Add semaphore tests, fix sem_destroy.
2014-09-20 20:23:45 +00:00
Elliott Hughes
31c5030d9f am 413de5b0: Merge "Add semaphore tests, fix sem_destroy."
* commit '413de5b0d4ddcf039aaef8b40a5f02d41dbb06e6':
  Add semaphore tests, fix sem_destroy.
2014-09-20 20:09:50 +00:00
Elliott Hughes
7d8796feaa am 413de5b0: Merge "Add semaphore tests, fix sem_destroy."
* commit '413de5b0d4ddcf039aaef8b40a5f02d41dbb06e6':
  Add semaphore tests, fix sem_destroy.
2014-09-20 20:06:21 +00:00
Christopher Ferris
b03f2831b8 am b743da01: am e7160449: Merge "Remove references to MALLOC_LEAK_CHECK."
* commit 'b743da019164231da807000af8440e646da45b99':
  Remove references to MALLOC_LEAK_CHECK.
2014-09-20 03:14:53 +00:00
Christopher Ferris
b743da0191 am e7160449: Merge "Remove references to MALLOC_LEAK_CHECK."
* commit 'e716044918d85cd3c34425779a09a24348f7f67a':
  Remove references to MALLOC_LEAK_CHECK.
2014-09-20 02:54:07 +00:00
Elliott Hughes
413de5b0d4 Merge "Add semaphore tests, fix sem_destroy." 2014-09-20 01:34:11 +00:00
Christopher Ferris
1b0654f4a7 am e7160449: Merge "Remove references to MALLOC_LEAK_CHECK."
* commit 'e716044918d85cd3c34425779a09a24348f7f67a':
  Remove references to MALLOC_LEAK_CHECK.
2014-09-20 00:50:08 +00:00
Elliott Hughes
04303f5a8a Add semaphore tests, fix sem_destroy.
Bug: https://code.google.com/p/android/issues/detail?id=76088
Change-Id: I4a0561b23e90312384d40a1c804ca64ee98f4066
2014-09-19 17:37:06 -07:00
Christopher Ferris
e716044918 Merge "Remove references to MALLOC_LEAK_CHECK." 2014-09-20 00:29:09 +00:00
Christopher Ferris
6fe376d392 Remove references to MALLOC_LEAK_CHECK.
This define isn't really used any more.

Bug: 17378595
Change-Id: I39722b83cd98955a3a2514577de34a239524617f
2014-09-19 17:15:12 -07:00
Elliott Hughes
9dd308d0c3 am ff4187e9: am adc01348: Merge "Add greg_t for arm64."
* commit 'ff4187e9a34a84e3f08e259ab7080b55a47eb3c3':
  Add greg_t for arm64.
2014-09-19 18:40:12 +00:00
Elliott Hughes
ff4187e9a3 am adc01348: Merge "Add greg_t for arm64."
* commit 'adc01348ee51a4ad678b1c277f85cbbed5c2e728':
  Add greg_t for arm64.
2014-09-19 18:24:40 +00:00
Elliott Hughes
954782240e am adc01348: Merge "Add greg_t for arm64."
* commit 'adc01348ee51a4ad678b1c277f85cbbed5c2e728':
  Add greg_t for arm64.
2014-09-19 18:23:59 +00:00
Elliott Hughes
adc01348ee Merge "Add greg_t for arm64." 2014-09-19 18:01:23 +00:00
Elliott Hughes
8e4d371091 Add greg_t for arm64.
This was already present for the other architectures. I think we skipped
this because glibc seems to have an incorrect definition (int rather than
long), but the kernel has the sane definition (just not in a uapi header).

Change-Id: I0d47a424b505804389853dd8632693dad55a3907
2014-09-19 10:31:49 -07:00
Dan Albert
93b294f26b am abc5e4db: am 13d6023a: Merge "Exclude libstdc++ from linked libraries."
* commit 'abc5e4db15b3b1cc31c1f2a01d19581f66fec2a0':
  Exclude libstdc++ from linked libraries.
2014-09-19 08:32:10 +00:00
Christopher Ferris
d7fc04aa7b am b925c1c7: am d5e1c583: Merge "Move to v3.16.3 kernel headers."
* commit 'b925c1c78da02e117afb04ccb637117c1704c166':
  Move to v3.16.3 kernel headers.
2014-09-19 08:31:05 +00:00
Elliott Hughes
643c712b22 am c12827e5: am fb8d60f7: Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."
* commit 'c12827e5f9589649839d1a31345bdcf028973bbb':
  Fix lgamma_r/lgammaf_r/lgammal_r for -0.
2014-09-19 08:31:04 +00:00
Elliott Hughes
0ac1ba5592 am 9969481d: Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
* commit '9969481d5bf05954fff9c0f3d1c95bb99c36b9a8':
  Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
2014-09-19 08:27:03 +00:00
Elliott Hughes
703544f299 am c189ffaa: More cases where libc should use O_CLOEXEC.
* commit 'c189ffaaec45efb49e785517e504b41a5e57b088':
  More cases where libc should use O_CLOEXEC.
2014-09-19 08:27:03 +00:00
Dan Albert
50cc4a25c0 am 411ff42f: Hide ScopedTrace.
* commit '411ff42f20729200c0fc2e24a83bc1dcd7a42a51':
  Hide ScopedTrace.
2014-09-19 08:27:00 +00:00
Elliott Hughes
0b356b2213 am d0be539e: (-s ours) Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
* commit 'd0be539e01424fa720840dfe702dedf8e54379fb':
  Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
2014-09-19 08:26:59 +00:00
Elliott Hughes
7f4a8e8579 am 7d3a8cf6: am 82e71085: Merge "The nextafter functions use the wrong next representable value"
* commit '7d3a8cf66768118fb1384384469aae2647d9d4ef':
2014-09-19 08:13:51 +00:00
Elliott Hughes
fee7bbb8ab am 397335a0: am 6ced0051: Merge "Stack unwinding unit tests."
* commit '397335a0c89058361ecb5d5f67bc4134d441c099':
2014-09-19 08:13:50 +00:00
Christopher Ferris
98f03fe4aa am cd7f93d3: am 0bd28a43: Merge "Update kernel uapi headers to v3.16.1."
* commit 'cd7f93d31f9d8f16cbd730f493964076bccc4d28':
2014-09-19 08:11:19 +00:00
Dmitriy Ivanov
d37685b39a am e7c3c9e9: am 6a310f4a: Merge "Temporary disable DL_WARNs for unused DT_*"
* commit 'e7c3c9e91f04a566f250c37b94f04e1a50b65317':
2014-09-19 08:10:49 +00:00
Dmitriy Ivanov
ac6149369c am e594a6e9: am 77784cb9: Merge "Add Android*.mk files to additional dependencies"
* commit 'e594a6e9a88ad73461f7c753a906d069b91d1a05':
2014-09-19 08:10:03 +00:00
Elliott Hughes
bc62d3d067 am a9a920d5: am 03fef1f5: Merge "Fix some 32-bit-isms in <stdio.h>."
* commit 'a9a920d52aa3f1d28541b8b8d12fd33688eb8dfb':
2014-09-19 08:09:27 +00:00
Elliott Hughes
01b9019eef am de3b2bfe: am 2f5cf100: Merge "Pull input.h from v3.16.1 kernel headers."
* commit 'de3b2bfe114d1f280b38f1ff7cb90ecb8cf91b01':
2014-09-19 08:09:26 +00:00
Elliott Hughes
a815fe12e7 am 18ce8e5d: am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '18ce8e5d031225b33c7815ccd18ac0099a437ae1':
2014-09-19 07:42:44 +00:00
Elliott Hughes
e5fa4617aa am 289dd568: am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '289dd568be03f30bb8b9b66f90dae47249ad24bc':
2014-09-19 07:42:30 +00:00
Dmitriy Ivanov
8eb8ca0d50 am 415658c9: am e7c9a387: Merge "Fix 64bit build"
* commit '415658c922a5a6f07a7dc225b47bd8b0e533a1d6':
2014-09-19 07:36:25 +00:00
Dmitriy Ivanov
3a233698ee am ab1b06a8: am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit 'ab1b06a87bf8048d8f0a6a2eb0b650e098640d06':
2014-09-19 07:36:25 +00:00
Elliott Hughes
07be4ab760 am 6bf74ba5: am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '6bf74ba536ae254f1439bd40f0c9c62c13546353':
2014-09-19 07:19:25 +00:00
Dmitriy Ivanov
9b3211528d am 29be5408: am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit '29be5408dd9dcfcffb46f23aa6fb8c7d557927a4':
2014-09-19 07:19:22 +00:00
Elliott Hughes
a1bacb8b05 am 63b63c14: am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '63b63c146e4cbe73be483f1238d081a488521875':
2014-09-19 07:19:20 +00:00
Calin Juravle
8229d8938b am b414c62e: am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit 'b414c62e60a50c8ee502362ce2dc841c2effefab':
2014-09-19 06:16:42 +00:00
Elliott Hughes
3349bc33e2 am 78946d41: am 5cba3c6f: Merge "Fix signal trampolines."
* commit '78946d41892177ed87354d1d682213a6984271d7':
2014-09-19 06:16:19 +00:00
Dmitriy Ivanov
148674a86e am 9a44ef61: am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '9a44ef61ae1619cf7b2025072ba8ac3adaba6834':
2014-09-19 06:16:09 +00:00
Dmitriy Ivanov
8455bc6cb3 am b9263dd1: am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit 'b9263dd173312097274b68d701d56efc86a517cb':
2014-09-19 06:16:08 +00:00
Elliott Hughes
9a1dd02d56 am c47a5402: am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit 'c47a5402e7568b1d8f14a6f2fda6106b9973a43b':
2014-09-19 04:44:36 +00:00
Dan Albert
abc5e4db15 am 13d6023a: Merge "Exclude libstdc++ from linked libraries."
* commit '13d6023aac62091a7d1df1c1afa1e228515832cb':
  Exclude libstdc++ from linked libraries.
2014-09-19 00:05:37 +00:00
Dan Albert
05ce5ff3f2 am 13d6023a: Merge "Exclude libstdc++ from linked libraries."
* commit '13d6023aac62091a7d1df1c1afa1e228515832cb':
  Exclude libstdc++ from linked libraries.
2014-09-19 00:05:23 +00:00
Dan Albert
13d6023aac Merge "Exclude libstdc++ from linked libraries." 2014-09-18 23:43:24 +00:00
Christopher Ferris
cbf33a9988 am d5e1c583: Merge "Move to v3.16.3 kernel headers."
* commit 'd5e1c583a66a821c7d7e8f43e1238a4569981b90':
  Move to v3.16.3 kernel headers.
2014-09-18 21:48:49 +00:00
Elliott Hughes
88e6b2b5d0 am fb8d60f7: Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."
* commit 'fb8d60f7436d8f90f951fb2efc27449c3aee8046':
  Fix lgamma_r/lgammaf_r/lgammal_r for -0.
2014-09-18 21:48:49 +00:00
Christopher Ferris
b925c1c78d am d5e1c583: Merge "Move to v3.16.3 kernel headers."
* commit 'd5e1c583a66a821c7d7e8f43e1238a4569981b90':
  Move to v3.16.3 kernel headers.
2014-09-18 21:47:50 +00:00
Elliott Hughes
c12827e5f9 am fb8d60f7: Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."
* commit 'fb8d60f7436d8f90f951fb2efc27449c3aee8046':
  Fix lgamma_r/lgammaf_r/lgammal_r for -0.
2014-09-18 21:47:50 +00:00
Christopher Ferris
d5e1c583a6 Merge "Move to v3.16.3 kernel headers." 2014-09-18 21:34:43 +00:00
Elliott Hughes
fb8d60f743 Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0." 2014-09-18 21:28:35 +00:00
Christopher Ferris
653676dde8 Move to v3.16.3 kernel headers.
Change-Id: Ife491bd7630b853a78532dd74e4644438256a3a1
2014-09-18 13:14:58 -07:00
Elliott Hughes
755318548d Fix lgamma_r/lgammaf_r/lgammal_r for -0.
Upstream has implemented lgammal/lgammal_r for ld128, and fixed the
sign problem we reported with all the lgamma*_r functions and -0.

Bug: 17471883
Change-Id: Ibb175d9cab67efae75f1010796fd44c9ba6ce4fc
2014-09-18 11:23:58 -07:00
Elliott Hughes
9969481d5b Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
Whitespace difference presumably introduced while fixing a merge conflict.

Bug: 17549448

(cherry picked from commit 8fa377eb6a)

Change-Id: I7e30f37da4430af19d09a661e489c8ff65e42297
2014-09-18 10:57:57 -07:00
Elliott Hughes
c189ffaaec More cases where libc should use O_CLOEXEC.
(cherry picked from commit f73183f1a3)

(cherry picked from commit 21ce3f506f)

Change-Id: I70b240bd40ad8d2ba33ae7ab2618782709fd0d6a
2014-09-18 10:57:16 -07:00
Dan Albert
411ff42f20 Hide ScopedTrace.
(cherry-pick of f2c1e7ee78a167ff323b9f45d20532d064d6778d.)

Bug: 11156955

(cherry picked from commit ebb6b4a4d3)

Change-Id: Ifc10364b35384a9f34e4c2c634dd78a16065a817
2014-09-18 10:54:30 -07:00
Elliott Hughes
d0be539e01 Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
This reverts commit 26c1420fbb.

(cherry picked from commit 9e87f2f876)

Change-Id: I46a71a456952e3dd2c2bb0d9934820ffe8dc8469
2014-09-18 10:46:04 -07:00
Elliott Hughes
711a0a60eb am f2cab6f8: am 82e71085: Merge "The nextafter functions use the wrong next representable value"
* commit 'f2cab6f808fa22f71efa7ce206df76ffcd5503cc':
  The nextafter functions use the wrong next representable value
2014-09-18 16:18:18 +00:00
Elliott Hughes
b3b72f9278 am 14dfe3e6: am 6ced0051: Merge "Stack unwinding unit tests."
* commit '14dfe3e62b2a96f35ad455f0b1dd996343d9aeeb':
  Stack unwinding unit tests.
2014-09-18 16:18:18 +00:00
Elliott Hughes
7d3a8cf667 am 82e71085: Merge "The nextafter functions use the wrong next representable value"
* commit '82e71085c23d11030e9950d8d08e30ef249fd73b':
  The nextafter functions use the wrong next representable value
2014-09-18 16:11:46 +00:00
Elliott Hughes
397335a0c8 am 6ced0051: Merge "Stack unwinding unit tests."
* commit '6ced005123aaedeed7cd653d0baab3fbd511a492':
  Stack unwinding unit tests.
2014-09-18 16:11:45 +00:00
Elliott Hughes
f2cab6f808 am 82e71085: Merge "The nextafter functions use the wrong next representable value"
* commit '82e71085c23d11030e9950d8d08e30ef249fd73b':
  The nextafter functions use the wrong next representable value
2014-09-18 16:11:30 +00:00
Elliott Hughes
14dfe3e62b am 6ced0051: Merge "Stack unwinding unit tests."
* commit '6ced005123aaedeed7cd653d0baab3fbd511a492':
  Stack unwinding unit tests.
2014-09-18 16:11:30 +00:00
Elliott Hughes
82e71085c2 Merge "The nextafter functions use the wrong next representable value" 2014-09-18 15:51:46 +00:00
Jingwei Zhang
90be6c5fc5 The nextafter functions use the wrong next representable value
From C99 standard: “The nextafter functions determine the next representable value, in the type of the function,
after x in the direction of y, where x and y are first converted to the type of the function”.
The next representable value of 0.0 in direction of -1.0 is -4.9406564584124654e-324, not 0.0.

Similar thing holds for nextafterf, nextafterl, nexttowardf, nexttoward, and nexttowardl.
The tests pass either way, since the error is within the tolerance, but how it is written is wrong.

Change-Id: I1338eeffe3de8031a48f46e1b07146bc07dc2f0a
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2014-09-19 00:50:00 +08:00
Elliott Hughes
6ced005123 Merge "Stack unwinding unit tests." 2014-09-18 15:49:30 +00:00
Elliott Hughes
bee1993a14 Stack unwinding unit tests.
Bug: 17436734
Change-Id: I1e98da7eaeab646b448fb3f2b683973dddc319b0
2014-09-17 19:52:14 -07:00
Christopher Ferris
bac0957527 am aac37784: am 0bd28a43: Merge "Update kernel uapi headers to v3.16.1."
* commit 'aac37784dfd696f7469361e91e2444941c3eafb1':
  Update kernel uapi headers to v3.16.1.
2014-09-18 00:52:35 +00:00
Christopher Ferris
cd7f93d31f am 0bd28a43: Merge "Update kernel uapi headers to v3.16.1."
* commit '0bd28a43dae87c808f6af61ad3dba042b35be7e7':
  Update kernel uapi headers to v3.16.1.
2014-09-18 00:41:36 +00:00
Christopher Ferris
aac37784df am 0bd28a43: Merge "Update kernel uapi headers to v3.16.1."
* commit '0bd28a43dae87c808f6af61ad3dba042b35be7e7':
  Update kernel uapi headers to v3.16.1.
2014-09-18 00:41:24 +00:00
Dmitriy Ivanov
824912dbe3 am 4dcc5888: am 6a310f4a: Merge "Temporary disable DL_WARNs for unused DT_*"
* commit '4dcc58887e303b0427886af1712c550c25b8542e':
  Temporary disable DL_WARNs for unused DT_*
2014-09-18 00:26:40 +00:00
Christopher Ferris
0bd28a43da Merge "Update kernel uapi headers to v3.16.1." 2014-09-18 00:18:46 +00:00
Dmitriy Ivanov
4dcc58887e am 6a310f4a: Merge "Temporary disable DL_WARNs for unused DT_*"
* commit '6a310f4ad6c06b6f513d6dd9784ce0377f94f9bd':
  Temporary disable DL_WARNs for unused DT_*
2014-09-18 00:16:52 +00:00
Dmitriy Ivanov
e7c3c9e91f am 6a310f4a: Merge "Temporary disable DL_WARNs for unused DT_*"
* commit '6a310f4ad6c06b6f513d6dd9784ce0377f94f9bd':
  Temporary disable DL_WARNs for unused DT_*
2014-09-18 00:16:41 +00:00
Christopher Ferris
ba8d4f460b Update kernel uapi headers to v3.16.1.
Other changes to support the new headers:

- Remove the flock64 structure it is defined in the new headers.
- Update the syscalls to correspond with the headers.

Change-Id: I49a6b07e8b2bfffb67be71b07b58e4e6848fcc09
2014-09-17 17:05:17 -07:00
Dmitriy Ivanov
6a310f4ad6 Merge "Temporary disable DL_WARNs for unused DT_*" 2014-09-17 23:56:45 +00:00
Dmitriy Ivanov
1b77423eff Temporary disable DL_WARNs for unused DT_*
Bug: 17552334
Change-Id: I2f7b5e4b4d1db96e812a7f86adc929e113d4c11a
2014-09-17 16:46:40 -07:00
Dmitriy Ivanov
eb7cb8e5f8 am f412f82d: am 77784cb9: Merge "Add Android*.mk files to additional dependencies"
* commit 'f412f82d4107ea485fb8c60adfd05c1953032f1f':
  Add Android*.mk files to additional dependencies
2014-09-17 23:31:59 +00:00
Dmitriy Ivanov
e594a6e9a8 am 77784cb9: Merge "Add Android*.mk files to additional dependencies"
* commit '77784cb9b7bad354601a3f965c3eaffecf6798ca':
  Add Android*.mk files to additional dependencies
2014-09-17 23:21:00 +00:00
Dmitriy Ivanov
f412f82d41 am 77784cb9: Merge "Add Android*.mk files to additional dependencies"
* commit '77784cb9b7bad354601a3f965c3eaffecf6798ca':
  Add Android*.mk files to additional dependencies
2014-09-17 23:20:01 +00:00
Dmitriy Ivanov
77784cb9b7 Merge "Add Android*.mk files to additional dependencies" 2014-09-17 23:01:49 +00:00
Dmitriy Ivanov
bf50e2645d Add Android*.mk files to additional dependencies
Bug: 17548097
Change-Id: Ie0d9c8f33459320008f561217c54eba42d283b47
2014-09-17 15:55:01 -07:00
Elliott Hughes
b7fb8b6156 am 58fe4f0b: am 03fef1f5: Merge "Fix some 32-bit-isms in <stdio.h>."
* commit '58fe4f0b079d780f25f1c34a758550368024a44d':
  Fix some 32-bit-isms in <stdio.h>.
2014-09-17 22:53:12 +00:00
Elliott Hughes
3fa99dd4f3 am d75695d8: am 2f5cf100: Merge "Pull input.h from v3.16.1 kernel headers."
* commit 'd75695d8e0093ddf1ad298ef6aacae0782816962':
  Pull input.h from v3.16.1 kernel headers.
2014-09-17 22:53:11 +00:00
Elliott Hughes
58fe4f0b07 am 03fef1f5: Merge "Fix some 32-bit-isms in <stdio.h>."
* commit '03fef1f51179de5cb65eafd9b57ea05c8e061542':
  Fix some 32-bit-isms in <stdio.h>.
2014-09-17 22:37:18 +00:00
Elliott Hughes
d75695d8e0 am 2f5cf100: Merge "Pull input.h from v3.16.1 kernel headers."
* commit '2f5cf100a8cfaf51296fda69d31ef9e59c6d1da3':
  Pull input.h from v3.16.1 kernel headers.
2014-09-17 22:37:17 +00:00
Elliott Hughes
a9a920d52a am 03fef1f5: Merge "Fix some 32-bit-isms in <stdio.h>."
* commit '03fef1f51179de5cb65eafd9b57ea05c8e061542':
  Fix some 32-bit-isms in <stdio.h>.
2014-09-17 22:37:09 +00:00
Elliott Hughes
de3b2bfe11 am 2f5cf100: Merge "Pull input.h from v3.16.1 kernel headers."
* commit '2f5cf100a8cfaf51296fda69d31ef9e59c6d1da3':
  Pull input.h from v3.16.1 kernel headers.
2014-09-17 22:37:08 +00:00
Elliott Hughes
a7c448810d am 8fa377eb: Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
* commit '8fa377eb6afdea4b03b6a0d112471f7ee988fb96':
  Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
2014-09-17 22:36:10 +00:00
Elliott Hughes
8fa377eb6a Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
Whitespace difference presumably introduced while fixing a merge conflict.

Bug: 17549448
Change-Id: If688330bf1dbaed23ba687d843d9744d6261023b
2014-09-17 15:25:35 -07:00
Elliott Hughes
03fef1f511 Merge "Fix some 32-bit-isms in <stdio.h>." 2014-09-17 22:22:32 +00:00
Elliott Hughes
2ad11a96a1 Fix some 32-bit-isms in <stdio.h>.
(cherry-pick of 2d80400a9e8454038a3ec29959436184be0c4c65.)

Bug: 17157793
Change-Id: I8290e240b92e5617f4c12c0eacad6e622e677b6a
2014-09-17 15:21:10 -07:00
Elliott Hughes
1f82cf40bb am 21ce3f50: More cases where libc should use O_CLOEXEC.
* commit '21ce3f506f3b54e4f57a37847375cef9f8aff57f':
  More cases where libc should use O_CLOEXEC.
2014-09-17 22:19:00 +00:00
Dan Albert
23b8947da5 am ebb6b4a4: Hide ScopedTrace.
* commit 'ebb6b4a4d3fab87800b912c9d6ea917f5359f8af':
  Hide ScopedTrace.
2014-09-17 22:19:00 +00:00
Elliott Hughes
2f5cf100a8 Merge "Pull input.h from v3.16.1 kernel headers." 2014-09-17 22:18:48 +00:00
Christopher Ferris
e2d86feb7b Pull input.h from v3.16.1 kernel headers.
(cherry-pick of 027d2717d067c3706f22bf84dc1226ede7c1566d.)

Bug: 17407564
Change-Id: Idcfc40a7254605280e3d5474c61ae1ab7b2b7b51
2014-09-17 15:18:21 -07:00
Elliott Hughes
21ce3f506f More cases where libc should use O_CLOEXEC.
Change-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0
(cherry picked from commit f73183f1a3)
2014-09-17 15:13:35 -07:00
Elliott Hughes
b391e05a25 am 9e87f2f8: Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
* commit '9e87f2f876243225deef37645ddceaa5d225cb41':
  Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
2014-09-17 22:13:23 +00:00
Dan Albert
ebb6b4a4d3 Hide ScopedTrace.
(cherry-pick of f2c1e7ee78a167ff323b9f45d20532d064d6778d.)

Bug: 11156955
Change-Id: I6cddc868d1c6503e30f1ffcf460f45670631d64a
2014-09-17 15:11:25 -07:00
Elliott Hughes
9e87f2f876 Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
This reverts commit 26c1420fbb.
2014-09-17 14:59:24 -07:00
Dan Albert
3ec67de051 Exclude libstdc++ from linked libraries.
Also explicitly add libstdc++ includes for necessary targets.

Change-Id: If712ba0ae7908d8147a69e29da5c453a183d6540
2014-09-17 14:22:36 -07:00
Elliott Hughes
7eb56f8031 am 39f46864: am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '39f4686461889c2a733caf3ea55bb11719ca9036':
  Use the kernel's sa_restorer for aarch64.
2014-09-17 17:24:31 +00:00
Elliott Hughes
18ce8e5d03 am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '36a5aa057cf1738577754a3fc16a14a5f817109f':
  Use the kernel's sa_restorer for aarch64.
2014-09-17 17:17:26 +00:00
Elliott Hughes
39f4686461 am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '36a5aa057cf1738577754a3fc16a14a5f817109f':
  Use the kernel's sa_restorer for aarch64.
2014-09-17 17:17:14 +00:00
Elliott Hughes
5aeb5f7b11 am 0bbd77af: am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '0bbd77af89efdd66e7e265284044ca5894f056be':
  Clean up the architecture-specific makefiles.
2014-09-17 17:11:46 +00:00
Elliott Hughes
36a5aa057c Merge "Use the kernel's sa_restorer for aarch64." 2014-09-17 17:04:40 +00:00
Elliott Hughes
0bbd77af89 am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '56433ee2a2ccc097ac3ad753168722b0fc76f3b1':
  Clean up the architecture-specific makefiles.
2014-09-17 17:00:39 +00:00
Elliott Hughes
289dd568be am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '56433ee2a2ccc097ac3ad753168722b0fc76f3b1':
  Clean up the architecture-specific makefiles.
2014-09-17 17:00:22 +00:00
Elliott Hughes
56433ee2a2 Merge "Clean up the architecture-specific makefiles." 2014-09-17 16:36:47 +00:00
Dmitriy Ivanov
578b8dd727 am b5f0464d: am e7c9a387: Merge "Fix 64bit build"
* commit 'b5f0464d825ee1ef80e8652a12b0743433020ab4':
  Fix 64bit build
2014-09-17 07:05:51 +00:00
Dmitriy Ivanov
b5f0464d82 am e7c9a387: Merge "Fix 64bit build"
* commit 'e7c9a387fa190b786b1f7becfe99cb22a6f2934a':
  Fix 64bit build
2014-09-17 06:53:52 +00:00
Dmitriy Ivanov
415658c922 am e7c9a387: Merge "Fix 64bit build"
* commit 'e7c9a387fa190b786b1f7becfe99cb22a6f2934a':
  Fix 64bit build
2014-09-17 06:53:24 +00:00
Dmitriy Ivanov
e7c9a387fa Merge "Fix 64bit build" 2014-09-17 06:36:19 +00:00
Dmitriy Ivanov
f240aa8089 Fix 64bit build
Change-Id: I6ef55b5951270c46ee5e9a11385bd09e33a9f969
2014-09-16 23:34:20 -07:00
Dmitriy Ivanov
cdd93e0885 am f5a56f21: am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit 'f5a56f21806a3535d3e32b172b417bb4cedf00f5':
  Fix some unused DT_ warnings
2014-09-17 06:01:55 +00:00
Dmitriy Ivanov
ab1b06a87b am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit '34ac60ca16713be227844798f4b20a2f68c8a241':
  Fix some unused DT_ warnings
2014-09-17 05:50:49 +00:00
Dmitriy Ivanov
f5a56f2180 am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit '34ac60ca16713be227844798f4b20a2f68c8a241':
  Fix some unused DT_ warnings
2014-09-17 05:49:55 +00:00
Dmitriy Ivanov
34ac60ca16 Merge "Fix some unused DT_ warnings" 2014-09-17 05:28:30 +00:00
Elliott Hughes
7c02d9428c Clean up the architecture-specific makefiles.
Group things appropriately and name each group.

Change-Id: I0da45eb0ccde19c31d5e984d0e6eb3dad26630dc
2014-09-16 19:06:31 -07:00
Dmitriy Ivanov
4a6e9a835a Fix some unused DT_ warnings
* DT_PLTGOT - ignored for non-mips
 * DT_RELCOUNT/RELACOUNT - ignored
 * DT_RELENT/RELAENT - sanity checks
 * DT_SYMENT - sanity check
 * DT_SONAME - ignore for now.

Change-Id: Ied90748d12f733a84f6c38a1250567a2f77608b7
2014-09-16 18:19:36 -07:00
Elliott Hughes
8b7cb0560f am 894f7f58: am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '894f7f5819e9447d7a7418f180c2275c4c7d9f2f':
  No arm source refers to SOFTFLOAT.
2014-09-17 00:25:04 +00:00
Elliott Hughes
894f7f5819 am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '17cc8e539a578184662c1966a60f37c7d4fed65e':
  No arm source refers to SOFTFLOAT.
2014-09-17 00:07:22 +00:00
Elliott Hughes
6bf74ba536 am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '17cc8e539a578184662c1966a60f37c7d4fed65e':
  No arm source refers to SOFTFLOAT.
2014-09-17 00:07:11 +00:00
Elliott Hughes
17cc8e539a Merge "No arm source refers to SOFTFLOAT." 2014-09-16 23:45:40 +00:00
Elliott Hughes
b1a6c319c4 No arm source refers to SOFTFLOAT.
So why bother #defining it?

Change-Id: I539e91916cee082cacac594ddf628419b737fa9d
2014-09-16 16:27:35 -07:00
Dmitriy Ivanov
dc428a17d6 am 7ccb499c: am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit '7ccb499c63931b0863d2792f3d2548acca78c90a':
  Remove has_DT_SYMBOLIC flag
2014-09-16 23:07:04 +00:00
Dmitriy Ivanov
7ccb499c63 am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit 'aea393c096460669647acbe803617affc5bc0697':
  Remove has_DT_SYMBOLIC flag
2014-09-16 22:54:00 +00:00
Dmitriy Ivanov
29be5408dd am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit 'aea393c096460669647acbe803617affc5bc0697':
  Remove has_DT_SYMBOLIC flag
2014-09-16 22:53:57 +00:00
Elliott Hughes
1cff9a8964 Use the kernel's sa_restorer for aarch64.
gdb was happy with what we had, but libgcc and libunwind weren't.
libgcc is happy with the kernel's restorer (because of the extra nop),
though libunwind looks like it's going to need code changes regardless.

We could make our restorer more like the kernel's one, but why bother
when we can just let the kernel supply the canonical one?

Bug: 17436734
Change-Id: I330fa5e68f23b1cf8133aa552896657b0b873ed3
2014-09-16 15:49:50 -07:00
Dmitriy Ivanov
aea393c096 Merge "Remove has_DT_SYMBOLIC flag" 2014-09-16 22:37:37 +00:00
Elliott Hughes
48ac72d070 am 67c12a83: am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '67c12a8392f869b39d4676081d76ebcf5aa9fd05':
  Fix 32-bit arm unwinding through signal frames.
2014-09-16 22:27:59 +00:00
Dmitriy Ivanov
8f61d99183 Remove has_DT_SYMBOLIC flag
From the elf-spec: "Symbolically bound shared objects are
  identified by the .dynamic entry DT_SYMBOLIC. This tag is
  informational only; the runtime linker processes symbol
  lookups from these objects in the same manner as any
  other object."

Change-Id: I4aae0e502ed9fac096fbf076f4d6b2e055d784f6
2014-09-16 15:26:47 -07:00
Elliott Hughes
63b63c146e am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '380a3be757b04378edecad6ecb96017d2ec6a8b9':
  Fix 32-bit arm unwinding through signal frames.
2014-09-16 22:25:54 +00:00
Elliott Hughes
67c12a8392 am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '380a3be757b04378edecad6ecb96017d2ec6a8b9':
  Fix 32-bit arm unwinding through signal frames.
2014-09-16 22:13:34 +00:00
Elliott Hughes
380a3be757 Merge "Fix 32-bit arm unwinding through signal frames." 2014-09-16 21:17:20 +00:00
Elliott Hughes
148dff3ec6 Fix 32-bit arm unwinding through signal frames.
gdb was already okay; libgcc and libunwind need a little extra help.

Bug: 17436734
Change-Id: I1f5108f9877373be078554a1ea4938aa4436204e
2014-09-16 14:10:53 -07:00
Calin Juravle
82f4e27b4b am c417053e: am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit 'c417053e808af9a23e579723aed0d110f6841f2c':
  Add benchmarks for pthread_rw_locks
2014-09-16 19:57:29 +00:00
Elliott Hughes
8790f37b07 am ca2d1258: am 5cba3c6f: Merge "Fix signal trampolines."
* commit 'ca2d1258fc45252d6f60fc33af02501de340ceed':
  Fix signal trampolines.
2014-09-16 19:57:27 +00:00
Dmitriy Ivanov
7c76969732 am 3d76a5a1: am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '3d76a5a1c7f7b10aa15ac2abddf12b37b6d45027':
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
2014-09-16 19:57:25 +00:00
Dmitriy Ivanov
4cdd5ae852 am fe78876f: am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit 'fe78876f94949ba46b76e23e3ab5bb5542565db4':
  Add dlfcn_test to glibc test suite.
2014-09-16 19:57:24 +00:00
Calin Juravle
c417053e80 am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit '370704d69db15ec0b4d24e6412b5d30ded0ffc03':
  Add benchmarks for pthread_rw_locks
2014-09-16 19:52:58 +00:00
Elliott Hughes
ca2d1258fc am 5cba3c6f: Merge "Fix signal trampolines."
* commit '5cba3c6f8e571cd4e6e2468263b778a90331101f':
  Fix signal trampolines.
2014-09-16 19:42:51 +00:00
Dmitriy Ivanov
3d76a5a1c7 am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '2997ae83d55486ab86a6100265fa502eff721ce2':
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
2014-09-16 19:42:45 +00:00
Dmitriy Ivanov
fe78876f94 am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit '0b8f6d592ac20ec81dbc96766123c67655f34842':
  Add dlfcn_test to glibc test suite.
2014-09-16 19:42:44 +00:00
Calin Juravle
b414c62e60 am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit '370704d69db15ec0b4d24e6412b5d30ded0ffc03':
  Add benchmarks for pthread_rw_locks
2014-09-16 17:59:09 +00:00
Calin Juravle
370704d69d Merge "Add benchmarks for pthread_rw_locks" 2014-09-16 17:31:39 +00:00
Calin Juravle
837a962bf5 Add benchmarks for pthread_rw_locks
Benchmarks for the following sequences:
1) pthread_rwlock_rdlock -> pthread_rwlock_unlock
2) pthread_rwlock_wrlock -> pthread_rwlock_unlock

Change-Id: I8d87d4d8afab8637ea7ff5d23a0b3a81d6d40835
2014-09-16 18:02:30 +01:00
Elliott Hughes
78946d4189 am 5cba3c6f: Merge "Fix signal trampolines."
* commit '5cba3c6f8e571cd4e6e2468263b778a90331101f':
  Fix signal trampolines.
2014-09-16 16:52:11 +00:00
Dmitriy Ivanov
9a44ef61ae am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '2997ae83d55486ab86a6100265fa502eff721ce2':
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
2014-09-16 16:44:36 +00:00
Dmitriy Ivanov
b9263dd173 am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit '0b8f6d592ac20ec81dbc96766123c67655f34842':
  Add dlfcn_test to glibc test suite.
2014-09-16 16:44:35 +00:00
Elliott Hughes
5cba3c6f8e Merge "Fix signal trampolines." 2014-09-16 15:19:06 +00:00
Elliott Hughes
0b981eb9d5 am b104f0c4: am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit 'b104f0c4382215acf8e8ed30793140cf13624056':
  POSIX says <signal.h> gets you ucontext_t.
2014-09-16 08:48:12 +00:00
Dmitriy Ivanov
2997ae83d5 Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL" 2014-09-16 01:27:56 +00:00
Dmitriy Ivanov
e8ba50fe0d Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
Symbols from libraries opened with RTLD_LOCAL (default)
  should not be visible via dlsym(RLTD_DEFAULT/RTLD_NEXT, .)

Bug: 17512583
Change-Id: I1758943081a67cf3d49ba5808e061b8251a91964
2014-09-15 17:39:48 -07:00
Dmitriy Ivanov
0b8f6d592a Merge "Add dlfcn_test to glibc test suite." 2014-09-15 22:12:06 +00:00
Elliott Hughes
36f451a6d9 Fix signal trampolines.
* LP32 should use sa_restorer too. gdb expects this, and future (>= 3.15) x86
  kernels will apparently stop supporting the case where SA_RESTORER isn't
  set.

* gdb and libunwind care about the exact instruction sequences, so we need to
  modify the code slightly in a few cases to match what they're looking for.

* gdb also cares about the exact function names (for some architectures),
  so we need to use __restore and __restore_rt rather than __sigreturn and
  __rt_sigreturn.

* It's possible that we don't have a VDSO; dl_iterate_phdr shouldn't assume
  that getauxval(AT_SYSINFO_EHDR) will return a non-null pointer.

This fixes unwinding through a signal handler in gdb for all architectures.
It doesn't fix libunwind for arm and arm64. I'll keep investigating that...

Bug: 17436734
Change-Id: Ic1ea1184db6655c5d96180dc07bcc09628e647cb
2014-09-15 15:04:14 -07:00
Dmitriy Ivanov
eb27bbae8f Add dlfcn_test to glibc test suite.
Change-Id: I955e4f7dfcc23ea5c767f967b3532dc31663b876
2014-09-15 15:03:15 -07:00
Elliott Hughes
b104f0c438 am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit '95b0c6a9407d7a4084d956e273ad1697550452d3':
  POSIX says <signal.h> gets you ucontext_t.
2014-09-15 22:02:31 +00:00
Elliott Hughes
c47a5402e7 am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit '95b0c6a9407d7a4084d956e273ad1697550452d3':
  POSIX says <signal.h> gets you ucontext_t.
2014-09-15 22:02:12 +00:00
Elliott Hughes
95b0c6a940 Merge "POSIX says <signal.h> gets you ucontext_t." 2014-09-15 17:17:37 +00:00
Dan Albert
73c923f9f4 am 73c605e2: am 2c581047: Merge "Fix filename in comment in cmath"
* commit '73c605e234eb873f5d198e8e420ac74f5bcc2c81':
  Fix filename in comment in cmath
2014-09-14 20:06:20 +00:00
Christopher Ferris
ca87b17819 am 07ce9767: am 027d2717: Pull input.h from v3.16.1 kernel headers.
* commit '07ce9767884051a781a2dfe7877c2715e9ef712c':
  Pull input.h from v3.16.1 kernel headers.
2014-09-14 20:06:19 +00:00
Dan Albert
73c605e234 am 2c581047: Merge "Fix filename in comment in cmath"
* commit '2c58104718187ae99ea381a19ce8395b5349fded':
  Fix filename in comment in cmath
2014-09-14 19:59:41 +00:00
Christopher Ferris
07ce976788 am 027d2717: Pull input.h from v3.16.1 kernel headers.
* commit '027d2717d067c3706f22bf84dc1226ede7c1566d':
  Pull input.h from v3.16.1 kernel headers.
2014-09-14 19:51:38 +00:00
Dan Albert
2c58104718 Merge "Fix filename in comment in cmath" 2014-09-14 19:33:44 +00:00
m4tx
2214a1ce17 Fix filename in comment in cmath
It looks like the file comment was copy-pasted from ctime. Fixed filename in comment to "math.h".

Change-Id: I27b0c2a7827076a91fc7b63913fad6eee4d6a79e
Signed-off-by: m4tx <m4tx@m4tx.pl>
2014-09-14 16:41:31 +02:00
Elliott Hughes
ce1658bde0 am 35981194: am 85ef3b5b: Merge "Update NOTICE files."
* commit '35981194d8f458884417ecf794f9edb4684f5adf':
  Update NOTICE files.
2014-09-13 17:41:00 +00:00
Elliott Hughes
2e40c43fdf am 79f40ff9: am ae51accf: Merge "Remove an unused file."
* commit '79f40ff929374a5b6b783ef641fc9661cd315c25':
  Remove an unused file.
2014-09-13 17:40:59 +00:00
Elliott Hughes
35981194d8 am 85ef3b5b: Merge "Update NOTICE files."
* commit '85ef3b5b80da353afa24d0ab21c35be01951e0b7':
  Update NOTICE files.
2014-09-13 17:23:58 +00:00
Elliott Hughes
79f40ff929 am ae51accf: Merge "Remove an unused file."
* commit 'ae51accf22a897eecda329202431faa11e0f6015':
  Remove an unused file.
2014-09-13 17:23:57 +00:00
Elliott Hughes
85ef3b5b80 Merge "Update NOTICE files." 2014-09-13 17:01:08 +00:00
Elliott Hughes
ae51accf22 Merge "Remove an unused file." 2014-09-13 17:00:27 +00:00
Elliott Hughes
5c2264a136 Update NOTICE files.
Change-Id: I37a2c297b318b8e1b1ce8b29a7ccc58ba214708a
2014-09-13 09:42:41 -07:00
Elliott Hughes
5681fe8eae Remove an unused file.
Also remove a reference to it and two other files that have already
been removed in a script --- these files were problematic because they
weren't UTF-8.

Change-Id: Ibf597bac1903c34d8d0fe0a09615c42f24d4f23d
2014-09-13 09:24:28 -07:00
Elliott Hughes
26a8eb50a8 POSIX says <signal.h> gets you ucontext_t.
POSIX also says that ucontext_t's uc_sigmask has type sigset_t.

MIPS64 strace needs this.

The #define is to keep chromium off our lawn; otherwise it tries to redefine
all this stuff itself. We should probably clean that up and remove the #define.

Change-Id: I765d6a765a33dca7db33cd8c40f408dc98e5c95b
2014-09-12 20:47:35 -07:00
Elliott Hughes
bd44263101 am 934028eb: am 73d2059f: Merge "Explain why clock(3) isn\'t broken."
* commit '934028eba35b04a965c89c431e7e9a60c06eb17c':
  Explain why clock(3) isn't broken.
2014-09-13 02:28:01 +00:00
Elliott Hughes
f206217660 am 8bd96e06: am 21451f5b: Merge "Get new coshl, sinhl, and tanhl implementations from upstream."
* commit '8bd96e067c2c7c9bdec03de41147e13a531850a9':
  Get new coshl, sinhl, and tanhl implementations from upstream.
2014-09-13 02:27:57 +00:00
Elliott Hughes
df61319444 am 8ce73725: am a40a16ea: Merge "Add a test for pthread_gettid_np."
* commit '8ce73725a3e185d9d36a3913d9713eb9d9062a3c':
  Add a test for pthread_gettid_np.
2014-09-13 02:25:37 +00:00
Elliott Hughes
c63a12128c am 4cc9c6cc: am 69c2d7dc: Merge "Sync libm with upstream."
* commit '4cc9c6cc83e7fcd9d62bac152a9f4fc4c7b8eaf9':
  Sync libm with upstream.
2014-09-13 02:25:13 +00:00
Elliott Hughes
6b9a41e082 am ecd6be3b: am e39e47c6: Merge "Remove "private/bionic_pthread.h"."
* commit 'ecd6be3bd2963ef69500e4b5a0186114f01a282d':
  Remove "private/bionic_pthread.h".
2014-09-13 02:22:42 +00:00
Dmitriy Ivanov
1f08f1a3c8 am b58b8210: am d74aa580: Merge "Fix unload of recursively linked library"
* commit 'b58b821056ab45ece313181fb2d55856957fe2a6':
  Fix unload of recursively linked library
2014-09-13 02:22:41 +00:00
Dmitriy Ivanov
9da0ae4ddd am 75386aa5: am aad92067: Merge "Reformatting"
* commit '75386aa5ffb4f66810b7e267fcd16d69420bb8e2':
  Reformatting
2014-09-13 02:22:41 +00:00
Dmitriy Ivanov
2e3fd896cc am bb5e2968: am 66bbf159: Merge "Refactoring: C++11 style DISABLE_ bionic marcos"
* commit 'bb5e2968ca909903605364e5d7b199d121fcae40':
  Refactoring: C++11 style DISABLE_ bionic marcos
2014-09-13 02:22:40 +00:00
Elliott Hughes
934028eba3 am 73d2059f: Merge "Explain why clock(3) isn\'t broken."
* commit '73d2059f9b3f53446e25d800d64a86efb3bf3f9f':
  Explain why clock(3) isn't broken.
2014-09-13 00:16:26 +00:00
Elliott Hughes
73d2059f9b Merge "Explain why clock(3) isn't broken." 2014-09-12 23:52:13 +00:00
Elliott Hughes
8bd96e067c am 21451f5b: Merge "Get new coshl, sinhl, and tanhl implementations from upstream."
* commit '21451f5bf65ecaa00c9f3b7ac721738b97f41599':
  Get new coshl, sinhl, and tanhl implementations from upstream.
2014-09-12 23:49:31 +00:00
Elliott Hughes
f83c208b82 Explain why clock(3) isn't broken.
Bug: 17441123
Change-Id: I6ee9b7f54bab55b1a8760ce9bcaaa6eab1dcc492
2014-09-12 16:33:37 -07:00
Elliott Hughes
21451f5bf6 Merge "Get new coshl, sinhl, and tanhl implementations from upstream." 2014-09-12 23:13:43 +00:00
Elliott Hughes
8ce73725a3 am a40a16ea: Merge "Add a test for pthread_gettid_np."
* commit 'a40a16eab13b770c3ce80f4e4241dfcd9518022f':
  Add a test for pthread_gettid_np.
2014-09-12 23:12:45 +00:00
Elliott Hughes
c729d4f237 Get new coshl, sinhl, and tanhl implementations from upstream.
Change-Id: I92f9cd53d12efb2e0f4f8a9590b9fe42398233f6
2014-09-12 16:09:40 -07:00
Elliott Hughes
a40a16eab1 Merge "Add a test for pthread_gettid_np." 2014-09-12 22:52:38 +00:00
Elliott Hughes
8fb639ca91 Add a test for pthread_gettid_np.
Bug: 17475191
Change-Id: I8c6a2f4ceba2d24a77ae9a21269edce523aea421
2014-09-12 14:43:07 -07:00
Elliott Hughes
4cc9c6cc83 am 69c2d7dc: Merge "Sync libm with upstream."
* commit '69c2d7dc6434c7e7e9bd22797deb7f727199ab0c':
  Sync libm with upstream.
2014-09-12 21:34:56 +00:00
Elliott Hughes
69c2d7dc64 Merge "Sync libm with upstream." 2014-09-12 21:07:48 +00:00
Elliott Hughes
460ad7454a Sync libm with upstream.
Change-Id: I8ac8ee52122ee19a2e423c3211092023cb4896eb
2014-09-12 14:00:02 -07:00
Elliott Hughes
ecd6be3bd2 am e39e47c6: Merge "Remove "private/bionic_pthread.h"."
* commit 'e39e47c6b377170d696c6b9b5b523a28c1382ca4':
  Remove "private/bionic_pthread.h".
2014-09-12 20:08:45 +00:00
Dmitriy Ivanov
b58b821056 am d74aa580: Merge "Fix unload of recursively linked library"
* commit 'd74aa580354037b9972524e9d654c0a336974838':
  Fix unload of recursively linked library
2014-09-12 20:08:44 +00:00
Dmitriy Ivanov
75386aa5ff am aad92067: Merge "Reformatting"
* commit 'aad92067bf4eecda81a4c331ee4dec70483c5104':
  Reformatting
2014-09-12 20:08:42 +00:00
Dmitriy Ivanov
bb5e2968ca am 66bbf159: Merge "Refactoring: C++11 style DISABLE_ bionic marcos"
* commit '66bbf1595c0fc25d4bc47457d8020b11e135996d':
  Refactoring: C++11 style DISABLE_ bionic marcos
2014-09-12 20:08:41 +00:00
Elliott Hughes
f0a6d5db8f am 0654250e: am 8d8a789c: Merge "Expose __swsetup for LP32 binary compatibility."
* commit '0654250eb99b825abfc4368063c725526018ef77':
  Expose __swsetup for LP32 binary compatibility.
2014-09-12 19:27:34 +00:00
Dmitriy Ivanov
c5cb043819 am 5a6e31c3: am 6487f0d8: Merge "Add IFUNC support for arm64 and IRELATIVE reloc"
* commit '5a6e31c3cbaf5ebbcc6cc6221a12ee1ce10e1e82':
  Add IFUNC support for arm64 and IRELATIVE reloc
2014-09-12 19:27:33 +00:00
Elliott Hughes
d455758e99 am 7f4c7060: am 5920a9ad: Merge "Add pthread_gettid_np and re-expose __get_thread for LP32."
* commit '7f4c7060f0856da7f3624f87b4547615c29130b8':
  Add pthread_gettid_np and re-expose __get_thread for LP32.
2014-09-12 19:27:33 +00:00
Elliott Hughes
6cd84274b8 am da7fe217: am 7e00b44e: Expose __swsetup for LP32 binary compatibility.
* commit 'da7fe217d8ef5aaa1c7f8837719e1c7f1d482679':
  Expose __swsetup for LP32 binary compatibility.
2014-09-12 19:27:27 +00:00
Elliott Hughes
1bd1f3a401 am 66265e80: am 27efc488: Add pthread_gettid_np and re-expose __get_thread for LP32.
* commit '66265e80a13e60ac06153af88936fb4c90a99f66':
  Add pthread_gettid_np and re-expose __get_thread for LP32.
2014-09-12 19:27:27 +00:00
Elliott Hughes
3e4ae3ec09 am d415e27d: am 9e833bf0: Fix mips __fadvise64.S build failure.
* commit 'd415e27d5bcfaba5b8fcd868d98173db708ffa9c':
  Fix mips __fadvise64.S build failure.
2014-09-12 19:19:40 +00:00
Elliott Hughes
ba55c8984e am 5691dcfc: am ea66004c: Merge "Fix mips __fadvise64.S build failure."
* commit '5691dcfc0d8b1418e53d75b3c3428f8f65a87727':
  Fix mips __fadvise64.S build failure.
2014-09-12 19:17:48 +00:00
Elliott Hughes
c3932cca0b am 65e61977: am 176c3278: Merge "Add posix_fadvise(3)." into lmp-dev
* commit '65e619775e3f4517edc7ac68c6b85a9443a67da7':
  Add posix_fadvise(3).
2014-09-12 19:17:03 +00:00
Elliott Hughes
612db11844 am db1e9581: am 33df10f2: Merge "Add posix_fadvise(3)."
* commit 'db1e9581098ad19465d2d81fbe368743b648a071':
  Add posix_fadvise(3).
2014-09-12 19:16:56 +00:00
Elliott Hughes
e39e47c6b3 Merge "Remove "private/bionic_pthread.h"." 2014-09-12 18:43:05 +00:00
Elliott Hughes
0f001b67fe Remove "private/bionic_pthread.h".
Bug: 17476168
Change-Id: Id642987e641de81e914a28daea4ffe9d11e090ed
2014-09-12 11:35:05 -07:00
Dmitriy Ivanov
d74aa58035 Merge "Fix unload of recursively linked library" 2014-09-12 16:55:42 +00:00
Dmitriy Ivanov
aad92067bf Merge "Reformatting" 2014-09-12 16:50:29 +00:00
Dmitriy Ivanov
66bbf1595c Merge "Refactoring: C++11 style DISABLE_ bionic marcos" 2014-09-12 16:50:05 +00:00
Dmitriy Ivanov
6abf624d12 Reformatting
No functional changes.

Change-Id: If71775e5fc207e91ebd31ba3c5f9d2c13dc8dada
2014-09-12 09:43:13 -07:00
Elliott Hughes
0654250eb9 am 8d8a789c: Merge "Expose __swsetup for LP32 binary compatibility."
* commit '8d8a789c49ffb6b71e4b8f34df937cfaaff86e40':
  Expose __swsetup for LP32 binary compatibility.
2014-09-12 05:59:18 +00:00
Dmitriy Ivanov
5a6e31c3cb am 6487f0d8: Merge "Add IFUNC support for arm64 and IRELATIVE reloc"
* commit '6487f0d8341b00b476995e0174dc92e5ae8efbbe':
  Add IFUNC support for arm64 and IRELATIVE reloc
2014-09-12 05:59:16 +00:00
Elliott Hughes
7f4c7060f0 am 5920a9ad: Merge "Add pthread_gettid_np and re-expose __get_thread for LP32."
* commit '5920a9ad5fd9f8d515c683e164f946bcfef1f1c3':
  Add pthread_gettid_np and re-expose __get_thread for LP32.
2014-09-12 05:59:16 +00:00
Elliott Hughes
da7fe217d8 am 7e00b44e: Expose __swsetup for LP32 binary compatibility.
* commit '7e00b44e80d6e38b8ab86d0ebc86b666c0ac2ef6':
  Expose __swsetup for LP32 binary compatibility.
2014-09-12 05:48:54 +00:00
Elliott Hughes
66265e80a1 am 27efc488: Add pthread_gettid_np and re-expose __get_thread for LP32.
* commit '27efc48814b8153c55cbcd0af5d9add824816e69':
  Add pthread_gettid_np and re-expose __get_thread for LP32.
2014-09-12 05:48:52 +00:00
Dmitriy Ivanov
a6ac54a215 Fix unload of recursively linked library
Expanded test for recursive libs. Fixed bug with unnecessary
  soinfo_free of already loaded library.

Change-Id: I2cc19f2650c8b12a35feeac127ef608ebba44d88
2014-09-11 22:40:48 -07:00
Elliott Hughes
8d8a789c49 Merge "Expose __swsetup for LP32 binary compatibility." 2014-09-12 01:27:45 +00:00
Elliott Hughes
5f35710fad Expose __swsetup for LP32 binary compatibility.
(cherry-pick of 7e00b44e80d6e38b8ab86d0ebc86b666c0ac2ef6.)

Bug: 17476127
Change-Id: I0ef1355ac913d782c268a638f88642d6cfc236c2
2014-09-11 18:23:46 -07:00
Dmitriy Ivanov
6487f0d834 Merge "Add IFUNC support for arm64 and IRELATIVE reloc" 2014-09-12 00:40:12 +00:00
Dmitriy Ivanov
9aea164457 Add IFUNC support for arm64 and IRELATIVE reloc
There are number of changes in the way IFUNC related relocations are done:
 1. IRELATIVE relocations are now supported for x86/x86_64 and arm64.
 2. IFUNC relocations are now relying on static linker to generate
    them in correct order - this removes necessety of additional
    relocation pass for ifuncs.
 3. Related to 2: rela?.dyn relocations are preformed before .plt ones.
 4. Ifunc are resolved on symbol lookup this approach allowed to avoid
    mprotect(PROT_WRITE) call on r-x program segments.

Bug: 17399706
Bug: 17177284
Change-Id: I414dd3e82bd47cc03442c5dfc7c279949aec51ed
2014-09-11 16:30:45 -07:00
Elliott Hughes
5920a9ad5f Merge "Add pthread_gettid_np and re-expose __get_thread for LP32." 2014-09-11 23:25:46 +00:00
Elliott Hughes
a4831cb4a3 Add pthread_gettid_np and re-expose __get_thread for LP32.
A lot of third-party code calls the private __get_thread symbol,
often as part of a backport of bionic's pthread_rwlock implementation.
Hopefully this will go away for LP64 (since you're guaranteed the
real implementation there), but there are still APIs that take a tid
and no way to convert between a pthread_t and a tid. pthread_gettid_np
is a public API for that. To aid the transition, make __get_thread
available again for LP32.

(cherry-pick of 27efc48814b8153c55cbcd0af5d9add824816e69.)

Bug: 14079438
Change-Id: I43fabc7f1918250d31d4665ffa4ca352d0dbeac1
2014-09-11 16:22:50 -07:00
Elliott Hughes
d415e27d5b am 9e833bf0: Fix mips __fadvise64.S build failure.
* commit '9e833bf0cf2c5bc0e6b65e4d96aa4f2b33113771':
  Fix mips __fadvise64.S build failure.
2014-09-11 18:32:24 +00:00
Elliott Hughes
5691dcfc0d am ea66004c: Merge "Fix mips __fadvise64.S build failure."
* commit 'ea66004c4a051e40c49314d808e7359634f6c641':
  Fix mips __fadvise64.S build failure.
2014-09-11 17:32:03 +00:00
Lorenzo Colitti
77f01f4306 am 993a2315: am 33a73bfa: When comparing DNS server configs, also compare number of servers
* commit '993a2315a7ddc786ce9180258aa3db498bf9326e':
  When comparing DNS server configs, also compare number of servers
2014-09-11 17:27:10 +00:00
Elliott Hughes
ea66004c4a Merge "Fix mips __fadvise64.S build failure." 2014-09-11 17:12:49 +00:00
Elliott Hughes
9990b3973b Fix mips __fadvise64.S build failure.
Bug: 12449798
Change-Id: I0663b741108ba2f1d286904d6414b3ff4d475551
2014-09-11 10:10:08 -07:00
Elliott Hughes
65e619775e am 176c3278: Merge "Add posix_fadvise(3)." into lmp-dev
* commit '176c32787c53e720bf4664592fd0b8ea4ffbdd75':
  Add posix_fadvise(3).
2014-09-11 16:08:32 +00:00
Elliott Hughes
db1e958109 am 33df10f2: Merge "Add posix_fadvise(3)."
* commit '33df10f284a8adbf58f9734c0f43537db4206b2c':
  Add posix_fadvise(3).
2014-09-11 15:58:49 +00:00
Elliott Hughes
33df10f284 Merge "Add posix_fadvise(3)." 2014-09-11 15:46:44 +00:00
Elliott Hughes
b587f339db Add posix_fadvise(3).
(cherry-pick of 00008263782e484020420c606f7d145fe7d0a4d8.)

Bug: 12449798
Change-Id: I07cbf3f670a0d1304b68148325a774f266b5c433
2014-09-11 08:45:46 -07:00
Lorenzo Colitti
993a2315a7 am 33a73bfa: When comparing DNS server configs, also compare number of servers
* commit '33a73bfa0712c483830e4c9abbf4d6a0551478bf':
  When comparing DNS server configs, also compare number of servers
2014-09-11 00:13:20 +00:00
Lorenzo Colitti
b5e7bd0013 am da0ed4cb: am c71483c0: Merge "When comparing DNS server configs, also compare number of servers"
* commit 'da0ed4cbfa10eb3f6a48ef116ae0441239daf7bf':
  When comparing DNS server configs, also compare number of servers
2014-09-09 15:03:50 +00:00
Lorenzo Colitti
da0ed4cbfa am c71483c0: Merge "When comparing DNS server configs, also compare number of servers"
* commit 'c71483c0b38a6b4f2675f0bffa221dcf175c34ac':
  When comparing DNS server configs, also compare number of servers
2014-09-09 10:42:23 +00:00
Lorenzo Colitti
c71483c0b3 Merge "When comparing DNS server configs, also compare number of servers" 2014-09-09 10:22:18 +00:00
Lorenzo Colitti
bce18c9163 When comparing DNS server configs, also compare number of servers
Bug: 16070602
Change-Id: I605f1cca50b08479ebcad290b3bd179f59be8a96
2014-09-09 19:20:26 +09:00
Dmitriy Ivanov
9c8ff91dcc am 06bd5e2d: am 3c3624f3: Merge "Load libraries in breadth-first order"
* commit '06bd5e2d0ade82b9fc70fd8928c1746ca529a2f4':
  Load libraries in breadth-first order
2014-09-09 01:25:51 +00:00
Dmitriy Ivanov
06bd5e2d0a am 3c3624f3: Merge "Load libraries in breadth-first order"
* commit '3c3624f3df14590e7213d35c3b39a0a11c7d2d34':
  Load libraries in breadth-first order
2014-09-09 01:11:41 +00:00
Dmitriy Ivanov
d9ff722661 Refactoring: C++11 style DISABLE_ bionic marcos
Enable the -std=gnu++11 flag for libstdc++ static and
  dynamic libs.

  ScopeGuard uses DISABLE_ macros instead of '= delete';

Change-Id: I07e21b306f95fffd49345f7fa136cfdac61e0225
2014-09-08 17:51:31 -07:00
Dmitriy Ivanov
3c3624f3df Merge "Load libraries in breadth-first order" 2014-09-09 00:49:38 +00:00
Elliott Hughes
d7928dc803 am 5574335d: am 671f96cd: Merge "Ensure __set_errno is still visible on LP32."
* commit '5574335dc5f380b96aa1f93caeceeeb1bc69bbe2':
  Ensure __set_errno is still visible on LP32.
2014-09-09 00:11:52 +00:00
Elliott Hughes
4a454760b5 am e70e541e: am 201f36d2: Merge "Don\'t expose non-standard basename_r and dirname_r in LP64."
* commit 'e70e541e7f97ddef3c262bbd71a01710d9f57e65':
  Don't expose non-standard basename_r and dirname_r in LP64.
2014-09-09 00:11:52 +00:00
Elliott Hughes
5574335dc5 am 671f96cd: Merge "Ensure __set_errno is still visible on LP32."
* commit '671f96cd440d306dc2baf5e8631e927cd1aa759d':
  Ensure __set_errno is still visible on LP32.
2014-09-09 00:05:24 +00:00
Elliott Hughes
e70e541e7f am 201f36d2: Merge "Don\'t expose non-standard basename_r and dirname_r in LP64."
* commit '201f36d23bb778b29c8d305fa40a41990e0487bc':
  Don't expose non-standard basename_r and dirname_r in LP64.
2014-09-09 00:05:23 +00:00
Elliott Hughes
671f96cd44 Merge "Ensure __set_errno is still visible on LP32." 2014-09-08 23:47:53 +00:00
Elliott Hughes
011e111d29 Ensure __set_errno is still visible on LP32.
The use of the .hidden directive to avoid going via the PLT for
__set_errno had the side-effect of actually making __set_errno
hidden (which is odd because assembler directives don't usually
affect symbols defined in a different file --- you can't even
create a weak reference to a symbol that's defined in a different
file).

This change switches the system call stubs over to a new always-hidden
__set_errno_internal and has a visible __set_errno on LP32 just for
binary compatibility with old NDK apps.

(cherry-pick of 7efad83d430f4d824f2aaa75edea5106f6ff8aae.)

Bug: 17423135
Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
2014-09-08 16:46:50 -07:00
Elliott Hughes
201f36d23b Merge "Don't expose non-standard basename_r and dirname_r in LP64." 2014-09-08 23:46:04 +00:00
Elliott Hughes
cf5fc80c3e Don't expose non-standard basename_r and dirname_r in LP64.
(cherry-pick of f0e9458ea596227720fa745df15f5357f6c0c8f6.)

Bug: 17407423
Change-Id: I47fe499a4c396bf09d7b78fd828728d04777398b
2014-09-08 16:44:48 -07:00
Elliott Hughes
eeb13c6bdb am 938473a7: resolved conflicts for merge of 7efad83d to lmp-dev-plus-aosp
* commit '938473a7f031822d7449624f5844c07d23814422':
  Ensure __set_errno is still visible on LP32.
2014-09-08 23:32:32 +00:00
Elliott Hughes
938473a7f0 resolved conflicts for merge of 7efad83d to lmp-dev-plus-aosp
Change-Id: I3994c3c69e187e08d69642e097de14b5040c5b3b
2014-09-08 16:21:24 -07:00
Dmitriy Ivanov
14669a939d Load libraries in breadth-first order
This patch fixes the problem with symbol search order
  for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries
  and ld_preloads in correct order.

Bug: https://code.google.com/p/android/issues/detail?id=74255
Change-Id: If1ba5c807322409faa914e27ecb675e2c4541f0d
Attempt: 2
2014-09-08 13:02:50 -07:00
Elliott Hughes
b614b05942 am 2af51cac: Merge "resolved conflicts for merge of c8f6b82f to lmp-dev-plus-aosp" into lmp-dev-plus-aosp
* commit '2af51cacde8e8e15639352f96e46cbc9e9e6a4f6':
  Don't expose non-standard basename_r and dirname_r in LP64.
2014-09-08 18:52:42 +00:00
Elliott Hughes
347e873bfb am 6b779c6b: am 51c8355d: Add arc4random_addrandom binary compatibility.
* commit '6b779c6b61ec662f19f9ea30fd003c770799196c':
  Add arc4random_addrandom binary compatibility.
2014-09-08 18:52:42 +00:00
Elliott Hughes
2af51cacde Merge "resolved conflicts for merge of c8f6b82f to lmp-dev-plus-aosp" into lmp-dev-plus-aosp 2014-09-08 18:41:54 +00:00
Elliott Hughes
08df25419f resolved conflicts for merge of c8f6b82f to lmp-dev-plus-aosp
Change-Id: I03a4645eb5fbb54e41da25018729b270ba0ed48e
2014-09-08 11:41:30 -07:00
Elliott Hughes
6b779c6b61 am 51c8355d: Add arc4random_addrandom binary compatibility.
* commit '51c8355d5cf4b83ccd2ad250ca4c61a616356c2b':
  Add arc4random_addrandom binary compatibility.
2014-09-08 18:36:55 +00:00
Elliott Hughes
b03d3102c3 am ffa8672b: am d3d89f0d: Merge "Add arc4random_addrandom binary compatibility."
* commit 'ffa8672bd5722b9bb2f13dcabffb2814b2edd0ea':
  Add arc4random_addrandom binary compatibility.
2014-09-08 18:26:26 +00:00
Elliott Hughes
ffa8672bd5 am d3d89f0d: Merge "Add arc4random_addrandom binary compatibility."
* commit 'd3d89f0d28aba2db9f11cc0a9b3a865fa1d9d265':
  Add arc4random_addrandom binary compatibility.
2014-09-08 18:11:52 +00:00
Elliott Hughes
d3d89f0d28 Merge "Add arc4random_addrandom binary compatibility." 2014-09-08 17:53:04 +00:00
Elliott Hughes
fc829736e1 Add arc4random_addrandom binary compatibility.
This was in <stdlib.h> in older releases. It's no longer used, but we can
preserve backwards compatibility by making it a no-op.

(cherry-pick of 51c8355d5cf4b83ccd2ad250ca4c61a616356c2b.)

Bug: 16205834
Change-Id: Idde7b46df4f253e39675600bcf82352879a716e7
2014-09-08 10:52:28 -07:00
Christopher Ferris
d790900d5f am 9e7abe2e: am b4673c41: Merge "Add dlmalloc_usable_size for 32 bit arches."
* commit '9e7abe2e60c16ca3ffb3d1839c040fe2c3d34551':
  Add dlmalloc_usable_size for 32 bit arches.
2014-09-06 20:37:54 +00:00
Christopher Ferris
9e7abe2e60 am b4673c41: Merge "Add dlmalloc_usable_size for 32 bit arches."
* commit 'b4673c41025f3a16804aff8438c2810c739a11ef':
  Add dlmalloc_usable_size for 32 bit arches.
2014-09-06 20:28:37 +00:00
Christopher Ferris
7f6006d232 am eb1dd673: am 47ed03f7: Merge "Add dlmalloc_usable_size for 32 bit arches." into lmp-dev
* commit 'eb1dd673ecb660a56c19a04697a14ed56db5eb91':
  Add dlmalloc_usable_size for 32 bit arches.
2014-09-06 20:24:21 +00:00
Christopher Ferris
b4673c4102 Merge "Add dlmalloc_usable_size for 32 bit arches." 2014-09-06 20:17:02 +00:00
Christopher Ferris
eb1dd673ec am 47ed03f7: Merge "Add dlmalloc_usable_size for 32 bit arches." into lmp-dev
* commit '47ed03f70c6c9addc7f05e4ee4dc71c96d215105':
  Add dlmalloc_usable_size for 32 bit arches.
2014-09-06 20:14:17 +00:00
Christopher Ferris
f903558446 Add dlmalloc_usable_size for 32 bit arches.
Bug: 17337831

(cherry picked from commit 1c365cb494)

Change-Id: Ice100e42eeac4b9c3b77737a546ec33174adcb2f
2014-09-06 13:06:57 -07:00
Ying Wang
dc787b75d5 am 455577d3: am e07b4da5: Merge "Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker."
* commit '455577d3ce64135fcb6ce33cd6d3c73b06189e40':
  Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker.
2014-09-06 00:10:28 +00:00
Dmitriy Ivanov
2f06081a97 am 2a0105f9: am 320a01d5: Merge "Revert "Load libraries in breadth-first order""
* commit '2a0105f95d91653626996fa3e8416bfcb41d3048':
  Revert "Load libraries in breadth-first order"
2014-09-06 00:10:28 +00:00
Ying Wang
455577d3ce am e07b4da5: Merge "Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker."
* commit 'e07b4da53ddcb34939c1b5a88db36dec34352add':
  Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker.
2014-09-05 23:58:08 +00:00
Dmitriy Ivanov
2a0105f95d am 320a01d5: Merge "Revert "Load libraries in breadth-first order""
* commit '320a01d51693408dad859094ca52e5f315ff1d15':
  Revert "Load libraries in breadth-first order"
2014-09-05 23:58:07 +00:00
Ying Wang
e07b4da53d Merge "Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker." 2014-09-05 23:41:25 +00:00
Dmitriy Ivanov
fa0f9cc9f1 am 4a4dc7b3: am b3ebfecd: Merge "Fix order of soinfo links (repairs libcxx tests)."
* commit '4a4dc7b37c3a26a349d771755fb8bfb0ba4a05c9':
  Fix order of soinfo links (repairs libcxx tests).
2014-09-05 23:38:02 +00:00
Dmitriy Ivanov
320a01d516 Merge "Revert "Load libraries in breadth-first order"" 2014-09-05 23:36:22 +00:00
Dmitriy Ivanov
498eb18b82 Revert "Load libraries in breadth-first order"
This reverts commit a3ad450a2e.

Change-Id: Ia2b838ad2159c643b80c514849582f4b4f4f40e5
2014-09-05 16:27:54 -07:00
Dmitriy Ivanov
4a4dc7b37c am b3ebfecd: Merge "Fix order of soinfo links (repairs libcxx tests)."
* commit 'b3ebfecdae05e29062bf4d0234239a54a2733ce0':
  Fix order of soinfo links (repairs libcxx tests).
2014-09-05 23:27:30 +00:00
Ying Wang
f9e147b0bf Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker.
Previously we duplicated code in build/core/executable.mk and it's hard
to maintain. LOCAL_POST_LINK_CMD is a clean solution for this.

Bug: 17403674
Change-Id: I8c054bf782af68cf1f88b8d787a78ca74a7968b5
2014-09-05 16:16:35 -07:00
Dmitriy Ivanov
b3ebfecdae Merge "Fix order of soinfo links (repairs libcxx tests)." 2014-09-05 23:11:19 +00:00
Dmitriy Ivanov
b2a30ee8d2 Fix order of soinfo links (repairs libcxx tests).
Change-Id: Iee9de09657351cd6a7512784ca797e4b84cdd98b
2014-09-05 16:01:47 -07:00
Chih-Hung Hsieh
6d4d735ae5 am 1325d50c: am 8adace5f: Merge "Enable clang compilation with libc but not linker."
* commit '1325d50c721717032bce940554e21f0cc28c08e5':
  Enable clang compilation with libc but not linker.
2014-09-05 19:21:38 +00:00
Chih-Hung Hsieh
1325d50c72 am 8adace5f: Merge "Enable clang compilation with libc but not linker."
* commit '8adace5f2c185bd616f79159eaf90d2982157069':
  Enable clang compilation with libc but not linker.
2014-09-05 19:11:06 +00:00
Chih-Hung Hsieh
8adace5f2c Merge "Enable clang compilation with libc but not linker." 2014-09-05 18:54:48 +00:00
Chih-Hung Hsieh
b58db8b083 Enable clang compilation with libc but not linker.
Clang is still disabled for x86 and x86_64 long double code,
for x86_64 special assembly instruction, and the linker module.

BUG: 17163651
BUG: 17302991
BUG: 17403674
Change-Id: I43c5f5f0ddc0c2a31918f00b57150dadd8f3f26b
2014-09-05 11:18:35 -07:00
Elliott Hughes
911b47f684 am 3fd8eee5: am 5beddb7d: Fix pthread_attr_getstack__main_thread.
* commit '3fd8eee516e9376351c0c06af47154765f1ca647':
  Fix pthread_attr_getstack__main_thread.
2014-09-05 15:43:29 +00:00
Elliott Hughes
3fd8eee516 am 5beddb7d: Fix pthread_attr_getstack__main_thread.
* commit '5beddb7d642524ecb6655ab2823caf2add679917':
  Fix pthread_attr_getstack__main_thread.
2014-09-05 15:32:44 +00:00
Dmitriy Ivanov
feb717abdd am b7f09d06: am 001815ed: Merge "Reset enviroment for math_tests"
* commit 'b7f09d065473adf6b504ccb08f0b0d25c09e70b4':
  Reset enviroment for math_tests
2014-09-05 02:33:04 +00:00
Dmitriy Ivanov
b7f09d0654 am 001815ed: Merge "Reset enviroment for math_tests"
* commit '001815ed197280409d08e9622890e7462c6e6831':
  Reset enviroment for math_tests
2014-09-05 02:21:28 +00:00
Dmitriy Ivanov
001815ed19 Merge "Reset enviroment for math_tests" 2014-09-05 01:56:44 +00:00
Dmitriy Ivanov
7b956ede3f Reset enviroment for math_tests
Bug: 17390824
Change-Id: I42f4c8d9199a2efe7641f0b0e64580cacb5695da
2014-09-04 18:38:21 -07:00
Elliott Hughes
32f8fef668 am 5c5bb4d0: am aca9cae3: Merge "Fix pthread_attr_getstack__main_thread."
* commit '5c5bb4d04ea5221088b0b3cdb63225237c1ff11a':
  Fix pthread_attr_getstack__main_thread.
2014-09-04 23:46:35 +00:00
Elliott Hughes
d3e1b1c59c am fc8f246a: am c74a7680: Merge "Fix mips signed/unsigned signal_test.cpp build breakage."
* commit 'fc8f246a49240b6fc7ed0d83a971219989fd290a':
  Fix mips signed/unsigned signal_test.cpp build breakage.
2014-09-04 23:36:33 +00:00
Dmitriy Ivanov
ff5a8672e1 am 4effe38a: am 44352f5f: Merge "Revert "Register __libc_fini as early as possible.""
* commit '4effe38ae68170539869753aa77855807ed4b970':
  Revert "Register __libc_fini as early as possible."
2014-09-04 23:36:32 +00:00
Dmitriy Ivanov
ec6099ec64 am 24d40f2d: am c0cd9ce5: Merge "Revert "Fix arm64 build""
* commit '24d40f2df06fc5fafd938bd828ba7c9e264c2a0d':
  Revert "Fix arm64 build"
2014-09-04 23:36:32 +00:00
Elliott Hughes
5c5bb4d04e am aca9cae3: Merge "Fix pthread_attr_getstack__main_thread."
* commit 'aca9cae30972ba2cd7a1158520dccd83b056513c':
  Fix pthread_attr_getstack__main_thread.
2014-09-04 23:33:50 +00:00
Elliott Hughes
fc8f246a49 am c74a7680: Merge "Fix mips signed/unsigned signal_test.cpp build breakage."
* commit 'c74a7680a409cd9f0cd3847b59e20ac16ad05806':
  Fix mips signed/unsigned signal_test.cpp build breakage.
2014-09-04 23:22:50 +00:00
Dmitriy Ivanov
4effe38ae6 am 44352f5f: Merge "Revert "Register __libc_fini as early as possible.""
* commit '44352f5f7f06ff9383d695b0a7d4243f5268f430':
  Revert "Register __libc_fini as early as possible."
2014-09-04 23:22:37 +00:00
Dmitriy Ivanov
24d40f2df0 am c0cd9ce5: Merge "Revert "Fix arm64 build""
* commit 'c0cd9ce5df753161aabb393420a8ada8f369b551':
  Revert "Fix arm64 build"
2014-09-04 23:22:37 +00:00
Elliott Hughes
aca9cae309 Merge "Fix pthread_attr_getstack__main_thread." 2014-09-04 23:20:53 +00:00
Elliott Hughes
27a9aed819 Fix pthread_attr_getstack__main_thread.
There were two problems here:

* This would fail when run with unlimited stack, because it didn't know
  that bionic reports unlimited stacks as 8MiB.

* This would leave RLIMIT_STACK small, causing failures to exec (so the
  popen and system tests would fail).

Change-Id: I5b92dc64ca089400223b2d9a3743e9b9d57c1bc2
2014-09-04 16:09:25 -07:00
Elliott Hughes
c74a7680a4 Merge "Fix mips signed/unsigned signal_test.cpp build breakage." 2014-09-04 22:48:16 +00:00
Elliott Hughes
aa13e839f0 Fix mips signed/unsigned signal_test.cpp build breakage.
Change-Id: I045ce017c0c51e1843193759a2eb6fc5b93e3867
2014-09-04 15:43:10 -07:00
Elliott Hughes
32db68c510 am ac5c1119: am 05f0bfd6: Merge "Don\'t mask out SA_RESTORER from sa_flags."
* commit 'ac5c111924097387499f6163cf3bf2275690de9b':
  Don't mask out SA_RESTORER from sa_flags.
2014-09-04 22:33:01 +00:00
Chih-Hung Hsieh
3e8c441de9 am 020ccc3c: am 4ee7c325: Merge "Disable Clang, due to x86 LDBL_MANT_DIG errors."
* commit '020ccc3c75866ccf333c4a6ebf279002ead371de':
  Disable Clang, due to x86 LDBL_MANT_DIG errors.
2014-09-04 22:33:01 +00:00
Elliott Hughes
ac5c111924 am 05f0bfd6: Merge "Don\'t mask out SA_RESTORER from sa_flags."
* commit '05f0bfd6c56746aa4f737804ebb62b555dc0d921':
  Don't mask out SA_RESTORER from sa_flags.
2014-09-04 22:20:50 +00:00
Chih-Hung Hsieh
020ccc3c75 am 4ee7c325: Merge "Disable Clang, due to x86 LDBL_MANT_DIG errors."
* commit '4ee7c325df9662b344304f207faf73cc9c3b735c':
  Disable Clang, due to x86 LDBL_MANT_DIG errors.
2014-09-04 22:20:48 +00:00
Dmitriy Ivanov
44352f5f7f Merge "Revert "Register __libc_fini as early as possible."" 2014-09-04 21:55:59 +00:00
Dmitriy Ivanov
c0cd9ce5df Merge "Revert "Fix arm64 build"" 2014-09-04 21:55:55 +00:00
Dmitriy Ivanov
4b41555ba5 Revert "Register __libc_fini as early as possible."
This reverts commit e880c736d6.

Change-Id: Ide83e442eb5dbfef5298a15bc602c3fe1dda1862
2014-09-04 21:54:34 +00:00
Dmitriy Ivanov
f0d8970435 Revert "Fix arm64 build"
This reverts commit 5c1a7fdbd5.

Change-Id: Ia5fea0d6a8f59700edce0742e2271b5f02a5d87c
2014-09-04 21:53:14 +00:00
Elliott Hughes
05f0bfd6c5 Merge "Don't mask out SA_RESTORER from sa_flags." 2014-09-04 21:03:34 +00:00
Elliott Hughes
afe58ad989 Don't mask out SA_RESTORER from sa_flags.
glibc doesn't do this, and we probably shouldn't either.

Bug: 16703540
Change-Id: Id5b93c3782e34024a9916463348e8f3caff191bf
2014-09-04 13:54:42 -07:00
Chih-Hung Hsieh
4ee7c325df Merge "Disable Clang, due to x86 LDBL_MANT_DIG errors." 2014-09-04 20:44:34 +00:00
Chih-Hung Hsieh
356a6249d8 Disable Clang, due to x86 LDBL_MANT_DIG errors.
Clang -m32 has incorrect sizeof(long double) = 12.
With -m64, LDBL_MANT_DIG is incorrect 64.

BUG: 17163651
Change-Id: I4b157aa1a8572c3a10aece6070e119a292ab8e83
2014-09-04 12:35:19 -07:00
Elliott Hughes
60a46deba3 am 32dc56a1: am 071bed80: Merge "_GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE."
* commit '32dc56a1ca57b7ea904fe9fd2c0ef43b544561f5':
  _GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE.
2014-09-04 17:24:01 +00:00
Elliott Hughes
32dc56a1ca am 071bed80: Merge "_GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE."
* commit '071bed8091cab4e070a1f5e6b2eb0dd1141f0498':
  _GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE.
2014-09-04 17:16:01 +00:00
Elliott Hughes
071bed8091 Merge "_GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE." 2014-09-04 17:02:10 +00:00
Elliott Hughes
fc8974b7aa _GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE.
This showed up as open_memstream not being visible in <stdio.h>
if only _GNU_SOURCE was defined.

Bug: 17361504
Change-Id: I38f9843f4e6ee770a6325ad50f779bda5495ffca
2014-09-04 08:53:16 -07:00
Dmitriy Ivanov
eb5009617d am 04ecc77d: am 1737b159: Merge "Load libraries in breadth-first order"
* commit '04ecc77df663d9a0b55e5b2e503657b5ad3a75e6':
  Load libraries in breadth-first order
2014-09-04 02:09:52 +00:00
Dmitriy Ivanov
04ecc77df6 am 1737b159: Merge "Load libraries in breadth-first order"
* commit '1737b159374468a21859d97d8be70a726af0ec9e':
  Load libraries in breadth-first order
2014-09-04 01:48:48 +00:00
Dmitriy Ivanov
1737b15937 Merge "Load libraries in breadth-first order" 2014-09-04 00:59:23 +00:00
Elliott Hughes
3333a8b2f4 am 40acbd69: am 1e010d60: Add back a dummy arc4random_stir for compatibility.
* commit '40acbd6904ef56b7a8d13904a37cf78b39763fe3':
  Add back a dummy arc4random_stir for compatibility.
2014-09-04 00:16:06 +00:00
Dmitriy Ivanov
d9b342498d am f851d60c: am 8f3b8f52: Merge "Fix arm64 build"
* commit 'f851d60c13899773f9b0f5a1296f1ebd2cf99b59':
  Fix arm64 build
2014-09-03 23:55:38 +00:00
Elliott Hughes
621fc3b046 am d05ad930: am 58bb54c3: Merge "Add back a dummy arc4random_stir for compatibility."
* commit 'd05ad93003aa3ebbf87aa040ee8eb93396b80fd6':
  Add back a dummy arc4random_stir for compatibility.
2014-09-03 23:55:37 +00:00
Elliott Hughes
40acbd6904 am 1e010d60: Add back a dummy arc4random_stir for compatibility.
* commit '1e010d60397db706cd3d1c4d5701a2bced441aa8':
  Add back a dummy arc4random_stir for compatibility.
2014-09-03 23:49:36 +00:00
Dmitriy Ivanov
f851d60c13 am 8f3b8f52: Merge "Fix arm64 build"
* commit '8f3b8f523ed594b48d28ca0b9a2651d209f29e26':
  Fix arm64 build
2014-09-03 23:47:01 +00:00
Elliott Hughes
d05ad93003 am 58bb54c3: Merge "Add back a dummy arc4random_stir for compatibility."
* commit '58bb54c38bf31fa5cdad8ddbdc44bbed04aaf0cf':
  Add back a dummy arc4random_stir for compatibility.
2014-09-03 23:47:00 +00:00
Dmitriy Ivanov
8f3b8f523e Merge "Fix arm64 build" 2014-09-03 23:36:35 +00:00
Elliott Hughes
58bb54c38b Merge "Add back a dummy arc4random_stir for compatibility." 2014-09-03 23:34:05 +00:00
Dmitriy Ivanov
5c1a7fdbd5 Fix arm64 build
Bug: 14611536
Change-Id: I4f7f4d1f5c0a37ef38fa0956778393f8d7668512
2014-09-03 16:33:08 -07:00
Elliott Hughes
5dea47221a Add back a dummy arc4random_stir for compatibility.
The current arc4random implementation stirs itself as needed, but we
need to keep an arc4random_stir symbol around for binary compatibility.

(cherry-pick of 1e010d60397db706cd3d1c4d5701a2bced441aa8.)

Bug: 17291075
Change-Id: Iaf6171c3ec65c39c1868364d5b35ea280e29a363
2014-09-03 16:30:22 -07:00
Dmitriy Ivanov
af9b0c4dab am bd00ae89: am 450aaa01: Merge "Register __libc_fini as early as possible."
* commit 'bd00ae89921e3715ddbf89a1aac069347e5cf3d4':
  Register __libc_fini as early as possible.
2014-09-03 22:49:59 +00:00
Dmitriy Ivanov
bd00ae8992 am 450aaa01: Merge "Register __libc_fini as early as possible."
* commit '450aaa018df19464cb4e01ea3059a2a075ebde52':
  Register __libc_fini as early as possible.
2014-09-03 22:44:15 +00:00
Dmitriy Ivanov
43ecbc8520 am 40412333: am 8da304b9: Merge "Make string tests check all alignment combinations"
* commit '40412333b42910e3edde20072aaf32afe3aaca7f':
  Make string tests check all alignment combinations
2014-09-03 22:38:53 +00:00
Dmitriy Ivanov
450aaa018d Merge "Register __libc_fini as early as possible." 2014-09-03 22:29:59 +00:00
Dmitriy Ivanov
40412333b4 am 8da304b9: Merge "Make string tests check all alignment combinations"
* commit '8da304b997bc0f81ebb30fadc79249fafc1c6fce':
  Make string tests check all alignment combinations
2014-09-03 22:29:23 +00:00
Dmitriy Ivanov
e880c736d6 Register __libc_fini as early as possible.
We want __libc_fini to be called after all the destructors.

Bug: 14611536
Change-Id: Ibb83a94436795ec178fd605fa531ac29608f4a3e
2014-09-03 15:27:29 -07:00
Dmitriy Ivanov
8da304b997 Merge "Make string tests check all alignment combinations" 2014-09-03 22:08:57 +00:00
Dmitriy Ivanov
a3ad450a2e Load libraries in breadth-first order
This patch fixes the problem with symbol search order
  for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries
  and ld_preloads in correct order.

Bug: https://code.google.com/p/android/issues/detail?id=74255
Change-Id: I4cf84c70dbaabe99310230dfda12385ae5401859
2014-09-03 15:06:14 -07:00
Dan Albert
77ed51e266 am c71129a4: am 28f17701: Merge "Don\'t fail a test just because we aren\'t root."
* commit 'c71129a4e82211bc2db62ea10311548da5e2c20f':
  Don't fail a test just because we aren't root.
2014-09-03 20:09:51 +00:00
Dan Albert
c71129a4e8 am 28f17701: Merge "Don\'t fail a test just because we aren\'t root."
* commit '28f1770101d84153e100ad7bc0628b4ef3b6e85c':
  Don't fail a test just because we aren't root.
2014-09-03 19:59:14 +00:00
Dan Albert
28f1770101 Merge "Don't fail a test just because we aren't root." 2014-09-03 18:37:11 +00:00
Dan Albert
69fb9f3f40 Don't fail a test just because we aren't root.
If the tests are not being run as root, emit a message and don't
continue with the test.

Change-Id: I352e1a4162caaeb18b81b8daf44797009756dcd9
2014-09-03 11:30:21 -07:00
Elliott Hughes
cf9c3aec2b am ce19b10f: am cb093d1f: Merge "Upgrade bionic to tzdata2014g." into lmp-dev
* commit 'ce19b10f5f9db0e73d911faa3ce35ddd2b0837bf':
  Upgrade bionic to tzdata2014g.
2014-09-03 09:12:52 +00:00
Hans Boehm
fd77e895ac am 5c2c5443: am 9ac60bf8: Make stdatomic.h work with gcc4.6 host compiler
* commit '5c2c5443823e30bfb02394f4fc2da06a74bd58df':
  Make stdatomic.h work with gcc4.6 host compiler
2014-09-03 09:12:51 +00:00
Andreas Gampe
4e092df34a am c16f0486: resolved conflicts for merge of 2b10e2f1 to lmp-dev-plus-aosp
* commit 'c16f0486fca0df1125cc381d3f4ef3b652d72d29':
  Undefine _Atomic before redefining
2014-09-03 09:12:50 +00:00
Elliott Hughes
ce19b10f5f am cb093d1f: Merge "Upgrade bionic to tzdata2014g." into lmp-dev
* commit 'cb093d1f55701da419d1013cc3e6fbb8aea3e957':
  Upgrade bionic to tzdata2014g.
2014-09-03 05:07:24 +00:00
Hans Boehm
5c2c544382 am 9ac60bf8: Make stdatomic.h work with gcc4.6 host compiler
* commit '9ac60bf82b1f0e316666b862e9924f90caa60342':
  Make stdatomic.h work with gcc4.6 host compiler
2014-09-03 05:07:24 +00:00
Dmitriy Ivanov
763d17e22f am 69fde6b4: am 3b10ba6f: Merge "Add some missing dlclose(.)"
* commit '69fde6b4a7c7674c8bbc8fba0b82bcc25fdf0539':
  Add some missing dlclose(.)
2014-09-03 05:04:25 +00:00
Dan Albert
6df7c2c80a am f3ba9f71: am c7de9191: Merge "Start math tests with a clean fenv."
* commit 'f3ba9f7171021417a0b6373ecf52136fb5cc9a76':
  Start math tests with a clean fenv.
2014-09-03 05:04:20 +00:00
Dan Albert
7681554de8 am 95742d36: am 847e52b9: Merge "Prevent a few test pthread keys from leaking."
* commit '95742d36038b459704bdd32e22df35956b5aca0d':
  Prevent a few test pthread keys from leaking.
2014-09-03 05:04:17 +00:00
Hans Boehm
cd7f163176 am e8d77291: resolved conflicts for merge of c8cf3513 to lmp-dev-plus-aosp
* commit 'e8d77291670ad435491a08f6c3d83881063e2e12':
  Fix, generalize stdatomic.h; improve test.
2014-09-03 05:04:16 +00:00
Elliott Hughes
6d84bc4c43 am 6c696754: am ec95a9cf: Merge "MIPS64 syscall() arguments"
* commit '6c69675423f3375ba4d9dadfaf9502a15576158c':
  MIPS64 syscall() arguments
2014-09-03 05:03:49 +00:00
Andreas Gampe
c16f0486fc resolved conflicts for merge of 2b10e2f1 to lmp-dev-plus-aosp
Change-Id: Ia41583773abbbe1f52d72d1e7f4b925e621d28ff
2014-09-02 22:02:48 -07:00
Dmitriy Ivanov
69fde6b4a7 am 3b10ba6f: Merge "Add some missing dlclose(.)"
* commit '3b10ba6f1b743ddced32474891ff6d1cb83c027a':
  Add some missing dlclose(.)
2014-09-03 01:08:16 +00:00
Dmitriy Ivanov
3b10ba6f1b Merge "Add some missing dlclose(.)" 2014-09-03 00:36:22 +00:00
Dmitriy Ivanov
319356e39c Add some missing dlclose(.)
Bug: 17358010
Change-Id: I9e427b7681f1a8fe890b0b47812d9e65ab95c792
2014-09-02 17:31:44 -07:00
Dan Albert
f3ba9f7171 am c7de9191: Merge "Start math tests with a clean fenv."
* commit 'c7de919129098bac259f66f973888b1814ae0d1a':
  Start math tests with a clean fenv.
2014-09-02 23:35:33 +00:00
Dan Albert
c7de919129 Merge "Start math tests with a clean fenv." 2014-09-02 23:11:42 +00:00
Dan Albert
95742d3603 am 847e52b9: Merge "Prevent a few test pthread keys from leaking."
* commit '847e52b9b7bca9dee20e33d1006dfc23885e7494':
  Prevent a few test pthread keys from leaking.
2014-09-02 23:02:57 +00:00
Dan Albert
6676a7d4ee Start math tests with a clean fenv.
We always want the default floating point environment when running these
tests.

Bug: 17358010
Change-Id: I6ca2552e9f2d3e07d7b9dcaf0aec66905401c466
2014-09-02 16:00:10 -07:00
Dan Albert
847e52b9b7 Merge "Prevent a few test pthread keys from leaking." 2014-09-02 22:43:18 +00:00
Hans Boehm
e8d7729167 resolved conflicts for merge of c8cf3513 to lmp-dev-plus-aosp
Change-Id: If1181e3496d0309eebbaa1f1d2696269e61c64bc
2014-09-02 15:24:33 -07:00
Dan Albert
1d53ae2a01 Prevent a few test pthread keys from leaking.
Bug: 17358010
Change-Id: Ie718dc215ddfd431650295a1630c1b1716760c3d
2014-09-02 15:24:26 -07:00
Elliott Hughes
6c69675423 am ec95a9cf: Merge "MIPS64 syscall() arguments"
* commit 'ec95a9cf11f7c4d2211c61da7ce05262a54409d1':
  MIPS64 syscall() arguments
2014-09-02 21:18:55 +00:00
Elliott Hughes
ec95a9cf11 Merge "MIPS64 syscall() arguments" 2014-09-02 20:53:31 +00:00
Dmitriy Ivanov
32ef431b6c am a1d14f62: am 86f594b1: Merge "Encapsulate soinfo_link_image and soinfo_relocate"
* commit 'a1d14f62f6efb78dbb601c0c2be79a036da05854':
  Encapsulate soinfo_link_image and soinfo_relocate
2014-09-02 19:53:32 +00:00
Dmitriy Ivanov
a1d14f62f6 am 86f594b1: Merge "Encapsulate soinfo_link_image and soinfo_relocate"
* commit '86f594b19bc51ffe87bfacb6b42687af94c3c648':
  Encapsulate soinfo_link_image and soinfo_relocate
2014-09-02 19:45:29 +00:00
Chris Dearman
296895f1a9 MIPS64 syscall() arguments
The seventh argument for syscall is passed in a register, not on the stack

Change-Id: Idb69fac77d1f710cff5a3ab4ae1259feb61ae69d
2014-09-02 12:41:01 -07:00
Dmitriy Ivanov
86f594b19b Merge "Encapsulate soinfo_link_image and soinfo_relocate" 2014-09-02 19:25:09 +00:00
Dmitriy Ivanov
29bbc9dd4c Encapsulate soinfo_link_image and soinfo_relocate
Also get rid of needed[] array for these functions

Change-Id: I8d12887dbec0724309bb171e6bbd9b9ceb32cc70
2014-09-02 11:47:23 -07:00
Elliott Hughes
299647b814 am a5d70a4b: am 4625dd75: Merge "Upgrade bionic to tzdata2014g."
* commit 'a5d70a4b15c3c6a7eddd2a4593ad28fa8846f383':
  Upgrade bionic to tzdata2014g.
2014-09-02 18:42:28 +00:00
Elliott Hughes
a5d70a4b15 am 4625dd75: Merge "Upgrade bionic to tzdata2014g."
* commit '4625dd751e5f7beb0a9b8ec6a768fc7a2c36367a':
  Upgrade bionic to tzdata2014g.
2014-09-02 18:29:15 +00:00
Dmitriy Ivanov
15a52d7944 am 23fa71f7: am e057b9fc: Merge "Introduce size-based r/w allocators"
* commit '23fa71f7ca7096a25fd0d603061c861e410eb817':
  Introduce size-based r/w allocators
2014-09-02 17:57:20 +00:00
Elliott Hughes
4625dd751e Merge "Upgrade bionic to tzdata2014g." 2014-09-02 17:57:10 +00:00
Dmitriy Ivanov
7b3328a106 am 80ecaf33: am 4cafa3ce: Merge "Implement LinkedList::visit()"
* commit '80ecaf331e16530179f91db565a8862a8a55f3b1':
  Implement LinkedList::visit()
2014-09-02 17:57:07 +00:00
Dmitriy Ivanov
39f5554fe2 am e47b9949: am 5120bcf9: Merge "Look into ld_preloads before current library"
* commit 'e47b994975e8d21c517082914ab3c72afd5cee55':
  Look into ld_preloads before current library
2014-09-02 17:39:37 +00:00
Dmitriy Ivanov
a3dddd9ead am e4c4311f: resolved conflicts for merge of c191a8ad to lmp-dev-plus-aosp
* commit 'e4c4311f4402d8f470b91500acf140baa7c4aa47':
  Look into ld_preloads before current library
2014-09-02 17:39:36 +00:00
Dmitriy Ivanov
29dfcfda4b am a20e37f2: am 11387985: Merge "Erase elements in LinkedList::remove_if"
* commit 'a20e37f291957749091ee3a4f30b35a8d4d5a3f3':
  Erase elements in LinkedList::remove_if
2014-09-02 17:39:36 +00:00
Dmitriy Ivanov
23fa71f7ca am e057b9fc: Merge "Introduce size-based r/w allocators"
* commit 'e057b9fc82e1674198738ff2fdd4eb70c645bf9e':
  Introduce size-based r/w allocators
2014-09-02 17:35:37 +00:00
Elliott Hughes
4eac5ecf2b am 1a96db3e: resolved conflicts for merge of b2eb09a9 to lmp-dev-plus-aosp
* commit '1a96db3e8ea0b2a488a068c6f46f7e7ca2e5fc96':
  Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
2014-09-02 17:34:14 +00:00
Hans Boehm
af09e0337e am 94ea04c5: am e505cc66: Merge "Make stdatomic.h work with gcc4.6 host compiler"
* commit '94ea04c50ac3ca59245999bfe302066e8b5c1c84':
  Make stdatomic.h work with gcc4.6 host compiler
2014-09-02 17:33:33 +00:00
Dmitriy Ivanov
e057b9fc82 Merge "Introduce size-based r/w allocators" 2014-09-02 17:21:51 +00:00
Dmitriy Ivanov
80ecaf331e am 4cafa3ce: Merge "Implement LinkedList::visit()"
* commit '4cafa3ce808419325eefbb8013d21a919e2aabda':
  Implement LinkedList::visit()
2014-09-02 17:15:38 +00:00
Dmitriy Ivanov
4cafa3ce80 Merge "Implement LinkedList::visit()" 2014-09-02 16:54:14 +00:00
Elliott Hughes
9685c30a23 Upgrade bionic to tzdata2014g.
From the release notes:

  Changes affecting future time stamps

    Turks & Caicos is switching from US eastern time to UTC-4 year-round,
    modeled as a switch from EST/EDT to AST on 2014-11-02 at 02:00.

  Changes affecting past time stamps

    Time in Russia or the USSR before 1926 or so has been corrected by
    a few seconds in the following zones: Asia/Irkutsk,
    Asia/Krasnoyarsk, Asia/Omsk, Asia/Samarkand, Asia/Tbilisi,
    Asia/Vladivostok, Asia/Yakutsk, Europe/Riga, Europe/Samara.  For
    Asia/Yekaterinburg the correction is a few minutes.  (Thanks to
    Vladimir Karpinsky.)

    The Portuguese decree of 1911-05-26 took effect on 1912-01-01.
    This affects 1911 time stamps in Africa/Bissau, Africa/Luanda,
    Atlantic/Azores, and Atlantic/Madeira.  Also, Lisbon's pre-1912
    GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32.
    (Thanks to Stephen Colebourne for pointing to the decree.)

    Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.

    A new file 'backzone' contains data which may appeal to
    connoisseurs of old time stamps, although it is out of scope for
    the tz database, is often poorly sourced, and contains some data
    that is known to be incorrect.  The new file is not recommended
    for ordinary use and its entries are not installed by default.
    (Thanks to Lester Caine for the high-quality Jersey, Guernsey, and
    Isle of Man entries.)

    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: Africa/Bangui, Africa/Brazzaville,
    Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,
    Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.

Bug: 17277574
Change-Id: Idff4a68e927d49bef1e787af534e1b23b5b8a7fb
2014-09-02 09:51:04 -07:00
Dmitriy Ivanov
a492605849 Implement LinkedList::visit()
Change-Id: Ibd9d133dddf1f2e6e65660e3cd2dacafcc0c84d9
2014-09-02 09:45:40 -07:00
Dmitriy Ivanov
0cd83ebb0e Introduce size-based r/w allocators
Change-Id: I75165fc392e5380124039e6db49b0f559c8a518e
2014-09-01 16:17:05 -07:00
Dmitriy Ivanov
e47b994975 am 5120bcf9: Merge "Look into ld_preloads before current library"
* commit '5120bcf9f11951bffd8ac595c2b70252ed4a4958':
  Look into ld_preloads before current library
2014-09-01 21:36:47 +00:00
Dmitriy Ivanov
e4c4311f44 resolved conflicts for merge of c191a8ad to lmp-dev-plus-aosp
Change-Id: I24dcf9701ebe3344796f757a596754cbefbf358a
2014-09-01 14:34:15 -07:00
Dmitriy Ivanov
a20e37f291 am 11387985: Merge "Erase elements in LinkedList::remove_if"
* commit '11387985d27f7d9794963779c69dcf0056bac43c':
  Erase elements in LinkedList::remove_if
2014-09-01 21:24:50 +00:00
Dmitriy Ivanov
5120bcf9f1 Merge "Look into ld_preloads before current library" 2014-09-01 21:16:42 +00:00
Dmitriy Ivanov
c2048944ff 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 05e190c093)

Change-Id: I5bfb58e18015b1ec5b77842dbb37fb122fa1fd1a
2014-09-01 14:14:09 -07:00
Dmitriy Ivanov
11387985d2 Merge "Erase elements in LinkedList::remove_if" 2014-09-01 21:06:32 +00:00
Elliott Hughes
d711fa3dee am e21a6242: am bbe06e0d: Merge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc."
* commit 'e21a624269b198e82c1c9a102d36f1fa21b44f6b':
  Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
2014-09-01 11:25:55 +00:00
Dmitriy Ivanov
016c7e19da am e6f46bfb: am 83b637fa: Merge "Replace NULL with nullptr"
* commit 'e6f46bfb90123757aaa36a3be79b875e18a95c46':
  Replace NULL with nullptr
2014-09-01 11:25:50 +00:00
Elliott Hughes
1a96db3e8e resolved conflicts for merge of b2eb09a9 to lmp-dev-plus-aosp
Change-Id: I0208958d78d6d7bc8c41568aa9abee15605b951e
2014-08-30 22:30:48 -07:00
Hans Boehm
94ea04c50a am e505cc66: Merge "Make stdatomic.h work with gcc4.6 host compiler"
* commit 'e505cc66a6e03f4ba460de3500f8b272421482c1':
  Make stdatomic.h work with gcc4.6 host compiler
2014-08-30 01:25:10 +00:00
Hans Boehm
e505cc66a6 Merge "Make stdatomic.h work with gcc4.6 host compiler" 2014-08-30 00:49:51 +00:00
Dmitriy Ivanov
4bea498544 Erase elements in LinkedList::remove_if
Change-Id: I5119a78c73ffe780a81c53ab5ff0266d5c82d319
2014-08-29 17:09:24 -07:00
Hans Boehm
32429606bf 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 00aaea3645 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
2014-08-29 17:03:26 -07:00
Elliott Hughes
e21a624269 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.
2014-08-29 23:30:14 +00:00
Elliott Hughes
bbe06e0da1 Merge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc." 2014-08-29 23:08:01 +00:00
Elliott Hughes
e0c56efddf Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
Bug: 16874785
Change-Id: I8512f8be3fd149d8720c5c3b4657bedd5ce2b1d1
2014-08-29 15:54:11 -07:00
Dmitriy Ivanov
e6f46bfb90 am 83b637fa: Merge "Replace NULL with nullptr"
* commit '83b637fa28e072aa73691b5ddc588293f06cb54b':
  Replace NULL with nullptr
2014-08-29 22:51:53 +00:00
Dmitriy Ivanov
83b637fa28 Merge "Replace NULL with nullptr" 2014-08-29 22:30:07 +00:00
Dmitriy Ivanov
851135bf99 Replace NULL with nullptr
Change-Id: Iad50be617d318ca98883b843229c960ad5b9afa9
2014-08-29 14:13:48 -07:00
Elliott Hughes
079841285e am 72dc86ec: am 1f39afc8: Merge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9."
* commit '72dc86ec5f8927d7be03b110a61aba45e94b4cfa':
  The host prebuilt glibc is 2.11, so remove workarounds for 2.9.
2014-08-29 18:49:21 +00:00
Elliott Hughes
72dc86ec5f 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.
2014-08-29 18:30:59 +00:00
Elliott Hughes
1f39afc8d4 Merge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9." 2014-08-29 18:12:36 +00:00
Chih-Hung Hsieh
d3acdf1660 am 46623c1c: am cc4259ed: Merge "Ignore all __weak_alias in OpenBSD libC."
* commit '46623c1cc7045d01ad950a4d2cad2a2722efc5ce':
  Ignore all __weak_alias in OpenBSD libC.
2014-08-29 11:56:38 +00:00
Elliott Hughes
7187c84058 am cd6657f9: am 29f06943: Merge "Add GNU-compatible strerror_r."
* commit 'cd6657f9eacb8dff723be48ffff72e153b4c82c6':
  Add GNU-compatible strerror_r.
2014-08-29 11:56:38 +00:00
Chih-Hung Hsieh
46623c1cc7 am cc4259ed: Merge "Ignore all __weak_alias in OpenBSD libC."
* commit 'cc4259ed9254ae66f63cacc3ad50963c4058eb1c':
  Ignore all __weak_alias in OpenBSD libC.
2014-08-29 11:39:56 +00:00
Elliott Hughes
cd6657f9ea am 29f06943: Merge "Add GNU-compatible strerror_r."
* commit '29f06943a19ef2271a08f4223f597a3383f0d9c0':
  Add GNU-compatible strerror_r.
2014-08-29 11:39:55 +00:00
Chih-Hung Hsieh
cc4259ed92 Merge "Ignore all __weak_alias in OpenBSD libC." 2014-08-29 03:10:44 +00:00
Elliott Hughes
f6824b26ae The host prebuilt glibc is 2.11, so remove workarounds for 2.9.
Change-Id: I1072fcebc8b3018580a9d069fe6eca9c4e74e865
2014-08-28 19:28:35 -07:00
Elliott Hughes
29f06943a1 Merge "Add GNU-compatible strerror_r." 2014-08-29 02:26:34 +00:00
Elliott Hughes
416d7ddaff 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
2014-08-28 16:37:09 -07:00
Chih-Hung Hsieh
b6b5cb5389 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
2014-08-28 15:10:01 -07:00
Elliott Hughes
1470c824a9 am eceb417d: am 67f1f3b1: Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
* commit 'eceb417d2817aace3207943cc90b81026d505f80':
  Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
2014-08-28 04:16:11 +00:00
Elliott Hughes
53c39aab6e am 0019c7b5: resolved conflicts for merge of a0eeb0b6 to lmp-dev-plus-aosp
* commit '0019c7b5a05a7c79e3ab9b72cae9bcdf8d22491e':
  Fix pthread_getattr_np for the main thread.
2014-08-28 04:11:48 +00:00
Elliott Hughes
eceb417d28 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...
2014-08-28 03:37:22 +00:00
Elliott Hughes
0019c7b5a0 resolved conflicts for merge of a0eeb0b6 to lmp-dev-plus-aosp
Change-Id: I84193689c0d6a9ee70b8da3c509694eb6d747d4a
2014-08-27 20:03:04 -07:00
Elliott Hughes
f5f59e3756 am 9560aaba: am f4e721dd: Merge "Have pthread_attr_getstack for the main thread report RLIMIT_STACK..."
* commit '9560aaba8ff6c667495de590a097709cb95bba24':
  Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
2014-08-28 00:13:16 +00:00
Elliott Hughes
9560aaba8f 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...
2014-08-28 00:00:07 +00:00
Christopher Ferris
96e0a433f9 am 5f6bab1a: am af9da4a3: Merge "Replace snprintf calls in linker."
* commit '5f6bab1ac2212a23d8afd96dceb51b793b05dd2f':
  Replace snprintf calls in linker.
2014-08-27 23:53:09 +00:00
Elliott Hughes
f4e721dd51 Merge "Have pthread_attr_getstack for the main thread report RLIMIT_STACK..." 2014-08-27 23:43:27 +00:00
Christopher Ferris
5f6bab1ac2 am af9da4a3: Merge "Replace snprintf calls in linker."
* commit 'af9da4a343d8fe2456e9d861bbd75bba67f2193c':
  Replace snprintf calls in linker.
2014-08-27 23:41:56 +00:00
Chih-Hung Hsieh
42e5994ff1 am 2c449617: am fbe9d3df: Merge "Fix strlen function type for mips."
* commit '2c449617c37c7b5419908499740530af2f1ca6f0':
  Fix strlen function type for mips.
2014-08-27 23:36:22 +00:00
Christopher Ferris
af9da4a343 Merge "Replace snprintf calls in linker." 2014-08-27 23:29:18 +00:00
Chih-Hung Hsieh
2c449617c3 am fbe9d3df: Merge "Fix strlen function type for mips."
* commit 'fbe9d3dfeb0e09c0e4aa3221aace8249c0efe881':
  Fix strlen function type for mips.
2014-08-27 23:24:27 +00:00
Yigit Boyar
f227b34d1c am 80f47ca3: Merge branch \'lmp-dev-plus-aosp\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp
* commit '80f47ca35cf54ac3de8b42b70d81189bd58080c7':
  Replace ambiguous cmp instruction with cmpl.
2014-08-27 23:13:49 +00:00
Christopher Ferris
91f854ee7d am 04f12ef9: am 598d25bf: Merge "Replace snprintf calls in linker." into lmp-dev
* commit '04f12ef91c7f4235d6657583679f1dc39718344f':
  Replace snprintf calls in linker.
2014-08-27 23:13:48 +00:00
Chih-Hung Hsieh
fbe9d3dfeb Merge "Fix strlen function type for mips." 2014-08-27 23:09:30 +00:00
Christopher Ferris
052fa3a34c 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 172955a4e3)

Change-Id: Idca9d417978403d61debfd0434aaa82fd770f33b
2014-08-27 16:01:57 -07:00
Chih-Hung Hsieh
15b914c8f3 Fix strlen function type for mips.
Clang complains about incompatible-library-redeclaration.

BUG: 17302369
Change-Id: I3ae36f24846408c6464b84b5bddb1747e1e4a971
2014-08-27 16:00:46 -07:00
Yigit Boyar
80f47ca35c Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp 2014-08-27 23:00:12 +00:00
Christopher Ferris
04f12ef91c am 598d25bf: Merge "Replace snprintf calls in linker." into lmp-dev
* commit '598d25bf78fa632e70cb80d4033572328f5bd1b7':
  Replace snprintf calls in linker.
2014-08-27 23:00:10 +00:00
Chih-Hung Hsieh
e561e5db73 am 4f8268e3: Merge "Replace ambiguous cmp instruction with cmpl."
* commit '4f8268e38f151724722bcb489c32185a93fd86ba':
  Replace ambiguous cmp instruction with cmpl.
2014-08-27 23:00:09 +00:00
Chih-Hung Hsieh
4f8268e38f Merge "Replace ambiguous cmp instruction with cmpl." 2014-08-27 22:46:07 +00:00
Elliott Hughes
9e4ffa7032 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
2014-08-27 15:32:01 -07:00
Chih-Hung Hsieh
71405a84da am 2dc7fd03: am 34da32e7: Merge "Add missing type casts before comparison."
* commit '2dc7fd03e77e32f85422786cc4bea157354d50be':
  Add missing type casts before comparison.
2014-08-27 22:13:22 +00:00
Chih-Hung Hsieh
2dc7fd03e7 am 34da32e7: Merge "Add missing type casts before comparison."
* commit '34da32e7dd00270e98b845f8a810a6f12ffffb9b':
  Add missing type casts before comparison.
2014-08-27 22:05:14 +00:00
Chih-Hung Hsieh
857fa6b2a3 Replace ambiguous cmp instruction with cmpl.
Clang assembler rejects ambiguous cmp instruction.

BUG: 17302482
Change-Id: I74f49de87464541f9fe6fa288e4093a9fbf37120
2014-08-27 15:04:23 -07:00
Christopher Ferris
895854f430 am 725fae1d: am 6ecd1cd1: Merge "Use the default unwind code."
* commit '725fae1de487cb202d5429afb440541b79e8381e':
  Use the default unwind code.
2014-08-27 21:50:09 +00:00
Chih-Hung Hsieh
34da32e7dd Merge "Add missing type casts before comparison." 2014-08-27 21:44:12 +00:00
Christopher Ferris
725fae1de4 am 6ecd1cd1: Merge "Use the default unwind code."
* commit '6ecd1cd195546ecaf4317beda3f1a1a27f1d0d57':
  Use the default unwind code.
2014-08-27 21:35:16 +00:00
Christopher Ferris
6ecd1cd195 Merge "Use the default unwind code." 2014-08-27 21:21:28 +00:00
Chih-Hung Hsieh
a2c6ae6f84 Add missing type casts before comparison.
BUG: 17300548
Change-Id: Ice9868f36c8fa8cd40bb13741b0e33c8f8d354fd
2014-08-27 13:45:37 -07:00
Christopher Ferris
b78e60e7b7 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 3f7635f490)

Change-Id: If8a3821cdd95ed481bb496bf2daab449d13790f8
2014-08-27 13:13:21 -07:00
Baligh Uddin
0570368a79 am 388369b7: Merge branch \'lmp-dev-plus-aosp\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp
* commit '388369b788f93670551fe32233b6c4b55d3879d9':
  call uselocale() before freelocale() to make sure that g_local_key has a valid locale.
  Switch to OpenBSD <err.h> implementation.
2014-08-27 17:55:30 +00:00
Elliott Hughes
c15ee16fb3 am b489ba48: am 6cc4e3b6: Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale." into lmp-dev
* commit 'b489ba48a11ae91bd51bd99b3741ad452484684d':
  call uselocale() before freelocale() to make sure that g_local_key has a valid locale.
2014-08-27 17:55:29 +00:00
Baligh Uddin
388369b788 Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp 2014-08-27 17:39:51 +00:00
Elliott Hughes
6c3e6e7c40 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.
2014-08-27 17:39:29 +00:00
Elliott Hughes
7a9471d815 am 64ae11ab: Merge "Switch to OpenBSD <err.h> implementation."
* commit '64ae11ab766421fe2c49ebdecb14c36fe0a047fe':
  Switch to OpenBSD <err.h> implementation.
2014-08-27 17:39:28 +00:00
Elliott Hughes
b489ba48a1 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.
2014-08-27 17:39:01 +00:00
Elliott Hughes
cb322a1168 Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale." 2014-08-27 17:27:46 +00:00
Wally Yau
a40fdbd565 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
2014-08-27 10:26:49 -07:00
Elliott Hughes
64ae11ab76 Merge "Switch to OpenBSD <err.h> implementation." 2014-08-27 17:26:03 +00:00
Christopher Ferris
e94c0e6abf am 7bad1a90: am 3f7635f4: Use the default unwind code.
* commit '7bad1a90f1f270d5e2e3ca798d1e0f35c79bec6b':
  Use the default unwind code.
2014-08-27 04:55:00 +00:00
Christopher Ferris
7bad1a90f1 am 3f7635f4: Use the default unwind code.
* commit '3f7635f4906c53fa744731efc35235456b7d93bf':
  Use the default unwind code.
2014-08-27 04:46:05 +00:00
Hans Boehm
c0c0e0404f am 3b32ba0e: am 6bfcefe0: Merge "Undefine _Atomic before redefining"
* commit '3b32ba0e2c1851e20f72a73c606dcbfc79e687bb':
  Undefine _Atomic before redefining
2014-08-27 00:11:45 +00:00
Elliott Hughes
e294a02c0c am d961078f: am 07401c71: Merge "Switch to OpenBSD daemon(3)."
* commit 'd961078f2d1ee42f41ae967d33ba583dd42475f8':
  Switch to OpenBSD daemon(3).
2014-08-27 00:11:45 +00:00
Elliott Hughes
edbd5b2659 am 3e95a0d6: am f1e64b5c: (-s ours) Merge "More cases where libc should use O_CLOEXEC."
* commit '3e95a0d6f0fb3e15485c4671643b4c61e89c49d3':
  More cases where libc should use O_CLOEXEC.
2014-08-27 00:11:44 +00:00
Hans Boehm
3b32ba0e2c am 6bfcefe0: Merge "Undefine _Atomic before redefining"
* commit '6bfcefe02f8fbeec1f6790bd5ebb1fdd5dba1e33':
  Undefine _Atomic before redefining
2014-08-27 00:01:46 +00:00
Elliott Hughes
d961078f2d am 07401c71: Merge "Switch to OpenBSD daemon(3)."
* commit '07401c7136af113304a22f4a8245ef3fc1b6929b':
  Switch to OpenBSD daemon(3).
2014-08-27 00:01:45 +00:00
Elliott Hughes
3e95a0d6f0 am f1e64b5c: (-s ours) Merge "More cases where libc should use O_CLOEXEC."
* commit 'f1e64b5c171a374f36cd970df0c84558d4209e1c':
  More cases where libc should use O_CLOEXEC.
2014-08-27 00:01:42 +00:00
Elliott Hughes
cc7e5f489f Switch to OpenBSD <err.h> implementation.
Change-Id: Ia950d88871a30f68e74f9ac7dbd87788e128e02f
2014-08-26 17:00:37 -07:00
Elliott Hughes
77fd54ae1c am f975bc2d: am 7b87d441: Merge "Switch to OpenBSD res_random."
* commit 'f975bc2d59b064e08f5d01ecd0724cb76351727f':
  Switch to OpenBSD res_random.
2014-08-26 23:47:17 +00:00
Elliott Hughes
390a11303d am 06b03394: am 59de803a: Merge "libc should use O_CLOEXEC when opening files for its own use."
* commit '06b033942ae7c6d967e4c58a4dd649e421598eba':
  libc should use O_CLOEXEC when opening files for its own use.
2014-08-26 23:47:16 +00:00
Dmitriy Ivanov
df8e8af8f7 am a04130f5: am 9f5dee55: Merge "Remove unnecessary calls to LinkedList::clear()"
* commit 'a04130f54c087cf2ad2924863a8a1e5c22fdd8a9':
  Remove unnecessary calls to LinkedList::clear()
2014-08-26 23:47:15 +00:00
Elliott Hughes
f975bc2d59 am 7b87d441: Merge "Switch to OpenBSD res_random."
* commit '7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce':
  Switch to OpenBSD res_random.
2014-08-26 23:41:23 +00:00
Elliott Hughes
06b033942a 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.
2014-08-26 23:41:23 +00:00
Dmitriy Ivanov
a04130f54c am 9f5dee55: Merge "Remove unnecessary calls to LinkedList::clear()"
* commit '9f5dee55aa401b11b3eb15806d3f8ffc291c2bb1':
  Remove unnecessary calls to LinkedList::clear()
2014-08-26 23:41:22 +00:00
Dmitriy Ivanov
2ad7cce57c am 8e35e9e7: am d2bd3c47: Merge "Enable __cxa_atexit && __cxa_finalize for linker"
* commit '8e35e9e73ee14fa8c725c83d871db2b58821d8c9':
  Enable __cxa_atexit && __cxa_finalize for linker
2014-08-26 23:35:36 +00:00
Hans Boehm
6bfcefe02f Merge "Undefine _Atomic before redefining" 2014-08-26 23:34:49 +00:00
Elliott Hughes
07401c7136 Merge "Switch to OpenBSD daemon(3)." 2014-08-26 23:33:43 +00:00
Dmitriy Ivanov
8e35e9e73e am d2bd3c47: Merge "Enable __cxa_atexit && __cxa_finalize for linker"
* commit 'd2bd3c4717ed223bca1c68a87f243f4bcf492a4b':
  Enable __cxa_atexit && __cxa_finalize for linker
2014-08-26 23:26:32 +00:00
Elliott Hughes
e5055179fd Switch to OpenBSD daemon(3).
Change-Id: I1fd0be09fdb24aa6f1d945410eba5987f8a949b4
2014-08-26 16:25:19 -07:00
Elliott Hughes
f1e64b5c17 Merge "More cases where libc should use O_CLOEXEC." 2014-08-26 23:23:59 +00:00
Elliott Hughes
f73183f1a3 More cases where libc should use O_CLOEXEC.
Change-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0
2014-08-26 16:20:59 -07:00
Elliott Hughes
7b87d441b0 Merge "Switch to OpenBSD res_random." 2014-08-26 23:18:04 +00:00
Elliott Hughes
59de803af9 Merge "libc should use O_CLOEXEC when opening files for its own use." 2014-08-26 23:11:46 +00:00
Dmitriy Ivanov
9f5dee55aa Merge "Remove unnecessary calls to LinkedList::clear()" 2014-08-26 23:00:44 +00:00
Hans Boehm
3e4a0099a1 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
2014-08-26 15:58:15 -07:00
Elliott Hughes
c674edbf27 libc should use O_CLOEXEC when opening files for its own use.
Change-Id: I159f1d57e0ca090d837f57854fcef5879b8b8248
2014-08-26 15:56:54 -07:00
Dmitriy Ivanov
608217e167 Remove unnecessary calls to LinkedList::clear()
Change-Id: I981d2700cb17322c634b751715543fd33ee49b7c
2014-08-26 15:56:31 -07:00
Dmitriy Ivanov
d2bd3c4717 Merge "Enable __cxa_atexit && __cxa_finalize for linker" 2014-08-26 22:53:16 +00:00
Dmitriy Ivanov
14241402de Enable __cxa_atexit && __cxa_finalize for linker
This allows adding destructors to classes used
 for global variables.

Change-Id: I5e1cd63fe3bf8f66de88cc4f7437cafb350f49b5
2014-08-26 15:44:18 -07:00
Elliott Hughes
8572efefa5 am 05409ded: am c764fb24: Merge "Fix pthread_getattr_np for the main thread."
* commit '05409dedcd6268d8150e5a39327b1b48711834c0':
  Fix pthread_getattr_np for the main thread.
2014-08-26 20:18:50 +00:00
Elliott Hughes
05409dedcd am c764fb24: Merge "Fix pthread_getattr_np for the main thread."
* commit 'c764fb24ccb47e05d8e140cde5b4111225790ef1':
  Fix pthread_getattr_np for the main thread.
2014-08-26 20:08:44 +00:00
Elliott Hughes
c764fb24cc Merge "Fix pthread_getattr_np for the main thread." 2014-08-26 19:53:40 +00:00
Elliott Hughes
57b7a6110e 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
2014-08-26 10:36:38 -07:00
Chih-Hung Hsieh
b4e5b1012b am a9c435e0: am 9e307af9: Merge "Add standard throw() spec to delete operators."
* commit 'a9c435e072111d6e4a90748bb4a34f2c46814162':
  Add standard throw() spec to delete operators.
2014-08-25 22:41:21 +00:00
Chih-Hung Hsieh
a9c435e072 am 9e307af9: Merge "Add standard throw() spec to delete operators."
* commit '9e307af982ea9030849293b5e3307733289e3c2c':
  Add standard throw() spec to delete operators.
2014-08-25 22:29:24 +00:00
Chih-Hung Hsieh
9e307af982 Merge "Add standard throw() spec to delete operators." 2014-08-25 22:08:33 +00:00
Chih-Hung Hsieh
ae558d6b4b 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
2014-08-25 21:16:14 +00:00
Hans Boehm
235027e19d am 685c722d: am a4a8c4fe: Merge "Fix, generalize stdatomic.h; improve test."
* commit '685c722d32086f0ded3da9975a934cef34f171c9':
  Fix, generalize stdatomic.h; improve test.
2014-08-22 23:24:37 +00:00
Hans Boehm
685c722d32 am a4a8c4fe: Merge "Fix, generalize stdatomic.h; improve test."
* commit 'a4a8c4feb8cf3cebf8aceace70e699e128095b5c':
  Fix, generalize stdatomic.h; improve test.
2014-08-22 23:15:54 +00:00
Hans Boehm
a4a8c4feb8 Merge "Fix, generalize stdatomic.h; improve test." 2014-08-22 22:52:31 +00:00
Hans Boehm
00aaea3645 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
2014-08-22 15:50:17 -07:00
Dmitriy Ivanov
355ffed60d am 0c3ef375: am 9d34f6a9: Merge "Bump soinfo version"
* commit '0c3ef37501d32444ef333a960e306b33164fa31f':
  Bump soinfo version
2014-08-22 21:13:57 +00:00
Dmitriy Ivanov
0c3ef37501 am 9d34f6a9: Merge "Bump soinfo version"
* commit '9d34f6a90973bea086b4244df6eff74ab2211814':
  Bump soinfo version
2014-08-22 21:03:34 +00:00
Dmitriy Ivanov
9d34f6a909 Merge "Bump soinfo version" 2014-08-22 20:44:56 +00:00
Dmitriy Ivanov
0d15094287 Bump soinfo version
This includes:
 1. Placing has_ifunc after fields with version = 0
 2. Switch to has_min_version(v) function.
 3. Minor soinfo initialization refactoring (placement new + ctor)

Change-Id: I1bf5fde4d930914012ce5f3ad5acb48217da9b2d
2014-08-22 13:29:18 -07:00
Dan Albert
2d516203f3 am 740cf634: am 0b9fa4c9: Merge "Fix dlmalloc build."
* commit '740cf634f78141b37e30a37f9fdf491951d321e4':
  Fix dlmalloc build.
2014-08-22 18:40:23 +00:00
Dan Albert
740cf634f7 am 0b9fa4c9: Merge "Fix dlmalloc build."
* commit '0b9fa4c9bff5d3128f120a2008aa6997c7363b49':
  Fix dlmalloc build.
2014-08-22 18:25:06 +00:00
Dan Albert
66af51131b am a2dcd944: am 4756afe3: Merge "Implement malloc_info(3)."
* commit 'a2dcd9449e7afe93ee9472ea899539b17574908f':
  Implement malloc_info(3).
2014-08-22 18:16:29 +00:00
Dan Albert
0b9fa4c9bf Merge "Fix dlmalloc build." 2014-08-22 18:06:36 +00:00
Dan Albert
ef619cc083 Fix dlmalloc build.
Change-Id: Ied542c40867ab443cdd2076bd2e535b00c4854e4
2014-08-22 11:05:48 -07:00
Dan Albert
a2dcd9449e am 4756afe3: Merge "Implement malloc_info(3)."
* commit '4756afe3d5017b50c89761c47f0da17a6799c81e':
  Implement malloc_info(3).
2014-08-22 18:04:08 +00:00
Dan Albert
4756afe3d5 Merge "Implement malloc_info(3)." 2014-08-22 17:39:18 +00:00
Dan Albert
4caa1f0977 Implement malloc_info(3).
Expose jemalloc stats through the malloc_info(3) interface.

Bug: 16874689
Change-Id: I4358ac283002e60ff161107028d1a3fb1e9afb0a
2014-08-22 10:23:12 -07:00
Elliott Hughes
952e2b839c am 4592c5e9: Merge branch \'lmp-dev-plus-aosp\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp
* commit '4592c5e993e2ee625b9cfdd8e50cce0be9042114':
  Fix unistd.getpid_caching_and_clone.
2014-08-22 16:53:23 +00:00
Elliott Hughes
a657e1cc6a am 021ce40c: am 84d0683a: Fix unistd.getpid_caching_and_clone.
* commit '021ce40c0ca98ccdd7daa4d468222b951da10c06':
  Fix unistd.getpid_caching_and_clone.
2014-08-22 16:53:23 +00:00
Elliott Hughes
4592c5e993 Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp 2014-08-22 16:42:23 +00:00
Elliott Hughes
021ce40c0c am 84d0683a: Fix unistd.getpid_caching_and_clone.
* commit '84d0683a824fa02dbaa6d1b56a79223804b54e80':
  Fix unistd.getpid_caching_and_clone.
2014-08-22 16:42:17 +00:00
Elliott Hughes
0bcfedb8d2 am 538db6d2: Merge "Fix unistd.getpid_caching_and_clone."
* commit '538db6d2e63b203622c49344488099eaa5062850':
  Fix unistd.getpid_caching_and_clone.
2014-08-22 16:42:15 +00:00
Elliott Hughes
538db6d2e6 Merge "Fix unistd.getpid_caching_and_clone." 2014-08-22 16:28:02 +00:00
Elliott Hughes
2b3b2ecee8 Fix unistd.getpid_caching_and_clone.
This test only works if you're root (strictly: if you have permission to
CLONE_NEWNS), so it's useful to us when we're doing ad hoc testing (since
that's usually done as root), but it's not useful as part of CTS or when
running the tests on the host.

(cherry-pick of 84d0683a824fa02dbaa6d1b56a79223804b54e80.)

Bug: 16705621
Bug: 17170200
Change-Id: Ia92c871b15f7e45fc174bb59bc95540fd00ae745
2014-08-22 09:26:50 -07:00
Dan Albert
fc7b06fd58 am ab537ae5: am 2e6c5fc4: Merge "Remove _flush_cache(2) for mips64."
* commit 'ab537ae574ba675d3b313c544f5cf5de0c6e77e7':
  Remove _flush_cache(2) for mips64.
2014-08-21 22:26:46 +00:00
Dan Albert
ab537ae574 am 2e6c5fc4: Merge "Remove _flush_cache(2) for mips64."
* commit '2e6c5fc4e903b6ef58bd94e13e51b3f0aa4689b3':
  Remove _flush_cache(2) for mips64.
2014-08-21 22:12:30 +00:00
Dmitriy Ivanov
84c8fc8683 am 87c5f24e: am 2bd88d45: Merge "Run constructors before resolving ifunc functions"
* commit '87c5f24e4e58d7c26e8490f33d8233755b17a551':
  Run constructors before resolving ifunc functions
2014-08-21 21:55:13 +00:00
Dan Albert
2e6c5fc4e9 Merge "Remove _flush_cache(2) for mips64." 2014-08-21 21:51:42 +00:00
Dmitriy Ivanov
87c5f24e4e am 2bd88d45: Merge "Run constructors before resolving ifunc functions"
* commit '2bd88d450ead2ad8b44a76126c720cf4a9772002':
  Run constructors before resolving ifunc functions
2014-08-21 21:45:24 +00:00
Dmitriy Ivanov
2bd88d450e Merge "Run constructors before resolving ifunc functions" 2014-08-21 21:27:52 +00:00
Dmitriy Ivanov
9598b8c415 Run constructors before resolving ifunc functions
Bug: 17177284
Change-Id: I5714b9bc2d1ca8f8711806bfb68da3d524213e99
2014-08-21 14:24:13 -07:00
Dan Albert
47793d6a29 Remove _flush_cache(2) for mips64.
Also remove declaration.

The only user is compiler-rt, and they can replace that call with one to
syscall(2). compiler-rt doesn't currently build on mips64 anyway.

Bug: 11156955
Change-Id: Ieae0ba49c8e7aa50253401fc1d7c2d17bc867d39
2014-08-21 13:32:37 -07:00
Dan Albert
54f4129b79 am ba8dede8: am 31572118: Merge "__gnu_basename(3) is accounted for."
* commit 'ba8dede8585adfc411726496a877a1460fa769c6':
  __gnu_basename(3) is accounted for.
2014-08-21 19:43:28 +00:00
Dan Albert
ba8dede858 am 31572118: Merge "__gnu_basename(3) is accounted for."
* commit '3157211849f808f89a7f1465fd60d6b41917ee4f':
  __gnu_basename(3) is accounted for.
2014-08-21 19:33:19 +00:00
Dan Albert
3157211849 Merge "__gnu_basename(3) is accounted for." 2014-08-21 19:14:44 +00:00
Dan Albert
2320b02c7d __gnu_basename(3) is accounted for.
Change-Id: I3836b14a797c4a8d121c6d29d95791ac768257da
2014-08-21 11:36:07 -07:00
Elliott Hughes
4e8ff5bf33 am d00ce65a: am 2d80400a: Fix some 32-bit-isms in <stdio.h>.
* commit 'd00ce65a16a77921b1835dc52dd31b9206200551':
  Fix some 32-bit-isms in <stdio.h>.
2014-08-21 18:34:41 +00:00
Elliott Hughes
d00ce65a16 am 2d80400a: Fix some 32-bit-isms in <stdio.h>.
* commit '2d80400a9e8454038a3ec29959436184be0c4c65':
  Fix some 32-bit-isms in <stdio.h>.
2014-08-21 18:25:59 +00:00
Elliott Hughes
4c6c024a32 am 1fa71e6c: am d5fbc371: Merge "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream."
* commit '1fa71e6cbb7254e6450701913e5f9cfc6226587a':
  Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.
2014-08-21 04:07:20 +00:00
Elliott Hughes
1fa71e6cbb am d5fbc371: Merge "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream."
* commit 'd5fbc37119ef6cd757ceb449cb071ee03c66590e':
  Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.
2014-08-21 03:11:32 +00:00
Elliott Hughes
d5fbc37119 Merge "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream." 2014-08-21 00:17:56 +00:00
Elliott Hughes
6b841db2ba Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.
Bug: 17164505
Change-Id: I59e28a08ff8b6ab632230b11a5807cfd5278aeb5
2014-08-20 17:03:46 -07:00
Elliott Hughes
8aab5c927f am ff3adf16: am b6ed5407: Merge "Simplify _ALIGN_TEXT."
* commit 'ff3adf163222cf8351c9968149509615bc936552':
  Simplify _ALIGN_TEXT.
2014-08-20 20:57:47 +00:00
Elliott Hughes
497a10b311 am 1b6b56a9: am 7134fc30: Merge "Regenerate "services.h" from /etc/services."
* commit '1b6b56a9a662eb68a0eb707c556287b0f7810556':
  Regenerate "services.h" from /etc/services.
2014-08-20 20:57:46 +00:00
Elliott Hughes
fd66905ac7 am 28bd4fd0: am 3bcd414b: Merge "Clean up some of our python scripts."
* commit '28bd4fd080d290dba0f61275109698d0fe4b5dc4':
  Clean up some of our python scripts.
2014-08-20 20:57:45 +00:00
Elliott Hughes
b22eebf09e am c64b6800: am 55244a9b: Merge "Add <stdio_ext.h> for elfutils."
* commit 'c64b680066d4ceaba908bf43ba7b2b8761b00073':
  Add <stdio_ext.h> for elfutils.
2014-08-20 20:57:45 +00:00
Hans Boehm
f4a27ad738 am c4b55c12: am b61c5064: Merge "Work around atomic_load(const T*) issues."
* commit 'c4b55c1221581b5ab8dc7cc21d9eead85b79eaa2':
  Work around atomic_load(const T*) issues.
2014-08-20 20:57:44 +00:00
Elliott Hughes
ff3adf1632 am b6ed5407: Merge "Simplify _ALIGN_TEXT."
* commit 'b6ed54076abdd337150d7a92a661247b69d26cb4':
  Simplify _ALIGN_TEXT.
2014-08-20 20:54:13 +00:00
Elliott Hughes
1b6b56a9a6 am 7134fc30: Merge "Regenerate "services.h" from /etc/services."
* commit '7134fc30892bff763e7c24ac722151e0777b5409':
  Regenerate "services.h" from /etc/services.
2014-08-20 20:49:21 +00:00
Elliott Hughes
28bd4fd080 am 3bcd414b: Merge "Clean up some of our python scripts."
* commit '3bcd414b78e515482139c7dc3dad8cad3357b374':
  Clean up some of our python scripts.
2014-08-20 20:49:21 +00:00
Elliott Hughes
c64b680066 am 55244a9b: Merge "Add <stdio_ext.h> for elfutils."
* commit '55244a9bdbc661212999655644c374352ae92040':
  Add <stdio_ext.h> for elfutils.
2014-08-20 20:49:14 +00:00
Hans Boehm
c4b55c1221 am b61c5064: Merge "Work around atomic_load(const T*) issues."
* commit 'b61c50647b85b3c33af8ca155e88ec098d9e8cb0':
  Work around atomic_load(const T*) issues.
2014-08-20 20:48:45 +00:00
Elliott Hughes
b6ed54076a Merge "Simplify _ALIGN_TEXT." 2014-08-20 20:25:32 +00:00
Elliott Hughes
0e7f8a9e52 Simplify _ALIGN_TEXT.
Bug: 16872067
Change-Id: I2b622f252c21ce1b344c040f828ab3f4bf9b6c0a
2014-08-20 13:11:58 -07:00
Hans Boehm
b61c50647b Merge "Work around atomic_load(const T*) issues." 2014-08-19 22:32:42 +00:00
Elliott Hughes
7888f4d5ad am d61f102b: am b9d674c8: Merge "Implement the GNU basename(3) in addition to the POSIX one."
* commit 'd61f102bf8015686806f20bf5895fd05b967ce09':
  Implement the GNU basename(3) in addition to the POSIX one.
2014-08-19 22:25:59 +00:00
Elliott Hughes
d61f102bf8 am b9d674c8: Merge "Implement the GNU basename(3) in addition to the POSIX one."
* commit 'b9d674c8ada9c1e9c22b41bc7c89e35f11f4eb1e':
  Implement the GNU basename(3) in addition to the POSIX one.
2014-08-19 22:19:07 +00:00
Hans Boehm
1e8587a479 Work around atomic_load(const T*) issues.
Bug:17067219
Change-Id: I78e753bcf03464f5f05c3f37e394f2727d282589
2014-08-19 14:50:54 -07:00
Dan Albert
a9cfc7750d am f642846c: am 1506fc17: Expose android_set_abort_message().
* commit 'f642846c1cec8554ec4f09686eb9ce999f6edf59':
  Expose android_set_abort_message().
2014-08-19 20:35:04 +00:00
Elliott Hughes
e232b38314 am b8a8d1d6: am c5d6df6f: Merge "Add in_port_t and move it and in_addr_t to the correct header file."
* commit 'b8a8d1d68e5e7c7df8187f76bbd452a9822fab6d':
  Add in_port_t and move it and in_addr_t to the correct header file.
2014-08-19 20:35:03 +00:00
Dan Albert
f642846c1c am 1506fc17: Expose android_set_abort_message().
* commit '1506fc178e9dcd873eaf95535ac7625ebb59388f':
  Expose android_set_abort_message().
2014-08-19 20:29:23 +00:00
Elliott Hughes
b8a8d1d68e am c5d6df6f: Merge "Add in_port_t and move it and in_addr_t to the correct header file."
* commit 'c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c':
  Add in_port_t and move it and in_addr_t to the correct header file.
2014-08-19 20:26:45 +00:00
Elliott Hughes
74dae62e5a am 59b5f585: am 6f4220c4: Merge "Move the meat of <features.h> into <sys/cdefs.h>."
* commit '59b5f5852219cbfc266f619177990955022a31d1':
  Move the meat of <features.h> into <sys/cdefs.h>.
2014-08-19 19:11:58 +00:00
Elliott Hughes
59b5f58522 am 6f4220c4: Merge "Move the meat of <features.h> into <sys/cdefs.h>."
* commit '6f4220c49e90b18a50d36e47cc9287c7593af939':
  Move the meat of <features.h> into <sys/cdefs.h>.
2014-08-19 19:04:24 +00:00
Dan Albert
62e1e86e33 am f01d69e9: am 2222eae6: Merge "Missing #include <sys/cdefs.h>."
* commit 'f01d69e9def62d67da15e50ff40afab55f5c140c':
  Missing #include <sys/cdefs.h>.
2014-08-19 18:47:16 +00:00
Dan Albert
f01d69e9de am 2222eae6: Merge "Missing #include <sys/cdefs.h>."
* commit '2222eae61e723d946029899edaf7afcbaa160bb7':
  Missing #include <sys/cdefs.h>.
2014-08-19 18:39:11 +00:00
Elliott Hughes
b969ed0786 am f00e8620: am 17f83c93: Merge "Remove unused defines from <features.h>."
* commit 'f00e86209d8b6b846c376786230ae07667534507':
  Remove unused defines from <features.h>.
2014-08-19 17:59:32 +00:00
Elliott Hughes
f00e86209d am 17f83c93: Merge "Remove unused defines from <features.h>."
* commit '17f83c93cbbde3e38a03182931f40b7390061a7d':
  Remove unused defines from <features.h>.
2014-08-19 17:50:01 +00:00
Dan Albert
3a240cc3bb am d971171d: am 934c8015: Merge "Expose android_set_abort_message()."
* commit 'd971171dfb5dffae9d41c07a3961389689f333e7':
  Expose android_set_abort_message().
2014-08-19 17:43:20 +00:00
Elliott Hughes
b6463733ca am ecd48356: am e4fcc3ad: Merge "Fix _BSD_SOURCE/__USE_BSD."
* commit 'ecd48356e38f2aec61639545c9656e8c67bcd6bd':
  Fix _BSD_SOURCE/__USE_BSD.
2014-08-19 17:37:54 +00:00
Dmitriy Ivanov
f9ac267bd3 am 707ed62b: am 8a76ee82: Merge "Revert "Add support for protected local symbol lookup.""
* commit '707ed62b9f873af84dc2a3427aadff3bef35f726':
  Revert "Add support for protected local symbol lookup."
2014-08-19 17:37:53 +00:00
Dan Albert
d971171dfb am 934c8015: Merge "Expose android_set_abort_message()."
* commit '934c8015d515f96c1f97255b48357da922cf626a':
  Expose android_set_abort_message().
2014-08-19 17:32:53 +00:00
Elliott Hughes
ecd48356e3 am e4fcc3ad: Merge "Fix _BSD_SOURCE/__USE_BSD."
* commit 'e4fcc3ad2b2965858571f5fb7d485ceb7e4a8266':
  Fix _BSD_SOURCE/__USE_BSD.
2014-08-19 17:11:21 +00:00
Dmitriy Ivanov
707ed62b9f am 8a76ee82: Merge "Revert "Add support for protected local symbol lookup.""
* commit '8a76ee821e49a912d1777fbe83b1ab07c1da541a':
  Revert "Add support for protected local symbol lookup."
2014-08-19 17:11:21 +00:00
Elliott Hughes
c5d6df6f2f Merge "Add in_port_t and move it and in_addr_t to the correct header file." 2014-08-19 15:49:56 +00:00
Elliott Hughes
35d226e05d Add in_port_t and move it and in_addr_t to the correct header file.
No one's reported this, but I saw it in an Android port of fuser(1).

We still have lots of problems in our network headers because we
get most of the structs direct from the kernel, and it doesn't use
types like this (which is why we've got away without this one for
so long). One day we should probably look at cleaning that up, but
doing so can wait.

Change-Id: If15edf0cfc32716fa312d7ed97c48321b760d979
2014-08-19 12:43:50 -07:00
Dmitriy Ivanov
6179fee1f6 am 19bf7f71: resolved conflicts for merge of e3ad34b3 to lmp-dev-plus-aosp
* commit '19bf7f717023558d54312c95f6a6529154204bab':
  Revert "Add support for protected local symbol lookup."
2014-08-19 13:39:57 +00:00
Dmitriy Ivanov
19bf7f7170 resolved conflicts for merge of e3ad34b3 to lmp-dev-plus-aosp
Change-Id: Ib744885890d38fa8dfbc130de8373343f49352cc
2014-08-19 06:28:24 -07:00
Elliott Hughes
55244a9bdb Merge "Add <stdio_ext.h> for elfutils." 2014-08-19 02:44:29 +00:00
Elliott Hughes
2b021e1066 Add <stdio_ext.h> for elfutils.
Bug: 17139679
Change-Id: I1605ac382dbb6f23b2d874dbb9769f3cde4a6a99
2014-08-20 10:23:52 -07:00
Elliott Hughes
b9d674c8ad Merge "Implement the GNU basename(3) in addition to the POSIX one." 2014-08-19 02:44:29 +00:00
Elliott Hughes
09c39d6df0 Implement the GNU basename(3) in addition to the POSIX one.
Code like perf(1) needs this.

Bug: 11860789
Change-Id: I907eb448052a7b165e4012d74303330d32328cb2
2014-08-19 14:30:30 -07:00
Elliott Hughes
6f4220c49e Merge "Move the meat of <features.h> into <sys/cdefs.h>." 2014-08-19 02:44:29 +00:00
Elliott Hughes
f4c948a9e9 Move the meat of <features.h> into <sys/cdefs.h>.
This way it's a lot harder for us to screw up (since we should always
be including <sys/cdefs.h> anyway).

Bug: 14659579
Change-Id: I23070fff3296b0d1c683bb5e3a6e214146327d53
2014-08-19 11:18:20 -07:00
Elliott Hughes
17f83c93cb Merge "Remove unused defines from <features.h>." 2014-08-19 02:44:29 +00:00
Elliott Hughes
f800969d35 Remove unused defines from <features.h>.
Bug: 14659579
Change-Id: I2ab02b13cafe3faad31248b843d39ab2cdbfeb91
2014-08-19 10:07:00 -07:00
Elliott Hughes
e4fcc3ad2b Merge "Fix _BSD_SOURCE/__USE_BSD." 2014-08-19 02:44:29 +00:00
Elliott Hughes
b810462028 Fix _BSD_SOURCE/__USE_BSD.
Bug: 14659579
Change-Id: I80ec9584f054c02d1078828f6bca759c42bc1d4c
2014-08-19 09:18:03 -07:00
Dmitriy Ivanov
8a76ee821e Merge "Revert "Add support for protected local symbol lookup."" 2014-08-19 02:44:29 +00:00
Dmitriy Ivanov
02aa70589d Revert "Add support for protected local symbol lookup."
This reverts commit d97e9f546e.

Bug: 17107521
(cherry picked from commit 9419420919)

Change-Id: I1a6df946ac8075699e77d68ffa6ac4a21b88e4bf
2014-08-19 05:19:53 -07:00
Elliott Hughes
ef7f99d2b5 am 38ba927c: am 0baf2ca3: Merge "Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE)."
* commit '38ba927c35295f935568a8b8c508dcc666780e8c':
  Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE).
2014-08-19 00:48:15 +00:00
Elliott Hughes
38ba927c35 am 0baf2ca3: Merge "Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE)."
* commit '0baf2ca34c7d9ec067b1f33bad69782c2dedc231':
  Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE).
2014-08-19 00:41:14 +00:00
Elliott Hughes
269bef726b am c2289796: am 205cc415: Merge "Improve <sys/cdefs.h>."
* commit 'c228979648e0812b2032d9d622af20153ddf4f29':
  Improve <sys/cdefs.h>.
2014-08-18 22:35:55 +00:00
Elliott Hughes
c228979648 am 205cc415: Merge "Improve <sys/cdefs.h>."
* commit '205cc41556d44b104a21bc6839b7ea44f72df9ba':
  Improve <sys/cdefs.h>.
2014-08-18 22:28:12 +00:00
Dan Albert
8e0eabadba am 247e441b: Resolved conflicts for merge of 6df7b609 to lmp-dev-plus-aosp.
* commit '247e441b0c039046d7ab355424a3d5e41c9bab91':
  Hide C++ stuff in libc. Put it back in libstdc++.
2014-08-18 22:06:30 +00:00
Dan Albert
247e441b0c Resolved conflicts for merge of 6df7b609 to lmp-dev-plus-aosp.
Change-Id: I204e5701031c9ba9cd783c0db58cd51d93a5dc61
2014-08-18 14:58:13 -07:00
Elliott Hughes
205cc41556 Merge "Improve <sys/cdefs.h>." 2014-08-18 21:31:43 +00:00
Elliott Hughes
2cfb4e8e2e Improve <sys/cdefs.h>.
Fix and use __RENAME (and lose ___RENAME --- two underscores should be
enough for anybody). This was the point of this change, because I want
to use __RENAME to support the two basename variants and the two
strerror_r variants.

Lose a bunch of macros that weren't being used.

Lose three dead files from the DNS code.

Change-Id: I3ef645c566b16a52217bc2e68c7d54b37c7c9522
2014-08-18 14:45:42 -07:00
Christopher Ferris
cc7e938ce1 am bd4351f9: am 54d24e09: Merge "Fix leak_realloc, copy entire allocation."
* commit 'bd4351f9452c1e095e02894c198fe4ee8a99832c':
  Fix leak_realloc, copy entire allocation.
2014-08-18 21:15:06 +00:00
Christopher Ferris
c3bc045a5a am 3290fd46: am 3c7c9a8d: (-s ours) Merge "malloc_usable_size returns the original size."
* commit '3290fd4625fc67f35b641b52c1142bb64dc25d67':
  malloc_usable_size returns the original size.
2014-08-18 21:15:06 +00:00
Christopher Ferris
bd4351f945 am 54d24e09: Merge "Fix leak_realloc, copy entire allocation."
* commit '54d24e099c24d0811ae723640d4e12e9558cab73':
  Fix leak_realloc, copy entire allocation.
2014-08-18 21:05:59 +00:00
Christopher Ferris
3290fd4625 am 3c7c9a8d: (-s ours) Merge "malloc_usable_size returns the original size."
* commit '3c7c9a8d3fda1057b8a4dea85f357a044dd21563':
  malloc_usable_size returns the original size.
2014-08-18 21:05:59 +00:00
Dan Albert
754e884618 am 2b91cf32: am db2e0247: Merge "Hide C++ stuff in libc. Put it back in libstdc++."
* commit '2b91cf32e646481657d951e1bb2d2493116a4edc':
  Hide C++ stuff in libc. Put it back in libstdc++.
2014-08-18 20:22:56 +00:00
Dan Albert
2b91cf32e6 am db2e0247: Merge "Hide C++ stuff in libc. Put it back in libstdc++."
* commit 'db2e0247ed67dfdf6e16eb47348db81dc8ccd04d':
  Hide C++ stuff in libc. Put it back in libstdc++.
2014-08-18 20:14:48 +00:00
Christopher Ferris
0d9b41e1a8 am 3d7f92e9: am 9e56ce4c: Merge "Fix leak_realloc, copy entire allocation." into lmp-dev
* commit '3d7f92e914b5a89a74d33757379775cc6abaebc1':
  Fix leak_realloc, copy entire allocation.
2014-08-18 19:47:21 +00:00
Christopher Ferris
3d7f92e914 am 9e56ce4c: Merge "Fix leak_realloc, copy entire allocation." into lmp-dev
* commit '9e56ce4cd387cfa45de3a71dcccedd061e09d2f5':
  Fix leak_realloc, copy entire allocation.
2014-08-18 19:33:55 +00:00
Elliott Hughes
7134fc3089 Merge "Regenerate "services.h" from /etc/services." 2014-08-16 04:28:29 +00:00
Elliott Hughes
c4a1de1ae2 Regenerate "services.h" from /etc/services.
Change-Id: Iec118f9a342b5c1f6ce6d48965798b12a7159ad3
2014-08-20 12:11:31 -07:00
Elliott Hughes
3bcd414b78 Merge "Clean up some of our python scripts." 2014-08-16 04:28:29 +00:00
Elliott Hughes
dc1fb7000a Clean up some of our python scripts.
Change-Id: Ifa75345db43434298cfb6113fbe2f7a33b88c79d
2014-08-20 11:16:11 -07:00
Dan Albert
2222eae61e Merge "Missing #include <sys/cdefs.h>." 2014-08-16 04:28:29 +00:00
Dan Albert
3a25ab952b Missing #include <sys/cdefs.h>.
Needed for __BEGIN_DECLS/__END_DECLS. Currently fine because it's being
included after other files that do this.

Change-Id: I1f12368fc461f6ef5ca90992cf19f317f0b5d7af
2014-08-19 11:08:02 -07:00
Dan Albert
934c8015d5 Merge "Expose android_set_abort_message()." 2014-08-16 04:20:19 +00:00
Dan Albert
ce6b1abbb1 Expose android_set_abort_message().
Removes the leading underscores from __android_set_abort_message() and
moves its declaration into a public header file.

Bug: 17059126
Change-Id: I470c79db47ec783ea7a54b800f8b78ecbe7479ab
2014-08-18 14:37:42 -07:00
Christopher Ferris
3c7c9a8d3f Merge "malloc_usable_size returns the original size." 2014-08-16 04:09:33 +00:00
Christopher Ferris
5d9e145c62 malloc_usable_size returns the original size.
Bug: 16874447

(cherry picked from commit 59c1ee44d0)

Change-Id: I70839632974367c8b9893fb1f9c5ee4364608470
2014-08-18 13:10:16 -07:00
Christopher Ferris
54d24e099c Merge "Fix leak_realloc, copy entire allocation." 2014-08-16 04:08:14 +00:00
Christopher Ferris
6d40d34908 Fix leak_realloc, copy entire allocation.
Bug: 16874447

(cherry picked from commit 5df0839cea)

Change-Id: I9280505c0c1c3b5da24ba590448dcd6e7a230406
2014-08-18 13:10:47 -07:00
Dan Albert
db2e0247ed Merge "Hide C++ stuff in libc. Put it back in libstdc++." 2014-08-16 04:08:14 +00:00
Dan Albert
fd5ee9aebc Hide C++ stuff in libc. Put it back in libstdc++.
Bug: 17062445
Change-Id: I027b186719654c2865b08c3fa83f90fa00c1e838
2014-08-18 12:01:01 -07:00
Elliott Hughes
0baf2ca34c Merge "Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE)." 2014-08-16 04:03:35 +00:00
Elliott Hughes
5f5cc45cf0 Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE).
<features.h> is supposed to take user-settable stuff like _GNU_SOURCE
and _BSD_SOURCE and turn them into __USE_GNU and __USE_BSD for use in
the C library headers. Instead, bionic used to unconditionally define
_BSD_SOURCE and _GNU_SOURCE, and then test _GNU_SOURCE in the header
files (which makes no sense whatsoever).

Bug: 14659579
Change-Id: Ice4cf21a364ea2e559071dc8329e995277d5b987
2014-08-18 16:04:03 -07:00
Dmitriy Ivanov
32efc8ea0f am 05d2a981: am 2b6cdb5e: Merge "Add atexit test for attributed c-tor/d-tor"
* commit '05d2a98133b5432f70e1f830aa55c5f50bfb3e29':
  Add atexit test for attributed c-tor/d-tor
2014-08-16 00:44:40 +00:00
Dmitriy Ivanov
7677b6f382 am 18fbdce8: am d8e00769: Merge "Keep symbols for linker" into lmp-dev
* commit '18fbdce86e02726581a13954f27a7ab05e438a2e':
  Keep symbols for linker
2014-08-16 00:43:44 +00:00
Dmitriy Ivanov
05d2a98133 am 2b6cdb5e: Merge "Add atexit test for attributed c-tor/d-tor"
* commit '2b6cdb5e459661727c99e81660c7c3df5cdbe024':
  Add atexit test for attributed c-tor/d-tor
2014-08-15 23:13:30 +00:00
Dmitriy Ivanov
18fbdce86e am d8e00769: Merge "Keep symbols for linker" into lmp-dev
* commit 'd8e007695c755bba75b7243077271b6d655d818a':
  Keep symbols for linker
2014-08-15 21:42:47 +00:00
Hans Boehm
e91a58a164 am a1ff9e8e: am f0f66c02: Have stdatomic.h punt to C++ atomic when possible
* commit 'a1ff9e8eb00d189b01d7f3cdb21541ce0445a3b1':
  Have stdatomic.h punt to C++ atomic when possible
2014-08-15 21:27:05 +00:00
Dmitriy Ivanov
2b6cdb5e45 Merge "Add atexit test for attributed c-tor/d-tor" 2014-08-15 21:23:56 +00:00
Dmitriy Ivanov
4571f31bd4 Add atexit test for attributed c-tor/d-tor
1. Add test for __attribute__((constructor/destructor))
    and static constructor

 2. Compile C++ testlibs with -std=gnu++11

Change-Id: I67f9308144a0c638a51f111fcba8e1933fe0ba41
2014-08-15 14:22:07 -07:00
Hans Boehm
a1ff9e8eb0 am f0f66c02: Have stdatomic.h punt to C++ atomic when possible
* commit 'f0f66c0264eb4b6ee56072af34c91a78a9184f23':
  Have stdatomic.h punt to C++ atomic when possible
2014-08-15 21:16:51 +00:00
Hans Boehm
cc6c2324a7 am e9c7a452: am 7d05f741: Merge "Have stdatomic.h punt to C++ atomic when possible"
* commit 'e9c7a4528cf33f571e9ba4d3ccc032b4f377a89b':
  Have stdatomic.h punt to C++ atomic when possible
2014-08-15 18:33:22 +00:00
Hans Boehm
e9c7a4528c am 7d05f741: Merge "Have stdatomic.h punt to C++ atomic when possible"
* commit '7d05f741e7885ad42f853b5fe2b1d31cdc756b5c':
  Have stdatomic.h punt to C++ atomic when possible
2014-08-15 18:27:38 +00:00
Dan Albert
e7bf334437 am 47822dae: am e2050ae1: Merge "Change name of MB_CUR_MAX implementation function." into lmp-dev
* commit '47822dae63d939b58ca9b946b90396475ac14930':
  Change name of MB_CUR_MAX implementation function.
2014-08-15 13:39:47 +00:00
Dan Albert
6676667b7f am 716fe4ca: am 553c0ea5: Merge "Move mtctxres.c to libc_dns.a." into lmp-dev
* commit '716fe4caacff804a689ac84eaeb5cc5a9311edcd':
  Move mtctxres.c to libc_dns.a.
2014-08-15 13:39:46 +00:00
Christopher Ferris
033c2787c4 am c3731ea8: am 0533195e: Merge "malloc_usable_size returns the original size." into lmp-dev
* commit 'c3731ea8fdeb5d4d0152b986b4bb9316dc49ead8':
  malloc_usable_size returns the original size.
2014-08-15 11:52:10 +00:00
Dan Albert
47822dae63 am e2050ae1: Merge "Change name of MB_CUR_MAX implementation function." into lmp-dev
* commit 'e2050ae1aa9d7e8e6f425bbb7a3991fe612f3913':
  Change name of MB_CUR_MAX implementation function.
2014-08-15 11:49:36 +00:00
Dan Albert
716fe4caac am 553c0ea5: Merge "Move mtctxres.c to libc_dns.a." into lmp-dev
* commit '553c0ea52bde59800fda2ddd380dd18d4f3ab192':
  Move mtctxres.c to libc_dns.a.
2014-08-15 11:49:36 +00:00
Christopher Ferris
c3731ea8fd am 0533195e: Merge "malloc_usable_size returns the original size." into lmp-dev
* commit '0533195e16b86794f14dfb1800ca170ce2548b9f':
  malloc_usable_size returns the original size.
2014-08-15 11:36:56 +00:00
Hans Boehm
7d05f741e7 Merge "Have stdatomic.h punt to C++ atomic when possible" 2014-08-15 05:01:31 +00:00
Hans Boehm
019d395811 Have stdatomic.h punt to C++ atomic when possible
This is an alternate, somewhat simpler, fix that makes it safe to
include both <atomic> and <stdatomic.h> from C++ code in either order.
It means that C code consistently uses one implementation of atomics
and C++ another.  We still have to make sure that those two
implementations interoperate correctly at runtime; in particular,
any flavor of atomic object needs to be represented exactly like the
underlying type, with the proper alignment constraint.

Bug:17007799
Change-Id: Iffcfc5220d8fa150f89dd083a121b24d23f268fc
2014-08-15 10:38:20 -07:00
Dmitriy Ivanov
337527f4a7 am a43011da: am 4bea4c63: Label pages mapped by linker_allocator
* commit 'a43011daf05cf0b22f4c0d387254351e87898035':
  Label pages mapped by linker_allocator
2014-08-14 23:49:22 +00:00
Dmitriy Ivanov
a43011daf0 am 4bea4c63: Label pages mapped by linker_allocator
* commit '4bea4c631f747cc6b570ecd42c744a9b1103bf28':
  Label pages mapped by linker_allocator
2014-08-14 23:34:48 +00:00
Dan Albert
cf59e8ca66 am 3dbab7a7: am d0cce143: Merge "Move mtctxres.c to libc_dns.a."
* commit '3dbab7a709c1048e5051c4496f65def3b2f2c44c':
  Move mtctxres.c to libc_dns.a.
2014-08-14 23:33:27 +00:00
Dan Albert
3dbab7a709 am d0cce143: Merge "Move mtctxres.c to libc_dns.a."
* commit 'd0cce1436435bfcb477f2c5a670ea6675473c2f8':
  Move mtctxres.c to libc_dns.a.
2014-08-14 23:28:19 +00:00
Dmitriy Ivanov
4eb28d6278 am f6829737: am 8457779b: Merge "Keep symbols for linker"
* commit 'f6829737ccaec1af17290283d2c571dd06600f96':
  Keep symbols for linker
2014-08-14 23:00:44 +00:00
Dmitriy Ivanov
f6829737cc am 8457779b: Merge "Keep symbols for linker"
* commit '8457779b3469f5fa6b8104c2fd3869a72f1345dd':
  Keep symbols for linker
2014-08-14 22:55:53 +00:00
Dmitriy Ivanov
1467dfe3e8 Make string tests check all alignment combinations
Reduce randomization of the test by (1) replacing random() & 255
 with hard-coded char and (2) by making State *Iteration function
 visit every possible alignment combination instead of 10 random ones.

Change-Id: I0ff0b4ca817ba9fbbcce53e09b25eb10a1a853c2
2014-08-14 15:05:20 -07:00
Dan Albert
db4b9e600e am 49af4264: am 0d4ccee3: Merge "Change name of MB_CUR_MAX implementation function."
* commit '49af4264ab57618f5e189287f4f2aa9f8aae2231':
  Change name of MB_CUR_MAX implementation function.
2014-08-14 21:35:56 +00:00
Dan Albert
7fe5957503 am 72de5013: am 104a4729: Merge "Add more functionality to glibc symbol checker."
* commit '72de50139dd7bccebb57b2764eae0f534b6ecdca':
  Add more functionality to glibc symbol checker.
2014-08-14 21:35:56 +00:00
Dan Albert
49af4264ab am 0d4ccee3: Merge "Change name of MB_CUR_MAX implementation function."
* commit '0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0':
  Change name of MB_CUR_MAX implementation function.
2014-08-14 21:31:21 +00:00
Dan Albert
72de50139d am 104a4729: Merge "Add more functionality to glibc symbol checker."
* commit '104a472958f86eafafe0c1d9e2c58ba6403f99e7':
  Add more functionality to glibc symbol checker.
2014-08-14 21:31:20 +00:00
Dmitriy Ivanov
8457779b34 Merge "Keep symbols for linker" 2014-08-14 19:49:27 +00:00
Dmitriy Ivanov
ad5e8b5073 Keep symbols for linker
Bug: 17011146
Change-Id: I314e72a1ac9325bf5ea84d52e3d5bc51d8ea00cf
2014-08-14 15:46:36 -07:00
Dan Albert
0d4ccee351 Merge "Change name of MB_CUR_MAX implementation function." 2014-08-14 19:41:13 +00:00
Dan Albert
224ff048ef Change name of MB_CUR_MAX implementation function.
Glibc calls theirs __ctype_get_mb_cur_max. Make ours match to cut down
on differences between bionic and glibc.

Bug: 11156955
Change-Id: Ib7231f01aa9676dff30aea0af25d597bfe07bc73
2014-08-14 13:56:51 -07:00
Dan Albert
104a472958 Merge "Add more functionality to glibc symbol checker." 2014-08-14 19:41:13 +00:00
Dan Albert
76212eeb53 Add more functionality to glibc symbol checker.
Also scan NDK's unwanted symbols list (to show the things that we're
exporting but the NDK isn't. Symbols hidden in the NDK will be marked
with a *.

Add a -u (--unwanted) flag to disable the first two printed groups
(all symbols in bionic, all symbols in glibc). This is helpful when
wanting to grep in the list of unwanted symbols.

Finally, update the list of known differences between us and glibc.

Change-Id: I6fdb4126823098430454763c391bd8cd369a75bb
2014-08-14 14:02:34 -07:00
Hans Boehm
6486388ee3 am faa0a7b7: am 4f85c6ff: Merge "Add memory ordering constraint, convert to C11 atomics"
* commit 'faa0a7b7886e98c63078b4874224c7ea66a70036':
  Add memory ordering constraint, convert to C11 atomics
2014-08-14 03:38:37 +00:00
Hans Boehm
faa0a7b788 am 4f85c6ff: Merge "Add memory ordering constraint, convert to C11 atomics"
* commit '4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9':
  Add memory ordering constraint, convert to C11 atomics
2014-08-14 01:21:44 +00:00
Dmitriy Ivanov
3435d89666 am 63ea43de: am e942b3ed: Merge "Added test for ifunc support in dynamic linker."
* commit '63ea43de8f2f5aa5c260165a1d4415f642656d75':
  Added test for ifunc support in dynamic linker.
2014-08-14 00:38:50 +00:00
Dmitriy Ivanov
63ea43de8f am e942b3ed: Merge "Added test for ifunc support in dynamic linker."
* commit 'e942b3ed81ad4e0161f3ffa4f8d0017bfbb750e2':
  Added test for ifunc support in dynamic linker.
2014-08-14 00:36:41 +00:00
Dan Albert
89c57c8728 am 07337271: am 9a74e4c1: Merge "Hide __libc_init_vdso()."
* commit '0733727194593db83aa10ecce74028745a75460a':
  Hide __libc_init_vdso().
2014-08-13 23:11:48 +00:00
Dan Albert
0733727194 am 9a74e4c1: Merge "Hide __libc_init_vdso()."
* commit '9a74e4c15c17b9126ad348d865002880fc36bd12':
  Hide __libc_init_vdso().
2014-08-13 23:05:11 +00:00
Dan Albert
808a44c37f am 9b4410b9: am 1f4c536f: (-s ours) Merge "Hide ScopedTrace."
* commit '9b4410b9123b32ecb3b48eb17ef67e029660a821':
  Hide ScopedTrace.
2014-08-13 20:21:59 +00:00
Dan Albert
9b4410b912 am 1f4c536f: (-s ours) Merge "Hide ScopedTrace."
* commit '1f4c536fd53c69ba8122528435251b894e877e2a':
  Hide ScopedTrace.
2014-08-13 20:16:54 +00:00
Dmitriy Ivanov
41fa785698 am af2ee506: am 8a84d383: Optimize symbol lookup
* commit 'af2ee5068d8516919f38b2785de1ccac996d7d64':
  Optimize symbol lookup
2014-08-13 16:52:47 +00:00
Dmitriy Ivanov
af2ee5068d am 8a84d383: Optimize symbol lookup
* commit '8a84d383fb74135e928d341baa180c55854f2f42':
  Optimize symbol lookup
2014-08-13 16:47:03 +00:00
Dmitriy Ivanov
f759d4cb51 am 15921382: am db0785cb: Merge "Optimize symbol lookup"
* commit '15921382fb94bbbfa559f76eb2aaca9f54fb98d0':
  Optimize symbol lookup
2014-08-13 16:36:08 +00:00
Dmitriy Ivanov
15921382fb am db0785cb: Merge "Optimize symbol lookup"
* commit 'db0785cbf9ee6cc0ace5c89496d7e9f12c288a83':
  Optimize symbol lookup
2014-08-13 16:33:27 +00:00
Dan Albert
0f30332e89 am 4b100dd7: am d332bc68: Hide __libc_malloc_dispatch.
* commit '4b100dd72fe368296882e91ad76d2dedf89e1fa2':
  Hide __libc_malloc_dispatch.
2014-08-13 15:54:50 +00:00
Dan Albert
4b100dd72f am d332bc68: Hide __libc_malloc_dispatch.
* commit 'd332bc68783b9bdef4ecb38bec4e45765a5e9a94':
  Hide __libc_malloc_dispatch.
2014-08-13 15:51:06 +00:00
Dmitriy Ivanov
db0785cbf9 Merge "Optimize symbol lookup" 2014-08-13 01:32:01 +00:00
Dmitriy Ivanov
042426ba63 Optimize symbol lookup
Do not run symbol lookup on already visited soinfos
 Not taking into account already visited libraries
 dramatically slows down dlsym in cases when there
 are multiple occurrences of a large library in
 dependency tree.

Bug: 16977077
Change-Id: I1379f30ed8b06758dd1cc76b80833ac8589afa50
2014-08-13 09:21:57 -07:00
Dan Albert
fe9633c555 am 25b55a09: am 6e3823d3: Merge "Hide __libc_malloc_dispatch."
* commit '25b55a09f661e07e920a8e68951517e1be22349d':
  Hide __libc_malloc_dispatch.
2014-08-13 00:06:04 +00:00
Dan Albert
25b55a09f6 am 6e3823d3: Merge "Hide __libc_malloc_dispatch."
* commit '6e3823d37e54929558990d7c475bc30d381098fe':
  Hide __libc_malloc_dispatch.
2014-08-13 00:02:04 +00:00
Dan Albert
9a74e4c15c Merge "Hide __libc_init_vdso()." 2014-08-12 23:11:16 +00:00
Dan Albert
b3aaf398e1 Hide __libc_init_vdso().
Bug: 11156955
Change-Id: I7ee31e1ee2ce479c5746b374a239637d582815fe
2014-08-13 13:11:58 -07:00
Dan Albert
d0cce14364 Merge "Move mtctxres.c to libc_dns.a." 2014-08-12 19:23:43 +00:00
Dan Albert
891ec7a6e4 Move mtctxres.c to libc_dns.a.
Has the effect of making ___mtctxres hidden.

Bug: 17007799
Change-Id: I5aa5f49344ad5ecb33f48737430561b329bcbb0d
2014-08-14 22:50:45 +00:00
Hans Boehm
4f85c6ffd3 Merge "Add memory ordering constraint, convert to C11 atomics" 2014-08-12 19:23:43 +00:00
Dmitriy Ivanov
e942b3ed81 Merge "Added test for ifunc support in dynamic linker." 2014-08-12 19:23:43 +00:00
Dan Albert
1f4c536fd5 Merge "Hide ScopedTrace." 2014-08-12 19:23:43 +00:00
Dan Albert
f2c1e7ee78 Hide ScopedTrace.
Bug: 11156955
Change-Id: I6cddc868d1c6503e30f1ffcf460f45670631d64a
2014-08-13 11:25:01 -07:00
Dan Albert
6e3823d37e Merge "Hide __libc_malloc_dispatch." 2014-08-12 19:23:43 +00:00
Dan Albert
edd81faff0 Hide __libc_malloc_dispatch.
Now that -Bsymbolic is fixed, we can hide __libc_malloc_dispatch without
breaking ASAN.

Bug: 11156955
Change-Id: Ia2fc9b046a74e666b33aa6c6c5435f70a63b8021
2014-08-12 16:53:14 -07:00
Dmitriy Ivanov
b37298f436 am ab63b6b0: am 00c16c1b: Merge "Label pages mapped by linker_allocator"
* commit 'ab63b6b067c848aa789c6bda4f420b929d5f3c14':
  Label pages mapped by linker_allocator
2014-08-11 16:47:03 +00:00
Dmitriy Ivanov
ab63b6b067 am 00c16c1b: Merge "Label pages mapped by linker_allocator"
* commit '00c16c1b921dfeab42eb92ac53c6d79addc9f549':
  Label pages mapped by linker_allocator
2014-08-11 16:42:25 +00:00
Elliott Hughes
d4f4df8bd9 am a466df52: am 72d7e667: Fix our x86 PIC_PROLOGUE.
* commit 'a466df528c90495931f46fbe39ed37ea3893d5ee':
  Fix our x86 PIC_PROLOGUE.
2014-08-10 08:59:06 +00:00
Elliott Hughes
a466df528c am 72d7e667: Fix our x86 PIC_PROLOGUE.
* commit '72d7e667c7e926cb120c4edb53cbf74c652ab915':
  Fix our x86 PIC_PROLOGUE.
2014-08-10 08:55:52 +00:00
Elliott Hughes
daf86953fb am cd2cd65c: am 4d0f742a: Merge "Fix our x86 PIC_PROLOGUE."
* commit 'cd2cd65c5f5a65e27610d3cd5a6838395114aa5e':
  Fix our x86 PIC_PROLOGUE.
2014-08-10 08:55:20 +00:00
Elliott Hughes
cd2cd65c5f am 4d0f742a: Merge "Fix our x86 PIC_PROLOGUE."
* commit '4d0f742afe4867a0064d46a5b55df33e07c02c9d':
  Fix our x86 PIC_PROLOGUE.
2014-08-10 08:36:55 +00:00
Dan Albert
8e4d698df8 am 2a8efb81: am f4d21fba: Merge "Make __set_errno hidden in asm." into lmp-dev
* commit '2a8efb8169ff6b1b9375aac01f2263b4f71cb9ec':
  Make __set_errno hidden in asm.
2014-08-09 06:58:53 +00:00
Dan Albert
2a8efb8169 am f4d21fba: Merge "Make __set_errno hidden in asm." into lmp-dev
* commit 'f4d21fba064c398110ec0428afc0a025afb2254e':
  Make __set_errno hidden in asm.
2014-08-09 06:55:08 +00:00
Elliott Hughes
4d0f742afe Merge "Fix our x86 PIC_PROLOGUE." 2014-08-09 00:52:40 +00:00
Elliott Hughes
ca5b6a74a7 Fix our x86 PIC_PROLOGUE.
The old definition only worked for functions that didn't use numbered
local labels. Upstream uses '666' not only as some kind of BSD in-joke,
but also because there's little likelihood of any function having
labels that high.

There's a wider question about whether we actually want to go via the
PLT at all in this code, but that's a question for another day.

(cherry-pick of 72d7e667c7e926cb120c4edb53cbf74c652ab915.)

Bug: 16906712
Change-Id: I3cd8ecc448b33f942bb6e783931808ef39091489
2014-08-09 22:18:33 -07:00
Dmitriy Ivanov
00c16c1b92 Merge "Label pages mapped by linker_allocator" 2014-08-09 00:45:41 +00:00
Dmitriy Ivanov
51a22a12ab Label pages mapped by linker_allocator
Change-Id: I7e0bf29bc1a480e9be0d1ae573ca1063d90d82ff
2014-08-11 09:22:48 -07:00
Dan Albert
8e650110e7 am 21588d1f: am a0db4641: Merge "Make __set_errno hidden in asm."
* commit '21588d1f2e885d42b724d8c22ea313593c69cac5':
  Make __set_errno hidden in asm.
2014-08-08 22:53:57 +00:00
Dan Albert
21588d1f2e am a0db4641: Merge "Make __set_errno hidden in asm."
* commit 'a0db46418757dd1b399acb97ff42083cc274e8ae':
  Make __set_errno hidden in asm.
2014-08-08 22:46:15 +00:00
Dan Albert
16f3c423fa am 287762ed: am 3788a1ee: Merge "Revert "Fix incorrect relocations for x86.""
* commit '287762edb7bc2d13cdd4c02f049eac4cf8630876':
  Revert "Fix incorrect relocations for x86."
2014-08-08 22:45:51 +00:00
Dan Albert
287762edb7 am 3788a1ee: Merge "Revert "Fix incorrect relocations for x86.""
* commit '3788a1ee8eae4180117010bb9302334acfe1d218':
  Revert "Fix incorrect relocations for x86."
2014-08-08 22:42:29 +00:00
Hans Boehm
30214b901e Add memory ordering constraint, convert to C11 atomics
Add an ordering constraint/fence to __system_property_serial.
This slows down a read on a Nexus 5 from about 50 to about 70 ns,
but avoids the possibility of seeing an inconsistent property value.
Use C11 atomic operations where easy and appropriate.
This code remains not fully C++11 memory model conformant, but
I would now expect the generated code to now be correct with current compilers.

Bug:14970171
Change-Id: I0891ff1d0f914ae5c3857e3d76b6a7c8a4a07d83
2014-08-08 11:34:25 -07:00
Brigid Smith
c5a13efa9b Added test for ifunc support in dynamic linker.
ifuncs now work in i386 and x86_64 when called in the same library as
well as in a different library.

Bug:6657325
Change-Id: Ic0c48b1b0a76cb90f36c20c79f68294cc3fd44a1
2014-08-08 11:29:35 -07:00
Dan Albert
a0db464187 Merge "Make __set_errno hidden in asm." 2014-08-08 18:16:13 +00:00
Dan Albert
bc9f9f25bf Make __set_errno hidden in asm.
This fixes the build after the -Bsymbolic change.

Bug: 16853291
Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2
2014-08-08 15:35:47 -07:00
Christopher Ferris
c455eb2478 am 98d4eaab: am 1c5e415f: Merge "Add a way to disable backtracing in malloc debug."
* commit '98d4eaab3fe8e0a243ce2abaf6647acb99e9d81e':
  Add a way to disable backtracing in malloc debug.
2014-08-08 16:57:32 +00:00
Christopher Ferris
98d4eaab3f am 1c5e415f: Merge "Add a way to disable backtracing in malloc debug."
* commit '1c5e415f8c4cd2cb10ad1d1cf660d17161132772':
  Add a way to disable backtracing in malloc debug.
2014-08-08 16:53:11 +00:00
Christopher Ferris
629552fb67 am f1820351: am 49de01a5: Add a way to disable backtracing in malloc debug.
* commit 'f18203517e61fdefbe42620426cc9990294dda00':
  Add a way to disable backtracing in malloc debug.
2014-08-08 16:38:57 +00:00
Christopher Ferris
f18203517e am 49de01a5: Add a way to disable backtracing in malloc debug.
* commit '49de01a5be7bfb07baaea7415647d838383e1b59':
  Add a way to disable backtracing in malloc debug.
2014-08-08 16:35:57 +00:00
Elliott Hughes
e92e559092 am b763b7d6: am f2d8c357: Merge "Remove misleading arm/arm64 PIC_SYM."
* commit 'b763b7d6d57380eb82f6fe5cb62864ea12b405ae':
  Remove misleading arm/arm64 PIC_SYM.
2014-08-08 16:25:09 +00:00
Elliott Hughes
b763b7d6d5 am f2d8c357: Merge "Remove misleading arm/arm64 PIC_SYM."
* commit 'f2d8c357eec1bbc4e7441942dfc338ad1d9a207a':
  Remove misleading arm/arm64 PIC_SYM.
2014-08-08 16:21:23 +00:00
Christopher Ferris
3c684d4393 am e2005cda: am 92f0c91b: Merge "Create a distinct temp directory for each run."
* commit 'e2005cdae0e6ad103fa18e61d5f46c5549fac4e4':
  Create a distinct temp directory for each run.
2014-08-08 07:19:10 +00:00
Christopher Ferris
e2005cdae0 am 92f0c91b: Merge "Create a distinct temp directory for each run."
* commit '92f0c91b82c60788b14062ca032ccc732f0fba4c':
  Create a distinct temp directory for each run.
2014-08-08 07:17:17 +00:00
Elliott Hughes
d0a07699b4 am 0d9cc846: am 43227c0b: Android is all-PIC/PIE.
* commit '0d9cc846f748c72ad8d8df4b606f5333b61cabf0':
  Android is all-PIC/PIE.
2014-08-08 02:26:42 +00:00
Elliott Hughes
0d9cc846f7 am 43227c0b: Android is all-PIC/PIE.
* commit '43227c0b400a33dc9722269beda26313c391fb1e':
  Android is all-PIC/PIE.
2014-08-08 00:53:31 +00:00
Dan Albert
2f4002d9f8 am d17047ff: am cdd2f072: Merge "Fix incorrect relocations for x86."
* commit 'd17047ffd6a6c54e177bc75b05082afeae40f2f9':
  Fix incorrect relocations for x86.
2014-08-08 00:29:29 +00:00
Dan Albert
d17047ffd6 am cdd2f072: Merge "Fix incorrect relocations for x86."
* commit 'cdd2f072af5c22750e06d1613b72336ecda7e71f':
  Fix incorrect relocations for x86.
2014-08-08 00:23:54 +00:00
Dan Albert
3788a1ee8e Merge "Revert "Fix incorrect relocations for x86."" 2014-08-07 18:51:06 +00:00
Dan Albert
3726f9c38b Revert "Fix incorrect relocations for x86."
Bug: 16853291
This reverts commit 512bc52326.
2014-08-08 22:26:47 +00:00
Elliott Hughes
c4a9c129dd am 1636f80b: am d994622e: Merge "Android is all-PIC/PIE."
* commit '1636f80b7d30103f10ab3ccc2632e8f693c0f9c0':
  Android is all-PIC/PIE.
2014-08-07 18:37:50 +00:00
Elliott Hughes
1636f80b7d am d994622e: Merge "Android is all-PIC/PIE."
* commit 'd994622ebf2c4b7e918d9e1f1840f9df88ee7222':
  Android is all-PIC/PIE.
2014-08-07 18:33:33 +00:00
Christopher Ferris
1c5e415f8c Merge "Add a way to disable backtracing in malloc debug." 2014-08-07 17:53:11 +00:00
Christopher Ferris
88a1f520d2 Add a way to disable backtracing in malloc debug.
The property libc.debug.malloc.nobacktrace set to non-zero disables
getting backtracing when using mode 1 or mode 10.

Bug: 16874447

(cherry picked from 49de01a5be)

Change-Id: I6bbefe5420b14991fe84c2f849222dcd7cb592bf
2014-08-08 09:40:17 -07:00
Christopher Ferris
92f0c91b82 Merge "Create a distinct temp directory for each run." 2014-08-07 15:46:11 +00:00
Christopher Ferris
01bd32e0e4 Create a distinct temp directory for each run.
Modify make__NR_name so that only __ARM_NR_ is exempted from the
__NR_ being prepended. This avoids a case where using a name starting
with __ but is not a valid syscall name in SYSCALLS.TXT does not generate
code that will compile but references the function itself and causes
link errors.

Fix all of the directory references from dir_part1 + dir_part2 to
use os.path.join() instead.

Change-Id: Ib9527eba6f25f26a30c5cb0ad431f3f88a7683cf
2014-08-07 19:33:22 -07:00
Dan Albert
cdd2f072af Merge "Fix incorrect relocations for x86." 2014-08-07 14:59:23 +00:00
Dan Albert
512bc52326 Fix incorrect relocations for x86.
These calls were not going through the PLT like they should have been.

Bug: 16853291
Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
2014-08-07 16:21:47 -07:00
Elliott Hughes
d994622ebf Merge "Android is all-PIC/PIE." 2014-08-07 14:59:23 +00:00
Elliott Hughes
6b6364a7fc Android is all-PIC/PIE.
Clean up the x86/x86_64 assembler. The motivator (other than reducing
confusion) was that asm.h incorrectly checked PIC rather than __PIC__.

Bug: 16823325
Change-Id: Iaa9d45009e93a4b31b719021c93ac221e336479b
2014-08-07 10:54:54 -07:00
Christopher Ferris
e552abb0b4 am 1c85152f: am 85ebcfce: Merge "Do a second key cleanup in pthread_exit."
* commit '1c85152f76e0696e117760d5f89d23480a753afd':
  Do a second key cleanup in pthread_exit.
2014-08-07 01:17:28 +00:00
Christopher Ferris
1c85152f76 am 85ebcfce: Merge "Do a second key cleanup in pthread_exit."
* commit '85ebcfceb62f011e0db359affefcf5570f518bd5':
  Do a second key cleanup in pthread_exit.
2014-08-07 01:14:05 +00:00
Christopher Ferris
9e849a64ed am 60b4de13: am 3e7b8e2a: Merge "Do a second key cleanup in pthread_exit." into lmp-dev
* commit '60b4de132cfa2efef75033aefe3322762042ea92':
  Do a second key cleanup in pthread_exit.
2014-08-07 01:13:13 +00:00
Christopher Ferris
60b4de132c am 3e7b8e2a: Merge "Do a second key cleanup in pthread_exit." into lmp-dev
* commit '3e7b8e2a8bd16a37cecdae1135a5e7fc6e64c762':
  Do a second key cleanup in pthread_exit.
2014-08-07 01:05:51 +00:00
Elliott Hughes
984e051bcf am 3ea3982f: am 501eb513: Merge "Upgrade bionic to tzdata2014f." into lmp-dev
* commit '3ea3982f1f810049ad02f658220784ace5eae6db':
  Upgrade bionic to tzdata2014f.
2014-08-07 01:00:59 +00:00
Elliott Hughes
3ea3982f1f am 501eb513: Merge "Upgrade bionic to tzdata2014f." into lmp-dev
* commit '501eb513ae4f037dc5ef5db530886c05b7f5d964':
  Upgrade bionic to tzdata2014f.
2014-08-07 00:53:33 +00:00
Elliott Hughes
5b420a25ac am af0ec906: am 6edf8985: Merge "Fix the tzdata update tools." into lmp-dev
* commit 'af0ec906bd0f77971afaf135466e60e41f7faea7':
  Fix the tzdata update tools.
2014-08-07 00:52:49 +00:00
Elliott Hughes
65077ed577 am 5a092670: am f3868fa7: Merge "Upgrade bionic to tzdata2014f."
* commit '5a0926701997d6ff2189054787147adb956d4b3a':
  Upgrade bionic to tzdata2014f.
2014-08-07 00:52:48 +00:00
Elliott Hughes
a76126a0a3 am 0415a4a6: am b4b7e054: Merge "Fix the tzdata update tools."
* commit '0415a4a6f89e31cd8b3d5126fd7a1b9877d84906':
  Fix the tzdata update tools.
2014-08-07 00:52:48 +00:00
Elliott Hughes
af0ec906bd am 6edf8985: Merge "Fix the tzdata update tools." into lmp-dev
* commit '6edf8985c1fe205d13543212fba0e079ed7dc4a9':
  Fix the tzdata update tools.
2014-08-07 00:44:37 +00:00
Elliott Hughes
5a09267019 am f3868fa7: Merge "Upgrade bionic to tzdata2014f."
* commit 'f3868fa735ad67ec853f3db36936ca184bd5f79a':
  Upgrade bionic to tzdata2014f.
2014-08-07 00:42:12 +00:00
Elliott Hughes
0415a4a6f8 am b4b7e054: Merge "Fix the tzdata update tools."
* commit 'b4b7e0547da259b38b3e31dbd08cf26026cff1ee':
  Fix the tzdata update tools.
2014-08-07 00:42:11 +00:00
Elliott Hughes
f3868fa735 Merge "Upgrade bionic to tzdata2014f." 2014-08-07 00:00:55 +00:00
Elliott Hughes
51fde5b865 Upgrade bionic to tzdata2014f.
From the release notes:

  Changes affecting future time stamps

    Russia will subtract an hour from most of its time zones on
    2014-10-26 at 02:00 local time.  (Thanks to Alexander Krivenyshev.)
    There are a few exceptions: Magadan Oblast (Asia/Magadan) and
    Zabaykalsky Krai are subtracting two hours; conversely, Chukotka
    Autonomous Okrug (Asia/Anadyr), Kamchatka Krai (Asia/Kamchatka),
    Kemerovo Oblast (Asia/Novokuznetsk), and the Samara Oblast and the
    Udmurt Republic (Europe/Samara) are not changing their clocks.  The
    changed zones are Europe/Kaliningrad, Europe/Moscow,
    Europe/Simferopol, Europe/Volgograd, Asia/Yekaterinburg, Asia/Omsk,
    Asia/Novosibirsk, Asia/Krasnoyarsk, Asia/Irkutsk, Asia/Yakutsk,
    Asia/Vladivostok, Asia/Khandyga, Asia/Sakhalin, and Asia/Ust-Nera;
    Asia/Magadan will have two hours subtracted; and Asia/Novokuznetsk's
    time zone abbreviation is affected, but not its UTC offset.  Two
    zones are added: Asia/Chita (split from Asia/Yakutsk, and also with
    two hours subtracted) and Asia/Srednekolymsk (split from
    Asia/Magadan, but with only one hour subtracted).  (Thanks to Tim
    Parenti for much of the above.)

  Changes affecting past time stamps

    China's five zones have been simplified to two, since the post-1970
    differences in the other three seem to have been imaginary.  The
    zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been
    removed; backwards-compatibility links still work, albeit with
    different behaviors for time stamps before May 1980.  Asia/Urumqi's
    1980 transition to UTC+8 has been removed, so that it is now at
    UTC+6 and not UTC+8.  (Thanks to Luther Ma and to Alois Treindl;
    Treindl sent helpful translations of two papers by Guo Qingsheng.)

    Some zones have been turned into links, when they differed from
    existing zones only for older UTC offsets where the data were likely
    invented.  These changes affect UTC offsets in pre-1970 time stamps
    only.  This is similar to the change in release 2013e, except this
    time for western Africa.  The affected zones are: Africa/Bamako,
    Africa/Banjul, Africa/Conakry, Africa/Dakar, Africa/Freetown,
    Africa/Lome, Africa/Nouakchott, Africa/Ouagadougou, Africa/Sao_Tome,
    and Atlantic/St_Helena.  This also affects the
    backwards-compatibility link Africa/Timbuktu.  (Thanks to Alan
    Barrett, Stephen Colebourne, Tim Parenti, and David Patte for
    reporting problems in earlier versions of this change.)

    Asia/Shanghai's pre-standard-time UT offset has been changed from
    8:05:57 to 8:05:43, the location of Xujiahui Observatory.  Its
    transition to standard time has been changed from 1928 to 1901.

    Asia/Taipei switched to JWST on 1896-01-01, then to JST on
    1937-10-01, then to CST on 1945-09-21 at 01:00, and did not observe
    DST in 1945.  In 1946 it observed DST from 05-15 through 09-30; in
    1947 from 04-15 through 10-31; and in 1979 from 07-01 through 09-30.
    (Thanks to Yu-Cheng Chuang.)

    Asia/Riyadh's transition to standard time is now 1947-03-14, not
    1950.

    Europe/Helsinki's 1942 fall-back transition was 10-04 at 01:00, not
    10-03 at 00:00.  (Thanks to Konstantin Hyppönen.)

    Pacific/Pago_Pago has been changed from UTC-11:30 to UTC-11 for the
    period from 1911 to 1950.

    Pacific/Chatham has been changed to New Zealand standard time plus
    45 minutes for the period before 1957, reflecting a 1956 remark in
    the New Zealand parliament.

    Europe/Budapest has several pre-1946 corrections: in 1918 the
    transition out of DST was on 09-16, not 09-29; in 1919 it was on
    11-24, not 09-15; in 1945 it was on 11-01, not 11-03; in 1941 the
    transition to DST was 04-08 not 04-06 at 02:00; and there was no DST
    in 1920.

    Africa/Accra is now assumed to have observed DST from 1920 through
    1935.

    Time in Russia before 1927 or so has been corrected by a few seconds
    in the following zones: Europe/Moscow, Asia/Irkutsk, Asia/Tbilisi,
    Asia/Tashkent, Asia/Vladivostok, Asia/Yekaterinburg,
    Europe/Helsinki, and Europe/Riga.  Also, Moscow's location has been
    changed to its Kilometer 0 point.  (Thanks to Vladimir Karpinsky for
    the Moscow changes.)

(cherry-pick of 0dc2c1db6fc84b4526f2a5f8d73e1187500f2300.)

Bug: 16168653
Change-Id: I23827254bcf50dd07a2192ed34b02224d73e07a0
2014-08-06 17:38:01 -07:00
Elliott Hughes
b4b7e0547d Merge "Fix the tzdata update tools." 2014-08-06 23:55:49 +00:00
Elliott Hughes
13bab43337 Fix the tzdata update tools.
The recent libcore ZoneInfo changes mean that we can no longer
compile libcore's ZoneInfo against the RI. Luckily, the field in
our data file that we needed ZoneInfo for isn't actually used.
This change removes our dependence on libcore.

I've left the field in to avoid a file format change. We can remove
the field if/when we next have a real need to bump the file format.

(cherry-pick of 90cb5ffb85a9bc2e725824b3ca8db932d02c45db.)

Bug: 16168653
Change-Id: Iedad2252c2b49f4d8bb2c7d9078b39b622444ca7
2014-08-06 17:31:48 -07:00
Elliott Hughes
f2d8c357ee Merge "Remove misleading arm/arm64 PIC_SYM." 2014-08-06 23:49:29 +00:00
Elliott Hughes
651a0683ca Remove misleading arm/arm64 PIC_SYM.
Bug: 16823325
Change-Id: Ic8ff3a628bb4cd71361e3a1c2cfde4b3d39c50b1
2014-08-07 11:52:38 -07:00
Christopher Ferris
85ebcfceb6 Merge "Do a second key cleanup in pthread_exit." 2014-08-06 23:49:29 +00:00
Christopher Ferris
e380960813 Do a second key cleanup in pthread_exit.
During pthread_exit, the keys are cleaned. Unfortunately, a call to
free occurs after the cleanup and the memory for some of the keys
is recreated when using jemalloc. The solution is to do the key
cleanup twice.

Also, modify the pthread_detach__leak test to be less flaky
when run on a jemalloc system.

Bug: 16513133

(cherry picked from commit 18d93f2793)

Change-Id: Idb32e7f9b09e2c088d256ed9eb881df80c81ff8e
2014-08-06 17:57:04 -07:00
Dan Albert
9f7bca69e9 am 0f3b73aa: am bc0d65c1: Merge "Proper MB_CUR_MAX." into lmp-dev
* commit '0f3b73aa22ca3bed476ec2800a7b06f0eecdcf88':
  Proper MB_CUR_MAX.
2014-08-06 23:02:32 +00:00
Dan Albert
914d64980b am 589859a1: am 5b39a445: Merge "Fix mbsrtowcs(3) src param for finished string." into lmp-dev
* commit '589859a125fc0c67d0f56706ee18f7ae2f3e45ee':
  Fix mbsrtowcs(3) src param for finished string.
2014-08-06 23:02:28 +00:00
Dan Albert
a56d8fd6de am d14344ad: am 40079b00: Fixes build.
* commit 'd14344adf295c3870bc8454d9989da3c5e320312':
  Fixes build.
2014-08-06 23:02:28 +00:00
Dan Albert
5511dd46fd am 8b1af476: am 5386a741: Revert "Replaces vfork() implementation with fork()"
* commit '8b1af4762c3f1fb35173830ba417564a5b3dc0ad':
  Revert "Replaces vfork() implementation with fork()"
2014-08-06 23:02:27 +00:00
Elliott Hughes
bd5cc87362 am fa70bacc: am 3a238ae7: Merge "Revert "Add a hack to <stdlib.h> until we can fix libvpx.""
* commit 'fa70bacc6cfe78793743696b91c7fe3158a01a3f':
  Revert "Add a hack to <stdlib.h> until we can fix libvpx."
2014-08-06 23:01:37 +00:00
Elliott Hughes
7ef16e88e8 am 5fb6ce29: am 00a8344a: Merge "Workaround b/16818336 which fails build under aggressive inlining." into lmp-dev
* commit '5fb6ce295038d345dee354b93c2fc408effdd29c':
  Workaround b/16818336 which fails build under aggressive inlining.
2014-08-06 23:00:48 +00:00
Paul Jensen
2e2d7dee1d am 8019e6f0: am 7a5f0952: Merge "Revert most of "Cleanup: Delete dead code."" into lmp-dev
* commit '8019e6f0fd39a9b76034a12ef1598b50588fb719':
  Revert most of "Cleanup: Delete dead code."
2014-08-06 23:00:47 +00:00
Dan Albert
0f3b73aa22 am bc0d65c1: Merge "Proper MB_CUR_MAX." into lmp-dev
* commit 'bc0d65c114f3ead6d89f8e92622bc941d731b01c':
  Proper MB_CUR_MAX.
2014-08-06 21:26:13 +00:00
Dan Albert
589859a125 am 5b39a445: Merge "Fix mbsrtowcs(3) src param for finished string." into lmp-dev
* commit '5b39a44575e01ecf65397ffb7518efc3c65a6d8b':
  Fix mbsrtowcs(3) src param for finished string.
2014-08-06 21:26:13 +00:00
Dan Albert
d14344adf2 am 40079b00: Fixes build.
* commit '40079b003168b39dab91e106c7a877b677e64ef1':
  Fixes build.
2014-08-06 21:26:12 +00:00
Dan Albert
8b1af4762c am 5386a741: Revert "Replaces vfork() implementation with fork()"
* commit '5386a741e77bfff4e72ca6861fdd3fe2208452ce':
  Revert "Replaces vfork() implementation with fork()"
2014-08-06 21:26:09 +00:00
Elliott Hughes
fa70bacc6c am 3a238ae7: Merge "Revert "Add a hack to <stdlib.h> until we can fix libvpx.""
* commit '3a238ae7620298608e1d463901051c397e4f8a2f':
  Revert "Add a hack to <stdlib.h> until we can fix libvpx."
2014-08-06 20:38:40 +00:00
Elliott Hughes
5fb6ce2950 am 00a8344a: Merge "Workaround b/16818336 which fails build under aggressive inlining." into lmp-dev
* commit '00a8344ae82a691209b665adae828a5abe570cfb':
  Workaround b/16818336 which fails build under aggressive inlining.
2014-08-06 19:50:02 +00:00
Paul Jensen
8019e6f0fd am 7a5f0952: Merge "Revert most of "Cleanup: Delete dead code."" into lmp-dev
* commit '7a5f0952a293fd6e511db0e0a72e18f20bb4c500':
  Revert most of "Cleanup: Delete dead code."
2014-08-06 19:50:01 +00:00
Elliott Hughes
a69fd4651a am 42848344: am bb91a1b8: Merge "Workaround b/16818336 which fails build under aggressive inlining."
* commit '428483446e7cd52cb608481c091f2ac4521081ae':
  Workaround b/16818336 which fails build under aggressive inlining.
2014-08-06 18:57:22 +00:00
Elliott Hughes
428483446e am bb91a1b8: Merge "Workaround b/16818336 which fails build under aggressive inlining."
* commit 'bb91a1b845f7c8b3b09d07fe467aa32d2aeddc4f':
  Workaround b/16818336 which fails build under aggressive inlining.
2014-08-06 18:53:23 +00:00
Elliott Hughes
5801991bdd am 987e533e: am 59b0933e: Explain how wcswcs ended up in ndk_cruft.cpp.
* commit '987e533ed466a51a1b269f6707765d4a6243d27e':
  Explain how wcswcs ended up in ndk_cruft.cpp.
2014-08-06 18:17:01 +00:00
Elliott Hughes
987e533ed4 am 59b0933e: Explain how wcswcs ended up in ndk_cruft.cpp.
* commit '59b0933e6d4cd9671ad3b6baeae424bc72c8ece0':
  Explain how wcswcs ended up in ndk_cruft.cpp.
2014-08-06 18:09:18 +00:00
Elliott Hughes
f69f0b9ac2 am 10d197c6: am 8b91980e: Merge "Explain how wcswcs ended up in ndk_cruft.cpp."
* commit '10d197c681e96187645eaf6341d13967e33a0308':
  Explain how wcswcs ended up in ndk_cruft.cpp.
2014-08-06 18:08:43 +00:00
Elliott Hughes
10d197c681 am 8b91980e: Merge "Explain how wcswcs ended up in ndk_cruft.cpp."
* commit '8b91980e4c139558f9cca4e9a0980dad07c06e68':
  Explain how wcswcs ended up in ndk_cruft.cpp.
2014-08-06 18:02:59 +00:00
Elliott Hughes
f77fbbb53e am 0a693b4f: am afc86723: Merge "Add an obvious comment to <stdio.h> for fixincludes."
* commit '0a693b4fc88bc6e0f3b0672a994931cce5d42716':
  Add an obvious comment to <stdio.h> for fixincludes.
2014-08-06 17:40:42 +00:00
Dmitriy Ivanov
694d295e5e am 36730936: am db7a17d4: Revert "Revert "Fix dlsym(3) to do breadth first search.""
* commit '36730936a13b1948240641739a15c3ef56c501f3':
  Revert "Revert "Fix dlsym(3) to do breadth first search.""
2014-08-06 17:36:10 +00:00
Dan Albert
282638f7f5 am 909464c2: am de69069f: Merge "Fixes build."
* commit '909464c2cb90fa8b530ae53fa849d3bc5818b676':
  Fixes build.
2014-08-06 17:25:40 +00:00
Elliott Hughes
8b91980e4c Merge "Explain how wcswcs ended up in ndk_cruft.cpp." 2014-08-06 17:20:04 +00:00
Elliott Hughes
1628eb1d43 Explain how wcswcs ended up in ndk_cruft.cpp.
Change-Id: Ie45148095b2d5c3896c0df623d5d06a700c33c70
2014-08-06 10:47:33 -07:00
Elliott Hughes
3a238ae762 Merge "Revert "Add a hack to <stdlib.h> until we can fix libvpx."" 2014-08-06 17:15:22 +00:00
Elliott Hughes
9d2a05a6dd Revert "Add a hack to <stdlib.h> until we can fix libvpx."
This reverts commit 3fb5097a7e.
libvpx is now fixed.

(cherry-pick of 2be1be47aa9b63568fe6ce1e0a4029b37d90764d.)

Bug: 15598056
Change-Id: Icca974e667f92206505f484bd291726eb0150f68
2014-08-06 13:20:41 -07:00
Elliott Hughes
0a693b4fc8 am afc86723: Merge "Add an obvious comment to <stdio.h> for fixincludes."
* commit 'afc8672387438f9c8926a12831f43a6dd1f59323':
  Add an obvious comment to <stdio.h> for fixincludes.
2014-08-06 16:13:37 +00:00
Ben Murdoch
62c69c25d2 fix the build
Change-Id: I8a3b26014ced1ce95b9a0f675099c3fdfbe041f3
2014-08-06 16:17:04 +01:00
Dan Albert
74508b2fec am dfe8417a: am a7ef8188: Merge "Revert "Replaces vfork() implementation with fork()""
* commit 'dfe8417a58a8413cce6c7bb2b224950c7085245c':
  Revert "Replaces vfork() implementation with fork()"
2014-08-06 12:10:50 +00:00
Dmitriy Ivanov
36730936a1 am db7a17d4: Revert "Revert "Fix dlsym(3) to do breadth first search.""
* commit 'db7a17d4ff56a05af01ee2fee1f3c55245bfc630':
  Revert "Revert "Fix dlsym(3) to do breadth first search.""
2014-08-06 01:23:25 +00:00
Dan Albert
909464c2cb am de69069f: Merge "Fixes build."
* commit 'de69069fcfee8d89dfc70da374760ef0c29fe0a4':
  Fixes build.
2014-08-05 21:55:18 +00:00
Dan Albert
dfe8417a58 am a7ef8188: Merge "Revert "Replaces vfork() implementation with fork()""
* commit 'a7ef8188e24446d41c5abbe9addf55cc6a128968':
  Revert "Replaces vfork() implementation with fork()"
2014-08-05 21:43:20 +00:00
Elliott Hughes
afc8672387 Merge "Add an obvious comment to <stdio.h> for fixincludes." 2014-08-05 17:41:26 +00:00
Elliott Hughes
df85f50b82 Add an obvious comment to <stdio.h> for fixincludes.
We don't want GCC's fixincludes to touch our <stdio.h> because we
want to support multiple platform versions with one toolchain. Give
them a nice easy unambiguous string to look for.

Bug: http://code.google.com/p/android/issues/detail?id=73728
Change-Id: I15cb9a2c9eb0a44b0965dc2139f224f2b6e68ea1
2014-08-06 09:03:52 -07:00
Dan Albert
de69069fcf Merge "Fixes build." 2014-08-05 17:41:26 +00:00
Dan Albert
9eae8405e8 Fixes build.
This change somehow went missing from the vfork change.

Change-Id: I807a2072080eac20601c694e85ba5723220289d8
2014-08-05 14:46:03 -07:00
Dan Albert
a7ef8188e2 Merge "Revert "Replaces vfork() implementation with fork()"" 2014-08-05 17:41:26 +00:00
Dan Albert
6a918870ba Revert "Replaces vfork() implementation with fork()"
We're getting cold feet on this one... let's put it back.

This reverts commit 210331d976.

Change-Id: I6b0d3c2b1dbf7f1dc9566979a91b7504c2189269
2014-08-05 14:11:38 -07:00
Elliott Hughes
bb91a1b845 Merge "Workaround b/16818336 which fails build under aggressive inlining." 2014-08-05 00:30:25 +00:00
Dehao Chen
28285f85a1 Workaround b/16818336 which fails build under aggressive inlining.
(cherry-pick of 7aa27e1c1a53afe28f6180fd1fc50d096cabea7b.)

Change-Id: Ifcd596714c427a2ec39502b9c0af9082ded91884
2014-08-06 11:43:38 -07:00
Dmitriy Ivanov
83a1c15907 am f9a0af9c: am 1b1966d9: Revert "Fix dlsym(3) to do breadth first search."
* commit 'f9a0af9c9343ba48ab42decbb8aab7fbefed1bd4':
  Revert "Fix dlsym(3) to do breadth first search."
2014-08-04 16:50:33 +00:00
Dmitriy Ivanov
f9a0af9c93 am 1b1966d9: Revert "Fix dlsym(3) to do breadth first search."
* commit '1b1966d9448e979d1503a3d8843708bfa8880dc6':
  Revert "Fix dlsym(3) to do breadth first search."
2014-08-04 16:46:55 +00:00
Dan Albert
74a7a4d296 am b782c20b: am 447fe1c2: Merge "Fix mbsrtowcs(3) src param for finished string."
* commit 'b782c20b8244ec5cc348547291503a4c30ca65ba':
  Fix mbsrtowcs(3) src param for finished string.
2014-07-31 22:35:45 +00:00
Dan Albert
b782c20b82 am 447fe1c2: Merge "Fix mbsrtowcs(3) src param for finished string."
* commit '447fe1c23bc5adaded9a51d3b58f3adaf2cce7b3':
  Fix mbsrtowcs(3) src param for finished string.
2014-07-31 22:28:59 +00:00
Dan Albert
ce6fe525d5 am 0c4ad535: am 36bacd23: Merge "Proper MB_CUR_MAX."
* commit '0c4ad535dc8d1aea6ee2bbeb8a68fc3a4363f246':
  Proper MB_CUR_MAX.
2014-07-31 00:26:18 +00:00
Dan Albert
0c4ad535dc am 36bacd23: Merge "Proper MB_CUR_MAX."
* commit '36bacd237de931c48714d1a8aa4aa9522283e407':
  Proper MB_CUR_MAX.
2014-07-31 00:22:22 +00:00
Dan Albert
36bacd237d Merge "Proper MB_CUR_MAX." 2014-07-31 00:14:55 +00:00
Dan Albert
1aec7c1a35 Proper MB_CUR_MAX.
Previously this was hard coded to 4. This is only the case for UTF-8
locales.

As a side effect, this properly reports C.UTF-8 as the default locale
instead of C.

Change-Id: I7c73cc8fe6ffac61d211cd5f75287e36de06f4fc
2014-07-30 17:09:46 -07:00
Christopher Ferris
828c7b396d am 592cfa90: am 61833de6: Fix memchr with a zero length.
* commit '592cfa90c3cc397a2a0415ac0d8c88f8f03210de':
  Fix memchr with a zero length.
2014-07-30 23:51:25 +00:00
Christopher Ferris
592cfa90c3 am 61833de6: Fix memchr with a zero length.
* commit '61833de613990f2fdaf357bb3d854d72a4980890':
  Fix memchr with a zero length.
2014-07-30 23:46:26 +00:00
Christopher Ferris
f2eef5159a am 30ac3d58: am 0f7ed163: Merge "Fix memchr with a zero length."
* commit '30ac3d58eaa6e502d053eaaabf163b173884cceb':
  Fix memchr with a zero length.
2014-07-30 23:39:12 +00:00
Christopher Ferris
30ac3d58ea am 0f7ed163: Merge "Fix memchr with a zero length."
* commit '0f7ed163cf6c1fe6d71a1d7e5fb6d0989213be85':
  Fix memchr with a zero length.
2014-07-30 23:33:45 +00:00
Elliott Hughes
aa1cbcb131 am 63b6416f: am 4f76469e: Implement <sys/fsuid.h>.
* commit '63b6416f339c70855e4bb44cd1c6fbb9a85a60fe':
  Implement <sys/fsuid.h>.
2014-07-30 23:31:46 +00:00
Elliott Hughes
796d419f2e am 897aca77: am 83b9826e: Merge "Implement <sys/fsuid.h>."
* commit '897aca77eeb9286574ddec58bb893df7c02a8912':
  Implement <sys/fsuid.h>.
2014-07-30 23:31:46 +00:00
Elliott Hughes
63b6416f33 am 4f76469e: Implement <sys/fsuid.h>.
* commit '4f76469e88e255bab1f8264e9ff8b95bff84365f':
  Implement <sys/fsuid.h>.
2014-07-30 23:27:43 +00:00
Elliott Hughes
897aca77ee am 83b9826e: Merge "Implement <sys/fsuid.h>."
* commit '83b9826e683db30e9b359737253b87ef8b3ba3df':
  Implement <sys/fsuid.h>.
2014-07-30 23:25:22 +00:00
Duane Sand
5750c7cc49 am 66fa2c87: am cd541952: [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
* commit '66fa2c87d6dea6c316a9984146c306011e3afb80':
  [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
2014-07-30 22:32:41 +00:00
Duane Sand
66fa2c87d6 am cd541952: [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
* commit 'cd54195262ac5531fff892255849925ebbbd303e':
  [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
2014-07-30 22:28:55 +00:00
Elliott Hughes
8ead392b05 am abd28445: am c7706a02: Merge "[MIPSR6] Use C-coded string ops on mips32r6/mips64r6"
* commit 'abd284457884c4972a6dd72e2a2b647d935b1fe3':
  [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
2014-07-30 22:27:49 +00:00
Elliott Hughes
abd2844578 am c7706a02: Merge "[MIPSR6] Use C-coded string ops on mips32r6/mips64r6"
* commit 'c7706a02ad90ab73f3a056040d2c4a3464ab1ab1':
  [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
2014-07-30 22:21:57 +00:00
Elliott Hughes
adc2a59383 am 84093b17: am 11bf8a30: Only wipe TLS for user-supplied stacks.
* commit '84093b174eb30f52414838d4a54847b19c621c93':
  Only wipe TLS for user-supplied stacks.
2014-07-30 22:10:49 +00:00
Elliott Hughes
84093b174e am 11bf8a30: Only wipe TLS for user-supplied stacks.
* commit '11bf8a3025a7b5aee891c521255a7db1860e5b12':
  Only wipe TLS for user-supplied stacks.
2014-07-30 22:06:54 +00:00
Elliott Hughes
aed19ee769 am 594a5275: am 18a1bbe6: Merge "Only wipe TLS for user-supplied stacks."
* commit '594a5275188df203bb720afc2b2c898643fff6e3':
  Only wipe TLS for user-supplied stacks.
2014-07-30 22:06:45 +00:00
Elliott Hughes
594a527518 am 18a1bbe6: Merge "Only wipe TLS for user-supplied stacks."
* commit '18a1bbe6e18770694d489f2e140e779dc59fde86':
  Only wipe TLS for user-supplied stacks.
2014-07-30 22:02:31 +00:00
Christopher Ferris
0f7ed163cf Merge "Fix memchr with a zero length." 2014-07-30 20:40:05 +00:00
Christopher Ferris
e03e1eac0b Fix memchr with a zero length.
The memchr implementation for 64 bit fails if these conditions occur:

- The buffer is 32 byte aligned.
- The buffer contains the character in the first byte.
- The count sent in is zero.

The function should return NULL, but it's not.

Bug: 16676625
Change-Id: Iab33cc7a8b79920350c72f054dff0e0a3cde69ce
2014-07-30 16:06:56 -07:00
Elliott Hughes
18a1bbe6e1 Merge "Only wipe TLS for user-supplied stacks." 2014-07-30 19:31:16 +00:00
Elliott Hughes
40a5217448 Only wipe TLS for user-supplied stacks.
Bug: 16667988
Change-Id: Id180ab2bc6713e1612386120a306db5bbf1d6046
2014-07-30 14:49:40 -07:00
Christopher Ferris
a6d698d914 am 0770ed06: am c701e5b3: Use libunwindbacktrace for debug malloc code.
* commit '0770ed068078786aa2e38ddc6eecbbf2a5fccef0':
  Use libunwindbacktrace for debug malloc code.
2014-07-30 17:02:14 +00:00
Elliott Hughes
46975d966c am a99a69a6: am 1242f7eb: Remove declarations for things that don\'t exist.
* commit 'a99a69a6400ed5078749656ee120fad1ad09ba97':
  Remove declarations for things that don't exist.
2014-07-30 17:02:13 +00:00
Elliott Hughes
8fc6d6807f am 4d17c6c3: am f6aa1779: Merge "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."" into lmp-dev
* commit '4d17c6c39f8aeae13b177ed7a22be1895068830a':
  Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."
2014-07-30 17:02:12 +00:00
Christopher Ferris
0770ed0680 am c701e5b3: Use libunwindbacktrace for debug malloc code.
* commit 'c701e5b3357b6484572d46f29c5d1e51063dfcbb':
  Use libunwindbacktrace for debug malloc code.
2014-07-30 16:42:36 +00:00
Elliott Hughes
a99a69a640 am 1242f7eb: Remove declarations for things that don\'t exist.
* commit '1242f7eb67c678922b55e2077d9cf2d5cdc85b15':
  Remove declarations for things that don't exist.
2014-07-30 16:41:43 +00:00
Elliott Hughes
4d17c6c39f am f6aa1779: Merge "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."" into lmp-dev
* commit 'f6aa17798c5b0015d002b982c3684595b817d2d0':
  Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."
2014-07-30 16:41:43 +00:00
Dan Albert
f61f354583 am 5fce71b5: am e872c923: Merge "en_US.UTF-8 is also supported." into lmp-dev
* commit '5fce71b56e567a0e578e8ec8c1cab2bbc2e783ec':
  en_US.UTF-8 is also supported.
2014-07-30 14:28:40 +00:00
Dan Albert
28124017d6 am d735a072: am 9379ce69: Merge "There is no _MIN for unsigned types." into lmp-dev
* commit 'd735a0723a185568997b443b338ccf7a171ab254':
  There is no _MIN for unsigned types.
2014-07-30 14:28:39 +00:00
Dan Albert
fd4f86ccc2 am bb0c0531: am a1a813da: Merge "Fix mbsrtowcs(3)\'s handling of len parameter." into lmp-dev
* commit 'bb0c0531057018175a3e610501334f821973c67d':
  Fix mbsrtowcs(3)'s handling of len parameter.
2014-07-30 14:28:39 +00:00
Dan Albert
d0e6c73aec am ff20ad98: am 8db0ce70: Merge "__libc_fatal should print a newline to stderr." into lmp-dev
* commit 'ff20ad985ec54a72a2bc749cbd042373e8453116':
  __libc_fatal should print a newline to stderr.
2014-07-30 14:28:38 +00:00
Dmitriy Ivanov
aed8b1ceff am 2d361732: am 422106a2: Fix dlsym(3) to do breadth first search.
* commit '2d36173271512d9dd63a2193a8efc1d51f44d5fa':
  Fix dlsym(3) to do breadth first search.
2014-07-30 14:28:37 +00:00
Dan Albert
5fce71b56e am e872c923: Merge "en_US.UTF-8 is also supported." into lmp-dev
* commit 'e872c9239af180df6bf4b28a623241c6b1c7f1c3':
  en_US.UTF-8 is also supported.
2014-07-30 14:15:47 +00:00
Dan Albert
d735a0723a am 9379ce69: Merge "There is no _MIN for unsigned types." into lmp-dev
* commit '9379ce694d8a6bd70341eee003e23e96e21352e5':
  There is no _MIN for unsigned types.
2014-07-30 14:15:46 +00:00
Dan Albert
bb0c053105 am a1a813da: Merge "Fix mbsrtowcs(3)\'s handling of len parameter." into lmp-dev
* commit 'a1a813da8184153606bfcf8ffcce557eda09a5ba':
  Fix mbsrtowcs(3)'s handling of len parameter.
2014-07-30 14:15:46 +00:00
Dan Albert
ff20ad985e am 8db0ce70: Merge "__libc_fatal should print a newline to stderr." into lmp-dev
* commit '8db0ce7050b0f6ee3874456394a1d7cb0d336c3a':
  __libc_fatal should print a newline to stderr.
2014-07-30 14:15:45 +00:00
Dmitriy Ivanov
2d36173271 am 422106a2: Fix dlsym(3) to do breadth first search.
* commit '422106a24d620af4be58e8d92a2e9b7b6167b72d':
  Fix dlsym(3) to do breadth first search.
2014-07-30 14:15:44 +00:00
Dan Albert
447fe1c23b Merge "Fix mbsrtowcs(3) src param for finished string." 2014-07-30 11:26:00 +00:00
Dan Albert
b6cc8e00cd Fix mbsrtowcs(3) src param for finished string.
A mistake I made while cleaning this up the first time through.
mbstrtowcs(3) sets the src param to null if it finishes the string.

Change-Id: I6263646e25d9537043b7025fd1dd6ae195f365e2
2014-07-31 11:31:03 -07:00
Christopher Ferris
880ac3255a am 4cc7dba9: am 4ad5066e: Merge "Use libunwindbacktrace for debug malloc code."
* commit '4cc7dba978de80fe8dfd0424a36719e37991cfbd':
  Use libunwindbacktrace for debug malloc code.
2014-07-30 02:28:03 +00:00
Christopher Ferris
4cc7dba978 am 4ad5066e: Merge "Use libunwindbacktrace for debug malloc code."
* commit '4ad5066e1de326e5db46df18eeade9a88bc11bec':
  Use libunwindbacktrace for debug malloc code.
2014-07-30 02:23:58 +00:00
Elliott Hughes
e0414f6f04 am eb0642a2: am 17886971: Merge "Remove declarations for things that don\'t exist."
* commit 'eb0642a2b98d052adf10d9079e51f23b5b49a45a':
  Remove declarations for things that don't exist.
2014-07-30 01:23:39 +00:00
Elliott Hughes
eb0642a2b9 am 17886971: Merge "Remove declarations for things that don\'t exist."
* commit '17886971ffc758270bb3da3fecec86fa5b2bb3c3':
  Remove declarations for things that don't exist.
2014-07-30 01:12:55 +00:00
Dmitriy Ivanov
c7c4c60628 am 60abfd28: am 2b591b37: Merge "Fix dlsym(3) to do breadth first search."
* commit '60abfd28ca734e500e4a51ee46b2fd7fa3ce7b8d':
  Fix dlsym(3) to do breadth first search.
2014-07-29 22:13:07 +00:00
Dmitriy Ivanov
60abfd28ca am 2b591b37: Merge "Fix dlsym(3) to do breadth first search."
* commit '2b591b37420b4186bda7fa823b9058d4b19565f6':
  Fix dlsym(3) to do breadth first search.
2014-07-29 22:09:23 +00:00
Elliott Hughes
c7706a02ad Merge "[MIPSR6] Use C-coded string ops on mips32r6/mips64r6" 2014-07-29 21:36:05 +00:00
Dmitriy Ivanov
2b591b3742 Merge "Fix dlsym(3) to do breadth first search." 2014-07-29 21:36:05 +00:00
Dmitriy Ivanov
aa0f2bdbc2 Fix dlsym(3) to do breadth first search.
dlsym(3) with handle != RTLD_DEFAULT|RTLD_NEXT performs
  breadth first search through the dependency tree.

Bug: 16653281
Change-Id: I017a6975d1a62abb0218a7eb59ae4deba458e324
2014-07-29 14:35:13 -07:00
Elliott Hughes
4d72c3b2b3 am 0950f263: am 2ea0a58e: Fix linkage of grantpt(3).
* commit '0950f2633524dd97413b019858a0f3820307d2bb':
  Fix linkage of grantpt(3).
2014-07-29 18:09:11 +00:00
Elliott Hughes
0950f26335 am 2ea0a58e: Fix linkage of grantpt(3).
* commit '2ea0a58e01c1ed6db1da9dd0314ee053f5a32026':
  Fix linkage of grantpt(3).
2014-07-29 18:01:25 +00:00
Elliott Hughes
3b3e9d67d5 am e9c1d673: am a7dc7600: Merge "Fix linkage of grantpt(3)."
* commit 'e9c1d673759a45df3aff144bfb51a4ac637427ec':
  Fix linkage of grantpt(3).
2014-07-29 17:56:21 +00:00
Elliott Hughes
e9c1d67375 am a7dc7600: Merge "Fix linkage of grantpt(3)."
* commit 'a7dc7600fe1be1f3fd61856b407bb7065307e711':
  Fix linkage of grantpt(3).
2014-07-29 17:52:05 +00:00
Brigid Smith
e5e62aa0a5 am 674e245c: am a09fe118: Added a bionic systrace class and tracing to pthread_mutex.cpp.
* commit '674e245cd42a22c33fa31dd9df1777fb76c5891d':
  Added a bionic systrace class and tracing to pthread_mutex.cpp.
2014-07-29 17:32:36 +00:00
Brigid Smith
674e245cd4 am a09fe118: Added a bionic systrace class and tracing to pthread_mutex.cpp.
* commit 'a09fe118b1a5eb876ddaa2620965c4a8fb8b007c':
  Added a bionic systrace class and tracing to pthread_mutex.cpp.
2014-07-29 17:25:00 +00:00
Elliott Hughes
45e3d3e96c am 1b369540: am 52f8271f: Merge "Added a bionic systrace class and tracing to pthread_mutex.cpp."
* commit '1b36954017e3f4761627cf96b42fbe33bf3c280c':
  Added a bionic systrace class and tracing to pthread_mutex.cpp.
2014-07-29 16:50:19 +00:00
Elliott Hughes
1b36954017 am 52f8271f: Merge "Added a bionic systrace class and tracing to pthread_mutex.cpp."
* commit '52f8271fa9fd3f84849465f3c978580fbed866c1':
  Added a bionic systrace class and tracing to pthread_mutex.cpp.
2014-07-29 16:47:01 +00:00
Dmitriy Ivanov
a0abc0daa7 am 46330ed4: am 24dcda0f: Merge "Fix mips/mips64 build"
* commit '46330ed4104a59a935d89d69bec66e1b908f1c08':
  Fix mips/mips64 build
2014-07-29 14:27:16 +00:00
Dmitriy Ivanov
46330ed410 am 24dcda0f: Merge "Fix mips/mips64 build"
* commit '24dcda0f4febe7d257b31c68887183c81d1b8791':
  Fix mips/mips64 build
2014-07-29 14:23:25 +00:00
Dmitriy Ivanov
72f8f35502 am fed22f73: am 1a5db57d: Fix mips/mips64 build
* commit 'fed22f73c1d83e07cf0781c23b2032131902c229':
  Fix mips/mips64 build
2014-07-29 13:33:19 +00:00
Dmitriy Ivanov
fed22f73c1 am 1a5db57d: Fix mips/mips64 build
* commit '1a5db57d5a0f633a83f20e667a4698757a63413e':
  Fix mips/mips64 build
2014-07-29 13:15:21 +00:00
Dmitriy Ivanov
793ef05a52 am 4139020d: am 5febb0da: Fix \'adb shell /system/bin/linker\' crash
* commit '4139020da37574e0ed8ac5bb18a3ea6d58170be1':
  Fix 'adb shell /system/bin/linker' crash
2014-07-29 01:02:37 +00:00
Dmitriy Ivanov
4139020da3 am 5febb0da: Fix \'adb shell /system/bin/linker\' crash
* commit '5febb0da6f6d7106c403e6809917d89d6ee081ad':
  Fix 'adb shell /system/bin/linker' crash
2014-07-29 00:56:21 +00:00
Elliott Hughes
e56a2dbdbc am 3164805b: am 2be1be47: Revert "Add a hack to <stdlib.h> until we can fix libvpx."
* commit '3164805b2e075a515d99fd7e88bfbc70e1fada4c':
  Revert "Add a hack to <stdlib.h> until we can fix libvpx."
2014-07-28 23:55:02 +00:00
Elliott Hughes
3164805b2e am 2be1be47: Revert "Add a hack to <stdlib.h> until we can fix libvpx."
* commit '2be1be47aa9b63568fe6ce1e0a4029b37d90764d':
  Revert "Add a hack to <stdlib.h> until we can fix libvpx."
2014-07-28 23:50:42 +00:00
Dmitriy Ivanov
f98721d5b4 am 18358f0e: am 337c0cef: Merge "Fix \'adb shell /system/bin/linker\' crash"
* commit '18358f0e67d56e71ef098384b45767c1f4651f6d':
  Fix 'adb shell /system/bin/linker' crash
2014-07-28 23:48:51 +00:00
Dmitriy Ivanov
18358f0e67 am 337c0cef: Merge "Fix \'adb shell /system/bin/linker\' crash"
* commit '337c0cefdc4667143a1f4f2c30113b452c5d188f':
  Fix 'adb shell /system/bin/linker' crash
2014-07-28 23:45:07 +00:00
Elliott Hughes
7c963f4840 am 63b5e167: am 78e4f8fe: syscall(3)\'s return type should be long.
* commit '63b5e167ad9f76b7f4917deceac840f929c72934':
  syscall(3)'s return type should be long.
2014-07-28 23:36:02 +00:00
Elliott Hughes
52ed4cdfb9 am a032277b: am 8a2ecf86: Merge "syscall(3)\'s return type should be long."
* commit 'a032277bb40c0327ba5b6c7d7a8c1cb196acaf89':
  syscall(3)'s return type should be long.
2014-07-28 23:35:17 +00:00
Elliott Hughes
63b5e167ad am 78e4f8fe: syscall(3)\'s return type should be long.
* commit '78e4f8fed2c162f8ada55180e48487ef2180cf93':
  syscall(3)'s return type should be long.
2014-07-28 23:21:28 +00:00
Elliott Hughes
a032277bb4 am 8a2ecf86: Merge "syscall(3)\'s return type should be long."
* commit '8a2ecf868feebaa39caddc6cdf9500b5385651f0':
  syscall(3)'s return type should be long.
2014-07-28 22:47:57 +00:00
Christopher Ferris
4ad5066e1d Merge "Use libunwindbacktrace for debug malloc code." 2014-07-28 22:45:44 +00:00
Christopher Ferris
861c0ef37b Use libunwindbacktrace for debug malloc code.
Create a method of disabling the debug allocation code paths so that
it's possible to use the libunwindbacktrace library without any
modifications.

Use this path to create and destroy the maps for the process. It's not
stricly necessary in the init code since the symbols are not modified
until after the initialize calls.

Also, remove the debug_XXX source files that doesn't need to be in libc.so.

Fix the maps reading code since it was completely broken for 64 bit.

Bug: 16408686

Change-Id: I6b02ef6ce26fdb7a59ad1029e7cbba9accceb704
2014-07-29 18:10:00 -07:00
Elliott Hughes
a7dc7600fe Merge "Fix linkage of grantpt(3)." 2014-07-28 22:45:44 +00:00
Elliott Hughes
d7e6ed0feb am 36666a4d: am 8c66fd79: Merge "Use vsnprintf(3) in syslog(3)."
* commit '36666a4d51e49caf13a75bcfb447ed322a874d84':
  Use vsnprintf(3) in syslog(3).
2014-07-28 16:56:40 +00:00
Elliott Hughes
b38b3887c8 am d201486c: am b1b60c30: Use vsnprintf(3) in syslog(3).
* commit 'd201486cdb2ed28d4162270c01d85e5047555628':
  Use vsnprintf(3) in syslog(3).
2014-07-28 16:52:59 +00:00
Elliott Hughes
36666a4d51 am 8c66fd79: Merge "Use vsnprintf(3) in syslog(3)."
* commit '8c66fd798ed5b7cefe1568d9a000d01b69d29dd9':
  Use vsnprintf(3) in syslog(3).
2014-07-28 16:51:57 +00:00
Elliott Hughes
d201486cdb am b1b60c30: Use vsnprintf(3) in syslog(3).
* commit 'b1b60c30bf321c0fc02264b953b5c16c49d34457':
  Use vsnprintf(3) in syslog(3).
2014-07-28 16:47:40 +00:00
Elliott Hughes
4916706cfe Fix linkage of grantpt(3).
Also clean up the implementation of all the pty functions, add tests,
and fix the stub implementations of ttyname(3) and ttyname_r(3).

Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: I0fb36438cd1abf8d4e87c29415f03db9ba13c3c2
2014-07-25 19:55:23 -07:00
Elliott Hughes
fbaedd30e6 am a09f2ebb: am c1a6a725: Remove localtime_tz and strftime_tz.
* commit 'a09f2ebb408e9d562aa41cbe9b8f50e6f0d0a6bd':
  Remove localtime_tz and strftime_tz.
2014-07-26 00:40:05 +00:00
Elliott Hughes
a09f2ebb40 am c1a6a725: Remove localtime_tz and strftime_tz.
* commit 'c1a6a7256026431a9ae49ef2a6139ea99410819b':
  Remove localtime_tz and strftime_tz.
2014-07-26 00:36:25 +00:00
Elliott Hughes
5f7597d5a3 am e7e5e37c: am 1a918d9b: Merge "Remove localtime_tz and strftime_tz."
* commit 'e7e5e37ca47125bb95905e708588159431798f3c':
  Remove localtime_tz and strftime_tz.
2014-07-25 23:29:28 +00:00
Elliott Hughes
e7e5e37ca4 am 1a918d9b: Merge "Remove localtime_tz and strftime_tz."
* commit '1a918d9be83013cdc8e194edf35b5295eba4ab1c':
  Remove localtime_tz and strftime_tz.
2014-07-25 23:26:24 +00:00
Elliott Hughes
05caeb1d11 am d76f4a9b: am 708c1120: Start hiding "private/bionic_time.h".
* commit 'd76f4a9b6fa3542fb8b9dc406f4bc5b4e3166675':
  Start hiding "private/bionic_time.h".
2014-07-25 23:08:45 +00:00
Elliott Hughes
d76f4a9b6f am 708c1120: Start hiding "private/bionic_time.h".
* commit '708c11205443cda14cfb21138d441106aa77a5f9':
  Start hiding "private/bionic_time.h".
2014-07-25 23:04:23 +00:00
Elliott Hughes
cdb6a40f8f am 4b4ee2fc: am 50a9630c: Merge "Start hiding "private/bionic_time.h"."
* commit '4b4ee2fc1bdfde285392a68c2facf9f16bb92f14':
  Start hiding "private/bionic_time.h".
2014-07-25 22:27:35 +00:00
Elliott Hughes
4b4ee2fc1b am 50a9630c: Merge "Start hiding "private/bionic_time.h"."
* commit '50a9630cc26cbc1e38e3ddc589f04fa5cd91697b':
  Start hiding "private/bionic_time.h".
2014-07-25 22:21:42 +00:00
Elliott Hughes
17886971ff Merge "Remove declarations for things that don't exist." 2014-07-25 21:16:27 +00:00
Elliott Hughes
f4c1a36a45 Remove declarations for things that don't exist.
The <grp.h> ones prevent gdb from building out of the box.

Change-Id: I0efbffad2215cfcd75b4d442dfc972444b51d97c
2014-07-29 16:57:47 -07:00
Elliott Hughes
52f8271fa9 Merge "Added a bionic systrace class and tracing to pthread_mutex.cpp." 2014-07-25 21:16:27 +00:00
Brigid Smith
a406ee6d5f Added a bionic systrace class and tracing to pthread_mutex.cpp.
bionic_systrace.h contains an implementation of tracing that
can be used with systrace.py and its associated viewer.  pthread_mutex
now uses this tracing to track pthread_mutex contention, which can be
enabled by using the "bionic" command line option to systrace.

Bug: 15116468
Change-Id: I30ed5b377c91ca4c36568a0e647ddf95d4e4a61a
2014-07-28 19:38:08 -07:00
Dmitriy Ivanov
24dcda0f4f Merge "Fix mips/mips64 build" 2014-07-25 21:16:27 +00:00
Dmitriy Ivanov
ed48534718 Fix mips/mips64 build
Add _start entry label to mips/mips64 linker begin.S

Change-Id: Idcdfc3391427b53880650798be0583a7ac022bcc
2014-07-28 21:03:17 -07:00
Dan Albert
8522cc62e8 am 779fdd7c: am a4c14fda: Merge "en_US.UTF-8 is also supported."
* commit '779fdd7c0d6b85c733c2c0c562e8174828cf9fca':
  en_US.UTF-8 is also supported.
2014-07-25 19:18:16 +00:00
Dan Albert
779fdd7c0d am a4c14fda: Merge "en_US.UTF-8 is also supported."
* commit 'a4c14fda9176678cadb65fb53f503fda6668f8d1':
  en_US.UTF-8 is also supported.
2014-07-25 19:06:44 +00:00
Elliott Hughes
ad922e7d03 am f4fd7cf1: am 123172ae: Merge "[MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS."
* commit 'f4fd7cf1380b0cbd29806196959673802f1c769a':
  [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
2014-07-25 02:19:29 +00:00
Dmitriy Ivanov
95f3983e1d am ceaec0d9: am dbf52ec3: Merge "Fix global variable initialization for linker"
* commit 'ceaec0d95ccff34ea2c2403528f7678f4a5b5355':
  Fix global variable initialization for linker
2014-07-25 02:19:28 +00:00
Elliott Hughes
11c5dd17ab am e7b2b02d: am d6f614a4: Merge "Implement twalk(3), add unit tests."
* commit 'e7b2b02dec81271938e29aae09901ca37d2c3a12':
  Implement twalk(3), add unit tests.
2014-07-25 02:19:28 +00:00
Elliott Hughes
f4fd7cf138 am 123172ae: Merge "[MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS."
* commit '123172ae370fe51e2d1fc26fe0aafa095af52919':
  [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
2014-07-25 01:03:46 +00:00
Dmitriy Ivanov
ceaec0d95c am dbf52ec3: Merge "Fix global variable initialization for linker"
* commit 'dbf52ec37b835973d8f357af2a16694c98894c4d':
  Fix global variable initialization for linker
2014-07-25 01:03:45 +00:00
Elliott Hughes
e7b2b02dec am d6f614a4: Merge "Implement twalk(3), add unit tests."
* commit 'd6f614a4e16b0fcf4a4fba748bf21fc0017d3619':
  Implement twalk(3), add unit tests.
2014-07-25 01:03:33 +00:00
Dmitriy Ivanov
cae44d4f8f am a9b2185b: am 65549969: Fix global variable initialization for linker
* commit 'a9b2185bc4ece0fcf0c360b39b5643497aabf26a':
  Fix global variable initialization for linker
2014-07-25 00:05:20 +00:00
Raghu Gandham
b8e30d7320 am 56152a8b: am 34b258dd: [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
* commit '56152a8b81bd5972391df562e4e3cd8a4cdda613':
  [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
2014-07-24 23:59:35 +00:00
Dmitriy Ivanov
a9b2185bc4 am 65549969: Fix global variable initialization for linker
* commit '65549969488bbce7f5d1b57714ba32c466943470':
  Fix global variable initialization for linker
2014-07-24 23:58:31 +00:00
Elliott Hughes
29b1858f9c am d00b2327: am b902641d: Implement twalk(3), add unit tests.
* commit 'd00b2327c50ae6c22a565813d6fa385a9cce3ec5':
  Implement twalk(3), add unit tests.
2014-07-24 23:47:02 +00:00
Duane Sand
706654d3c1 am eb1fbf17: am 5ade7e3f: [MIPS] Drop soft-fp targets
* commit 'eb1fbf1781119ef12b257bfe1254032a7f487c31':
  [MIPS] Drop soft-fp targets
2014-07-24 23:47:02 +00:00
Raghu Gandham
56152a8b81 am 34b258dd: [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
* commit '34b258dd692951ab2236e134e5520367cda60125':
  [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
2014-07-24 23:46:28 +00:00
Elliott Hughes
d00b2327c5 am b902641d: Implement twalk(3), add unit tests.
* commit 'b902641d7303d2ea24c10f6d6e7ff49e7ee75611':
  Implement twalk(3), add unit tests.
2014-07-24 23:36:16 +00:00
Duane Sand
eb1fbf1781 am 5ade7e3f: [MIPS] Drop soft-fp targets
* commit '5ade7e3f6bb43d419402aab2c7adca2173e2c584':
  [MIPS] Drop soft-fp targets
2014-07-24 23:33:44 +00:00
Elliott Hughes
d6f614a4e1 Merge "Implement twalk(3), add unit tests." 2014-07-24 22:07:52 +00:00
Elliott Hughes
3e424d0a24 Implement twalk(3), add unit tests.
I've also added insque(3) and remque(3) (from NetBSD because the OpenBSD
ones are currently broken for non-circular lists).

I've not added the three hash table functions that should be in this header
because they operate on a single global hash table and thus aren't likely
to be useful.

Bug: https://code.google.com/p/android/issues/detail?id=73719
Change-Id: I97397a7b921e2e860fd9c8032cafd9097380498a
2014-07-24 14:55:29 -07:00
Elliott Hughes
8a2ecf868f Merge "syscall(3)'s return type should be long." 2014-07-24 20:55:36 +00:00
Elliott Hughes
21972b61ec syscall(3)'s return type should be long.
This doesn't require us to change any of the syscall implementations
because (a) the LP32 ones have sizeof(int) == sizeof(long) anyway,
which is how we never noticed this bug before and (b) the LP64 ones
all use a 64-bit register for the result (and for the syscall number
too).

Bug: https://code.google.com/p/android/issues/detail?id=73952
Change-Id: I9866c3579a7a94de27bfbe80ad7a822c3183c7fb
2014-07-28 12:33:07 -07:00
Elliott Hughes
8c66fd798e Merge "Use vsnprintf(3) in syslog(3)." 2014-07-24 20:55:36 +00:00
Elliott Hughes
f1e83cc34a Use vsnprintf(3) in syslog(3).
It seemed like a clever trick to use the internal log message formatting
code in syslog(3), but on reflection that means you can't (for example)
format floating point numbers. This patch switches us over to using good
old vsnprintf(3), even though that requires us to jump through a few hoops.

There's no obvious way to unit test this, so I wrote a little program and
ran that.

(cherry-pick of b1b60c30bf321c0fc02264b953b5c16c49d34457.)

Bug: 14292866
Change-Id: I9c83500ba9cbb209b6f496067a91bf69434eeef5
2014-07-28 09:43:21 -07:00
Elliott Hughes
50a9630cc2 Merge "Start hiding "private/bionic_time.h"." 2014-07-24 20:55:36 +00:00
Elliott Hughes
905e6d58aa Start hiding "private/bionic_time.h".
Bug: 15765976
Change-Id: Ibd9cf07067ec8dffe9fda6c3d498d4ab90708220
2014-07-25 12:03:51 -07:00
Elliott Hughes
1a918d9be8 Merge "Remove localtime_tz and strftime_tz." 2014-07-24 20:55:36 +00:00
Elliott Hughes
39d903aea9 Remove localtime_tz and strftime_tz.
This also brings our copy of strftime.c much closer to upstream, though
we still have several GNU extensions and hacks to deal with Android32's
broken time_t.

Bug: 15765976
Change-Id: Ic9ef36e8acd3619504ecc4d73feec2b61fd4dfa1
2014-07-25 15:50:31 -07:00
Dan Albert
a4c14fda91 Merge "en_US.UTF-8 is also supported." 2014-07-24 20:55:36 +00:00
Dan Albert
1abb8bd21d en_US.UTF-8 is also supported.
Change-Id: Ic35fad3596dc5e24ee8ae35543a274a471f27bb2
2014-07-25 11:24:03 -07:00
Dmitriy Ivanov
dbf52ec37b Merge "Fix global variable initialization for linker" 2014-07-24 20:55:36 +00:00
Dmitriy Ivanov
4151ea73b7 Fix global variable initialization for linker
Linker now calls init functions for itself.

Change-Id: Ibd099812493041ac70f591e3f379ee742b4683b8
2014-07-24 15:33:25 -07:00
Duane Sand
d57a935c44 am 3a11c10a: am c86950cb: [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
* commit '3a11c10ad6f6f8fc6cf1031c9862ab5275b5a27e':
  [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
2014-07-24 19:57:08 +00:00
Christopher Ferris
3c58853a7d am efbb837d: am bc74ecfa: HACK: Disable syslog going to android log.
* commit 'efbb837dc42c8df3a4a94e5a9aeac1a72aba4e47':
  HACK: Disable syslog going to android log.
2014-07-24 19:57:07 +00:00
Nick Kralevich
c10499eaba am 9a2778a3: am 92d8b232: debuggerd: if PR_GET_DUMPABLE=0, don\'t ask for dumping
* commit '9a2778a3a60a59aae415acdfbfa9168651ce8292':
  debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
2014-07-24 19:57:07 +00:00
Duane Sand
3a11c10ad6 am c86950cb: [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
* commit 'c86950cb3f50ead0c9a9d0366b870d6c6e1b91c8':
  [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
2014-07-24 19:48:30 +00:00
Christopher Ferris
efbb837dc4 am bc74ecfa: HACK: Disable syslog going to android log.
* commit 'bc74ecfaf5de47056fd8a48db65c0e5aef892f0c':
  HACK: Disable syslog going to android log.
2014-07-24 19:47:58 +00:00
Nick Kralevich
9a2778a3a6 am 92d8b232: debuggerd: if PR_GET_DUMPABLE=0, don\'t ask for dumping
* commit '92d8b2320a4c3911452227f560ae4a39e83b0abf':
  debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
2014-07-24 19:46:25 +00:00
Colin Cross
174fcc628f am abca8709: am 49fbec6d: HACK: remove %m support from printf.
* commit 'abca8709895d5a67fb8acdfbc5e859463099f1f0':
  HACK: remove %m support from printf.
2014-07-24 19:26:52 +00:00
Colin Cross
abca870989 am 49fbec6d: HACK: remove %m support from printf.
* commit '49fbec6d9aee62462a4acf3ba47788ca1e35be37':
  HACK: remove %m support from printf.
2014-07-24 19:23:45 +00:00
Elliott Hughes
4298c7ab41 am c6f39339: am 8dbe3f0f: Merge "[MIPS] Drop soft-fp targets"
* commit 'c6f39339de4ef6da583bc078a4d5f73da8dac8f2':
  [MIPS] Drop soft-fp targets
2014-07-24 18:36:19 +00:00
Elliott Hughes
c6f39339de am 8dbe3f0f: Merge "[MIPS] Drop soft-fp targets"
* commit '8dbe3f0f51f0cd26c22df82bdef9a2f8caea7ef6':
  [MIPS] Drop soft-fp targets
2014-07-24 18:29:55 +00:00
Elliott Hughes
1289ef8743 am 0caa27b1: am 7d22a451: Merge "[MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models"
* commit '0caa27b148ea15b1292d4ace1f4a14fe79e8d953':
  [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
2014-07-24 04:07:00 +00:00
Elliott Hughes
0caa27b148 am 7d22a451: Merge "[MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models"
* commit '7d22a4519610f830178bbff32d961a2784354397':
  [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
2014-07-24 04:03:03 +00:00
Nick Kralevich
cd438324f7 am 3363e16a: am f9650757: Merge "debuggerd: if PR_GET_DUMPABLE=0, don\'t ask for dumping"
* commit '3363e16ac93c444d06988702122481bf33e8d33a':
  debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
2014-07-23 23:13:15 +00:00
Nick Kralevich
3363e16ac9 am f9650757: Merge "debuggerd: if PR_GET_DUMPABLE=0, don\'t ask for dumping"
* commit 'f9650757493060d950cc28c5a58acdcdd41f02e9':
  debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
2014-07-23 23:00:01 +00:00
Nick Kralevich
1c5bb20b0d debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
PR_GET_DUMPABLE is used by an application to indicate whether or
not core dumps / PTRACE_ATTACH should work.

Security sensitive applications often set PR_SET_DUMPABLE to 0 to
disable core dumps, to avoid leaking sensitive memory to persistent
storage. Similarly, they also set PR_SET_DUMPABLE to zero to prevent
PTRACE_ATTACH from working, again to avoid leaking the contents
of sensitive memory.

Honor PR_GET_DUMPABLE when connecting to debuggerd. If an application
has said it doesn't want its memory dumped, then we shouldn't
ask debuggerd to dump memory on its behalf.

FORTIFY_SOURCE tests: Modify the fortify_source tests to set
PR_SET_DUMPABLE=0. This reduces the total runtime of
/data/nativetest/bionic-unit-tests/bionic-unit-tests32 from approx
53 seconds to 25 seconds. There's no need to connect to debuggerd
when running these tests.

Bug: 16513137

(cherry picked from commit be0e43b776)

Change-Id: I1e2af2300db56e6c8e6f304a666e66f6904c2be6
2014-07-23 15:57:39 -07:00
Elliott Hughes
83b9826e68 Merge "Implement <sys/fsuid.h>." 2014-07-23 22:55:49 +00:00
Elliott Hughes
79310994d2 Implement <sys/fsuid.h>.
Change-Id: I1e5e50444a1b5a430ba5b5d9b8b1d91219af5e92
2014-07-30 15:19:29 -07:00
Elliott Hughes
123172ae37 Merge "[MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS." 2014-07-23 22:55:49 +00:00
Raghu Gandham
f1837377d2 [MIPS] Fix atomic_is_lock_free test for mips32.
On 32-bit MIPS, 64-bit atomic ops are achieved through locks.
So allow the test to fail for atomic_intmax_t on 32-bit MIPS.

Change-Id: I78e7807e50f899a0fea0d5b388d9ebb53228aaa0
2014-07-24 16:11:52 -07:00
Duane Sand
bc5a3ec6df [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
The existing assembler code uses deprecated lwl/lwr/swl/swr ops.
Replacing those with misalignment-forgiving lw/sw ops may
involve careful performance tuning.

Change-Id: I47a042f7b22b87d7d52e46c29c44b1db1ba8b693
2014-07-23 14:00:21 -07:00
Elliott Hughes
c39ab91dfe am aa8672cb: am 4126c129: Fix belated review comments on syslog change.
* commit 'aa8672cb6ddddaa88025f38ad5fe77f0891a219d':
  Fix belated review comments on syslog change.
2014-07-23 20:24:42 +00:00
Elliott Hughes
e5e120b214 am 0200a285: am f9bfc2ff: Merge "Fix belated review comments on syslog change."
* commit '0200a28583670ce4e20e4c4f7e6f2e358d48ba2a':
  Fix belated review comments on syslog change.
2014-07-23 20:24:41 +00:00
Elliott Hughes
aa8672cb6d am 4126c129: Fix belated review comments on syslog change.
* commit '4126c129613e27717c110626070c44ea7e3f29ce':
  Fix belated review comments on syslog change.
2014-07-23 20:20:33 +00:00
Elliott Hughes
0200a28583 am f9bfc2ff: Merge "Fix belated review comments on syslog change."
* commit 'f9bfc2ff8eb5db99a106a8a384498165361291ce':
  Fix belated review comments on syslog change.
2014-07-23 20:18:59 +00:00
Elliott Hughes
06a416c202 am 5e1183c2: am 467e49be: Merge "Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros."
* commit '5e1183c2169b8b56d6330182886d711c5ec2366f':
  Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
2014-07-23 19:08:25 +00:00
Elliott Hughes
5e1183c216 am 467e49be: Merge "Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros."
* commit '467e49be70231f55bd7ba908407b4413294d3bfc':
  Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
2014-07-23 19:02:16 +00:00
Nick Kralevich
f965075749 Merge "debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping" 2014-07-23 18:51:55 +00:00
Nick Kralevich
be0e43b776 debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
PR_GET_DUMPABLE is used by an application to indicate whether or
not core dumps / PTRACE_ATTACH should work.

Security sensitive applications often set PR_SET_DUMPABLE to 0 to
disable core dumps, to avoid leaking sensitive memory to persistent
storage. Similarly, they also set PR_SET_DUMPABLE to zero to prevent
PTRACE_ATTACH from working, again to avoid leaking the contents
of sensitive memory.

Honor PR_GET_DUMPABLE when connecting to debuggerd. If an application
has said it doesn't want its memory dumped, then we shouldn't
ask debuggerd to dump memory on its behalf.

FORTIFY_SOURCE tests: Modify the fortify_source tests to set
PR_SET_DUMPABLE=0. This reduces the total runtime of
/data/nativetest/bionic-unit-tests/bionic-unit-tests32 from approx
53 seconds to 25 seconds. There's no need to connect to debuggerd
when running these tests.

Bug: 16513137
Change-Id: Idc7857b089f3545758f4d9b436b783d580fb653f
2014-07-23 15:48:49 -07:00
Elliott Hughes
508dd2e67b am e34ce374: am 2aa142ff: Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
* commit 'e34ce3741f88d53ef1400548e4e8702cbe73fa23':
  Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
2014-07-23 18:45:38 +00:00
Elliott Hughes
7d22a45196 Merge "[MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models" 2014-07-23 18:45:08 +00:00
Duane Sand
dd37251c47 [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
Save and restore floating point registers via 64-bit
load/stores when possible.  Use assembler's builtin macro
ops to generate pairs of 32-bit load/stores on Mips I cpus.

Some cpus or FR modes have only 16 even-numbered dp fp regs.
This is exposed by _MIPS_FPSET, defined by existing compilers.

Change-Id: I7f617a3ffea8da41c402ef3a68ab32c91d3d7622
2014-07-23 13:57:30 -07:00
Elliott Hughes
f9bfc2ff8e Merge "Fix belated review comments on syslog change." 2014-07-23 18:45:08 +00:00
Elliott Hughes
e34ce3741f am 2aa142ff: Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
* commit '2aa142ffb20337e60f81642bed1c11d24a3756b1':
  Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
2014-07-23 18:42:30 +00:00
Elliott Hughes
afe6360627 Fix belated review comments on syslog change.
Bug: 14292866
Change-Id: I3cd92084cb55b5673f6ba62d51952941b79deb51
2014-07-23 11:38:38 -07:00
Dmitriy Ivanov
337c0cefdc Merge "Fix 'adb shell /system/bin/linker' crash" 2014-07-23 17:53:27 +00:00
Dmitriy Ivanov
efe13832dc Fix 'adb shell /system/bin/linker' crash
Bug: https://code.google.com/p/android/issues/detail?id=63174
Change-Id: I072290ea11109c07f277ad3dec7f44fcb7bf6aa6
2014-07-28 16:29:52 -07:00
Elliott Hughes
8dbe3f0f51 Merge "[MIPS] Drop soft-fp targets" 2014-07-23 17:53:27 +00:00
Duane Sand
ba23bd0a40 [MIPS] Drop soft-fp targets
Change-Id: I583bf8242d3034ebfc48548499cdb3316094c8e3
2014-07-24 18:04:21 +00:00
Elliott Hughes
ade1be3e6a am 66544dd1: am 4ac83fad: Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
* commit '66544dd13674fc0a1d9af48816797c1c762a4382':
  Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
2014-07-23 16:58:39 +00:00
Elliott Hughes
66544dd136 am 4ac83fad: Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
* commit '4ac83fad3cdc486c00199eef9ea2a95d354839c4':
  Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
2014-07-23 16:50:57 +00:00
Elliott Hughes
656fde84a0 am 5cd06abd: am ea42a6ca: Merge "Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files."
* commit '5cd06abdcf8980b22bc7ca803ed6c4b2c06b00c5':
  Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
2014-07-23 16:49:25 +00:00
Elliott Hughes
5cd06abdcf am ea42a6ca: Merge "Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files."
* commit 'ea42a6caea9d5cb5a92939ba0696856306b1d56b':
  Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
2014-07-23 16:42:30 +00:00
Elliott Hughes
f6c8d26680 am be0ee5a6: am 3ff6d95a: Remove the unused swab.S.
* commit 'be0ee5a62600b98533b0c072f61ab1470ab4a843':
  Remove the unused swab.S.
2014-07-23 03:56:31 +00:00
Elliott Hughes
be0ee5a626 am 3ff6d95a: Remove the unused swab.S.
* commit '3ff6d95a9b26154c94b5cf130649cf99eb6a4010':
  Remove the unused swab.S.
2014-07-23 03:51:55 +00:00
Elliott Hughes
5017fbda4e am ad87093f: am e26ac7f7: Merge "Remove the unused swab.S."
* commit 'ad87093f04f567573afa3bcdbc6a5f967e86834f':
  Remove the unused swab.S.
2014-07-23 03:37:56 +00:00
Elliott Hughes
ad87093f04 am e26ac7f7: Merge "Remove the unused swab.S."
* commit 'e26ac7f776c4011d17e7609efafa116ac4db25ff':
  Remove the unused swab.S.
2014-07-23 03:33:41 +00:00
Duane Sand
439910983e am f6ab6bfe: am 5d7775c6: [MIPS] Allow united mipsel and mips64el gcc toolchain
* commit 'f6ab6bfeb0ee36ac30421d203b750f80627d21ee':
  [MIPS] Allow united mipsel and mips64el gcc toolchain
2014-07-23 02:53:41 +00:00
Elliott Hughes
98a685f5fd am b5031b5d: am 79b5a396: Merge "[MIPS] Allow united mipsel and mips64el gcc toolchain"
* commit 'b5031b5d6b207484f2cf831d4dd46c17da055044':
  [MIPS] Allow united mipsel and mips64el gcc toolchain
2014-07-23 02:50:08 +00:00
Duane Sand
f6ab6bfeb0 am 5d7775c6: [MIPS] Allow united mipsel and mips64el gcc toolchain
* commit '5d7775c6dfa8f9b2ae313c9493525d54a2d04b38':
  [MIPS] Allow united mipsel and mips64el gcc toolchain
2014-07-23 02:48:41 +00:00
Elliott Hughes
b5031b5d6b am 79b5a396: Merge "[MIPS] Allow united mipsel and mips64el gcc toolchain"
* commit '79b5a396178e798af4ba9b327b884ae014f15bb2':
  [MIPS] Allow united mipsel and mips64el gcc toolchain
2014-07-23 02:44:48 +00:00
Sreeram Ramachandran
3a14439b6b am 1a1d0b7a: am 2582f02a: Cleanup: Delete dead code.
* commit '1a1d0b7abff01ed8d731e3590720c611a1db2daa':
  Cleanup: Delete dead code.
2014-07-23 00:13:13 +00:00
Sreeram Ramachandran
1a1d0b7abf am 2582f02a: Cleanup: Delete dead code.
* commit '2582f02a01cd56c56a4e6c9de4444a6ec937cc37':
  Cleanup: Delete dead code.
2014-07-23 00:10:16 +00:00
Elliott Hughes
e26ac7f776 Merge "Remove the unused swab.S." 2014-07-22 21:56:40 +00:00
Elliott Hughes
ca70453e84 Remove the unused swab.S.
Change-Id: Id30eac5a21b649d6a039a0d7ca0496177fbfb571
2014-07-22 20:21:31 -07:00
Elliott Hughes
467e49be70 Merge "Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros." 2014-07-22 16:35:00 +00:00
Elliott Hughes
5d2f86f363 Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
Change-Id: I99f9d2e0a28342663cec6aed483e1a23c12e5e87
2014-07-23 11:10:48 -07:00
Elliott Hughes
79b5a39617 Merge "[MIPS] Allow united mipsel and mips64el gcc toolchain" 2014-07-22 16:35:00 +00:00
Duane Sand
f541650828 [MIPS] Allow united mipsel and mips64el gcc toolchain
Explicitly tell 32-bit links that they are doing 32-bit links.
This is needed when using united 32-bit and 64-bit toolchains.
This is harmless when using older separate 32-only toolchains.

Change-Id: I70cbd3f5867e59b1f6f829793444242fb0894aa6
2014-07-22 14:27:48 -07:00
Elliott Hughes
ea42a6caea Merge "Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files." 2014-07-22 16:25:43 +00:00
Elliott Hughes
3758a244cf Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
Change-Id: Id6fcb74292e661504d0758bfce24abdc18cb8d32
2014-07-22 21:29:00 -07:00
Elliott Hughes
3dde5101c4 am f6771114: am 6209c81d: Use upstream OpenBSD\'s arc4random.
* commit 'f6771114dddb8ec5802dbfdc13cc81e7c6f91d59':
  Use upstream OpenBSD's arc4random.
2014-07-22 02:35:52 +00:00
Elliott Hughes
f6b20f4156 am e41d7b4e: am b7661362: Rewrite syslog(3) to use Android logging.
* commit 'e41d7b4e83418b73a18416f7a50a5dd842ac65b5':
  Rewrite syslog(3) to use Android logging.
2014-07-22 02:35:51 +00:00
Elliott Hughes
f6771114dd am 6209c81d: Use upstream OpenBSD\'s arc4random.
* commit '6209c81d40e2b4e129a28bda3259150d79d507e8':
  Use upstream OpenBSD's arc4random.
2014-07-22 02:30:52 +00:00
Elliott Hughes
e41d7b4e83 am b7661362: Rewrite syslog(3) to use Android logging.
* commit 'b76613627d045acd3bdb7294f424f14c21584872':
  Rewrite syslog(3) to use Android logging.
2014-07-22 02:30:49 +00:00
Elliott Hughes
72602a4682 am 55383d57: am 4d421901: Merge "Use upstream OpenBSD\'s arc4random."
* commit '55383d57d4b1507391923bbd59bf063a6eca7f7e':
  Use upstream OpenBSD's arc4random.
2014-07-22 02:12:22 +00:00
Elliott Hughes
55383d57d4 am 4d421901: Merge "Use upstream OpenBSD\'s arc4random."
* commit '4d421901e587fd1563da94baf59b015017c01b91':
  Use upstream OpenBSD's arc4random.
2014-07-22 02:07:58 +00:00
Elliott Hughes
91f1b3998f am 85287b29: am 925d388e: Merge "Rewrite syslog(3) to use Android logging."
* commit '85287b29eaeeefa46cac16cdc97551422f7449a2':
  Rewrite syslog(3) to use Android logging.
2014-07-22 01:58:50 +00:00
Elliott Hughes
85287b29ea am 925d388e: Merge "Rewrite syslog(3) to use Android logging."
* commit '925d388e24945afb17f66d5c132f993e6a0d4fee':
  Rewrite syslog(3) to use Android logging.
2014-07-22 01:54:47 +00:00
Dan Albert
3ce32b86ff am 607458ff: am b828eaeb: Merge "There is no _MIN for unsigned types."
* commit '607458ffe1cf8486116f3cb23c667785a8cdc2eb':
  There is no _MIN for unsigned types.
2014-07-22 00:50:55 +00:00
Dan Albert
607458ffe1 am b828eaeb: Merge "There is no _MIN for unsigned types."
* commit 'b828eaeb4512baba6d43a56da682bd7329079822':
  There is no _MIN for unsigned types.
2014-07-22 00:43:15 +00:00
Elliott Hughes
0f7d882bb7 Switch to OpenBSD res_random.
Change-Id: Ia971d647832893e9bb4601697132a105524d2f96
2014-07-21 15:31:53 -07:00
Dan Albert
b61f7f8316 am e226b640: am 1fb90a8a: Merge "Fix mbsrtowcs(3)\'s handling of len parameter."
* commit 'e226b64061207358f5489bc5c119e768d5761b99':
  Fix mbsrtowcs(3)'s handling of len parameter.
2014-07-21 19:24:46 +00:00
Dan Albert
96a820327f am 75fcd01a: am e9731387: Merge "__libc_fatal should print a newline to stderr."
* commit '75fcd01a6ecdee67f55751557ebceb0f31a73682':
  __libc_fatal should print a newline to stderr.
2014-07-21 19:24:27 +00:00
Dan Albert
e226b64061 am 1fb90a8a: Merge "Fix mbsrtowcs(3)\'s handling of len parameter."
* commit '1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96':
  Fix mbsrtowcs(3)'s handling of len parameter.
2014-07-21 18:56:06 +00:00
Hans Boehm
3033608b86 am 50f2de91: am ed68221a: Define atomic_charN_t only if charN_t is supported.
* commit '50f2de914f24c0bb38a51ab7759698d11b38a9ad':
  Define atomic_charN_t only if charN_t is supported.
2014-07-21 18:27:40 +00:00
Christopher Ferris
41370acfef am b290796f: am b0815aea: Make sure not to construct illegal property names.
* commit 'b290796ff99151cd13f9d480cc186ceae4713c9f':
  Make sure not to construct illegal property names.
2014-07-21 18:27:40 +00:00
Elliott Hughes
2e138c41d9 am ebb47455: am fbd00819: Merge "Clean up some misinformation around prctl." into lmp-dev
* commit 'ebb474553165cf72c1b3908755aeb3b690f40ad8':
  Clean up some misinformation around prctl.
2014-07-21 18:27:39 +00:00
Christopher Ferris
44d1b00305 am 2affffac: am a6945179: Merge "Add gen syscalls step to instructions." into lmp-dev
* commit '2affffac74eac349b0981cfe8fd65743835896f5':
  Add gen syscalls step to instructions.
2014-07-21 18:27:38 +00:00
Elliott Hughes
065d312a53 am 4aa12034: am 291da8d3: Remove SIOCKILLADDR from <sys/socket.h>.
* commit '4aa120347435481cf439e0378ef12a60b546d2a8':
  Remove SIOCKILLADDR from <sys/socket.h>.
2014-07-21 18:27:38 +00:00
Elliott Hughes
a0d633c2f7 am 6f9e6124: am b5bef263: (-s ours) Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
* commit '6f9e612413a281d69c8d2dbbe00442d75a1f5abb':
  Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
2014-07-21 18:27:37 +00:00
Dan Albert
75fcd01a6e am e9731387: Merge "__libc_fatal should print a newline to stderr."
* commit 'e9731387f46938dd73fcda0193460b33655400c4':
  __libc_fatal should print a newline to stderr.
2014-07-21 18:23:56 +00:00
Elliott Hughes
beb24d0dd6 am 841c633f: resolved conflicts for merge of b5bef263 to lmp-dev-plus-aosp
* commit '841c633fa13ba8d48563fbda247e75bab3bd6f49':
  resolved conflicts for merge of b5bef263 to lmp-dev-plus-aosp
2014-07-21 18:21:55 +00:00
Christopher Ferris
451b910deb am bdfb313c: am e8bc5813: Use the mmap/munmap for allocation routines.
* commit 'bdfb313cf1cefd4ffaa59c6aea20a49608a73a52':
  Use the mmap/munmap for allocation routines.
2014-07-21 18:21:35 +00:00
Elliott Hughes
4d421901e5 Merge "Use upstream OpenBSD's arc4random." 2014-07-21 15:45:37 +00:00
Elliott Hughes
2b67d7dee0 Use upstream OpenBSD's arc4random.
The getentropy_linux.c is lightly modified to build on Android, but we're now
completely in sync with upstream OpenBSD's arc4random implementation.

Change-Id: If32229fc28aba908035fb38703190d41ddcabc95
2014-07-21 14:38:16 -07:00
Dan Albert
b828eaeb45 Merge "There is no _MIN for unsigned types." 2014-07-21 15:45:37 +00:00
Dan Albert
ee7f1b5946 There is no _MIN for unsigned types.
Change-Id: I49c38e51197b750210bdbf28c9cf6db30452a206
2014-07-21 17:16:30 -07:00
Hans Boehm
50f2de914f am ed68221a: Define atomic_charN_t only if charN_t is supported.
* commit 'ed68221a8225a6696d2b0b1607ef0b2de1c1b3aa':
  Define atomic_charN_t only if charN_t is supported.
2014-07-20 18:02:21 +00:00
Christopher Ferris
b290796ff9 am b0815aea: Make sure not to construct illegal property names.
* commit 'b0815aeacb86e20cbbd4fa27dd90ad43b9c200fe':
  Make sure not to construct illegal property names.
2014-07-20 17:59:47 +00:00
Elliott Hughes
ebb4745531 am fbd00819: Merge "Clean up some misinformation around prctl." into lmp-dev
* commit 'fbd0081923336e3d2fa697445372a329134d9484':
  Clean up some misinformation around prctl.
2014-07-20 17:59:30 +00:00
Christopher Ferris
2affffac74 am a6945179: Merge "Add gen syscalls step to instructions." into lmp-dev
* commit 'a694517909546cf5c0d0fb54ab40234047238283':
  Add gen syscalls step to instructions.
2014-07-20 17:59:30 +00:00
Elliott Hughes
4aa1203474 am 291da8d3: Remove SIOCKILLADDR from <sys/socket.h>.
* commit '291da8d3533b3ee47f8d742c72d789d3149d15da':
  Remove SIOCKILLADDR from <sys/socket.h>.
2014-07-20 17:59:28 +00:00
Elliott Hughes
6f9e612413 am b5bef263: (-s ours) Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
* commit 'b5bef263b37b1f0def2a6c4e8e714ab871452b72':
  Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
2014-07-20 17:59:27 +00:00
Elliott Hughes
841c633fa1 resolved conflicts for merge of b5bef263 to lmp-dev-plus-aosp
.

Change-Id: Ieef30b3a308ca3cad4a59f17566d4cede0ae2b16
2014-07-20 10:43:16 -07:00
Christopher Ferris
bdfb313cf1 am e8bc5813: Use the mmap/munmap for allocation routines.
* commit 'e8bc581333d1fe19d28211330d1e06d471365d54':
  Use the mmap/munmap for allocation routines.
2014-07-20 02:17:50 +00:00
Elliott Hughes
925d388e24 Merge "Rewrite syslog(3) to use Android logging." 2014-07-19 23:20:08 +00:00
Elliott Hughes
3ad8ecb64e Rewrite syslog(3) to use Android logging.
Since we don't have syslogd on Android and you can't run one on a non-rooted
device, it's more useful if syslog output just goes to the regular Android
logging system.

Bug: 14292866
Change-Id: Icee7f088b97f88ccbdaf471b98cbac7f19f9210a
2014-07-21 16:56:48 -07:00
Elliott Hughes
8831e40b19 am 2199ac31: am 7dd126a3: Merge "Clean up some misinformation around prctl."
* commit '2199ac3113d2fa35ff400788aa3d68c0123aacfb':
  Clean up some misinformation around prctl.
2014-07-18 23:39:40 +00:00
Elliott Hughes
2199ac3113 am 7dd126a3: Merge "Clean up some misinformation around prctl."
* commit '7dd126a38ca501818b07927f310dcc0f531c0f1f':
  Clean up some misinformation around prctl.
2014-07-18 23:35:08 +00:00
Christopher Ferris
cf622c1c22 am 3a23030d: am 3c2b71ad: Merge "Use the mmap/munmap for allocation routines."
* commit '3a23030ded42a7ee7a0b3ed2543e8758a6bcfc9a':
  Use the mmap/munmap for allocation routines.
2014-07-18 22:21:29 +00:00
Dan Albert
e9731387f4 Merge "__libc_fatal should print a newline to stderr." 2014-07-18 22:17:02 +00:00
Dan Albert
97e31dedf0 __libc_fatal should print a newline to stderr.
Change-Id: I088dc880d7488a65beac8cda95f530f3db41f112
2014-07-21 11:10:00 -07:00
Christopher Ferris
3a23030ded am 3c2b71ad: Merge "Use the mmap/munmap for allocation routines."
* commit '3c2b71ad5612721c7073a4396cdad2c00e86ba54':
  Use the mmap/munmap for allocation routines.
2014-07-18 22:13:21 +00:00
Elliott Hughes
96674169e0 am c6e9b8ce: am b4669685: Fix private/bionic_name_mem.h build breakage.
* commit 'c6e9b8cebfc0d3faff5ea986a6fc9bbc11413b37':
  Fix private/bionic_name_mem.h build breakage.
2014-07-18 02:57:51 +00:00
Elliott Hughes
c6e9b8cebf am b4669685: Fix private/bionic_name_mem.h build breakage.
* commit 'b46696858b9018ff8a1069d429366e05d4814c52':
  Fix private/bionic_name_mem.h build breakage.
2014-07-18 02:50:37 +00:00
Elliott Hughes
a9fdbb819f am 1b77f3f7: resolved conflicts for merge of d648f557 to lmp-dev-plus-aosp
* commit '1b77f3f7417598414694eb29e17a4873a38a1d18':
  Remove non-standard prctl constants from <sys/prctl.h>.
2014-07-18 00:42:52 +00:00
Elliott Hughes
1b77f3f741 resolved conflicts for merge of d648f557 to lmp-dev-plus-aosp
Change-Id: I406207b390460d5ccb6da338bf84fce674dc8038
2014-07-17 17:37:26 -07:00
Elliott Hughes
3d96532171 am 6e47ddab: am d18b87f3: Merge "Remove SIOCKILLADDR from <sys/socket.h>."
* commit '6e47ddab72841c165b538de198c5858409fb6349':
  Remove SIOCKILLADDR from <sys/socket.h>.
2014-07-18 00:30:05 +00:00
Elliott Hughes
96eef2388e am 1a04da87: am 76282482: Merge "Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>."
* commit '1a04da875064d81829c3ea1b3e8096e2b721cd10':
  Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
2014-07-18 00:30:04 +00:00
Elliott Hughes
6e47ddab72 am d18b87f3: Merge "Remove SIOCKILLADDR from <sys/socket.h>."
* commit 'd18b87f38de8644acdcd1a112bd06d3a70d2ea1d':
  Remove SIOCKILLADDR from <sys/socket.h>.
2014-07-18 00:24:35 +00:00
Elliott Hughes
1a04da8750 am 76282482: Merge "Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>."
* commit '76282482dbb05bf97a834d20b3ccf98de3f5a31d':
  Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
2014-07-18 00:24:34 +00:00
Dan Albert
1fb90a8aa0 Merge "Fix mbsrtowcs(3)'s handling of len parameter." 2014-07-17 22:34:19 +00:00
Dan Albert
6b55ba54ef Fix mbsrtowcs(3)'s handling of len parameter.
The len parameter is a _maximum_ length. The previous code was treating
it as an exact length, causing the following typical call to fail:

    mbsrtowcs(out, &in, sizeof(out), state); // sizeof(out) > strlen(in)

Change-Id: I48e474fd54ea5f122bc168a4d74bfe08704f28cc
2014-07-21 11:45:48 -07:00
Elliott Hughes
7dd126a38c Merge "Clean up some misinformation around prctl." 2014-07-17 22:33:54 +00:00
Elliott Hughes
9c07aee83b Clean up some misinformation around prctl.
prctl shouldn't be in <unistd.h>.

Change-Id: I29609fc91c033e1ad143b75d9b4eb17aefbd63d6
2014-07-18 16:15:32 -07:00
Christopher Ferris
3c2b71ad56 Merge "Use the mmap/munmap for allocation routines." 2014-07-17 22:33:54 +00:00
Christopher Ferris
6425327c32 Use the mmap/munmap for allocation routines.
To avoid any issues calling malloc related routines, use mmap/munmap.
Specifically, this avoids any problems when this is compiled into a
malloc debug shared library.

Change-Id: Iae2d197145da43dc103ad6024357d8cc2374378f
2014-07-18 14:16:51 -07:00
Elliott Hughes
d18b87f38d Merge "Remove SIOCKILLADDR from <sys/socket.h>." 2014-07-17 22:33:42 +00:00
Elliott Hughes
8a3d1ca183 Remove SIOCKILLADDR from <sys/socket.h>.
Change-Id: I6b64a9abe01c786a9ec26aee1517cb981a4860fb
2014-07-17 17:10:02 -07:00
Elliott Hughes
76282482db Merge "Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>." 2014-07-17 22:33:42 +00:00
Elliott Hughes
9f165d24f0 Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
Change-Id: Ie70f23c80e8473ac9617b74967d7c84709f5b00d
2014-07-17 17:12:35 -07:00
Elliott Hughes
bb74030901 am d377833d: am 6bf42ddc: Merge "Fix private/bionic_name_mem.h build breakage."
* commit 'd377833de61664b57f656aa0111b7a4b166b1df8':
  Fix private/bionic_name_mem.h build breakage.
2014-07-17 22:20:56 +00:00
Elliott Hughes
d377833de6 am 6bf42ddc: Merge "Fix private/bionic_name_mem.h build breakage."
* commit '6bf42ddc7962dec56840eb370bfe7b0469a4efb1':
  Fix private/bionic_name_mem.h build breakage.
2014-07-17 22:16:45 +00:00
Elliott Hughes
c616d304e9 am fdd64140: am 169e2bf6: Merge "Remove non-standard prctl constants from <sys/prctl.h>."
* commit 'fdd64140933bedbefc8633a28bc9478ea954f81a':
  Remove non-standard prctl constants from <sys/prctl.h>.
2014-07-17 22:01:13 +00:00
Elliott Hughes
6bf42ddc79 Merge "Fix private/bionic_name_mem.h build breakage." 2014-07-17 21:58:34 +00:00
Elliott Hughes
2f9c6e38b8 Fix private/bionic_name_mem.h build breakage.
Change-Id: I8fe9c63dbbb5911721ca56791c0bff4bdf403314
2014-07-17 15:09:17 -07:00
Elliott Hughes
fdd6414093 am 169e2bf6: Merge "Remove non-standard prctl constants from <sys/prctl.h>."
* commit '169e2bf6bd092ea3599cfe3426766988ec66658a':
  Remove non-standard prctl constants from <sys/prctl.h>.
2014-07-17 21:54:26 +00:00
Elliott Hughes
2651277e77 am 9633cc3e: am 9a7fdb2d: ptrace(3) should be varargs.
* commit '9633cc3ee9501550463d53929a05829e2824a476':
2014-07-17 18:31:08 +00:00
Elliott Hughes
19391d796c am 2492a8e3: am 3002131d: Use VDSO for clock_gettime(2) and gettimeofday(2).
* commit '2492a8e364e5cc8c606458ffdceda8cdc9d34bcc':
2014-07-17 18:31:07 +00:00
Elliott Hughes
db71f00794 am 9a7fdb2d: ptrace(3) should be varargs.
* commit '9a7fdb2dae8f0ae0f9c5b0596bb2710f782925aa':
  ptrace(3) should be varargs.
2014-07-17 18:18:01 +00:00
Elliott Hughes
0cf2d4902a am 3002131d: Use VDSO for clock_gettime(2) and gettimeofday(2).
* commit '3002131da33401cf1b45abbdbec58b7c751fc43a':
  Use VDSO for clock_gettime(2) and gettimeofday(2).
2014-07-17 18:16:35 +00:00
Elliott Hughes
169e2bf6bd Merge "Remove non-standard prctl constants from <sys/prctl.h>." 2014-07-17 17:59:29 +00:00
Elliott Hughes
d7453860a6 Remove non-standard prctl constants from <sys/prctl.h>.
Also remove __bionic_name_mem which has exactly one caller, and is only
ever expected to be used in this one place.

Change-Id: I833744f91e887639f5b2d1269f966ee9032af207
2014-07-17 14:26:33 -07:00
Elliott Hughes
9633cc3ee9 am 9a7fdb2d: ptrace(3) should be varargs.
* commit '9a7fdb2dae8f0ae0f9c5b0596bb2710f782925aa':
  ptrace(3) should be varargs.
2014-07-17 17:01:54 +00:00
Elliott Hughes
2492a8e364 am 3002131d: Use VDSO for clock_gettime(2) and gettimeofday(2).
* commit '3002131da33401cf1b45abbdbec58b7c751fc43a':
  Use VDSO for clock_gettime(2) and gettimeofday(2).
2014-07-17 17:01:12 +00:00
Hans Boehm
a0582bfae6 am ec76a21f: am 43363ab7: Merge "Define atomic_charN_t only if charN_t is supported."
* commit 'ec76a21f27a3727f31c96bcaa27a820765471125':
  Define atomic_charN_t only if charN_t is supported.
2014-07-17 13:45:07 +00:00
Elliott Hughes
e569ff8fbf am 51b9d5ba: am 94f84d36: Merge "ptrace(3) should be varargs."
* commit '51b9d5bad9f011ad509f46622f1a341edf80ad34':
  ptrace(3) should be varargs.
2014-07-17 13:44:35 +00:00
Elliott Hughes
6777948bf2 am 379b1580: am f13aa6fc: Merge "Use VDSO for clock_gettime(2) and gettimeofday(2)."
* commit '379b1580dcad69360f83a6c70c5adc83e483c36b':
  Use VDSO for clock_gettime(2) and gettimeofday(2).
2014-07-17 13:43:35 +00:00
Hans Boehm
ec76a21f27 am 43363ab7: Merge "Define atomic_charN_t only if charN_t is supported."
* commit '43363ab7202a935e12cf6a38d32a48433bdc3705':
  Define atomic_charN_t only if charN_t is supported.
2014-07-17 12:59:40 +00:00
Elliott Hughes
51b9d5bad9 am 94f84d36: Merge "ptrace(3) should be varargs."
* commit '94f84d36a9f16030546a667bab6c66a59e41e4bd':
  ptrace(3) should be varargs.
2014-07-16 23:49:52 +00:00
Hans Boehm
43363ab720 Merge "Define atomic_charN_t only if charN_t is supported." 2014-07-16 23:31:38 +00:00
Hans Boehm
8b002362d9 Define atomic_charN_t only if charN_t is supported.
Some platform code is apparently compiled with switches that do
not support char16_t and char32_t.  This caused stdatomic.h to fail
to compile.  This CL makes stdatomic.h usable in those environments.

Change-Id: Ie5a17f20b8b545c97128d00605b4eabd2a6bfe3e
2014-07-16 17:31:05 -07:00
Elliott Hughes
94f84d36a9 Merge "ptrace(3) should be varargs." 2014-07-16 21:56:17 +00:00
Elliott Hughes
98b088dce7 ptrace(3) should be varargs.
Bug: 16352070
Change-Id: Ied72e6e79eaf912fc93fc49ae7637af321a31a59
2014-07-16 16:07:10 -07:00
Elliott Hughes
379b1580dc am f13aa6fc: Merge "Use VDSO for clock_gettime(2) and gettimeofday(2)."
* commit 'f13aa6fc5b66d1c98b7fd4b43e20515033707e56':
  Use VDSO for clock_gettime(2) and gettimeofday(2).
2014-07-16 21:44:46 +00:00
Elliott Hughes
f13aa6fc5b Merge "Use VDSO for clock_gettime(2) and gettimeofday(2)." 2014-07-16 19:02:19 +00:00
Elliott Hughes
625993dfbb Use VDSO for clock_gettime(2) and gettimeofday(2).
Bug: 15387103
Change-Id: Ifc3608ea65060c1dc38120b10b6e79874f182a36
2014-07-16 14:27:43 -07:00
Dan Albert
0b0494c01f am 6526098e: am a4465058: Merge "Remove isascii_l(3)." into lmp-dev
* commit '6526098e710364f3ea9266de1a4a9b675b23bd9a':
  Remove isascii_l(3).
2014-07-16 16:08:25 +00:00
Dan Albert
6526098e71 am a4465058: Merge "Remove isascii_l(3)." into lmp-dev
* commit 'a446505874ba52eb6ddb893c0d9c9321a73b235d':
  Remove isascii_l(3).
2014-07-16 16:04:09 +00:00
Elliott Hughes
eb2ab29c32 am 775056ff: am 97ba2a5c: Regenerate the syscalls list after the uapi update.
* commit '775056ff71b9ae06db13dffc150d4d1162e775ab':
  Regenerate the syscalls list after the uapi update.
2014-07-16 03:08:38 +00:00
Elliott Hughes
775056ff71 am 97ba2a5c: Regenerate the syscalls list after the uapi update.
* commit '97ba2a5cc4cf098938bb0a2c19ff01eb57c5536c':
  Regenerate the syscalls list after the uapi update.
2014-07-16 03:04:25 +00:00
Christopher Ferris
94c30175e3 am 04e7056d: am 770d0f61: Merge "Make sure not to construct illegal property names."
* commit '04e7056d06a7098827dcc7060c5d827b1a8afab4':
  Make sure not to construct illegal property names.
2014-07-16 03:00:34 +00:00
Christopher Ferris
20d08f57f6 am f64411e7: am 64035c4a: Merge "Add gen syscalls step to instructions."
* commit 'f64411e7a8479f0e4968d9aa1ea5b7c95334ec6e':
  Add gen syscalls step to instructions.
2014-07-16 03:00:34 +00:00
Elliott Hughes
47840c305f am 99c8508a: am 52023cb7: Merge "Regenerate the syscalls list after the uapi update."
* commit '99c8508a6e1fefbb19e11af4bdde16f353a61615':
  Regenerate the syscalls list after the uapi update.
2014-07-16 03:00:33 +00:00
Christopher Ferris
09bbeac80c am 76dd4a79: am 51c914b7: Merge "Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit."
* commit '76dd4a7911d2b00262d4b60c2828de48818e3226':
  Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
2014-07-16 03:00:33 +00:00
Christopher Ferris
04e7056d06 am 770d0f61: Merge "Make sure not to construct illegal property names."
* commit '770d0f6177ca1ad242b509151fb612f07ef8a07b':
  Make sure not to construct illegal property names.
2014-07-16 02:56:23 +00:00
Christopher Ferris
f64411e7a8 am 64035c4a: Merge "Add gen syscalls step to instructions."
* commit '64035c4a4b52ce87398e3a5945ad6b755c8f35b1':
  Add gen syscalls step to instructions.
2014-07-16 02:56:22 +00:00
Elliott Hughes
99c8508a6e am 52023cb7: Merge "Regenerate the syscalls list after the uapi update."
* commit '52023cb725ade3a4ace8631af8d6df5b47dc4def':
  Regenerate the syscalls list after the uapi update.
2014-07-16 02:56:22 +00:00
Christopher Ferris
76dd4a7911 am 51c914b7: Merge "Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit."
* commit '51c914b7fd0994f09ef11e9038f2b1df4b909358':
  Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
2014-07-16 02:56:21 +00:00
Christopher Ferris
1c050aa140 am cdf48775: am 73c963e4: Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
* commit 'cdf48775d4aaa441d833a85441d67ff990d9897e':
  Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
2014-07-15 22:22:27 +00:00
Christopher Ferris
cdf48775d4 am 73c963e4: Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
* commit '73c963e4c5bf111df3abe9ad7eac98a918b88bb3':
  Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
2014-07-15 21:46:28 +00:00
Christopher Ferris
770d0f6177 Merge "Make sure not to construct illegal property names." 2014-07-15 20:47:30 +00:00
Christopher Ferris
53531ccebb Make sure not to construct illegal property names.
Change-Id: I37624e69aec51efd4291f076fb87af3f35d33025
2014-07-15 19:26:28 -07:00
Christopher Ferris
64035c4a4b Merge "Add gen syscalls step to instructions." 2014-07-15 20:47:30 +00:00
Christopher Ferris
ea271fdf26 Add gen syscalls step to instructions.
Also, fix incorrect path to some tools.

Change-Id: I409fc02d7077f0d2811d90be19550e70f5d73c0e
2014-07-15 19:02:33 -07:00
Elliott Hughes
52023cb725 Merge "Regenerate the syscalls list after the uapi update." 2014-07-15 20:36:09 +00:00
Elliott Hughes
3fa60e10bc Regenerate the syscalls list after the uapi update.
Change-Id: I117c5b18f735376dd3ab5061018dc7db9c046202
2014-07-15 18:39:27 -07:00
Elliott Hughes
cea72c11e1 am c80cb8e3: am ca276c40: Fix visibility for a bunch more symbols.
* commit 'c80cb8e3ca36aa0d41f6a58559450aac73b5b565':
  Fix visibility for a bunch more symbols.
2014-07-15 02:35:42 +00:00
Elliott Hughes
c80cb8e3ca am ca276c40: Fix visibility for a bunch more symbols.
* commit 'ca276c40dfdb80ef553c6646da7f984ef7b694ce':
  Fix visibility for a bunch more symbols.
2014-07-15 02:31:51 +00:00
Christopher Ferris
51c914b7fd Merge "Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit." 2014-07-15 00:42:07 +00:00
Christopher Ferris
27047faf28 Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
There were two bugs here:

- For 64 bit values, this did not properly round up.
- The macro rounded to the power of 2 less than value, not to the power
  of 2 greater than value.

Change-Id: If8cb41536a9d2f5c1bc213676f1e67a7903a36b0
2014-07-15 12:33:48 -07:00
Dan Albert
bfd4849e4f am 84491f5b: am 5656a0c4: Merge "Remove isascii_l(3)."
* commit '84491f5b0620386645beb5acf88f873a32179c35':
  Remove isascii_l(3).
2014-07-15 00:34:02 +00:00
Dan Albert
84491f5b06 am 5656a0c4: Merge "Remove isascii_l(3)."
* commit '5656a0c4943a9b14baa4fc135980f91591723156':
  Remove isascii_l(3).
2014-07-15 00:31:07 +00:00
Elliott Hughes
209422c44f am 1d31b554: am ee3608f9: Merge "Fix visibility for a bunch more symbols."
* commit '1d31b55443c534187ea726e7292dbd308f263d95':
  Fix visibility for a bunch more symbols.
2014-07-14 23:29:34 +00:00
Elliott Hughes
dc5f392158 am 07198cbf: am 99ae0983: Implement rand/srand in terms of random/srandom.
* commit '07198cbf1676665acd2144a5f9ebc71d7e31aebe':
  Implement rand/srand in terms of random/srandom.
2014-07-14 23:29:29 +00:00
Elliott Hughes
c241ad0688 am 0a79e279: am caaf71eb: Sync upstream-openbsd.
* commit '0a79e2798e4d2b05ca32a7912df274c461e96b2b':
  Sync upstream-openbsd.
2014-07-14 23:29:29 +00:00
Dmitriy Ivanov
a41e7e9492 am db3b2995: resolved conflicts for merge of 38778e3b to lmp-dev-plus-aosp
* commit 'db3b29958dbfe23489cc4fa66d42cd95d441391c':
  Upstream atexit
2014-07-14 23:29:28 +00:00
Elliott Hughes
1d31b55443 am ee3608f9: Merge "Fix visibility for a bunch more symbols."
* commit 'ee3608f9d3259a0ef22a27932a3f5149fb2763c8':
  Fix visibility for a bunch more symbols.
2014-07-14 23:15:15 +00:00
Dan Albert
5656a0c494 Merge "Remove isascii_l(3)." 2014-07-14 23:04:02 +00:00
Dan Albert
e612add051 Remove isascii_l(3).
Had intended to remove this one before submitting the locale changes,
but forgot. It isn't a standard ctype function, so we don't need it.

Change-Id: Ie9c09fa6c61b1101b5992fa06da30e373a0c6bf7
2014-07-14 15:48:02 -07:00
Elliott Hughes
07198cbf16 am 99ae0983: Implement rand/srand in terms of random/srandom.
* commit '99ae0983c0fd22e34e4d2aa61942b04e347447ee':
  Implement rand/srand in terms of random/srandom.
2014-07-14 22:24:33 +00:00
Elliott Hughes
0a79e2798e am caaf71eb: Sync upstream-openbsd.
* commit 'caaf71ebb358f811fe7602bbadb90b897e93eaf7':
  Sync upstream-openbsd.
2014-07-14 22:24:32 +00:00
Dmitriy Ivanov
db3b29958d resolved conflicts for merge of 38778e3b to lmp-dev-plus-aosp
Change-Id: I138f093f20570079af13aee6dc54202e214a56a4
2014-07-14 15:20:59 -07:00
Elliott Hughes
df9777c3b9 am ac56fc86: am 673bff01: Merge "Implement rand/srand in terms of random/srandom."
* commit 'ac56fc8663a01c3cad6fcacab8d2958f20bc047a':
  Implement rand/srand in terms of random/srandom.
2014-07-14 20:14:06 +00:00
Brian Carlstrom
3c5a701f94 am 6835f586: Merge branch \'lmp-dev-plus-aosp\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp
* commit '6835f5864d56cf6ee10da027c2ca013423a01bb1':
  Upstream atexit
  Sync upstream-openbsd.
2014-07-14 19:29:50 +00:00
Elliott Hughes
93235cabfb am 49e34298: am 3b318a5b: am e2b177a5: am 83ce99d8: Merge "Define SIOCKILLADDR which isn\'t in the common kernel uapi headers."
* commit '49e34298e62eec01eb6ae777a62b421db45adc36':
2014-07-14 19:29:49 +00:00
Elliott Hughes
40c1838322 am 646e7eb4: am f6968e3c: Define SIOCKILLADDR which isn\'t in the common kernel uapi headers.
* commit '646e7eb4bd0b834eeeddcbd1b4b976f849b7ce77':
2014-07-14 19:29:49 +00:00
Elliott Hughes
4cb78fe675 am 5ddb411c: am bae7c206: am b962ab81: am 57a5b338: Merge "Define three prctl constants that went missing from uapi."
* commit '5ddb411c174ee2402b5445bf73db25f1c7fa33f5':
2014-07-14 19:29:48 +00:00
Elliott Hughes
be69279338 am 29ba6754: am f65d552b: am 0594b9dd: am b8e82b5e: Merge "EM_ARM and EM_AARCH64 are now in the uapi header."
* commit '29ba6754e5370b46adad73cc949f507cdb85fd38':
2014-07-14 19:29:45 +00:00
Christopher Ferris
68b180812e am 8edb50a7: am 8832cfb2: am efdf7862: am 385bb1ed: Merge "Add optimized memchr implementation from newlib"
* commit '8edb50a7ce1e16618983179692169ed9a4c83f34':
2014-07-14 19:29:44 +00:00
Christopher Ferris
c03b5b0c87 am 99ad4f90: am d92a6d06: am 55230dd0: am 96502e27: Merge "Make jemalloc the default choice."
* commit '99ad4f9028e62d268190a7b81365153a9a82a868':
2014-07-14 19:29:43 +00:00
Christopher Ferris
a3f8b0b3df am f0fe22cd: am d389809d: am 18a25078: am c6bc0017: Merge "Update kernel headers to v3.14."
* commit 'f0fe22cd13d6e6650f50453d502d64a67ee35a0f':
2014-07-14 19:29:42 +00:00
Elliott Hughes
3df82ef283 am 1edd9758: am 9c98443e: am ce1422b9: am 040e1187: Merge "Enable building libc with clang."
* commit '1edd97580f74ba11f13f383aa70e4b47d163d600':
2014-07-14 19:29:42 +00:00
Dan Albert
9e962e499c am 42eed01a: am 405fd491: am c0afc23e: am 37f09d6d: Merge "Revert "Revert "Add locale aware APIs."""
* commit '42eed01a1f079515ddc64fbd7d1d77d6de576db6':
2014-07-14 19:29:39 +00:00
Elliott Hughes
0310e5d912 am a7d2f57d: am 210a8423: am d19f2d85: am 76df69d1: Merge "The err family allow null format strings."
* commit 'a7d2f57d614dbf6be3308f5d476bae1e29551db4':
2014-07-14 19:29:37 +00:00
Elliott Hughes
a34620eb55 am bad533b4: am d54994a4: am 696c48df: am eba7c15b: Merge "Revert "Switch libm to building with clang.""
* commit 'bad533b465be292c5c609a5edd336bf00ca359e6':
2014-07-14 19:29:36 +00:00
Elliott Hughes
d4a1d6e229 am 84ae9f67: am 2545bf7b: am 37ab54fd: am 5df23dc8: Merge "Switch libm to building with clang."
* commit '84ae9f673bf96c87b54978db396cc5cb7a9e6266':
2014-07-14 19:29:36 +00:00
Elliott Hughes
5cc91d1f54 am 387d52ea: am 3ea96e7b: am 35805377: am 9b491470: Merge "Slim down static binaries by avoiding stdio."
* commit '387d52ea4bdab7c90061d5828f0208a16214fa74':
2014-07-14 19:29:35 +00:00
Elliott Hughes
a102132057 am 32a93da1: am a9e847fd: am 7d9f1cc5: am f0f8cd1f: Merge "Remove the global lock around thread stack creation."
* commit '32a93da106d58ba9329c3f040063c334574e315c':
2014-07-14 19:29:35 +00:00
Elliott Hughes
7eb1cbc6e5 am e6153565: am b2ddd728: am 12ce9115: am cd23370c: Merge "Remove the obsolete _thread_created_hook."
* commit 'e6153565adce260251d8bf0b285abea053c2da8f':
2014-07-14 19:29:34 +00:00
Calin Juravle
3cfac9fe42 am 8ebfc51e: am 9899217a: am 9712d913: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '8ebfc51ee226d7d5ebcb5f34b579a2391589127d':
2014-07-14 19:29:33 +00:00
Calin Juravle
943f25c072 am cd1093fa: am b89ef57d: am cd061f6e: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'cd1093fab5e24e02214f49de8b37aeace8e48330':
2014-07-14 19:29:32 +00:00
Christopher Ferris
464972fc6e am d0e94fa5: am a35ae1bc: am 4306b0f8: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit 'd0e94fa58d775d6980ab6dc7c4cd70de0f16f10c':
2014-07-14 19:29:31 +00:00
Elliott Hughes
6144d69275 am 699cecdd: am 4c28373d: am 96d7251c: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '699cecdd2ec27a37a1edfc42556e3f9877ae3055':
2014-07-14 19:29:30 +00:00
Elliott Hughes
72085c59a0 am fffca5a9: am 4f459ec6: am 1cad0226: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit 'fffca5a9f7d3f4fea4e4d88ba8a15d1810239d33':
2014-07-14 19:29:29 +00:00
Dan Albert
b231d97436 am 2f96faad: am d0a7157c: am ea04b5a6: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '2f96faadec2dbd3f8a30466de413629e860cdf0a':
2014-07-14 19:29:28 +00:00
Dan Albert
87abe8a43c am 12810d6d: am 1e46158e: am f6b95993: am 430d5f93: Merge "Add locale aware APIs."
* commit '12810d6d6116049aa68fd9c0c16ec0f408933ac0':
2014-07-14 19:29:27 +00:00
Elliott Hughes
4e67f9c453 am df17c1f2: am 67ee7b9d: am 94560b5b: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit 'df17c1f20bb366e59f75869a3396ca8cedd850de':
2014-07-14 19:29:26 +00:00
Elliott Hughes
e9db4fa091 am 26734a7d: am c346c606: am 8d11fb18: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '26734a7dd7628f59c70dcad8d732420c92ff6be1':
2014-07-14 19:29:24 +00:00
Elliott Hughes
b6bc601165 am 602492a6: am 53641001: am 986fb565: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit '602492a682f1d7fe21f34b1ff7c08942de0fefa4':
2014-07-14 19:29:23 +00:00
Ying Wang
b1be9d8b5c am af47a46d: am 4fae7675: am 6ee2f321: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit 'af47a46d38d3b5571944e70ed9ea0a0816dd4685':
2014-07-14 19:29:22 +00:00
Dmitriy Ivanov
be0162e1d7 am 3dd6e3d8: am e245060c: am ab164750: am 3c12ae56: Merge "Add test for constructor function."
* commit '3dd6e3d880077ee2632fb055ef17339558a61c03':
2014-07-14 19:29:21 +00:00
Dmitriy Ivanov
9afe125fdb am 065abed9: am 30e596e9: am ca673e73: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '065abed9a580e8ad23bd6cbd5721ea1d70474828':
2014-07-14 19:29:20 +00:00
Elliott Hughes
21c8f41d3f am 0ec257dc: am a3eead96: am 7e43f0d4: resolved conflicts for merge of aedc14b1 to lmp-dev
* commit '0ec257dc20ceadde049296246c78b99f02625412':
2014-07-14 19:29:18 +00:00
Calin Juravle
48766828da am 37eca3d3: am 3b0f3112: am f11e7c74: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '37eca3d325de93ce95e0f85c53aab508c18b306d':
2014-07-14 19:29:17 +00:00
Calin Juravle
a7be72e7a2 am b94d0294: am e8ce76c2: am 1d63dd90: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'b94d0294037a37b60ba2bd403f12c1c7c28efbaa':
2014-07-14 19:29:16 +00:00
Christopher Ferris
450f9a4b83 am c743b189: am 0f8d5a06: am c04e73a6: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit 'c743b18961b46b82e5a4770d67071aeeee8753bf':
2014-07-14 19:29:15 +00:00
Elliott Hughes
6bf66f8ce7 am 5252514d: am 05916dda: am cf53885b: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '5252514d65ee924d53ceafd14e0d566a477cf35a':
2014-07-14 19:29:14 +00:00
Elliott Hughes
04b7898f17 am e4a1004d: am 42775b51: am feccec68: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit 'e4a1004d875465b39e7d557bdcc5bbfa8acefeda':
2014-07-14 19:29:13 +00:00
Dan Albert
b24b709ea2 am 5b41373d: am 293006c9: am 418fdef2: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '5b41373d499b7ab2b72ad5235c5d1a3c06f236b2':
2014-07-14 19:29:11 +00:00
Dan Albert
79465f3d25 am a0ce997e: am 16dd7fd5: am 43e79dab: am 430d5f93: Merge "Add locale aware APIs."
* commit 'a0ce997e1bf7a1074ce78b1ff8cf6acfa59ca2f3':
2014-07-14 19:29:10 +00:00
Elliott Hughes
3cdcfc82eb am 6c804ab1: am e2bcc8bb: am 748d8708: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit '6c804ab1ea8ed48ba9ec78c443f2c7815fa830a0':
2014-07-14 19:29:09 +00:00
Elliott Hughes
129820c8d6 am 7ad8adbe: am 48ad92a4: am 742fce7b: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '7ad8adbe51280128ddcad7849f36d091fb05dda1':
2014-07-14 19:29:08 +00:00
Elliott Hughes
845d50ba81 am f7fe0779: am dc0b68e5: am b9d95b5d: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit 'f7fe0779027ce54b6936f8210bc867707c969f38':
2014-07-14 19:29:06 +00:00
Ying Wang
8e8d019b5c am de78c2c4: am 76171b2d: am 02406f68: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit 'de78c2c45181e8a1b16e70c87be981af9c76a092':
2014-07-14 19:29:05 +00:00
Dmitriy Ivanov
fd2fd4398e am 994faff2: am 4e37e7b1: am b9247ada: am 3c12ae56: Merge "Add test for constructor function."
* commit '994faff20941661a557e3a9339768fa8e2ecf21d':
2014-07-14 19:29:04 +00:00
Dmitriy Ivanov
ff181ce7ac am 49b59013: am 4c632335: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '49b590136a7269902179bf61258709d2bb6d5611':
2014-07-14 19:29:03 +00:00
Elliott Hughes
d7c9ad906b am f40424d3: am ddf9066e: resolved conflicts for merge of aedc14b1 to master
* commit 'f40424d38fbe540c1a04a27f7ad1c7a89826fd1c':
2014-07-14 19:29:02 +00:00
Elliott Hughes
ac56fc8663 am 673bff01: Merge "Implement rand/srand in terms of random/srandom."
* commit '673bff01aed0c08991b98841ed0bfad78a589672':
  Implement rand/srand in terms of random/srandom.
2014-07-14 19:28:49 +00:00
Brian Carlstrom
6835f5864d Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp 2014-07-14 19:23:02 +00:00
Elliott Hughes
6d3032891a am 4ae93869: Merge "Sync upstream-openbsd."
* commit '4ae938698c89e9e3c79008d9a833db726779accd':
  Sync upstream-openbsd.
2014-07-14 19:21:32 +00:00
Dmitriy Ivanov
7ba7686b46 am 91f2074e: Merge "Upstream atexit"
* commit '91f2074e5f4e475d7c88d9cdaeb7dcdc9d9ff882':
  Upstream atexit
2014-07-14 19:21:31 +00:00
Elliott Hughes
49e34298e6 am 3b318a5b: am e2b177a5: am 83ce99d8: Merge "Define SIOCKILLADDR which isn\'t in the common kernel uapi headers."
* commit '3b318a5b3da4afde3c6f35cab260e93d0adf7a5e':
2014-07-14 19:10:08 +00:00
Elliott Hughes
646e7eb4bd am f6968e3c: Define SIOCKILLADDR which isn\'t in the common kernel uapi headers.
* commit 'f6968e3c0822b27e9aa584c3490573f34b1725c1':
  Define SIOCKILLADDR which isn't in the common kernel uapi headers.
2014-07-14 19:10:07 +00:00
Elliott Hughes
5ddb411c17 am bae7c206: am b962ab81: am 57a5b338: Merge "Define three prctl constants that went missing from uapi."
* commit 'bae7c2067256272a0ce0a0eb4d24cc2d6a091735':
2014-07-14 19:10:06 +00:00
Elliott Hughes
29ba6754e5 am f65d552b: am 0594b9dd: am b8e82b5e: Merge "EM_ARM and EM_AARCH64 are now in the uapi header."
* commit 'f65d552b3de50fd9124f9704eda3e04d02c25a32':
2014-07-14 19:10:06 +00:00
Christopher Ferris
8edb50a7ce am 8832cfb2: am efdf7862: am 385bb1ed: Merge "Add optimized memchr implementation from newlib"
* commit '8832cfb2fea643ccf0378e2864ba25d773cad408':
2014-07-14 19:10:05 +00:00
Christopher Ferris
99ad4f9028 am d92a6d06: am 55230dd0: am 96502e27: Merge "Make jemalloc the default choice."
* commit 'd92a6d06690b63f70126ab55b6909cfae78a20c6':
2014-07-14 19:10:04 +00:00
Christopher Ferris
f0fe22cd13 am d389809d: am 18a25078: am c6bc0017: Merge "Update kernel headers to v3.14."
* commit 'd389809de7d4cccaa54a2ef468c47a6592015afa':
2014-07-14 19:10:04 +00:00
Elliott Hughes
1edd97580f am 9c98443e: am ce1422b9: am 040e1187: Merge "Enable building libc with clang."
* commit '9c98443e2bd2991a41dab118df19ab8cd676ab6b':
2014-07-14 19:10:03 +00:00
Dan Albert
42eed01a1f am 405fd491: am c0afc23e: am 37f09d6d: Merge "Revert "Revert "Add locale aware APIs."""
* commit '405fd491bc71e01dbb0616cff35d508f65803eb6':
2014-07-14 19:10:02 +00:00
Elliott Hughes
a7d2f57d61 am 210a8423: am d19f2d85: am 76df69d1: Merge "The err family allow null format strings."
* commit '210a842354d4a840cab29da6e11aea83a52a6e8c':
2014-07-14 19:10:01 +00:00
Elliott Hughes
bad533b465 am d54994a4: am 696c48df: am eba7c15b: Merge "Revert "Switch libm to building with clang.""
* commit 'd54994a45f1be37cdd7d3ff184027dd57f416703':
2014-07-14 19:10:00 +00:00
Elliott Hughes
84ae9f673b am 2545bf7b: am 37ab54fd: am 5df23dc8: Merge "Switch libm to building with clang."
* commit '2545bf7b411de74e3aede8e4d38d9f44bcef7948':
2014-07-14 19:10:00 +00:00
Elliott Hughes
387d52ea4b am 3ea96e7b: am 35805377: am 9b491470: Merge "Slim down static binaries by avoiding stdio."
* commit '3ea96e7b86fa00ed67c24ea742a6b87ae86df826':
2014-07-14 19:09:59 +00:00
Elliott Hughes
32a93da106 am a9e847fd: am 7d9f1cc5: am f0f8cd1f: Merge "Remove the global lock around thread stack creation."
* commit 'a9e847fdea2821841cfa511d32d86e6298616ee9':
2014-07-14 19:09:59 +00:00
Elliott Hughes
e6153565ad am b2ddd728: am 12ce9115: am cd23370c: Merge "Remove the obsolete _thread_created_hook."
* commit 'b2ddd728c353028bdfa6c2d09c9fa8651876a7bb':
2014-07-14 19:09:58 +00:00
Calin Juravle
8ebfc51ee2 am 9899217a: am 9712d913: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '9899217adbb72f1eadd32ca4319bf1962492935d':
2014-07-14 19:09:58 +00:00
Calin Juravle
cd1093fab5 am b89ef57d: am cd061f6e: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'b89ef57d092f4326195ce7ec8521c1f78cfd7c71':
2014-07-14 19:09:57 +00:00
Christopher Ferris
d0e94fa58d am a35ae1bc: am 4306b0f8: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit 'a35ae1bcaa6a902aa0c434e00948bce4a9ce5113':
2014-07-14 19:09:56 +00:00
Elliott Hughes
699cecdd2e am 4c28373d: am 96d7251c: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '4c28373da6e90d3f4cfd70c2ade6a9181bbbde39':
2014-07-14 19:09:55 +00:00
Elliott Hughes
fffca5a9f7 am 4f459ec6: am 1cad0226: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit '4f459ec6bd00a0b269ba5f889c3c7fb32cade14f':
2014-07-14 19:09:54 +00:00
Dan Albert
2f96faadec am d0a7157c: am ea04b5a6: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit 'd0a7157c974b3d33a7c0d6a2fc514f006737cbf9':
2014-07-14 19:09:54 +00:00
Dan Albert
12810d6d61 am 1e46158e: am f6b95993: am 430d5f93: Merge "Add locale aware APIs."
* commit '1e46158e64f2b90be1ea7fdc569472be297d151c':
2014-07-14 19:09:53 +00:00
Elliott Hughes
df17c1f20b am 67ee7b9d: am 94560b5b: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit '67ee7b9d985255db87c6b7b046d06079baa63148':
2014-07-14 19:09:53 +00:00
Elliott Hughes
26734a7dd7 am c346c606: am 8d11fb18: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit 'c346c606e95d5ec724ea5efc1124ff348ad86025':
2014-07-14 19:09:52 +00:00
Elliott Hughes
602492a682 am 53641001: am 986fb565: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit '536410018a4966333350b330030791b546785296':
2014-07-14 19:09:51 +00:00
Ying Wang
af47a46d38 am 4fae7675: am 6ee2f321: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit '4fae7675103463a8322a04da707ba1f2d90ca9bb':
2014-07-14 19:09:50 +00:00
Dmitriy Ivanov
3dd6e3d880 am e245060c: am ab164750: am 3c12ae56: Merge "Add test for constructor function."
* commit 'e245060c6d1d0ed4a45909b50fe6bd04de068aa3':
2014-07-14 19:09:50 +00:00
Dmitriy Ivanov
065abed9a5 am 30e596e9: am ca673e73: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '30e596e9ead5bd7cfd9599b0e3d5e8bd4f6c1353':
2014-07-14 19:09:49 +00:00
Elliott Hughes
0ec257dc20 am a3eead96: am 7e43f0d4: resolved conflicts for merge of aedc14b1 to lmp-dev
* commit 'a3eead96b9f1000d403541dad0f086c3b175900a':
2014-07-14 19:09:48 +00:00
Calin Juravle
37eca3d325 am 3b0f3112: am f11e7c74: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '3b0f3112d0fed5cf30e2ad3fc6500810b760b35d':
2014-07-14 19:09:48 +00:00
Calin Juravle
b94d029403 am e8ce76c2: am 1d63dd90: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'e8ce76c26e0bae90b50ece7f8fa3d3f2fefc2476':
2014-07-14 19:09:47 +00:00
Christopher Ferris
c743b18961 am 0f8d5a06: am c04e73a6: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit '0f8d5a0664f6b21e4ebde63aa76ee2518bae9114':
2014-07-14 19:09:46 +00:00
Elliott Hughes
5252514d65 am 05916dda: am cf53885b: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '05916dda8a9a48ce491ea33b9d196741125fe957':
2014-07-14 19:09:45 +00:00
Elliott Hughes
e4a1004d87 am 42775b51: am feccec68: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit '42775b512fa6f39a93c130513f1c44cebfdb9c8c':
2014-07-14 19:09:45 +00:00
Dan Albert
5b41373d49 am 293006c9: am 418fdef2: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '293006c91b22105419e446268dee3b9b6d6e7dac':
2014-07-14 19:09:44 +00:00
Dan Albert
a0ce997e1b am 16dd7fd5: am 43e79dab: am 430d5f93: Merge "Add locale aware APIs."
* commit '16dd7fd5d293ad1fa5d812743cbbbddad20055ae':
2014-07-14 19:09:43 +00:00
Elliott Hughes
6c804ab1ea am e2bcc8bb: am 748d8708: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit 'e2bcc8bbe5b426e627395e88bb1748a3f33ccd98':
2014-07-14 19:09:43 +00:00
Elliott Hughes
7ad8adbe51 am 48ad92a4: am 742fce7b: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '48ad92a4b1e3d7a3611eba3bc067989a138802b4':
2014-07-14 19:09:42 +00:00
Elliott Hughes
f7fe077902 am dc0b68e5: am b9d95b5d: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit 'dc0b68e5ee7f730adf2864c9c16a38b7ab8c8432':
2014-07-14 19:09:42 +00:00
Ying Wang
de78c2c451 am 76171b2d: am 02406f68: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit '76171b2d583ee21c1292f402f109e800120f9907':
2014-07-14 19:09:41 +00:00
Dmitriy Ivanov
994faff209 am 4e37e7b1: am b9247ada: am 3c12ae56: Merge "Add test for constructor function."
* commit '4e37e7b1e89c3c9f734a3593838b6ba9b0e0e855':
2014-07-14 19:09:40 +00:00
Dmitriy Ivanov
49b590136a am 4c632335: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '4c632335112a9cedee8bb09be7ca56b132ef21ee':
2014-07-14 19:09:40 +00:00
Elliott Hughes
f40424d38f am ddf9066e: resolved conflicts for merge of aedc14b1 to master
* commit 'ddf9066e2e850a1e0dc936a731994ec831581807':
2014-07-14 19:09:39 +00:00
Elliott Hughes
673bff01ae Merge "Implement rand/srand in terms of random/srandom." 2014-07-14 17:20:33 +00:00
Elliott Hughes
76c241b091 Implement rand/srand in terms of random/srandom.
Code developed for glibc or older versions of bionic might expect more
randomness than the BSD implementation provides.

Bug: 15829381
Change-Id: Ia5a908a816e0a5f0639f514107a6384a51ec157e
2014-07-14 12:02:22 -07:00
Dmitriy Ivanov
91f2074e5f Merge "Upstream atexit" 2014-07-14 17:20:33 +00:00
Dmitriy Ivanov
53c3c271dc Upstream atexit
Change-Id: Ia454a2181b5058ed9783dc02b6b1805d0e4d2715
2014-07-14 12:05:16 -07:00
Elliott Hughes
4ae938698c Merge "Sync upstream-openbsd." 2014-07-14 17:15:23 +00:00
Elliott Hughes
4f0b67a8db Sync upstream-openbsd.
Change-Id: I5b9961a57e2ff05f63bd218c130bf8347850b9be
2014-07-14 11:22:59 -07:00
Elliott Hughes
ee3608f9d3 Merge "Fix visibility for a bunch more symbols." 2014-07-14 17:01:21 +00:00
Elliott Hughes
a167eef548 Fix visibility for a bunch more symbols.
Bug: 11156955
Bug: 15291317
Change-Id: I664f25cce7c17085a101d6593d8e01525a1f6a90
2014-07-14 15:13:30 -07:00
1650 changed files with 313072 additions and 53208 deletions

View File

@@ -1,12 +0,0 @@
KNOWN ABI BUGS
--------------
time_t is 32-bit. http://b/5819737
off_t is 32-bit. There is off64_t, but no _FILE_OFFSET_BITS support.
sigset_t is too small on ARM and x86 (but correct on MIPS), so support
for real-time signals is broken. http://b/5828899
atexit(3) handlers registered by a shared library aren't called on
dlclose(3); this only affects ARM. http://b/4998315

2
CPPLINT.cfg Normal file
View File

@@ -0,0 +1,2 @@
set noparent
filter=-build/header_guard,-runtime/int,-readability/function

View File

@@ -4,40 +4,52 @@ Working on bionic
What are the big pieces of bionic?
----------------------------------
libc/ --- libc.so, libc.a
The C library. Stuff like fopen(3) and kill(2).
libm/ --- libm.so, libm.a
The math library. Traditionally Unix systems kept stuff like sin(3) and
cos(3) in a separate library to save space in the days before shared
libraries.
libdl/ --- libdl.so
The dynamic linker interface library. This is actually just a bunch of
stubs that the dynamic linker replaces with pointers to its own
implementation at runtime. This is where stuff like dlopen(3) lives.
libstdc++/ --- libstdc++.so
The C++ ABI support functions. The C++ compiler doesn't know how to
implement thread-safe static initialization and the like, so it just calls
functions that are supplied by the system. Stuff like __cxa_guard_acquire
and __cxa_pure_virtual live here.
#### libc/ --- libc.so, libc.a
linker/ --- /system/bin/linker and /system/bin/linker64
The dynamic linker. When you run a dynamically-linked executable, its ELF
file has a DT_INTERP entry that says "use the following program to start me".
On Android, that's either linker or linker64 (depending on whether it's a
32-bit or 64-bit executable). It's responsible for loading the ELF executable
into memory and resolving references to symbols (so that when your code tries
to jump to fopen(3), say, it lands in the right place).
The C library. Stuff like `fopen(3)` and `kill(2)`.
tests/ --- unit tests
The tests/ directory contains unit tests. Roughly arranged as one file per
publicly-exported header file.
benchmarks/ --- benchmarks
The benchmarks/ directory contains benchmarks.
#### libm/ --- libm.so, libm.a
The math library. Traditionally Unix systems kept stuff like `sin(3)` and
`cos(3)` in a separate library to save space in the days before shared
libraries.
#### libdl/ --- libdl.so
The dynamic linker interface library. This is actually just a bunch of stubs
that the dynamic linker replaces with pointers to its own implementation at
runtime. This is where stuff like `dlopen(3)` lives.
#### libstdc++/ --- libstdc++.so
The C++ ABI support functions. The C++ compiler doesn't know how to implement
thread-safe static initialization and the like, so it just calls functions that
are supplied by the system. Stuff like `__cxa_guard_acquire` and
`__cxa_pure_virtual` live here.
#### linker/ --- /system/bin/linker and /system/bin/linker64
The dynamic linker. When you run a dynamically-linked executable, its ELF file
has a `DT_INTERP` entry that says "use the following program to start me". On
Android, that's either `linker` or `linker64` (depending on whether it's a
32-bit or 64-bit executable). It's responsible for loading the ELF executable
into memory and resolving references to symbols (so that when your code tries to
jump to `fopen(3)`, say, it lands in the right place).
#### tests/ --- unit tests
The `tests/` directory contains unit tests. Roughly arranged as one file per
publicly-exported header file.
#### benchmarks/ --- benchmarks
The `benchmarks/` directory contains benchmarks.
What's in libc/?
----------------
<pre>
libc/
arch-arm/
arch-arm64/
@@ -121,6 +133,7 @@ libc/
zoneinfo/
# Android-format time zone data.
# See 'Updating tzdata' later.
</pre>
Adding system calls
@@ -160,3 +173,101 @@ This is fully automated:
1. Run update-tzdata.py.
Verifying changes
-----------------
If you make a change that is likely to have a wide effect on the tree (such as a
libc header change), you should run `make checkbuild`. A regular `make` will
_not_ build the entire tree; just the minimum number of projects that are
required for the device. Tests, additional developer tools, and various other
modules will not be built. Note that `make checkbuild` will not be complete
either, as `make tests` covers a few additional modules, but generally speaking
`make checkbuild` is enough.
Running the tests
-----------------
The tests are all built from the tests/ directory.
### Device tests
$ mma
$ adb sync
$ adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests32
$ adb shell \
/data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static32
# Only for 64-bit targets
$ adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests64
$ adb shell \
/data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static64
### Host tests
The host tests require that you have `lunch`ed either an x86 or x86_64 target.
$ mma
$ mm bionic-unit-tests-run-on-host32
$ mm bionic-unit-tests-run-on-host64 # For 64-bit *targets* only.
### Against glibc
As a way to check that our tests do in fact test the correct behavior (and not
just the behavior we think is correct), it is possible to run the tests against
the host's glibc. The executables are already in your path.
$ mma
$ bionic-unit-tests-glibc32
$ bionic-unit-tests-glibc64
Gathering test coverage
-----------------------
For either host or target coverage, you must first:
* `$ export NATIVE_COVERAGE=true`
* Note that the build system is ignorant to this flag being toggled, i.e. if
you change this flag, you will have to manually rebuild bionic.
* Set `bionic_coverage=true` in `libc/Android.mk` and `libm/Android.mk`.
### Coverage from device tests
$ mma
$ adb sync
$ adb shell \
GCOV_PREFIX=/data/local/tmp/gcov \
GCOV_PREFIX_STRIP=`echo $ANDROID_BUILD_TOP | grep -o / | wc -l` \
/data/nativetest/bionic-unit-tests/bionic-unit-tests32
$ acov
`acov` will pull all coverage information from the device, push it to the right
directories, run `lcov`, and open the coverage report in your browser.
### Coverage from host tests
First, build and run the host tests as usual (see above).
$ croot
$ lcov -c -d $ANDROID_PRODUCT_OUT -o coverage.info
$ genhtml -o covreport coverage.info # or lcov --list coverage.info
The coverage report is now available at `covreport/index.html`.
LP32 ABI bugs
-------------
This probably belongs in the NDK documentation rather than here, but these
are the known ABI bugs in LP32:
* `time_t` is 32-bit. <http://b/5819737>
* `off_t` is 32-bit. There is `off64_t`, but no `_FILE_OFFSET_BITS` support.
Many of the `off64_t` functions are missing in older releases, and
stdio uses 32-bit offsets, so there's no way to fully implement
`_FILE_OFFSET_BITS`.
* `sigset_t` is too small on ARM and x86 (but correct on MIPS), so support
for real-time signals is broken. <http://b/5828899>

View File

@@ -14,23 +14,56 @@
# limitations under the License.
#
ifneq ($(BUILD_TINY_ANDROID), true)
LOCAL_PATH := $(call my-dir)
# -----------------------------------------------------------------------------
# Benchmarks library, usable by projects outside this directory.
# -----------------------------------------------------------------------------
benchmark_cflags := \
-O2 \
-fno-builtin \
-Wall \
-Wextra \
-Werror \
-Wunused \
benchmark_cppflags := \
-std=gnu++11 \
benchmarklib_src_files := \
Benchmark.cpp \
utils.cpp \
main.cpp \
include $(CLEAR_VARS)
LOCAL_MODULE := libbenchmark
LOCAL_CFLAGS := $(benchmark_cflags)
LOCAL_CPPFLAGS := $(benchmark_cppflags)
LOCAL_SRC_FILES := $(benchmarklib_src_files)
LOCAL_C_INCLUDES := $(benchmark_c_includes)
LOCAL_STATIC_LIBRARIES := libbase
include $(BUILD_STATIC_LIBRARY)
# Only supported on linux systems.
ifeq ($(HOST_OS),linux)
include $(CLEAR_VARS)
LOCAL_MODULE := libbenchmark
LOCAL_CFLAGS := $(benchmark_cflags)
LOCAL_CPPFLAGS := $(benchmark_cppflags)
LOCAL_SRC_FILES := $(benchmarklib_src_files)
LOCAL_C_INCLUDES := $(benchmark_c_includes)
LOCAL_MULTILIB := both
LOCAL_STATIC_LIBRARIES := libbase
include $(BUILD_HOST_STATIC_LIBRARY)
endif
# -----------------------------------------------------------------------------
# Benchmarks.
# -----------------------------------------------------------------------------
benchmark_c_flags = \
-O2 \
-Wall -Wextra -Wunused \
-Werror \
-fno-builtin \
-std=gnu++11 \
benchmark_src_files = \
benchmark_main.cpp \
benchmark_src_files := \
math_benchmark.cpp \
property_benchmark.cpp \
pthread_benchmark.cpp \
@@ -41,40 +74,58 @@ benchmark_src_files = \
unistd_benchmark.cpp \
# Build benchmarks for the device (with bionic's .so). Run with:
# adb shell bionic-benchmarks
# adb shell bionic-benchmarks32
# adb shell bionic-benchmarks64
include $(CLEAR_VARS)
LOCAL_MODULE := bionic-benchmarks
LOCAL_MODULE_STEM_32 := bionic-benchmarks32
LOCAL_MODULE_STEM_64 := bionic-benchmarks64
LOCAL_MULTILIB := both
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_CFLAGS += $(benchmark_c_flags)
LOCAL_C_INCLUDES += external/stlport/stlport bionic/ bionic/libstdc++/include
LOCAL_SHARED_LIBRARIES += libstlport
LOCAL_CFLAGS := $(benchmark_cflags)
LOCAL_CPPFLAGS := $(benchmark_cppflags)
LOCAL_SRC_FILES := $(benchmark_src_files)
LOCAL_STATIC_LIBRARIES := libbenchmark libbase
include $(BUILD_EXECUTABLE)
ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
ifeq ($(TARGET_ARCH),x86)
LINKER = linker
NATIVE_SUFFIX=32
else
LINKER = linker64
NATIVE_SUFFIX=64
# We don't build a static benchmark executable because it's not usually
# useful. If you're trying to run the current benchmarks on an older
# release, it's (so far at least) always because you want to measure the
# performance of the old release's libc, and a static benchmark isn't
# going to let you do that.
# Only supported on linux systems.
ifeq ($(HOST_OS),linux)
# Build benchmarks for the host (against glibc!). Run with:
include $(CLEAR_VARS)
LOCAL_MODULE := bionic-benchmarks-glibc
LOCAL_MODULE_STEM_32 := bionic-benchmarks-glibc32
LOCAL_MODULE_STEM_64 := bionic-benchmarks-glibc64
LOCAL_MULTILIB := both
LOCAL_CFLAGS := $(benchmark_cflags)
LOCAL_CPPFLAGS := $(benchmark_cppflags)
LOCAL_LDFLAGS := -lrt
LOCAL_SRC_FILES := $(benchmark_src_files)
LOCAL_STATIC_LIBRARIES := libbenchmark libbase
include $(BUILD_HOST_EXECUTABLE)
endif
bionic-benchmarks-run-on-host: bionic-benchmarks $(TARGET_OUT_EXECUTABLES)/$(LINKER) $(TARGET_OUT_EXECUTABLES)/sh
if [ ! -d /system -o ! -d /system/bin ]; then \
echo "Attempting to create /system/bin"; \
sudo mkdir -p -m 0777 /system/bin; \
fi
mkdir -p $(TARGET_OUT_DATA)/local/tmp
cp $(TARGET_OUT_EXECUTABLES)/$(LINKER) /system/bin
cp $(TARGET_OUT_EXECUTABLES)/sh /system/bin
ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
include $(LOCAL_PATH)/../build/run-on-host.mk
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
bionic-benchmarks-run-on-host32: bionic-benchmarks bionic-prepare-run-on-host
ANDROID_DATA=$(TARGET_OUT_DATA) \
ANDROID_ROOT=$(TARGET_OUT) \
LD_LIBRARY_PATH=$(TARGET_OUT_SHARED_LIBRARIES) \
$(TARGET_OUT_EXECUTABLES)/bionic-benchmarks$(NATIVE_SUFFIX) $(BIONIC_BENCHMARKS_FLAGS)
endif # linux-x86
$(TARGET_OUT_EXECUTABLES)/bionic-benchmarks32 $(BIONIC_BENCHMARKS_FLAGS)
endif
endif # !BUILD_TINY_ANDROID
ifeq ($(TARGET_IS_64_BIT),true)
bionic-benchmarks-run-on-host64: bionic-benchmarks bionic-prepare-run-on-host
ANDROID_DATA=$(TARGET_OUT_DATA) \
ANDROID_ROOT=$(TARGET_OUT) \
$(TARGET_OUT_EXECUTABLES)/bionic-benchmarks64 $(BIONIC_BENCHMARKS_FLAGS)
endif
endif

159
benchmarks/Benchmark.cpp Normal file
View File

@@ -0,0 +1,159 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <inttypes.h>
#include <regex.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
#include <string>
#include <vector>
#include <base/stringprintf.h>
#include <benchmark/Benchmark.h>
#include "utils.h"
namespace testing {
static uint64_t NanoTime() {
struct timespec t;
t.tv_sec = t.tv_nsec = 0;
clock_gettime(CLOCK_MONOTONIC, &t);
return static_cast<uint64_t>(t.tv_sec) * 1000000000LL + t.tv_nsec;
}
bool Benchmark::header_printed_;
std::vector<Benchmark*>& Benchmark::List() {
static std::vector<Benchmark*> list;
return list;
}
int Benchmark::MaxNameColumnWidth() {
size_t max = 20;
for (auto& benchmark : List()) {
max = std::max(max, benchmark->NameColumnWidth());
}
return static_cast<int>(max);
}
size_t Benchmark::RunAll(std::vector<regex_t*>& regs) {
size_t benchmarks_run = 0;
header_printed_ = false;
for (auto& benchmark : List()) {
benchmarks_run += benchmark->RunAllArgs(regs);
}
return benchmarks_run;
}
void Benchmark::PrintHeader() {
if (!header_printed_) {
printf("%-*s %10s %10s\n", MaxNameColumnWidth(), "", "iterations", "ns/op");
header_printed_ = true;
}
}
template <typename T>
bool BenchmarkT<T>::ShouldRun(std::vector<regex_t*>& regs, T arg) {
if (regs.empty()) {
return true;
}
for (const auto& re : regs) {
if (regexec(re, GetNameStr(arg).c_str(), 0, NULL, 0) != REG_NOMATCH) {
return true;
}
}
return false;
}
void Benchmark::StopBenchmarkTiming() {
if (start_time_ns_ != 0) {
total_time_ns_ += NanoTime() - start_time_ns_;
}
start_time_ns_ = 0;
}
void Benchmark::StartBenchmarkTiming() {
if (start_time_ns_ == 0) {
start_time_ns_ = NanoTime();
}
}
std::string BenchmarkWithoutArg::GetNameStr(void*) {
return Name();
}
template <>
std::string BenchmarkWithArg<int>::GetNameStr(int arg) {
return Name() + "/" + PrettyInt(arg, 2);
}
template <>
std::string BenchmarkWithArg<double>::GetNameStr(double arg) {
return Name() + "/" + android::base::StringPrintf("%0.6f", arg);
}
template<typename T>
void BenchmarkT<T>::RunWithArg(T arg) {
int new_iterations = 1;
int iterations;
while (new_iterations < 1e8) {
bytes_processed_ = 0;
total_time_ns_ = 0;
start_time_ns_ = 0;
iterations = new_iterations;
RunIterations(iterations, arg);
if (total_time_ns_ >= 1e9) {
break;
}
if (total_time_ns_/iterations == 0) {
new_iterations = 1e9;
} else {
new_iterations = 1e9/ (total_time_ns_/iterations);
}
new_iterations = std::max(iterations + 1,
std::min(new_iterations + new_iterations/2, 100*iterations));
new_iterations = Round(new_iterations);
}
printf("%-*s %10s %10" PRId64, MaxNameColumnWidth(), GetNameStr(arg).c_str(),
PrettyInt(iterations, 10).c_str(), total_time_ns_/iterations);
if (total_time_ns_ > 0 && bytes_processed_ > 0) {
double gib_processed = static_cast<double>(bytes_processed_)/1e9;
double seconds = static_cast<double>(total_time_ns_)/1e9;
printf(" %8.3f GiB/s", gib_processed/seconds);
}
printf("\n");
fflush(stdout);
}
template class BenchmarkT<int>;
template class BenchmarkT<double>;
template class BenchmarkT<void*>;
template class BenchmarkWithArg<int>;
template class BenchmarkWithArg<double>;
} // namespace testing

View File

@@ -1,61 +0,0 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdint.h>
#include <vector>
namespace testing {
class Benchmark {
public:
Benchmark(const char* name, void (*fn)(int)) {
Register(name, fn, NULL);
}
Benchmark(const char* name, void (*fn_range)(int, int)) {
Register(name, NULL, fn_range);
}
Benchmark* Arg(int x);
const char* Name();
bool ShouldRun(int argc, char* argv[]);
void Run();
private:
const char* name_;
void (*fn_)(int);
void (*fn_range_)(int, int);
std::vector<int> args_;
void Register(const char* name, void (*fn)(int), void (*fn_range)(int, int));
void RunRepeatedlyWithArg(int iterations, int arg);
void RunWithArg(int arg);
};
} // namespace testing
void SetBenchmarkBytesProcessed(int64_t);
void StopBenchmarkTiming();
void StartBenchmarkTiming();
#define BENCHMARK(f) \
static ::testing::Benchmark* _benchmark_##f __attribute__((unused)) = \
(new ::testing::Benchmark(#f, f))

View File

@@ -0,0 +1,169 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef BENCHMARKS_BENCHMARK_H_
#define BENCHMARKS_BENCHMARK_H_
#include <regex.h>
#include <stdint.h>
#include <string>
#include <vector>
namespace testing {
class Benchmark {
public:
Benchmark() {
List().push_back(this);
}
virtual ~Benchmark() {}
virtual std::string Name() = 0;
virtual size_t RunAllArgs(std::vector<regex_t*>&) = 0;
void SetBenchmarkBytesProcessed(uint64_t bytes) { bytes_processed_ += bytes; }
void StopBenchmarkTiming();
void StartBenchmarkTiming();
// Run all of the benchmarks that have registered.
static size_t RunAll(std::vector<regex_t*>&);
static std::vector<Benchmark*>& List();
static int MaxNameColumnWidth();
protected:
virtual size_t NameColumnWidth() = 0;
uint64_t bytes_processed_;
uint64_t total_time_ns_;
uint64_t start_time_ns_;
static bool header_printed_;
static void PrintHeader();
};
template <typename T>
class BenchmarkT : public Benchmark {
public:
BenchmarkT() {}
virtual ~BenchmarkT() {}
protected:
bool ShouldRun(std::vector<regex_t*>&, T arg);
void RunWithArg(T arg);
virtual void RunIterations(int, T) = 0;
virtual std::string GetNameStr(T) = 0;
};
class BenchmarkWithoutArg : public BenchmarkT<void*> {
public:
BenchmarkWithoutArg() {}
virtual ~BenchmarkWithoutArg() {}
protected:
virtual size_t RunAllArgs(std::vector<regex_t*>& regs) override {
size_t benchmarks_run = 0;
if (BenchmarkT<void*>::ShouldRun(regs, nullptr)) {
PrintHeader();
RunWithArg(nullptr);
benchmarks_run++;
}
return benchmarks_run;
}
virtual void RunIterations(int iters, void*) override {
Run(iters);
}
virtual void Run(int) = 0;
virtual size_t NameColumnWidth() override {
return Name().size();
}
virtual std::string GetNameStr(void *) override;
};
template<typename T>
class BenchmarkWithArg : public BenchmarkT<T> {
public:
BenchmarkWithArg() {}
virtual ~BenchmarkWithArg() {}
BenchmarkWithArg* Arg(T arg) {
args_.push_back(arg);
return this;
}
protected:
virtual size_t NameColumnWidth() override {
size_t max = 0;
for (const auto& arg : args_) {
max = std::max(max, GetNameStr(arg).size());
}
return max;
}
std::string GetNameStr(T arg) override;
virtual size_t RunAllArgs(std::vector<regex_t*>& regs) override {
size_t benchmarks_run = 0;
for (T& arg : args_) {
if (BenchmarkT<T>::ShouldRun(regs, arg)) {
Benchmark::PrintHeader();
BenchmarkT<T>::RunWithArg(arg);
benchmarks_run++;
}
}
return benchmarks_run;
}
virtual void RunIterations(int iters, T arg) override {
Run(iters, arg);
}
virtual void Run(int iters, T arg) = 0;
private:
std::vector<T> args_;
};
} // namespace testing
#define BENCHMARK_START(f, super_class) \
class f : public super_class { \
public: \
f() {} \
virtual ~f() {} \
virtual std::string Name() override { return #f; } \
#define BENCHMARK_NO_ARG(f) \
BENCHMARK_START(f, ::testing::BenchmarkWithoutArg) \
virtual void Run(int) override; \
}; \
static ::testing::Benchmark* __benchmark_##f = new f()
#define BENCHMARK_WITH_ARG(f, arg_type) \
BENCHMARK_START(f, ::testing::BenchmarkWithArg<arg_type>) \
virtual void Run(int, arg_type) override; \
}; \
static ::testing::BenchmarkWithArg<arg_type>* __benchmark_##f = (new f())
#endif // BENCHMARKS_BENCHMARK_H_

View File

@@ -1,226 +0,0 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "benchmark.h"
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <map>
#include <inttypes.h>
static int64_t g_bytes_processed;
static int64_t g_benchmark_total_time_ns;
static int64_t g_benchmark_start_time_ns;
typedef std::map<std::string, ::testing::Benchmark*> BenchmarkMap;
typedef BenchmarkMap::iterator BenchmarkMapIt;
static BenchmarkMap g_benchmarks;
static int g_name_column_width = 20;
static int Round(int n) {
int base = 1;
while (base*10 < n) {
base *= 10;
}
if (n < 2*base) {
return 2*base;
}
if (n < 5*base) {
return 5*base;
}
return 10*base;
}
static int64_t NanoTime() {
struct timespec t;
t.tv_sec = t.tv_nsec = 0;
clock_gettime(CLOCK_MONOTONIC, &t);
return static_cast<int64_t>(t.tv_sec) * 1000000000LL + t.tv_nsec;
}
namespace testing {
Benchmark* Benchmark::Arg(int arg) {
args_.push_back(arg);
return this;
}
const char* Benchmark::Name() {
return name_;
}
bool Benchmark::ShouldRun(int argc, char* argv[]) {
if (argc == 1) {
return true; // With no arguments, we run all benchmarks.
}
// Otherwise, we interpret each argument as a regular expression and
// see if any of our benchmarks match.
for (int i = 1; i < argc; i++) {
regex_t re;
if (regcomp(&re, argv[i], 0) != 0) {
fprintf(stderr, "couldn't compile \"%s\" as a regular expression!\n", argv[i]);
exit(EXIT_FAILURE);
}
int match = regexec(&re, name_, 0, NULL, 0);
regfree(&re);
if (match != REG_NOMATCH) {
return true;
}
}
return false;
}
void Benchmark::Register(const char* name, void (*fn)(int), void (*fn_range)(int, int)) {
name_ = name;
fn_ = fn;
fn_range_ = fn_range;
if (fn_ == NULL && fn_range_ == NULL) {
fprintf(stderr, "%s: missing function\n", name_);
exit(EXIT_FAILURE);
}
g_benchmarks.insert(std::make_pair(name, this));
}
void Benchmark::Run() {
if (fn_ != NULL) {
RunWithArg(0);
} else {
if (args_.empty()) {
fprintf(stderr, "%s: no args!\n", name_);
exit(EXIT_FAILURE);
}
for (size_t i = 0; i < args_.size(); ++i) {
RunWithArg(args_[i]);
}
}
}
void Benchmark::RunRepeatedlyWithArg(int iterations, int arg) {
g_bytes_processed = 0;
g_benchmark_total_time_ns = 0;
g_benchmark_start_time_ns = NanoTime();
if (fn_ != NULL) {
fn_(iterations);
} else {
fn_range_(iterations, arg);
}
if (g_benchmark_start_time_ns != 0) {
g_benchmark_total_time_ns += NanoTime() - g_benchmark_start_time_ns;
}
}
void Benchmark::RunWithArg(int arg) {
// run once in case it's expensive
int iterations = 1;
RunRepeatedlyWithArg(iterations, arg);
while (g_benchmark_total_time_ns < 1e9 && iterations < 1e9) {
int last = iterations;
if (g_benchmark_total_time_ns/iterations == 0) {
iterations = 1e9;
} else {
iterations = 1e9 / (g_benchmark_total_time_ns/iterations);
}
iterations = std::max(last + 1, std::min(iterations + iterations/2, 100*last));
iterations = Round(iterations);
RunRepeatedlyWithArg(iterations, arg);
}
char throughput[100];
throughput[0] = '\0';
if (g_benchmark_total_time_ns > 0 && g_bytes_processed > 0) {
double mib_processed = static_cast<double>(g_bytes_processed)/1e6;
double seconds = static_cast<double>(g_benchmark_total_time_ns)/1e9;
snprintf(throughput, sizeof(throughput), " %8.2f MiB/s", mib_processed/seconds);
}
char full_name[100];
if (fn_range_ != NULL) {
if (arg >= (1<<20)) {
snprintf(full_name, sizeof(full_name), "%s/%dM", name_, arg/(1<<20));
} else if (arg >= (1<<10)) {
snprintf(full_name, sizeof(full_name), "%s/%dK", name_, arg/(1<<10));
} else {
snprintf(full_name, sizeof(full_name), "%s/%d", name_, arg);
}
} else {
snprintf(full_name, sizeof(full_name), "%s", name_);
}
printf("%-*s %10d %10" PRId64 "%s\n", g_name_column_width, full_name,
iterations, g_benchmark_total_time_ns/iterations, throughput);
fflush(stdout);
}
} // namespace testing
void SetBenchmarkBytesProcessed(int64_t x) {
g_bytes_processed = x;
}
void StopBenchmarkTiming() {
if (g_benchmark_start_time_ns != 0) {
g_benchmark_total_time_ns += NanoTime() - g_benchmark_start_time_ns;
}
g_benchmark_start_time_ns = 0;
}
void StartBenchmarkTiming() {
if (g_benchmark_start_time_ns == 0) {
g_benchmark_start_time_ns = NanoTime();
}
}
int main(int argc, char* argv[]) {
if (g_benchmarks.empty()) {
fprintf(stderr, "No benchmarks registered!\n");
exit(EXIT_FAILURE);
}
for (BenchmarkMapIt it = g_benchmarks.begin(); it != g_benchmarks.end(); ++it) {
int name_width = static_cast<int>(strlen(it->second->Name()));
g_name_column_width = std::max(g_name_column_width, name_width);
}
bool need_header = true;
for (BenchmarkMapIt it = g_benchmarks.begin(); it != g_benchmarks.end(); ++it) {
::testing::Benchmark* b = it->second;
if (b->ShouldRun(argc, argv)) {
if (need_header) {
printf("%-*s %10s %10s\n", g_name_column_width, "", "iterations", "ns/op");
fflush(stdout);
need_header = false;
}
b->Run();
}
}
if (need_header) {
fprintf(stderr, "No matching benchmarks!\n");
fprintf(stderr, "Available benchmarks:\n");
for (BenchmarkMapIt it = g_benchmarks.begin(); it != g_benchmarks.end(); ++it) {
fprintf(stderr, " %s\n", it->second->Name());
}
exit(EXIT_FAILURE);
}
return 0;
}

61
benchmarks/main.cpp Normal file
View File

@@ -0,0 +1,61 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <benchmark/Benchmark.h>
int main(int argc, char* argv[]) {
if (::testing::Benchmark::List().empty()) {
fprintf(stderr, "No benchmarks registered!\n");
exit(EXIT_FAILURE);
}
std::vector<regex_t*> regs;
for (int i = 1; i < argc; i++) {
regex_t* re = new regex_t;
int errcode = regcomp(re, argv[i], 0);
if (errcode != 0) {
size_t errbuf_size = regerror(errcode, re, NULL, 0);
if (errbuf_size > 0) {
char* errbuf = new char[errbuf_size];
regerror(errcode, re, errbuf, errbuf_size);
fprintf(stderr, "Couldn't compile \"%s\" as a regular expression: %s\n",
argv[i], errbuf);
} else {
fprintf(stderr, "Unknown compile error for \"%s\" as a regular expression!\n", argv[i]);
}
exit(EXIT_FAILURE);
}
regs.push_back(re);
}
if (::testing::Benchmark::RunAll(regs) == 0) {
fprintf(stderr, "No matching benchmarks!\n");
fprintf(stderr, "Available benchmarks:\n");
for (const auto& benchmark : ::testing::Benchmark::List()) {
fprintf(stderr, " %s\n", benchmark->Name().c_str());
}
exit(EXIT_FAILURE);
}
return 0;
}

View File

@@ -14,16 +14,20 @@
* limitations under the License.
*/
#include "benchmark.h"
#include <fenv.h>
#include <math.h>
// Avoid optimization.
double d;
double v;
#include <benchmark/Benchmark.h>
static void BM_math_sqrt(int iters) {
#define AT_COMMON_VALS \
Arg(1234.0)->Arg(nan(""))->Arg(HUGE_VAL)->Arg(0.0)
// Avoid optimization.
volatile double d;
volatile double v;
BENCHMARK_NO_ARG(BM_math_sqrt);
void BM_math_sqrt::Run(int iters) {
StartBenchmarkTiming();
d = 0.0;
@@ -34,9 +38,9 @@ static void BM_math_sqrt(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_math_sqrt);
static void BM_math_log10(int iters) {
BENCHMARK_NO_ARG(BM_math_log10);
void BM_math_log10::Run(int iters) {
StartBenchmarkTiming();
d = 0.0;
@@ -47,9 +51,9 @@ static void BM_math_log10(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_math_log10);
static void BM_math_logb(int iters) {
BENCHMARK_NO_ARG(BM_math_logb);
void BM_math_logb::Run(int iters) {
StartBenchmarkTiming();
d = 0.0;
@@ -60,61 +64,22 @@ static void BM_math_logb(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_math_logb);
static void BM_math_isinf_NORMAL(int iters) {
BENCHMARK_WITH_ARG(BM_math_isinf, double)->AT_COMMON_VALS;
void BM_math_isinf::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = 1234.0; // FP_NORMAL
v = value;
for (int i = 0; i < iters; ++i) {
d += (isinf)(v);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_math_isinf_NORMAL);
static void BM_math_isinf_NAN(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = nan(""); // FP_NAN
for (int i = 0; i < iters; ++i) {
d += (isinf)(v);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_math_isinf_NAN);
static void BM_math_isinf_INFINITE(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = HUGE_VAL; // FP_INFINITE
for (int i = 0; i < iters; ++i) {
d += (isinf)(v);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_math_isinf_INFINITE);
static void BM_math_isinf_ZERO(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = 0.0; // FP_ZERO
for (int i = 0; i < iters; ++i) {
d += (isinf)(v);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_math_isinf_ZERO);
static void BM_math_sin_fast(int iters) {
BENCHMARK_NO_ARG(BM_math_sin_fast);
void BM_math_sin_fast::Run(int iters) {
StartBenchmarkTiming();
d = 1.0;
@@ -124,9 +89,9 @@ static void BM_math_sin_fast(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_math_sin_fast);
static void BM_math_sin_feupdateenv(int iters) {
BENCHMARK_NO_ARG(BM_math_sin_feupdateenv);
void BM_math_sin_feupdateenv::Run(int iters) {
StartBenchmarkTiming();
d = 1.0;
@@ -140,9 +105,9 @@ static void BM_math_sin_feupdateenv(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_math_sin_feupdateenv);
static void BM_math_sin_fesetenv(int iters) {
BENCHMARK_NO_ARG(BM_math_sin_fesetenv);
void BM_math_sin_fesetenv::Run(int iters) {
StartBenchmarkTiming();
d = 1.0;
@@ -156,56 +121,16 @@ static void BM_math_sin_fesetenv(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_math_sin_fesetenv);
static void BM_math_fpclassify_NORMAL(int iters) {
BENCHMARK_WITH_ARG(BM_math_fpclassify, double)->AT_COMMON_VALS;
void BM_math_fpclassify::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = 1234.0; // FP_NORMAL
v = value;
for (int i = 0; i < iters; ++i) {
d += fpclassify(v);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_math_fpclassify_NORMAL);
static void BM_math_fpclassify_NAN(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = nan(""); // FP_NAN
for (int i = 0; i < iters; ++i) {
d += fpclassify(v);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_math_fpclassify_NAN);
static void BM_math_fpclassify_INFINITE(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = HUGE_VAL; // FP_INFINITE
for (int i = 0; i < iters; ++i) {
d += fpclassify(v);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_math_fpclassify_INFINITE);
static void BM_math_fpclassify_ZERO(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = 0.0; // FP_ZERO
for (int i = 0; i < iters; ++i) {
d += fpclassify(v);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_math_fpclassify_ZERO);

View File

@@ -14,19 +14,21 @@
* limitations under the License.
*/
#include "benchmark.h"
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string>
#if defined(__BIONIC__)
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
#include <sys/_system_properties.h>
#include <vector>
#include <string>
#include <benchmark/Benchmark.h>
extern void *__system_property_area__;
extern void* __system_property_area__;
// Do not exceed 512, that is about the largest number of properties
// that can be created with the current property area size.
@@ -34,200 +36,198 @@ extern void *__system_property_area__;
Arg(1)->Arg(4)->Arg(16)->Arg(64)->Arg(128)->Arg(256)->Arg(512)
struct LocalPropertyTestState {
LocalPropertyTestState(int nprops) : nprops(nprops), valid(false) {
static const char prop_name_chars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.";
LocalPropertyTestState(int nprops) : nprops(nprops), valid(false) {
static const char prop_name_chars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.";
const char* android_data = getenv("ANDROID_DATA");
if (android_data == NULL) {
printf("ANDROID_DATA environment variable not set\n");
return;
}
char dir_template[PATH_MAX];
snprintf(dir_template, sizeof(dir_template), "%s/local/tmp/prop-XXXXXX", android_data);
char *dirname = mkdtemp(dir_template);
if (!dirname) {
printf("making temp file for test state failed (is %s/local/tmp writable?): %s\n",
android_data, strerror(errno));
return;
}
old_pa = __system_property_area__;
__system_property_area__ = NULL;
pa_dirname = dirname;
pa_filename = pa_dirname + "/__properties__";
__system_property_set_filename(pa_filename.c_str());
__system_property_area_init();
names = new char* [nprops];
name_lens = new int[nprops];
values = new char* [nprops];
value_lens = new int[nprops];
srandom(nprops);
for (int i = 0; i < nprops; i++) {
// Make sure the name has at least 10 characters to make
// it very unlikely to generate the same random name.
name_lens[i] = (random() % (PROP_NAME_MAX - 10)) + 10;
names[i] = new char[PROP_NAME_MAX + 1];
size_t prop_name_len = sizeof(prop_name_chars) - 1;
for (int j = 0; j < name_lens[i]; j++) {
if (j == 0 || names[i][j-1] == '.' || j == name_lens[i] - 1) {
// Certain values are not allowed:
// - Don't start name with '.'
// - Don't allow '.' to appear twice in a row
// - Don't allow the name to end with '.'
// This assumes that '.' is the last character in the
// array so that decrementing the length by one removes
// the value from the possible values.
prop_name_len--;
}
names[i][j] = prop_name_chars[random() % prop_name_len];
}
names[i][name_lens[i]] = 0;
// Make sure the value contains at least 1 character.
value_lens[i] = (random() % (PROP_VALUE_MAX - 1)) + 1;
values[i] = new char[PROP_VALUE_MAX];
for (int j = 0; j < value_lens[i]; j++) {
values[i][j] = prop_name_chars[random() % (sizeof(prop_name_chars) - 1)];
}
if (__system_property_add(names[i], name_lens[i], values[i], value_lens[i]) < 0) {
printf("Failed to add a property, terminating...\n");
printf("%s = %.*s\n", names[i], value_lens[i], values[i]);
exit(1);
}
}
valid = true;
const char* android_data = getenv("ANDROID_DATA");
if (android_data == NULL) {
printf("ANDROID_DATA environment variable not set\n");
return;
}
char dir_template[PATH_MAX];
snprintf(dir_template, sizeof(dir_template), "%s/local/tmp/prop-XXXXXX", android_data);
char* dirname = mkdtemp(dir_template);
if (!dirname) {
printf("making temp file for test state failed (is %s/local/tmp writable?): %s\n",
android_data, strerror(errno));
return;
}
~LocalPropertyTestState() {
if (!valid)
return;
old_pa = __system_property_area__;
__system_property_area__ = NULL;
__system_property_area__ = old_pa;
pa_dirname = dirname;
pa_filename = pa_dirname + "/__properties__";
__system_property_set_filename(PROP_FILENAME);
unlink(pa_filename.c_str());
rmdir(pa_dirname.c_str());
__system_property_set_filename(pa_filename.c_str());
__system_property_area_init();
for (int i = 0; i < nprops; i++) {
delete names[i];
delete values[i];
names = new char* [nprops];
name_lens = new int[nprops];
values = new char* [nprops];
value_lens = new int[nprops];
srandom(nprops);
for (int i = 0; i < nprops; i++) {
// Make sure the name has at least 10 characters to make
// it very unlikely to generate the same random name.
name_lens[i] = (random() % (PROP_NAME_MAX - 10)) + 10;
names[i] = new char[PROP_NAME_MAX + 1];
size_t prop_name_len = sizeof(prop_name_chars) - 1;
for (int j = 0; j < name_lens[i]; j++) {
if (j == 0 || names[i][j-1] == '.' || j == name_lens[i] - 1) {
// Certain values are not allowed:
// - Don't start name with '.'
// - Don't allow '.' to appear twice in a row
// - Don't allow the name to end with '.'
// This assumes that '.' is the last character in the
// array so that decrementing the length by one removes
// the value from the possible values.
prop_name_len--;
}
delete[] names;
delete[] name_lens;
delete[] values;
delete[] value_lens;
names[i][j] = prop_name_chars[random() % prop_name_len];
}
names[i][name_lens[i]] = 0;
// Make sure the value contains at least 1 character.
value_lens[i] = (random() % (PROP_VALUE_MAX - 1)) + 1;
values[i] = new char[PROP_VALUE_MAX];
for (int j = 0; j < value_lens[i]; j++) {
values[i][j] = prop_name_chars[random() % (sizeof(prop_name_chars) - 1)];
}
if (__system_property_add(names[i], name_lens[i], values[i], value_lens[i]) < 0) {
printf("Failed to add a property, terminating...\n");
printf("%s = %.*s\n", names[i], value_lens[i], values[i]);
exit(1);
}
}
valid = true;
}
~LocalPropertyTestState() {
if (!valid)
return;
__system_property_area__ = old_pa;
__system_property_set_filename(PROP_FILENAME);
unlink(pa_filename.c_str());
rmdir(pa_dirname.c_str());
for (int i = 0; i < nprops; i++) {
delete names[i];
delete values[i];
}
delete[] names;
delete[] name_lens;
delete[] values;
delete[] value_lens;
}
public:
const int nprops;
char **names;
int *name_lens;
char **values;
int *value_lens;
bool valid;
const int nprops;
char** names;
int* name_lens;
char** values;
int* value_lens;
bool valid;
private:
std::string pa_dirname;
std::string pa_filename;
void *old_pa;
std::string pa_dirname;
std::string pa_filename;
void* old_pa;
};
static void BM_property_get(int iters, int nprops)
{
StopBenchmarkTiming();
BENCHMARK_WITH_ARG(BM_property_get, int)->TEST_NUM_PROPS;
void BM_property_get::Run(int iters, int nprops) {
StopBenchmarkTiming();
LocalPropertyTestState pa(nprops);
char value[PROP_VALUE_MAX];
LocalPropertyTestState pa(nprops);
char value[PROP_VALUE_MAX];
if (!pa.valid)
return;
if (!pa.valid)
return;
srandom(iters * nprops);
srandom(iters * nprops);
StartBenchmarkTiming();
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_get(pa.names[random() % nprops], value);
}
StopBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_get(pa.names[random() % nprops], value);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_property_get)->TEST_NUM_PROPS;
static void BM_property_find(int iters, int nprops)
{
StopBenchmarkTiming();
BENCHMARK_WITH_ARG(BM_property_find, int)->TEST_NUM_PROPS;
void BM_property_find::Run(int iters, int nprops) {
StopBenchmarkTiming();
LocalPropertyTestState pa(nprops);
LocalPropertyTestState pa(nprops);
if (!pa.valid)
return;
if (!pa.valid)
return;
srandom(iters * nprops);
srandom(iters * nprops);
StartBenchmarkTiming();
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_find(pa.names[random() % nprops]);
}
StopBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_find(pa.names[random() % nprops]);
}
StopBenchmarkTiming();
}
BENCHMARK(BM_property_find)->TEST_NUM_PROPS;
static void BM_property_read(int iters, int nprops)
{
StopBenchmarkTiming();
BENCHMARK_WITH_ARG(BM_property_read, int)->TEST_NUM_PROPS;
void BM_property_read::Run(int iters, int nprops) {
StopBenchmarkTiming();
LocalPropertyTestState pa(nprops);
LocalPropertyTestState pa(nprops);
if (!pa.valid)
return;
if (!pa.valid)
return;
srandom(iters * nprops);
const prop_info** pinfo = new const prop_info*[iters];
char propvalue[PROP_VALUE_MAX];
srandom(iters * nprops);
const prop_info** pinfo = new const prop_info*[iters];
char propvalue[PROP_VALUE_MAX];
for (int i = 0; i < iters; i++) {
pinfo[i] = __system_property_find(pa.names[random() % nprops]);
}
for (int i = 0; i < iters; i++) {
pinfo[i] = __system_property_find(pa.names[random() % nprops]);
}
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_read(pinfo[i], 0, propvalue);
}
StopBenchmarkTiming();
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_read(pinfo[i], 0, propvalue);
}
StopBenchmarkTiming();
delete[] pinfo;
delete[] pinfo;
}
BENCHMARK(BM_property_read)->TEST_NUM_PROPS;
static void BM_property_serial(int iters, int nprops)
{
StopBenchmarkTiming();
BENCHMARK_WITH_ARG(BM_property_serial, int)->TEST_NUM_PROPS;
void BM_property_serial::Run(int iters, int nprops) {
StopBenchmarkTiming();
LocalPropertyTestState pa(nprops);
LocalPropertyTestState pa(nprops);
if (!pa.valid)
return;
if (!pa.valid)
return;
srandom(iters * nprops);
const prop_info** pinfo = new const prop_info*[iters];
srandom(iters * nprops);
const prop_info** pinfo = new const prop_info*[iters];
for (int i = 0; i < iters; i++) {
pinfo[i] = __system_property_find(pa.names[random() % nprops]);
}
for (int i = 0; i < iters; i++) {
pinfo[i] = __system_property_find(pa.names[random() % nprops]);
}
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_serial(pinfo[i]);
}
StopBenchmarkTiming();
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_serial(pinfo[i]);
}
StopBenchmarkTiming();
delete[] pinfo;
delete[] pinfo;
}
BENCHMARK(BM_property_serial)->TEST_NUM_PROPS;
#endif // __BIONIC__

View File

@@ -14,14 +14,15 @@
* limitations under the License.
*/
#include "benchmark.h"
#include <pthread.h>
#include <benchmark/Benchmark.h>
// Stop GCC optimizing out our pure function.
/* Must not be static! */ pthread_t (*pthread_self_fp)() = pthread_self;
static void BM_pthread_self(int iters) {
BENCHMARK_NO_ARG(BM_pthread_self);
void BM_pthread_self::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
@@ -30,9 +31,9 @@ static void BM_pthread_self(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_pthread_self);
static void BM_pthread_getspecific(int iters) {
BENCHMARK_NO_ARG(BM_pthread_getspecific);
void BM_pthread_getspecific::Run(int iters) {
StopBenchmarkTiming();
pthread_key_t key;
pthread_key_create(&key, NULL);
@@ -45,12 +46,27 @@ static void BM_pthread_getspecific(int iters) {
StopBenchmarkTiming();
pthread_key_delete(key);
}
BENCHMARK(BM_pthread_getspecific);
BENCHMARK_NO_ARG(BM_pthread_setspecific);
void BM_pthread_setspecific::Run(int iters) {
StopBenchmarkTiming();
pthread_key_t key;
pthread_key_create(&key, NULL);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_setspecific(key, NULL);
}
StopBenchmarkTiming();
pthread_key_delete(key);
}
static void DummyPthreadOnceInitFunction() {
}
static void BM_pthread_once(int iters) {
BENCHMARK_NO_ARG(BM_pthread_once);
void BM_pthread_once::Run(int iters) {
StopBenchmarkTiming();
pthread_once_t once = PTHREAD_ONCE_INIT;
pthread_once(&once, DummyPthreadOnceInitFunction);
@@ -62,9 +78,9 @@ static void BM_pthread_once(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_pthread_once);
static void BM_pthread_mutex_lock(int iters) {
BENCHMARK_NO_ARG(BM_pthread_mutex_lock);
void BM_pthread_mutex_lock::Run(int iters) {
StopBenchmarkTiming();
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
StartBenchmarkTiming();
@@ -76,11 +92,11 @@ static void BM_pthread_mutex_lock(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_pthread_mutex_lock);
static void BM_pthread_mutex_lock_ERRORCHECK(int iters) {
BENCHMARK_NO_ARG(BM_pthread_mutex_lock_ERRORCHECK);
void BM_pthread_mutex_lock_ERRORCHECK::Run(int iters) {
StopBenchmarkTiming();
pthread_mutex_t mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER;
pthread_mutex_t mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
@@ -90,11 +106,11 @@ static void BM_pthread_mutex_lock_ERRORCHECK(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_pthread_mutex_lock_ERRORCHECK);
static void BM_pthread_mutex_lock_RECURSIVE(int iters) {
BENCHMARK_NO_ARG(BM_pthread_mutex_lock_RECURSIVE);
void BM_pthread_mutex_lock_RECURSIVE::Run(int iters) {
StopBenchmarkTiming();
pthread_mutex_t mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER;
pthread_mutex_t mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
@@ -104,4 +120,114 @@ static void BM_pthread_mutex_lock_RECURSIVE(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_pthread_mutex_lock_RECURSIVE);
BENCHMARK_NO_ARG(BM_pthread_rwlock_read);
void BM_pthread_rwlock_read::Run(int iters) {
StopBenchmarkTiming();
pthread_rwlock_t lock;
pthread_rwlock_init(&lock, NULL);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_rwlock_rdlock(&lock);
pthread_rwlock_unlock(&lock);
}
StopBenchmarkTiming();
pthread_rwlock_destroy(&lock);
}
BENCHMARK_NO_ARG(BM_pthread_rwlock_write);
void BM_pthread_rwlock_write::Run(int iters) {
StopBenchmarkTiming();
pthread_rwlock_t lock;
pthread_rwlock_init(&lock, NULL);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_rwlock_wrlock(&lock);
pthread_rwlock_unlock(&lock);
}
StopBenchmarkTiming();
pthread_rwlock_destroy(&lock);
}
static void* IdleThread(void*) {
return NULL;
}
BENCHMARK_NO_ARG(BM_pthread_create);
void BM_pthread_create::Run(int iters) {
StopBenchmarkTiming();
pthread_t thread;
for (int i = 0; i < iters; ++i) {
StartBenchmarkTiming();
pthread_create(&thread, NULL, IdleThread, NULL);
StopBenchmarkTiming();
pthread_join(thread, NULL);
}
}
static void* RunThread(void* arg) {
::testing::Benchmark* benchmark = reinterpret_cast<::testing::Benchmark*>(arg);
benchmark->StopBenchmarkTiming();
return NULL;
}
BENCHMARK_NO_ARG(BM_pthread_create_and_run);
void BM_pthread_create_and_run::Run(int iters) {
StopBenchmarkTiming();
pthread_t thread;
for (int i = 0; i < iters; ++i) {
StartBenchmarkTiming();
pthread_create(&thread, NULL, RunThread, this);
pthread_join(thread, NULL);
}
}
static void* ExitThread(void* arg) {
::testing::Benchmark* benchmark = reinterpret_cast<::testing::Benchmark*>(arg);
benchmark->StartBenchmarkTiming();
pthread_exit(NULL);
}
BENCHMARK_NO_ARG(BM_pthread_exit_and_join);
void BM_pthread_exit_and_join::Run(int iters) {
StopBenchmarkTiming();
pthread_t thread;
for (int i = 0; i < iters; ++i) {
pthread_create(&thread, NULL, ExitThread, this);
pthread_join(thread, NULL);
StopBenchmarkTiming();
}
}
BENCHMARK_NO_ARG(BM_pthread_key_create);
void BM_pthread_key_create::Run(int iters) {
StopBenchmarkTiming();
pthread_key_t key;
for (int i = 0; i < iters; ++i) {
StartBenchmarkTiming();
pthread_key_create(&key, NULL);
StopBenchmarkTiming();
pthread_key_delete(key);
}
}
BENCHMARK_NO_ARG(BM_pthread_key_delete);
void BM_pthread_key_delete::Run(int iters) {
StopBenchmarkTiming();
pthread_key_t key;
for (int i = 0; i < iters; ++i) {
pthread_key_create(&key, NULL);
StartBenchmarkTiming();
pthread_key_delete(key);
StopBenchmarkTiming();
}
}

View File

@@ -14,11 +14,15 @@
* limitations under the License.
*/
#include "benchmark.h"
#include <pthread.h>
#include <semaphore.h>
#include <stdatomic.h>
#include <stdio.h>
static void BM_semaphore_sem_getvalue(int iters) {
#include <benchmark/Benchmark.h>
BENCHMARK_NO_ARG(BM_semaphore_sem_getvalue);
void BM_semaphore_sem_getvalue::Run(int iters) {
StopBenchmarkTiming();
sem_t semaphore;
sem_init(&semaphore, 1, 1);
@@ -31,9 +35,9 @@ static void BM_semaphore_sem_getvalue(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_semaphore_sem_getvalue);
static void BM_semaphore_sem_wait_sem_post(int iters) {
BENCHMARK_NO_ARG(BM_semaphore_sem_wait_sem_post);
void BM_semaphore_sem_wait_sem_post::Run(int iters) {
StopBenchmarkTiming();
sem_t semaphore;
sem_init(&semaphore, 1, 1);
@@ -46,4 +50,94 @@ static void BM_semaphore_sem_wait_sem_post(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_semaphore_sem_wait_sem_post);
/*
* This test reports the overhead of the underlying futex wake syscall on
* the producer. It does not report the overhead from issuing the wake to the
* point where the posted consumer thread wakes up. It suffers from
* clock_gettime syscall overhead. Lock the CPU speed for consistent results
* as we may not reach >50% cpu utilization.
*
* We will run a background thread that catches the sem_post wakeup and
* loops immediately returning back to sleep in sem_wait for the next one. This
* thread is run with policy SCHED_OTHER (normal policy), a middle policy.
*
* The primary thread will run at SCHED_IDLE (lowest priority policy) when
* monitoring the background thread to detect when it hits sem_wait sleep. It
* will do so with no clock running. Once we are ready, we will switch to
* SCHED_FIFO (highest priority policy) to time the act of running sem_post
* with the benchmark clock running. This ensures nothing else in the system
* can preempt our timed activity, including the background thread. We are
* also protected with the scheduling policy of letting a process hit a
* resource limit rather than get hit with a context switch.
*
* The background thread will start executing either on another CPU, or
* after we back down from SCHED_FIFO, but certainly not in the context of
* the timing of the sem_post.
*/
static atomic_int BM_semaphore_sem_post_running;
static void *BM_semaphore_sem_post_start_thread(void *obj) {
sem_t *semaphore = reinterpret_cast<sem_t *>(obj);
while ((BM_semaphore_sem_post_running > 0) && !sem_wait(semaphore)) {
;
}
BM_semaphore_sem_post_running = -1;
return NULL;
}
BENCHMARK_NO_ARG(BM_semaphore_sem_post);
void BM_semaphore_sem_post::Run(int iters) {
StopBenchmarkTiming();
sem_t semaphore;
sem_init(&semaphore, 0, 0);
pthread_attr_t attr;
pthread_attr_init(&attr);
BM_semaphore_sem_post_running = 1;
struct sched_param param = { 0, };
pthread_attr_setschedparam(&attr, &param);
pthread_attr_setschedpolicy(&attr, SCHED_OTHER);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
pthread_t pthread;
pthread_create(&pthread, &attr, BM_semaphore_sem_post_start_thread, &semaphore);
pthread_attr_destroy(&attr);
sched_setscheduler((pid_t)0, SCHED_IDLE, &param);
for (int i = 0; i < iters; ++i) {
int trys = 3, dummy = 0;
do {
if (BM_semaphore_sem_post_running < 0) {
sched_setscheduler((pid_t)0, SCHED_OTHER, &param);
fprintf(stderr, "BM_semaphore_sem_post: start_thread died unexpectedly\n");
return;
}
sched_yield();
sem_getvalue(&semaphore, &dummy);
if (dummy < 0) { // POSIX.1-2001 possibility 1
break;
}
if (dummy == 0) { // POSIX.1-2001 possibility 2
--trys;
}
} while (trys);
param.sched_priority = 1;
sched_setscheduler((pid_t)0, SCHED_FIFO, &param);
StartBenchmarkTiming();
sem_post(&semaphore);
StopBenchmarkTiming(); // Remember to subtract clock syscall overhead
param.sched_priority = 0;
sched_setscheduler((pid_t)0, SCHED_IDLE, &param);
}
sched_setscheduler((pid_t)0, SCHED_OTHER, &param);
if (BM_semaphore_sem_post_running > 0) {
BM_semaphore_sem_post_running = 0;
}
do {
sem_post(&semaphore);
sched_yield();
} while (!BM_semaphore_sem_post_running);
}

View File

@@ -14,9 +14,10 @@
* limitations under the License.
*/
#include "benchmark.h"
#include <stdio.h>
#include <stdio_ext.h>
#include <benchmark/Benchmark.h>
#define KB 1024
#define MB 1024*KB
@@ -25,37 +26,68 @@
Arg(1)->Arg(2)->Arg(3)->Arg(4)->Arg(8)->Arg(16)->Arg(32)->Arg(64)->Arg(512)-> \
Arg(1*KB)->Arg(4*KB)->Arg(8*KB)->Arg(16*KB)->Arg(64*KB)
static void BM_stdio_fread(int iters, int chunk_size) {
StopBenchmarkTiming();
template <typename Fn>
void ReadWriteTest(::testing::Benchmark* benchmark, int iters, int chunk_size, Fn f, bool buffered) {
benchmark->StopBenchmarkTiming();
FILE* fp = fopen("/dev/zero", "rw");
__fsetlocking(fp, FSETLOCKING_BYCALLER);
char* buf = new char[chunk_size];
StartBenchmarkTiming();
benchmark->StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
fread(buf, chunk_size, 1, fp);
if (!buffered) {
setvbuf(fp, 0, _IONBF, 0);
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(chunk_size));
for (int i = 0; i < iters; ++i) {
f(buf, chunk_size, 1, fp);
}
benchmark->StopBenchmarkTiming();
benchmark->SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(chunk_size));
delete[] buf;
fclose(fp);
}
BENCHMARK(BM_stdio_fread)->AT_COMMON_SIZES;
static void BM_stdio_fwrite(int iters, int chunk_size) {
StopBenchmarkTiming();
FILE* fp = fopen("/dev/zero", "rw");
char* buf = new char[chunk_size];
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
fwrite(buf, chunk_size, 1, fp);
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(chunk_size));
delete[] buf;
fclose(fp);
BENCHMARK_WITH_ARG(BM_stdio_fread, int)->AT_COMMON_SIZES;
void BM_stdio_fread::Run(int iters, int chunk_size) {
ReadWriteTest(this, iters, chunk_size, fread, true);
}
BENCHMARK_WITH_ARG(BM_stdio_fwrite, int)->AT_COMMON_SIZES;
void BM_stdio_fwrite::Run(int iters, int chunk_size) {
ReadWriteTest(this, iters, chunk_size, fwrite, true);
}
BENCHMARK_WITH_ARG(BM_stdio_fread_unbuffered, int)->AT_COMMON_SIZES;
void BM_stdio_fread_unbuffered::Run(int iters, int chunk_size) {
ReadWriteTest(this, iters, chunk_size, fread, false);
}
BENCHMARK_WITH_ARG(BM_stdio_fwrite_unbuffered, int)->AT_COMMON_SIZES;
void BM_stdio_fwrite_unbuffered::Run(int iters, int chunk_size) {
ReadWriteTest(this, iters, chunk_size, fwrite, false);
}
static void FopenFgetsFclose(int iters, bool no_locking) {
char buf[1024];
for (int i = 0; i < iters; ++i) {
FILE* fp = fopen("/proc/version", "re");
if (no_locking) __fsetlocking(fp, FSETLOCKING_BYCALLER);
fgets(buf, sizeof(buf), fp);
fclose(fp);
}
}
BENCHMARK_NO_ARG(BM_stdio_fopen_fgets_fclose_locking);
void BM_stdio_fopen_fgets_fclose_locking::Run(int iters) {
StartBenchmarkTiming();
FopenFgetsFclose(iters, false);
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_stdio_fopen_fgets_fclose_no_locking);
void BM_stdio_fopen_fgets_fclose_no_locking::Run(int iters) {
StartBenchmarkTiming();
FopenFgetsFclose(iters, true);
StopBenchmarkTiming();
}
BENCHMARK(BM_stdio_fwrite)->AT_COMMON_SIZES;

View File

@@ -14,10 +14,11 @@
* limitations under the License.
*/
#include "benchmark.h"
#include <stdint.h>
#include <string.h>
#include <benchmark/Benchmark.h>
#define KB 1024
#define MB 1024*KB
@@ -26,7 +27,8 @@
// TODO: test unaligned operation too? (currently everything will be 8-byte aligned by malloc.)
static void BM_string_memcmp(int iters, int nbytes) {
BENCHMARK_WITH_ARG(BM_string_memcmp, int)->AT_COMMON_SIZES;
void BM_string_memcmp::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* src = new char[nbytes]; char* dst = new char[nbytes];
memset(src, 'x', nbytes);
@@ -39,13 +41,13 @@ static void BM_string_memcmp(int iters, int nbytes) {
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] src;
delete[] dst;
}
BENCHMARK(BM_string_memcmp)->AT_COMMON_SIZES;
static void BM_string_memcpy(int iters, int nbytes) {
BENCHMARK_WITH_ARG(BM_string_memcpy, int)->AT_COMMON_SIZES;
void BM_string_memcpy::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* src = new char[nbytes]; char* dst = new char[nbytes];
memset(src, 'x', nbytes);
@@ -56,13 +58,13 @@ static void BM_string_memcpy(int iters, int nbytes) {
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] src;
delete[] dst;
}
BENCHMARK(BM_string_memcpy)->AT_COMMON_SIZES;
static void BM_string_memmove(int iters, int nbytes) {
BENCHMARK_WITH_ARG(BM_string_memmove, int)->AT_COMMON_SIZES;
void BM_string_memmove::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* buf = new char[nbytes + 64];
memset(buf, 'x', nbytes + 64);
@@ -73,12 +75,12 @@ static void BM_string_memmove(int iters, int nbytes) {
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] buf;
}
BENCHMARK(BM_string_memmove)->AT_COMMON_SIZES;
static void BM_string_memset(int iters, int nbytes) {
BENCHMARK_WITH_ARG(BM_string_memset, int)->AT_COMMON_SIZES;
void BM_string_memset::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* dst = new char[nbytes];
StartBenchmarkTiming();
@@ -88,12 +90,12 @@ static void BM_string_memset(int iters, int nbytes) {
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] dst;
}
BENCHMARK(BM_string_memset)->AT_COMMON_SIZES;
static void BM_string_strlen(int iters, int nbytes) {
BENCHMARK_WITH_ARG(BM_string_strlen, int)->AT_COMMON_SIZES;
void BM_string_strlen::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* s = new char[nbytes];
memset(s, 'x', nbytes);
@@ -106,7 +108,6 @@ static void BM_string_strlen(int iters, int nbytes) {
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] s;
}
BENCHMARK(BM_string_strlen)->AT_COMMON_SIZES;

View File

@@ -14,12 +14,14 @@
* limitations under the License.
*/
#include "benchmark.h"
#include <sys/syscall.h>
#include <sys/time.h>
#include <time.h>
static void BM_time_clock_gettime(int iters) {
#include <benchmark/Benchmark.h>
BENCHMARK_NO_ARG(BM_time_clock_gettime);
void BM_time_clock_gettime::Run(int iters) {
StartBenchmarkTiming();
timespec t;
@@ -29,9 +31,9 @@ static void BM_time_clock_gettime(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_time_clock_gettime);
static void BM_time_clock_gettime_syscall(int iters) {
BENCHMARK_NO_ARG(BM_time_clock_gettime_syscall);
void BM_time_clock_gettime_syscall::Run(int iters) {
StartBenchmarkTiming();
timespec t;
@@ -41,9 +43,9 @@ static void BM_time_clock_gettime_syscall(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_time_clock_gettime_syscall);
static void BM_time_gettimeofday(int iters) {
BENCHMARK_NO_ARG(BM_time_gettimeofday);
void BM_time_gettimeofday::Run(int iters) {
StartBenchmarkTiming();
timeval tv;
@@ -53,9 +55,9 @@ static void BM_time_gettimeofday(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_time_gettimeofday);
static void BM_time_gettimeofday_syscall(int iters) {
BENCHMARK_NO_ARG(BM_time_gettimeofday_syscall);
void BM_time_gettimeofday_syscall::Run(int iters) {
StartBenchmarkTiming();
timeval tv;
@@ -65,9 +67,9 @@ static void BM_time_gettimeofday_syscall(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_time_gettimeofday_syscall);
static void BM_time_time(int iters) {
BENCHMARK_NO_ARG(BM_time_time);
void BM_time_time::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
@@ -76,4 +78,3 @@ static void BM_time_time(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_time_time);

View File

@@ -14,12 +14,13 @@
* limitations under the License.
*/
#include "benchmark.h"
#include <sys/syscall.h>
#include <unistd.h>
static void BM_unistd_getpid(int iters) {
#include <benchmark/Benchmark.h>
BENCHMARK_NO_ARG(BM_unistd_getpid);
void BM_unistd_getpid::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
@@ -28,9 +29,9 @@ static void BM_unistd_getpid(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_unistd_getpid);
static void BM_unistd_getpid_syscall(int iters) {
BENCHMARK_NO_ARG(BM_unistd_getpid_syscall);
void BM_unistd_getpid_syscall::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
@@ -39,12 +40,14 @@ static void BM_unistd_getpid_syscall(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_unistd_getpid_syscall);
#if defined(__BIONIC__)
// Stop GCC optimizing out our pure function.
/* Must not be static! */ pid_t (*gettid_fp)() = gettid;
static void BM_unistd_gettid(int iters) {
BENCHMARK_NO_ARG(BM_unistd_gettid);
void BM_unistd_gettid::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
@@ -53,9 +56,11 @@ static void BM_unistd_gettid(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_unistd_gettid);
static void BM_unistd_gettid_syscall(int iters) {
#endif
BENCHMARK_NO_ARG(BM_unistd_gettid_syscall);
void BM_unistd_gettid_syscall::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
@@ -64,4 +69,3 @@ static void BM_unistd_gettid_syscall(int iters) {
StopBenchmarkTiming();
}
BENCHMARK(BM_unistd_gettid_syscall);

81
benchmarks/utils.cpp Normal file
View File

@@ -0,0 +1,81 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <inttypes.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string>
#include "utils.h"
int Round(int n) {
int base = 1;
while (base*10 < n) {
base *= 10;
}
if (n < 2*base) {
return 2*base;
}
if (n < 5*base) {
return 5*base;
}
return 10*base;
}
// Similar to the code in art, but supporting both binary and decimal prefixes.
std::string PrettyInt(long value, size_t base) {
if (base != 2 && base != 10) abort();
uint64_t count = static_cast<uint64_t>(value);
bool negative_number = false;
if (value < 0) {
negative_number = true;
count = static_cast<uint64_t>(-value);
}
// The byte thresholds at which we display amounts. A count is displayed
// in unit U when kUnitThresholds[U] <= bytes < kUnitThresholds[U+1].
static const uint64_t kUnitThresholds2[] = {
1024*1024*1024 /* Gi */, 2*1024*1024 /* Mi */, 3*1024 /* Ki */, 0,
};
static const uint64_t kUnitThresholds10[] = {
1000*1000*1000 /* G */, 2*1000*1000 /* M */, 3*1000 /* k */, 0,
};
static const uint64_t kAmountPerUnit2[] = { 1024*1024*1024, 1024*1024, 1024, 1 };
static const uint64_t kAmountPerUnit10[] = { 1000*1000*1000, 1000*1000, 1000, 1 };
static const char* const kUnitStrings2[] = { "Gi", "Mi", "Ki", "" };
static const char* const kUnitStrings10[] = { "G", "M", "k", "" };
// Which set are we using?
const uint64_t* kUnitThresholds = ((base == 2) ? kUnitThresholds2 : kUnitThresholds10);
const uint64_t* kAmountPerUnit = ((base == 2) ? kAmountPerUnit2 : kAmountPerUnit10);
const char* const* kUnitStrings = ((base == 2) ? kUnitStrings2 : kUnitStrings10);
size_t i = 0;
for (; kUnitThresholds[i] != 0; ++i) {
if (count >= kUnitThresholds[i]) {
break;
}
}
char* s = NULL;
asprintf(&s, "%s%" PRId64 "%s", (negative_number ? "-" : ""),
count / kAmountPerUnit[i], kUnitStrings[i]);
std::string result(s);
free(s);
return result;
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,12 +14,13 @@
* limitations under the License.
*/
#ifndef _BIONIC_FREEBSD_LIBC_PRIVATE_H_included
#define _BIONIC_FREEBSD_LIBC_PRIVATE_H_included
#ifndef BENCHMARKS_UTILS_H
#define BENCHMARKS_UTILS_H
#define STDIO_THREAD_LOCK() /* TODO: until we have the FreeBSD findfp.c, this is useless. */
#define STDIO_THREAD_UNLOCK() /* TODO: until we have the FreeBSD findfp.c, this is useless. */
#include <stddef.h>
#include <string>
#define ORIENT(fp, o) /* Only needed for wide-character stream support. */
int Round(int n);
std::string PrettyInt(long value, size_t base);
#endif
#endif // BENCHMARKS_UTILS_H

44
build/run-on-host.mk Normal file
View File

@@ -0,0 +1,44 @@
#
# Copyright (C) 2014 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Include once
ifneq ($(bionic_run_on_host_mk_included),true)
bionic_run_on_host_mk_included:=true
ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm mips x86))
LINKER = linker64
else
LINKER = linker
endif
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
# gtest needs ANDROID_DATA/local/tmp for death test output.
# Make sure to create ANDROID_DATA/local/tmp if doesn't exist.
# bionic itself should always work relative to ANDROID_DATA or ANDROID_ROOT.
bionic-prepare-run-on-host: $(TARGET_OUT_EXECUTABLES)/$(LINKER) $(TARGET_OUT)/etc/hosts $(TARGET_OUT_EXECUTABLES)/sh
if [ ! -d /system ]; then \
echo "Attempting to create /system"; \
sudo mkdir -p -m 0777 /system; \
fi
mkdir -p $(TARGET_OUT_DATA)/local/tmp
ln -fs `realpath $(TARGET_OUT)/bin` /system/
ln -fs `realpath $(TARGET_OUT)/etc` /system/
ln -fs `realpath $(TARGET_OUT)/lib` /system/
if [ -d "$(TARGET_OUT)/lib64" ]; then \
ln -fs `realpath $(TARGET_OUT)/lib64` /system/; \
fi
endif
endif

File diff suppressed because it is too large Load Diff

View File

@@ -307,34 +307,6 @@ SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (C) 2008-2010 The Android Open Source Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (C) 2009 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
@@ -454,22 +426,6 @@ Android adaptation and tweak by Jim Huang <jserv@0xlab.org>.
-------------------------------------------------------------------
Copyright (C) 2011 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-------------------------------------------------------------------
Copyright (C) 2011 The Android Open Source Project
All rights reserved.
@@ -688,6 +644,50 @@ SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-------------------------------------------------------------------
Copyright (C) 2015 The Android Open Source Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1980, 1983, 1988, 1993
The Regents of the University of California. All rights reserved.
@@ -1679,35 +1679,6 @@ SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1990 Regents of the University of California.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1990 The Regents of the University of California.
All rights reserved.
@@ -2510,35 +2481,6 @@ SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1993
The Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1993
The Regents of the University of California. All rights reserved.
@@ -2568,33 +2510,6 @@ SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1993 Christopher G. Demetriou
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1993 Martin Birgmeier
All rights reserved.
@@ -2635,33 +2550,6 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1995, 1996 Carnegie-Mellon University.
All rights reserved.
Author: Chris G. Demetriou
Permission to use, copy, modify and distribute this software and
its documentation is hereby granted, provided that both the copyright
notice and this permission notice appear in all copies of the
software, derivative works or modified versions, and any portions
thereof, and that both notices appear in supporting documentation.
CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
Carnegie Mellon requests users of this software to return to
Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
School of Computer Science
Carnegie Mellon University
Pittsburgh PA 15213-3890
any improvements or extensions that they make and grant Carnegie the
rights to redistribute these changes.
-------------------------------------------------------------------
Copyright (c) 1996 by Internet Software Consortium.
Permission to use, copy, modify, and distribute this software for any
@@ -2714,63 +2602,6 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
Copyright (c) 1996-2004 Per Fogelstrom, Opsycon AB
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1997 Mark Brinicombe
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by Mark Brinicombe
4. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1997 Mark Brinicombe
Copyright (c) 2010 Android Open Source Project.
All rights reserved.
@@ -3131,38 +2962,6 @@ SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 1999 Kungliga Tekniska Högskolan
(Royal Institute of Technology, Stockholm, Sweden).
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of KTH nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-------------------------------------------------------------------
Copyright (c) 2000 Ben Harris.
Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
All rights reserved.
@@ -3426,34 +3225,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 2002 Opsycon AB (www.opsycon.se / www.opsycon.com)
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of Opsycon AB nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 2002 The NetBSD Foundation, Inc.
All rights reserved.
@@ -3997,6 +3768,22 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
Copyright (c) 2007 Todd C. Miller <Todd.Miller@courtesan.com>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
Copyright (c) 2007-2008 Michael G Schwern
This software originally derived from Paul Sheer's pivotal_gmtime_r.c.
@@ -4086,6 +3873,22 @@ SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 2008 Otto Moerbeek <otto@drijf.net>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
Copyright (c) 2008 Todd C. Miller <millert@openbsd.org>
Permission to use, copy, modify, and distribute this software for any
@@ -4422,6 +4225,39 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------
Copyright (c) 2011 Martin Pieuchot <mpi@openbsd.org>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
Copyright (c) 2011 Martin Pieuchot <mpi@openbsd.org>
Copyright (c) 2009 Ted Unangst
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
Copyright (c) 2011 The Android Open Source Project
Copyright (c) 2008 ARM Ltd
All rights reserved.
@@ -4639,35 +4475,32 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
Copyright (c) 2013, Linaro Limited
All rights reserved.
Copyright (c) 2013 The NetBSD Foundation, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
This code is derived from software contributed to The NetBSD Foundation
by Christos Zoulas.
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Linaro Limited nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------
@@ -4853,9 +4686,20 @@ SUCH DAMAGE.
-------------------------------------------------------------------
Copyright 2000 David E. O'Brien, John D. Polstra.
Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
Copyright 2008 Damien Miller <djm@openbsd.org>
All rights reserved.
Theo de Raadt <deraadt@openbsd.org> came up with the idea of using
such a mathematical system to generate more random (yet non-repeating)
ids to solve the resolver/named problem. But Niels designed the
actual system based on the constraints.
Later modified by Damien Miller to wrap the LCG output in a 15-bit
permutation generator based on a Luby-Rackoff block cipher. This
ensures the output is non-repeating and preserves the MSB twiddle
trick, but makes it more resistant to LCG prediction.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

View File

@@ -95,13 +95,13 @@ ssize_t pread64(int, void*, size_t, off64_t) arm,mips,x86
ssize_t pread64|pread(int, void*, size_t, off_t) arm64,mips64,x86_64
ssize_t pwrite64(int, void*, size_t, off64_t) arm,mips,x86
ssize_t pwrite64|pwrite(int, void*, size_t, off_t) arm64,mips64,x86_64
int close(int) all
int ___close:close(int) all
pid_t __getpid:getpid() all
int munmap(void*, size_t) all
void* mremap(void*, size_t, size_t, unsigned long) all
int msync(const void*, size_t, int) all
int mprotect(const void*, size_t, int) all
int madvise(const void*, size_t, int) all
int madvise(void*, size_t, int) all
int mlock(const void* addr, size_t len) all
int munlock(const void* addr, size_t len) all
int mlockall(int flags) all
@@ -113,7 +113,7 @@ int writev(int, const struct iovec*, int) all
int __fcntl64:fcntl64(int, int, void*) arm,mips,x86
int fcntl(int, int, void*) arm64,mips64,x86_64
int flock(int, int) all
int fchmod(int, mode_t) all
int ___fchmod:fchmod(int, mode_t) all
int dup(int) all
int pipe2(int*, int) all
int dup3(int, int, int) all
@@ -122,19 +122,19 @@ int fdatasync(int) all
int fchown:fchown32(int, uid_t, gid_t) arm,x86
int fchown:fchown(int, uid_t, gid_t) arm64,mips,mips64,x86_64
void sync(void) all
int fsetxattr(int, const char*, const void*, size_t, int) all
ssize_t fgetxattr(int, const char*, void*, size_t) all
int ___fsetxattr:fsetxattr(int, const char*, const void*, size_t, int) all
ssize_t ___fgetxattr:fgetxattr(int, const char*, void*, size_t) all
ssize_t flistxattr(int, char*, size_t) all
int fremovexattr(int, const char*) all
int __getdents64:getdents64(unsigned int, struct dirent*, unsigned int) arm,arm64,mips,mips64,x86,x86_64
int __openat:openat(int, const char*, int, mode_t) all
int faccessat(int, const char*, int, int) all
int fchmodat(int, const char*, mode_t, int) all
int ___faccessat:faccessat(int, const char*, int) all
int ___fchmodat:fchmodat(int, const char*, mode_t) all
int fchownat(int, const char*, uid_t, gid_t, int) all
int fstatat64|fstatat:fstatat64(int, const char*, struct stat*, int) arm,mips,x86
int fstatat64|fstatat:newfstatat(int, const char*, struct stat*, int) arm64,mips64,x86_64
int fstatat64|fstatat:newfstatat(int, const char*, struct stat*, int) arm64,x86_64
int linkat(int, const char*, int, const char*, int) all
int mkdirat(int, const char*, mode_t) all
int mknodat(int, const char*, mode_t, dev_t) all
@@ -151,7 +151,6 @@ int utimensat(int, const char*, const struct timespec times[2], int) all
off_t lseek(int, off_t, int) arm,mips,x86
int __llseek:_llseek(int, unsigned long, unsigned long, off64_t*, int) arm,mips,x86
off_t lseek|lseek64(int, off_t, int) arm64,mips64,x86_64
int ftruncate(int, off_t) arm,mips,x86
int ftruncate64(int, off64_t) arm,mips,x86
int ftruncate|ftruncate64(int, off_t) arm64,mips64,x86_64
ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) arm,mips,x86
@@ -174,12 +173,12 @@ int __fadvise64:fadvise64_64(int, off64_t, off64_t, int) x86
int __fadvise64:fadvise64(int, off64_t, off64_t, int) arm64,mips,mips64,x86_64
int __fstatfs64:fstatfs64(int, size_t, struct statfs*) arm,mips,x86
int fstatfs64|fstatfs:fstatfs(int, struct statfs*) arm64,mips64,x86_64
int __fstatfs:fstatfs(int, struct statfs*) arm64,mips64,x86_64
int __statfs64:statfs64(const char*, size_t, struct statfs*) arm,mips,x86
int statfs64|statfs:statfs(const char*, struct statfs*) arm64,mips64,x86_64
int __statfs:statfs(const char*, struct statfs*) arm64,mips64,x86_64
int fstat64|fstat:fstat64(int, struct stat*) arm,mips,x86
int fstat64|fstat:fstat(int, struct stat*) arm64,mips64,x86_64
int fstat64|fstat:fstat(int, struct stat*) arm64,x86_64
# file system
int chdir(const char*) all
@@ -202,9 +201,9 @@ int swapoff(const char*) all
int settimeofday(const struct timeval*, const struct timezone*) all
clock_t times(struct tms*) all
int nanosleep(const struct timespec*, struct timespec*) all
int clock_settime(clockid_t clk_id, const struct timespec* tp) all
int clock_getres(clockid_t clk_id, struct timespec* res) all
int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec* req, struct timespec* rem) all
int clock_settime(clockid_t, const struct timespec*) all
int clock_getres(clockid_t, struct timespec*) all
int ___clock_nanosleep:clock_nanosleep(clockid_t, int, const struct timespec*, struct timespec*) all
int getitimer(int, const struct itimerval*) all
int setitimer(int, const struct itimerval*, struct itimerval*) all
int __timer_create:timer_create(clockid_t clockid, struct sigevent* evp, __kernel_timer_t* timerid) all
@@ -223,6 +222,7 @@ int __rt_sigpending:rt_sigpending(sigset_t*, size_t) all
int __rt_sigprocmask:rt_sigprocmask(int, const sigset_t*, sigset_t*, size_t) all
int __rt_sigsuspend:rt_sigsuspend(const sigset_t*, size_t) all
int __rt_sigtimedwait:rt_sigtimedwait(const sigset_t*, struct siginfo_t*, struct timespec_t*, size_t) all
int ___rt_sigqueueinfo:rt_sigqueueinfo(pid_t, int, siginfo_t*) all
int __signalfd4:signalfd4(int, const sigset_t*, size_t, int) all
# sockets
@@ -308,11 +308,16 @@ int inotify_rm_watch(int, unsigned int) all
int __pselect6:pselect6(int, fd_set*, fd_set*, fd_set*, timespec*, void*) all
int __ppoll:ppoll(pollfd*, unsigned int, timespec*, const sigset_t*, size_t) all
ssize_t process_vm_readv(pid_t, const struct iovec*, unsigned long, const struct iovec*, unsigned long, unsigned long) all
ssize_t process_vm_writev(pid_t, const struct iovec*, unsigned long, const struct iovec*, unsigned long, unsigned long) all
int __set_tid_address:set_tid_address(int*) all
int setfsgid(gid_t) all
int setfsuid(uid_t) all
int sethostname(const char*, size_t) all
pid_t wait4(pid_t, int*, int, struct rusage*) all
int __waitid:waitid(int, pid_t, struct siginfo_t*, int, void*) all
@@ -321,7 +326,7 @@ int __set_tls:__ARM_NR_set_tls(void*) arm
int cacheflush:__ARM_NR_cacheflush(long start, long end, long flags) arm
# MIPS-specific
int _flush_cache:cacheflush(char* addr, const int nbytes, const int op) mips,mips64
int _flush_cache:cacheflush(char* addr, const int nbytes, const int op) mips
int __set_tls:set_thread_area(void*) mips,mips64
# x86-specific

View File

@@ -1,30 +1,10 @@
# 32-bit arm.
#
# Various kinds of LP32 cruft.
#
libc_bionic_src_files_arm += \
bionic/mmap.cpp \
libc_common_src_files_arm += \
bionic/legacy_32_bit_support.cpp \
bionic/ndk_cruft.cpp \
bionic/time64.c \
libc_netbsd_src_files_arm += \
upstream-netbsd/common/lib/libc/hash/sha1/sha1.c \
libc_openbsd_src_files_arm += \
upstream-openbsd/lib/libc/stdio/putw.c \
#
# Default implementations of functions that are commonly optimized.
#
libc_bionic_src_files_arm += \
bionic/memchr.c \
bionic/memrchr.c \
bionic/strchr.cpp \
bionic/strnlen.c \
bionic/strrchr.cpp \
@@ -40,7 +20,8 @@ libc_freebsd_src_files_arm += \
upstream-freebsd/lib/libc/string/wmemmove.c \
libc_openbsd_src_files_arm += \
upstream-openbsd/lib/libc/string/bcopy.c \
upstream-openbsd/lib/libc/string/memchr.c \
upstream-openbsd/lib/libc/string/memrchr.c \
upstream-openbsd/lib/libc/string/stpncpy.c \
upstream-openbsd/lib/libc/string/strlcat.c \
upstream-openbsd/lib/libc/string/strlcpy.c \
@@ -58,11 +39,8 @@ libc_bionic_src_files_arm += \
arch-arm/bionic/__bionic_clone.S \
arch-arm/bionic/_exit_with_stack_teardown.S \
arch-arm/bionic/libgcc_compat.c \
arch-arm/bionic/memcmp.S \
arch-arm/bionic/__restore.S \
arch-arm/bionic/_setjmp.S \
arch-arm/bionic/setjmp.S \
arch-arm/bionic/sigsetjmp.S \
arch-arm/bionic/syscall.S \
libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c

View File

@@ -39,6 +39,9 @@
extern int __cxa_atexit(void (*)(void*), void*, void*);
// All of these are weak symbols to avoid multiple definition errors when
// linking with libstdc++-v3 or compiler-rt.
/* The "C++ ABI for ARM" document states that static C++ constructors,
* which are called from the .init_array, should manually call
* __aeabi_atexit() to register static destructors explicitly.
@@ -47,35 +50,35 @@ extern int __cxa_atexit(void (*)(void*), void*, void*);
* variable from the shared object that contains the constructor/destructor
*/
// Make this a weak symbol to avoid a multiple definition error when linking with libstdc++-v3.
int __attribute__((weak))
__aeabi_atexit(void *object, void (*destructor) (void *), void *dso_handle) {
return __cxa_atexit(destructor, object, dso_handle);
}
void __aeabi_memcpy8(void *dest, const void *src, size_t n) {
void __attribute__((weak))
__aeabi_memcpy8(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __aeabi_memcpy4(void *dest, const void *src, size_t n) {
void __attribute__((weak)) __aeabi_memcpy4(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __aeabi_memcpy(void *dest, const void *src, size_t n) {
void __attribute__((weak)) __aeabi_memcpy(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __aeabi_memmove8(void *dest, const void *src, size_t n) {
void __attribute__((weak)) __aeabi_memmove8(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __aeabi_memmove4(void *dest, const void *src, size_t n) {
void __attribute__((weak)) __aeabi_memmove4(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __aeabi_memmove(void *dest, const void *src, size_t n) {
void __attribute__((weak)) __aeabi_memmove(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
@@ -84,27 +87,27 @@ void __aeabi_memmove(void *dest, const void *src, size_t n) {
* This allows __aeabi_memclr to tail-call __aeabi_memset
*/
void __aeabi_memset8(void *dest, size_t n, int c) {
void __attribute__((weak)) __aeabi_memset8(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __aeabi_memset4(void *dest, size_t n, int c) {
void __attribute__((weak)) __aeabi_memset4(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __aeabi_memset(void *dest, size_t n, int c) {
void __attribute__((weak)) __aeabi_memset(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __aeabi_memclr8(void *dest, size_t n) {
void __attribute__((weak)) __aeabi_memclr8(void *dest, size_t n) {
__aeabi_memset8(dest, n, 0);
}
void __aeabi_memclr4(void *dest, size_t n) {
void __attribute__((weak)) __aeabi_memclr4(void *dest, size_t n) {
__aeabi_memset4(dest, n, 0);
}
void __aeabi_memclr(void *dest, size_t n) {
void __attribute__((weak)) __aeabi_memclr(void *dest, size_t n) {
__aeabi_memset(dest, n, 0);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2008-2010 The Android Open Source Project
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -42,13 +42,14 @@ ENTRY(__bionic_clone)
# load extra parameters
ldmfd ip, {r4, r5, r6}
# store 'fn' and 'arg' to the child stack
str r5, [r1, #-4]
str r6, [r1, #-8]
# Push 'fn' and 'arg' onto the child stack.
stmdb r1!, {r5, r6}
# System call
# Make the system call.
ldr r7, =__NR_clone
swi #0
# Are we the child?
movs r0, r0
beq 1f
@@ -62,8 +63,8 @@ ENTRY(__bionic_clone)
1: # The child.
# Setting lr to 0 will make the unwinder stop at __start_thread
mov lr, #0
ldr r0, [sp, #-4]
ldr r1, [sp, #-8]
# Call __start_thread with the 'fn' and 'arg' we stored on the child stack.
pop {r0, r1}
b __start_thread
END(__bionic_clone)
.hidden __bionic_clone

View File

@@ -1,113 +0,0 @@
/* $OpenBSD: _setjmp.S,v 1.2 2004/02/01 05:40:52 drahn Exp $ */
/* $NetBSD: _setjmp.S,v 1.5 2003/04/05 23:08:51 bjh21 Exp $ */
/*
* Copyright (c) 1997 Mark Brinicombe
* Copyright (c) 2010 Android Open Source Project.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Mark Brinicombe
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
#include <machine/setjmp.h>
#include <machine/cpu-features.h>
/*
* C library -- _setjmp, _longjmp
*
* _longjmp(a,v)
* will generate a "return(v)" from the last call to
* _setjmp(a)
* by restoring registers from the stack.
* The previous signal state is NOT restored.
*
* Note: r0 is the return value
* r1-r3 are scratch registers in functions
*/
ENTRY(_setjmp)
ldr r1, .L_setjmp_magic
str r1, [r0, #(_JB_MAGIC * 4)]
/* Store core registers */
add r1, r0, #(_JB_CORE_BASE * 4)
stmia r1, {r4-r14}
#ifdef __ARM_HAVE_VFP
/* Store floating-point registers */
add r1, r0, #(_JB_FLOAT_BASE * 4)
vstmia r1, {d8-d15}
/* Store floating-point state */
fmrx r1, fpscr
str r1, [r0, #(_JB_FLOAT_STATE * 4)]
#endif /* __ARM_HAVE_VFP */
mov r0, #0x00000000
bx lr
END(_setjmp)
.L_setjmp_magic:
.word _JB_MAGIC__SETJMP
ENTRY(_longjmp)
ldr r2, .L_setjmp_magic
ldr r3, [r0, #(_JB_MAGIC * 4)]
teq r2, r3
bne botch
#ifdef __ARM_HAVE_VFP
/* Restore floating-point registers */
add r2, r0, #(_JB_FLOAT_BASE * 4)
vldmia r2, {d8-d15}
/* Restore floating-point state */
ldr r2, [r0, #(_JB_FLOAT_STATE * 4)]
fmxr fpscr, r2
#endif /* __ARM_HAVE_VFP */
/* Restore core registers */
add r2, r0, #(_JB_CORE_BASE * 4)
ldmia r2, {r4-r14}
/* Validate sp and r14 */
teq sp, #0
teqne r14, #0
beq botch
/* Set return value */
mov r0, r1
teq r0, #0x00000000
moveq r0, #0x00000001
bx lr
/* validation failed, die die die. */
botch:
bl PIC_SYM(longjmperror, PLT)
bl PIC_SYM(abort, PLT)
b . - 8 /* Cannot get here */
END(_longjmp)

View File

@@ -40,5 +40,5 @@ ENTRY(abort)
.cfi_def_cfa_offset 8
.cfi_rel_offset r3, 0
.cfi_rel_offset r14, 4
bl PIC_SYM(__libc_android_abort, PLT)
bl __libc_android_abort
END(abort)

View File

@@ -1,686 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <private/bionic_asm.h>
#if defined(__ARM_NEON__) && !defined(ARCH_ARM_USE_NON_NEON_MEMCPY)
.text
.fpu neon
#ifdef HAVE_32_BYTE_CACHE_LINE
/* a prefetch distance of 2 cache-lines */
#define CACHE_LINE_SIZE 32
#else
/* a prefetch distance of 4 cache-lines works best experimentally */
#define CACHE_LINE_SIZE 64
#endif
ENTRY(memcpy)
.save {r0, lr}
/* start preloading as early as possible */
pld [r1, #(CACHE_LINE_SIZE * 0)]
stmfd sp!, {r0, lr}
pld [r1, #(CACHE_LINE_SIZE * 1)]
/* If Neon supports unaligned access then remove the align code,
* unless a size limit has been specified.
*/
#ifndef NEON_UNALIGNED_ACCESS
/* do we have at least 16-bytes to copy (needed for alignment below) */
cmp r2, #16
blo 5f
/* check if buffers are aligned. If so, run arm-only version */
eor r3, r0, r1
ands r3, r3, #0x3
beq 11f
/* align destination to cache-line for the write-buffer */
rsb r3, r0, #0
ands r3, r3, #0xF
beq 2f
/* copy up to 15-bytes (count in r3) */
sub r2, r2, r3
movs ip, r3, lsl #31
ldrmib lr, [r1], #1
strmib lr, [r0], #1
ldrcsb ip, [r1], #1
ldrcsb lr, [r1], #1
strcsb ip, [r0], #1
strcsb lr, [r0], #1
movs ip, r3, lsl #29
bge 1f
// copies 4 bytes, destination 32-bits aligned
vld4.8 {d0[0], d1[0], d2[0], d3[0]}, [r1]!
vst4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0, :32]!
1: bcc 2f
// copies 8 bytes, destination 64-bits aligned
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0, :64]!
2:
/* preload immediately the next cache line, which we may need */
pld [r1, #(CACHE_LINE_SIZE * 0)]
pld [r1, #(CACHE_LINE_SIZE * 1)]
#ifdef HAVE_32_BYTE_CACHE_LINE
/* make sure we have at least 32 bytes to copy */
subs r2, r2, #32
blo 4f
/* preload all the cache lines we need.
* NOTE: the number of pld below depends on PREFETCH_DISTANCE,
* ideally would would increase the distance in the main loop to
* avoid the goofy code below. In practice this doesn't seem to make
* a big difference.
*/
pld [r1, #(PREFETCH_DISTANCE)]
1: /* The main loop copies 32 bytes at a time */
vld1.8 {d0 - d3}, [r1]!
pld [r1, #(PREFETCH_DISTANCE)]
subs r2, r2, #32
vst1.8 {d0 - d3}, [r0, :128]!
bhs 1b
#else
/* make sure we have at least 64 bytes to copy */
subs r2, r2, #64
blo 2f
/* preload all the cache lines we need. */
pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 3)]
1: /* The main loop copies 64 bytes at a time */
vld1.8 {d0 - d3}, [r1]!
vld1.8 {d4 - d7}, [r1]!
#ifdef HAVE_32_BYTE_CACHE_LINE
pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 3)]
#else
pld [r1, #(CACHE_LINE_SIZE * 3)]
#endif
subs r2, r2, #64
vst1.8 {d0 - d3}, [r0, :128]!
vst1.8 {d4 - d7}, [r0, :128]!
bhs 1b
2: /* fix-up the remaining count and make sure we have >= 32 bytes left */
add r2, r2, #64
subs r2, r2, #32
blo 4f
3: /* 32 bytes at a time. These cache lines were already preloaded */
vld1.8 {d0 - d3}, [r1]!
subs r2, r2, #32
vst1.8 {d0 - d3}, [r0, :128]!
bhs 3b
#endif
4: /* less than 32 left */
add r2, r2, #32
tst r2, #0x10
beq 5f
// copies 16 bytes, 128-bits aligned
vld1.8 {d0, d1}, [r1]!
vst1.8 {d0, d1}, [r0, :128]!
5: /* copy up to 15-bytes (count in r2) */
movs ip, r2, lsl #29
bcc 1f
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0]!
1: bge 2f
vld4.8 {d0[0], d1[0], d2[0], d3[0]}, [r1]!
vst4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0]!
2: movs ip, r2, lsl #31
ldrmib r3, [r1], #1
ldrcsb ip, [r1], #1
ldrcsb lr, [r1], #1
strmib r3, [r0], #1
strcsb ip, [r0], #1
strcsb lr, [r0], #1
ldmfd sp!, {r0, lr}
bx lr
#else /* NEON_UNALIGNED_ACCESS */
// Check so divider is at least 16 bytes, needed for alignment code.
cmp r2, #16
blo 5f
#ifdef NEON_MEMCPY_ALIGNMENT_DIVIDER
/* Check the upper size limit for Neon unaligned memory access in memcpy */
#if NEON_MEMCPY_ALIGNMENT_DIVIDER >= 16
cmp r2, #NEON_MEMCPY_ALIGNMENT_DIVIDER
blo 3f
#endif
/* check if buffers are aligned. If so, run arm-only version */
eor r3, r0, r1
ands r3, r3, #0x3
beq 11f
/* align destination to 16 bytes for the write-buffer */
rsb r3, r0, #0
ands r3, r3, #0xF
beq 3f
/* copy up to 15-bytes (count in r3) */
sub r2, r2, r3
movs ip, r3, lsl #31
ldrmib lr, [r1], #1
strmib lr, [r0], #1
ldrcsb ip, [r1], #1
ldrcsb lr, [r1], #1
strcsb ip, [r0], #1
strcsb lr, [r0], #1
movs ip, r3, lsl #29
bge 1f
// copies 4 bytes, destination 32-bits aligned
vld1.32 {d0[0]}, [r1]!
vst1.32 {d0[0]}, [r0, :32]!
1: bcc 2f
// copies 8 bytes, destination 64-bits aligned
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0, :64]!
2:
/* preload immediately the next cache line, which we may need */
pld [r1, #(CACHE_LINE_SIZE * 0)]
pld [r1, #(CACHE_LINE_SIZE * 1)]
3:
#endif
/* make sure we have at least 64 bytes to copy */
subs r2, r2, #64
blo 2f
/* preload all the cache lines we need */
pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 3)]
1: /* The main loop copies 64 bytes at a time */
vld1.8 {d0 - d3}, [r1]!
vld1.8 {d4 - d7}, [r1]!
#ifdef HAVE_32_BYTE_CACHE_LINE
pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 3)]
#else
pld [r1, #(CACHE_LINE_SIZE * 3)]
#endif
subs r2, r2, #64
vst1.8 {d0 - d3}, [r0]!
vst1.8 {d4 - d7}, [r0]!
bhs 1b
2: /* fix-up the remaining count and make sure we have >= 32 bytes left */
add r2, r2, #64
subs r2, r2, #32
blo 4f
3: /* 32 bytes at a time. These cache lines were already preloaded */
vld1.8 {d0 - d3}, [r1]!
subs r2, r2, #32
vst1.8 {d0 - d3}, [r0]!
bhs 3b
4: /* less than 32 left */
add r2, r2, #32
tst r2, #0x10
beq 5f
// copies 16 bytes, 128-bits aligned
vld1.8 {d0, d1}, [r1]!
vst1.8 {d0, d1}, [r0]!
5: /* copy up to 15-bytes (count in r2) */
movs ip, r2, lsl #29
bcc 1f
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0]!
1: bge 2f
vld1.32 {d0[0]}, [r1]!
vst1.32 {d0[0]}, [r0]!
2: movs ip, r2, lsl #31
ldrmib r3, [r1], #1
ldrcsb ip, [r1], #1
ldrcsb lr, [r1], #1
strmib r3, [r0], #1
strcsb ip, [r0], #1
strcsb lr, [r0], #1
ldmfd sp!, {r0, lr}
bx lr
#endif /* NEON_UNALIGNED_ACCESS */
11:
/* Simple arm-only copy loop to handle aligned copy operations */
stmfd sp!, {r4, r5, r6, r7, r8}
pld [r1, #(CACHE_LINE_SIZE * 2)]
/* Check alignment */
rsb r3, r1, #0
ands r3, #3
beq 2f
/* align source to 32 bits. We need to insert 2 instructions between
* a ldr[b|h] and str[b|h] because byte and half-word instructions
* stall 2 cycles.
*/
movs r12, r3, lsl #31
sub r2, r2, r3 /* we know that r3 <= r2 because r2 >= 4 */
ldrmib r3, [r1], #1
ldrcsb r4, [r1], #1
ldrcsb r5, [r1], #1
strmib r3, [r0], #1
strcsb r4, [r0], #1
strcsb r5, [r0], #1
2:
subs r2, #32
blt 5f
pld [r1, #(CACHE_LINE_SIZE * 3)]
3: /* Main copy loop, copying 32 bytes at a time */
pld [r1, #(CACHE_LINE_SIZE * 4)]
ldmia r1!, {r3, r4, r5, r6, r7, r8, r12, lr}
subs r2, r2, #32
stmia r0!, {r3, r4, r5, r6, r7, r8, r12, lr}
bge 3b
5: /* Handle any remaining bytes */
adds r2, #32
beq 6f
movs r12, r2, lsl #28
ldmcsia r1!, {r3, r4, r5, r6} /* 16 bytes */
ldmmiia r1!, {r7, r8} /* 8 bytes */
stmcsia r0!, {r3, r4, r5, r6}
stmmiia r0!, {r7, r8}
movs r12, r2, lsl #30
ldrcs r3, [r1], #4 /* 4 bytes */
ldrmih r4, [r1], #2 /* 2 bytes */
strcs r3, [r0], #4
strmih r4, [r0], #2
tst r2, #0x1
ldrneb r3, [r1] /* last byte */
strneb r3, [r0]
6:
ldmfd sp!, {r4, r5, r6, r7, r8}
ldmfd sp!, {r0, pc}
END(memcpy)
#else /* __ARM_ARCH__ < 7 */
/*
* Optimized memcpy() for ARM.
*
* note that memcpy() always returns the destination pointer,
* so we have to preserve R0.
*/
ENTRY(memcpy)
/* The stack must always be 64-bits aligned to be compliant with the
* ARM ABI. Since we have to save R0, we might as well save R4
* which we can use for better pipelining of the reads below
*/
.save {r0, r4, lr}
stmfd sp!, {r0, r4, lr}
/* Making room for r5-r11 which will be spilled later */
.pad #28
sub sp, sp, #28
// preload the destination because we'll align it to a cache line
// with small writes. Also start the source "pump".
pld [r0, #0]
pld [r1, #0]
pld [r1, #32]
/* it simplifies things to take care of len<4 early */
cmp r2, #4
blo copy_last_3_and_return
/* compute the offset to align the source
* offset = (4-(src&3))&3 = -src & 3
*/
rsb r3, r1, #0
ands r3, r3, #3
beq src_aligned
/* align source to 32 bits. We need to insert 2 instructions between
* a ldr[b|h] and str[b|h] because byte and half-word instructions
* stall 2 cycles.
*/
movs r12, r3, lsl #31
sub r2, r2, r3 /* we know that r3 <= r2 because r2 >= 4 */
ldrmib r3, [r1], #1
ldrcsb r4, [r1], #1
ldrcsb r12,[r1], #1
strmib r3, [r0], #1
strcsb r4, [r0], #1
strcsb r12,[r0], #1
src_aligned:
/* see if src and dst are aligned together (congruent) */
eor r12, r0, r1
tst r12, #3
bne non_congruent
/* Use post-incriment mode for stm to spill r5-r11 to reserved stack
* frame. Don't update sp.
*/
stmea sp, {r5-r11}
/* align the destination to a cache-line */
rsb r3, r0, #0
ands r3, r3, #0x1C
beq congruent_aligned32
cmp r3, r2
andhi r3, r2, #0x1C
/* conditionnaly copies 0 to 7 words (length in r3) */
movs r12, r3, lsl #28
ldmcsia r1!, {r4, r5, r6, r7} /* 16 bytes */
ldmmiia r1!, {r8, r9} /* 8 bytes */
stmcsia r0!, {r4, r5, r6, r7}
stmmiia r0!, {r8, r9}
tst r3, #0x4
ldrne r10,[r1], #4 /* 4 bytes */
strne r10,[r0], #4
sub r2, r2, r3
congruent_aligned32:
/*
* here source is aligned to 32 bytes.
*/
cached_aligned32:
subs r2, r2, #32
blo less_than_32_left
/*
* We preload a cache-line up to 64 bytes ahead. On the 926, this will
* stall only until the requested world is fetched, but the linefill
* continues in the the background.
* While the linefill is going, we write our previous cache-line
* into the write-buffer (which should have some free space).
* When the linefill is done, the writebuffer will
* start dumping its content into memory
*
* While all this is going, we then load a full cache line into
* 8 registers, this cache line should be in the cache by now
* (or partly in the cache).
*
* This code should work well regardless of the source/dest alignment.
*
*/
// Align the preload register to a cache-line because the cpu does
// "critical word first" (the first word requested is loaded first).
bic r12, r1, #0x1F
add r12, r12, #64
1: ldmia r1!, { r4-r11 }
pld [r12, #64]
subs r2, r2, #32
// NOTE: if r12 is more than 64 ahead of r1, the following ldrhi
// for ARM9 preload will not be safely guarded by the preceding subs.
// When it is safely guarded the only possibility to have SIGSEGV here
// is because the caller overstates the length.
ldrhi r3, [r12], #32 /* cheap ARM9 preload */
stmia r0!, { r4-r11 }
bhs 1b
add r2, r2, #32
less_than_32_left:
/*
* less than 32 bytes left at this point (length in r2)
*/
/* skip all this if there is nothing to do, which should
* be a common case (if not executed the code below takes
* about 16 cycles)
*/
tst r2, #0x1F
beq 1f
/* conditionnaly copies 0 to 31 bytes */
movs r12, r2, lsl #28
ldmcsia r1!, {r4, r5, r6, r7} /* 16 bytes */
ldmmiia r1!, {r8, r9} /* 8 bytes */
stmcsia r0!, {r4, r5, r6, r7}
stmmiia r0!, {r8, r9}
movs r12, r2, lsl #30
ldrcs r3, [r1], #4 /* 4 bytes */
ldrmih r4, [r1], #2 /* 2 bytes */
strcs r3, [r0], #4
strmih r4, [r0], #2
tst r2, #0x1
ldrneb r3, [r1] /* last byte */
strneb r3, [r0]
/* we're done! restore everything and return */
1: ldmfd sp!, {r5-r11}
ldmfd sp!, {r0, r4, lr}
bx lr
/********************************************************************/
non_congruent:
/*
* here source is aligned to 4 bytes
* but destination is not.
*
* in the code below r2 is the number of bytes read
* (the number of bytes written is always smaller, because we have
* partial words in the shift queue)
*/
cmp r2, #4
blo copy_last_3_and_return
/* Use post-incriment mode for stm to spill r5-r11 to reserved stack
* frame. Don't update sp.
*/
stmea sp, {r5-r11}
/* compute shifts needed to align src to dest */
rsb r5, r0, #0
and r5, r5, #3 /* r5 = # bytes in partial words */
mov r12, r5, lsl #3 /* r12 = right */
rsb lr, r12, #32 /* lr = left */
/* read the first word */
ldr r3, [r1], #4
sub r2, r2, #4
/* write a partial word (0 to 3 bytes), such that destination
* becomes aligned to 32 bits (r5 = nb of words to copy for alignment)
*/
movs r5, r5, lsl #31
strmib r3, [r0], #1
movmi r3, r3, lsr #8
strcsb r3, [r0], #1
movcs r3, r3, lsr #8
strcsb r3, [r0], #1
movcs r3, r3, lsr #8
cmp r2, #4
blo partial_word_tail
/* Align destination to 32 bytes (cache line boundary) */
1: tst r0, #0x1c
beq 2f
ldr r5, [r1], #4
sub r2, r2, #4
orr r4, r3, r5, lsl lr
mov r3, r5, lsr r12
str r4, [r0], #4
cmp r2, #4
bhs 1b
blo partial_word_tail
/* copy 32 bytes at a time */
2: subs r2, r2, #32
blo less_than_thirtytwo
/* Use immediate mode for the shifts, because there is an extra cycle
* for register shifts, which could account for up to 50% of
* performance hit.
*/
cmp r12, #24
beq loop24
cmp r12, #8
beq loop8
loop16:
ldr r12, [r1], #4
1: mov r4, r12
ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
pld [r1, #64]
subs r2, r2, #32
ldrhs r12, [r1], #4
orr r3, r3, r4, lsl #16
mov r4, r4, lsr #16
orr r4, r4, r5, lsl #16
mov r5, r5, lsr #16
orr r5, r5, r6, lsl #16
mov r6, r6, lsr #16
orr r6, r6, r7, lsl #16
mov r7, r7, lsr #16
orr r7, r7, r8, lsl #16
mov r8, r8, lsr #16
orr r8, r8, r9, lsl #16
mov r9, r9, lsr #16
orr r9, r9, r10, lsl #16
mov r10, r10, lsr #16
orr r10, r10, r11, lsl #16
stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
mov r3, r11, lsr #16
bhs 1b
b less_than_thirtytwo
loop8:
ldr r12, [r1], #4
1: mov r4, r12
ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
pld [r1, #64]
subs r2, r2, #32
ldrhs r12, [r1], #4
orr r3, r3, r4, lsl #24
mov r4, r4, lsr #8
orr r4, r4, r5, lsl #24
mov r5, r5, lsr #8
orr r5, r5, r6, lsl #24
mov r6, r6, lsr #8
orr r6, r6, r7, lsl #24
mov r7, r7, lsr #8
orr r7, r7, r8, lsl #24
mov r8, r8, lsr #8
orr r8, r8, r9, lsl #24
mov r9, r9, lsr #8
orr r9, r9, r10, lsl #24
mov r10, r10, lsr #8
orr r10, r10, r11, lsl #24
stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
mov r3, r11, lsr #8
bhs 1b
b less_than_thirtytwo
loop24:
ldr r12, [r1], #4
1: mov r4, r12
ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
pld [r1, #64]
subs r2, r2, #32
ldrhs r12, [r1], #4
orr r3, r3, r4, lsl #8
mov r4, r4, lsr #24
orr r4, r4, r5, lsl #8
mov r5, r5, lsr #24
orr r5, r5, r6, lsl #8
mov r6, r6, lsr #24
orr r6, r6, r7, lsl #8
mov r7, r7, lsr #24
orr r7, r7, r8, lsl #8
mov r8, r8, lsr #24
orr r8, r8, r9, lsl #8
mov r9, r9, lsr #24
orr r9, r9, r10, lsl #8
mov r10, r10, lsr #24
orr r10, r10, r11, lsl #8
stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
mov r3, r11, lsr #24
bhs 1b
less_than_thirtytwo:
/* copy the last 0 to 31 bytes of the source */
rsb r12, lr, #32 /* we corrupted r12, recompute it */
add r2, r2, #32
cmp r2, #4
blo partial_word_tail
1: ldr r5, [r1], #4
sub r2, r2, #4
orr r4, r3, r5, lsl lr
mov r3, r5, lsr r12
str r4, [r0], #4
cmp r2, #4
bhs 1b
partial_word_tail:
/* we have a partial word in the input buffer */
movs r5, lr, lsl #(31-3)
strmib r3, [r0], #1
movmi r3, r3, lsr #8
strcsb r3, [r0], #1
movcs r3, r3, lsr #8
strcsb r3, [r0], #1
/* Refill spilled registers from the stack. Don't update sp. */
ldmfd sp, {r5-r11}
copy_last_3_and_return:
movs r2, r2, lsl #31 /* copy remaining 0, 1, 2 or 3 bytes */
ldrmib r2, [r1], #1
ldrcsb r3, [r1], #1
ldrcsb r12,[r1]
strmib r2, [r0], #1
strcsb r3, [r0], #1
strcsb r12,[r0]
/* we're done! restore sp and spilled registers and return */
add sp, sp, #28
ldmfd sp!, {r0, r4, lr}
bx lr
END(memcpy)
#endif /* __ARM_ARCH__ < 7 */

View File

@@ -1,614 +0,0 @@
/* Copyright (c) 2013, Linaro Limited
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Linaro Limited nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
This memcpy routine is optimised for Cortex-A15 cores and takes advantage
of VFP or NEON when built with the appropriate flags.
Assumptions:
ARMv6 (ARMv7-a if using Neon)
ARM state
Unaligned accesses
LDRD/STRD support unaligned word accesses
*/
#include <machine/cpu-features.h>
#include <private/bionic_asm.h>
.syntax unified
/* This implementation requires ARM state. */
.arm
#ifdef __ARM_NEON__
.fpu neon
.arch armv7-a
# define FRAME_SIZE 4
# define USE_VFP
# define USE_NEON
#elif !defined (__SOFTFP__)
.arch armv6
.fpu vfpv2
# define FRAME_SIZE 32
# define USE_VFP
#else
.arch armv6
# define FRAME_SIZE 32
#endif
/* Old versions of GAS incorrectly implement the NEON align semantics. */
#ifdef BROKEN_ASM_NEON_ALIGN
#define ALIGN(addr, align) addr,:align
#else
#define ALIGN(addr, align) addr:align
#endif
#define PC_OFFSET 8 /* PC pipeline compensation. */
#define INSN_SIZE 4
/* Call parameters. */
#define dstin r0
#define src r1
#define count r2
/* Locals. */
#define tmp1 r3
#define dst ip
#define tmp2 r10
#ifndef USE_NEON
/* For bulk copies using GP registers. */
#define A_l r2 /* Call-clobbered. */
#define A_h r3 /* Call-clobbered. */
#define B_l r4
#define B_h r5
#define C_l r6
#define C_h r7
#define D_l r8
#define D_h r9
#endif
/* Number of lines ahead to pre-fetch data. If you change this the code
below will need adjustment to compensate. */
#define prefetch_lines 5
#ifdef USE_VFP
.macro cpy_line_vfp vreg, base
vstr \vreg, [dst, #\base]
vldr \vreg, [src, #\base]
vstr d0, [dst, #\base + 8]
vldr d0, [src, #\base + 8]
vstr d1, [dst, #\base + 16]
vldr d1, [src, #\base + 16]
vstr d2, [dst, #\base + 24]
vldr d2, [src, #\base + 24]
vstr \vreg, [dst, #\base + 32]
vldr \vreg, [src, #\base + prefetch_lines * 64 - 32]
vstr d0, [dst, #\base + 40]
vldr d0, [src, #\base + 40]
vstr d1, [dst, #\base + 48]
vldr d1, [src, #\base + 48]
vstr d2, [dst, #\base + 56]
vldr d2, [src, #\base + 56]
.endm
.macro cpy_tail_vfp vreg, base
vstr \vreg, [dst, #\base]
vldr \vreg, [src, #\base]
vstr d0, [dst, #\base + 8]
vldr d0, [src, #\base + 8]
vstr d1, [dst, #\base + 16]
vldr d1, [src, #\base + 16]
vstr d2, [dst, #\base + 24]
vldr d2, [src, #\base + 24]
vstr \vreg, [dst, #\base + 32]
vstr d0, [dst, #\base + 40]
vldr d0, [src, #\base + 40]
vstr d1, [dst, #\base + 48]
vldr d1, [src, #\base + 48]
vstr d2, [dst, #\base + 56]
vldr d2, [src, #\base + 56]
.endm
#endif
.p2align 6
ENTRY(memcpy)
mov dst, dstin /* Preserve dstin, we need to return it. */
cmp count, #64
bge .Lcpy_not_short
/* Deal with small copies quickly by dropping straight into the
exit block. */
.Ltail63unaligned:
#ifdef USE_NEON
and tmp1, count, #0x38
rsb tmp1, tmp1, #(56 - PC_OFFSET + INSN_SIZE)
add pc, pc, tmp1
vld1.8 {d0}, [src]! /* 14 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 12 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 10 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 8 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 6 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 4 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 2 words to go. */
vst1.8 {d0}, [dst]!
tst count, #4
ldrne tmp1, [src], #4
strne tmp1, [dst], #4
#else
/* Copy up to 15 full words of data. May not be aligned. */
/* Cannot use VFP for unaligned data. */
and tmp1, count, #0x3c
add dst, dst, tmp1
add src, src, tmp1
rsb tmp1, tmp1, #(60 - PC_OFFSET/2 + INSN_SIZE/2)
/* Jump directly into the sequence below at the correct offset. */
add pc, pc, tmp1, lsl #1
ldr tmp1, [src, #-60] /* 15 words to go. */
str tmp1, [dst, #-60]
ldr tmp1, [src, #-56] /* 14 words to go. */
str tmp1, [dst, #-56]
ldr tmp1, [src, #-52]
str tmp1, [dst, #-52]
ldr tmp1, [src, #-48] /* 12 words to go. */
str tmp1, [dst, #-48]
ldr tmp1, [src, #-44]
str tmp1, [dst, #-44]
ldr tmp1, [src, #-40] /* 10 words to go. */
str tmp1, [dst, #-40]
ldr tmp1, [src, #-36]
str tmp1, [dst, #-36]
ldr tmp1, [src, #-32] /* 8 words to go. */
str tmp1, [dst, #-32]
ldr tmp1, [src, #-28]
str tmp1, [dst, #-28]
ldr tmp1, [src, #-24] /* 6 words to go. */
str tmp1, [dst, #-24]
ldr tmp1, [src, #-20]
str tmp1, [dst, #-20]
ldr tmp1, [src, #-16] /* 4 words to go. */
str tmp1, [dst, #-16]
ldr tmp1, [src, #-12]
str tmp1, [dst, #-12]
ldr tmp1, [src, #-8] /* 2 words to go. */
str tmp1, [dst, #-8]
ldr tmp1, [src, #-4]
str tmp1, [dst, #-4]
#endif
lsls count, count, #31
ldrhcs tmp1, [src], #2
ldrbne src, [src] /* Src is dead, use as a scratch. */
strhcs tmp1, [dst], #2
strbne src, [dst]
bx lr
.Lcpy_not_short:
/* At least 64 bytes to copy, but don't know the alignment yet. */
str tmp2, [sp, #-FRAME_SIZE]!
and tmp2, src, #7
and tmp1, dst, #7
cmp tmp1, tmp2
bne .Lcpy_notaligned
#ifdef USE_VFP
/* Magic dust alert! Force VFP on Cortex-A9. Experiments show
that the FP pipeline is much better at streaming loads and
stores. This is outside the critical loop. */
vmov.f32 s0, s0
#endif
/* SRC and DST have the same mutual 32-bit alignment, but we may
still need to pre-copy some bytes to get to natural alignment.
We bring DST into full 64-bit alignment. */
lsls tmp2, dst, #29
beq 1f
rsbs tmp2, tmp2, #0
sub count, count, tmp2, lsr #29
ldrmi tmp1, [src], #4
strmi tmp1, [dst], #4
lsls tmp2, tmp2, #2
ldrhcs tmp1, [src], #2
ldrbne tmp2, [src], #1
strhcs tmp1, [dst], #2
strbne tmp2, [dst], #1
1:
subs tmp2, count, #64 /* Use tmp2 for count. */
blt .Ltail63aligned
cmp tmp2, #512
bge .Lcpy_body_long
.Lcpy_body_medium: /* Count in tmp2. */
#ifdef USE_VFP
1:
vldr d0, [src, #0]
subs tmp2, tmp2, #64
vldr d1, [src, #8]
vstr d0, [dst, #0]
vldr d0, [src, #16]
vstr d1, [dst, #8]
vldr d1, [src, #24]
vstr d0, [dst, #16]
vldr d0, [src, #32]
vstr d1, [dst, #24]
vldr d1, [src, #40]
vstr d0, [dst, #32]
vldr d0, [src, #48]
vstr d1, [dst, #40]
vldr d1, [src, #56]
vstr d0, [dst, #48]
add src, src, #64
vstr d1, [dst, #56]
add dst, dst, #64
bge 1b
tst tmp2, #0x3f
beq .Ldone
.Ltail63aligned: /* Count in tmp2. */
and tmp1, tmp2, #0x38
add dst, dst, tmp1
add src, src, tmp1
rsb tmp1, tmp1, #(56 - PC_OFFSET + INSN_SIZE)
add pc, pc, tmp1
vldr d0, [src, #-56] /* 14 words to go. */
vstr d0, [dst, #-56]
vldr d0, [src, #-48] /* 12 words to go. */
vstr d0, [dst, #-48]
vldr d0, [src, #-40] /* 10 words to go. */
vstr d0, [dst, #-40]
vldr d0, [src, #-32] /* 8 words to go. */
vstr d0, [dst, #-32]
vldr d0, [src, #-24] /* 6 words to go. */
vstr d0, [dst, #-24]
vldr d0, [src, #-16] /* 4 words to go. */
vstr d0, [dst, #-16]
vldr d0, [src, #-8] /* 2 words to go. */
vstr d0, [dst, #-8]
#else
sub src, src, #8
sub dst, dst, #8
1:
ldrd A_l, A_h, [src, #8]
strd A_l, A_h, [dst, #8]
ldrd A_l, A_h, [src, #16]
strd A_l, A_h, [dst, #16]
ldrd A_l, A_h, [src, #24]
strd A_l, A_h, [dst, #24]
ldrd A_l, A_h, [src, #32]
strd A_l, A_h, [dst, #32]
ldrd A_l, A_h, [src, #40]
strd A_l, A_h, [dst, #40]
ldrd A_l, A_h, [src, #48]
strd A_l, A_h, [dst, #48]
ldrd A_l, A_h, [src, #56]
strd A_l, A_h, [dst, #56]
ldrd A_l, A_h, [src, #64]!
strd A_l, A_h, [dst, #64]!
subs tmp2, tmp2, #64
bge 1b
tst tmp2, #0x3f
bne 1f
ldr tmp2,[sp], #FRAME_SIZE
bx lr
1:
add src, src, #8
add dst, dst, #8
.Ltail63aligned: /* Count in tmp2. */
/* Copy up to 7 d-words of data. Similar to Ltail63unaligned, but
we know that the src and dest are 32-bit aligned so we can use
LDRD/STRD to improve efficiency. */
/* TMP2 is now negative, but we don't care about that. The bottom
six bits still tell us how many bytes are left to copy. */
and tmp1, tmp2, #0x38
add dst, dst, tmp1
add src, src, tmp1
rsb tmp1, tmp1, #(56 - PC_OFFSET + INSN_SIZE)
add pc, pc, tmp1
ldrd A_l, A_h, [src, #-56] /* 14 words to go. */
strd A_l, A_h, [dst, #-56]
ldrd A_l, A_h, [src, #-48] /* 12 words to go. */
strd A_l, A_h, [dst, #-48]
ldrd A_l, A_h, [src, #-40] /* 10 words to go. */
strd A_l, A_h, [dst, #-40]
ldrd A_l, A_h, [src, #-32] /* 8 words to go. */
strd A_l, A_h, [dst, #-32]
ldrd A_l, A_h, [src, #-24] /* 6 words to go. */
strd A_l, A_h, [dst, #-24]
ldrd A_l, A_h, [src, #-16] /* 4 words to go. */
strd A_l, A_h, [dst, #-16]
ldrd A_l, A_h, [src, #-8] /* 2 words to go. */
strd A_l, A_h, [dst, #-8]
#endif
tst tmp2, #4
ldrne tmp1, [src], #4
strne tmp1, [dst], #4
lsls tmp2, tmp2, #31 /* Count (tmp2) now dead. */
ldrhcs tmp1, [src], #2
ldrbne tmp2, [src]
strhcs tmp1, [dst], #2
strbne tmp2, [dst]
.Ldone:
ldr tmp2, [sp], #FRAME_SIZE
bx lr
.Lcpy_body_long: /* Count in tmp2. */
/* Long copy. We know that there's at least (prefetch_lines * 64)
bytes to go. */
#ifdef USE_VFP
/* Don't use PLD. Instead, read some data in advance of the current
copy position into a register. This should act like a PLD
operation but we won't have to repeat the transfer. */
vldr d3, [src, #0]
vldr d4, [src, #64]
vldr d5, [src, #128]
vldr d6, [src, #192]
vldr d7, [src, #256]
vldr d0, [src, #8]
vldr d1, [src, #16]
vldr d2, [src, #24]
add src, src, #32
subs tmp2, tmp2, #prefetch_lines * 64 * 2
blt 2f
1:
cpy_line_vfp d3, 0
cpy_line_vfp d4, 64
cpy_line_vfp d5, 128
add dst, dst, #3 * 64
add src, src, #3 * 64
cpy_line_vfp d6, 0
cpy_line_vfp d7, 64
add dst, dst, #2 * 64
add src, src, #2 * 64
subs tmp2, tmp2, #prefetch_lines * 64
bge 1b
2:
cpy_tail_vfp d3, 0
cpy_tail_vfp d4, 64
cpy_tail_vfp d5, 128
add src, src, #3 * 64
add dst, dst, #3 * 64
cpy_tail_vfp d6, 0
vstr d7, [dst, #64]
vldr d7, [src, #64]
vstr d0, [dst, #64 + 8]
vldr d0, [src, #64 + 8]
vstr d1, [dst, #64 + 16]
vldr d1, [src, #64 + 16]
vstr d2, [dst, #64 + 24]
vldr d2, [src, #64 + 24]
vstr d7, [dst, #64 + 32]
add src, src, #96
vstr d0, [dst, #64 + 40]
vstr d1, [dst, #64 + 48]
vstr d2, [dst, #64 + 56]
add dst, dst, #128
add tmp2, tmp2, #prefetch_lines * 64
b .Lcpy_body_medium
#else
/* Long copy. Use an SMS style loop to maximize the I/O
bandwidth of the core. We don't have enough spare registers
to synthesise prefetching, so use PLD operations. */
/* Pre-bias src and dst. */
sub src, src, #8
sub dst, dst, #8
pld [src, #8]
pld [src, #72]
subs tmp2, tmp2, #64
pld [src, #136]
ldrd A_l, A_h, [src, #8]
strd B_l, B_h, [sp, #8]
ldrd B_l, B_h, [src, #16]
strd C_l, C_h, [sp, #16]
ldrd C_l, C_h, [src, #24]
strd D_l, D_h, [sp, #24]
pld [src, #200]
ldrd D_l, D_h, [src, #32]!
b 1f
.p2align 6
2:
pld [src, #232]
strd A_l, A_h, [dst, #40]
ldrd A_l, A_h, [src, #40]
strd B_l, B_h, [dst, #48]
ldrd B_l, B_h, [src, #48]
strd C_l, C_h, [dst, #56]
ldrd C_l, C_h, [src, #56]
strd D_l, D_h, [dst, #64]!
ldrd D_l, D_h, [src, #64]!
subs tmp2, tmp2, #64
1:
strd A_l, A_h, [dst, #8]
ldrd A_l, A_h, [src, #8]
strd B_l, B_h, [dst, #16]
ldrd B_l, B_h, [src, #16]
strd C_l, C_h, [dst, #24]
ldrd C_l, C_h, [src, #24]
strd D_l, D_h, [dst, #32]
ldrd D_l, D_h, [src, #32]
bcs 2b
/* Save the remaining bytes and restore the callee-saved regs. */
strd A_l, A_h, [dst, #40]
add src, src, #40
strd B_l, B_h, [dst, #48]
ldrd B_l, B_h, [sp, #8]
strd C_l, C_h, [dst, #56]
ldrd C_l, C_h, [sp, #16]
strd D_l, D_h, [dst, #64]
ldrd D_l, D_h, [sp, #24]
add dst, dst, #72
tst tmp2, #0x3f
bne .Ltail63aligned
ldr tmp2, [sp], #FRAME_SIZE
bx lr
#endif
.Lcpy_notaligned:
pld [src]
pld [src, #64]
/* There's at least 64 bytes to copy, but there is no mutual
alignment. */
/* Bring DST to 64-bit alignment. */
lsls tmp2, dst, #29
pld [src, #(2 * 64)]
beq 1f
rsbs tmp2, tmp2, #0
sub count, count, tmp2, lsr #29
ldrmi tmp1, [src], #4
strmi tmp1, [dst], #4
lsls tmp2, tmp2, #2
ldrbne tmp1, [src], #1
ldrhcs tmp2, [src], #2
strbne tmp1, [dst], #1
strhcs tmp2, [dst], #2
1:
pld [src, #(3 * 64)]
subs count, count, #64
ldrmi tmp2, [sp], #FRAME_SIZE
bmi .Ltail63unaligned
pld [src, #(4 * 64)]
#ifdef USE_NEON
vld1.8 {d0-d3}, [src]!
vld1.8 {d4-d7}, [src]!
subs count, count, #64
bmi 2f
1:
pld [src, #(4 * 64)]
vst1.8 {d0-d3}, [ALIGN (dst, 64)]!
vld1.8 {d0-d3}, [src]!
vst1.8 {d4-d7}, [ALIGN (dst, 64)]!
vld1.8 {d4-d7}, [src]!
subs count, count, #64
bpl 1b
2:
vst1.8 {d0-d3}, [ALIGN (dst, 64)]!
vst1.8 {d4-d7}, [ALIGN (dst, 64)]!
ands count, count, #0x3f
#else
/* Use an SMS style loop to maximize the I/O bandwidth. */
sub src, src, #4
sub dst, dst, #8
subs tmp2, count, #64 /* Use tmp2 for count. */
ldr A_l, [src, #4]
ldr A_h, [src, #8]
strd B_l, B_h, [sp, #8]
ldr B_l, [src, #12]
ldr B_h, [src, #16]
strd C_l, C_h, [sp, #16]
ldr C_l, [src, #20]
ldr C_h, [src, #24]
strd D_l, D_h, [sp, #24]
ldr D_l, [src, #28]
ldr D_h, [src, #32]!
b 1f
.p2align 6
2:
pld [src, #(5 * 64) - (32 - 4)]
strd A_l, A_h, [dst, #40]
ldr A_l, [src, #36]
ldr A_h, [src, #40]
strd B_l, B_h, [dst, #48]
ldr B_l, [src, #44]
ldr B_h, [src, #48]
strd C_l, C_h, [dst, #56]
ldr C_l, [src, #52]
ldr C_h, [src, #56]
strd D_l, D_h, [dst, #64]!
ldr D_l, [src, #60]
ldr D_h, [src, #64]!
subs tmp2, tmp2, #64
1:
strd A_l, A_h, [dst, #8]
ldr A_l, [src, #4]
ldr A_h, [src, #8]
strd B_l, B_h, [dst, #16]
ldr B_l, [src, #12]
ldr B_h, [src, #16]
strd C_l, C_h, [dst, #24]
ldr C_l, [src, #20]
ldr C_h, [src, #24]
strd D_l, D_h, [dst, #32]
ldr D_l, [src, #28]
ldr D_h, [src, #32]
bcs 2b
/* Save the remaining bytes and restore the callee-saved regs. */
strd A_l, A_h, [dst, #40]
add src, src, #36
strd B_l, B_h, [dst, #48]
ldrd B_l, B_h, [sp, #8]
strd C_l, C_h, [dst, #56]
ldrd C_l, C_h, [sp, #16]
strd D_l, D_h, [dst, #64]
ldrd D_l, D_h, [sp, #24]
add dst, dst, #72
ands count, tmp2, #0x3f
#endif
ldr tmp2, [sp], #FRAME_SIZE
bne .Ltail63unaligned
bx lr
END(memcpy)

View File

@@ -1,6 +1,3 @@
/* $OpenBSD: setjmp.S,v 1.2 2004/02/01 05:40:52 drahn Exp $ */
/* $NetBSD: setjmp.S,v 1.5 2003/04/05 23:08:51 bjh21 Exp $ */
/*
* Copyright (c) 1997 Mark Brinicombe
* Copyright (c) 2010 Android Open Source Project.
@@ -35,119 +32,142 @@
*/
#include <private/bionic_asm.h>
#include <machine/setjmp.h>
#include <machine/cpu-features.h>
/*
* C library -- setjmp, longjmp
*
* longjmp(a,v)
* will generate a "return(v)" from the last call to
* setjmp(a)
* by restoring registers from the stack.
* The previous signal state is restored.
*/
// According to the ARM AAPCS document, we only need to save
// the following registers:
//
// Core r4-r14
//
// VFP d8-d15 (see section 5.1.2.1)
//
// Registers s16-s31 (d8-d15, q4-q7) must be preserved across subroutine
// calls; registers s0-s15 (d0-d7, q0-q3) do not need to be preserved
// (and can be used for passing arguments or returning results in standard
// procedure-call variants). Registers d16-d31 (q8-q15), if present, do
// not need to be preserved.
//
// FPSCR saved because glibc does.
// The internal structure of a jmp_buf is totally private.
// Current layout (may change in the future):
//
// word name description
// 0 magic magic number
// 1 sigmask signal mask (not used with _setjmp / _longjmp)
// 2 float_base base of float registers (d8 to d15)
// 18 float_state floating-point status and control register
// 19 core_base base of core registers (r4 to r14)
// 30 reserved reserved entries (room to grow)
// 64
//
// NOTE: float_base must be at an even word index, since the
// FP registers will be loaded/stored with instructions
// that expect 8-byte alignment.
#define _JB_SIGFLAG 0
#define _JB_SIGMASK (_JB_SIGFLAG+1)
#define _JB_FLOAT_BASE (_JB_SIGMASK+1)
#define _JB_FLOAT_STATE (_JB_FLOAT_BASE + (15-8+1)*2)
#define _JB_CORE_BASE (_JB_FLOAT_STATE+1)
ENTRY(setjmp)
/* Block all signals and retrieve the old signal mask */
stmfd sp!, {r0, r14}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset r14, 4
mov r0, #0x00000000
bl PIC_SYM(sigblock, PLT)
mov r1, r0
ldmfd sp!, {r0, r14}
.cfi_def_cfa_offset 0
/* Store signal mask */
str r1, [r0, #(_JB_SIGMASK * 4)]
ldr r1, .Lsetjmp_magic
str r1, [r0, #(_JB_MAGIC * 4)]
/* Store core registers */
add r1, r0, #(_JB_CORE_BASE * 4)
stmia r1, {r4-r14}
#ifdef __ARM_HAVE_VFP
/* Store floating-point registers */
add r1, r0, #(_JB_FLOAT_BASE * 4)
vstmia r1, {d8-d15}
/* Store floating-point state */
fmrx r1, fpscr
str r1, [r0, #(_JB_FLOAT_STATE * 4)]
#endif /* __ARM_HAVE_VFP */
mov r0, #0x00000000
bx lr
mov r1, #1
b sigsetjmp
END(setjmp)
.Lsetjmp_magic:
.word _JB_MAGIC_SETJMP
ENTRY(_setjmp)
mov r1, #0
b sigsetjmp
END(_setjmp)
// int sigsetjmp(sigjmp_buf env, int save_signal_mask);
ENTRY(sigsetjmp)
// Record whether or not we're saving the signal mask.
str r1, [r0, #(_JB_SIGFLAG * 4)]
ENTRY(longjmp)
ldr r2, .Lsetjmp_magic
ldr r3, [r0, #(_JB_MAGIC * 4)]
teq r2, r3
bne botch
// Do we need to save the signal mask?
teq r1, #0
beq 1f
/* Fetch signal mask */
ldr r2, [r0, #(_JB_SIGMASK * 4)]
// Get current signal mask.
stmfd sp!, {r0, r14}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset r14, 4
mov r0, #0
bl sigblock
mov r1, r0
ldmfd sp!, {r0, r14}
.cfi_def_cfa_offset 0
/* Set signal mask */
stmfd sp!, {r0, r1, r14}
.cfi_def_cfa_offset 12
.cfi_rel_offset r0, 0
.cfi_rel_offset r1, 4
.cfi_rel_offset r14, 8
sub sp, sp, #4 /* align the stack */
.cfi_adjust_cfa_offset 4
// Save the signal mask.
str r1, [r0, #(_JB_SIGMASK * 4)]
mov r0, r2
bl PIC_SYM(sigsetmask, PLT)
1:
// Save core registers.
add r1, r0, #(_JB_CORE_BASE * 4)
stmia r1, {r4-r14}
add sp, sp, #4 /* unalign the stack */
.cfi_adjust_cfa_offset -4
ldmfd sp!, {r0, r1, r14}
.cfi_def_cfa_offset 0
// Save floating-point registers.
add r1, r0, #(_JB_FLOAT_BASE * 4)
vstmia r1, {d8-d15}
#ifdef __ARM_HAVE_VFP
/* Restore floating-point registers */
add r2, r0, #(_JB_FLOAT_BASE * 4)
vldmia r2, {d8-d15}
/* Restore floating-point state */
ldr r2, [r0, #(_JB_FLOAT_STATE * 4)]
fmxr fpscr, r2
#endif /* __ARM_HAVE_VFP */
// Save floating-point state.
fmrx r1, fpscr
str r1, [r0, #(_JB_FLOAT_STATE * 4)]
/* Restore core registers */
add r2, r0, #(_JB_CORE_BASE * 4)
ldmia r2, {r4-r14}
mov r0, #0
bx lr
END(sigsetjmp)
/* Validate sp and r14 */
teq sp, #0
teqne r14, #0
beq botch
// void siglongjmp(sigjmp_buf env, int value);
ENTRY(siglongjmp)
// Do we need to restore the signal mask?
ldr r2, [r0, #(_JB_SIGFLAG * 4)]
teq r2, #0
beq 1f
/* Set return value */
// Restore the signal mask.
stmfd sp!, {r0, r1, r14}
.cfi_def_cfa_offset 12
.cfi_rel_offset r0, 0
.cfi_rel_offset r1, 4
.cfi_rel_offset r14, 8
sub sp, sp, #4 // Align the stack.
.cfi_adjust_cfa_offset 4
mov r0, r1
teq r0, #0x00000000
moveq r0, #0x00000001
bx lr
#ifdef __ARM_26__
mov r15, r14
#else
mov r15, r14
#endif
ldr r0, [r0, #(_JB_SIGMASK * 4)]
bl sigsetmask
/* validation failed, die die die. */
botch:
bl PIC_SYM(longjmperror, PLT)
bl PIC_SYM(abort, PLT)
b . - 8 /* Cannot get here */
END(longjmp)
add sp, sp, #4 // Unalign the stack.
.cfi_adjust_cfa_offset -4
ldmfd sp!, {r0, r1, r14}
.cfi_def_cfa_offset 0
1:
// Restore floating-point registers.
add r2, r0, #(_JB_FLOAT_BASE * 4)
vldmia r2, {d8-d15}
// Restore floating-point state.
ldr r2, [r0, #(_JB_FLOAT_STATE * 4)]
fmxr fpscr, r2
// Restore core registers.
add r2, r0, #(_JB_CORE_BASE * 4)
ldmia r2, {r4-r14}
// Validate sp and r14.
teq sp, #0
teqne r14, #0
bleq longjmperror
// Set return value.
mov r0, r1
teq r0, #0
moveq r0, #1
bx lr
END(siglongjmp)
ALIAS_SYMBOL(longjmp, siglongjmp)
ALIAS_SYMBOL(_longjmp, siglongjmp)

View File

@@ -1,66 +0,0 @@
/* $OpenBSD: sigsetjmp.S,v 1.2 2004/02/01 05:40:52 drahn Exp $ */
/* $NetBSD: sigsetjmp.S,v 1.3 2002/08/17 19:54:30 thorpej Exp $ */
/*
* Copyright (c) 1997 Mark Brinicombe
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Mark Brinicombe
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#define _ALIGN_TEXT .align 0
#include <private/bionic_asm.h>
#include <machine/setjmp.h>
/*
* C library -- sigsetjmp, siglongjmp
*
* longjmp(a,v)
* will generate a "return(v)" from the last call to
* setjmp(a, m)
* by restoring registers from the stack.
* The previous signal state is restored.
*/
ENTRY(sigsetjmp)
teq r1, #0
beq PIC_SYM(_setjmp, PLT)
b PIC_SYM(setjmp, PLT)
END(sigsetjmp)
.L_setjmp_magic:
.word _JB_MAGIC__SETJMP
ENTRY(siglongjmp)
ldr r2, .L_setjmp_magic
ldr r3, [r0]
teq r2, r3
beq PIC_SYM(_longjmp, PLT)
b PIC_SYM(longjmp, PLT)
END(siglongjmp)

View File

@@ -1,317 +0,0 @@
/*
* Copyright (c) 2011 The Android Open Source Project
* Copyright (c) 2008 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <private/bionic_asm.h>
.text
#ifdef __ARMEB__
#define SHFT2LSB lsl
#define SHFT2LSBEQ lsleq
#define SHFT2MSB lsr
#define SHFT2MSBEQ lsreq
#define MSB 0x000000ff
#define LSB 0xff000000
#else
#define SHFT2LSB lsr
#define SHFT2LSBEQ lsreq
#define SHFT2MSB lsl
#define SHFT2MSBEQ lsleq
#define MSB 0xff000000
#define LSB 0x000000ff
#endif
#define magic1(REG) REG
#define magic2(REG) REG, lsl #7
ENTRY(strcmp)
pld [r0, #0]
pld [r1, #0]
eor r2, r0, r1
tst r2, #3
/* Strings not at same byte offset from a word boundary. */
bne .Lstrcmp_unaligned
ands r2, r0, #3
bic r0, r0, #3
bic r1, r1, #3
ldr ip, [r0], #4
it eq
ldreq r3, [r1], #4
beq 1f
/* Although s1 and s2 have identical initial alignment, they are
* not currently word aligned. Rather than comparing bytes,
* make sure that any bytes fetched from before the addressed
* bytes are forced to 0xff. Then they will always compare
* equal.
*/
eor r2, r2, #3
lsl r2, r2, #3
mvn r3, #MSB
SHFT2LSB r2, r3, r2
ldr r3, [r1], #4
orr ip, ip, r2
orr r3, r3, r2
1:
/* Load the 'magic' constant 0x01010101. */
str r4, [sp, #-4]!
mov r4, #1
orr r4, r4, r4, lsl #8
orr r4, r4, r4, lsl #16
.p2align 2
4:
pld [r0, #8]
pld [r1, #8]
sub r2, ip, magic1(r4)
cmp ip, r3
itttt eq
/* check for any zero bytes in first word */
biceq r2, r2, ip
tsteq r2, magic2(r4)
ldreq ip, [r0], #4
ldreq r3, [r1], #4
beq 4b
2:
/* There's a zero or a different byte in the word */
SHFT2MSB r0, ip, #24
SHFT2LSB ip, ip, #8
cmp r0, #1
it cs
cmpcs r0, r3, SHFT2MSB #24
it eq
SHFT2LSBEQ r3, r3, #8
beq 2b
/* On a big-endian machine, r0 contains the desired byte in bits
* 0-7; on a little-endian machine they are in bits 24-31. In
* both cases the other bits in r0 are all zero. For r3 the
* interesting byte is at the other end of the word, but the
* other bits are not necessarily zero. We need a signed result
* representing the differnece in the unsigned bytes, so for the
* little-endian case we can't just shift the interesting bits up.
*/
#ifdef __ARMEB__
sub r0, r0, r3, lsr #24
#else
and r3, r3, #255
/* No RSB instruction in Thumb2 */
#ifdef __thumb2__
lsr r0, r0, #24
sub r0, r0, r3
#else
rsb r0, r3, r0, lsr #24
#endif
#endif
ldr r4, [sp], #4
bx lr
.Lstrcmp_unaligned:
wp1 .req r0
wp2 .req r1
b1 .req r2
w1 .req r4
w2 .req r5
t1 .req ip
@ r3 is scratch
/* First of all, compare bytes until wp1(sp1) is word-aligned. */
1:
tst wp1, #3
beq 2f
ldrb r2, [wp1], #1
ldrb r3, [wp2], #1
cmp r2, #1
it cs
cmpcs r2, r3
beq 1b
sub r0, r2, r3
bx lr
2:
str r5, [sp, #-4]!
str r4, [sp, #-4]!
mov b1, #1
orr b1, b1, b1, lsl #8
orr b1, b1, b1, lsl #16
and t1, wp2, #3
bic wp2, wp2, #3
ldr w1, [wp1], #4
ldr w2, [wp2], #4
cmp t1, #2
beq 2f
bhi 3f
/* Critical inner Loop: Block with 3 bytes initial overlap */
.p2align 2
1:
bic t1, w1, #MSB
cmp t1, w2, SHFT2LSB #8
sub r3, w1, b1
bic r3, r3, w1
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, SHFT2MSB #24
bne 6f
ldr w1, [wp1], #4
b 1b
4:
SHFT2LSB w2, w2, #8
b 8f
5:
#ifdef __ARMEB__
/* The syndrome value may contain false ones if the string ends
* with the bytes 0x01 0x00
*/
tst w1, #0xff000000
itt ne
tstne w1, #0x00ff0000
tstne w1, #0x0000ff00
beq 7f
#else
bics r3, r3, #0xff000000
bne 7f
#endif
ldrb w2, [wp2]
SHFT2LSB t1, w1, #24
#ifdef __ARMEB__
lsl w2, w2, #24
#endif
b 8f
6:
SHFT2LSB t1, w1, #24
and w2, w2, #LSB
b 8f
/* Critical inner Loop: Block with 2 bytes initial overlap */
.p2align 2
2:
SHFT2MSB t1, w1, #16
sub r3, w1, b1
SHFT2LSB t1, t1, #16
bic r3, r3, w1
cmp t1, w2, SHFT2LSB #16
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, SHFT2MSB #16
bne 6f
ldr w1, [wp1], #4
b 2b
5:
#ifdef __ARMEB__
/* The syndrome value may contain false ones if the string ends
* with the bytes 0x01 0x00
*/
tst w1, #0xff000000
it ne
tstne w1, #0x00ff0000
beq 7f
#else
lsls r3, r3, #16
bne 7f
#endif
ldrh w2, [wp2]
SHFT2LSB t1, w1, #16
#ifdef __ARMEB__
lsl w2, w2, #16
#endif
b 8f
6:
SHFT2MSB w2, w2, #16
SHFT2LSB t1, w1, #16
4:
SHFT2LSB w2, w2, #16
b 8f
/* Critical inner Loop: Block with 1 byte initial overlap */
.p2align 2
3:
and t1, w1, #LSB
cmp t1, w2, SHFT2LSB #24
sub r3, w1, b1
bic r3, r3, w1
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, SHFT2MSB #8
bne 6f
ldr w1, [wp1], #4
b 3b
4:
SHFT2LSB w2, w2, #24
b 8f
5:
/* The syndrome value may contain false ones if the string ends
* with the bytes 0x01 0x00
*/
tst w1, #LSB
beq 7f
ldr w2, [wp2], #4
6:
SHFT2LSB t1, w1, #8
bic w2, w2, #MSB
b 8f
7:
mov r0, #0
ldr r4, [sp], #4
ldr r5, [sp], #4
bx lr
8:
and r2, t1, #LSB
and r0, w2, #LSB
cmp r0, #1
it cs
cmpcs r0, r2
itt eq
SHFT2LSBEQ t1, t1, #8
SHFT2LSBEQ w2, w2, #8
beq 8b
sub r0, r2, r0
ldr r4, [sp], #4
ldr r5, [sp], #4
bx lr
END(strcmp)

View File

@@ -8,4 +8,9 @@ libc_bionic_src_files_arm += \
arch-arm/cortex-a15/bionic/strcpy.S \
arch-arm/cortex-a15/bionic/__strcpy_chk.S \
arch-arm/cortex-a15/bionic/strlen.S \
bionic/memmove.c \
libc_bionic_src_files_arm += \
arch-arm/generic/bionic/memcmp.S \
libc_bionic_src_files_arm += \
arch-arm/denver/bionic/memmove.S \

View File

@@ -0,0 +1 @@
include bionic/libc/arch-arm/cortex-a7/cortex-a7.mk

View File

@@ -35,6 +35,7 @@
*/
.fpu neon
.syntax unified
ENTRY(__memset_chk)
cmp r2, r3
@@ -100,9 +101,9 @@ ENTRY(memset)
1: bge 2f
vst1.32 {d0[0]}, [r0]!
2: movs ip, r2, lsl #31
strmib r1, [r0], #1
strcsb r1, [r0], #1
strcsb r1, [r0], #1
strbmi r1, [r0], #1
strbcs r1, [r0], #1
strbcs r1, [r0], #1
ldmfd sp!, {r0}
bx lr
END(memset)
@@ -131,11 +132,11 @@ ENTRY_PRIVATE(__memset_large_copy)
orr r1, r1, r1, lsr #16
movs r12, r3, lsl #31
strcsb r1, [r0], #1 /* can't use strh (alignment unknown) */
strcsb r1, [r0], #1
strmib r1, [r0], #1
strbcs r1, [r0], #1 /* can't use strh (alignment unknown) */
strbcs r1, [r0], #1
strbmi r1, [r0], #1
subs r2, r2, r3
ldmlsfd sp!, {r0, r4-r7, lr} /* return */
popls {r0, r4-r7, lr} /* return */
bxls lr
/* align the destination to a cache-line */
@@ -155,9 +156,9 @@ ENTRY_PRIVATE(__memset_large_copy)
/* conditionally writes 0 to 7 words (length in r3) */
movs r3, r3, lsl #28
stmcsia r0!, {r1, lr}
stmcsia r0!, {r1, lr}
stmmiia r0!, {r1, lr}
stmcs r0!, {r1, lr}
stmcs r0!, {r1, lr}
stmmi r0!, {r1, lr}
movs r3, r3, lsl #2
strcs r1, [r0], #4
@@ -172,13 +173,13 @@ ENTRY_PRIVATE(__memset_large_copy)
/* conditionally stores 0 to 31 bytes */
movs r2, r2, lsl #28
stmcsia r0!, {r1,r3,r12,lr}
stmmiia r0!, {r1, lr}
stmcs r0!, {r1,r3,r12,lr}
stmmi r0!, {r1, lr}
movs r2, r2, lsl #2
strcs r1, [r0], #4
strmih r1, [r0], #2
strhmi r1, [r0], #2
movs r2, r2, lsl #2
strcsb r1, [r0]
strbcs r1, [r0]
ldmfd sp!, {r0, r4-r7, lr}
bx lr
END(__memset_large_copy)

View File

@@ -8,4 +8,9 @@ libc_bionic_src_files_arm += \
arch-arm/cortex-a9/bionic/strcpy.S \
arch-arm/cortex-a9/bionic/__strcpy_chk.S \
arch-arm/cortex-a9/bionic/strlen.S \
bionic/memmove.c \
libc_bionic_src_files_arm += \
arch-arm/generic/bionic/memcmp.S \
libc_bionic_src_files_arm += \
arch-arm/denver/bionic/memmove.S \

View File

@@ -37,6 +37,7 @@
* memset() returns its first argument.
*/
.cpu cortex-a15
.fpu neon
.syntax unified

View File

@@ -1,4 +1,5 @@
libc_bionic_src_files_arm += \
arch-arm/generic/bionic/memcmp.S \
arch-arm/denver/bionic/memcpy.S \
arch-arm/denver/bionic/memmove.S \
arch-arm/denver/bionic/memset.S \

View File

@@ -40,6 +40,8 @@
* Optimized memcmp() for Cortex-A9.
*/
.syntax unified
ENTRY(memcmp)
pld [r0, #(CACHE_LINE_SIZE * 0)]
pld [r0, #(CACHE_LINE_SIZE * 1)]
@@ -161,25 +163,25 @@ ENTRY(memcmp)
eors r0, r0, ip
ldreq r0, [r4], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
eorseq r0, r0, lr
ldreq r0, [r4], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
eorseq r0, r0, ip
ldreq r0, [r4], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
eorseq r0, r0, lr
ldreq r0, [r4], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
eorseq r0, r0, ip
ldreq r0, [r4], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
eorseq r0, r0, lr
ldreq r0, [r4], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
eorseq r0, r0, ip
ldreq r0, [r4], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
eorseq r0, r0, lr
bne 2f
subs r2, r2, #32
bhs 0b
@@ -263,17 +265,17 @@ ENTRY(memcmp)
ldreq lr, [r1], #4
ldreq r0, [r4], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
eorseq r0, r0, ip
moveq ip, lr, lsr #16
ldreq lr, [r1], #4
ldreq r0, [r4], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
eorseq r0, r0, ip
moveq ip, lr, lsr #16
ldreq lr, [r1], #4
ldreq r0, [r4], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
eorseq r0, r0, ip
bne 7f
subs r2, r2, #16
bhs 6b
@@ -317,7 +319,7 @@ ENTRY(memcmp)
ldreq r7, [r1], #4
ldreq r0, [r4], #4
orreq ip, ip, r7, lsl r6
eoreqs r0, r0, ip
eorseq r0, r0, ip
bne 7f
subs r2, r2, #8
bhs 6b

View File

@@ -37,6 +37,8 @@
* so we have to preserve R0.
*/
.syntax unified
ENTRY(__memcpy_chk)
cmp r2, r3
bhi __memcpy_chk_fail
@@ -81,12 +83,12 @@ ENTRY(memcpy)
*/
movs r12, r3, lsl #31
sub r2, r2, r3 /* we know that r3 <= r2 because r2 >= 4 */
ldrmib r3, [r1], #1
ldrcsb r4, [r1], #1
ldrcsb r12,[r1], #1
strmib r3, [r0], #1
strcsb r4, [r0], #1
strcsb r12,[r0], #1
ldrbmi r3, [r1], #1
ldrbcs r4, [r1], #1
ldrbcs r12,[r1], #1
strbmi r3, [r0], #1
strbcs r4, [r0], #1
strbcs r12,[r0], #1
.Lsrc_aligned:
@@ -109,10 +111,10 @@ ENTRY(memcpy)
/* conditionally copies 0 to 7 words (length in r3) */
movs r12, r3, lsl #28
ldmcsia r1!, {r4, r5, r6, r7} /* 16 bytes */
ldmmiia r1!, {r8, r9} /* 8 bytes */
stmcsia r0!, {r4, r5, r6, r7}
stmmiia r0!, {r8, r9}
ldmcs r1!, {r4, r5, r6, r7} /* 16 bytes */
ldmmi r1!, {r8, r9} /* 8 bytes */
stmcs r0!, {r4, r5, r6, r7}
stmmi r0!, {r8, r9}
tst r3, #0x4
ldrne r10,[r1], #4 /* 4 bytes */
strne r10,[r0], #4
@@ -177,18 +179,18 @@ ENTRY(memcpy)
/* conditionnaly copies 0 to 31 bytes */
movs r12, r2, lsl #28
ldmcsia r1!, {r4, r5, r6, r7} /* 16 bytes */
ldmmiia r1!, {r8, r9} /* 8 bytes */
stmcsia r0!, {r4, r5, r6, r7}
stmmiia r0!, {r8, r9}
ldmcs r1!, {r4, r5, r6, r7} /* 16 bytes */
ldmmi r1!, {r8, r9} /* 8 bytes */
stmcs r0!, {r4, r5, r6, r7}
stmmi r0!, {r8, r9}
movs r12, r2, lsl #30
ldrcs r3, [r1], #4 /* 4 bytes */
ldrmih r4, [r1], #2 /* 2 bytes */
ldrhmi r4, [r1], #2 /* 2 bytes */
strcs r3, [r0], #4
strmih r4, [r0], #2
strhmi r4, [r0], #2
tst r2, #0x1
ldrneb r3, [r1] /* last byte */
strneb r3, [r0]
ldrbne r3, [r1] /* last byte */
strbne r3, [r0]
/* we're done! restore everything and return */
1: ldmfd sp!, {r5-r11}
@@ -228,11 +230,11 @@ ENTRY(memcpy)
* becomes aligned to 32 bits (r5 = nb of words to copy for alignment)
*/
movs r5, r5, lsl #31
strmib r3, [r0], #1
strbmi r3, [r0], #1
movmi r3, r3, lsr #8
strcsb r3, [r0], #1
strbcs r3, [r0], #1
movcs r3, r3, lsr #8
strcsb r3, [r0], #1
strbcs r3, [r0], #1
movcs r3, r3, lsr #8
cmp r2, #4
@@ -363,23 +365,23 @@ ENTRY(memcpy)
.Lpartial_word_tail:
/* we have a partial word in the input buffer */
movs r5, lr, lsl #(31-3)
strmib r3, [r0], #1
strbmi r3, [r0], #1
movmi r3, r3, lsr #8
strcsb r3, [r0], #1
strbcs r3, [r0], #1
movcs r3, r3, lsr #8
strcsb r3, [r0], #1
strbcs r3, [r0], #1
/* Refill spilled registers from the stack. Don't update sp. */
ldmfd sp, {r5-r11}
.Lcopy_last_3_and_return:
movs r2, r2, lsl #31 /* copy remaining 0, 1, 2 or 3 bytes */
ldrmib r2, [r1], #1
ldrcsb r3, [r1], #1
ldrcsb r12,[r1]
strmib r2, [r0], #1
strcsb r3, [r0], #1
strcsb r12,[r0]
ldrbmi r2, [r1], #1
ldrbcs r3, [r1], #1
ldrbcs r12,[r1]
strbmi r2, [r0], #1
strbcs r3, [r0], #1
strbcs r12,[r0]
/* we're done! restore sp and spilled registers and return */
add sp, sp, #28

View File

@@ -35,6 +35,8 @@
* memset() returns its first argument.
*/
.syntax unified
ENTRY(__memset_chk)
cmp r2, r3
bls done
@@ -76,11 +78,11 @@ ENTRY(memset)
orr r1, r1, r1, lsr #16
movs r12, r3, lsl #31
strcsb r1, [r0], #1 /* can't use strh (alignment unknown) */
strcsb r1, [r0], #1
strmib r1, [r0], #1
strbcs r1, [r0], #1 /* can't use strh (alignment unknown) */
strbcs r1, [r0], #1
strbmi r1, [r0], #1
subs r2, r2, r3
ldmlsfd sp!, {r0, r4-r7, lr} /* return */
popls {r0, r4-r7, lr} /* return */
bxls lr
/* align the destination to a cache-line */
@@ -100,9 +102,9 @@ ENTRY(memset)
/* conditionally writes 0 to 7 words (length in r3) */
movs r3, r3, lsl #28
stmcsia r0!, {r1, lr}
stmcsia r0!, {r1, lr}
stmmiia r0!, {r1, lr}
stmcs r0!, {r1, lr}
stmcs r0!, {r1, lr}
stmmi r0!, {r1, lr}
movs r3, r3, lsl #2
strcs r1, [r0], #4
@@ -117,13 +119,13 @@ ENTRY(memset)
/* conditionally stores 0 to 31 bytes */
movs r2, r2, lsl #28
stmcsia r0!, {r1,r3,r12,lr}
stmmiia r0!, {r1, lr}
stmcs r0!, {r1,r3,r12,lr}
stmmi r0!, {r1, lr}
movs r2, r2, lsl #2
strcs r1, [r0], #4
strmih r1, [r0], #2
strhmi r1, [r0], #2
movs r2, r2, lsl #2
strcsb r1, [r0]
strbcs r1, [r0]
ldmfd sp!, {r0, r4-r7, lr}
bx lr
END(memset)

View File

@@ -32,6 +32,8 @@
#include <machine/cpu-features.h>
#include <private/bionic_asm.h>
.syntax unified
ENTRY(strcpy)
pld [r1, #0]
eor r2, r0, r1
@@ -108,15 +110,15 @@ ENTRY(strcpy)
#ifdef __ARMEB__
tst r2, #0xff00
iteet ne
strneh r2, [ip], #2
strhne r2, [ip], #2
lsreq r2, r2, #8
streqb r2, [ip]
strbeq r2, [ip]
tstne r2, #0xff
#else
tst r2, #0xff
itet ne
strneh r2, [ip], #2
streqb r2, [ip]
strhne r2, [ip], #2
strbeq r2, [ip]
tstne r2, #0xff00
#endif
bne 5b

View File

@@ -1,11 +1,14 @@
libc_bionic_src_files_arm += \
arch-arm/generic/bionic/memcmp.S \
arch-arm/generic/bionic/memcpy.S \
arch-arm/generic/bionic/memset.S \
arch-arm/generic/bionic/strcmp.S \
arch-arm/generic/bionic/strcpy.S \
arch-arm/generic/bionic/strlen.c \
bionic/memmove.c \
bionic/__strcat_chk.cpp \
bionic/__strcpy_chk.cpp \
libc_openbsd_src_files_arm += \
upstream-openbsd/lib/libc/string/memmove.c \
upstream-openbsd/lib/libc/string/stpcpy.c \
upstream-openbsd/lib/libc/string/strcat.c \

View File

@@ -38,9 +38,7 @@
#ifndef _ARM32_ASM_H_
#define _ARM32_ASM_H_
#ifndef _ALIGN_TEXT
# define _ALIGN_TEXT .align 0
#endif
#define __bionic_asm_align 0
#undef __bionic_asm_custom_entry
#undef __bionic_asm_custom_end
@@ -50,10 +48,4 @@
#undef __bionic_asm_function_type
#define __bionic_asm_function_type #function
#if defined(__ELF__) && defined(PIC)
#define PIC_SYM(x,y) x ## ( ## y ## )
#else
#define PIC_SYM(x,y) x
#endif
#endif /* !_ARM_ASM_H_ */

View File

@@ -28,14 +28,6 @@
#ifndef _ARM_MACHINE_CPU_FEATURES_H
#define _ARM_MACHINE_CPU_FEATURES_H
/* The purpose of this file is to define several macros corresponding
* to CPU features that may or may not be available at build time on
* on the target CPU.
*
* This is done to abstract us from the various ARM Architecture
* quirks and alphabet soup.
*/
/* __ARM_ARCH__ is a number corresponding to the ARM revision
* we're going to support. Our toolchain doesn't define __ARM_ARCH__
* so try to guess it.
@@ -53,31 +45,4 @@
# endif
#endif
/* define __ARM_HAVE_HALFWORD_MULTIPLY when half-word multiply instructions
* this means variants of: smul, smulw, smla, smlaw, smlal
*/
#define __ARM_HAVE_HALFWORD_MULTIPLY 1
/* define __ARM_HAVE_LDREXD for ARMv7 architecture
* (also present in ARMv6K, but not implemented in ARMv7-M, neither of which
* we care about)
*/
#if __ARM_ARCH__ >= 7
# define __ARM_HAVE_LDREXD
#endif
/* define _ARM_HAVE_VFP if we have VFPv3
*/
#if __ARM_ARCH__ >= 7 && defined __VFP_FP__
# define __ARM_HAVE_VFP
#endif
/* define _ARM_HAVE_NEON for ARMv7 architecture if we support the
* Neon SIMD instruction set extensions. This also implies
* that VFPv3-D32 is supported.
*/
#if __ARM_ARCH__ >= 7 && defined __ARM_NEON__
# define __ARM_HAVE_NEON
#endif
#endif /* _ARM_MACHINE_CPU_FEATURES_H */

View File

@@ -102,6 +102,8 @@
/* 112-127 are reserved for private experiments. */
#define R_ARM_IRELATIVE 160
#define R_ARM_RXPC25 249
#define R_ARM_RSBREL32 250
#define R_ARM_THM_RPC22 251

View File

@@ -1,79 +0,0 @@
/* $OpenBSD: endian.h,v 1.3 2005/12/13 00:35:23 millert Exp $ */
/*
* Copyright (C) 2010 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ARM_ENDIAN_H_
#define _ARM_ENDIAN_H_
#ifdef __GNUC__
/* According to RealView Assembler User's Guide, REV and REV16 are available
* in Thumb code and 16-bit instructions when used in Thumb-2 code.
*
* REV Rd, Rm
* Rd and Rm must both be Lo registers.
*
* REV16 Rd, Rm
* Rd and Rm must both be Lo registers.
*
* The +l constraint takes care of this without constraining us in ARM mode.
*/
#define __swap16md(x) ({ \
register u_int16_t _x = (x); \
__asm__ __volatile__("rev16 %0, %0" : "+l" (_x)); \
_x; \
})
#define __swap32md(x) ({ \
register u_int32_t _x = (x); \
__asm__ __volatile__("rev %0, %0" : "+l" (_x)); \
_x; \
})
#define __swap64md(x) ({ \
u_int64_t _swap64md_x = (x); \
(u_int64_t) __swap32md(_swap64md_x >> 32) | \
(u_int64_t) __swap32md(_swap64md_x & 0xffffffff) << 32; \
})
/* Tell sys/endian.h we have MD variants of the swap macros. */
#define MD_SWAP
#endif /* __GNUC__ */
#if defined(__ARMEB__)
#define _BYTE_ORDER _BIG_ENDIAN
#else
#define _BYTE_ORDER _LITTLE_ENDIAN
#endif
#define __STRICT_ALIGNMENT
#include <sys/types.h>
#include <sys/endian.h>
#endif /* !_ARM_ENDIAN_H_ */

View File

@@ -1,50 +0,0 @@
/* $OpenBSD: exec.h,v 1.9 2003/04/17 03:42:14 drahn Exp $ */
/* $NetBSD: exec.h,v 1.6 1994/10/27 04:16:05 cgd Exp $ */
/*
* Copyright (c) 1993 Christopher G. Demetriou
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _ARM_EXEC_H_
#define _ARM_EXEC_H_
#define __LDPGSZ 4096
#define NATIVE_EXEC_ELF
#define ARCH_ELFSIZE 32
#define ELF_TARG_CLASS ELFCLASS32
#define ELF_TARG_DATA ELFDATA2LSB
#define ELF_TARG_MACH EM_ARM
#define _NLIST_DO_AOUT
#define _NLIST_DO_ELF
#define _KERN_DO_AOUT
#define _KERN_DO_ELF
#endif /* _ARM_EXEC_H_ */

View File

@@ -26,10 +26,6 @@
* SUCH DAMAGE.
*/
/*
* machine/setjmp.h: machine dependent setjmp-related information.
*/
/* _JBLEN is the size of a jmp_buf in longs.
* Do not modify this value or you will break the ABI !
*
@@ -37,46 +33,3 @@
* that was replaced by this one.
*/
#define _JBLEN 64
/* According to the ARM AAPCS document, we only need to save
* the following registers:
*
* Core r4-r14
*
* VFP d8-d15 (see section 5.1.2.1)
*
* Registers s16-s31 (d8-d15, q4-q7) must be preserved across subroutine
* calls; registers s0-s15 (d0-d7, q0-q3) do not need to be preserved
* (and can be used for passing arguments or returning results in standard
* procedure-call variants). Registers d16-d31 (q8-q15), if present, do
* not need to be preserved.
*
* FPSCR saved because GLibc does saves it too.
*
*/
/* The internal structure of a jmp_buf is totally private.
* Current layout (may change in the future):
*
* word name description
* 0 magic magic number
* 1 sigmask signal mask (not used with _setjmp / _longjmp)
* 2 float_base base of float registers (d8 to d15)
* 18 float_state floating-point status and control register
* 19 core_base base of core registers (r4 to r14)
* 30 reserved reserved entries (room to grow)
* 64
*
* NOTE: float_base must be at an even word index, since the
* FP registers will be loaded/stored with instructions
* that expect 8-byte alignment.
*/
#define _JB_MAGIC 0
#define _JB_SIGMASK (_JB_MAGIC+1)
#define _JB_FLOAT_BASE (_JB_SIGMASK+1)
#define _JB_FLOAT_STATE (_JB_FLOAT_BASE + (15-8+1)*2)
#define _JB_CORE_BASE (_JB_FLOAT_STATE+1)
#define _JB_MAGIC__SETJMP 0x4278f500
#define _JB_MAGIC_SETJMP 0x4278f501

View File

@@ -37,6 +37,7 @@
*/
.fpu neon
.syntax unified
ENTRY(__memset_chk)
cmp r2, r3
@@ -98,9 +99,9 @@ ENTRY(memset)
1: bge 2f
vst1.32 {d0[0]}, [r0]!
2: movs ip, r2, lsl #31
strmib r1, [r0], #1
strcsb r1, [r0], #1
strcsb r1, [r0], #1
strbmi r1, [r0], #1
strbcs r1, [r0], #1
strbcs r1, [r0], #1
ldmfd sp!, {r0}
bx lr
END(memset)

View File

@@ -11,4 +11,9 @@ libc_bionic_src_files_arm += \
arch-arm/cortex-a15/bionic/strcat.S \
arch-arm/cortex-a15/bionic/strcpy.S \
arch-arm/cortex-a15/bionic/strlen.S \
bionic/memmove.c \
libc_bionic_src_files_arm += \
arch-arm/generic/bionic/memcmp.S \
libc_bionic_src_files_arm += \
arch-arm/denver/bionic/memmove.S \

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(clock_nanosleep)
ENTRY(___clock_nanosleep)
mov ip, r7
ldr r7, =__NR_clock_nanosleep
swi #0
@@ -11,4 +11,5 @@ ENTRY(clock_nanosleep)
bxls lr
neg r0, r0
b __set_errno_internal
END(clock_nanosleep)
END(___clock_nanosleep)
.hidden ___clock_nanosleep

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(close)
ENTRY(___close)
mov ip, r7
ldr r7, =__NR_close
swi #0
@@ -11,4 +11,5 @@ ENTRY(close)
bxls lr
neg r0, r0
b __set_errno_internal
END(close)
END(___close)
.hidden ___close

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(faccessat)
ENTRY(___faccessat)
mov ip, r7
ldr r7, =__NR_faccessat
swi #0
@@ -11,4 +11,5 @@ ENTRY(faccessat)
bxls lr
neg r0, r0
b __set_errno_internal
END(faccessat)
END(___faccessat)
.hidden ___faccessat

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fchmod)
ENTRY(___fchmod)
mov ip, r7
ldr r7, =__NR_fchmod
swi #0
@@ -11,4 +11,5 @@ ENTRY(fchmod)
bxls lr
neg r0, r0
b __set_errno_internal
END(fchmod)
END(___fchmod)
.hidden ___fchmod

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fchmodat)
ENTRY(___fchmodat)
mov ip, r7
ldr r7, =__NR_fchmodat
swi #0
@@ -11,4 +11,5 @@ ENTRY(fchmodat)
bxls lr
neg r0, r0
b __set_errno_internal
END(fchmodat)
END(___fchmodat)
.hidden ___fchmodat

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fgetxattr)
ENTRY(___fgetxattr)
mov ip, r7
ldr r7, =__NR_fgetxattr
swi #0
@@ -11,4 +11,5 @@ ENTRY(fgetxattr)
bxls lr
neg r0, r0
b __set_errno_internal
END(fgetxattr)
END(___fgetxattr)
.hidden ___fgetxattr

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fsetxattr)
ENTRY(___fsetxattr)
mov ip, sp
stmfd sp!, {r4, r5, r6, r7}
.cfi_def_cfa_offset 16
@@ -19,4 +19,5 @@ ENTRY(fsetxattr)
bxls lr
neg r0, r0
b __set_errno_internal
END(fsetxattr)
END(___fsetxattr)
.hidden ___fsetxattr

View File

@@ -0,0 +1,15 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(___rt_sigqueueinfo)
mov ip, r7
ldr r7, =__NR_rt_sigqueueinfo
swi #0
mov r7, ip
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno_internal
END(___rt_sigqueueinfo)
.hidden ___rt_sigqueueinfo

View File

@@ -13,5 +13,4 @@ ENTRY(_exit)
b __set_errno_internal
END(_exit)
.globl _Exit
.equ _Exit, _exit
ALIAS_SYMBOL(_Exit, _exit)

View File

@@ -13,5 +13,4 @@ ENTRY(fstat64)
b __set_errno_internal
END(fstat64)
.globl fstat
.equ fstat, fstat64
ALIAS_SYMBOL(fstat, fstat64)

View File

@@ -13,5 +13,4 @@ ENTRY(fstatat64)
b __set_errno_internal
END(fstatat64)
.globl fstatat
.equ fstatat, fstatat64
ALIAS_SYMBOL(fstatat, fstatat64)

View File

@@ -1,14 +0,0 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(ftruncate)
mov ip, r7
ldr r7, =__NR_ftruncate
swi #0
mov r7, ip
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno_internal
END(ftruncate)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(process_vm_readv)
mov ip, sp
stmfd sp!, {r4, r5, r6, r7}
.cfi_def_cfa_offset 16
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
.cfi_rel_offset r6, 8
.cfi_rel_offset r7, 12
ldmfd ip, {r4, r5, r6}
ldr r7, =__NR_process_vm_readv
swi #0
ldmfd sp!, {r4, r5, r6, r7}
.cfi_def_cfa_offset 0
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno_internal
END(process_vm_readv)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(process_vm_writev)
mov ip, sp
stmfd sp!, {r4, r5, r6, r7}
.cfi_def_cfa_offset 16
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
.cfi_rel_offset r6, 8
.cfi_rel_offset r7, 12
ldmfd ip, {r4, r5, r6}
ldr r7, =__NR_process_vm_writev
swi #0
ldmfd sp!, {r4, r5, r6, r7}
.cfi_def_cfa_offset 0
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno_internal
END(process_vm_writev)

View File

@@ -0,0 +1,14 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(sethostname)
mov ip, r7
ldr r7, =__NR_sethostname
swi #0
mov r7, ip
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno_internal
END(sethostname)

View File

@@ -8,7 +8,6 @@ libc_bionic_src_files_arm64 += \
bionic/__memset_chk.cpp \
bionic/__strcpy_chk.cpp \
bionic/__strcat_chk.cpp \
bionic/memrchr.c \
bionic/strrchr.cpp \
libc_freebsd_src_files_arm64 += \
@@ -21,6 +20,7 @@ libc_freebsd_src_files_arm64 += \
upstream-freebsd/lib/libc/string/wmemcmp.c \
libc_openbsd_src_files_arm64 += \
upstream-openbsd/lib/libc/string/memrchr.c \
upstream-openbsd/lib/libc/string/stpncpy.c \
upstream-openbsd/lib/libc/string/strcat.c \
upstream-openbsd/lib/libc/string/strlcat.c \
@@ -35,10 +35,8 @@ libc_openbsd_src_files_arm64 += \
libc_bionic_src_files_arm64 += \
arch-arm64/bionic/__bionic_clone.S \
arch-arm64/bionic/_exit_with_stack_teardown.S \
arch-arm64/bionic/_setjmp.S \
arch-arm64/bionic/setjmp.S \
arch-arm64/bionic/__set_tls.c \
arch-arm64/bionic/sigsetjmp.S \
arch-arm64/bionic/syscall.S \
arch-arm64/bionic/vfork.S \
@@ -61,6 +59,6 @@ ifeq ($(wildcard $(cpu_variant_mk)),)
$(error "TARGET_CPU_VARIANT not set or set to an unknown value. Possible values are generic, denver64. Use generic for devices that do not have a CPU similar to any of the supported cpu variants.")
endif
include $(cpu_variant_mk)
libc_common_additional_dependencies += $(cpu_variank_mk)
libc_common_additional_dependencies += $(cpu_variant_mk)
cpu_variant_mk :=

View File

@@ -31,8 +31,8 @@
// pid_t __bionic_clone(int flags, void* child_stack, pid_t* parent_tid, void* tls, pid_t* child_tid, int (*fn)(void*), void* arg);
ENTRY(__bionic_clone)
# Copy 'fn' and 'arg' onto the child stack.
stp x5, x6, [x1, #-16]
# Push 'fn' and 'arg' onto the child stack.
stp x5, x6, [x1, #-16]!
# Make the system call.
mov x8, __NR_clone
@@ -49,12 +49,12 @@ ENTRY(__bionic_clone)
ret
.L_bc_child:
# We're in the child now. Set the end of the frame record chain...
mov x29, xzr
# Setting x30 to 0 will make the unwinder stop at __start_thread
mov x30, xzr
# ...and call __start_thread with the 'fn' and 'arg' we stored on the child stack.
ldp x0, x1, [sp, #-16]
# We're in the child now. Set the end of the frame record chain.
mov x29, #0
# Setting x30 to 0 will make the unwinder stop at __start_thread.
mov x30, #0
# Call __start_thread with the 'fn' and 'arg' we stored on the child stack.
ldp x0, x1, [sp], #16
b __start_thread
END(__bionic_clone)
.hidden __bionic_clone

View File

@@ -1,111 +0,0 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
#include <machine/setjmp.h>
/*
* C library - _setjmp, _longjmp
*
* _longjmp(jmp_buf state, int value)
* will generate a "return(v)" from the last call to _setjmp(state) by restoring
* registers from the stack. The previous signal state is NOT restored.
*
* NOTE: x0 return value
* x9-x15 temporary registers
*/
ENTRY(_setjmp)
/* store magic number */
ldr w9, .L_setjmp_magic
str w9, [x0, #(_JB_MAGIC * 4)]
/* store core registers */
mov x10, sp
stp x30, x10, [x0, #(_JB_CORE_BASE * 4 + 16 * 0)]
stp x28, x29, [x0, #(_JB_CORE_BASE * 4 + 16 * 1)]
stp x26, x27, [x0, #(_JB_CORE_BASE * 4 + 16 * 2)]
stp x24, x25, [x0, #(_JB_CORE_BASE * 4 + 16 * 3)]
stp x22, x23, [x0, #(_JB_CORE_BASE * 4 + 16 * 4)]
stp x20, x21, [x0, #(_JB_CORE_BASE * 4 + 16 * 5)]
str x19, [x0, #(_JB_CORE_BASE * 4 + 16 * 6)]
/* store floating point registers */
stp d14, d15, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 0)]
stp d12, d13, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 1)]
stp d10, d11, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 2)]
stp d8, d9, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 3)]
mov w0, wzr
ret
END(_setjmp)
.L_setjmp_magic:
.word _JB_MAGIC__SETJMP
ENTRY(_longjmp)
/* check magic */
ldr w9, .L_setjmp_magic
ldr w10, [x0, #(_JB_MAGIC * 4)]
cmp w9, w10
b.ne .L_fail
/* restore core registers */
ldp x30, x10, [x0, #(_JB_CORE_BASE * 4 + 16 * 0)]
mov sp, x10
ldp x28, x29, [x0, #(_JB_CORE_BASE * 4 + 16 * 1)]
ldp x26, x27, [x0, #(_JB_CORE_BASE * 4 + 16 * 2)]
ldp x24, x25, [x0, #(_JB_CORE_BASE * 4 + 16 * 3)]
ldp x22, x23, [x0, #(_JB_CORE_BASE * 4 + 16 * 4)]
ldp x20, x21, [x0, #(_JB_CORE_BASE * 4 + 16 * 5)]
ldr x19, [x0, #(_JB_CORE_BASE * 4 + 16 * 6)]
/* restore floating point registers */
ldp d14, d15, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 0)]
ldp d12, d13, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 1)]
ldp d10, d11, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 2)]
ldp d8, d9, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 3)]
/* validate sp (sp mod 16 = 0) and lr (lr mod 4 = 0) */
tst x30, #3
b.ne .L_fail
mov x10, sp
tst x10, #15
b.ne .L_fail
/* set return value */
cmp w1, wzr
csinc w0, w1, wzr, ne
ret
/* validation failed, die die die */
.L_fail:
bl PIC_SYM(longjmperror, PLT)
bl PIC_SYM(abort, PLT)
b . - 8 /* Cannot get here */
END(_longjmp)

View File

@@ -67,3 +67,4 @@ __asm__ (
#include "../../arch-common/bionic/__dso_handle.h"
#include "../../arch-common/bionic/atexit.h"
#include "../../arch-common/bionic/pthread_atfork.h"

View File

@@ -27,97 +27,124 @@
*/
#include <private/bionic_asm.h>
#include <machine/setjmp.h>
/*
* C library - _setjmp, _longjmp
*
* _longjmp(jmp_buf state, int value)
* will generate a "return(v)" from the last call to _setjmp(state) by restoring
* registers from the stack. The previous signal state is NOT restored.
*
* NOTE: x0 return value
* x9-x15 temporary registers
*/
// According to AARCH64 PCS document we need to save the following
// registers:
//
// Core x19 - x30, sp (see section 5.1.1)
// VFP d8 - d15 (see section 5.1.2)
//
// NOTE: All the registers saved here will have 64 bit vales.
// AAPCS mandates that the higher part of q registers do not need to
// be saved by the callee.
#define _JB_SIGFLAG 0
#define _JB_SIGMASK (_JB_SIGFLAG + 1)
#define _JB_X30_SP (_JB_SIGMASK + 1)
#define _JB_X28_X29 (_JB_X30_SP + 2)
#define _JB_X26_X27 (_JB_X28_X29 + 2)
#define _JB_X24_X25 (_JB_X26_X27 + 2)
#define _JB_X22_X23 (_JB_X24_X25 + 2)
#define _JB_X20_X21 (_JB_X22_X23 + 2)
#define _JB_X19 (_JB_X20_X21 + 2)
#define _JB_D14_D15 (_JB_X19 + 1)
#define _JB_D12_D13 (_JB_D14_D15 + 2)
#define _JB_D10_D11 (_JB_D12_D13 + 2)
#define _JB_D8_D9 (_JB_D10_D11 + 2)
ENTRY(setjmp)
/* block all signals an retrieve signal mask */
stp x0, x30, [sp, #-16]!
mov x0, xzr
bl PIC_SYM(sigblock, PLT)
mov w1, w0
ldp x0, x30, [sp], #16
/* store signal mask */
str w1, [x0, #(_JB_SIGMASK *4)]
/* store magic number */
ldr w9, .L_setjmp_magic
str w9, [x0, #(_JB_MAGIC * 4)]
/* store core registers */
mov x10, sp
stp x30, x10, [x0, #(_JB_CORE_BASE * 4 + 16 * 0)]
stp x28, x29, [x0, #(_JB_CORE_BASE * 4 + 16 * 1)]
stp x26, x27, [x0, #(_JB_CORE_BASE * 4 + 16 * 2)]
stp x24, x25, [x0, #(_JB_CORE_BASE * 4 + 16 * 3)]
stp x22, x23, [x0, #(_JB_CORE_BASE * 4 + 16 * 4)]
stp x20, x21, [x0, #(_JB_CORE_BASE * 4 + 16 * 5)]
str x19, [x0, #(_JB_CORE_BASE * 4 + 16 * 6)]
/* store floating point registers */
stp d14, d15, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 0)]
stp d12, d13, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 1)]
stp d10, d11, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 2)]
stp d8, d9, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 3)]
mov w0, wzr
ret
mov w1, #1
b sigsetjmp
END(setjmp)
.L_setjmp_magic:
.word _JB_MAGIC__SETJMP
ENTRY(_setjmp)
mov w1, #0
b sigsetjmp
END(_setjmp)
ENTRY(longjmp)
/* check magic */
ldr w9, .L_setjmp_magic
ldr w10, [x0, #(_JB_MAGIC * 4)]
cmp w9, w10
b.ne .L_fail
// int sigsetjmp(sigjmp_buf env, int save_signal_mask);
ENTRY(sigsetjmp)
// Record whether or not we're saving the signal mask.
str w1, [x0, #(_JB_SIGFLAG * 8)]
/* restore core registers */
ldp x30, x10, [x0, #(_JB_CORE_BASE * 4 + 16 * 0)]
mov sp, x10
ldp x28, x29, [x0, #(_JB_CORE_BASE * 4 + 16 * 1)]
ldp x26, x27, [x0, #(_JB_CORE_BASE * 4 + 16 * 2)]
ldp x24, x25, [x0, #(_JB_CORE_BASE * 4 + 16 * 3)]
ldp x22, x23, [x0, #(_JB_CORE_BASE * 4 + 16 * 4)]
ldp x20, x21, [x0, #(_JB_CORE_BASE * 4 + 16 * 5)]
ldr x19, [x0, #(_JB_CORE_BASE * 4 + 16 * 6)]
// Do we need to save the signal mask?
cbz w1, 1f
/* restore floating point registers */
ldp d14, d15, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 0)]
ldp d12, d13, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 1)]
ldp d10, d11, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 2)]
ldp d8, d9, [x0, #(_JB_FLOAT_BASE * 4 + 16 * 3)]
// Save current signal mask.
stp x0, x30, [sp, #-16]!
// The 'how' argument is ignored if new_mask is NULL.
mov x1, #0 // NULL.
add x2, x0, #(_JB_SIGMASK * 8) // old_mask.
bl sigprocmask
ldp x0, x30, [sp], #16
/* validate sp (sp mod 16 = 0) and lr (lr mod 4 = 0) */
tst x30, #3
b.ne .L_fail
mov x10, sp
tst x10, #15
b.ne .L_fail
1:
// Save core registers.
mov x10, sp
stp x30, x10, [x0, #(_JB_X30_SP * 8)]
stp x28, x29, [x0, #(_JB_X28_X29 * 8)]
stp x26, x27, [x0, #(_JB_X26_X27 * 8)]
stp x24, x25, [x0, #(_JB_X24_X25 * 8)]
stp x22, x23, [x0, #(_JB_X22_X23 * 8)]
stp x20, x21, [x0, #(_JB_X20_X21 * 8)]
str x19, [x0, #(_JB_X19 * 8)]
/* set return value */
cmp w1, wzr
csinc w0, w1, wzr, ne
ret
// Save floating point registers.
stp d14, d15, [x0, #(_JB_D14_D15 * 8)]
stp d12, d13, [x0, #(_JB_D12_D13 * 8)]
stp d10, d11, [x0, #(_JB_D10_D11 * 8)]
stp d8, d9, [x0, #(_JB_D8_D9 * 8)]
/* validation failed, die die die */
.L_fail:
bl PIC_SYM(longjmperror, PLT)
bl PIC_SYM(abort, PLT)
b . - 8 /* Cannot get here */
END(longjmp)
mov w0, #0
ret
END(sigsetjmp)
// void siglongjmp(sigjmp_buf env, int value);
ENTRY(siglongjmp)
// Do we need to restore the signal mask?
ldr w9, [x0, #(_JB_SIGFLAG * 8)]
cbz w9, 1f
// Restore signal mask.
stp x0, x30, [sp, #-16]!
mov x19, x1 // Save 'value'.
mov x2, x0
mov x0, #2 // SIG_SETMASK
add x1, x2, #(_JB_SIGMASK * 8) // new_mask.
mov x2, #0 // NULL.
bl sigprocmask
mov x1, x19 // Restore 'value'.
ldp x0, x30, [sp], #16
1:
// Restore core registers.
ldp x30, x10, [x0, #(_JB_X30_SP * 8)]
mov sp, x10
ldp x28, x29, [x0, #(_JB_X28_X29 * 8)]
ldp x26, x27, [x0, #(_JB_X26_X27 * 8)]
ldp x24, x25, [x0, #(_JB_X24_X25 * 8)]
ldp x22, x23, [x0, #(_JB_X22_X23 * 8)]
ldp x20, x21, [x0, #(_JB_X20_X21 * 8)]
ldr x19, [x0, #(_JB_X19 * 8)]
// Restore floating point registers.
ldp d14, d15, [x0, #(_JB_D14_D15 * 8)]
ldp d12, d13, [x0, #(_JB_D12_D13 * 8)]
ldp d10, d11, [x0, #(_JB_D10_D11 * 8)]
ldp d8, d9, [x0, #(_JB_D8_D9 * 8)]
// Validate sp (sp mod 16 = 0) and lr (lr mod 4 = 0).
tst x30, #3
b.ne longjmperror
mov x10, sp
tst x10, #15
b.ne longjmperror
// Set return value.
cmp w1, wzr
csinc w0, w1, wzr, ne
ret
END(siglongjmp)
ALIAS_SYMBOL(longjmp, siglongjmp)
ALIAS_SYMBOL(_longjmp, siglongjmp)

View File

@@ -0,0 +1 @@
include bionic/libc/arch-arm64/generic/generic.mk

View File

@@ -101,7 +101,7 @@ ENTRY(memchr)
and vhas_chr2.16b, vhas_chr2.16b, vrepmask.16b
addp vend.16b, vhas_chr1.16b, vhas_chr2.16b /* 256->128 */
addp vend.16b, vend.16b, vend.16b /* 128->64 */
mov synd, vend.2d[0]
mov synd, vend.d[0]
/* Clear the soff*2 lower bits */
lsl tmp, soff, #1
lsr synd, synd, tmp
@@ -121,7 +121,7 @@ ENTRY(memchr)
/* Use a fast check for the termination condition */
orr vend.16b, vhas_chr1.16b, vhas_chr2.16b
addp vend.2d, vend.2d, vend.2d
mov synd, vend.2d[0]
mov synd, vend.d[0]
/* We're not out of data, loop if we haven't found the character */
cbz synd, .Lloop
@@ -131,7 +131,7 @@ ENTRY(memchr)
and vhas_chr2.16b, vhas_chr2.16b, vrepmask.16b
addp vend.16b, vhas_chr1.16b, vhas_chr2.16b /* 256->128 */
addp vend.16b, vend.16b, vend.16b /* 128->64 */
mov synd, vend.2d[0]
mov synd, vend.d[0]
/* Only do the clear for the last possible block */
b.hi .Ltail

View File

@@ -109,7 +109,7 @@ ENTRY(strchr)
addp vend1.16b, vend1.16b, vend2.16b // 128->64
lsr tmp1, tmp3, tmp1
mov tmp3, vend1.2d[0]
mov tmp3, vend1.d[0]
bic tmp1, tmp3, tmp1 // Mask padding bits.
cbnz tmp1, .Ltail
@@ -124,7 +124,7 @@ ENTRY(strchr)
orr vend2.16b, vhas_nul2.16b, vhas_chr2.16b
orr vend1.16b, vend1.16b, vend2.16b
addp vend1.2d, vend1.2d, vend1.2d
mov tmp1, vend1.2d[0]
mov tmp1, vend1.d[0]
cbz tmp1, .Lloop
/* Termination condition found. Now need to establish exactly why
@@ -138,7 +138,7 @@ ENTRY(strchr)
addp vend1.16b, vend1.16b, vend2.16b // 256->128
addp vend1.16b, vend1.16b, vend2.16b // 128->64
mov tmp1, vend1.2d[0]
mov tmp1, vend1.d[0]
.Ltail:
/* Count the trailing zeros, by bit reversing... */
rbit tmp1, tmp1

View File

@@ -38,17 +38,9 @@
#ifndef _AARCH64_ASM_H_
#define _AARCH64_ASM_H_
#ifndef _ALIGN_TEXT
# define _ALIGN_TEXT .align 0
#endif
#define __bionic_asm_align 0
#undef __bionic_asm_function_type
#define __bionic_asm_function_type %function
#if defined(__ELF__) && defined(PIC)
#define PIC_SYM(x,y) x ## ( ## y ## )
#else
#define PIC_SYM(x,y) x
#endif
#endif /* _AARCH64_ASM_H_ */

View File

@@ -1,50 +0,0 @@
/* $OpenBSD: exec.h,v 1.9 2003/04/17 03:42:14 drahn Exp $ */
/* $NetBSD: exec.h,v 1.6 1994/10/27 04:16:05 cgd Exp $ */
/*
* Copyright (c) 1993 Christopher G. Demetriou
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _AARCH64_EXEC_H_
#define _AARCH64_EXEC_H_
#define __LDPGSZ 4096
#define NATIVE_EXEC_ELF
#define ARCH_ELFSIZE 64
#define ELF_TARG_CLASS ELFCLASS64 /* 64-bit objects */
#define ELF_TARG_DATA ELFDATA2LSB
#define ELF_TARG_MACH EM_AARCH64
#define _NLIST_DO_AOUT
#define _NLIST_DO_ELF
#define _KERN_DO_AOUT
#define _KERN_DO_ELF64
#endif /* _AARCH64_EXEC_H_ */

View File

@@ -26,48 +26,5 @@
* SUCH DAMAGE.
*/
/*
* machine/setjmp.h: machine dependent setjmp-related information.
*/
/* _JBLEN is the size of a jmp_buf in longs(64bit on AArch64) */
/* _JBLEN is the size of a jmp_buf in longs (64bit on AArch64) */
#define _JBLEN 32
/* According to AARCH64 PCS document we need to save the following
* registers:
*
* Core x19 - x30, sp (see section 5.1.1)
* VFP d8 - d15 (see section 5.1.2)
*
* NOTE: All the registers saved here will have 64bit vales (except FPSR).
* AAPCS mandates that the higher part of q registers does not need to
* be saveved by the callee.
*/
/* The structure of jmp_buf for AArch64:
*
* NOTE: _JBLEN is the size of jmp_buf in longs(64bit on AArch64)! The table
* below computes the offsets in words(32bit).
*
* word name description
* 0 magic magic number
* 1 sigmask signal mask (not used with _setjmp / _longjmp)
* 2 core_base base of core registers (x19-x30, sp)
* 28 float_base base of float registers (d8-d15)
* 44 reserved reserved entries (room to grow)
* 64
*
*
* NOTE: The instructions that load/store core/vfp registers expect 8-byte
* alignment. Contrary to the previous setjmp header for ARM we do not
* need to save status/control registers for VFP (it is not a
* requirement for setjmp).
*/
#define _JB_MAGIC 0
#define _JB_SIGMASK (_JB_MAGIC+1)
#define _JB_CORE_BASE (_JB_SIGMASK+1)
#define _JB_FLOAT_BASE (_JB_CORE_BASE + (31-19+1)*2)
#define _JB_MAGIC__SETJMP 0x53657200
#define _JB_MAGIC_SETJMP 0x53657201

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(clock_nanosleep)
ENTRY(___clock_nanosleep)
mov x8, __NR_clock_nanosleep
svc #0
@@ -11,4 +11,5 @@ ENTRY(clock_nanosleep)
b.hi __set_errno_internal
ret
END(clock_nanosleep)
END(___clock_nanosleep)
.hidden ___clock_nanosleep

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(close)
ENTRY(___close)
mov x8, __NR_close
svc #0
@@ -11,4 +11,5 @@ ENTRY(close)
b.hi __set_errno_internal
ret
END(close)
END(___close)
.hidden ___close

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(faccessat)
ENTRY(___faccessat)
mov x8, __NR_faccessat
svc #0
@@ -11,4 +11,5 @@ ENTRY(faccessat)
b.hi __set_errno_internal
ret
END(faccessat)
END(___faccessat)
.hidden ___faccessat

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fchmod)
ENTRY(___fchmod)
mov x8, __NR_fchmod
svc #0
@@ -11,4 +11,5 @@ ENTRY(fchmod)
b.hi __set_errno_internal
ret
END(fchmod)
END(___fchmod)
.hidden ___fchmod

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fchmodat)
ENTRY(___fchmodat)
mov x8, __NR_fchmodat
svc #0
@@ -11,4 +11,5 @@ ENTRY(fchmodat)
b.hi __set_errno_internal
ret
END(fchmodat)
END(___fchmodat)
.hidden ___fchmodat

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fgetxattr)
ENTRY(___fgetxattr)
mov x8, __NR_fgetxattr
svc #0
@@ -11,4 +11,5 @@ ENTRY(fgetxattr)
b.hi __set_errno_internal
ret
END(fgetxattr)
END(___fgetxattr)
.hidden ___fgetxattr

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fsetxattr)
ENTRY(___fsetxattr)
mov x8, __NR_fsetxattr
svc #0
@@ -11,4 +11,5 @@ ENTRY(fsetxattr)
b.hi __set_errno_internal
ret
END(fsetxattr)
END(___fsetxattr)
.hidden ___fsetxattr

View File

@@ -0,0 +1,15 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(___rt_sigqueueinfo)
mov x8, __NR_rt_sigqueueinfo
svc #0
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno_internal
ret
END(___rt_sigqueueinfo)
.hidden ___rt_sigqueueinfo

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(fstatfs64)
ENTRY(__fstatfs)
mov x8, __NR_fstatfs
svc #0
@@ -11,7 +11,5 @@ ENTRY(fstatfs64)
b.hi __set_errno_internal
ret
END(fstatfs64)
.globl fstatfs
.equ fstatfs, fstatfs64
END(__fstatfs)
.hidden __fstatfs

View File

@@ -2,7 +2,7 @@
#include <private/bionic_asm.h>
ENTRY(statfs64)
ENTRY(__statfs)
mov x8, __NR_statfs
svc #0
@@ -11,7 +11,5 @@ ENTRY(statfs64)
b.hi __set_errno_internal
ret
END(statfs64)
.globl statfs
.equ statfs, statfs64
END(__statfs)
.hidden __statfs

View File

@@ -13,5 +13,4 @@ ENTRY(_exit)
ret
END(_exit)
.globl _Exit
.equ _Exit, _exit
ALIAS_SYMBOL(_Exit, _exit)

View File

@@ -13,5 +13,4 @@ ENTRY(fallocate)
ret
END(fallocate)
.globl fallocate64
.equ fallocate64, fallocate
ALIAS_SYMBOL(fallocate64, fallocate)

View File

@@ -13,5 +13,4 @@ ENTRY(fstat64)
ret
END(fstat64)
.globl fstat
.equ fstat, fstat64
ALIAS_SYMBOL(fstat, fstat64)

View File

@@ -13,5 +13,4 @@ ENTRY(fstatat64)
ret
END(fstatat64)
.globl fstatat
.equ fstatat, fstatat64
ALIAS_SYMBOL(fstatat, fstatat64)

View File

@@ -13,5 +13,4 @@ ENTRY(ftruncate)
ret
END(ftruncate)
.globl ftruncate64
.equ ftruncate64, ftruncate
ALIAS_SYMBOL(ftruncate64, ftruncate)

View File

@@ -13,5 +13,4 @@ ENTRY(getrlimit)
ret
END(getrlimit)
.globl getrlimit64
.equ getrlimit64, getrlimit
ALIAS_SYMBOL(getrlimit64, getrlimit)

View File

@@ -13,5 +13,4 @@ ENTRY(lseek)
ret
END(lseek)
.globl lseek64
.equ lseek64, lseek
ALIAS_SYMBOL(lseek64, lseek)

View File

@@ -13,5 +13,4 @@ ENTRY(mmap)
ret
END(mmap)
.globl mmap64
.equ mmap64, mmap
ALIAS_SYMBOL(mmap64, mmap)

View File

@@ -13,5 +13,4 @@ ENTRY(pread64)
ret
END(pread64)
.globl pread
.equ pread, pread64
ALIAS_SYMBOL(pread, pread64)

View File

@@ -13,5 +13,4 @@ ENTRY(prlimit64)
ret
END(prlimit64)
.globl prlimit
.equ prlimit, prlimit64
ALIAS_SYMBOL(prlimit, prlimit64)

View File

@@ -0,0 +1,14 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(process_vm_readv)
mov x8, __NR_process_vm_readv
svc #0
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno_internal
ret
END(process_vm_readv)

View File

@@ -0,0 +1,14 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(process_vm_writev)
mov x8, __NR_process_vm_writev
svc #0
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno_internal
ret
END(process_vm_writev)

Some files were not shown because too many files have changed in this diff Show More