Get sparc building again after ASAN merge.

libsanitizer/

	* asan/asan_linux.cc (GetPcSpBp): Add sparc support.

From-SVN: r193468
This commit is contained in:
David S. Miller 2012-11-13 06:53:23 +00:00 committed by David S. Miller
parent 097f98d44d
commit d2860e7236
2 changed files with 18 additions and 0 deletions

View file

@ -1,3 +1,7 @@
2012-11-12 David S. Miller <davem@davemloft.net>
* asan/asan_linux.cc (GetPcSpBp): Add sparc support.
2012-10-29 Wei Mi <wmi@google.com>
Initial checkin: migrate asan runtime from llvm.

View file

@ -66,6 +66,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