forked from OSchip/llvm-project
[Sanitizer] Be more careful with arch-specific defines in StopTheWorld code
llvm-svn: 178630
This commit is contained in:
parent
21cb74318c
commit
60adc1781e
|
@ -59,6 +59,7 @@
|
||||||
# define SANITIZER_INTERCEPT_FREXPF_FREXPL SI_NOT_WINDOWS
|
# define SANITIZER_INTERCEPT_FREXPF_FREXPL SI_NOT_WINDOWS
|
||||||
|
|
||||||
# define SANITIZER_INTERCEPT_GETPWNAM_GETPWUID SI_NOT_WINDOWS
|
# define SANITIZER_INTERCEPT_GETPWNAM_GETPWUID SI_NOT_WINDOWS
|
||||||
# define SANITIZER_INTERCEPT_GETPWNAM_R_GETPWUID_R SI_MAC || SI_LINUX_NOT_ANDROID
|
# define SANITIZER_INTERCEPT_GETPWNAM_R_GETPWUID_R \
|
||||||
|
SI_MAC || SI_LINUX_NOT_ANDROID
|
||||||
# define SANITIZER_INTERCEPT_CLOCK_GETTIME SI_LINUX
|
# define SANITIZER_INTERCEPT_CLOCK_GETTIME SI_LINUX
|
||||||
# define SANITIZER_INTERCEPT_GETITIMER SI_NOT_WINDOWS
|
# define SANITIZER_INTERCEPT_GETITIMER SI_NOT_WINDOWS
|
||||||
|
|
|
@ -350,7 +350,7 @@ void StopTheWorld(StopTheWorldCallback callback, void *argument) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Platform-specific methods from SuspendedThreadsList.
|
// Platform-specific methods from SuspendedThreadsList.
|
||||||
#if defined(SANITIZER_ANDROID) && defined(__arm__)
|
#if defined(__arm__)
|
||||||
typedef pt_regs regs_struct;
|
typedef pt_regs regs_struct;
|
||||||
#else
|
#else
|
||||||
typedef user_regs_struct regs_struct;
|
typedef user_regs_struct regs_struct;
|
||||||
|
@ -368,10 +368,12 @@ int SuspendedThreadsList::GetRegistersAndSP(uptr index,
|
||||||
}
|
}
|
||||||
#if defined(__arm__)
|
#if defined(__arm__)
|
||||||
*sp = regs.ARM_sp;
|
*sp = regs.ARM_sp;
|
||||||
#elif SANITIZER_WORDSIZE == 32
|
#elif defined(__i386__)
|
||||||
*sp = regs.esp;
|
*sp = regs.esp;
|
||||||
#else
|
#elif defined(__x86_64__)
|
||||||
*sp = regs.rsp;
|
*sp = regs.rsp;
|
||||||
|
#else
|
||||||
|
UNIMPLEMENTED("Unknown architecture");
|
||||||
#endif
|
#endif
|
||||||
internal_memcpy(buffer, ®s, sizeof(regs));
|
internal_memcpy(buffer, ®s, sizeof(regs));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue