diff options
author | Scott Mertz <scott@cyngn.com> | 2015-12-21 15:08:33 -0800 |
---|---|---|
committer | Scott Mertz <scott@cyngn.com> | 2015-12-21 15:38:38 -0800 |
commit | 51ad57b30d5cb808bca20e0a6d25139435069283 (patch) | |
tree | 27e5072cf2333a4a93d97721eed584a73eb47f3f /linker/linker.cpp | |
parent | 6d79500f5342edd505f0139db71527b1a0a72f1f (diff) | |
download | bionic-51ad57b30d5cb808bca20e0a6d25139435069283.zip bionic-51ad57b30d5cb808bca20e0a6d25139435069283.tar.gz bionic-51ad57b30d5cb808bca20e0a6d25139435069283.tar.bz2 |
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
Diffstat (limited to 'linker/linker.cpp')
0 files changed, 0 insertions, 0 deletions