parent
							
								
									f74c4034dd
								
							
						
					
					
						commit
						214b715061
					
				| 
						 | 
					@ -158,7 +158,9 @@ void GetStackTrace(StackTrace *stack, uptr max_s, uptr pc, uptr bp) {
 | 
				
			||||||
  stack->trace[0] = pc;
 | 
					  stack->trace[0] = pc;
 | 
				
			||||||
  if ((max_s) > 1) {
 | 
					  if ((max_s) > 1) {
 | 
				
			||||||
    stack->max_size = max_s;
 | 
					    stack->max_size = max_s;
 | 
				
			||||||
#if defined(__arm__) || defined(__powerpc__) || defined(__powerpc64__)
 | 
					#if defined(__arm__) || \
 | 
				
			||||||
 | 
					    defined(__powerpc__) || defined(__powerpc64__) || \
 | 
				
			||||||
 | 
					    defined(__sparc__)
 | 
				
			||||||
    _Unwind_Backtrace(Unwind_Trace, stack);
 | 
					    _Unwind_Backtrace(Unwind_Trace, stack);
 | 
				
			||||||
    // Pop off the two ASAN functions from the backtrace.
 | 
					    // Pop off the two ASAN functions from the backtrace.
 | 
				
			||||||
    stack->PopStackFrames(2);
 | 
					    stack->PopStackFrames(2);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,6 +36,8 @@ static uptr patch_pc(uptr pc) {
 | 
				
			||||||
#if defined(__powerpc__) || defined(__powerpc64__)
 | 
					#if defined(__powerpc__) || defined(__powerpc64__)
 | 
				
			||||||
  // PCs are always 4 byte aligned.
 | 
					  // PCs are always 4 byte aligned.
 | 
				
			||||||
  return pc - 4;
 | 
					  return pc - 4;
 | 
				
			||||||
 | 
					#elif defined(__sparc__)
 | 
				
			||||||
 | 
					  return pc - 8;
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  return pc - 1;
 | 
					  return pc - 1;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue