[asan] Fix signal() interception on 64-bit Android.
The bsd_signal() special case only applies to 32-bit Android targets. Fixes AddressSanitizer.SignalTest on aarch64/android. llvm-svn: 243714
This commit is contained in:
		
							parent
							
								
									7b276e2fb4
								
							
						
					
					
						commit
						f3ed62f626
					
				| 
						 | 
					@ -263,7 +263,7 @@ DEFINE_REAL_PTHREAD_FUNCTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if ASAN_INTERCEPT_SIGNAL_AND_SIGACTION
 | 
					#if ASAN_INTERCEPT_SIGNAL_AND_SIGACTION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if SANITIZER_ANDROID
 | 
					#if SANITIZER_ANDROID && !defined(_LP64)
 | 
				
			||||||
INTERCEPTOR(void*, bsd_signal, int signum, void *handler) {
 | 
					INTERCEPTOR(void*, bsd_signal, int signum, void *handler) {
 | 
				
			||||||
  if (!IsDeadlySignal(signum) || common_flags()->allow_user_segv_handler) {
 | 
					  if (!IsDeadlySignal(signum) || common_flags()->allow_user_segv_handler) {
 | 
				
			||||||
    return REAL(bsd_signal)(signum, handler);
 | 
					    return REAL(bsd_signal)(signum, handler);
 | 
				
			||||||
| 
						 | 
					@ -769,7 +769,7 @@ void InitializeAsanInterceptors() {
 | 
				
			||||||
  ASAN_INTERCEPT_FUNC(longjmp);
 | 
					  ASAN_INTERCEPT_FUNC(longjmp);
 | 
				
			||||||
#if ASAN_INTERCEPT_SIGNAL_AND_SIGACTION
 | 
					#if ASAN_INTERCEPT_SIGNAL_AND_SIGACTION
 | 
				
			||||||
  ASAN_INTERCEPT_FUNC(sigaction);
 | 
					  ASAN_INTERCEPT_FUNC(sigaction);
 | 
				
			||||||
#if SANITIZER_ANDROID
 | 
					#if SANITIZER_ANDROID && !defined(_LP64)
 | 
				
			||||||
  ASAN_INTERCEPT_FUNC(bsd_signal);
 | 
					  ASAN_INTERCEPT_FUNC(bsd_signal);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  ASAN_INTERCEPT_FUNC(signal);
 | 
					  ASAN_INTERCEPT_FUNC(signal);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue