OSDN Git Service

android-x86/bionic.git
7 years agoCheck for bad packets in getaddrinfo.c's getanswer.
Elliott Hughes [Tue, 15 Nov 2016 20:31:01 +0000 (12:31 -0800)]
Check for bad packets in getaddrinfo.c's getanswer.

The near duplicate in gethnamaddr.c was already doing so (this fix
is basically copy and pasted from there, but with both copies modified
to avoid skirting undefined behavior).

(cherrypick of 27a4459d945e34fabd7166791a5b862ccea83f23 from master.)

Bug: http://b/32322088
Change-Id: I9668b1515ad87665e47cae962812474bb480f205

8 years agoFix overflow testing in sbrk.
Christopher Ferris [Thu, 22 May 2014 02:03:34 +0000 (19:03 -0700)]
Fix overflow testing in sbrk.

Modify the overflow testing for sbrk.

Bug: 15188366
Bug: 28740702

(cherry picked from commit 738b0cc5e95a9a650e9621603f4dd8dd16b07568)

Change-Id: Id79a2314d86333d689b291bc32e513664df7e058

8 years agoFix brk/sbrk error checking.
Elliott Hughes [Sat, 26 Apr 2014 01:27:38 +0000 (18:27 -0700)]
Fix brk/sbrk error checking.

Note that the kernel returns the current break on error or if the requested
break is smaller than the minimum break, or the new break. I don't know where
we got the idea that the kernel could return -1.

Also optimizes the query case.

Also hides an accidentally-exported symbol for LP64.

Bug: 28740702

(cherry picked from commit 533dde4dbf87d6615952be3654fc74e5ff2e1003)

Change-Id: Ied16987756a501acf292368a14e3727ad631efa5

8 years agoSync with upstream NetBSD lib/libc/regex.
Elliott Hughes [Tue, 15 Sep 2015 01:45:52 +0000 (18:45 -0700)]
Sync with upstream NetBSD lib/libc/regex.

Bug: http://b/22850181
(cherry-picked from commit 71927a82379f7a72559ea96e6678d6215090937f)

Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904

10 years agoAllow overlap in resolv uid => DNS iface mapping
Chad Brubaker [Fri, 21 Feb 2014 18:39:41 +0000 (10:39 -0800)]
Allow overlap in resolv uid => DNS iface mapping

When multiple rules exist covering a given uid the one added most
recently will be used.

This allows us to handle the simultaneous tuns case where a new tun is
coming online for an already running VPN.

_resolv_clear_iface_for_uid_range now also takes the iface and removes
only that matching (iface, uid range) entry.

Bug: 12134439
Change-Id: I9b9cfcfae2f38c409022a8c76ccadad7e2babd78

10 years agoUpgrade to tzdata2014a.
Elliott Hughes [Mon, 10 Mar 2014 22:19:05 +0000 (15:19 -0700)]
Upgrade to tzdata2014a.

From the release notes:

  Changes affecting near-future time stamps

    Turkey begins DST on 2014-03-31, not 03-30.  (Thanks to Faruk Pasin
    for the heads-up, and to Tim Parenti for simplifying the update.)

  Changes affecting past time stamps

    Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled
    03:00.  (Thanks to Steffen Thorsen.)

    Ukraine switched from Moscow to Eastern European time on 1990-07-01
    (not 1992-01-01), and observed DST during the entire next winter.
    (Thanks to Vladimir in Moscow via Alois Treindl.)

    In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to
    09-03.  (Thanks to Avigdor Finkelstein.)

(cherry picked from commit 159b28eb46f03cb1dae6484059e2559f1e42e208)

Bug: 13193205
Change-Id: I3d302039f7e057a97c9d307ce8d32efa056481ed

10 years agoMerge "Fix dns searchdomain use in gethostbyname." into klp-dev
Robert Greenwalt [Wed, 5 Mar 2014 18:26:26 +0000 (18:26 +0000)]
Merge "Fix dns searchdomain use in gethostbyname." into klp-dev

10 years agoUpgrade to tzdata2013i.
Elliott Hughes [Fri, 20 Dec 2013 19:26:19 +0000 (11:26 -0800)]
Upgrade to tzdata2013i.

From the release notes:

  Changes affecting near-future time stamps:

    Jordan switches back to standard time at 00:00 on December 20, 2013.
    The 2006-2011 transition schedule is planned to resume in 2014.
    (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps:

    In 2004, Cuba began DST on March 28, not April 4.
    (Thanks to Steffen Thorsen.)

Bug: 13193205
Change-Id: I8f26cc50f6b571804a18ff2113b4a47a22bc56dd

10 years agoFix dns searchdomain use in gethostbyname.
Robert Greenwalt [Thu, 12 Dec 2013 20:37:39 +0000 (12:37 -0800)]
Fix dns searchdomain use in gethostbyname.

Need to load search domain data before we attempt to use it.
This is a cherry pick of an AOSP change c11f6f0f393e472984b5ac2934e2485855a319c9.

bug:6799630

Change-Id: I4ea1131f06ffdf4037fe67f82af5a0349469b609

10 years agoUpgrade to tzdata2013h.
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

10 years agomerge in klp-release (no-op)
Ed Heyl [Thu, 17 Oct 2013 00:34:49 +0000 (17:34 -0700)]
merge in klp-release (no-op)

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Wed, 16 Oct 2013 04:13:52 +0000 (21:13 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoModify prefetch for krait memcpy.
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

10 years agoRemove new aligned memcpy path for cortex-a15.
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

10 years agomerge in KQS81M
Ed Heyl [Tue, 8 Oct 2013 22:35:17 +0000 (15:35 -0700)]
merge in KQS81M

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Tue, 8 Oct 2013 13:00:18 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoUpgrade to tzdata2013g.
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

10 years agoUpgrade to tzdata2013f.
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

10 years agoUpgrade to tzdata2013e.
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Sun, 29 Sep 2013 13:00:40 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoMove stack unwinding test into library.
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

10 years agoCreate bionic unit test library for use with CTS.
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

10 years agoChange hard-coded directory.
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

10 years agoChange hard-coded temporary directory.
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

10 years agoam 6ebc24fc: am d3f9e815: resolved conflicts for merge of 5d0ad38c to jb-mr2-dev
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.

10 years agoam d3f9e815: resolved conflicts for merge of 5d0ad38c to jb-mr2-dev
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.

10 years agoUse kernel default for initial thread size
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

10 years agoresolved conflicts for merge of 5d0ad38c to jb-mr2-dev
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

10 years agoresolved conflicts for merge of ca2c6f75 to jb-mr1-dev-plus-aosp
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

10 years agoam 592c0708: am b30f6eb0: am 9e6104d5: resolved conflicts for merge of 05292dd6 to...
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.

10 years agoam b30f6eb0: am 9e6104d5: resolved conflicts for merge of 05292dd6 to jb-mr1-dev
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.

10 years agoam 9e6104d5: resolved conflicts for merge of 05292dd6 to jb-mr1-dev
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.

10 years agoresolved conflicts for merge of 05292dd6 to jb-mr1-dev
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

10 years agoresolved conflicts for merge of cc7f0dc5 to jb-dev-plus-aosp
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

10 years agoUpgrade pre-jb-mr2 releases to tzdata2013d.
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

10 years agoUse kernel default for initial thread size
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Wed, 11 Sep 2013 13:00:09 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

10 years ago__memcpy_chk: Fix signed cmp of unsigned values.
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Mon, 2 Sep 2013 13:00:18 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoMerge "Fix all debug directives." into klp-dev
Christopher Ferris [Thu, 29 Aug 2013 21:21:20 +0000 (21:21 +0000)]
Merge "Fix all debug directives." into klp-dev

10 years agoFix all debug directives.
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Tue, 27 Aug 2013 13:00:58 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoMerge "Fix pthread_getcpuclockid." into klp-dev
Brian Carlstrom [Mon, 26 Aug 2013 21:21:17 +0000 (21:21 +0000)]
Merge "Fix pthread_getcpuclockid." into klp-dev

10 years agoFix pthread_getcpuclockid.
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Mon, 26 Aug 2013 13:00:41 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoMerge "Change how DNS resolver handle no default iface" into 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

10 years agoChange how DNS resolver handle no default iface
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

10 years agoApply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
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

10 years agoWork around tzcode's reliance on signed overflow.
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Thu, 22 Aug 2013 13:00:33 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoMake mips_relocate_got tolerate a missing got
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Wed, 21 Aug 2013 13:01:31 +0000 (06:01 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoUpdate all debug directives.
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Wed, 14 Aug 2013 13:04:54 +0000 (06:04 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoCreate optimized __strcpy_chk/__strcat_chk.
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)

10 years agoMake ctype.h a little less unhygienic.
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

10 years agoFix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Mon, 12 Aug 2013 13:00:44 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

10 years agoresolved conflicts for merge of 86125aca 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

10 years agoMerge branch 'klp-dev' of https://googleplex-android.googlesource.com/_direct/platfor...
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

10 years agoam 6beb3ea6: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcp...
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

10 years agoam 21b4ffa7: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize...
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

10 years agoAdd futimens.
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

10 years agoam dce94165: am ee48fed5: Merge "Add futimens."
Elliott Hughes [Fri, 9 Aug 2013 00:45:45 +0000 (17:45 -0700)]
am dce94165: am ee48fed5: Merge "Add futimens."

* commit 'dce94165a5624935db9855e208420d36c763f771':
  Add futimens.

10 years agoam d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have...
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

10 years agoam 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small...
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

10 years agoam ee48fed5: Merge "Add futimens."
Elliott Hughes [Fri, 9 Aug 2013 00:41:15 +0000 (17:41 -0700)]
am ee48fed5: Merge "Add futimens."

* commit 'ee48fed51894f3db324e957058ed2ddcf23dddc7':
  Add futimens.

10 years agoam 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT...
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

10 years agoam e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO...
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

10 years agoMerge "Add futimens."
Elliott Hughes [Fri, 9 Aug 2013 00:37:32 +0000 (00:37 +0000)]
Merge "Add futimens."

10 years agoAdd futimens.
Elliott Hughes [Fri, 9 Aug 2013 00:13:33 +0000 (17:13 -0700)]
Add futimens.

Bug: 10239370
Change-Id: I518340084103dc339ef8a065d4837d6258a1381d

10 years agoMerge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
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"

10 years agoMerge "Optimize strcat/strcpy, small tweaks to strlen. 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"

10 years agoFix strcpy.c that should have been strcpy.S. 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

10 years agoOptimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
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

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Thu, 8 Aug 2013 14:53:11 +0000 (07:53 -0700)]
merge in klp-release history after reset to klp-dev

10 years agobionic: name malloc'd regions
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

10 years agobionic: add function to name memory
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

10 years agoOptimize __memset_chk, __memcpy_chk.
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

10 years agomerge in klp-release history after reset to master
The Android Automerger [Tue, 6 Aug 2013 15:16:59 +0000 (08:16 -0700)]
merge in klp-release history after reset to master

10 years agoFix strcpy.c that should have been strcpy.S.
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

10 years agoMerge "Optimize strcat/strcpy, small tweaks to strlen."
Christopher Ferris [Mon, 5 Aug 2013 23:32:06 +0000 (23:32 +0000)]
Merge "Optimize strcat/strcpy, small tweaks to strlen."

10 years agoam cd927519: Merge "Fix stdint.h intptr_t/uintptr_t for x86_64/x32"
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

10 years agoam a0473d77: Merge "syslog needs a valid socket path for _PATH_LOG"
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

10 years agoMerge "Fix stdint.h intptr_t/uintptr_t for x86_64/x32"
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"

10 years agoMerge "syslog needs a valid socket path for _PATH_LOG"
Elliott Hughes [Mon, 5 Aug 2013 20:41:50 +0000 (20:41 +0000)]
Merge "syslog needs a valid socket path for _PATH_LOG"

10 years agoam a9c5bb97: Merge "Fix the detection of alt-network in dns resolver."
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.

10 years agoMerge "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."

10 years agoFix 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

10 years agomerge in klp-release history after reset to master
The Android Automerger [Mon, 5 Aug 2013 13:00:46 +0000 (06:00 -0700)]
merge in klp-release history after reset to master

10 years agoam 3287dccf: Merge "Add ssse3 implementation of __memcmp16."
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.

10 years agoam aa2733d1: Merge "Update the comments to reflect the current status."
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.

10 years agoMerge "Add ssse3 implementation of __memcmp16."
Elliott Hughes [Sat, 3 Aug 2013 00:58:46 +0000 (00:58 +0000)]
Merge "Add ssse3 implementation of __memcmp16."

10 years agoam a6ed05c1: Merge "libgcc_compat: Introduce __aeabi_lasr for cortex-a9 and higher"
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

10 years agoAdd ssse3 implementation of __memcmp16.
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>
10 years agoMerge "Update the comments to reflect the current status."
Ben Cheng [Fri, 2 Aug 2013 23:06:10 +0000 (23:06 +0000)]
Merge "Update the comments to reflect the current status."

10 years agoUpdate 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

10 years agoMerge "libgcc_compat: Introduce __aeabi_lasr for cortex-a9 and higher"
Elliott Hughes [Fri, 2 Aug 2013 22:39:08 +0000 (22:39 +0000)]
Merge "libgcc_compat: Introduce __aeabi_lasr for cortex-a9 and higher"

10 years agoOptimize strcat/strcpy, small tweaks to strlen.
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

10 years agoFix stdint.h intptr_t/uintptr_t for x86_64/x32
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>