OSDN Git Service
Elliott Hughes [Mon, 28 Oct 2013 16:38:00 +0000 (09:38 -0700)]
Upgrade to tzdata2013h.
From the release notes:
Changes affecting current and future time stamps:
Libya has switched its time zone back to UTC+2 without DST,
instead of UTC+1 with DST. (Thanks to Even Scharning.)
Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
(Thanks to Gwillim Law.)
Changes affecting future time stamps:
Acre and (we guess) western Amazonas will switch from UTC-4 to UTC-5
on 2013-11-10. This affects America/Rio_Branco and America/Eirunepe.
(Thanks to Steffen Thorsen.)
Add entries for DST transitions in Morocco in the year 2038.
This avoids some year-2038 glitches introduced in 2013g.
(Thanks to Yoshito Umaoka for reporting the problem.)
(cherry picked from commit
3df3879bd679f2a8cf29000036c751c93275c094)
Change-Id: Ibdac6cc1db0fe24c62fe68e99d057dface6b6745
Ed Heyl [Thu, 17 Oct 2013 00:34:49 +0000 (17:34 -0700)]
merge in klp-release (no-op)
The Android Automerger [Wed, 16 Oct 2013 04:13:52 +0000 (21:13 -0700)]
merge in klp-release history after reset to klp-dev
Christopher Ferris [Tue, 15 Oct 2013 19:10:06 +0000 (12:10 -0700)]
Modify prefetch for krait memcpy.
I originally modified the krait mainloop prefetch from cacheline * 8 to * 2.
This causes a perf degradation for copies bigger than will fit in the cache.
Fixing this back to the original * 8. I tried other multiples, but * 8 is th
sweet spot on krait.
Bug:
11221806
(cherry picked from commit
c3c58fb560fcf1225d4bfb533ba41add8de910e4)
Change-Id: I369f81d91ba97a3fcecac84ac57dec921b4758c8
Christopher Ferris [Tue, 15 Oct 2013 21:54:02 +0000 (14:54 -0700)]
Remove new aligned memcpy path for cortex-a15.
For some reason the new cortex-a15 memcpy code from ARM is really bad
for really large copies. This change forces us to go down the old path
for all copies.
All of my benchmarks show the new version is faster for large copies, but
something is going on that I don't understand.
Bug:
10838353
Change-Id: I01c16d4a2575e76f4c69862c6f78fd9024eb3fb8
Ed Heyl [Tue, 8 Oct 2013 22:35:17 +0000 (15:35 -0700)]
merge in KQS81M
The Android Automerger [Tue, 8 Oct 2013 13:00:18 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev
Elliott Hughes [Sun, 6 Oct 2013 18:35:34 +0000 (11:35 -0700)]
Upgrade to tzdata2013g.
From the release notes:
Changes affecting current and near-future time stamps
Morocco now observes DST from the last Sunday in March to the last
Sunday in October, not April to September respectively. (Thanks
to Steffen Thorsen.)
(cherry picked from commit
40f072192fe080b970502aba8e7d8d01bd4c461a)
Change-Id: I247f8cf4ef32ec5d6e6fe3845f9a8977b7e748b9
Elliott Hughes [Fri, 27 Sep 2013 06:22:23 +0000 (23:22 -0700)]
Upgrade to tzdata2013f.
From the release notes:
Changes affecting near-future time stamps
Tocantins will very likely not observe DST starting this spring.
(Thanks to Steffen Thorsen.)
Jordan will likely stay at UTC+3 indefinitely, and will not fall
back this fall.
Palestine will fall back at 00:00, not 01:00. (Thanks to Steffen Thorsen.)
(cherry picked from commit
4ced7ef05a2f411c68bbfa82a991d3301eee56e4)
Change-Id: Icd4754694fbe3b7c475a63666eeeab36c72908ac
Elliott Hughes [Fri, 27 Sep 2013 05:41:09 +0000 (22:41 -0700)]
Upgrade to tzdata2013e.
From the release notes:
Changes affecting near-future time stamps
This year Fiji will start DST on October 27, not October 20.
(Thanks to David Wheeler for the heads-up.) For now, guess that
Fiji will continue to spring forward the Sunday before the fourth
Monday in October.
Changes affecting time stamps before 1970
Pacific/Johnston is now a link to Pacific/Honolulu. This corrects
some errors before 1947.
Some zones have been turned into links, when they differ from
existing zones only in older data that was likely invented or that
differs only in LMT or transition from LMT. These changes affect
only time stamps before 1943. The affected zones are:
Africa/Juba, America/Anguilla, America/Aruba, America/Dominica,
America/Grenada, America/Guadeloupe, America/Marigot,
America/Montserrat, America/St_Barthelemy, America/St_Kitts,
America/St_Lucia, America/St_Thomas, America/St_Vincent,
America/Tortola, and Europe/Vaduz. (Thanks to Alois Treindl for
confirming that the old Europe/Vaduz zone was wrong and the new
link is better for WWII-era times.)
Change Kingston Mean Time from -5:07:12 to -5:07:11. This affects
America/Cayman, America/Jamaica and America/Grand_Turk time stamps
from 1890 to 1912.
Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.
This affects Europe/Zurich time stamps from 1853 to 1894. (Thanks
to Alois Treindl).
Change the date of the circa-1850 Zurich transition from 1849-09-12
to 1853-07-16, overriding Shanks with data from Messerli about
postal and telegraph time in Switzerland.
Data changes affecting behavior of tzselect and similar programs
Country code BQ is now called the more-common name "Caribbean Netherlands"
rather than the more-official "Bonaire, St Eustatius & Saba".
Remove from zone.tab the names America/Montreal, America/Shiprock,
and Antarctica/South_Pole, as they are equivalent to existing
same-country-code zones for post-1970 time stamps. The data for
these names are unchanged, so the names continue to work as before.
(cherry picked from commit
35b123ef1e2ffe48275cb24708f9d88709486838)
Change-Id: Ieb2627cc817db93280ceabe4034800bf36ca3f5f
The Android Automerger [Sun, 29 Sep 2013 13:00:40 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev
Christopher Ferris [Thu, 29 Aug 2013 18:37:33 +0000 (11:37 -0700)]
Move stack unwinding test into library.
Bug:
8291716
(cherry picked from commit
8240bed918722944c9985bc0cca89eb44c4f6c91)
Change-Id: I1da2d0757ed304c352229f9818c052925d4e976a
Christopher Ferris [Tue, 27 Aug 2013 21:32:15 +0000 (14:32 -0700)]
Create bionic unit test library for use with CTS.
Bug:
8291716
(cherry picked from commit
153d92765bb693541abf49a2a1d31335e2c90348)
Change-Id: Ia53b85b95621b7000034e4c6259d6586d0987dee
Christopher Ferris [Wed, 28 Aug 2013 00:21:37 +0000 (17:21 -0700)]
Change hard-coded directory.
The tests are using /data/data which is not accessible to a non-root
user. Change this to /data/local/tmp which is accessible to all users.
Bug:
8291716
(cherry picked from commit
5227bb363dfdd0a4570cfa3d0735744daf7d83c2)
Change-Id: I83bf70aa8edd21b00321363d7ddcb65a5f048ba5
Christopher Ferris [Thu, 15 Aug 2013 19:54:40 +0000 (12:54 -0700)]
Change hard-coded temporary directory.
The properties tests creates a temporary directory in /data/nativetest,
but this directory might not exist in all circumstances.
Change this to create the temporary directory in /data/local/tmp.
(cherry picked from commit
bd6dc6a8864a1997eb8608030ac816740169c463)
Change-Id: I15144ece7ffb5c29eded9a1ef399db630f6af5ab
Elliott Hughes [Fri, 13 Sep 2013 18:50:20 +0000 (11:50 -0700)]
am
6ebc24fc: am
d3f9e815: resolved conflicts for merge of
5d0ad38c to jb-mr2-dev
* commit '
6ebc24fcc3cf07f1be936ef9d7a8c3afff1861c7':
Upgrade pre-jb-mr2 releases to tzdata2013d.
Elliott Hughes [Fri, 13 Sep 2013 18:46:09 +0000 (11:46 -0700)]
am
d3f9e815: resolved conflicts for merge of
5d0ad38c to jb-mr2-dev
* commit '
d3f9e8155bfc17b2d67d2ffe5bc1d3a5e2656cd4':
Upgrade pre-jb-mr2 releases to tzdata2013d.
Brian Carlstrom [Fri, 13 Sep 2013 04:47:20 +0000 (21:47 -0700)]
Use kernel default for initial thread size
Bug:
10697851
Change-Id: I8d980f5e0b584799536f6e6b891056c968d26cdf
Elliott Hughes [Fri, 13 Sep 2013 18:16:11 +0000 (11:16 -0700)]
resolved conflicts for merge of
5d0ad38c to jb-mr2-dev
Change-Id: I606f6d86aad46c5eda0dc0d907fe691ca0eea826
Elliott Hughes [Fri, 13 Sep 2013 18:09:46 +0000 (11:09 -0700)]
resolved conflicts for merge of
ca2c6f75 to jb-mr1-dev-plus-aosp
Change-Id: If84f3c832a21ca1adf1a8009f50aa4a10f42a57e
Elliott Hughes [Fri, 13 Sep 2013 17:56:39 +0000 (10:56 -0700)]
am
592c0708: am
b30f6eb0: am
9e6104d5: resolved conflicts for merge of
05292dd6 to jb-mr1-dev
* commit '
592c07084bf0d86b42e216002e5aaabf40023ea8':
Upgrade pre-jb-mr2 releases to tzdata2013d.
Elliott Hughes [Fri, 13 Sep 2013 17:53:43 +0000 (10:53 -0700)]
am
b30f6eb0: am
9e6104d5: resolved conflicts for merge of
05292dd6 to jb-mr1-dev
* commit '
b30f6eb026db05c969afacc758e529e73f0e314d':
Upgrade pre-jb-mr2 releases to tzdata2013d.
Elliott Hughes [Fri, 13 Sep 2013 17:51:31 +0000 (10:51 -0700)]
am
9e6104d5: resolved conflicts for merge of
05292dd6 to jb-mr1-dev
* commit '
9e6104d54f541d43d3c1b785f2dfc1d2e09c0f2f':
Upgrade pre-jb-mr2 releases to tzdata2013d.
Elliott Hughes [Fri, 13 Sep 2013 17:17:10 +0000 (10:17 -0700)]
resolved conflicts for merge of
05292dd6 to jb-mr1-dev
Change-Id: I051cad5dc3c985f11c52708f4487e64ea45ca617
Elliott Hughes [Fri, 13 Sep 2013 17:09:56 +0000 (10:09 -0700)]
resolved conflicts for merge of
cc7f0dc5 to jb-dev-plus-aosp
Change-Id: I812d0007ddd1576583a4749461b57ee33fb1eb15
Elliott Hughes [Fri, 13 Sep 2013 16:43:15 +0000 (09:43 -0700)]
Upgrade pre-jb-mr2 releases to tzdata2013d.
From the release notes:
Changes affecting future time stamps:
Morocco's midsummer transitions this year are July 7 and August 10,
not July 9 and August 8. (Thanks to Andrew Paprocki.)
Israel now falls back on the last Sunday of October.
(Thanks to Ephraim Silverberg.)
Changes affecting past time stamps:
Specify Jerusalem's location more precisely; this changes the pre-1880
times by 2 s.
Changing affecting metadata only:
Fix typos in the entries for country codes BQ and SX.
Change-Id: I8caa139f0eecbe038643df43a27088278c6185cd
Brian Carlstrom [Fri, 13 Sep 2013 04:47:20 +0000 (21:47 -0700)]
Use kernel default for initial thread size
Bug:
10697851
Change-Id: I8d980f5e0b584799536f6e6b891056c968d26cdf
The Android Automerger [Wed, 11 Sep 2013 13:00:09 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev
Christopher Ferris [Tue, 10 Sep 2013 23:56:34 +0000 (16:56 -0700)]
__memcpy_chk: Fix signed cmp of unsigned values.
I accidentally did a signed comparison of the size_t values passed in
for three of the _chk functions. Changing them to unsigned compares.
Add three new tests to verify this failure is fixed.
Bug:
10691831
Change-Id: Ia831071f7dffd5972a748d888dd506c7cc7ddba3
The Android Automerger [Mon, 2 Sep 2013 13:00:18 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev
Christopher Ferris [Thu, 29 Aug 2013 21:21:20 +0000 (21:21 +0000)]
Merge "Fix all debug directives." into klp-dev
Christopher Ferris [Wed, 21 Aug 2013 16:41:12 +0000 (09:41 -0700)]
Fix all debug directives.
The backtrace when a fortify check failed was not correct. This change
adds all of the necessary directives to get a correct backtrace.
Fix the strcmp directives and change all labels to local labels.
Testing:
- Verify that the runtime can decode the stack for __memcpy_chk, __memset_chk,
__strcpy_chk, __strcat_chk fortify failures.
- Verify that gdb can decode the stack properly when hitting a fortify check.
- Verify that the runtime can decode the stack for a seg fault for all of the
_chk functions and for memcpy/memset.
- Verify that gdb can decode the stack for a seg fault for all of the _chk
functions and for memcpy/memset.
- Verify that the runtime can decode the stack for a seg fault for strcmp.
- Verify that gdb can decode the stack for a seg fault in strcmp.
Bug:
10342460
Bug:
10345269
Change-Id: I1dedadfee207dce4a285e17a21e8952bbc63786a
The Android Automerger [Tue, 27 Aug 2013 13:00:58 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev
Brian Carlstrom [Mon, 26 Aug 2013 21:21:17 +0000 (21:21 +0000)]
Merge "Fix pthread_getcpuclockid." into klp-dev
Jeff Hao [Thu, 15 Aug 2013 21:51:16 +0000 (14:51 -0700)]
Fix pthread_getcpuclockid.
clock_gettime was returning EINVAL for the values
produced by pthread_getcpuclockid.
Bug:
10346183
(cherry picked from commit
9b06cc3c1b2c4e2b08582f3fc9393a05aa589766)
Change-Id: Ib81a7024c218a4502f256c3002b9030e2aaa278d
The Android Automerger [Mon, 26 Aug 2013 13:00:41 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev
Robert Greenwalt [Sat, 24 Aug 2013 12:20:00 +0000 (12:20 +0000)]
Merge "Change how DNS resolver handle no default iface" into klp-dev
Robert Greenwalt [Thu, 22 Aug 2013 23:56:48 +0000 (16:56 -0700)]
Change how DNS resolver handle no default iface
We used to just try any iface we'd been told about as a
fallback, but that will end up mistakenly using a secondary
network's dns when we really don't have a default connection.
It also messed up our detection of whether we were doing the
lookup on the default or not (we'd get back our secondary net
iface as the default, do the compare and think we were on default).
Remove the lies and let dns fail if we don't have an iface for it.
bug:
10132565
Conflicts:
libc/netbsd/resolv/res_cache.c
Change-Id: I357a9c34dad83215f44c5e0dd41ce2a7d6fe8f3f
Elliott Hughes [Thu, 22 Aug 2013 21:13:50 +0000 (14:13 -0700)]
Apply upstream commit
943a6621866e9d6e654f5cfe1494378c1fb8957a.
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu Aug 22 12:47:51 2013 -0700
* localtime.c: Fix another integer overflow bug in mktime.
(time2sub): Avoid undefined behavior on time_t overflow.
Reported by Elliott Hughes in
<http://mm.icann.org/pipermail/tz/2013-August/019580.html>.
Bug:
10310929
(cherry picked from commit
713fe6463e6ff8cb9689aa8ead88c885d25d03aa)
Change-Id: I9ec79fd8d825e6b9e8bb5af549dbfc2182346c05
Elliott Hughes [Thu, 22 Aug 2013 18:37:32 +0000 (11:37 -0700)]
Work around tzcode's reliance on signed overflow.
I've mailed the tz list about this, and will switch to whatever upstream
fix comes along as soon as it's available.
Bug:
10310929
(cherry picked from commit
7843d44a594270bcb56e98b130603c054f8a9d38)
Change-Id: I205e2440703444c50cecd91d3458d33613ddbc59
The Android Automerger [Thu, 22 Aug 2013 13:00:33 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev
Brian Carlstrom [Wed, 21 Aug 2013 04:05:44 +0000 (21:05 -0700)]
Make mips_relocate_got tolerate a missing got
Bug:
10094803
(cherry picked from commit
7ee26878065abb494600595349ce58b2b2db3709)
Change-Id: I9fbb65d20011f2f625fde3b15ac8c6887dd03ae4
The Android Automerger [Wed, 21 Aug 2013 13:01:31 +0000 (06:01 -0700)]
merge in klp-release history after reset to klp-dev
Christopher Ferris [Tue, 20 Aug 2013 18:20:48 +0000 (11:20 -0700)]
Update all debug directives.
The libcorkscrew stack unwinder does not understand cfi directives,
so add .save directives so that it can function properly.
Also add the directives in to strcmp.S and fix a missing set of
directives in cortex-a9/memcpy_base.S.
Bug:
10345269
Change-Id: I043f493e0bb6c45bd3f4906fbe1d9f628815b015
The Android Automerger [Wed, 14 Aug 2013 13:04:54 +0000 (06:04 -0700)]
merge in klp-release history after reset to klp-dev
Christopher Ferris [Wed, 7 Aug 2013 20:09:51 +0000 (13:09 -0700)]
Create optimized __strcpy_chk/__strcat_chk.
This change pulls the memcpy code out into a new file so that the
__strcpy_chk and __strcat_chk can use it with an include.
The new versions of the two chk functions uses assembly versions
of strlen and memcpy to implement this check. This allows near
parity with the assembly versions of strcpy/strcat. It also means that
as memcpy implementations get faster, so do the chk functions.
Other included changes:
- Change all of the assembly labels to local labels. The other labels
confuse gdb and mess up backtracing.
- Add .cfi_startproc and .cfi_endproc directives so that gdb is not
confused when falling through from one function to another.
- Change all functions to use cfi directives since they are more powerful.
- Move the memcpy_chk fail code outside of the memcpy function definition
so that backtraces work properly.
- Preserve lr before the calls to __fortify_chk_fail so that the backtrace
actually works.
Testing:
- Ran the bionic unit tests. Verified all error messages in logs are set
correctly.
- Ran libc_test, replacing strcpy with __strcpy_chk and replacing
strcat with __strcat_chk.
- Ran the debugger on nexus10, nexus4, and old nexus7. Verified that the
backtrace is correct for all fortify check failures. Also verify that
when falling through from __memcpy_chk to memcpy that the backtrace is
still correct. Also verified the same for __memset_chk and bzero.
Verified the two different paths in the cortex-a9 memset routine that
save variables to the stack still show the backtrace properly.
Bug:
9293744
Change-Id: Id5aec8c3cb14101d91bd125eaf3770c9c8aa3f57
(cherry picked from commit
2be91915dcecc956d14ff281db0c7d216ca98af2)
Elliott Hughes [Tue, 13 Aug 2013 21:30:59 +0000 (14:30 -0700)]
Make ctype.h a little less unhygienic.
This caused trouble for stlport.
(cherry picked from commit
5e9b20f7212c23110693a4bd1f122ccac3fece80)
Change-Id: I85d09c12c6de1e8502f83e0ef0f17747fdfe08a5
Elliott Hughes [Mon, 12 Aug 2013 19:07:05 +0000 (12:07 -0700)]
Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
(cherry picked from commit
aec2ffbc5a7b45368ceab3663265fbb659968fe7)
Change-Id: Ib61b52dc37e63493094a0a7af23bf89d4a9f0ce5
The Android Automerger [Mon, 12 Aug 2013 13:00:44 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev
Elliott Hughes [Fri, 9 Aug 2013 01:08:33 +0000 (18:08 -0700)]
resolved conflicts for merge of
86125aca to klp-dev
Change-Id: I78622ecbad27301b285193a085fa04374aa60033
Elliott Hughes [Fri, 9 Aug 2013 00:53:31 +0000 (17:53 -0700)]
Merge branch 'klp-dev' of https://googleplex-android.googlesource.com/_direct/platform/bionic into klp-dev
Christopher Ferris [Fri, 9 Aug 2013 00:53:19 +0000 (17:53 -0700)]
am
6beb3ea6: (-s ours) am
d7d5049d: (-s ours) am
632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit '
6beb3ea6a1a49baef001ddd8c6872631f5e90f82':
Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
Christopher Ferris [Fri, 9 Aug 2013 00:53:18 +0000 (17:53 -0700)]
am
21b4ffa7: (-s ours) am
5427eb5c: (-s ours) am
e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '
21b4ffa7372b029e5a4898b877feb843da2831e9':
Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
Elliott Hughes [Fri, 9 Aug 2013 00:13:33 +0000 (17:13 -0700)]
Add futimens.
(cherry picked from commit
d0be7c8f9a06b3ca8ea7647ea35c8f9dc63f0fe1)
Bug:
10239370
Change-Id: I0087e85a94d83b6ce68ec6a0768c44cbe4bd0132
Elliott Hughes [Fri, 9 Aug 2013 00:45:45 +0000 (17:45 -0700)]
am
dce94165: am
ee48fed5: Merge "Add futimens."
* commit '
dce94165a5624935db9855e208420d36c763f771':
Add futimens.
Christopher Ferris [Fri, 9 Aug 2013 00:45:45 +0000 (17:45 -0700)]
am
d7d5049d: (-s ours) am
632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit '
d7d5049d58427e23318fa1920d63712676fc7725':
Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
Christopher Ferris [Fri, 9 Aug 2013 00:45:44 +0000 (17:45 -0700)]
am
5427eb5c: (-s ours) am
e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '
5427eb5c63417c7bc59bbfe112c97917dcef4e8c':
Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
Elliott Hughes [Fri, 9 Aug 2013 00:41:15 +0000 (17:41 -0700)]
am
ee48fed5: Merge "Add futimens."
* commit '
ee48fed51894f3db324e957058ed2ddcf23dddc7':
Add futimens.
Christopher Ferris [Fri, 9 Aug 2013 00:41:15 +0000 (17:41 -0700)]
am
632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit '
632fd5183a611b80e009be36f881f572acc41619':
Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
Christopher Ferris [Fri, 9 Aug 2013 00:41:14 +0000 (17:41 -0700)]
am
e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '
e2066293e8279641d4abd13ec3fbdd6f42def83d':
Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
Elliott Hughes [Fri, 9 Aug 2013 00:37:32 +0000 (00:37 +0000)]
Merge "Add futimens."
Elliott Hughes [Fri, 9 Aug 2013 00:13:33 +0000 (17:13 -0700)]
Add futimens.
Bug:
10239370
Change-Id: I518340084103dc339ef8a065d4837d6258a1381d
Christopher Ferris [Thu, 8 Aug 2013 19:12:20 +0000 (19:12 +0000)]
Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
Christopher Ferris [Thu, 8 Aug 2013 19:12:00 +0000 (19:12 +0000)]
Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
Christopher Ferris [Tue, 6 Aug 2013 00:08:06 +0000 (17:08 -0700)]
Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
Merge from internal master.
(cherry-picked from
1ce665416307628f4bcaced86faa64bdf9c489c3)
Change-Id: I376b831df42248baadde7202a30a68112f752ff7
Christopher Ferris [Mon, 15 Jul 2013 19:49:26 +0000 (12:49 -0700)]
Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
Create one version of strcat/strcpy/strlen for cortex-a15/krait and another
version for cortex-a9.
Tested with the libc_test strcat/strcpy/strlen tests.
Including new tests that verify that the src for strcat/strcpy do not
overread across page boundaries.
NOTE: The handling of unaligned strcpy (same code in strcat) could probably
be optimized further such that the src is read 64 bits at a time instead of
the partial reads occurring now.
strlen improves slightly since it was recently optimized.
Performance improvements for strcpy and strcat (using an empty dest string):
cortex-a9
- Small copies vary from about 5% to 20% as the size gets above 10 bytes.
- Copies >= 1024, about a 60% improvement.
- Unaligned copies, from about 40% improvement.
cortex-a15
- Most small copies exhibit a 100% improvement, a few copies only
improve by 20%.
- Copies >= 1024, about 150% improvement.
- Unaligned copies, about 100% improvement.
krait
- Most small copies vary widely, but on average 20% improvement, then
the performance gets better, hitting about a 100% improvement when
copies 64 bytes of data.
- Copies >= 1024, about 100% improvement.
- When coping MBs of data, about 50% improvement.
- Unaligned copies, about 90% improvement.
As strcat destination strings get larger in size:
cortex-a9
- about 40% improvement for small dst strings (>= 32).
- about 250% improvement for dst strings >= 1024.
cortex-a15
- about 200% improvement for small dst strings (>=32).
- about 250% improvement for dst strings >= 1024.
krait
- about 25% improvement for small dst strings (>=32).
- about 100% improvement for dst strings >=1024.
Merge from internal master.
(cherry-picked from
d119b7b6f48fe507088cfb98bcafa99b320fd884)
Change-Id: I296463b251ef9fab004ee4dded2793feca5b547a
The Android Automerger [Thu, 8 Aug 2013 14:53:11 +0000 (07:53 -0700)]
merge in klp-release history after reset to klp-dev
Colin Cross [Wed, 7 Aug 2013 22:01:55 +0000 (15:01 -0700)]
bionic: name malloc'd regions
Use the new __bionic_name_mem function to name malloc'd memory as
"libc_malloc" on kernels that support it.
Change-Id: I7235eae6918fa107010039b9ab8b7cb362212272
Colin Cross [Wed, 7 Aug 2013 20:31:17 +0000 (13:31 -0700)]
bionic: add function to name memory
Only works on some kernels, and only on page-aligned regions of
anonymous memory. It will show up in /proc/pid/maps as
[anon:<name>] and in /proc/pid/smaps as Name: <name>
Change-Id: If31667cf45ff41cc2a79a140ff68707526def80e
Christopher Ferris [Thu, 1 Aug 2013 20:13:33 +0000 (13:13 -0700)]
Optimize __memset_chk, __memcpy_chk.
This change creates assembler versions of __memcpy_chk/__memset_chk
that is implemented in the memcpy/memset assembler code. This change
avoids an extra call to memcpy/memset, instead allowing a simple fall
through to occur from the chk code into the body of the real
implementation.
Testing:
- Ran the libc_test on __memcpy_chk/__memset_chk on all nexus devices.
- Wrote a small test executable that has three calls to __memcpy_chk and
three calls to __memset_chk. First call dest_len is length + 1. Second
call dest_len is length. Third call dest_len is length - 1.
Verified that the first two calls pass, and the third fails. Examined
the logcat output on all nexus devices to verify that the fortify
error message was sent properly.
- I benchmarked the new __memcpy_chk and __memset_chk on all systems. For
__memcpy_chk and large copies, the savings is relatively small (about 1%).
For small copies, the savings is large on cortex-a15/krait devices
(between 5% to 30%).
For cortex-a9 and small copies, the speed up is present, but relatively
small (about 3% to 5%).
For __memset_chk and large copies, the savings is also small (about 1%).
However, all processors show larger speed-ups on small copies (about 30% to
100%).
Bug:
9293744
Change-Id: I8926d59fe2673e36e8a27629e02a7b7059ebbc98
The Android Automerger [Tue, 6 Aug 2013 15:16:59 +0000 (08:16 -0700)]
merge in klp-release history after reset to master
Christopher Ferris [Tue, 6 Aug 2013 00:08:06 +0000 (17:08 -0700)]
Fix strcpy.c that should have been strcpy.S.
Change-Id: Ib4609baad3a14c8b0f37556269781fa2b06916dc
Christopher Ferris [Mon, 5 Aug 2013 23:32:06 +0000 (23:32 +0000)]
Merge "Optimize strcat/strcpy, small tweaks to strlen."
Elliott Hughes [Mon, 5 Aug 2013 22:51:54 +0000 (15:51 -0700)]
am
cd927519: Merge "Fix stdint.h intptr_t/uintptr_t for x86_64/x32"
* commit '
cd927519a94939f2ebc307544f827baade529bc9':
Fix stdint.h intptr_t/uintptr_t for x86_64/x32
Elliott Hughes [Mon, 5 Aug 2013 22:51:53 +0000 (15:51 -0700)]
am
a0473d77: Merge "syslog needs a valid socket path for _PATH_LOG"
* commit '
a0473d77b2d3a6f26e29cc8c2fdaeb2a4b3ab8f8':
syslog needs a valid socket path for _PATH_LOG
Elliott Hughes [Mon, 5 Aug 2013 20:55:24 +0000 (20:55 +0000)]
Merge "Fix stdint.h intptr_t/uintptr_t for x86_64/x32"
Elliott Hughes [Mon, 5 Aug 2013 20:41:50 +0000 (20:41 +0000)]
Merge "syslog needs a valid socket path for _PATH_LOG"
Robert Greenwalt [Mon, 5 Aug 2013 18:55:53 +0000 (11:55 -0700)]
am
a9c5bb97: Merge "Fix the detection of alt-network in dns resolver."
* commit '
a9c5bb972df7cbb4e65cfb53673b26f9d42deacd':
Fix the detection of alt-network in dns resolver.
Robert Greenwalt [Mon, 5 Aug 2013 18:45:03 +0000 (18:45 +0000)]
Merge "Fix the detection of alt-network in dns resolver."
Robert Greenwalt [Fri, 2 Aug 2013 22:24:45 +0000 (15:24 -0700)]
Fix the detection of alt-network in dns resolver.
Used to determine proper A/AAAA record request.
bug:
10132565
Change-Id: I7229f6672e879920a6fae58672cddd72db78546c
The Android Automerger [Mon, 5 Aug 2013 13:00:46 +0000 (06:00 -0700)]
merge in klp-release history after reset to master
Elliott Hughes [Sat, 3 Aug 2013 01:04:01 +0000 (18:04 -0700)]
am
3287dccf: Merge "Add ssse3 implementation of __memcmp16."
* commit '
3287dccf2ecced89bb39b857abc8eba997bc3f51':
Add ssse3 implementation of __memcmp16.
Ben Cheng [Sat, 3 Aug 2013 00:58:47 +0000 (17:58 -0700)]
am
aa2733d1: Merge "Update the comments to reflect the current status."
* commit '
aa2733d17b87c607fccbd6e6a0f44d2d411ffd77':
Update the comments to reflect the current status.
Elliott Hughes [Sat, 3 Aug 2013 00:58:46 +0000 (00:58 +0000)]
Merge "Add ssse3 implementation of __memcmp16."
Elliott Hughes [Sat, 3 Aug 2013 00:58:46 +0000 (17:58 -0700)]
am
a6ed05c1: Merge "libgcc_compat: Introduce __aeabi_lasr for cortex-a9 and higher"
* commit '
a6ed05c1c4c787241b56df132e77512c64cbc595':
libgcc_compat: Introduce __aeabi_lasr for cortex-a9 and higher
Alexander Ivchenko [Thu, 27 Jun 2013 08:55:46 +0000 (12:55 +0400)]
Add ssse3 implementation of __memcmp16.
__memcmp16 was missing in x86. Also added C-version for backward
compatibility. Added bionic test for __memcmp16 and for wmemcmp.
Change-Id: I33718441e7ee343cdb021d91dbeaf9ce2d4d7eb4
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
Ben Cheng [Fri, 2 Aug 2013 23:06:10 +0000 (23:06 +0000)]
Merge "Update the comments to reflect the current status."
Ben Cheng [Fri, 2 Aug 2013 22:33:27 +0000 (15:33 -0700)]
Update the comments to reflect the current status.
Change-Id: I3a6348b568230fe8b21d121e5b8d30561a9703c2
Elliott Hughes [Fri, 2 Aug 2013 22:39:08 +0000 (22:39 +0000)]
Merge "libgcc_compat: Introduce __aeabi_lasr for cortex-a9 and higher"
Christopher Ferris [Mon, 15 Jul 2013 19:49:26 +0000 (12:49 -0700)]
Optimize strcat/strcpy, small tweaks to strlen.
Create one version of strcat/strcpy/strlen for cortex-a15/krait and another
version for cortex-a9.
Tested with the libc_test strcat/strcpy/strlen tests.
Including new tests that verify that the src for strcat/strcpy do not
overread across page boundaries.
NOTE: The handling of unaligned strcpy (same code in strcat) could probably
be optimized further such that the src is read 64 bits at a time instead of
the partial reads occurring now.
strlen improves slightly since it was recently optimized.
Performance improvements for strcpy and strcat (using an empty dest string):
cortex-a9
- Small copies vary from about 5% to 20% as the size gets above 10 bytes.
- Copies >= 1024, about a 60% improvement.
- Unaligned copies, from about 40% improvement.
cortex-a15
- Most small copies exhibit a 100% improvement, a few copies only
improve by 20%.
- Copies >= 1024, about 150% improvement.
- Unaligned copies, about 100% improvement.
krait
- Most small copies vary widely, but on average 20% improvement, then
the performance gets better, hitting about a 100% improvement when
copies 64 bytes of data.
- Copies >= 1024, about 100% improvement.
- When coping MBs of data, about 50% improvement.
- Unaligned copies, about 90% improvement.
As strcat destination strings get larger in size:
cortex-a9
- about 40% improvement for small dst strings (>= 32).
- about 250% improvement for dst strings >= 1024.
cortex-a15
- about 200% improvement for small dst strings (>=32).
- about 250% improvement for dst strings >= 1024.
krait
- about 25% improvement for small dst strings (>=32).
- about 100% improvement for dst strings >=1024.
Change-Id: Ifd091ebdbce70fe35a7c5d8f71d5914255f3af35
Pavel Chupin [Tue, 18 Dec 2012 13:25:01 +0000 (17:25 +0400)]
Fix stdint.h intptr_t/uintptr_t for x86_64/x32
Patch is required in NDK headers as well to be able to build multilib
GCC with libgomp support.
It's here: https://android-review.googlesource.com/#/c/62982
Change-Id: I2bec25d8cbca0e5ef1a0857008ececd92f4911be
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Robert Greenwalt [Thu, 1 Aug 2013 00:57:45 +0000 (17:57 -0700)]
am
e6345f1a: Merge "Tell the dns resolver about our domains."
* commit '
e6345f1a1ec691690c69d5663ca8bb2b70240d93':
Tell the dns resolver about our domains.
Robert Greenwalt [Thu, 1 Aug 2013 00:47:28 +0000 (00:47 +0000)]
Merge "Tell the dns resolver about our domains."
Robert Greenwalt [Wed, 31 Jul 2013 23:53:46 +0000 (16:53 -0700)]
Tell the dns resolver about our domains.
A refactor caused us to not tell the resolver about search domains
until after it had done the domain fanout.
bug:
6799630
Change-Id: Ibabd8fa5bcc69b1490fc5e329e62eb0f2d1a5e63
The Android Automerger [Tue, 30 Jul 2013 18:08:39 +0000 (11:08 -0700)]
merge in klp-release history after reset to master
Elliott Hughes [Tue, 30 Jul 2013 00:35:49 +0000 (17:35 -0700)]
am
101b5e1f: Merge "Define PTHREAD_KEYS_MAX and _POSIX_THREAD_KEYS_MAX in a POSIX-compliant way."
* commit '
101b5e1f6cc4e24635760928b3d2c1e51c1e5774':
Define PTHREAD_KEYS_MAX and _POSIX_THREAD_KEYS_MAX in a POSIX-compliant way.
Elliott Hughes [Tue, 30 Jul 2013 00:29:58 +0000 (00:29 +0000)]
Merge "Define PTHREAD_KEYS_MAX and _POSIX_THREAD_KEYS_MAX in a POSIX-compliant way."
Elliott Hughes [Mon, 29 Jul 2013 23:51:45 +0000 (16:51 -0700)]
Define PTHREAD_KEYS_MAX and _POSIX_THREAD_KEYS_MAX in a POSIX-compliant way.
Also make sysconf use PTHREAD_STACK_MIN rather than redefining its
own, different, constant.
Bug:
9997352
Change-Id: I9a8e7d2b18e691439abfb45533e82c36eee9e81d
synergydev [Sun, 28 Jul 2013 21:43:00 +0000 (21:43 +0000)]
libgcc_compat: Introduce __aeabi_lasr for cortex-a9 and higher
This is needed when passing -mcpu=cortex-a9 or higher on a modern
toolchain for prebuilt library compatibility
Change-Id: I73eb2393377914ae26216a8c2828ad973d1c1225
Elliott Hughes [Fri, 26 Jul 2013 00:04:18 +0000 (17:04 -0700)]
am
9a73d08f: Merge "Bump the number of TLS slots to 128."
* commit '
9a73d08f4c334c00fe06d583d37e038ebe063eba':
Bump the number of TLS slots to 128.