OSDN Git Service

android-x86/bionic.git
8 years agoMerge remote-tracking branch 'cm/cm-13.0' into cm-13.0-x86 cm-13.0-x86
Jaap Jan Meijer [Mon, 8 Aug 2016 10:40:41 +0000 (12:40 +0200)]
Merge remote-tracking branch 'cm/cm-13.0' into cm-13.0-x86

8 years agolinker: Avoid logcat spam with some blobs
Marcin Chojnacki [Sun, 10 Nov 2013 12:59:47 +0000 (13:59 +0100)]
linker: Avoid logcat spam with some blobs

Many of pre-kitkat blobs would emit a "text relocations" warning which
makes logcat completely unreadable.
This commit will hide this warning to prevent it.

Change-Id: I8f32b5bbfea33d732320b3ac29da6b0027fbd521
Reworked-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
8 years agobionic: Sort and cache hosts file data for fast lookup
Tom Marshall [Fri, 17 Jun 2016 23:38:12 +0000 (16:38 -0700)]
bionic: Sort and cache hosts file data for fast lookup

The hosts file is normally searched linearly.  This is very slow when
the file is large.  To mitigate this, read the hosts file and sort the
entries in an in-memory cache.  When an address is requested via
gethostbyname or getaddrinfo, binary search the cache.

In case where the cache is not available, return a suitable error code
and fall back to the existing lookup code.

This has been written to behave as much like the existing lookup code as
possible.  But note bionic and glibc differ in behavior for some corner
cases.  Choose the most standard compliant behavior for these where
possible.  Otherwise choose the behavior that seems most reasonable.

Change-Id: I3b322883cbc48b0d76a0ce9d149b59faaac1dc58

8 years agoMerge remote-tracking branch 'x86/marshmallow-x86' into cm-13.0-x86
Jaap Jan Meijer [Tue, 26 Jul 2016 17:07:28 +0000 (19:07 +0200)]
Merge remote-tracking branch 'x86/marshmallow-x86' into cm-13.0-x86

8 years agoMove tzdata scripts from bionic to external/icu
Neil Fuller [Mon, 24 Aug 2015 16:52:56 +0000 (17:52 +0100)]
Move tzdata scripts from bionic to external/icu

The scripts affect files in external/icu, bionic
and the generated files affect libcore. The files must
be updated together so there is no "obvious" home.

OEM developers seem to want to update ICU
themselves and have been asking how. Moving the
scripts to external/icu and splitting the ICU generation
code into a sub-script they can run makes some sense.

Bug: 23419215
Change-Id: Ia26fa526fd2b560a79f36d327a10e262a85db752

8 years agolibc: Fix invalid offset warning with Clang
Steve Kondik [Fri, 1 Jul 2016 15:45:04 +0000 (08:45 -0700)]
libc: Fix invalid offset warning with Clang

Change-Id: I71274a6f592356a259ccdbe9c09383bc75e2d26b

8 years agoDo not depend on host bits to get the right size to write.
Junichi Uekawa [Wed, 18 Nov 2015 01:18:59 +0000 (10:18 +0900)]
Do not depend on host bits to get the right size to write.

x86_64 32-bit or 64-bit relocations do not depend on ELF bit size, they
are 32-bit or 64-bit respectively.

Known compiler that emits such code is nacl-clang which emits
R_X86_64_PC32 which should write 32 bits but ended up writing 64 bits.

Change-Id: Ibb6b484c0fea6a7e291362148e8ac749d6674529

8 years agocortex-a9: Fix reference to __memcpy_base_aligned.
Kyle Repinski [Tue, 28 Apr 2015 18:39:41 +0000 (13:39 -0500)]
cortex-a9: Fix reference to __memcpy_base_aligned.

With a different memcpy, __memcpy_base_aligned ceased to exist.
Instead, point to the name defined by whatever includes memcpy_base.S

Change-Id: I242cf49cbada35337ba155d7f170e86a905ff55f

8 years agoAdd prlimit to LP32. android-x86-6.0-r1 android-x86-6.0-r2
Elliott Hughes [Thu, 29 Oct 2015 00:14:48 +0000 (17:14 -0700)]
Add prlimit to LP32.

Bug: http://b/24918750
Change-Id: I0151cd66ccf79a6169610de35bb9c288c0fa4917

8 years agoadd syscalls ioperm and iopl
Chih-Wei Huang [Sat, 10 Oct 2015 14:25:49 +0000 (22:25 +0800)]
add syscalls ioperm and iopl

8 years agochange PROP_NAME_MAX to 128
Chih-Wei Huang [Tue, 30 Jun 2009 09:43:31 +0000 (17:43 +0800)]
change PROP_NAME_MAX to 128

8 years agobionic: Use a more simple strrchr for arm64
Steve Kondik [Sun, 1 May 2016 02:50:10 +0000 (19:50 -0700)]
bionic: Use a more simple strrchr for arm64

 * Current version seems like overkill, and it doesn't compile with
   Clang. Use a simplified version from ARM.

Change-Id: I2fe5467b6a504ea04b5f28a08d92e7c2306772d0

8 years agoMerge tag 'android-6.0.1_r30' into HEAD
Jessica Wagantall [Mon, 18 Apr 2016 18:10:56 +0000 (11:10 -0700)]
Merge tag 'android-6.0.1_r30' into HEAD

Ticket: RM-234
Android 6.0.1 release 30

Change-Id: I67a692b84fdc2e0ecbe83870ea3520a746130742

8 years agobionic: Teach fnmatch(3) to handle UTF-8 characters in patterns
Tom Marshall [Fri, 1 Apr 2016 21:57:21 +0000 (14:57 -0700)]
bionic: Teach fnmatch(3) to handle UTF-8 characters in patterns

This is NOT comprehensive UTF-8 support.  It is just a quick hack to
make alternation work in bracket expressions so that the system file
manager can find files with non-ASCII names in root mode.  Bracket
expressions that contain non-ASCII ranges are explicitly avoided to
avoid the complexities of unicode collation rules.

Things like the following will now work:

fnmatch("те[с][т].jpg", "тест.jpg", 0);
fnmatch("test[αβγ].txt", "testβ.txt", 0);

Things like the following will still fail:

fnmatch("тес[а-я].txt", "тест.txt", 0);

Jira: CYNGNOS-2336

Change-Id: If38dc6692bc22d20128b0cd8a7632754a496d7fb

8 years agoMerge tag 'android-6.0.1_r22' of https://android.googlesource.com/platform/bionic...
Steve Kondik [Fri, 11 Mar 2016 02:13:14 +0000 (18:13 -0800)]
Merge tag 'android-6.0.1_r22' of https://android.googlesource.com/platform/bionic into cm-13.0

Android 6.0.1 release 22

8 years agolinker: Allow text-relocs for x86 (only)
Christopher R. Palmer [Sun, 7 Feb 2016 11:46:05 +0000 (06:46 -0500)]
linker: Allow text-relocs for x86 (only)

This effectively reverts

https://android.googlesource.com/platform/bionic/+/e4ad91f86a47b39612e030a162f4793cb3421d31%5E%21/#F0

for x86 platforms.  Unfortunately, this seems like it is required
if we are going to support ffmpeg.  The ffmpeg team decreed that they
require text relocations for x86 (only) and that they would not
fix the fact that android 6.0 makes ffmpeg unusable on x86:

https://trac.ffmpeg.org/ticket/4928

Change-Id: I68397f4d62f4f6acd8e0d41b7ecdc115969b890a

8 years agoDon't leak sockets if setsockopt() or fchown() fail.
Erik Kline [Fri, 4 Mar 2016 08:16:55 +0000 (17:16 +0900)]
Don't leak sockets if setsockopt() or fchown() fail.

Change-Id: Idcf8c08ff50d21c3a04b7ef80c4044f3f9762f2b

8 years agoFix GNU/POSIX basename headers.
Josh Gao [Wed, 4 Nov 2015 02:46:02 +0000 (18:46 -0800)]
Fix GNU/POSIX basename headers.

Including glibc's <libgen.h> will result in the user getting the POSIX
version of basename always, regardless of when it is included relative
to <string.h>. Prior to this patch, our implementation would result in
the one that's included first winning.

Bug: http://b/25459151
Change-Id: Id4aaf1670dad317d6bbc05763a84ee87596e8e59

8 years agoAdd prlimit to LP32.
Elliott Hughes [Thu, 29 Oct 2015 00:14:48 +0000 (17:14 -0700)]
Add prlimit to LP32.

Bug: http://b/24918750
Change-Id: I0151cd66ccf79a6169610de35bb9c288c0fa4917

8 years agoUpdate timezone data to 2016a
Neil Fuller [Wed, 24 Feb 2016 15:09:28 +0000 (15:09 +0000)]
Update timezone data to 2016a

  Changes affecting future time stamps

    America/Cayman will not observe daylight saving this year after all.
    Revert our guess that it would.  (Thanks to Matt Johnson.)

    Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
    (Thanks to Alexander Krivenyshev.)

    Asia/Tehran now has DST predictions for the year 2038 and later,
    to be March 21 00:00 to September 21 00:00.  This is likely better
    than predicting no DST, albeit off by a day every now and then.

  Changes affecting past and future time stamps

    America/Metlakatla switched from PST all year to AKST/AKDT on
    2015-11-01 at 02:00.  (Thanks to Steffen Thorsen.)

    America/Santa_Isabel has been removed, and replaced with a
    backward compatibility link to America/Tijuana.  Its contents were
    apparently based on a misreading of Mexican legislation.

  Changes affecting past time stamps

    Asia/Karachi's two transition times in 2002 were off by a minute.
    (Thanks to Matt Johnson.)

Bug: 26833368
Change-Id: I5af1d69f8ca767369f1cbc4aa863280b960777e0

8 years agobionic: linker: Load shim libs *before* the self-linked libs
Christopher R. Palmer [Sun, 14 Feb 2016 16:38:44 +0000 (11:38 -0500)]
bionic: linker: Load shim libs *before* the self-linked libs

By loading them earlier, this allows us to override a symbol in
a library that is being directly linked.

I believe this explains why some people have had problems shimming
one lib but when the changet he shim to be against a different
lib it magically works.

It also makes it possible to override some symbols that were
nearly impossible to override before this change.  For example, it is
pretty much impossible to override a symbol in libutils without
this change because it's loaded almost everywhere so no matter
where you try to place the shimming, it will be too late and
the other symbol will have priority.

In particularly, this is necessary to be able to correctly
shim the VectorImpl symbols for dlx.

Change-Id: I461ca416bc288e28035352da00fde5f34f8d9ffa

8 years agolibc: ARM64: kryo: use generic memmove routine
Scott Mertz [Mon, 21 Dec 2015 23:08:33 +0000 (15:08 -0800)]
libc: ARM64: kryo: use generic memmove routine

The optimized memmove on commit 95cc2b990baffb4f1149c16647d4e2e2069054e5
causes odd runtime crashes on kryo.  For example, surfaceflinger crashes in
prebuilt adreno libraries when trying to generate the shader cache:

x0   0000007f827256c0  x1   000000000000000b  x2   0000007fcd7dfa30  x3   0000000000000000
x4   0000000000000000  x5   0000000000000003  x6   00000000000000ff  x7   0000000000000003
x8   0000007f825efa18  x9   0000007f825efa18  x10  0000000000000100  x11  0000000000001000

x16  000000000000006f  x17  0000000000000003  x18  0000000000000001  x19  0000007f825f1040
x20  0000007fcd7dfa30  x21  0000007fcd7df990  x22  0000007f88424c10  x23  0000000000000000
x24  0000007fcd7df970  x25  0000007fcd7dfa50  x26  0000000000000004  x27  0000000000000010
x28  0000007fcd7dfa30  x29  0000007fcd7df780  x30  0000007f86ef92b4
sp   0000007fcd7df780  pc   0000007f86ee8d78  pstate 0000000020000000

trace:
pc 00000000009ffd78  /system/vendor/lib64/libllvm-glnext.so
pc 0000000000a102b0  /system/vendor/lib64/libllvm-glnext.so (llvm::BitcodeReader::ParseFunctionBody(llvm::Function*)+904)
pc 0000000000a14020  /system/vendor/lib64/libllvm-glnext.so (llvm::BitcodeReader::Materialize(llvm::GlobalValue*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+340)
pc 0000000000a0fe14  /system/vendor/lib64/libllvm-glnext.so (llvm::BitcodeReader::MaterializeModule(llvm::Module*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+96)
pc 00000000003b503c  /system/vendor/lib64/libllvm-glnext.so (llvm::Module::MaterializeAll(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+36)
pc 00000000003b5068  /system/vendor/lib64/libllvm-glnext.so (llvm::Module::MaterializeAllPermanently(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+16)
pc 0000000000a0faa0  /system/vendor/lib64/libllvm-glnext.so (llvm::ParseBitcodeFile(llvm::StringRef, llvm::LLVMContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+32)
pc 0000000000cf3db4  /system/vendor/lib64/libllvm-glnext.so (ShaderObjects::constructLLVMModule(void*, CompilerContext*, llvm::OwningPtr<llvm::Module>*, E_QGLC_SHADERTYPE)+520)
pc 0000000000c76c4c  /system/vendor/lib64/libllvm-glnext.so (ESXLinker::bcConstruct()+440)
pc 0000000000c843cc  /system/vendor/lib64/libllvm-glnext.so (SOLinker::linkShaders(QGLC_LINKPROGRAM_DATA*, QGLC_LINKPROGRAM_RESULT*)+92)
pc 0000000000c74cbc  /system/vendor/lib64/libllvm-glnext.so (CompilerContext::LinkProgram(unsigned int, QGLC_SRCSHADER_IRSHADER**, QGLC_LINKPROGRAM_DATA*, QGLC_LINKPROGRAM_RESULT*)+496)
pc 0000000000d057a0  /system/vendor/lib64/libllvm-glnext.so (QGLCLinkProgram(void*, unsigned int, QGLC_SRCSHADER_IRSHADER**, QGLC_LINKPROGRAM_DATA*, QGLC_LINKPROGRAM_RESULT*)+76)
pc 00000000001a49c4  /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxShaderCompiler::CompileProgram(EsxContext*, EsxProgram const*, EsxLinkedList const*, EsxInfoLog*)+1380)
pc 000000000018d5b8  /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxProgram::Link(EsxContext*)+408)
pc 000000000012e6bc  /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxContext::LinkProgram(EsxProgram*)+60)
pc 000000000010be44  /system/vendor/lib64/egl/libGLESv2_adreno.so (glLinkProgram+36)
pc 0000007f88bddad0  <unknown>
pc 0000007f88bddf60  <unknown>
pc 0000007f88be18b8  <unknown>
pc 0000007f88bdfbb0  <unknown>
pc 0000007f88bca594  <unknown>
pc 0000007f88bcb350  <unknown>
pc 0000007f88bc9fec  <unknown>
pc 0000007f88bc8f28  <unknown>
pc 0000007f88bc8c90  <unknown>
pc 0000007f88af8ed4  <unknown> (android::Looper::pollInner(int)+312)
pc 0000007f88af920c  <unknown> (android::Looper::pollOnce(int, int*, int*, void**)+80)
pc 0000007f88bc5034  <unknown>
pc 0000007f88bc8784  <unknown> (android::SurfaceFlinger::run()+20)
pc 0000007f88c8c190  <unknown>
pc 000000000001bcd8  /system/lib64/libc.so (__libc_init+100)
pc 0000007f88c8bfcc  <unknown>

Change-Id: I9621f98b6683a3662b654f84c31ed0247ee81900

8 years agobionic: Do not allow LD_SHIM_LIBS for setuid executables
Christopher R. Palmer [Sat, 12 Dec 2015 11:10:09 +0000 (06:10 -0500)]
bionic: Do not allow LD_SHIM_LIBS for setuid executables

That's really not safe...

Change-Id: If79af951830966fc21812cd0f60a8998a752a941

8 years agoMake shim lib load failure non-fatal.
Danny Baumann [Fri, 11 Dec 2015 09:29:16 +0000 (10:29 +0100)]
Make shim lib load failure non-fatal.

Instead, print an appropriate warning message. Aborting symbol
resolution on shim lib load failure leads to weird symbol lookup
failures, because symbols in libraries referenced after the one loading
the shim won't be loaded anymore without a log message stating why that
happened.

Change-Id: Ic3ad7095ddae7ea1039cb6a18603d5cde8a16143

8 years agolibc: ARM64: denver64: optimized memmove breaks denver
André Pinela [Thu, 10 Dec 2015 16:27:58 +0000 (16:27 +0000)]
libc: ARM64: denver64: optimized memmove breaks denver

The optimized memmove on commit 95cc2b990baffb4f1149c16647d4e2e2069054e5
breaks the boot on denver64/flounder, so we should use the old
memmove to keep the generic memmove optimized.

Change-Id: Ie5e4b5b56d0aeb4b4c22eb6450ac702c05b2ece2
Signed-off-by: André Pinela <sheffzor@gmail.com>
8 years agobionic: Notify userspace about packets with CHECKSUM_UNNECESSARY
Subash Abhinov Kasiviswanathan [Wed, 11 Nov 2015 18:16:19 +0000 (11:16 -0700)]
bionic: Notify userspace about packets with CHECKSUM_UNNECESSARY

tpacket already notifies userspace about packets filtered with
ip_summed field set to CHECKSUM_PARTIAL.

Add a new flag for tpacket framework to pass to userspace for
packets with ip_summed field CHECKSUM_UNNECESSARY.

Change-Id: Icf308143a76269ff38c3238f1ca235b97e57dde9

8 years agoMerge tag 'android-6.0.1_r3' of https://android.googlesource.com/platform/bionic...
Steve Kondik [Tue, 8 Dec 2015 00:20:48 +0000 (16:20 -0800)]
Merge tag 'android-6.0.1_r3' of https://android.googlesource.com/platform/bionic into cm-13.0

Android 6.0.1 release 3

8 years agoRevert "Revert "linker: Reset the active shim libs each time we do a dlopen""
Christopher R. Palmer [Tue, 1 Dec 2015 11:50:22 +0000 (06:50 -0500)]
Revert "Revert "linker: Reset the active shim libs each time we do a dlopen""

This reverts commit fd0140b028dedabc572f4659cc015edfeee3cd60.

Change-Id: I42b3acfcdc6b84251a396b9e42604bb5685196bd

8 years agolinker: Don't try to walk the g_active_shim_libs when doing dlsym
Christopher R. Palmer [Tue, 1 Dec 2015 12:10:36 +0000 (07:10 -0500)]
linker: Don't try to walk the g_active_shim_libs when doing dlsym

This is a bug in the original shim_lib implementation which was
doing the shim lib resolution both when loading the libraries
and when doing the dynamic symbol resolution.

Change-Id: Ib2df0498cf551b3bbd37d7c351410b9908eb1795

8 years agokernel-header : add alarm type and clock type for power off alarm
Mao Jinlong [Tue, 3 Nov 2015 08:56:57 +0000 (16:56 +0800)]
kernel-header : add alarm type and clock type for power off alarm

Use dedicated alarm type and clock type for poweroff alarm.

Change-Id: I937730994c6690b21868745e192d8c12ab818776

8 years agoRevert "linker: Reset the active shim libs each time we do a dlopen"
Ethan Chen [Tue, 1 Dec 2015 07:18:25 +0000 (23:18 -0800)]
Revert "linker: Reset the active shim libs each time we do a dlopen"

This reverts commit ad21814c21f40f0e0a4f62e03619e274de9f6983.

Change-Id: I205bcbaae6c1494601f9245fe360a088d5b745e9

8 years agolinker: Reset the active shim libs each time we do a dlopen
Christopher R. Palmer [Sun, 29 Nov 2015 13:28:10 +0000 (08:28 -0500)]
linker: Reset the active shim libs each time we do a dlopen

We use the active libs to avoid recursively trying to load the
same library:

A -> shimlibs add B -> depends on A -> shimlibs add B -> ...

However, when we repeatedly dlopen the same library we need
to reset the active shim libs to avoid failing to add B the
second time we dlopen A.

Change-Id: I27580e3d6a53858e8bca025d6c85f981cffbea06

8 years agolibc: Add memchr to a53+a57 target
Steve Kondik [Tue, 24 Nov 2015 22:11:53 +0000 (14:11 -0800)]
libc: Add memchr to a53+a57 target

Change-Id: I3991c06dd4813c7cc73d50b56fd7974116d79892

8 years agolibc: AArch64: Tune memcpy
Wilco Dijkstra [Fri, 6 Nov 2015 14:09:00 +0000 (14:09 +0000)]
libc: AArch64: Tune memcpy

* Further tuning for performance.

Change-Id: Id08eaab885f9743fa7575077924a947c1b88e4ff

8 years agolibc: include strrchr for kryo and denver64
HashBang [Sun, 8 Nov 2015 17:37:59 +0000 (12:37 -0500)]
libc: include strrchr for kryo and denver64

Change-Id: Iee9a0bf55279f80475db67a70ad5b4b205450298

8 years agolinker: Fix the fact that shim libs do not properly call constructors
Christopher R. Palmer [Sun, 15 Nov 2015 19:26:32 +0000 (14:26 -0500)]
linker: Fix the fact that shim libs do not properly call constructors

Change-Id: I34333e13443a154e675b853fa41442351bc4243a

8 years agoMerge "Fix potential race condition on CTS TC pthread_gettid_np" into marshmallow...
Daniel Xie [Wed, 11 Nov 2015 19:00:17 +0000 (19:00 +0000)]
Merge "Fix potential race condition on CTS TC pthread_gettid_np" into marshmallow-cts-dev am: 2010fb6722
am: eebe01b523

* commit 'eebe01b523075c0634b04463c210510f192f154d':
  Fix potential race condition on CTS TC pthread_gettid_np

8 years agoMerge "Fix potential race condition on CTS TC pthread_gettid_np" into marshmallow...
Daniel Xie [Wed, 11 Nov 2015 18:57:14 +0000 (18:57 +0000)]
Merge "Fix potential race condition on CTS TC pthread_gettid_np" into marshmallow-cts-dev
am: 2010fb6722

* commit '2010fb6722ea2bd9d07c9f0a3e69eafa3d6114e9':
  Fix potential race condition on CTS TC pthread_gettid_np

8 years agoMerge "Fix potential race condition on CTS TC pthread_gettid_np" into marshmallow...
Daniel Xie [Wed, 11 Nov 2015 18:53:16 +0000 (18:53 +0000)]
Merge "Fix potential race condition on CTS TC pthread_gettid_np" into marshmallow-cts-dev

8 years agoFix potential race condition on CTS TC pthread_gettid_np
Junjie Hu [Wed, 11 Nov 2015 04:52:25 +0000 (12:52 +0800)]
Fix potential race condition on CTS TC pthread_gettid_np

Root cause:
If start_routine thread exits before pthread_gettid_np is invokded, the "tid" field
will be cleared so that pthread_gettid_np will get "0" (which is cleared by kernel,
due to the flag "CLONE_CHILD_CLEARTID" is set while calling clone system call inside
pthread_create).

Proposed patch:
Use a mutex to guarantee pthread_gettid_np will be invoked and returned before the
start_routine exits

Signed-off-by: Junjie Hu <junjie.hu@mediatek.com>
Change-Id: I22411f1b0f7446d76a0373cef4ccec858fac7018

8 years agoFix regoff_t for LP32 and _FILE_OFFSET_BITS=64.
Elliott Hughes [Thu, 27 Aug 2015 21:48:32 +0000 (14:48 -0700)]
Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64.

bionic is built without _FILE_OFFSET_BITS=64, so internally regoff_t
was 32-bit on LP32, but code compiled with _FILE_OFFSET_BITS would
expect rm_so and rm_eo in struct regmatch_t to be 64-bit, leading to
confusion.

Bug: http://b/23566443
Change-Id: Iae92fa545104068e4f64ce1977f5ec616859638c

8 years agolibc: ARM64: add assembly strrchr
Richard Earnshaw [Mon, 8 Dec 2014 15:21:00 +0000 (15:21 +0000)]
libc: ARM64: add assembly strrchr

Change-Id: I59a0aa618bf8139dc0368af9ddf881eba5d3eadf

8 years agolibc: ARM64: improve performance in strlen
Wilco Dijkstra [Tue, 20 Jan 2015 10:11:00 +0000 (10:11 +0000)]
libc: ARM64: improve performance in strlen

Change-Id: Ic20f93a0052a49bd76cd6795f51e8606ccfbf11c

8 years agolibc: ARM64: optimize memset.
Wilco Dijkstra [Thu, 30 Jul 2015 11:51:00 +0000 (12:51 +0100)]
libc: ARM64: optimize memset.

 This is an optimized memset for AArch64.  Memset is split into 4 main
 cases: small sets of up to 16 bytes, medium of 16..96 bytes which are
 fully unrolled.  Large memsets of more than 96 bytes align the
 destination and use an unrolled loop processing 64 bytes per
 iteration.  Memsets of zero of more than 256 use the dc zva
 instruction, and there are faster versions for the common ZVA sizes 64
 or 128.  STP of Q registers is used to reduce codesize without loss of
 performance.

Change-Id: I0c5b5ec5ab8a1fd0f23eee8fbacada0be08e841f

8 years agolibc: ARM64: Optimize memcpy.
Wilco Dijkstra [Mon, 13 Jul 2015 12:09:00 +0000 (13:09 +0100)]
libc: ARM64: Optimize memcpy.

 This is an optimized memcpy for AArch64.  Copies are split into 3 main
 cases: small copies of up to 16 bytes, medium copies of 17..96 bytes
 which are fully unrolled.  Large copies of more than 96 bytes align
 the destination and use an unrolled loop processing 64 bytes per
 iteration.  In order to share code with memmove, small and medium
 copies read all data before writing, allowing any kind of overlap.  On
 a random copy test memcpy is 40.8% faster on A57 and 28.4% on A53.

Change-Id: Ibb9483e45bbc0e8ca3d5ce98a31c55dfd8a5ac28

8 years agolibc: ARM64: optimize memmove
Wilco Dijkstra [Mon, 13 Jul 2015 12:03:00 +0000 (13:03 +0100)]
libc: ARM64: optimize memmove

 This is an optimized memmove for AArch64.  All copies of up to 96
 bytes and all backward copies are done by the new memcpy.  The only
 remaining case is large forward copies which are done in the same way
 as the memcpy loop, but copying from the end rather than the start.

Change-Id: I635bd2798a755256f748b2af19b1a56fb85a40c6

8 years agolibc: ARM64: remove bcopy from memset
Jake Weinstein [Fri, 18 Sep 2015 15:02:39 +0000 (15:02 +0000)]
libc: ARM64: remove bcopy from memset

* Deprecated by ce9ce28e5d760e32ab6c894dfaf7b8dad6de7ff6

* Already removed from Denver memset

Change-Id: I7beda29a799c7fa11f5a239d78626f4da1b581a2

8 years agolibc: remove bcopy from memmove on 64-bit architectures
Jake Weinstein [Sun, 16 Aug 2015 00:44:40 +0000 (00:44 +0000)]
libc: remove bcopy from memmove on 64-bit architectures

* bcopy is deprecated on LP64 by the following commit:

  https://android.googlesource.com/platform/bionic/+/ce9ce28e5d760e32ab6c894dfaf7b8dad6de7ff6

Change-Id: I6849916f0ec4a2d0db9a360999ad1dc8edda952b

8 years agoFix arm64 fenv warnings, and make warnings errors.
Christopher Ferris [Fri, 23 Oct 2015 22:42:27 +0000 (15:42 -0700)]
Fix arm64 fenv warnings, and make warnings errors.

Even though the control registers being read/written in fenv.c only
have 32 bits that are used, the instructions take a 64 bit register.
Make sure the inline assembler in the macros use 64 bit values.

Verified that before the change and after the change, the disassembly
is exactly the same.

In addition, add -Werror to the cflags.

Change-Id: I6603779327488c23e3aab13300edf2e02b101916

8 years agoSync with upstream FreeBSD libm.
Elliott Hughes [Sat, 29 Aug 2015 03:21:43 +0000 (20:21 -0700)]
Sync with upstream FreeBSD libm.

Change-Id: I97e9b23903f1d993d84825806065e85626007d31

8 years agoRevert "Revert "Use compiler builtins for fabs.""
Elliott Hughes [Mon, 24 Aug 2015 22:57:08 +0000 (22:57 +0000)]
Revert "Revert "Use compiler builtins for fabs.""

Don't enable the inlines when building libm itself. Otherwise clang gets
upset by seeing both an inline and a non-inline definition.

This reverts commit c5deb0f883cbdca7e5ab75f92f82c31d21367f49.

Change-Id: If7abdb351f5a5549d6a331b33af408e8fcfa9868

8 years agoUse __builtin_* in <math.h>.
Elliott Hughes [Fri, 14 Aug 2015 21:04:30 +0000 (14:04 -0700)]
Use __builtin_* in <math.h>.

Also remove cruft meant to support long-obsolete compilers. More
benchmarks.

Bug: http://b/23195789
Change-Id: Ief538e41e77a77e8013b2f4f359584e8df2c47d8

8 years agolinker: Add support for dynamic "shim" libs
Christopher R. Palmer [Tue, 3 Nov 2015 21:44:44 +0000 (16:44 -0500)]
linker: Add support for dynamic "shim" libs

Add a new environment variable

LD_SHIM_LIBS

that is a colon (":") separated list of vertical bar ("|") separated pairs.
The pairs are the name for a soinfo reference (executable or shared library)
followed by the name of the shim library to load.  For example:

LD_SHIM_LIBS=rmt_storage|libshim_ioprio.so:/system/lib/libicuuv.so|libshim_icu53.so

will instruct the linker to load the dynamic library libshim_ioprio.so
whenver rmt_storage is executed [*] and will load libshim_icu53.so whenever
any executable or other shared library links against /system/lib/libicuuv.so.

There are no restrictions against circular references.  In this example,
libshim_icu53.so can link against libicuuv.so which provides a simple and
convenient means of adding compatibility symbols.

[*] Note that the absolute path is not available to the linker and therefore
using the name of executables does depend on the invocation and therefore
should only be used if absolutely necessary.  That is, running
/system/bin/rmt_storage would not load any shim libs in this example because
it does not match the name of the invocation of the command.

If you have trouble determining the sonames being loaded, you can also set
the environment variable LD_DEBUG=1 which will cause additional information
to be logged to help trace the detection of the shim libs.

Change-Id: I0ef80fa466167f7bcb7dac90842bef1c3cf879b6

8 years agolibc: arm: Add optimised memchr to scorpion
Michael Bestas [Sun, 1 Nov 2015 20:58:45 +0000 (13:58 -0700)]
libc: arm: Add optimised memchr to scorpion

Change-Id: I49513fea4fad28ce053c75fc043117aa1ada794d

8 years agoMerge tag 'android-6.0.0_r26' into cm-13.0
Ricardo Cerqueira [Thu, 5 Nov 2015 00:40:50 +0000 (00:40 +0000)]
Merge tag 'android-6.0.0_r26' into cm-13.0

Android 6.0.0 release 26

Change-Id: Ic73500c2330af39a735307c153fbe3e71b7f2040

8 years agobionic: Let popen fall back to /sbin/sh
Tom Marshall [Tue, 3 Nov 2015 19:12:23 +0000 (11:12 -0800)]
bionic: Let popen fall back to /sbin/sh

minivold in recovery uses popen, where /system/bin/sh is not available.

Change-Id: I2136b0ca4188b7b44416f5d79492fc006382d4ad

8 years agolibc: arm: add optimized memchr implementation
Yingshiuan Pan [Thu, 23 Apr 2015 03:07:59 +0000 (04:07 +0100)]
libc: arm: add optimized memchr implementation

This optimization is extracted from cortex-strings and bionic-ized,
and applied to arm-v7a cpus (a7, a9, a15, a53, denver, krait).

I ran stringbench[1] on ARM Juno, this optimization could outperform
origin C implementation by 77%.

[1] https://android.git.linaro.org/gitweb/platform/external/stringbench.git

Change-Id: I1c3fb0c89ce2b3ee7e44f492367b6caf6db58ccf
Signed-off-by: Yingshiuan Pan <yingshiuan.pan@linaro.org>
8 years agolibc: Add Scorpion-optimized variant
Steve Kondik [Sat, 10 Aug 2013 04:56:10 +0000 (21:56 -0700)]
libc: Add Scorpion-optimized variant

 * Based on cortex-a8 variant with the following changes:
   Use krait memset/strcmp/memmove
 * Enable with TARGET_CPU_VARIANT := scorpion

Change-Id: I01d0f22efba5a418ddd20fca0d0c570d855e0f6f

8 years agoFix over read in strcpy/stpcpy/strcat.
Christopher Ferris [Thu, 24 Sep 2015 05:09:09 +0000 (22:09 -0700)]
Fix over read in strcpy/stpcpy/strcat.

This bug will happen when these circumstances are met:

- Destination address & 0x7 == 1, strlen of src is 11, 12, 13.
- Destination address & 0x7 == 2, strlen of src is 10, 11, 12.
- Destination address & 0x7 == 3, strlen of src is 9, 10, 11.
- Destination address & 0x7 == 4, strlen of src is 8, 9, 10.

In these cases, the dest alignment code does a ldr which reads 4 bytes,
and it will read past the end of the source. In most cases, this is
probably benign, but if this crosses into a new page it could cause a
crash.

Fix the labels in the cortex-a9 strcat.

Modify the overread test to vary the dst alignment to expost this bug.
Also, shrink the strcat/strlcat overread cases since the dst alignment
variation increases the runtime too much.

Bug: 24345899
Change-Id: Ib34a559bfcebd89861985b29cae6c1e47b5b5855

8 years agoMake all labels local.
Christopher Ferris [Thu, 23 Jul 2015 19:12:55 +0000 (12:12 -0700)]
Make all labels local.

Change the non-local labels to .L labels.

Change-Id: I720e894f2e311af8f4a0970303d8b86575fb69a5

8 years agolibm: ARM: reorganize a bit to match ARM64
Jake Weinstein [Thu, 13 Aug 2015 23:00:49 +0000 (23:00 +0000)]
libm: ARM: reorganize a bit to match ARM64

* Cleaner naming, especially if there are more ARM-specific routines in
  the future.

Change-Id: Id29db728800ccd612a906e86ccb95c1e7620514d

8 years agoAdd optimized cortex-a7/cortex-a53 memset/memcpy.
Christopher Ferris [Fri, 24 Jul 2015 03:27:42 +0000 (20:27 -0700)]
Add optimized cortex-a7/cortex-a53 memset/memcpy.

Add an optimized memset that is ~20% faster for cortex-a7 and
cortex-a53.

Add a 32 bit optimized cortex-a53 memcpy that is about ~20% faster
on cached data.

Fix the cortex-a15 __str{cat,cpy}_chk.S, memcpy_base.S to remove
the phony functions, since they aren't needed any more. Then add
a direct include of these for cortex-a53.

Verified the new functions by stepping through all of the major
paths and verifying the backtrace is still correct.

Bug: 22696180
Change-Id: Iec92a3f82d51243cca76c9aff9f35d920ff865ae

8 years ago[AOSP Master] libc: krait: Use performance version of memcpy
Brent DeGraaf [Wed, 2 Oct 2013 13:47:11 +0000 (13:47 +0000)]
[AOSP Master] libc: krait: Use performance version of memcpy

* This commit improves performance for small copies compared to the original
  CAF one.  It also cleans up some functions.

Change-Id: Iaa52635240da8b8746693186b66b69778e833c32

8 years agoRemove pushes from memsets (krait/cortex-a9).
Christopher Ferris [Mon, 27 Jul 2015 20:51:31 +0000 (13:51 -0700)]
Remove pushes from memsets (krait/cortex-a9).

On the path that only uses r0 in both the krait and cortex-a9
memset, remove the push and use r3 instead.

In addition, for cortex-a9, remove the artificial function since
it's not needed since dwarf unwinding is now supported on arm.

Change-Id: Ia4ed1cc435b03627a7193215e76c8ea3335f949a

8 years agoReplace bx lr with update of pc from the stack.
Christopher Ferris [Mon, 6 Jul 2015 19:03:40 +0000 (12:03 -0700)]
Replace bx lr with update of pc from the stack.

When there is arm assembler of this format:

ldmxx sp!, {..., lr} or pop {..., lr}
bx lr

It can be replaced with:

ldmxx sp!, {..., pc} or pop {..., pc}

Change-Id: Ic27048c52f90ac4360ad525daf0361a830dc22a3

8 years agoAdd cortex-a53.a57 target for 32 bit big/little.
Christopher Ferris [Thu, 17 Sep 2015 21:11:05 +0000 (14:11 -0700)]
Add cortex-a53.a57 target for 32 bit big/little.

The routines optimized for cortex-a7 and cortex-a53 cause performance
drops on cortex-a57. Instead create a target that is the middle ground
that works relatively well on either core.

Change-Id: Ie2b6cc9a59a01c7b30602ee368b2b90f5e886289

8 years agobionic: Allow devices to add device specfic static libs
Christopher R. Palmer [Thu, 10 Sep 2015 01:49:32 +0000 (21:49 -0400)]
bionic: Allow devices to add device specfic static libs

This provides a convenient (albeit powerful enough to be dangerous)
hook to add symbols needed to support vendor blobs that do not
necessarily match our source code.

Doing so via this hook has several advantages over patching the
code in question:

* The hacks do no pollute other repositories
* The hacks do not have any risk of breaking any other devices
* The hacks don't just live forever when we forget they exist
* The hacks are all easy to find by locating them together

When using this, please take extra care to include only the
minimal code to support the change.  Keep in mind that all
code (and all libraries your code links against) will be
part of the address space of every single process in
the system!

Change-Id: I6dcd9ad7cee330febe1a974619144d378b67b364
(cherry picked from commit 12eb9c556ad50585bf0067974c4db41ce2fe0784)

8 years agoresolve merge conflicts of 216bff9ff3 to mnc-dr-dev.
Andreas Gampe [Fri, 23 Oct 2015 05:15:26 +0000 (22:15 -0700)]
resolve merge conflicts of 216bff9ff3 to mnc-dr-dev.

Change-Id: I63c4f3a4e56f30d6f476ad2c623c23ee7e1a3778

8 years agoresolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.
Christopher Ferris [Thu, 22 Oct 2015 22:27:54 +0000 (22:27 +0000)]
resolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.
am: afff4442ae

* commit 'afff4442ae092469f298a71862d61c65ceb67b03':
  Sync with upstream NetBSD lib/libc/regex.

8 years agoresolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.
Christopher Ferris [Wed, 21 Oct 2015 21:56:52 +0000 (14:56 -0700)]
resolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.

Change-Id: I56c1bb2adb4b6a48733c928415e788e689b4944e

8 years agoSync with upstream NetBSD lib/libc/regex.
Elliott Hughes [Wed, 21 Oct 2015 21:45:01 +0000 (21:45 +0000)]
Sync with upstream NetBSD lib/libc/regex.
am: 055a66c9b1

* commit '055a66c9b1017c01b82c12b65a571bf9efad8b19':
  Sync with upstream NetBSD lib/libc/regex.

8 years agobionic: Add flag to restore legacy mmap behavior
Flemmard [Wed, 12 Nov 2014 23:12:22 +0000 (00:12 +0100)]
bionic: Add flag to restore legacy mmap behavior

* Pre-lollipop mmap would not care whether offset was signed
  or unsigned.
* Lollipop adds 64-bit support which results in sign extension
  of offset, causing a negative offset when
  a positive offset > 2^31 is given.

Change-Id: I5d19d898fc131cf848217974915d1b466a474f99

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
Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904

(cherry-picked from commit 71927a82379f7a72559ea96e6678d6215090937f)

8 years agoam 1a61896b: am 98384649: am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08...
Elliott Hughes [Mon, 19 Oct 2015 17:32:59 +0000 (17:32 +0000)]
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.

8 years agoam 98384649: am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with...
Elliott Hughes [Mon, 19 Oct 2015 17:29:49 +0000 (17:29 +0000)]
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.

8 years agoam 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream...
Elliott Hughes [Mon, 19 Oct 2015 17:25:29 +0000 (17:25 +0000)]
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.

8 years agoam 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc...
Elliott Hughes [Mon, 19 Oct 2015 17:14:41 +0000 (10:14 -0700)]
am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.

* commit '2d23418e68acdab7e142cc75db2850a54aa829aa':
  Sync with upstream NetBSD lib/libc/regex.

8 years agoam 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
Elliott Hughes [Mon, 19 Oct 2015 17:07:34 +0000 (10:07 -0700)]
am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.

* commit '18442e023536c5cf205b820ed5d74b972b710acb':
  Sync with upstream NetBSD lib/libc/regex.

8 years agoam beb6e08a: Sync with upstream NetBSD lib/libc/regex.
Elliott Hughes [Mon, 19 Oct 2015 15:34:19 +0000 (15:34 +0000)]
am beb6e08a: Sync with upstream NetBSD lib/libc/regex.

* commit 'beb6e08abf1393663151afde2742bb23eccab4e1':
  Sync with upstream NetBSD lib/libc/regex.

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

8 years agoMerge "Update timezone data to 2015g" into mnc-dr-dev
Neil Fuller [Thu, 15 Oct 2015 08:25:58 +0000 (08:25 +0000)]
Merge "Update timezone data to 2015g" into mnc-dr-dev

8 years agoMerge "Ensure that readlink has access to /proc/self/fd" into mnc-dr-dev
Dimitry Ivanov [Thu, 15 Oct 2015 01:17:55 +0000 (01:17 +0000)]
Merge "Ensure that readlink has access to /proc/self/fd" into mnc-dr-dev

8 years agoMerge "Sync with upstream NetBSD lib/libc/regex." into mnc-dr-dev
Christopher Ferris [Thu, 15 Oct 2015 01:15:22 +0000 (01:15 +0000)]
Merge "Sync with upstream NetBSD lib/libc/regex." into mnc-dr-dev

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: I4a914f0594a66f38efb3026b7ba9d28a4887cb2d

8 years agoEnsure that readlink has access to /proc/self/fd
Dmitriy Ivanov [Wed, 14 Oct 2015 18:15:45 +0000 (11:15 -0700)]
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

8 years agoUpdate timezone data to 2015g
Neil Fuller [Fri, 9 Oct 2015 16:58:58 +0000 (17:58 +0100)]
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 31740bfdb942399235e42ea920b6b717dfa0279c)

Change-Id: I6a57fbdaf12a4b4ebf2a760fd3bd872055621106

8 years agoLog dlopen failures caused by text relocations
Dmitriy Ivanov [Tue, 13 Oct 2015 18:07:56 +0000 (11:07 -0700)]
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

8 years agolinker: don't pass dlextinfo to dependent loads.
Torne (Richard Coles) [Wed, 2 Sep 2015 13:14:08 +0000 (14:14 +0100)]
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

8 years agolibc: kryo specific memory routine
Brent DeGraaf [Fri, 18 Sep 2015 20:06:28 +0000 (16:06 -0400)]
libc: kryo specific memory routine

Add kryo specific memcpy

Change-Id: Id3af7bdbc9d621c56cd26cbc04f9ad116f228550

8 years agobionic: Detect userspace memory leak
Maunik Shah [Mon, 29 Jul 2013 11:18:31 +0000 (16:48 +0530)]
bionic: Detect userspace memory leak

When process is consuming memory beyond the limit specified by
property, it will print all the allocations of the same process.

To enable this feature, do following steps:
  1. libc.debug.malloc 40
  2. libc.debug.malloc.program <PROCESS_NAME>
  3. libc.debug.malloc.maxprocsize <VALUE_IN_BYTES>
  4. libc.malloc.minalloclim <VALUE_IN_BYTES>

Change-Id: I03a4de9643ec954802b26443ce5685975ea30f89

8 years agoPerformance: krait: Implement optimized versions of memmove
Xin Qi [Fri, 15 Aug 2014 18:12:32 +0000 (11:12 -0700)]
Performance: krait: Implement optimized versions of memmove

Code has been refactored to thumb2 for consistency with the rest
of bionic libc, as well as performance and correctness.

Change-Id: I5f738ef3eb12ece6b55285f1588eab3d4bbbe27d

8 years agoPerformance: krait: Re-factor high-performance memcpy for thumb2
Brent DeGraaf [Wed, 2 Oct 2013 13:47:11 +0000 (09:47 -0400)]
Performance: krait: Re-factor high-performance memcpy for thumb2

The majority of libc under bionic is built for thumb2.  Refactor
the high performance memcpy used in previous builds for thumb2,
including information that can be used for stack-unwinding.

Change-Id: I8a25e9cdc242a54f0fea41c135e11312f0bbb449

8 years agomerge in mnc-dr-release history after reset to mnc-dr-dev
The Android Automerger [Fri, 2 Oct 2015 12:51:20 +0000 (05:51 -0700)]
merge in mnc-dr-release history after reset to mnc-dr-dev

8 years agoam 93a91f0c: Force cts to only run one test at a time.
Christopher Ferris [Tue, 29 Sep 2015 15:11:45 +0000 (15:11 +0000)]
am 93a91f0c: Force cts to only run one test at a time.

* commit '93a91f0cf4f015762ac1ed57395c4c0de8ba7db3':
  Force cts to only run one test at a time.

8 years agoForce cts to only run one test at a time.
Christopher Ferris [Fri, 25 Sep 2015 01:45:53 +0000 (18:45 -0700)]
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 daaaed18ce1d2f2da9d2240e974922299d937670)

Change-Id: I29e169e962da803a89abf0a28e071abcafa315b7

8 years agomerge in mnc-dr-release history after reset to mnc-dr-dev
The Android Automerger [Thu, 24 Sep 2015 08:01:51 +0000 (01:01 -0700)]
merge in mnc-dr-release history after reset to mnc-dr-dev

8 years agoIncrease alternative signal stack size on 64-bit devices.
Yabin Cui [Tue, 22 Sep 2015 18:16:15 +0000 (11:16 -0700)]
Increase alternative signal stack size on 64-bit devices.

Bug: 23041777
Bug: 24187462
Change-Id: I7d84c0cc775a74753a3e8e101169c0fb5dbf7437

9 years agomerge in mnc-dr-release history after reset to mnc-dr-dev
The Android Automerger [Wed, 26 Aug 2015 08:01:31 +0000 (01:01 -0700)]
merge in mnc-dr-release history after reset to mnc-dr-dev

9 years agomerge in mnc-release history after reset to mnc-dev
The Android Automerger [Wed, 26 Aug 2015 08:01:18 +0000 (01:01 -0700)]
merge in mnc-release history after reset to mnc-dev

9 years agoUpdate timezone data to 2015f
Neil Fuller [Tue, 25 Aug 2015 11:46:33 +0000 (12:46 +0100)]
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 6e7bc700e287f5d46165862a7031236670fa94d5)

Change-Id: I4d82604366e9e30a2100e09433e2772fe6957fff