Address sanitizer on L version, we meet some problem as blow, maybe we miss some useful information for this feature, could you please show us the useful user guide for L ASan?
For 32bit process enable Address sanitizer, Android L 5.0 address sanitizer can't work, for L 5.1 java process enable ASan can work after disable many inceptor functions,below is part of com.android.browser maps. 00040000-03000000 ---p 00000000 00:00 0 03000000-18000000 rw-p 00000000 00:00 0 18941000-275f0000 rw-s 00000000 00:04 19513 /dev/ashmem/DiscardableMemoryAshmemAllocator (deleted) b6ab6000-b6ae7000 r-xp 00000000 b3:11 1231 /system/lib/libclang_rt.asan_arm_android.so b6ae7000-b6ae8000 r--p 00030000 b3:11 1231 /system/lib/libclang_rt.asan_arm_android.so b6ae8000-b6ae9000 rw-p 00031000 b3:11 1231 /system/lib/libclang_rt.asan_arm_android.so b6f6b000-b6f70000 r-xp 00000000 b3:11 226 /system/bin/asan/app_process b6f70000-b6f71000 r--p 00004000 b3:11 226 /system/bin/asan/app_process b6f71000-b6f72000 rw-p 00005000 b3:11 226 /system/bin/asan/app_process Google issue about address sanitizer: https://code.google.com/p/address-sanitizer/issues/detail?id=326 main problem: 1. Conflict with libsigchain on Android 5.0, which also intercepts sigaction; On Android L 5.1, libsigchain.so no LD_PRELOAD 2. Missing libcorkscrew.so. We need a different way to unwind from a signal handler For this problem, we have porting corkscrew unwind lib for providing related backtrace API 3. many intercept function SIGSEGV, strcmp/memchr etc we also find information which show ASan can't work on L version. https://code.google.com/p/address-sanitizer/wiki/Android NOTE: ASan is broken on Android L. Use a K* build. This will be fixed in one of the future L updates. For 64bit process, compiler is GCC 4.9, GCC 4.9 manual show it support address sanitizer but when set -fsanitize=address, no instrument for load/store. gcc 4.9.2 user guide: -fsanitize=address Enable AddressSanitizer, a fast memory error detector. Memory access instructions will be instrumented to detect out-of-bounds and use-after-free bugs. See http://code.google.com/p/address-sanitizer/ for more details. The run-time behavior can be influenced using the ASAN_OPTIONS environment variable; see https://code.google.com/p/address-sanitizer/wiki/Flags# <https://code.google.com/p/address-sanitizer/wiki/Flags> Run-time_flags for a list of supported options -- You received this message because you are subscribed to the Google Groups "address-sanitizer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
