parent
							
								
									4ac66c49da
								
							
						
					
					
						commit
						4ee90c231a
					
				| 
						 | 
				
			
			@ -68,6 +68,20 @@ void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
 | 
			
		|||
  *pc = ucontext->uc_mcontext.gregs[REG_EIP];
 | 
			
		||||
  *bp = ucontext->uc_mcontext.gregs[REG_EBP];
 | 
			
		||||
  *sp = ucontext->uc_mcontext.gregs[REG_ESP];
 | 
			
		||||
# elif defined(__sparc__)
 | 
			
		||||
  ucontext_t *ucontext = (ucontext_t*)context;
 | 
			
		||||
  uptr *stk_ptr;
 | 
			
		||||
# if defined (__arch64__)
 | 
			
		||||
  *pc = ucontext->uc_mcontext.mc_gregs[MC_PC];
 | 
			
		||||
  *sp = ucontext->uc_mcontext.mc_gregs[MC_O6];
 | 
			
		||||
  stk_ptr = (uptr *) (*sp + 2047);
 | 
			
		||||
  *bp = stk_ptr[15];
 | 
			
		||||
# else
 | 
			
		||||
  *pc = ucontext->uc_mcontext.gregs[REG_PC];
 | 
			
		||||
  *sp = ucontext->uc_mcontext.gregs[REG_O6];
 | 
			
		||||
  stk_ptr = (uptr *) *sp;
 | 
			
		||||
  *bp = stk_ptr[15];
 | 
			
		||||
# endif
 | 
			
		||||
#else
 | 
			
		||||
# error "Unsupported arch"
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue