[LLVMdev] Symbolized ASan output on Android
Greg Fitzgerald
garious at gmail.com
Thu Oct 31 14:38:18 PDT 2013
Thanks for letting me know that this is in the works. This is
something that would make running ASan (and all other sanitizers I
assume) quite a bit more appealing on Android. If there's anything I
can do to help, please let me know. If you'd like to discuss in
person, I'll be at the Developers' Meeting next week.
-Greg
On Thu, Oct 31, 2013 at 1:58 PM, Alexey Samsonov <samsonov at google.com> wrote:
>
> On Wed, Oct 30, 2013 at 2:08 PM, Greg Fitzgerald <garious at gmail.com> wrote:
>>
>> If running ASan on the host architecture, we can symbolize output with:
>>
>> export LLVM_SYMBOLIZER_PATH=`which llvm-symbolizer`
>> ./myInstrumentedProgram
>>
>> but on Android symbolizing is more complex. The bash script below is
>> a "hello world" for symbolizing ASan output on Android. Is there a
>> simpler way to do this?
>>
>> # Execute the test and save its output
>> adb push myInstrumentedProgram /data/data/
>> adb shell "LD_PRELOAD=/data/data/libclang_rt.asan-arm-android.so
>> /data/data/myInstrumentedProgram" | tee out/err.txt
>>
>> # Pull runtime dependencies so we can demangle the output
>> adb pull /system/lib/libc.so out/
>> adb pull /data/data/libclang_rt.asan-arm-android.so out/
>>
>> # Fix-up the output and demangle
>> sed 's/\/data\/data/out/g' out/err.txt | \
>> sed 's/\/system\/lib/out/g' | \
>> $LLVM_DIR/utils/sanitizers/asan_symbolize.py --demangle
>>
>> Is it possible to embed llvm-symbolizer into the ASan runtime?
>
>
> We have a working solution for using in-process symbolization in sanitizer
> tools
> (for Linux/x86_64), but it's somewhat complicated and is not yet upstreamed.
> Once it's in the trunk, it should be possible to port it to Android as well.
> Can't give you a very promising estimate, though :(
>
>>
>>
>> Thanks,
>> Greg
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
>
> --
> Alexey Samsonov, MSK
More information about the llvm-dev
mailing list