7b6f275b6a 
								
							 
						 
						
							
							
								
								[asan] Workaround LD_PRELOAD bug in the Android linker.  
							
							... 
							
							
							
							llvm-svn: 270616 
							
						 
						
							2016-05-24 21:25:00 +00:00  
				
					
						
							
							
								 
						
							
								2d82f915c2 
								
							 
						 
						
							
							
								
								For the asan_symbolize.py script, use addr2line as the default system  
							
							... 
							
							
							
							symbolizer on FreeBSD too.  This allows the asan-symbolize-bad-path.cc
test to succeed.
llvm-svn: 256578 
							
						 
						
							2015-12-29 21:36:34 +00:00  
				
					
						
							
							
								 
						
							
								c8bdae1074 
								
							 
						 
						
							
							
								
								Check multilib dir for asan_device_setup.  
							
							... 
							
							
							
							Reviewers: eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15247 
llvm-svn: 254789 
							
						 
						
							2015-12-04 22:51:03 +00:00  
				
					
						
							
							
								 
						
							
								2253d1c052 
								
							 
						 
						
							
							
								
								[asan] Fix asan_device_setup script on KitKat.  
							
							... 
							
							
							
							app_process32, when started via a shell script wrapper, needs a
different security context to satisty SELinux.
Patch by Abhishek Arya.
llvm-svn: 251572 
							
						 
						
							2015-10-28 22:55:12 +00:00  
				
					
						
							
							
								 
						
							
								c6de580afe 
								
							 
						 
						
							
							
								
								asan_symbolize.py: Call llvm-symbolizer with --functions=linkage instead of --functions=short.  
							
							... 
							
							
							
							llvm-svn: 251356 
							
						 
						
							2015-10-26 21:48:49 +00:00  
				
					
						
							
							
								 
						
							
								25c58d124b 
								
							 
						 
						
							
							
								
								[asan] Fix asan_symbolize.py handling of non-existing paths  
							
							... 
							
							
							
							llvm-svn: 248962 
							
						 
						
							2015-09-30 23:17:39 +00:00  
				
					
						
							
							
								 
						
							
								1b76da6a6c 
								
							 
						 
						
							
							
								
								Support inline functions symbolization in Addr2Line symbolizer.  
							
							... 
							
							
							
							Patch by Maxim Ostapenko!
Summary:
Right now, Addr2Line symbolizer in asan_symbolize.py doesn't support inline functions symbolization. This might be a useful feature for using ASan on embedded systems.
Test results:
$ cat test.c
static inline void FooBarBaz() {
  __sanitizer_print_stack_trace();
}
int main() {
  FooBarBaz();
  return 0;
}
$ clang  test.c -fsanitize=address -g -O2 -o test.x && ./test.x &> /tmp/test.log
$ ./projects/compiler-rt/lib/asan/scripts/asan_symbolize.py  -l /tmp/test.log
    #0  0x42095e in __sanitizer_print_stack_trace _asan_rtl_
    #1  0x4cec07 in FooBarBaz /home/max/build/llvm/asan/test.c:4
    #2  0x4cec07 in main /home/max/build/llvm/asan/test.c:8
    #3  0x7f89f0891ec4 in __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:287
Reviewers: glider, samsonov
Subscribers: jevinskie, llvm-commits, ygribov
Differential Revision: http://reviews.llvm.org/D12153 
llvm-svn: 247642 
							
						 
						
							2015-09-14 23:56:42 +00:00  
				
					
						
							
							
								 
						
							
								df5ba14731 
								
							 
						 
						
							
							
								
								[asan] Support arm64 devices in asan_device_setup.  
							
							... 
							
							
							
							llvm-svn: 243679 
							
						 
						
							2015-07-30 20:07:13 +00:00  
				
					
						
							
							
								 
						
							
								8e36aa6e02 
								
							 
						 
						
							
							
								
								[asan] Support per-application flags in the Android setup script.  
							
							... 
							
							
							
							llvm-svn: 243494 
							
						 
						
							2015-07-28 22:45:24 +00:00  
				
					
						
							
							
								 
						
							
								4a792988b3 
								
							 
						 
						
							
							
								
								[asan] Allow users of asan_symbolize.py to forbid fallback to atos/addr2line.  
							
							... 
							
							
							
							llvm-svn: 231492 
							
						 
						
							2015-03-06 17:05:28 +00:00  
				
					
						
							
							
								 
						
							
								84d30ba43a 
								
							 
						 
						
							
							
								
								[asan] Support 'su' rooted devices in ASan setup script.  
							
							... 
							
							
							
							Android devices may not support 'adb root', but be rooted with 'su'
binary. This patch makes it possible to install ASAN to such
devices. When --use-su flag is specified, most 'adb ...' commangs are
changed to 'adb su -c "..."'.
Some other notes:
 * 'readlink' changed to 'ls -l', since not all devices have readlink
   in their firmware.
 * removing ASan library step moved to very end, because 'su' may not
   run properly without this library until shell will be restarted.
Patch by Dmitry <ripp at yandex-team dot ru>.
llvm-svn: 229368 
							
						 
						
							2015-02-16 10:22:12 +00:00  
				
					
						
							
							
								 
						
							
								6037579926 
								
							 
						 
						
							
							
								
								[asan] Add one more wait-for-device in the Android setup script.  
							
							... 
							
							
							
							llvm-svn: 227473 
							
						 
						
							2015-01-29 17:24:21 +00:00  
				
					
						
							
							
								 
						
							
								64a74bf1cf 
								
							 
						 
						
							
							
								
								Fix indents on asan_symbolize.py's argument parsing code. No behavior change.  
							
							... 
							
							
							
							llvm-svn: 227327 
							
						 
						
							2015-01-28 17:29:57 +00:00  
				
					
						
							
							
								 
						
							
								406f640a68 
								
							 
						 
						
							
							
								
								Make asan_symbolize.py not crash on Windows.  
							
							... 
							
							
							
							asan_symbolize.py isn't needed on Windows, but it's nice if asan has a unified
UI on all platforms. So rather than have asan_symolize.py die on startup due to
it importing modules that don't exist on Windows, let it just echo the input.
llvm-svn: 227326 
							
						 
						
							2015-01-28 17:28:04 +00:00  
				
					
						
							
							
								 
						
							
								4286a9bd5a 
								
							 
						 
						
							
							
								
								[asan] Change detection of allow_user_segv_handler on Android.  
							
							... 
							
							
							
							llvm-svn: 226273 
							
						 
						
							2015-01-16 13:12:22 +00:00  
				
					
						
							
							
								 
						
							
								7f9be7120d 
								
							 
						 
						
							
							
								
								[ASan] Fix the logic that decides whether we need to spawn a new llvm-symbolizer in asan_symbolize.py  
							
							... 
							
							
							
							llvm-svn: 224710 
							
						 
						
							2014-12-22 16:00:00 +00:00  
				
					
						
							
							
								 
						
							
								7a0f81a9b7 
								
							 
						 
						
							
							
								
								[ASan] Allow the users of SymbolizationLoop to make use of the --dsym_hint option in llvm-symbolizer  
							
							... 
							
							
							
							Let the users of SymbolizationLoop define a function that produces the list of .dSYM hints (possible path to the .dSYM bundle) for the given binary.
Because the hints can't be added to an existing llvm-symbolizer process, we spawn a new symbolizer process ones each time a new hint appears.
Those can only appear for binaries that we haven't seen before.
llvm-svn: 222535 
							
						 
						
							2014-11-21 14:12:00 +00:00  
				
					
						
							
							
								 
						
							
								faef77480d 
								
							 
						 
						
							
							
								
								[asan] Minor tweak to asan_device_setup.  
							
							... 
							
							
							
							Add another wait-for-device which may fix a flaky setup error.
Fix output message.
llvm-svn: 219117 
							
						 
						
							2014-10-06 12:45:39 +00:00  
				
					
						
							
							
								 
						
							
								0b9109c803 
								
							 
						 
						
							
							
								
								[asan] Support Android/x86 in asan_device_setup.  
							
							... 
							
							
							
							llvm-svn: 218968 
							
						 
						
							2014-10-03 08:57:11 +00:00  
				
					
						
							
							
								 
						
							
								9e922e7d24 
								
							 
						 
						
							
							
								
								[sanitizer] Android build cleanup.  
							
							... 
							
							
							
							* Detect Android toolchain target arch and set correct runtime library name.
* Merged a lot of Android and non-Android code paths.
* Android is only supported in standalone build of compiler-rt now.
* Linking lsan-common in ASan-Android (makes lsan annotations work).
* Relying on -fsanitize=address linker flag when building tests (again,
  unification with non-Android path).
* Runtime library moved from lib/asan to lib/linux.
llvm-svn: 218605 
							
						 
						
							2014-09-29 13:18:55 +00:00  
				
					
						
							
							
								 
						
							
								3f11c0d79c 
								
							 
						 
						
							
							
								
								[asan] Fix SELinux setup on Android-K.  
							
							... 
							
							
							
							On pre-L devices SELinux is set up in such a way that zygote wrapper
has to be in system_file context, not zygote_exec.
llvm-svn: 218599 
							
						 
						
							2014-09-29 09:48:13 +00:00  
				
					
						
							
							
								 
						
							
								a5d07482d9 
								
							 
						 
						
							
							
								
								[asan] asan_device_setup improvements.  
							
							... 
							
							
							
							* Allow user SEGV handler if Android-L-like setup is detected.
  Necessary for correctness.
* Change file context labels on the wrapper script to appease SELinux.
llvm-svn: 218124 
							
						 
						
							2014-09-19 15:04:44 +00:00  
				
					
						
							
							
								 
						
							
								756afb2f82 
								
							 
						 
						
							
							
								
								[asan] Initialize logfile in asan_symbolize.py to sys.stdin.  
							
							... 
							
							
							
							llvm-svn: 218072 
							
						 
						
							2014-09-18 20:01:28 +00:00  
				
					
						
							
							
								 
						
							
								4588de1c22 
								
							 
						 
						
							
							
								
								[asan] Fix a bug in asan_symbolize.py  
							
							... 
							
							
							
							Do not forget to add newlines between multiple symbolized lines corresponding to
a single input line (i.e. inlining).
llvm-svn: 218071 
							
						 
						
							2014-09-18 19:16:44 +00:00  
				
					
						
							
							
								 
						
							
								e579c76bd5 
								
							 
						 
						
							
							
								
								[asan] Preserve existing LD_PRELOAD setting on Android.  
							
							... 
							
							
							
							llvm-svn: 217584 
							
						 
						
							2014-09-11 12:20:29 +00:00  
				
					
						
							
							
								 
						
							
								21202ba8dd 
								
							 
						 
						
							
							
								
								[asan] Update asan_device_setup to support Android L Preview.  
							
							... 
							
							
							
							llvm-svn: 216884 
							
						 
						
							2014-09-01 15:37:50 +00:00  
				
					
						
							
							
								 
						
							
								968a358974 
								
							 
						 
						
							
							
								
								[ASan] Add new options for asan_symbolize.py script.  
							
							... 
							
							
							
							The patch adds new features in asan-symbolizer script which are helpful for using ASan on embedded systems:
1) add cross-compile prefix for binutils
2) define path to sysroot with sanitized binaries
Features are enabled by command line options.
The patch also extends command line interface with help option.
Reviewed in http://reviews.llvm.org/D4703 .
Patch by Maria Guseva!
llvm-svn: 215381 
							
						 
						
							2014-08-11 20:02:49 +00:00  
				
					
						
							
							
								 
						
							
								5f5adb8ed5 
								
							 
						 
						
							
							
								
								Add FreeBSD support to the Asan symbolization script  
							
							... 
							
							
							
							Differential Revision: http://reviews.llvm.org/D4560 
llvm-svn: 213370 
							
						 
						
							2014-07-18 12:07:00 +00:00  
				
					
						
							
							
								 
						
							
								9c62a6d8a2 
								
							 
						 
						
							
							
								
								[ASan] Factor out SymbolizationLoop.process_line() function to let Python  
							
							... 
							
							
							
							scripts that import asan_symbolize to symbolize their reports line by line.
llvm-svn: 213136 
							
						 
						
							2014-07-16 11:00:16 +00:00  
				
					
						
							
							
								 
						
							
								86c077b3a2 
								
							 
						 
						
							
							
								
								[asan] Remove runtime assembly helpers.  
							
							... 
							
							
							
							Remove helper functions that were used in assembly instrumentation.
Patch by Yuri Gorshenin.
llvm-svn: 212456 
							
						 
						
							2014-07-07 13:59:12 +00:00  
				
					
						
							
							
								 
						
							
								57eba53a01 
								
							 
						 
						
							
							
								
								[asan] asan_device_setup: extend search path  
							
							... 
							
							
							
							In standalone build asan-rt is stored in yet another path.
llvm-svn: 210259 
							
						 
						
							2014-06-05 12:49:35 +00:00  
				
					
						
							
							
								 
						
							
								687933f55d 
								
							 
						 
						
							
							
								
								[asan] Fix x86 asm instrumentation to preserve flags.  
							
							... 
							
							
							
							This change also enables asm instrumentation in asan tests that was
accidentally disabled yearlier, and adds a sanity test for that.
Patch by Yuri Gorshenin.
llvm-svn: 209282 
							
						 
						
							2014-05-21 08:21:14 +00:00  
				
					
						
							
							
								 
						
							
								6c039b3459 
								
							 
						 
						
							
							
								
								[asan] update asan_symbolize.py to use the new llvm-symbolizer flag syntax  
							
							... 
							
							
							
							llvm-svn: 209116 
							
						 
						
							2014-05-19 08:30:51 +00:00  
				
					
						
							
							
								 
						
							
								921f5a529e 
								
							 
						 
						
							
							
								
								asan_symbolize.py: use llvm-symbolizer results even if it returned function name w/o file/line info  
							
							... 
							
							
							
							llvm-svn: 202983 
							
						 
						
							2014-03-05 15:18:50 +00:00  
				
					
						
							
							
								 
						
							
								8ad7a05bb4 
								
							 
						 
						
							
							
								
								Improve llvm-symbolizer discovery in asan_symbolize.py  
							
							... 
							
							
							
							llvm-svn: 202982 
							
						 
						
							2014-03-05 15:00:36 +00:00  
				
					
						
							
							
								 
						
							
								322e89c4e2 
								
							 
						 
						
							
							
								
								[asan] Install asan_device_setup to bin/ when targetting Android.  
							
							... 
							
							
							
							asan_device_setup is a utility that prepares a device to run code built with
ASan. Essentially, it installs ASan runtime library into the system. For this
reason, it has to be at a predictable relative path from the runtime library
itself. We also plan to distribute this utility, packaged with runtime library
and maybe llvm-symbolizer, to the users.
llvm-svn: 202362 
							
						 
						
							2014-02-27 08:41:40 +00:00  
				
					
						
							
							
								 
						
							
								3ff723f373 
								
							 
						 
						
							
							
								
								[asan] asan_device_setup: fix a typo in usage text  
							
							... 
							
							
							
							llvm-svn: 202246 
							
						 
						
							2014-02-26 08:12:28 +00:00  
				
					
						
							
							
								 
						
							
								84610ed7bf 
								
							 
						 
						
							
							
								
								[asan] Remove .sh extension from asan_device_setup.  
							
							... 
							
							
							
							llvm-svn: 202245 
							
						 
						
							2014-02-26 08:10:03 +00:00  
				
					
						
							
							
								 
						
							
								0f56a71859 
								
							 
						 
						
							
							
								
								[asan] Changes to asm instrumentation must be done through the generator script.  
							
							... 
							
							
							
							llvm-svn: 201766 
							
						 
						
							2014-02-20 07:56:58 +00:00  
				
					
						
							
							
								 
						
							
								caaaac8c30 
								
							 
						 
						
							
							
								
								[asan] Disable asm instrumentation and tests on Mac.  
							
							... 
							
							
							
							Move asm tests to their own file.
llvm-svn: 201653 
							
						 
						
							2014-02-19 09:14:39 +00:00  
				
					
						
							
							
								 
						
							
								2169c6bba4 
								
							 
						 
						
							
							
								
								[asan] Added assembly functions for x86/amd64 asan.  
							
							... 
							
							
							
							These are runtime support functions for inline assembly instrumentation.
This is a re-submit of r201402.
Patch by Yuri Gorshenin.
llvm-svn: 201650 
							
						 
						
							2014-02-19 08:30:39 +00:00  
				
					
						
							
							
								 
						
							
								0de2b9b1e2 
								
							 
						 
						
							
							
								
								[asan] Revert r201402, r201404.  
							
							... 
							
							
							
							Test fails in bootstrap build.
llvm-svn: 201411 
							
						 
						
							2014-02-14 12:37:41 +00:00  
				
					
						
							
							
								 
						
							
								f335bd9c69 
								
							 
						 
						
							
							
								
								[asan] Added assembly functions for x86/amd64 asan.  
							
							... 
							
							
							
							These are runtime support functions for inline assembly instrumentation.
Patch by Yuri Gorshenin.
llvm-svn: 201402 
							
						 
						
							2014-02-14 11:55:53 +00:00  
				
					
						
							
							
								 
						
							
								1fc9e61356 
								
							 
						 
						
							
							
								
								[asan] asan_device_setup.sh: allow overriding adb path.  
							
							... 
							
							
							
							llvm-svn: 200698 
							
						 
						
							2014-02-03 15:12:09 +00:00  
				
					
						
							
							
								 
						
							
								422944fdbd 
								
							 
						 
						
							
							
								
								[asan] Fix asan_device_setup.sh failure on userdebug Android.  
							
							... 
							
							
							
							llvm-svn: 200382 
							
						 
						
							2014-01-29 09:16:48 +00:00  
				
					
						
							
							
								 
						
							
								aecead9d4f 
								
							 
						 
						
							
							
								
								[asan] Android setup: do "adb root" before "adb remount".  
							
							... 
							
							
							
							llvm-svn: 200199 
							
						 
						
							2014-01-27 08:20:28 +00:00  
				
					
						
							
							
								 
						
							
								9504304f2d 
								
							 
						 
						
							
							
								
								[asan] Add an ASan-on-Android installation script.  
							
							... 
							
							
							
							llvm-svn: 200009 
							
						 
						
							2014-01-24 15:24:24 +00:00  
				
					
						
							
							
								 
						
							
								d29853564d 
								
							 
						 
						
							
							
								
								[ASan] Make asan_symbolize.py fall back to ASAN_SYMBOLIZER_PATH (which is used when ASAN_OPTIONS=symbolize=1) if LLVM_SYMBOLIZER_PATH is empty.  
							
							... 
							
							
							
							llvm-svn: 193758 
							
						 
						
							2013-10-31 16:08:09 +00:00  
				
					
						
							
							
								 
						
							
								4f73dea69d 
								
							 
						 
						
							
							
								
								[ASan] Close stderr before launching atos in asan_symbolize.py  
							
							... 
							
							
							
							llvm-svn: 185631 
							
						 
						
							2013-07-04 14:21:49 +00:00  
				
					
						
							
							
								 
						
							
								0fde89f2aa 
								
							 
						 
						
							
							
								
								[ASan] Cache atos processes to make Darwin symbolication faster.  
							
							... 
							
							
							
							Patch by Jesse Ruderman<jruderman@gmail.com>
llvm-svn: 185325 
							
						 
						
							2013-07-01 10:51:31 +00:00