| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
replicant-6.0
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Change-Id: I71274a6f592356a259ccdbe9c09383bc75e2d26b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
* Current version seems like overkill, and it doesn't compile with
Clang. Use a simplified version from ARM.
Change-Id: I2fe5467b6a504ea04b5f28a08d92e7c2306772d0
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Ticket: RM-234
Android 6.0.1 release 30
Change-Id: I67a692b84fdc2e0ecbe83870ea3520a746130742
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
| | |
| | | |
replicant-6.0
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | | |
https://android.googlesource.com/platform/bionic into cm-13.0
Android 6.0.1 release 22
|
| | |\ \
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
marshmallow-cts-dev am: 2010fb6722
am: eebe01b523
* commit 'eebe01b523075c0634b04463c210510f192f154d':
Fix potential race condition on CTS TC pthread_gettid_np
|
| | | |\
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
marshmallow-cts-dev
am: 2010fb6722
* commit '2010fb6722ea2bd9d07c9f0a3e69eafa3d6114e9':
Fix potential race condition on CTS TC pthread_gettid_np
|
| | | | |\
| | | | | |
| | | | | |
| | | | | | |
marshmallow-cts-dev
|
| | | | |/
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Idcf8c08ff50d21c3a04b7ef80c4044f3f9762f2b
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: http://b/24918750
Change-Id: I0151cd66ccf79a6169610de35bb9c288c0fa4917
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
Change-Id: I5c5eb52d0c10c1b6ba1a6f4a7d02880c54c0f19f
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
That's really not safe...
Change-Id: If79af951830966fc21812cd0f60a8998a752a941
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | | |
https://android.googlesource.com/platform/bionic into cm-13.0
Android 6.0.1 release 3
|
| |\ \ \
| | |/ /
| | | |
| | | | |
Change-Id: I63c4f3a4e56f30d6f476ad2c623c23ee7e1a3778
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
am: afff4442ae
* commit 'afff4442ae092469f298a71862d61c65ceb67b03':
Sync with upstream NetBSD lib/libc/regex.
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I56c1bb2adb4b6a48733c928415e788e689b4944e
|
| | | | |\ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
am: 055a66c9b1
* commit '055a66c9b1017c01b82c12b65a571bf9efad8b19':
Sync with upstream NetBSD lib/libc/regex.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Bug: http://b/22850181
Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904
(cherry-picked from commit 71927a82379f7a72559ea96e6678d6215090937f)
|
| |\ \ \ \ \ \
| | |/ / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '1a61896b1bc470f9377eeeafec461aba0d0dda6c':
Sync with upstream NetBSD lib/libc/regex.
|
| | |\ \ \ \ \
| | | |/ / / /
| | | | | | /
| | | |_|_|/
| | |/| | |
| | | | | |
| | | | | | |
Sync with upstream NetBSD lib/libc/regex.
* commit '98384649b2d3f3eb5b03077bc0004e14a99a4d55':
Sync with upstream NetBSD lib/libc/regex.
|
| | | |\ \ \
| | | | |/ /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
upstream NetBSD lib/libc/regex.
* commit '753162836a0d3a82739611c9e30aa872363558b1':
Sync with upstream NetBSD lib/libc/regex.
|
| | | | |\ \
| | | | | |/
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
lib/libc/regex.
* commit '2d23418e68acdab7e142cc75db2850a54aa829aa':
Sync with upstream NetBSD lib/libc/regex.
|
| | | | | |\
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* commit '18442e023536c5cf205b820ed5d74b972b710acb':
Sync with upstream NetBSD lib/libc/regex.
|
| | | | | | |\
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* commit 'beb6e08abf1393663151afde2742bb23eccab4e1':
Sync with upstream NetBSD lib/libc/regex.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug: http://b/22850181
(cherry-picked from commit 71927a82379f7a72559ea96e6678d6215090937f)
Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904
|
| |\ \ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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
|
| |\ \ \ \ \ \ \ \ |
|
| | |/ / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
/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
|
| |\ \ \ \ \ \ \ \
| | |/ / / / / / /
| |/| | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Bug: http://b/22850181
(cherry picked from commit 71927a82379f7a72559ea96e6678d6215090937f)
Change-Id: I4a914f0594a66f38efb3026b7ba9d28a4887cb2d
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This reverts commit fd0140b028dedabc572f4659cc015edfeee3cd60.
Change-Id: I42b3acfcdc6b84251a396b9e42604bb5685196bd
|